Skip to content

BD2KOnFHIR/NLP2FHIR

Repository files navigation

NLP2FHIR

NLP2FHIR: A FHIR-based Clinical Data Normalization Pipeline and Its Applications alt text

Prerequisites

The following binaries and all associated resources are required in the classpath for successful execution, and are required on the build path (declared as a system library in maven) for developers

For Streaming/RESTful Service Functionality, you will additionally need

In addition, you will need the following:

  • The MRCONSO.RRF file from a copy of the UMLS (placed in ./UMLS)
  • SNOMEDCT US Edition resource files (downloadable with a UMLS license, placed in ./SNOMEDCT_US)

For Users

Download all prerequisites, and compile each module using Maven (mvn clean install). You should obtain an executable upon completion in ./NLP2FHIR-GUI/target

Copy this to your root directory and launch using java –cp ./resources;./lib;./NLP2FHIR-GUI-1.0-SNAPSHOT.jar edu.mayo.bsi.nlp2fhir.gui.GUI

Simply select the correct options relevant to your use case via the GUI and you are set! Make sure to insert your UMLS username and password (UMLS api-key) in the upper right hand corner!

Using NLP2FHIR via Command Line Interface

java –cp ./resources;./lib;./NLP2FHIR-GUI-1.0-SNAPSHOT.jar edu.mayo.bsi.nlp2fhir.gui.CLI

See help documentation on usage of CLI: java –cp ./resources;./lib;./NLP2FHIR-GUI-1.0-SNAPSHOT.jar edu.mayo.bsi.nlp2fhir.gui.CLI --help

For Developers

NLP2FHIR is written as a UIMA pipeline. As such, it is compatible in a plug and play manner with other UIMA pipelines. To leverage this functionality, please refer to edu.mayo.bsi.nlp2fhir.pipelines package in the NLP2FHIRAnnotators module.

UIMA-FIT functionality is wrapped by pipeline builders, which are grouped by functionality. To see an example of how these classes interact directly with UIMA-FIT, please refer to edu.mayo.bsi.nlp2fhir.pipelines.resources.ResourcePipelineBuilder. To see how these pipelines are called

To add new resources, implement the parser/appropriate pipeline to populate the FHIR typesystem equivalent, then implement a resource producer to the edu.mayo.bsi.nlp2fhir.postprocessors.cas2fhir.impl package and add a reference to the edu.mayo.bsi.nlp2fhir.postprocessors.cas2fhir.ResourceProducers class.

Finally, add the appropriate items to the aforementioned edu.mayo.bsi.nlp2fhir.pipelines.resources.ResourcePipelineBuilder and edu.mayo.bsi.nlp2fhir.pipelines.serialization.SerializationPipelineBuilder classes

To add this functionality to the GUI itself, add the appropriate options under the NLP2FHIR-GUI module

Demo App in Smart App Gallary

NLP2FHIR: A FHIR-based Clinical Data Normalization Pipeline

Useful Links

NLP2FHIR: A FHIR-based Clinical Data Normalization Pipeline and Its Application on Electronic Health Records (EHR)-Driven Phenotyping

Publications

  • Hong N, Wen A, Shen F, Sohn S, Liu S, Liu H, Jiang G. Integrating Structured and Unstructured EHR Data Using an FHIR-based Type System: A Case Study with Medication Data. AMIA Jt Summits Transl Sci Proc. 2018 May 18;2017:74-83. PubMED

  • Hong N, Wen A, Mojarad RM, Sohn S, Liu H, Jiang G. Standardizing Heterogeneous Annotation Corpora Using HL7 FHIR for Facilitating their Reuse and Integration in Clinical NLP. AMIA Annu Symp Proc 2018. (paper in press). AMIA2018|PubMed

  • Hong N, Wen A, Stone D, Kingsbury PR, Rasmussen LV, Adekkanattu P, Luo Y, Pathak J, Liu H, Jiang G. Applying a FHIR-based Data Normalization Pipeline to the Identification of Patients with Obesity and Its Comorbidities from Discharge Summaries. AMIA Informatics Summit CRI 2019. podium abstract.

  • Hong N, Wen A, Shen F, Sohn S, Wang C, Liu H, Jiang G. Developing a scalable FHIR-based clinical data normalization pipeline for standardizing and integrating unstructured and structured electronic health record data. 2019 JAMIA Open, ooz056