Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Completed Document Processors

  • Antepartum History and Physical (APHP) - AntepartumHistoryAndPhysicalDocumentProcessor
  • Antepartum Summary (APS) - AntepartumSummaryDocumentProcessor
  • MedcalDocumentsDocumentProcessor
  • XDS Medical Summaries (XDS-MS) - MedicalSummariesDocumentProcessor
  • History and Physical (HP) - HistoryAndPhysicalDocumentProcessor
  • Generic Level 2 CDA - GenericDocumentProcessor

Completed Section Processors

  • All Level 2 Sections - GenericLevel2SectionProcessor , including
    • Chief Complaint
    • Assessment and Plan
    • Consultations
    • History of Surgical Procedures
    • Intake and Output
    • Pain Assessment Panel
    • Birth Plan
    • Discharge Status
    • Event Outcomes
    • Newborn Status at Maternal Discharge
    • History of Blood Transfusion
    • Review of Systems
    • Care Plan
    • Discharge Disposition
    • Discharge Diet
    • Advance Directives
    • History of Present Illness
    • Hospital Course
    • Review of Systems
  • Active Problems - ActiveProblemsSectionProcessor
  • History of Infection - CodedHistoryOfInfectionSectionProcessor (Coded and non-coded)
  • Pregnancy History - PregnancyHistorySectionProcessor
  • Detailed Physical Examination -
  • ChiefComplaintSectionProcessor
  • ActiveProblemsSectionProcessor
  • AssessmentAndPlanSectionProcessor
  • CodedHistoryOfInfectionSectionProcessor
  • HistoryOfSurgicalProceduresSectionProcessor
  • PregnancyHistorySectionProcessor
  • DetailedPhysicalExaminationSectionProcessor (Coded and non-coded)
  • Allergies and Other Adverse Reactions - AllergiesAndOtherAdverseReactionsSectionProcessor
  • Family History - FamilyHistorySectionProcessor (Coded and non-coded)
  • Social History - SocialHistorySectionProcessor (Coded and non-coded)
  • ReviewOfSystemsSectionProcessor
  • Vital Signs - VitalSignsSectionProcessor (Coded and non-coded)
  • HistoryOfPresentIllnessSectionProcessor
  • HistoryOfPastIllnessSectionProcessor
  • History of Past Illness - HistoryOfPastIllnessSectionProcessor (Coded and non-coded)
  • Physical Exam - PhysicalExaminationSubSectionProcessor (handles all physical exam sub-sections)
  • Antenatal Testing and Surveillance - AntenatalTestingAndSurveillanceSectionProcessor
  • Antepartum Visit Summary Flowsheet - AntepartumVisitSummaryFlowsheetSectionProcessor
  • Coded Results - CodedResultsSectionProcessor
  • Estimated Delivery Dates - EstimatedDeliveryDatesSectionProcessor
  • Medications - MedicationsSectionProcessor

Completed Entry Processors

  • Vital Signs - VitalSignsObservationEntryProcessor
  • Simple Observations - SimpleObservationEntryProcessor
  • Family History Organizer - FamilyHistoryOrganizerEntryProcessor
  • Concern Entry - ConcernEntryProcessor
  • Allergies and Intolerances Concern - AllergiesAndIntolerancesConcernEntryProcessor
  • Severity Observation - SeverityObservationEntryProcessor
  • Allergies and Intolerances Observation - AllergiesAndIntolerancesEntryProcessor
  • Problem Concern - ProblemConcernEntryProcessor
  • Family History Observation - FamilyHistoryObservationEntryProcessor
  • Vital Signs Organizer - VitalSignsOrganizerEntryProcessor
  • Pregnancy Observation - PregnancyObservationEntryProcessor
  • Pregnancy History Organizer - PregnancyHistoryOrganizerEntryProcessor
  • Antenatal Testing and Surveillance Battery - AntenatalTestingAndSurveillanceBatteryEntryProcessor
  • Estimated Delivery Date Observation - EstimatedDeliveryDateObservationEntryProcessor
  • External References - ExternalReferencesEntryProcessor
  • Medications - MedicationsEntryProcessor (Conditional and Split Dosing)
    • Tapered Dosing - TaperedDosingMedicationsEntryProcessor
    • Normal Dosing - NormalDosingMedicationsEntryProcessor
  • Procedures - ProceduresEntryProcessor 

Concept Dictionary

The OpenMRS concept dictionary is used extensively by this module. Each concept that requires association to an observation, allergy, problem, etc. is selected from a reference term within the code and concept source represented by the code/codeSystem attributes of a code in the CDA respectively. Once an appropriate reference term is found the concepts that are mapped to that term are searched based on suitability to store the CDA data. The type of concept used in OpenMRS’ concept dictionary and its mapping to the CDA datatype to be stored is shown below:

...

Because CDA uses a variety of codes from SNOMED, LOINC and others, there is a need to bulk-import concepts and their mapping to MVP/CIEL upon module install. This is done via the ReferenceTermDictionary.xml file in the resources folder. Upon build, this XML file is transformed to a liquibase.xml file and placed in the omod file. This file contains mapping to CIEL concepts where appropriate and allows the module to use those mappings in an easy to maintain XML File (editable within Microsoft Excel as a table)

Known Issues / Todo

...

Most up-to date listed here: https://github.com/jembi/openmrs-module-shr-cdahandler/issues

  1. Currently there is some header elements which cannot be mapped appropriately into OpenMRS
  2. Currently many types of entries are missing INT mood code handling
    1. This should create an Order in OpenMRS which has some caveats. 
    Updating of current observations that are identified doesn’t work as I want it to, the module stores the observation id in the accession number field and this is used to determine if an observation was previously recorded. The expected behavior is that the old version is voided, and the new version stored with a pointer to the voided version. The current module does this, however it has to get all obs for the patient and then then scan for accession numbers, a method to get Obs by accessionNumber is implemented but not in the released version.
  3. Family History observations are kind of hacked as the oMRS mechanism for storing these are similar to CDA but not identical.
  4. Performance is poor, it appears to be in the code that double checks if a concept name already exists prior to creating it, I’m not sure if this is a problem with the standalone instance of oMRS that I’m testing with or if it is an issue with the logic.For some reasons transactions aren’t working with the code, again not sure if this is a problem with oMRS instance I’m using. I am following the transaction guidance from the oMRS dev wiki.
  5. All observations are created within the oMRS database and are seen in the Observation management admin panel, however the encounter summary panel does not show grouped obs in the UI.