FHIR Resource Model Browser

About the tool

This tool allows you to browse the data models of FHIR resources. It renders the data models as an interactive tree of data elements and supports multiple versions of FHIR.

Demo

The version of the FHIR specification to use.
The resource type to view.
FHIR resource model
Patient
An identifier for this patient
identifier: Identifier
Whether this patient's record is in active use
active: boolean
A name associated with the patient
name: HumanName
A contact detail for the individual
telecom: ContactPoint
male | female | other | unknown
gender: code
The date of birth for the individual
birthDate: date
Indicates if the individual is deceased or not
deceased: choice type
An address for the individual
address: Address
Marital (civil) status of a patient
maritalStatus: CodeableConcept
Whether patient is part of a multiple birth
multipleBirth: choice type
Image of the patient
photo: Attachment
A contact party (e.g. guardian, partner, friend) for the patient
contact: BackboneElement
A language which may be used to communicate with the patient about his or her health
communication: BackboneElement
Patient's nominated primary care provider
generalPractitioner: Reference
Organization that is the custodian of the patient record
managingOrganization: Reference
Link to another patient resource that concerns the same actual person
link: BackboneElement

Motivation

The FHIR content model is complicated (think profiles, extensions, choice types, slicing, etc.). We therefore need a tool that can create simple and interactive visualizations for FHIR resource models allowing everyone to grasp the underlying data models at a glance.

How it works

At its core, the FHIR content model is a set of data types each of which is a tree of data elements. Examples of FHIR data types are Patient, HumanName, and string.

Starting with FHIR resource types such as Patient and Observation, the tool allows you to interactively traverse the data model defined in structure definitions by following the defined data elements and their types.

There are some interesting cases in which you can go arbitrarily deep into the tree. For example, the PlanDefinition resource has a data element called action which can have sub-actions which can have sub-actions and so on.

Another tricky part of rendering the tree is the handling of choice types. An example of choice type is value[x] in Observation.

Related projects

Translating HL7v2 messages to FHIR.
HL7v2, FHIR
How is gender represented in different clinical models?
healthcare, data models
The list of FHIR-compliant servers for working with code systems, value sets, and concept maps.
FHIR, clinical terminologies
Query FHIR servers using HFQL online.
HFQL, FHIR
Edit and evaluate CQL online.
CQL, FHIR
Query FHIR stores using GraphQL.
FHIR, GraphQL
Generate snapshots for FHIR StructureDefinitions.
FHIR
Evaluate FHIR Measure resources online.
FHIR, CQL, clinical quality measures, clinical reasoning
Author and debug FSH documents online.
FSH, FHIR, SUSHI
Visualize FHIR resources and their relationships.
FHIR, d3
A converter for FHIR resources between different formats.
FHIR, XML, JSON, Turtle
An overview of common schema types and their usage.
data models

Made by Anton Vasetenkov.

If you want to say hi, you can reach me on LinkedIn or via email. If you like my work, you can support me by buying me a coffee.