This document describes the first implementation of the Holistic Health Record (HHR) Model and related specifications. The implementation consists of two components: a Java library and a machine-interpretable mapping from the HHR model to the FHIR1 model.
The Java library, called HHR Manager, allows to instantiate and modify in-memory Java objects that are compliant to the HHR conceptual model (see deliverable D3.1). In order to produce it, the HHR model has been first formalized using a language called "HHR mapping language". This is an XML language, specifically designed for the HHR model, that allows to specify in a machine-interpretable way the structure of HHR types and map them to the structure of corresponding FHIR resources. The HHR mapping language is basically a declarative language for defining and mapping document oriented (i.e. tree-like) data structures and exploits the FHIRPath language2 to navigate such structures. The HHR mapping language can be considered an alternative to the FHIR mapping language3, that is currently being specified as part of the FHIR standard. The FHIR mapping language is an imperative language and arguably more powerful than the "HHR mapping language", but often produces complex descriptions. Instead the "HHR mapping language" is intended to be more lightweight.
The machine-interpretable mapping document, expressed with the "HHR mapping language", represents a formalization of the HHR model that deliverable D3.1 presents in an informal way.
The code of the HHR Manager has been partially produced in an automatic way, by exploiting the formal specification of the HHR model, and the rest has been produce in a manual way. The same formal specification will be used at runtime by the "DataConverter" component to convert HHR objects to FHIR resources (see deliverable D3.9).
In summary, the following process has been followed: (1) the "HHR mapping language" has been specified; (2) the formal specification of the HHR model has been authored using this language; (3) the HHR Manager has been implemented; (4) the formal specification has been completed by adding the mapping to FHIR.
The rest of this document is organized in two chapters. The first chapter describes the HHR Manager and the HHR mapping language. The second chapter describes how to download and use the HHR Manager and the machine-interpretable mapping to FHIR.