OpenSHR acts as a content consumer of CDA documents as well as a content creator.
When consuming a CDA, OpenSHR will determine the conformance level of the document (Level 1, 2, or 3) and will take the appropriate action.

  • If the document is Level 1 (has unstructured data), OpenSHR will import the header elements contained in the document, and will store the document content (the binary data) as a complex observation within the OpenMRS datastore.
  • If the document is Level 2 or 3, OpenSHR will iterate through the document sections. The software makes a decision for each section whether or not the section can be interpreted reliably as Level 3, if so observations, orders, and active list items (problems, allergies, etc.) are imported into OpenMRS, otherwise, the section text is stored.

When creating a CDA, OpenSHR will gather information about the intended patient from its datastore and will create an appropriate CDA for that patient. What is "appropriate" depends on the type of data being generated. For example, OpenSHR may determine that because all previous Vital Signs observations were submitted at level 3 it will generate Vital Signs for the patient within the summary as Level 3, however an Allergies section will use only codified allergies if present.

  • No labels