...
- What types of CDA Documents or Messages are currently supported by the CDA Generator module
- Design of the Module
- How users can extend on CDA Generator module
- How we are populating sections of APHP CDA Message
- Installation of the Module
- Potential Improvements
- Screenshots
- Quick Demonstration
- Sample APHP Documents produced by the CDA Generator module
What types of CDA Documents or Messages are currently generated by the CDA Generator module ?
...
The same design approach is followed for Section as well. There we have BaseCdaSectionhandler and child handlers extending upon it.
Class Diagrams
The class digram above depicts how different Document handler classes extend on the BaseCdaTypeHandler.
How can users extend on the CDA Generator module?
Users can extend the module by adding new CDA document Type Types or Editing existing oneones (not recommended). Each CDA document consist of few sections and users can also add new sections to the module or Edit existing ones. The Editing/Adding/Deleting of Sections and CDA document types can be done programmatically through code not the User Interface.
...
Image showing location to add new CDA Document Type
Sample Code
...
Image showing location to add new sections
Sample Code
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
package org.openmrs.module.CDAGenerator.SectionHandlers; public class MySection extends BaseCdaSectionHandler { public ChiefComplaintSection() { this.sectionName="My Section"; this.templateid="";//ihe specific id this.sectionDescription="This is my new section"; this.code="";//Ihe specific code for section } } |
...
Similarly one can edit or delete any Sections or CDA document type.
...
Populating sections of the APHP CDA Message
We have used OpenMRS Concept Dictionary to populate APHP CDA message section with answers. We used IHE APHP Document value sets which list out specific concepts that must be used for specific sections. We are updating OpenMRS the MVP-CIEL Concept dictionary with LOINC codes, SNOMED codes and new concept which that our module needs.
Installation of the Module
Installation of the OpenMRS CDA Generator Module
Potential Improvements
We can Add/Edit/Delete CDA Documents and Sections Programmatically but not though the UI.
Create clients to consume CDAs by hitting a REST Web Service with a patient identifier and cda document type to download their CDA instead of users downloading through administrative tab.
We are using gazelle as an external validator in addition to mdht cda validation code in our module. I’m manually using GUI gazelle validator to check our cda documents. So, we can call gazelle validator via a web service from our module.
...
1) Administration tab (After the module is loaded)
2) Export CDA Document Link
3) Validation of Export CDA Form
4) Successful Generation of CDA Document
5) Error report (If generated document is invalid)
6) Manage CDA Section Link
It lists out all sections present in our module and also provide details of each section
7) Manage CDA Type Link
It lists out all CDA Document types present in our module and also provide details of each document type
Quick
...
Demonstration
Please watch demonstration of module :
...
Widget Connector | ||
---|---|---|
|
Sample CDA Documents for review
For a sample document generated using the OpenMRS CDA generator module, see here
Downloads
Source code: https://github.com/openmrs/openmrs-module-cdagenerator
...