Logical models


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:

  • What is a logical model?
  • When can you use logical models and what are the advantages of using them?
  • How should you use logical models and how can you map them to FHIR resources?
  • How can you create logical models in Forge?

Reading material

1. What is a logical model?

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.

2. When to use logical models?

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.

2.1 Logical models versus profiles

Although it is not required to use logical models in the design process, there are some advantages compared to directly starting to build profiles:

  • Logical models require minimal FHIR knowledge
  • There are no constraints in the structure of the model
  • Logical models allow you to capture and document all requirements
  • Logical models bridge the gap between the business and the technical implementation

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.

2.2 Detailed clinical models

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.

3. How to use logical models?

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.

4. How to build logical models in Forge?

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.

Real-life examples


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.

HCIM Logical Models

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 Profile Logical Models

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:

    Case description
    Hospital X wants to exchange order information using FHIR. For example, a physician can create an order for a medical assistant to schedule an appointment or an order for the laboratory to run one or more diagnostic tests. The following requirements are specified:
  • Order status is mandatory. Possible values in the source system are: new, accepted, in progress, cancelled, aborted, on hold and completed.
  • Orders are always linked to a patient.
  • The requester should be a physician, but the receiver can be a medical assistent.
  • The date of requesting the order must be supported.
  • Depending on the type of the order, it can be linked to an appointment, hospitalization, procedure and/or diagnostic report.

Steps to follow

  1. Identify the business concepts that are relevant in this use case (e.g. physician, appointment).
  2. Identify the properties and relationships of the business concepts.
  3. Start Forge and create a new logical model. Note that there's more than one way to follow. For example, you could create one logical model for order that captures all the required information or create multiple logical models for each business concept. In the last case, your building blocks will be easier to reuse.
  4. After you have finished your logical model(s), take a look at the FHIR resource list and identify on which resources your model(s) can be mapped.
  5. If you have time and energy left, create the required profiles to implement your model. If you are still new to profiling, you may want to consider to start with some of the basic modules first. A good option is to start with the Start profiling module and continue with the Slicing and Extensions modules. This will give you a good knowledge base to start profiling.


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.

Get in touch

Start profiling

Most modules end with an exercise. Use Forge to start profiling yourself. Just contact us at simplifier@fire.ly if you need any help.

Learn more

Follow one of our predefined or tailor-made courses. We will make sure you know FHIR inside-out.

Need help or advice?

Let us assist you with your FHIR use case. Visit our company website to know more about our services or get into contact with Rien Wertheim right away.