hData is a set of specifications that have been developed with ease-of-implementation in mind. This page is a placeholder for a more comprehensive introduction to hData and its relationship to Micro ITS and greenCDA.
hData requires strong separation of the technical representation and transport technology on the one side, and the clinical content of an electronic health record on the other side. To this end, hData has the concept of hData Content Profiles (HCP), which define what kind of content is represented and transport through hData. It should be note that conceptually CDA and hData are similar in their approach to representing data points in a hierarchical way.
Micro ITS and hData are complimentary. Conceptually, Micro ITS provides a generalized mechanism for defining Domain Specific Markup Languages (DSML) to represent RIM content models. The following diagram illustrates the integration pattern:
Strawman Draft Specifications
- The basic hData Record Format (HRF) specification describes the overall data organization. Central to the idea of data representation within hData is the ideal of linked documents: while individual data points (such as e.g. a specific allergy or medication) are accessible directly, their entirety and their explicit relationship within an hData record reflect the complete EHR record.
- An example hData Record, capturing a lab order and result. Again, for this example it is important to note that the content of the structure is independent of its structure.
- The hData RESTful API specification describes the RESTful API defined of an hData record and a simple messaging interface.
- The hData Security Requirements paper outlines the concepts and requirements for securing RESTful hData exchanges.
Structured Document Template Design Pilot
hData is part of the Structured Document Template Design Pilot, progress can be tracked on the HData Template Sub Project page. Within this pilot it is demonstrated that hData can be made conceptually equivalent to a CDA based approach: the content of an CDA document and an hData record following the rules of the HRF specification are isomorphic, as long as an hData Content Profile is used that supports all features used in the CDA instance.
Example Schemas for Simplified C32/C83 content
Project hData produced simplified schemas for content at http://github.com/projecthdata/hData These schemas were derived from the content of the HITSP C83 profile of the HL7 CCD. It was not created with a rigorously defined algorithm (like greenCDA or microITS). Instead it is focused on simple constructs, removal of static content, and business names for elements.
Project hData was started by MITRE and is currently hosted on http://projecthdata.org/
In this example, we will show a hData record that contains patient information, results and dicom images. The definition of what those components are is out of scope for the record format. If we have serialized this record to disk, this is what the structure would look like:
example-hrd/ |-- images | |-- mri_of_knee.dicom | `-- section.xml |-- patient_information | |-- 1.xml | `-- section.xml |-- results | |-- vital_signs | | |-- 1234abc3248.xml | | `-- section.xml | |-- labs | | |-- 4567asdf8976.xml | | `-- section.xml | `-- section.xml `-- root.xml
The contents of the hData Record are described within the root.xml. document. Here is what an hData Root document for this example might look like:
<?xml version="1.0" encoding="UTF-8"?> <root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://projecthdata.org/hdata/schemas/2009/06/core"> <documentId>125123124312</documentId> <version>0.10</version> <created>2010-02-09</created> <lastModified>2010-02-09</lastModified> <extensions> <extension>http://projecthdata.org/hdata/schemas/2009/06/patient_information</extension> <extension>http://projecthdata.org/hdata/schemas/2010/01/result</extension> <extension>http://projecthdata.org/hdata/profile/2010/06/dicom_image</extension> <extension>urn:empty</extension> </extensions> <sections> <section typeId="http://projecthdata.org/hdata/schemas/2009/06/patient_information" path="patient_information" name="Patient Information"/> <section typeId="urn:empty" path="results" name="Results"> <section typeId="http://projecthdata.org/hdata/schemas/2009/06/result" path="vital_signs" name="Vital Signs"> <section typeId="http://projecthdata.org/hdata/schemas/2009/06/result" path="labs" name="Labs"> <section> <section typeId="http://projecthdata.org/hdata/schemas/2010/06/dicom_image" path="images" name="Images"/> </sections> </root>
This root document contains some basic metadata about itself: an identifier, the version of the hData Record Format that it conforms to, as well as its created and modified date.
The document then goes on to register extensions. These extensions provide rules on what can appear in sections that register themselves with the extension. How these rules are defined is out of scope for the record format. The record format only requires that a unique string is used to identify an extension. It is recommended, but not necessary, that the string be a URL where information can be found about the extension. If the extension is describing XML documents, it is again recommended that the URL resolve to an XML Schema for the documents that this extension is describing. This is not required by the specification. Additionally, how an XML Schema or any other rules about how that XML document are constructed are out of scope of the record format.
As an example, an extension may be identified by a URL that points to a CDA Template Registry that lists templates that should be applied to CDA documents that would be stored in a hData section. Alternatively, an extension may be identified by a URL that resolves to an XML Schema that has been derived by a microITS or greenCDA process.
Extension identifiers may also resolve to documentation on what may appear in sections. An extension may describe the structure of JSON documents it expects to be used in a section.