Welcome to toFHIR tutorials!

Introduction: Getting Started

To use the toFHIR tool effectively, it's important to understand the following terms:
A project is the starting point in toFHIR. It represents a container for multiple ETL pipelines, also known as jobs. Each job consists of all the necessary definitions required for end-to-end mapping.
Schemas provide metadata about the source data format and serve as a validation mechanism for input data before the mapping process begins. Data schemas for EHR data entities that need to be mapped are defined in a well-defined manner and are referenced within the mappings.
Jobs serve as ETL pipelines and include various type of definitions. When a job is executed, all the definitions within are utilized:
• Data Source Settings: Configuration details for the data source connection.
• Mappings: Instructions on how to map the source data to the required FHIR resources.
• FHIR Sink Configuration: Settings for the destination where FHIR resources will be sent.
• FHIR Terminology Service: Configuration related to the terminology service used in the mappings.
As the name implies, a mapping defines how the source data should be transformed into the required FHIR resources. Mappings are defined using HL7 FHIR resource templates in a specific format and template language specific to toFHIR. This language allows the use of standard FHIRPath expressions as well as toFHIR-specific methods. Multiple mappings can be defined within a single definition, facilitation both one-to-many and many-to-many mapping scenarios. A mapping can incorporate multiple data source schemas and mapping contexts, enabling flexibility and customization.
Mapping Context
It refers to the additional information utilized when defining a mapping. It facilitates easy exchange and integration between healthcare concepts and referenced within the mappings.
Terminology Service
toFHIR supports connecting two types of terminology services:
• Remote FHIR Terminology Service: It ensures your healthcare data uses standardized clinical codes and concepts by connecting to established terminology servers.
• Local Terminology Service: Create custom code systems and value sets, perfect for local or organization-specific requirements, ensuring precise data representation.
Below, a video is shown how to create a new project in toFHIR. The video demonstrates the steps involved, such as setting a project name, defining project-specific configurations.

Create Schema: Defining Well-Structured Input Data

The goal of a schema definition is to describe the data source (its shape such as field names, data types etc.) to the system. Data source schemas are provided to the engine as a configuration of FHIR StructureDefinition resources. The tutorial explains how schemas are defined and how they provide metadata and validation for input data, ensuring the mapping process starts with well-defined data structures.

Create Mapping: Journey from Data Source to FHIR Resources

This tutorial demonstrates the process of creating mappings. It showcases the use of HL7 FHIR resource templates and the toFHIR-specific template language. The video explains how to use FHIRPath expressions and toFHIR methods to define mappings effectively.

Mapping Variables: Simplifying Repetitive Expressions

Mapping variables in toFHIR enable users to create and reuse repetitive expressions efficiently. This feature enhances the flexibility and reusability of your mappings, making your overall mapping process more streamlined. Follow along with the video to understand how mapping variables can optimize your toFHIR workflows.

Mapping Precondition: Filtering Mapping Execution

toFHIR empowers users to set preconditions for mappings, acting as filters to determine whether a mapping should be executed based on specific conditions. By setting clear criteria based on the source data, you can filter out records that do not meet the specified conditions. In this tutorial video, you'll explore the process of defining a precondition for an example mapping, gaining a comprehensive understanding of how preconditions enhance mapping process.

Mapping Context: Enhancing Healthcare Data Exchange

Mapping contexts in toFHIR, which are simple CSV files, are categorized as concept-map and unit-conversion. The objective of a mapping context is to provide a term/concept mapping or unit conversion by defining these in separate CSV files instead of embedding into the mapping scripts depicted with FHIRPath. These contexts play a vital role in facilitating the exchange and mapping of healthcare data. Concept-maps enable the mapping of concept codes between different systems, while unit-conversion focuses on mappings between different healthcare data units. In this tutorial video, you'll learn how to define a mapping context and effectively utilize it within your mappings, expanding your capabilities in toFHIR.

Creating Job: Orchestrating ETL Pipelines in toFHIR

Jobs serve as complete ETL pipelines, bringing together essential definitions such as schemas, mappings etc. When executing a job, toFHIR seamlessly orchestrates the entire process, from reading the specified data to executing the defined mappings and writing the results to the designated FHIR sink. In this tutorial video, you'll learn the step-by-step process of defining a job, including configuring data source settings, setting up FHIR sink settings, and selecting mappings to be executed.

Execution: Executing Jobs and Analysing Results in toFHIR

The toFHIR GUI provides a separate panel for the execution of jobs. After executing a job, users can easily access valuable information such as the number of successfully created FHIR resources and any encountered errors. Learn how to examine logs for any faulty resources and take appropriate actions to ensure optimal mapping outcomes. This video tutorial demonstrates how to execute a job seamlessly within the GUI and provides guidance on analysing the execution results.

Mapping Testing: Validation and Testing in toFHIR

toFHIR provides a built-in testing feature that allows you to validate your mapping definitions at the time of its development. Run tests to ensure that the mappings are working as expected and that the generated FHIR resources meet the desired standards. This video shows how to test your mappings in toFHIR.

Terminology Service: Empowering Data Integration in toFHIR

toFHIR can utilize remote FHIR terminology services and allows create and manage your own local terminology service. This tutorial video unveils the process of creating a local terminology service from scratch, empowering you to ensure accurate data representation and seamless concept exchanges. It also presents a comprehensive understanding of how to leverage the local terminology service within your mappings for enhanced healthcare data integration.