Skip to content

symptomatic/covid19-on-fhir

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

88 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

COVID19 on FHIR Hackathon

This project implements HL7 SANER - Situation Awareness for Novel Epidemic Response, and was submitted to the Datavant Pandemic Response Hackathon and the MIT Covid19 Challenge.

The COVID19 on FHIR project's primary purpose is to query FHIR servers for COVID19 related data. We support fetching conditions, procedures, medications, encounters, and devices, using LOINC and SNOMED codes identified by our network of collaborators.

CovidQueryPage

Prerequisites & Related Projects

This project is intended to be used with the following platform libraries and projects:

Installation

This project is best run on Macintosh with Chrome, and is intended to run on Linux servers in an AWS cloud environment. Compiling to Docker is supported, but an advanced feature.

# install Meteor, if you don't already have it
# this is the build tool / compiler  
curl https://install.meteor.com/ | sh

# clone the Node on FHIR boilerplate
# this boilerplate is similar to WordPress
# and supports a plugin/package architecture
git clone https://github.com/symptomatic/node-on-fhir
cd node-on-fhir

# clone this package into the project
cd packages
git clone https://github.com/symptomatic/covid19-on-fhir
git clone https://github.com/symptomatic/covid19-geomapping

# install dependencies
cd ..
meteor npm install

# run the application  
meteor run --extra-packages symptomatic:covid19-on-fhir,symptomatic:covid19-geomapping --settings packages/covid19-on-fhir/configs/settings.covid19.maps.json  

Generating a synthetic dataset of COVID19 patients

Please see the following documentation for synthetic patient data.

# download synthea
git clone https://github.com/PatientInsight/Synthea.git
cd synthea

# check out the covid19 branch
git checkout -b covid19
git pull origin covid19

# build the utility
./gradlew build check test

# edit the congestive_heart_failure module as needed
nano modules/covid19.json

# rebuild the utility with the updated modules
./gradlew build check test

# run synthea and create a few thousand test patients
./run_synthea -s 12345 -m *covid19* -p 1000 Illinois "Chicago"  

Set up a test server

If you need a local FHIR server to test against, please see the HAPI FHIR CLI tool. Requires Java.
We also recommend the smart-on-fhir/tag-uploader utility to load SYnthea data into the HAPI FHIR server.
And, of course, the Postman utility.

# install the hapi server (requires java)
brew install hapi-fhir-cli

# run the hapi server using DSTU2 
# most EHRs from 2015 include this supprot
hapi-fhir-cli run-server -v dstu2 -p 3100

# R4
hapi-fhir-cli run-server -v r4 -p 3100

# load the output directory into the HAPI server (DSTU2 / STU3)
node index.js -d ../Synthea/output/fhir_dstu2/ -t 'something covid releated' -w -S http://localhost:3100/baseDstu2/

# load the output directory into the HAPI server (R4)
node index.js -d ../Synthea/output/fhir/ -t 'something covid releated' -w -S http://localhost:3100/baseR4/

# confirm that data is loaded correctly
curl http://localhost:8080/baseDstu2/Patient?_count=100
curl http://localhost:8080/baseDstu2/Encounter?_count=100

curl http://localhost:8080/baseR4/Patient?_count=100
curl http://localhost:8080/baseR4/Encounter?_count=100

FAQ

Who is your intended user?
We're following the data, and haven't applied security rules or roles yet. I'm soliciting feedback and opinion on which to prioritize first, but am trying to keep the map reusable for a number of different use cases.

The underlying mapping technology has applications for just about every stakeholder, but there seems to be particular need at the population health level (placement of testing centers, tracking overall spread), the field dispatch level (EMTs, police, social workers), and the individual patient levels.

Those are probably the 3 stakeholders we'll be focusing on. There's a lot of overlap, though. Similar to Radiology in that regard. Who is the intended user of an X-Ray? Well, anybody who has an interest. People take their own learnings away from maps depending on their needs. But the layers we add on obviously have specific interest groups.

