...
We also consider monitoring as a first class citizen and a module to monitor SHR performance is required. All other module are expected to report monitoring data to this module.
Interface Modules
Interface module provide service interfaces for external application to call in order to get access to information in the SHR. These module MUST make use of the content handler module's getContentHandler(String contentType) method (see here) to handle any request to save data or to query data from the SHR.
As part of the default implementation of the SHR we will implment some specific iterface modules. These are described below.
XDS.b interface module
This module provides an XBS.b interface into OpenMRS. It is expected to receive any type of document payloads over the XDS.b interface and pass those on to the content handler with the content type of the payload.
...
For a more detailed design of this component see: Content Handler Module
Processing Modules
Processing module are able to process data in a particular format to save in to OpenMRS and to query OpenMRS for data and convert this to the supported format. Processing modules MUST implement the ContentHandler interface of the content handler module MUST register their content handler with the content handler module to make it available to other modules. See here for more details about the content handler module.
CDA Processing module
The CDA processing module is expected to process CDA documents and store these within OpenMRS's data model. It should also provide functions to retrieve information from OpenMRS and construct this as a CDA document as required.
...