Turning interoperability standards into working software requires more than understanding the specifications. Developers also need practical examples of how health data can be read, processed, stored, exported and presented within real applications.
To support this, FORTH has developed a new series of xShare tutorials for developers working with FHIR data. The six tutorials provide practical, step-by-step examples covering key operations, from reading and storing FHIR resources to creating standardised exports, processing data for de-identification and supporting multilingual presentation.
The tutorials follow concrete implementation workflows using technologies including Node.js, Express, MongoDB and Mongoose, while showing how FHIR resources and references can be handled across the frontend and backend of an application.
1. How to Read and Store FHIR Data
The first tutorial introduces the complete FHIR ingestion process.
It follows a FHIR file from the user’s computer, where it is read by the browser, through a Node.js and Express backend and into MongoDB. Developers can see how FHIR Bundles are processed in dependency-aware order, how individual resource types are routed to their respective handlers and how FHIR references can be resolved and stored.
The tutorial also demonstrates the use of upsert operations and shows how the complete original FHIR resource can be preserved alongside application-specific structured fields.
Watch the tutorial: https://youtu.be/ar7CbdW7Hk4.
2. How to Export FHIR Data
Once FHIR resources have been ingested and stored, they may need to be reconstructed for exchange.
This tutorial demonstrates how the resources associated with an individual patient can be gathered from multiple database collections and assembled into a single, downloadable FHIR Bundle.
It covers the inclusion of supporting resources, such as Organisations and Practitioners, the removal of duplicates and the rewriting of references using urn:uuid identifiers so that resources within the resulting Collection Bundle can reference one another consistently.
Watch the tutorial: https://youtu.be/nDg51CGnqfI.
3. How to Export an International Patient Summary
The International Patient Summary, or IPS, provides a standardised way of sharing essential patient information across organisational and national boundaries.
In this tutorial, developers are guided through the process of creating an IPS from stored FHIR resources. The example brings together the mandatory Medications, Allergies and Problems sections, while allowing additional information to be included when available.
The resources are organised into LOINC-coded sections under a FHIR Composition and assembled into a FHIR Document Bundle, providing a practical example of how an IPS can be generated for download.
Watch the tutorial: https://youtu.be/lXoUrTaVNAE.
4. How to Export a Laboratory Report
The fourth tutorial looks specifically at laboratory information.
Starting from a selected FHIR DiagnosticReport, the application retrieves the associated laboratory Observations and relevant supporting resources. It then reshapes the information, creates a laboratory-report Composition and assembles everything into a FHIR Document Bundle.
The tutorial illustrates how the different resources making up a laboratory report can be connected and packaged into a single standardised document.
Watch the tutorial: https://youtu.be/pOYb9dE7JEY.
5. How to Anonymize FHIR Data
Supporting responsible secondary use and sharing of health data may require identifying information to be removed or transformed according to defined rules.
This tutorial demonstrates a configuration-driven workflow for processing uploaded FHIR files using Microsoft FHIR Tools for Anonymization.
Developers can see how an application retrieves the stored FHIR JSON, creates an isolated temporary workspace, runs the external anonymization process and returns the processed result to the user. The workflow supports both individual JSON files and multiple files packaged into a ZIP archive.
The tutorial also highlights an important implementation principle: the de-identification performed is determined by the configuration and rules applied by the anonymization tool.
Watch the tutorial: https://youtu.be/H4w4puDmSV4.
6. How to Translate FHIR Data into Different Languages
Interoperability across Europe is not only about exchanging structured data. Information also needs to be usable across different languages.
The final tutorial demonstrates how multilingual labels can be added to FHIR Observations using LOINC linguistic variants.
The implementation loads translation files on the server, creates cached language-specific mappings based on LOINC codes and stores translated labels with each Observation. On the frontend, users can then change the selected language and display the appropriate translated laboratory-test name, with the English label available as a fallback.
The tutorial provides a practical example of how standard terminology can support more multilingual and user-friendly health-data applications.
Watch the tutorial: https://youtu.be/xaahjWZyV7I.
From FHIR specifications to practical implementation
The six tutorials cover a substantial part of the lifecycle of FHIR data within an application: ingestion, storage, reconstruction, standardised document export, de-identification and multilingual presentation.
By sharing these practical examples, xShare aims to make implementation knowledge more accessible to developers and organisations working towards greater health-data interoperability in Europe.
The tutorials complement xShare’s wider work to advance adoption of the European Electronic Health Record Exchange Format (EEHRxF) and to support the community implementing interoperable health-data services.
▶ Explore the complete xShare FHIR Developer Tutorial Series: https://www.youtube.com/playlist?list=PLA2dqFQkn6jg.
Find out more about xShare and its resources at https://xshare-project.eu/knowledge/.