To design a Shared health Record (SHR) around the OpenMRS platform, we will need to modify OpenMRS to be able to perform the functions of a SHR. Some of the key changes that we will need to make are as follows:
- Support the storage of unstructured data eg, documents such as CDA level 1 - 3
- Remove the user interface so the SHR can run as a headless service (separate the service layer from the UI layer)
- Add standards based interfaces to interact with the SHR eg, add endpoints for XDS.b + CDA or profiled HL7v2
- Add mechanisms for processing, storing and querying structured and unstructured data within OpenMRS
- Add hooks at various stages of data lifecycle for things like CDS or data validation.
In the sections that follow we will explain each one of these in more details and give a design of how these can be accomplished within OpenMRS.
Overview
TODO
Support unstructured data
TODO
Separate UI from service layer
TODO
Add standards based interfaces
TODO
Process and store standards-based data
TODO
Data lifecycle hooks
TODO