BD2KOnFHIR / NLP2FHIR

NLP2FHIR: A FHIR-based Clinical Data Normalization Pipeline and Its Applications
59 stars 15 forks source link

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:

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 on ONC Interoperability Proving Ground

AMIA/HL7 FHIR® Applications Showcase

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

Publications