Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ingest: Parse ADT Messages #3

Closed
chanskw opened this issue Jun 23, 2016 · 4 comments
Closed

Ingest: Parse ADT Messages #3

chanskw opened this issue Jun 23, 2016 · 4 comments
Projects

Comments

@chanskw
Copy link
Collaborator

chanskw commented Jun 23, 2016

Investigate parsing of ADT messages.
Do we want to parse the entire set of ADT? If not, what ADT information is useful in a Streams application?

@chanskw
Copy link
Collaborator Author

chanskw commented Nov 14, 2016

Initially, we should focus on the following messages for clinical monitoring:

ADT-A01 – patient admit
ADT-A02 – patient transfer
ADT-A03 – patient discharge
ADT-A04 -- Register a patient
ADT-A06 -- Change an outpatient to an inpatient
ADT-A07 -- Change an inpatient to an outpatient
ADT-A08 – patient information update
ADT-A10 -- Patient Arriving
ADT-A16 -- Pending Discharge
ADT-A28 -- Add person informaton

@chanskw chanskw changed the title Parse ADT Messages Ingest: Parse ADT Messages Dec 5, 2016
chanskw added a commit that referenced this issue Dec 7, 2016
@chanskw chanskw added this to SAMANTHA in v0.2 Apr 4, 2017
@chanskw chanskw mentioned this issue Apr 10, 2017
@chanskw
Copy link
Collaborator Author

chanskw commented Apr 10, 2017

We are using the ADT_XXX super structure from Hapi to parse any ADT message. For each ADT message, information from the following segments are extracted:

MSH
PID
PV1
EVN

ADT messages will be published as AdtEvent. This is the definition of AdtEvent:

type MessageInfo = rstring receivingApp, rstring messageType, rstring receivingFacility, rstring sendingFacility, rstring messageTs, rstring sendingApp;

type EventDetails = rstring eventType, rstring recordTs, rstring eventTs;

type Patient = list<rstring> alternateNames, list<rstring> alternateIds, rstring gender, rstring name, rstring dateOfBirth, rstring id, rstring status;

type Clinician = rstring name, rstring id;

type PatientVisit = rstring patientClass, rstring visitNumber, rstring priorLocation, rstring location, list<Clinician> attendingDoctors, list<Clinician> consultingDoctors;

type AdtEvent = MessageInfo msg, EventDetails evt, Patient patient, PatientVisit pv;

Is this sufficient to map patient to certain location and their clinicians? What other information maybe be needed?

@chanskw
Copy link
Collaborator Author

chanskw commented Apr 10, 2017

If you want to try out the service, information is here: https://github.com/IBMStreams/streamsx.health/tree/develop/ingest/hl7

@chanskw
Copy link
Collaborator Author

chanskw commented Jun 1, 2017

This is completed.

@chanskw chanskw closed this as completed Jun 1, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
v0.2
SAMANTHA
Development

No branches or pull requests

1 participant