FHIR for Research - From Data Analysis to Clinical Decision Support
Workshop Overview
This hands-on workshop introduces researchers to FHIR data analysis and clinical decision support implementation, with a focus on genomics applications.
Prerequisites
- Basic familiarity with Python and JavaScript will allow for a deeper understanding but you can follow the workshop notebooks without prior experience.
- Web browser (Chrome recommended)
- Google account to access Google Colab (optional)
- Recommended background: Basic understanding of FHIR concepts
- See our FHIR from 1,000 Feet module for introductory material
- For Part 2, familiarity with Genomics Data Standardization with FHIR
- Helpful concepts: CDS Hooks and SMART on FHIR
Synthetic Data
This tutorial uses the Synthea Coherent Data Set, a comprehensive synthetic health dataset that includes:
- FHIR resources
- Digital Imaging and Communications in Medicine (DICOM, an international standard for storing, retrieving, and sending medical imaging like those from an MRI, CT scan, or x-ray) images
- Genomic data
- Physiological data (ECGs)
- Clinical notes
The dataset is managed by The MITRE Corporation and is available under the Creative Commons Attribution 4.0 International License. It’s specifically designed to provide realistic, linked healthcare data for development and testing. For more information, see Synthea Overview.
Citation:
Walonoski J, Hall D, Bates KM, et al. The “Coherent Data Set”: Combining Patient Data and Imaging in a Comprehensive Synthetic Health Record. Electronics. 2022; 11(8):1199. https://doi.org/10.3390/electronics11081199
Access:
The dataset can be downloaded from the Synthea downloads page. You only need to download the data if you are running your own server. For more information on running your own server, see Standing Up a FHIR Testing Server.
Environment Setup
Running the two interactive Jupyter notebooks in this workshop may require some local setup. There are four options, listed below. The first, Google Colab, is the recommended method since it requires the least amount of setup, but the other options are also viable and might be the right fit for different needs.
At the top of each notebook, you will see a series of badges like those below:
Identify one of the setup options to use, follow the necessary instructions, and then proceed to Workshop Materials and use your chosen setup option in the notebook.
Option 1: Google Colab ✓ recommended
Google Colab is a web-based tool for interacting with Jupyter notebooks.
- Open one of the workshop’s notebooks and click the “Open in Colab” badge
- File → Save a copy in Drive to edit 3. No additional setup required
When working with PII/PHI data from your own FHIR server, only use local installations, like JupyterLab Desktop. Cloud-based solutions like Google Colab should not be used with sensitive data unless the solution has been approved by your organization. Always consult your institutional policies before processing sensitive information in cloud environments.
Option 2: NBViewer (View Only)
- Click the “View in NBViewer” link on any notebook
- This provides a non-interactive view of the notebook with all outputs
- Good for reviewing code and results without running anything
Option 3: JupyterLab Desktop (Easy Local Setup)
- Download and install JupyterLab Desktop from the official website
- Follow the instructions for launching JupyterLab Desktop
- Open a workshop notebook and select “Download Notebook.”
- Open the downloaded notebook in JupyterLab Desktop
- Each notebook includes its own dependency cell that will install any additional required packages
Option 4: Binder
Click the Binder badge on any notebook for a temporary environment (slower but no setup required).
Workshop Materials
Part 1: FHIR Data Analysis
Key concepts covered:
- Connecting to FHIR servers
- Converting FHIR resources to Pandas DataFrames
- Common analysis patterns
- Working with nested data
Part 2: Clinical Decision Support with Genomics
Key concepts covered:
- Working with FHIR genomics resources
- Processing genetic variants
- Implementing Clinical Decision Support (CDS) logic
- Generating clinical recommendations
Additional Resources
Contributing
This workshop is open source. We welcome contributions via pull requests and issues on GitHub.