Skip to content

Commit e035d76

Browse files
committed
Merge pull request #123 from paxtonhare/71_build_an_hl7_hub
adding the hl7 healthcare example
2 parents ebe57cb + 5c2b0c6 commit e035d76

File tree

18 files changed

+3108
-0
lines changed

18 files changed

+3108
-0
lines changed

examples/healthcare/README.md

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
# Example Healthcare Hub
2+
This example shows how to load C32 Consolidated Continuity of Care Documents (CCD) hl7 XML and National Plan and Provider Enumeration System (NPPES) provider csv files.
3+
4+
Look Here for more information on these 2 file formats:
5+
- [C-CDA C32 HL7](http://www.hl7.org/implement/standards/product_brief.cfm?product_id=258)
6+
- [NPPES](http://download.cms.gov/nppes/NPI_Files.html)
7+
8+
The sample data is located in the input/ folder.
9+
```
10+
|-- input
11+
|-- hl7
12+
|-- 000-00-0000.xml # This is the C-CDA C32 xml
13+
|-- nppes
14+
|-- nppes.csv # This is a sample NPPES csv file
15+
```
16+
17+
# TLDR; How do I run it?
18+
1. Download the latest quick-start jar from the [releases page](https://github.com/marklogic/marklogic-data-hub/releases) into this folder.
19+
20+
1. Run the quick-start jar `java -jar quick-start.jar`
21+
22+
1. Open your web browser to [http://localhost:8080](http://localhost:8080).
23+
24+
1. Point the Login box to your MarkLogic installation.
25+
26+
1. Deploy your modules by pressing the **Deploy Modules** button.
27+
28+
1. Load hl7 data by pressing the **Load Data** button next to hl7. When prompted Set the Path to **input/hl7**. Set the collection to **hl7**. Set the Data Format to **Documents**. Now Press **Submit**.
29+
30+
1. Load nppes data by pressing the **Load Data** button next to nppes. When prompted Set the Path to **input/nppes**. Set the collection to **nppes**. Set the Data Format to **Delimited Text**. Now Press **Submit**.
31+
32+
1. At this point you have loaded the sample data. You can browse the data via [QConsole](http://localhost:8000/qconsole) or by searching the REST endpoint on the Staging Http Server [http://localhost:8010/v1/search](http://localhost:8010/v1/search). *Your port may be different if you changed it during setup*
33+
34+
1. To run the conformance flows simply press the **Run** button next to the final flow.
35+
36+
1. Now you have conformed the data into your final database. You can browse the data via [QConsole](http://localhost:8000/qconsole) or by searching the REST endpoint on the Final Http Server [http://localhost:8011/v1/search](http://localhost:8011/v1/search). *Your port may be different if you changed it during setup*
37+
38+
39+
# Entities
40+
Entities represent the data you are modeling. For this example we provide the **patientrecords** entity. Inside this entity definition you will find all of the example flows.
41+
42+
# Flows
43+
Flows are sets of plugins that work together to create an envelope document.
44+
45+
- [Input Flows](#input-flows) work on incoming data and store it in the Staging database.
46+
- [Conformance Flows](#conformance-flows) work on staged data and transform and store it into the Final database.
47+
48+
## Input Flows
49+
50+
### hl7
51+
The hl7 Flow is intended to ingest C-CDA C32 Hl7 XML files. When running the hl7 flow simply point it at input/hl7. Set the collection to **hl7** and set the document type to **Document**.
52+
53+
### nppes
54+
The nppes Flow is intended to ingest NPPES csv files. This flow will split each row of the NPPES file into a separate XML document in the staging database. When running the hl7 flow simply point it at input/nppes. Set the collection to **nppes** and set the document type to **Delimited Text**.
55+
56+
## Conformance Flows
57+
58+
There is only one conformance flow provided. This final flow will create a conformed XML document that contains the original C32 xml as the content of an envelope. It will also extract various data from th3 C32 into the header section for easier queryability.
59+
60+
## Final REST services
61+
62+
A sample REST service has been provided to illustrate how one might query the data to extract a list of providers for a given patient. You can access this service on the Final Http Rest server at [http://localhost:8011/v1/resources/providers?rs:patient-id=000-00-0000](http://localhost:8011/v1/resources/providers?rs:patient-id=000-00-0000). You may need to substitute the port number if you changed the final Port on installation.

0 commit comments

Comments
 (0)