This module will go through the use of logical models in FHIR. In the exercise of this module we will use Forge, the official HL7® FHIR® profile editor. You can download Forge for free.
The topics covered in this module are:
A logical model visualizes the domain in a tree model in the same way that a resource or profile is presented. The model describes your data set and consists of backbone elements with one or more (sub) elements. Each element in your data set should have a type specified, which can be either a resource, a data type or a custom type. The logical model can be used to describe multiple resources or data objects or a single resource or data object. The model could be used as input for building the final profiles and implementation guides.
Logical models can be used to communicate business requirements (data set, cardinality, terminology)in the early design process. Logical models can be very useful during conversations with clinicians or other domain experts to gather requirements without being directly confined to the FHIR specification.
Although it is not required to use logical models in the design process, there are some advantages compared to directly starting to build profiles:
Note however that there will be a point in time where you will need to build profiles based on your logical models. There's a good possibility that your logical model will contain requirements that do not conform to the FHIR specification. Time needs to be reserved in the design process to transform your logical models to actual profiles. Be aware of the risk of creating very specific models that lead to potential rework and reconsideration of design choices. For these reasons, some may prefer to start building profiles directly. Of course, the choice also depends on your domain experts and their affinity with FHIR. Logical models can be very powerful in the interaction with the business or clinical community.
Another use of logical models is to describe Detailed Clinical Models (DCM's). DCM's are basic information blocks that provide a way to structure medical information, combining expert knowledge, data specification and terminology. These building blocks are independent of the context in which they are used or the technical implementation. For instance, you could describe a blood pressure model and use this model to configure an EHR or to exchange data using CDA, HL7 V2, FHIR or any other standard. Their aim is to support the consistent use of medical data among different health care organizations and applications by ensuring that they all use the same common requirements. This will make it easier for organizations to support multiple technical standards to exchange the same information. However, this still requires mappings from the DCM's to FHIR or for example CDA. Note that these exchange standards have there own requirements and restrictions, which could result in information loss if you want to map DCMs to multiple standards for exchange.
When using logical models early on in the design process your output will be one or more logical models describing the required data elements as well as their cardinality, data type and possible values. The logical model will usually also identify the required value sets. The next step will be to transform your logical models to one or more profiles. First, you will need to identify on which resources your logical models can be mapped. In some cases this will be easy, for example it will be natural to map a Patient model to the Patient resource. In other cases, the choices will be less clear. For example, say you have modelled a clinical pathway. You will probably need to capture this information in more than one resource (e.g. Appointment, DiagnosticRequest, Procedure and so on). After finishing the design process, your logical models can be used to share business requirements, but the actual FHIR implementation will depend on the corresponding profiles.
Forge supports the creation of Logical Models. Let's say we want to create a model for Car. In Forge, choose 'New Logical Model' (CTRL-M) and change the name, URL and file name in the properties tab. For example, name your model MyCar. Now you can start adding elements in the Element Tree tab. Choose either an element or a backbone element. A backbone is an element that has children elements, for example you could add an element named motor and add children elements for brand and type. For each element, add a name and select one more data types that are supported by this element. You can either select a resource type (e.g. Person), a data type (e.g. string) or a custom type (e.g. one of your own models or profiles). For example, you could add an owner and add the resource type Person. You may also change the minimum and maximum cardinality of the element. Let's say a car can have own owner and the field is mandatory. Finally, you can add bindings to value sets, for example a specific list of brands or color codes.
The For-Comment Ballot for the Breast Cancer Data FHIR Implementation Guide (IG) shows examples of logical models in the context of modelling breast cancer data. The models are based on reference models of the Clinical Information Modeling Initiative (CIMI). This HL7 Work Group is responsible for the design of detailed clinical information models, which facilitate the interoperability of health information systems.
Below is an example of one of the logical models provided in the implementation guide. This model shows the requirements for breast site. Although the model does not conform to any FHIR resource, it nicely shows which elements and value sets are required as well as the cardinality, data type and meaning of each element.
The logical model offers a good starting point, but it needs to be transformed to one or more profiles before it can be implemented. In this case, the BodySite resource is a clear choice. Below is the corresponding profile on BodySite based on the breast site logical model.
The value element is mapped to the code element, which is made mandatory. The laterality element is mapped to the qualifier element. The clockDirection and distanceFromBreastToNipple elements are added as extensions.
Nictiz is the centre of expertise for standardization and eHealth in The Netherlands. The HL7 Netherlands core profiles are based on standardized clinical building blocks called Health and Care Information Models (HCIM).
Below is an example of the HCIM logical model for the glasgow coma scale, opened in Forge.
Care Connect offers national resources to simplify integration and interoperability within UK health and social care. The Care Connect resources are developed by NHS Digital and the INTEROPen community. The example below shows an abstraction of the Patient model:
In this exercise you will build your first logical model. Start by reading the case description. Here below are a couple of links that you may find useful during this exercise:
We are always looking for ways to improve our products. The Profiling Academy was built using our own IG-editor in Simplifier. If you have any feedback on this module or on our Profiling Academy in general, please leave a comment in the Issue Tracker of the project.
Follow one of our predefined or tailor-made courses. We will make sure you know FHIR inside-out.
Powered by SIMPLIFIER.NET