Pathling is a set of tools that make it easier to use FHIR® and clinical terminology within health data analytics. It is built on Apache Spark, and it implements the SQL on FHIR view specification and the Bulk Data Access implementation guide.
FHIR R4 is the dominant standard for exchanging health data. It comes in both JSON or XML formats, and can contain over 140 different types of resources, such as Patient, Observation, Condition, Procedure, and many more.
Pathling is capable of reading all the different types of FHIR resources into a format suitable for data analysis tasks. This makes the following things possible:
- Creating SQL-friendly views from FHIR data
- Transforming data into other formats, such as CSV or Parquet
- Performing terminology queries against coded fields within the FHIR data
See Data in and out and Running queries for more information.
Health data often contains codes from systems such as SNOMED CT, LOINC or ICD. These codes contain a great deal of information about diagnoses, procedures, observations and many other aspects of a patient's clinical record.
It is common to group these codes based upon their properties, relationships to other codes, or membership within a pre-defined set. Pathling can automate the task of calling out to a FHIR terminology server to ask questions about the codes within your data.
Examples of the types of questions that can be answered include:
- Is this SNOMED CT procedure code a type of endoscopy?
- Does this LOINC test result code have an analyte of bilirubin?
- Is this ICD-10 code within the pre-defined list of codes within my cohort definition?
See Terminology functions for more information.
Pathling Server is a FHIR R4 analytics server that exposes a range of functionality for use by applications and implements:
- SQL on FHIR: Run view definitions to preview tabular projections of FHIR data, then export to NDJSON, CSV, or Parquet
- Bulk Data Access: Export data at system, patient, or group level using the FHIR Bulk Data Access specification
- Bulk Import: Import data from NDJSON, Parquet, or Delta Lake sources, or sync with another FHIR server that supports bulk export
- Bulk Submit: An experimental implementation of the new Bulk Submit proposal
- FHIRPath Search: Query resources using FHIRPath expressions
- CRUD Operations: Create, read, update, and delete resources
The server is distributed as a Docker image. It supports authentication and also can be scaled over a cluster on Kubernetes or other Apache Spark clustering solutions.
See Server for installation and configuration details.
Published Maven artifacts are signed with the following GPG key:
- Key ID:
ED48678D - Fingerprint:
F814 751C 64B5 F5E7 08A8 C73F C3C6 291F ED48 678D - User ID:
Pathling Developers <pathling@csiro.au>
The public key is available on keys.openpgp.org.
Pathling is copyright © 2018-2025, Commonwealth Scientific and Industrial Research Organisation (CSIRO) ABN 41 687 119 230. Licensed under the Apache License, version 2.0.
This means that you are free to use, modify and redistribute the software as you wish, even for commercial purposes.
If you use this software in your research, please consider citing our paper, Pathling: analytics on FHIR.
Pathling is experimental software, use it at your own risk! You can get a full description of the current set of known issues here.