Xml serialize to object
I would suggest not to recreate the instance of XmlSerializer each time, because it creates an assembly in memory that is not reused / unloaded. To avoid that, just create the instance as static field of the class or use something like a XmlSerializerCache.

see also: XmlSerializer class may result in a memory leak and poor performance 




The value of procedure could be returned by SetProcedureXmlData and passed to SaveProcedureSummary. That makes it more clear the the methods have to be called in that order.
The instance variable procedureDataManager could be readonly
You could drop the isSuccess variable if you return the result of SaveProcedureSummary or false in the catch block.
It would be more readable if the line in SaveProcedureSummary is splitted to 2 or 3 lines.
The using is OK, but ther is no need to close the reader because it will be closed when the reader is disposed by the using.