|DotNet Class HL7Connect.Cda.Document|
Base CDA Document
|the root object of the CDA document|
|Any attachments with names (including paths) for anything that is associated with the incoming CDA document (i.e. XDM package)|
|The absolute name of the CDA document|
|the format of the source - plain CDA, or XDM
-- Enumeration of type of source that the CDA document was read from
|HL7Connect.Cda.BaseList1 XPath(HL7Connect.Cda.Base oRoot, string sExpression);|
|Select a set of objects by an XPath expression.
The first parameter is the root for the XPath expression. To start at the root of the document, pass the CDA property, or nil.
The second parameter is an XPath statement such as //v3:recordTarget/v3:patientRole/v3:id The namespace 'v3' is required on elements or the xpath won't work. Other namespaces that can be used in the XPath are xsi and the xml namespace itself.
The return value is a list of the objects that match the selected XPath statement. The objects may be any of the Cda, structured text or data types. Only objects that have an element can be selected. Although you can execute xpath statements that match text, attributes, comments etc, these will never be able to be matched to any matching object, and nothing will be returned.
For instance, executing the xpath above with the CDA document itself as the root will return the list of Iv3II identifiers for the patient.
Note that the XPath statements operate on the original parsed XML, and the XML is not updated as the object model itself is changed. So if you add an identifier to the list of patient identifiers in a script, then execute the XPath above, the new identifier will not be returned. Further, deleting an identifier from the list, then rerunning the XPath statement, and trying to access the deleted object will cause unpredictable results (technically, the link from the XML back to the object model is not reference counted)
Technical Note: The XPath expression is evaluated by the MSXML engine.
|string Encode(bool pretty);|
|generate XML for the document - intended to be used for debugging purposes|