I'm probably going to lay down hospital markers first (for the Chicagoland area); then do patient address markers for COVID19 positive patients with synthetic data. And then assess how we want to apply the security rules and roles access from there.

Do you have addresses of COVID 19 patients or would that be a HIPAA/privacy issue?
Yes, we can actually get to the addresses of COVID19 patients via FHIR. They will be patients who have visited hospitals or drive through clinics and been part of the official health networks, rather than self-reported data. But we can get to that data for the hackathon. As for HIPAA, that use case will need to be installed with Provider Launch Context and run from a HIPAA zone (but we've already set our database up in one, and are preparing for that). We were initially worried that we would need to bounce data through Google geocoding servers to map addresses into latitude/longitude (which we will probably do with the online demo and synthetic data), but we have a lead on a docker image of a geocoding server that we can run from within our own HIPAA zone. So, full steam ahead with COVID19 patient address data in a HIPAA compliant manner.

What do you mean by testing sites? When we talk testing sites, we are generally discussing the work involved in setting up drive-through testing sites. CVS is hiring something like 50,000 workers right now, and the way this pandemic is going, we're likely to wind up having a drive-through testing center in ever CVS, Walgreens, and Walmart parking lot. That lends itself to a structural map layer, and knowing where testing sites are and are not will help in routing patients to the closest one in early and later phases of the pandemic. Further in the pandemic cycle, we will want to know where to put testing centers when hotspots crop up. There will be gaps in geospatial coverage (pandemics are population density based, and geospatial in nature).

Update (courtesy Andrea Pitkus, PhD, MLS): Currently, drive through testing isn't a COVID-19 testing center. It is a Drive Through Specimen Collection Center, and the specimens are sent to a a CLIA certified (or NY or WA compliant) laboratory which performs these moderate to high complexity tests with trained laboratory professionals. Some of the testing centers are clear across the county. It depends on with which the testing collection sites have their contracts.

For example, Walgreens is contracted with LabCorp, so it could be sent to NC or performed at a closer LabCorp laboratory. They could also contract with NorthShore University Health System as they are performing testing in your area. Walmart and CVS have contracts with Quest Diagnostics, so those may be sent to the Wooddale, IL facility performing COVID-19 testing for the upper Midwest. If state/government entities are setting up these sites, they may be performed by state public health labs.

References

Team Acknowledgements

  • Jason Walonoski, Bioinformatics (Synthea)
  • James Agnew, FHIR Hosting (Smile CDR)
  • Chris Hafey, DBA Backup, Business Administration, (Fomerly Nucleus.io)
  • Andrei Rusu, Quality Control, (Nightwatch.js)
  • Jae Brodsky, Statistician
  • Sarah Sims, Business Administration
  • David Donohue, Medical Advisory Board

Acknowledgements (Product Development, Review, & Early Testing)

  • Ken Salyards (SAMSHA, Health and Human Services)
  • Andrea Pitkus, PhD, MLS, (UW School of Medicine and Public Health)
  • Viet Nguyen, MD, (Board Member at Health Level Seven International)
  • Brett Johnson (Personalized Medicine Strategic Planning)
  • Mohit Saigal (Customer Focused IT and PM Leader)
  • Brian Jackson (Academic Clinical Pathologist)
  • Russell Hamm (Evangalist)
  • Rex Stock (Evangalist)

A Prayer for Health Care Workers

May the One who blessed our ancestors
Bless all those who put themselves at risk to care for the sick
Physicians and nurses and orderlies
Technicians and home health aides
EMTs and pharmacists
(And bless especially _______)
Who navigate the unfolding dangers of the world each day,
To tend to those they have sworn to help.
Bless them in their coming home and bless them in their going out.
Ease their fear. Sustain them.
Source of all breath, healer of all beings,
Protect them and restore their hope.
Strengthen them, that they may bring strength;
Keep them in health, that they may bring healing.
Help them know again a time when they can breathe without fear.
Bless the sacred work of their hands.
May this plague pass from among us, speedily and in our days.

  • Rabbi Ayelet Cohen, March 2020