Giter Site home page Giter Site logo

formtofhirservice's Introduction

Form-to-FHIR Service

A Java/Apache Camel service for transforming medical forms into structured FHIR data. Apache Camel allows integration of multiple sources including:

  • Emails with PDF attachments
  • Message Queues
  • Restful POST operations
  • See full list of potential Camel Components

Although the possibilities are endless, the service's initial implementation includes the ability for end-users to email PDF documents to a given email address. The PDF documents will be stored in AWS S3, analyzed using AWS Textract, and ultimately persisted as FHIR data.

Specifically, this service aims to automate the collection of Covid-19 Case Reports in the United States using CDC's Person Under Investigation (PUI) Form. The PUI Form is the standard required by the CDC and adopted by most State Health Departments.

Prerequisites

  • Java 11 (SdkMan recommended for managing Java installs)
  • Gradle
  • Email setup

Email Setup

The service requires a designated email address where PDF documents can be received. A test Gmail account can be configured for the service:

  1. Navigate to Gmail Settings -> Forwarding and POP/IMAP -> IMAP access, then select Enable IMAP
  2. Navigate to Google Account Settings -> Security -> Less secure app access, then toggle to allow less secure apps to connect to the account.

It goes without saying the service and email account will require some additional security configurations to meet HIPAA compliance standards.

Local Setup

  • Clone the repo. git clone https://github.com/hapifhir/covid-response-app.git
  • Once you're in the root of cloned repo, change the directory to formtofhirservice
  • Using gradle wrapper command, build an executable using ./gradlew clean build
  • Finally, run the service:
java -jar build/libs/formtofhirservice-0.0.1-SNAPSHOT.jar [email protected] --email.password=YOURPASSWORD --email.hostname=imap.gmail.com

FHIR Resources Used

Data from PUI Form is converted into the following FHIR Resources

Todo

  1. Split attachments into individual messages
  2. Write each attachment to S3
  3. For each S3 document asynchronously kickoff Textract, see https://docs.aws.amazon.com/textract/latest/dg/api-async.html
  4. Configure another Consumer endpoint for SNS/SQS,where Textract completion notification are posted
  5. Create Camel Processor for transforming Textract data to FHIR Questionaire/QuestionaireResponse
  6. Use Camel FHIR Component to persist, see https://camel.apache.org/components/latest/fhir-component.html

formtofhirservice's People

Contributors

henrym6003 avatar

Stargazers

Lin Zhang avatar William Capozzoli avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.