Open JohnNKing opened 9 months ago
While reviewing AL test order scenarios output, I found that these fields were missing in the output OML PID-3.4 PID-8.2 PID-8.3 PID-10 PID-11.7 PID-18 PID-22 NK1-2 NK1-3.3 NK1-5 NK1-33 ORC-2.2 ORC-12 OBR-2 OBR-4 OBR-7 OBR-16 OBX-3 (all except CE/CWE datatype) OBX(2)-6 and OBX(4)-6 (NM datatypes (units)) OBX(8)-2 (XAD datatype) OBX(8)-5 (XAD datatype)
Original list of missing fields: - OBX-3
PR in RS: https://github.com/CDCgov/prime-reportstream/pull/15910. The PR has been merged into this branch: OML-Updates-Base
This is the E2E output of the sample message linked in the summary when run against the OML-Updates-Base
feature branch post-PR #15910 merge.
MSH|^~\&|Epic^1.2.840.114350.1.13.145.2.7.2.695071^ISO|Centracare^centracare.com^DNS|NATUS^natus.health.state.mn.us^DNS|MN Public Health Lab^2.16.840.1.114222.4.1.10080^ISO|20230506052916-0500||OML^O21^OML_O21|31808297|P|2.5.1|||AL|AL|||||LAB_PRU_COMPONENT^^2.16.840.1.113883.9.82^ISO~LAB_TO_COMPONENT^^2.16.840.1.113883.9.22^ISO
PID|1||11102779^^^CRPMRN^MR||SMITH^BB SARAH^^^^^L|SMITH^SADIE^S|20230504131023-0500|M|||555 STATE HIGHWAY 13^^DEER CREEK^MN^56527-9657^USA^H^^OTTER TAIL||^^PH^^^763^5555555^^(763)555-5555|||||||||||N|1|||||N
ORC|NW|421832901^EPIC^1.2.840.114350.1.13.145.2.7.2.695071^ISO|||||||20230506052913-0500|||1265136360^JONES^JANE^^^^^^NPI^L^^^NPI|||||||||ST. CLOUD HOSPITAL^^^^^CMS^NPI^^^1043269798~ST. CLOUD HOSPITAL^^^^^MN Public Health Lab^Submitter ID^^^739
OBR|1|421832901^EPIC^1.2.840.114350.1.13.145.2.7.2.695071^ISO|||||||||P
ReportStream HL7 to FHIR output of https://github.com/CDCgov/trusted-intermediary/tree/main/examples/MN/003_MN_ORM_O01_NBS.hl7 when run on the OML-Updates-Base feature branch:
I submitted 003_MN_ORM_O01_NBS.hl7
locally using the OML-Updates-Base
branch in RS which has the new ORM/OML mappings. It looks like this branch fixed most of the issues we were seeing. For 003_MN_ORM_O01_NBS.hl7
, the only difference is that one of the OBRs is removed in the final HL7 and OBR-7 and OBR-15 are missing for the one preserved. Here's the content:
MSH|^~\&|Epic^1.2.840.114350.1.13.145.2.7.2.695071^ISO|Centracare^centracare.com^DNS|NATUS^natus.health.state.mn.us^DNS|MN Public Health Lab^2.16.840.1.114222.4.1.10080^ISO|20230506052916-0500||OML^O21^OML_O21|31808297|D|2.5.1|||AL|AL|||||LAB_PRU_COMPONENT^^2.16.840.1.113883.9.82^ISO~LAB_TO_COMPONENT^^2.16.840.1.113883.9.22^ISO
PID|1||11102779^^^CRPMRN^MR||SMITH^BB SARAH^^^^^L|SMITH^SADIE^S|20230504131023-0500|M|||555 STATE HIGHWAY 13^^DEER CREEK^MN^56527-9657^USA^H^^OTTER TAIL||^^PH^^^763^5555555^^(763)555-5555|||||||||||N|1|||||N
ORC|NW|421832901^EPIC^1.2.840.114350.1.13.145.2.7.2.695071^ISO|||||||20230506052913-0500|||1265136360^JONES^JANE^^^^^^NPI^L^^^NPI|||||||||ST. CLOUD HOSPITAL^L^^^^CMS^NPI^^^1043269798~ST. CLOUD HOSPITAL^L^^^^MN Public Health Lab^Submitter ID^^^739
OBR|1|421832901^EPIC^1.2.840.114350.1.13.145.2.7.2.695071^ISO||54089-8^Newborn screening panel American Health Information Community (AHIC)^LN|||||||P
OBX|1|NM|8339-4^BIRTH WEIGHT MEASURED^LN|1|1769.859285|g^gram^UCUM|||||O|||20230506050000-0500|||||||||||||||QST|AOE
OBX|2|NM|57714-8^OBSTETRIC ESTIMATION OF GESTATIONAL AGE^LN|1|32|wk^week^UCUM|||||O|||20230506050000-0500|||||||||||||||QST|AOE
OBX|3|CWE|57713-0^INFANT FACTORS THAT AFFECT NEWBORN SCREENING INTERPRETATION^LN|1|LA12419-0^INFANT IN NICU AT TIME OF SPECIMEN COLLECTION^LN||||||O|||20230506050000-0500|||||||||||||||QST|AOE
OBX|4|CWE|MNDSIB^DOES THE BABY HAVE A DECEASED SIBLING?^99MDH|1|N^No^99MDH||||||O|||20230506050000-0500|||||||||||||||QST|AOE
OBX|5|CWE|MNDEFECT^DOES THE BABY HAVE BIRTH DEFECTS?^99MDH|1|N^No^99MDH||||||O|||20230506050000-0500|||||||||||||||QST|AOE
OBX|6|CWE|MNFAM^FAMILY HISTORY OF DISORDER ON MN SCREENING PANEL^99MDH|1|N^No^99MDH||||||O|||20230506050000-0500|||||||||||||||QST|AOE
OBX|7|CWE|67704-7^FEEDING TYPES^LN|1|LA12418-2^TPN^LN||||||O|||20230506050000-0500|||||||||||||||QST|AOE
OBX|8|CWE|67704-7^FEEDING TYPES^LN|2|LA16914-6^BREAST MILK^LN||||||O|||20230506050000-0500|||||||||||||||QST|AOE
OBX|9|CWE|57723-9^UNIQUE BAR CODE NUMBER OF CURRENT SAMPLE^LN|1|0516199364||||||O|||20230506050000-0500|||||||||||||||QST|AOE
OBX|10|ST|62328-0^DISCHARGE PROVIDER PRACTICE PHONE NUMBER^LN|1|Daniel Davis/218-555-1000||||||O|||20230506050000-0500|||||||||||||||QST|AOE
OBX|11|ST|62324-9^POST-DISCHARGE PROVIDER NAME^LN|1|DAVIS, DANIEL, MD||||||O|||20230506050000-0500|||||||||||||||QST|AOE
OBX|12|ST|62326-4^POST-DISCHARGE PROVIDER PRACTICE NAME^LN|1|Lakeridge Health Revere||||||O|||20230506050000-0500|||||||||||||||QST|AOE
The 2nd OBR is being dropped because 003_MN_ORM_O01_NBS.hl7 isn't a valid ORM per HL7 V2.5.1. 2.5.1 specifies that the ORC segment is required for each order group, adding a second ORC above the second OBR produces both OBRs:
MSH|^~\&|Epic^1.2.840.114350.1.13.145.2.7.2.695071^ISO|Centracare^centracare.com^DNS|NATUS^natus.health.state.mn.us^DNS|MN Public Health Lab^2.16.840.1.114222.4.1.10080^ISO|20230506052916-0500||ORM^O01^ORM_O01|31808297|D|2.5.1|||AL|AL|||||LAB_PRU_COMPONENT^^2.16.840.1.113883.9.82^ISO~LAB_TO_COMPONENT^^2.16.840.1.113883.9.22^ISO
PID|1||11102779^^^CRPMRN^MR||SMITH^BB SARAH^^^^^L|SMITH^SADIE^S|20230504131023-0500|M|||555 STATE HIGHWAY 13^^DEER CREEK^MN^56527-9657^USA^H^^OTTER TAIL||^^PH^^^763^5555555^^(763)555-5555|||||||||||N|1|||||N
ORC|NW|421832901^EPIC^1.2.840.114350.1.13.145.2.7.2.695071^ISO|||||||20230506052913-0500|||1265136360^JONES^JANE^^^^^^NPI^L^^^NPI|||||||||ST. CLOUD HOSPITAL^L^^^^CMS^NPI^^^1043269798~ST. CLOUD HOSPITAL^L^^^^MN Public Health Lab^Submitter ID^^^739
OBR|1|421832901^EPIC^1.2.840.114350.1.13.145.2.7.2.695071^ISO||54089-8^Newborn screening panel American Health Information Community (AHIC)^LN|||||||P
ORC|NW|421832901^EPIC^1.2.840.114350.1.13.145.2.7.2.695071^ISO|||||||20230506052913-0500|||1265136360^JONES^JANE^^^^^^NPI^L^^^NPI|||||||||ST. CLOUD HOSPITAL^L^^^^CMS^NPI^^^1043269798~ST. CLOUD HOSPITAL^L^^^^MN Public Health Lab^Submitter ID^^^739
OBR|2|421832901^EPIC^1.2.840.114350.1.13.145.2.7.2.695071^ISO||57717-1^Newborn screen card data panel^LN
OBX|1|NM|8339-4^BIRTH WEIGHT MEASURED^LN|1|1769.859285|g^gram^UCUM|||||O|||20230506050000-0500|||||||||||||||QST|AOE
OBX|2|NM|57714-8^OBSTETRIC ESTIMATION OF GESTATIONAL AGE^LN|1|32|wk^week^UCUM|||||O|||20230506050000-0500|||||||||||||||QST|AOE
OBX|3|CWE|57713-0^INFANT FACTORS THAT AFFECT NEWBORN SCREENING INTERPRETATION^LN|1|LA12419-0^INFANT IN NICU AT TIME OF SPECIMEN COLLECTION^LN||||||O|||20230506050000-0500|||||||||||||||QST|AOE
OBX|4|CWE|MNDSIB^DOES THE BABY HAVE A DECEASED SIBLING?^99MDH|1|N^No^99MDH||||||O|||20230506050000-0500|||||||||||||||QST|AOE
OBX|5|CWE|MNDEFECT^DOES THE BABY HAVE BIRTH DEFECTS?^99MDH|1|N^No^99MDH||||||O|||20230506050000-0500|||||||||||||||QST|AOE
OBX|6|CWE|MNFAM^FAMILY HISTORY OF DISORDER ON MN SCREENING PANEL^99MDH|1|N^No^99MDH||||||O|||20230506050000-0500|||||||||||||||QST|AOE
OBX|7|CWE|67704-7^FEEDING TYPES^LN|1|LA12418-2^TPN^LN||||||O|||20230506050000-0500|||||||||||||||QST|AOE
OBX|8|CWE|67704-7^FEEDING TYPES^LN|2|LA16914-6^BREAST MILK^LN||||||O|||20230506050000-0500|||||||||||||||QST|AOE
OBX|9|CWE|57723-9^UNIQUE BAR CODE NUMBER OF CURRENT SAMPLE^LN|1|0516199364||||||O|||20230506050000-0500|||||||||||||||QST|AOE
OBX|10|ST|62328-0^DISCHARGE PROVIDER PRACTICE PHONE NUMBER^LN|1|Daniel Davis/218-555-1000||||||O|||20230506050000-0500|||||||||||||||QST|AOE
OBX|11|ST|62324-9^POST-DISCHARGE PROVIDER NAME^LN|1|DAVIS, DANIEL, MD||||||O|||20230506050000-0500|||||||||||||||QST|AOE
OBX|12|ST|62326-4^POST-DISCHARGE PROVIDER PRACTICE NAME^LN|1|Lakeridge Health Revere||||||O|||20230506050000-0500|||||||||||||||QST|AOE
Submitting the LA example examples/LA/001_LA_ORM_O01_NBS.hl7
, the final HL7 is:
NK1
segmentsOBR-7
and OBR-15
P
value in OBR-11
additional information regarding above:
@GilmoreA6 Is going to make a new ticket for the NK1 work listed above.
What is the plan for receiver transform "etor-oml-receiver-transform.yml" changes? Is that needed to close out this ticket?
@brick-green good point. We need to figure out if we need that transformation for OBR-11
@brick-green Confirmed that we should remove that transformation, so that task should be part of this ticket
@basiliskus @GilmoreA6 Can you add that task above? Can you also review the other tasks and check off the ones that are complete?
@brick-green added it
@brick-green there is a task "Look into possibility of adding assertions in the RS Integration Test framework to catch mapping issues" to me that also seems like a separate issue, since this ticket is specifically about validating the RS mappings and reporting gaps, thoughts?
The integration testing will be broken out into a new ticket(s). Remaining work is removing the transformation file.
Added this PR in RS to remove the etor-oml-receiver-transform.yml
transform
Discussed in Stream 2 Refinement in relation to #472; we're assuming at this point that SPM will be provided, which would provide an alternate means of getting the info from OBR-15.
PR to remove etor-oml-receiver-transform.yml
in RS has been merged
Moving back to Review / QA until the ReportStream work has been merged (to main) and deployed to staging.
@JohnNKing If not yet captured, we need stories created for:
NK1 work is outlined in #1547
@jbiskie Did you or someone else try changing the MSH.9 to OML then seeing what happens?
@jbiskie Did you or someone else try changing the MSH.9 to OML then seeing what happens?
@GilmoreA6 Am I recalling correctly that you talked about doing this?
@brick-green @jbiskie yes, although I'm not sure what it tells us other than OML message mapping exists and works. We received new test messages today from Ochsner which appear a lot more valid than the previous test messages (segments are in the correct order), so we should see what is missing by running those through as ORMs and OMLs.
Putting the new LA order ORM messages through ReportStream changing MSH-9 from "ORM_001^ORM_001" to "OML^O21^OML_O21" results in an OML message that is complete except for the following missing segments/fields:
Missing Segments: IN1 GT1
Missing Fields PID-2 - Missing because PID-2 is "Backwards Compatible" field in 2.5.1 PID-18 - Unsure why this is not being carried. The value is not getting translated from HL7->FHIR. The mappings appear to exist. PID.19 and PID.20 - are deprecated in the HL7v2.7 and NIST HL7v2.5.1 specs. Further, the HAPI v2.7 model has set both # fields to NULLDT. Thus, this field is not being mapped. PD1.4 - Missing because PD1-1 is "Backwards Compatible" field in 2.5.1 ORC-7 - Missing because ORC-7 is "Backwards Compatible" field in 2.5.1 OBR-27- Missing because OBR-27 is "Backwards Compatible" field in 2.5.1 SPM-35 - Missing because SPM-35 does not exist in 2.5.1
The missing fields are mostly (if not entirely) due to them not existing in the HL7 v2 2.5.1 standards
Ochsner made the change to MSH.9 and emailed a new message!! Can we get a quick test in with this one? @jbiskie @GilmoreA6
MSH|^~\&|13^1.2.840.114350.1.13.286.2.7.2.695071^ISO|4169|Natus.LA.STAG^2.16.840.1.114222.4.3.26.3.2|Louisiana Office of Public Health Laboratory^2.16.840.1.114222.4.3.22.17.1.1|20241115111935|739|OML^O21|31|T|2.5.1|||AL|NE
PID|1|10453874^^^MRN^MRN|10453874^^^MRN^MRN||PKUSS^B BOY BEAKER||20241108110000|M||2054-5^Black or African-American^CDCREC|1202 COOLIDGE ST.^^LAFAYETTE^LA^70503^US^P^^LAFAYETTE|LAFAYETTE|(557)559-5559^P^PH||ENGLISH|Single|||000-00-0000||PKUSS^BEAKER^MOM^|HISPANIC||Y|2|||||N
PD1||||1184608010^DREWITZ^TROY^U.^^^^^NPI^^^^NPI
NK1|1|PKUSS^BEAKER^MOM^|Mother|1202 Coolidge St.^^LAFAYETTE^LA^70503^US|(557)559-5559^^PH
PV1|1||^8288^24827^^^^^^^^||||||||||||||1184608010^DREWITZ^TROY^U.^^^^^NPI^^^^NPI
IN1|1|114415|308114401|BLUE CROSS BLUE SHIELD|P O BOX 98029^^BATON ROUGE^LA^70898-9029^||(800)495-2583|||||||||PKUSS^B^BOY BEAKER^|Self|20241108|1202 COOLIDGE ST.^^LAFAYETTE^LA^70503^US^^^LAFAYETTE|||1||||||||||||||||||||None|M
GT1|1|100251816|PKUSS^BEAKER^MOM^||1202 COOLIDGE ST.^^LAFAYETTE^LA^70503^US^^^LAFAYETTE|(557)559-5559^P^PH||19891224|F|P/F|MOT|999-99-9999||||||||Full
ORC|NW|243217750^EPC||71414751|||^^^20241113125400^^Routine^^||20241113125406|739^BEAKER^PHLEBOTOMIST^^||1184608010^DREWITZ^TROY^U.^^^^^NPI^^^^NPI|^^^^^^^^OLGH LABOR AND DELIVERY|(504)391-8896||||OCH155315^OCH155315|||OCHSNER LAFAYETTE GENERAL MEDICAL HOSPITAL^D^^^^OCHSNER HEALTH SYSTEM^XX^^^30100|1214 COOLIDGE BLVD^^LAFAYETTE^LA^70503-2621^US^B^^LAFAYETTE|(337)289-7991^^PH|120 OCHSNER BLVD^SUITE 360^GRETNA^LA^70056^^C|||||I|VERBAL WITH
OBR|1|243217750^EPC|1000319696^Beaker|54089-8^Newborn screening panel American Health Information Community (AHIC)^LN^^^^2.72||20241113125400|20241113131841|||739^BEAKER^PHLEBOTOMIST^^|Lab Collect|||||1184608010^DREWITZ^TROY^U.^^^^^NPI^^^^NPI|(504)391-8896|||193988||||Lab|||^^^20241113125400^^Routine^^|||||||||20241113125400
OBX|1|ST|57714-8^Gestational Age (Weeks + Days)||382||||||F|||20241113125402|||||||||||||||QST
OBX|2|ST|82312-0^Infant Blood Transfusion?||Yes||||||F|||20241113125402|||||||||||||||QST
OBX|3|DT|62317-3^Date of Transfusion||20241108||||||F|||20241113125402|||||||||||||||QST
OBX|4|ST|67704-7^All Feeding Since Birth||Human Milk \T\ Formula||||||F|||20241113125402|||||||||||||||QST
OBX|5|ST|PLT3280^Name of Formula(s)||Enfomil||||||F|||20241113125402|||||||||||||||QST
SPM|1|^24LADH-318X0007&Beaker||BLOOD^Blood||||BLOOD^Blood|||||||||20241113131841|20241113131842||Y|||||||||||||||S
@brick-green it looks like ReportStream throws an error if MSH-9-3 is not populated.
{"error": "Internal error at 2024-11-15T17:46:23.069054272Z"}
Got it. I'll let them know we also need "OML_021" in MSH-9.3
On Fri, Nov 15, 2024 at 11:47 AM James Gilmore @.***> wrote:
@brick-green https://github.com/brick-green it looks like ReportStream throws an error if MSH-9-3 is not populated.
{"error": "Internal error at 2024-11-15T17:46:23.069054272Z"}
— Reply to this email directly, view it on GitHub https://github.com/CDCgov/trusted-intermediary/issues/900#issuecomment-2479587547, or unsubscribe https://github.com/notifications/unsubscribe-auth/AUSCFDLOKQDLESIJB2V3NML2AYXRHAVCNFSM6AAAAABDQLQJNGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINZZGU4DONJUG4 . You are receiving this because you were mentioned.Message ID: @.***>
I know RS uses MSH-9.3 to identify the message type, so that's more important to have than MSH-9.1/2
Reason for Blocked Tagged: This card depends on PR https://github.com/CDCgov/prime-reportstream/pull/16539/files which is not yet merged
One last PR should be open soon to merge changes into main. The work is being tracked in this story: https://github.com/CDCgov/prime-reportstream/issues/16065
draft PR for merging into main has been started https://github.com/CDCgov/prime-reportstream/pull/16659
Bug
Describe the Bug
ReportStream's ORM to FHIR and FHIR to OML transformations are losing data from a variety of fields, including:
I suspect this was introduced by: https://github.com/CDCgov/prime-reportstream/pull/12718
For more details, see https://slack.com/archives/C048S3GPSQG/p1707861774688789
Also ensure an error isn't caused when the order has no OBX segments. (i.e. make OBX not required for ORM messages). Potentially relevant: https://github.com/CDCgov/prime-reportstream/blob/0eb5b42c5a8ccb2d7876fbee7441c790eaf5b828/prime-router/src/main/resources/metadata/hl7_mapping/OML_O21/OML_O21-base.yml#L62
Recently transformed ORM (from 9/11/2024): https://www.slack.com/archives/C044P2CBEKS/p1726088886147019?thread_ts=1726088335.991899&cid=C044P2CBEKS
Impact
ORM orders are lacking key pieces of information for NBS.
To Reproduce
Expected Behavior
Expected HL7 output should be the following (or equivalent):
Tasks
Screenshots
n/a
Logs
n/a
Version
Current master branch
Additional Context
n/a