Tutorial 4: Semantic Representations of Clinical Care Data Leveraging HL7 FHIR

The semantic infrastructure for clinical data has quietly arrived. HL7’s Fast Healthcare Interoperability Resources (FHIR(R)) has emerged as the next generation standards framework for healthcare related data exchange. FHIR-based solutions are built from a set of modular components called “Resources”, which can be assembled into working systems. FHIR is becoming available in a variety of contexts including mobile phone apps, cloud communications, EHR-based data sharing, server communication between and across healthcare providers and much more.

FHIR resources provide a common “platform specification” for the exchange of clinical information. The combination of FHIR resource definitions and a standardized RESTful API allows clinical information to be created, queried and consumed without the need for specialized transformations and mapping.

Previous versions of FHIR defined standardized XML and JSON representations of FHIR resource instances. The latest version of FHIR (STU3), which is currently being balloted, defines a third standardized representation in RDF.

This RDF representation opens a myriad of new opportunities in the Linked Data Community. Clinical data from any institution, implementation or platform will soon be available using a common set of tags and semantics. Coded data values will be represented as standard URIs providing a direct link into common ontologies. Open sources tools are being developed provide security, authentication, de-identification and many other capabilities.

The FHIR technology stack is rapidly advancing into the area of clinical trials, drug research, cancer studies, decision support and many other areas. The availability of FHIR data (and metadata!) as standardized RDF datasets presents a huge opportunity for integration and innovation.

This tutorial will describe how to access and understand the FHIR technology stack and how to access FHIR resource definitions, REST API’s and conformance profiles as RDF datasets. It will describe how FHIR definitions are converted into the Shape Expressions Language (ShEx) and how the ShEx definitions can be used to test RDF
datasets for conformance as well as to transform between FHIR and other data structures.

The tutorial will also describe how FHIR can defined using the semantics in formal ontologies and how FHIR data instances can be validated (and transformed!) using ontological linkages.

Today’s healthcare information exists as an highly fragmented collection of ad-hoc, proprietary models. While it is possible to convert a given of the collection into a linkable RDF dataset, the ability to normalize two or more of these collections in a way that allows sensible query and aggregation has been nigh to impossible. As long as each dataset had unique structure and semantics, represented a unique workflow and contained proprietary codes and representational systems, the idea of linking an arbitrary clinical record with outbreak records, clinical drug information, clinical trials, decision support modules, etc. was largely hypothetical. While some of the larger healthcare institutions have been able to demonstrate the possibility of linkable clinical data, the ability to realize such capabilities in an economically feasible fashion have been completely out of reach.

HL7’s FHIR specification has changed all of this. The FHIR standard provides a consistent, testable and reproducible way of representing healthcare data, workflow and decision support processes. The ability to represent FHIR data (and metadata!) in RDF provides a critical link, allowing any clinical information from any institution to be linked with the appropriate decision support, outbreak, clinical trial, environmental, geo-spatial, etc. resource in the linked data cloud.

Participants will learn how to access FHIR definitions and data content in RDF and how it can be linked to ontologies, decision support models and other resources. Participants will also be learn about other possibilities for FHIR development and technology.

At the end of this course, participants should be able to:

  • Explain the background and goals of FHIR and its relationship to clinical interoperability
  • Locate and read a FHIR resource definition
  • Understand how FHIR profiles relate to FHIR resources and how they are defined
  • Access FHIR data instances on public FHIR test services
  • Understand a ShEx definition of an RDF representation a FHIR resource
  • Test an RDF dataset for conformance with a FHIR ShEx definition
  • Use ShEx to transform an RDF dataset from FHIR into another standard
  • Explain how terminologies and value sets are used in FHIR
  • Explain how FHIR semantics can be mapped to external ontologies
  • Demonstrate how the combination of FHIR RDF, an terminology ontology, and an OWL reasoner can be used to perform useful queries over patient records.

1 (Lecture) Short history on HL7, clinical information and terminology standards.
2 (Lecture) An introduction to FHIR — its history, purpose and current state.
3 (Hands-on) Navigating the FHIR documentation and infrastructure.
4 (Lecture) FHIR profiles and conformance resources — why they exist, how they are built and how they are used
5 (Demonstration) Creating a FHIR profile using the Forge profile editor.
6 (Demonstration) Validating FHIR data instance against a FHIR profile
7 (Lecture) Short introductions to ShEx and SHACL
8 (Lecture) ShEx and FHIR — documenting FHIR RDF constraints using ShEx
9 (Hands-on) Validating a FHIR RDF instance using ShEx
10 (Lecture) Ontology and FHIR — terminologies, value sets and meaning bindings
11 (Hands-on) Using the Protégé reasoner to query for FHIR data records matching subsumptive queries.


Harold’s slides (pdf): https://www.swat4ls.org/wp-content/uploads/2016/12/SWAT4LS_FHIR_RDF_2016_T4.pdf

Eric’s slides: http://tinyurl.com/swat4lsfhir


  • High comfort with Turtle and RDF
  • Ability to read XML or JSON
  • Some familiarity with Protégé
  • Some familiarity with OWL would be useful, but not essential
  • A Windows PC or VM would be helpful if you want to follow along with the Forge example
  • Familiarity with Bash or other command interpreter would be useful.


  • Install node.js <https://nodejs.org>
  • npm install shex following https://github.com/shexSpec/shex.js/
  • Play with it by opening node_modules/shex/doc/shex-simple.html (should be the same as https://rawgit.com/shexSpec/shex.js/master/doc/shex-simple.html )
  • Install Protege (5.1.0 is the latest release) — <http://protege.stanford.edu/>


Eric Prud’hommeaux, W3C/MIT staff contact for the Semantic Web in Health
Care and Life Sciences Interest Group

Eric helped with the development of the O-RIM (the OWL representaiton of HL7’s RIM), sequestered the Reasonable Subset, and has worked on the W3C Semantic Web in Health Care and Life Sciences for 7 years. He has developed standards and implementations of popular languages like SPARQL and Turtle and focused his last 1.5 years on health care. We would like to steepen the learning curve for other SemWeb geeks to be able to develop and exploit the growing Semantic Web health care infrastructure.

Harold Solbrig, Technical Specialist, Mayo Clinic.
Harold has been an active participation in a variety healthcare and metadata standards organizations for the past 25+ years. He is the editor and primary author of a series of of terminology service standards, worked with ISO/IEC TC1 SC32 on the ISO 11179 Metadata Repository standard, the OMG on the Common Terminology Services 2 (CTS2) and Archetype Modeling Language (AML) standards, ISO TC 215 and Health Level 7 (HL7).
He is currently participating in the SNOMED International Modeling Advisory Group, the HL7 Clinical Information Modeling Initiative (CIMI) community and the World Health Organization ICD-11 foundational ontology group.

• (Will be published before final event)

The development of the FHIR ShEx validation methods and tools is supported in part by the funding from a NCI U01 caCDE-QA project (U01 CA180940, PI: Jiang).