CDCgov / prime-reportstream

ReportStream is a public intermediary tool for delivery of data between different parts of the healthcare ecosystem.
https://reportstream.cdc.gov
Creative Commons Zero v1.0 Universal
73 stars 40 forks source link

[Bug] Patient Age is lost from Lifepoint HL7 messages #4343

Open RickHawesUSDS opened 2 years ago

RickHawesUSDS commented 2 years ago

Describe the bug The HHS protect feed is not receiving age of the patient from LifePoint and Ellume

Impact About 700k Ellume test results do not have patient age.

To Reproduce I was able to reproduce the bug locally. Steps to reproduce the behavior:

  1. Run a local version of ReportStream
  2. gradle run
  3. Get a Lifepoint HL7 message => Notice that the PID segment has patient birthdate.
  4. Upload the Lifepoint HL7 message
    > curl -X POST -H "Content-Type:application/hl7-v2"  --data-binary @result_files/lifepoint/lifepoint-covid-19-0000acfe-98e6-4a95-876a-5792f6e5fbf0-20220124002222.hl7 'http://localhost:7071/api/reports?client=lifepoint'
    {
    "id" : "124517ec-f89b-40ff-83cc-cb90cbcf0475",
    "timestamp" : "2022-02-09T14:30:21.667412Z",
    "topic" : "covid-19",
    "reportItemCount" : 1,
    "sender" : "lifepoint.default",
    "destinations" : [ {
    "organization" : "HHSProtect",
    "organization_id" : "hhsprotect",
    "service" : "elr",
    "sending_at" : "2022-02-09T09:31-05:00",
    "itemCount" : 1
    } ],
    "destinationCount" : 1,
    "warningCount" : 5,
    "errorCount" : 0,
    "errors" : [ ],
    "warnings" : [ {
    "scope" : "item",
    "message" : "Report 1: Invalid field equipment_model_name; please refer to the Department of Health and Human Services’ (HHS) LOINC Mapping spreadsheet for acceptable values.",
    "itemNums" : ""
    }, {
    "scope" : "item",
    "message" : "Report 1: Invalid field equipment_model_id_type; please refer to the Department of Health and Human Services’ (HHS) LOINC Mapping spreadsheet for acceptable values.",
    "itemNums" : ""
    }, {
    "scope" : "item",
    "message" : "Report 1: Invalid field ordered_test_encoding_version; please refer to the Department of Health and Human Services’ (HHS) LOINC Mapping spreadsheet for acceptable values.",
    "itemNums" : ""
    }, {
    "scope" : "item",
    "message" : "Report 1: Invalid field test_kit_name_id_cwe_version; please refer to the Department of Health and Human Services’ (HHS) LOINC Mapping spreadsheet for acceptable values.",
    "itemNums" : ""
    }, {
    "scope" : "item",
    "message" : "Report 1: Invalid field test_performed_system_version; please refer to the Department of Health and Human Services’ (HHS) LOINC Mapping spreadsheet for acceptable values.",
    "itemNums" : ""
    } ]
    }⏎   

    Look at the resultant internal file => No patient age Look at the resultant hhs protect file => No patient age Expected behavior The patient age should be transmitted to HHS Protect

Should be easy to find the code problem. Most likely to be caused by the ingestion of HL7.

RickHawesUSDS commented 2 years ago

Found at the same time as #4257