Versions Compared

Key

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

...

The SHR can act as a Document Repository for receiving Retrieve Document Set.b requests. The transaction allows Document Consumers to retrieve specific documents from the repository.

ATNA

The Both HIEOS and the Interoperability Layer will handle the sending of all ATNA audit messages (Audit Trail), as well as . The IOL will provide secure interfaces for communication with external systems (Node Authentication).

Module Design

Interface

The module will expose a single HTTP(S) endpoint and will support the aforementioned XDS.b transactions via SOAP web services. Documents will be included in SOAP messages using MTOM.

Registry

The module will provide new tables and functionality for storing and retrieving document metadata.

Image Removed

All documents submitted to the system will get a database entry added to the document table. For repository actor transactions, such as Provide and Register Document Set.b, an entry will also be added to the document table, so as to allow for quick identification of documents. However full metadata for a document won't be added for these repository-type transactions, only the minimum required in order to identify a document. The data-model for the document registry is therefore designed to be flexible. Only a core set of fields will be required to identify a document: a document's unique id, it's content type (MIME) and the patient id. Further document metadata will be added to the document_metadata table, with the types identified via the document_metadata_type table.

The patient_id column on the document table is a foreign key to the existing OpenMRS patient table.

A submission set is used to identify documents that have been submitted together in a single transaction. Documents can therefore have a link to the submissionset table. Submission sets can also have metadata associated with them, provided by the submissionset_metadata and submissionset_metadata_type tables. This metadata describes the set as a whole rather than individual documents.

Content Handling

For saving and querying documents, the module will make use of the functionality provided by the Content Handler module.

Folders

An XDS.b submission may contain folder object types. The module will treat folders as a document with a specific content type and will generate and process it's own document contents for use with folder types. The content is simply a JSON blob with a list of identifiers of the documents that are associated with the folder.

Tools and Resources

Implementation

HIEOS has a flexible storage backend and by default provides a MySQL storage implementation for storing documents. We plan however to store all documents in OpenMRS, and therefore will implement a custom HIEOS storage class that will forward/retrieve all documents to/from OpenMRS. The HIEOS storage class will use REST services using the SHR REST Interface module in order to communicate with OpenMRSOpenXDS provides an open-source XDS.b implementation and is fully IHE certified. It may be possible to reuse elements of this project (perhaps as a library) for helping to implement the OpenMRS module, especially for features such as metadata validation. Another option is IHEOS. Further investigation is required to determine the extent that these tools can be reused.