From ac43cb9eab43540d15268e88a5734a978b534bff Mon Sep 17 00:00:00 2001 From: Jessica Willis Date: Thu, 18 Jul 2024 12:51:50 -0400 Subject: [PATCH 01/12] Migration pre work for OH --- prime-router/settings/STLTs/OH/oh-doh.yml | 216 ++++++++++++++++++ .../STLTs/OH/OH-receiver-transform.yml | 73 ++++++ .../FHIR_to_HL7/sample_OH_20240718-0001.fhir | 1 + .../FHIR_to_HL7/sample_OH_20240718-0001.hl7 | 12 + .../datatests/translation-test-config.csv | 3 +- 5 files changed, 304 insertions(+), 1 deletion(-) create mode 100644 prime-router/settings/STLTs/OH/oh-doh.yml create mode 100644 prime-router/src/main/resources/metadata/hl7_mapping/receivers/STLTs/OH/OH-receiver-transform.yml create mode 100644 prime-router/src/testIntegration/resources/datatests/FHIR_to_HL7/sample_OH_20240718-0001.fhir create mode 100644 prime-router/src/testIntegration/resources/datatests/FHIR_to_HL7/sample_OH_20240718-0001.hl7 diff --git a/prime-router/settings/STLTs/OH/oh-doh.yml b/prime-router/settings/STLTs/OH/oh-doh.yml new file mode 100644 index 00000000000..4330df9675a --- /dev/null +++ b/prime-router/settings/STLTs/OH/oh-doh.yml @@ -0,0 +1,216 @@ +- name: "oh-doh" + description: "Ohio Department of Health" + jurisdiction: "STATE" + stateCode: "OH" + countyName: null + filters: + - topic: "covid-19" + jurisdictionalFilter: [] + qualityFilter: null + routingFilter: + - "matches(abnormal_flag, A)" + processingModeFilter: null + conditionFilter: null + mappedConditionFilter: null + featureFlags: [] + keys: [] + senders: [] + receivers: + - name: "full-elr" + organizationName: "oh-doh" + topic: "full-elr" + customerStatus: "active" + translation: + schemaName: "azure:/metadata/hl7_mapping/receivers/STLTs/OH/OH-receiver-transform.yml" + useTestProcessingMode: false + useBatchHeaders: true + receivingApplicationName: "OHDOH^2.16.840.1.114222.4.1.3674^ISO" + receivingApplicationOID: "2.16.840.1.114222.4.1.3674" + receivingFacilityName: "OHDOH^2.16.840.1.114222.4.1.3674^ISO" + receivingFacilityOID: "2.16.840.1.114222.4.1.3674" + messageProfileId: null + replaceValue: {} + replaceValueAwithB: + MSH-3: + - '*': "CDC PRIME - Atlanta, Georgia (Dekalb)^2.16.840.1.114222.4.1.237821^ISO" + MSH-4: + - '*': "CDC PRIME^36DSMP9999" + MSH-5: + - '*': "OHDOH^2.16.840.1.114222.4.1.3674^ISO" + MSH-6: + - '*': "OHDOH^2.16.840.1.114222.4.1.3674^ISO" + reportingFacilityName: "CDC PRIME" + reportingFacilityId: "36DSMP9999" + reportingFacilityIdType: null + suppressQstForAoe: true + suppressHl7Fields: "OBX-23-11, MSH-19-1, MSH-19-2, MSH-19-3" + suppressAoe: false + defaultAoeToUnknown: false + replaceUnicodeWithAscii: false + useBlankInsteadOfUnknown: "patient_race" + truncateHDNamespaceIds: false + truncateHl7Fields: null + usePid14ForPatientEmail: false + convertTimestampToDateTime: null + cliaForOutOfStateTesting: null + cliaForSender: {} + phoneNumberFormatting: "STANDARD" + suppressNonNPI: false + processingModeCode: null + replaceDiiWithOid: null + applyOTCDefault: false + useOrderingFacilityName: "STANDARD" + valueSetOverrides: {} + nameFormat: "OHIO" + receivingOrganization: null + convertPositiveDateTimeOffsetToNegative: true + stripInvalidCharsRegex: null + convertDateTimesToReceiverLocalTime: false + useHighPrecisionHeaderDateTimeFormat: false + type: "HL7" + truncationConfig: + truncateHDNamespaceIds: false + truncateHl7Fields: [] + customLengthHl7Fields: {} + jurisdictionalFilter: + - "(Bundle.entry.resource.ofType(ServiceRequest)[0].requester.resolve().organization.resolve().address.state = 'OH') or (Bundle.entry.resource.ofType(Patient).address.state = 'OH')" + qualityFilter: + # Message id is not empty (MSH-10) + - "Bundle.identifier.value.exists()" + - "Bundle.entry.resource.ofType(Patient).name.family.exists()" + - "Bundle.entry.resource.ofType(Patient).name.given.count() > 0" + - "Bundle.entry.resource.ofType(Patient).birthDate.exists()" + # Specimen type (SPM-4) is not empty + - "Bundle.entry.resource.ofType(Specimen).where(type.empty()).count() = 0" + # Patient has at least a street address(PID-11-1), postal code (PID-11-5),phone(PID-13) or email(PID-13-4) + - "Bundle.entry.resource.ofType(Patient).where(address.line[0].empty() and address.postalCode.empty() and telecom.where(system = 'phone').value.empty() and telecom.where(system = 'email').value.empty()).count() = 0" + - "((Bundle.entry.resource.ofType(Specimen).collection.collectedPeriod.exists() or Bundle.entry.resource.ofType(Specimen).collection.collected.exists()) + or (Bundle.entry.resource.ofType(ServiceRequest).occurrence.exists() or Bundle.entry.resource.ofType(Observation).effective.exists()))" + routingFilter: [] + processingModeFilter: [] + reverseTheQualityFilter: false + conditionFilter: + - # Accept COVID only + "(%resource.code.coding.extension('https://reportstream.cdc.gov/fhir/StructureDefinition/condition-code').value.where(code in ('840539006')).exists())" + mappedConditionFilter: [] + deidentify: false + deidentifiedValue: "" + timing: + operation: "MERGE" + numberPerDay: 12 + initialTime: "01:35" + timeZone: "EASTERN" + maxReportCount: 100 + whenEmpty: + action: "NONE" + onlyOncePerDay: false + description: "" + transport: + type: SFTP + host: sftp + port: 22 + filePath: ./upload + credentialName: DEFAULT-SFTP + externalName: null + enrichmentSchemaNames: [] + timeZone: null + dateTimeFormat: "OFFSET" + - name: "full-elr-secondary" + organizationName: "oh-doh" + topic: "full-elr" + customerStatus: "active" + translation: + schemaName: "azure:/metadata/hl7_mapping/receivers/STLTs/OH/OH-receiver-transform.yml" + useTestProcessingMode: false + useBatchHeaders: true + receivingApplicationName: "OHDOH^2.16.840.1.114222.4.1.3674^ISO" + receivingApplicationOID: "2.16.840.1.114222.4.1.3674" + receivingFacilityName: "OHDOH^2.16.840.1.114222.4.1.3674^ISO" + receivingFacilityOID: "2.16.840.1.114222.4.1.3674" + messageProfileId: null + replaceValue: {} + replaceValueAwithB: + MSH-3: + - '*': "CDC PRIME - Atlanta, Georgia (Dekalb)^2.16.840.1.114222.4.1.237821^ISO" + MSH-4: + - '*': "CDC PRIME^36DSMP9999" + MSH-5: + - '*': "OHDOH^2.16.840.1.114222.4.1.3674^ISO" + MSH-6: + - '*': "OHDOH^2.16.840.1.114222.4.1.3674^ISO" + reportingFacilityName: "CDC PRIME" + reportingFacilityId: "36DSMP9999" + reportingFacilityIdType: null + suppressQstForAoe: true + suppressHl7Fields: "OBX-23-11, MSH-19-1, MSH-19-2, MSH-19-3" + suppressAoe: false + defaultAoeToUnknown: false + replaceUnicodeWithAscii: false + useBlankInsteadOfUnknown: "patient_race" + truncateHDNamespaceIds: false + truncateHl7Fields: null + usePid14ForPatientEmail: false + convertTimestampToDateTime: null + cliaForOutOfStateTesting: null + cliaForSender: {} + phoneNumberFormatting: "STANDARD" + suppressNonNPI: false + processingModeCode: null + replaceDiiWithOid: null + applyOTCDefault: false + useOrderingFacilityName: "STANDARD" + valueSetOverrides: {} + nameFormat: "OHIO" + receivingOrganization: null + convertPositiveDateTimeOffsetToNegative: true + stripInvalidCharsRegex: null + convertDateTimesToReceiverLocalTime: false + useHighPrecisionHeaderDateTimeFormat: false + type: "HL7" + truncationConfig: + truncateHDNamespaceIds: false + truncateHl7Fields: [] + customLengthHl7Fields: {} + jurisdictionalFilter: + - "(Bundle.entry.resource.ofType(ServiceRequest)[0].requester.resolve().organization.resolve().address.state = 'OH') or (Bundle.entry.resource.ofType(Patient).address.state = 'OH')" + qualityFilter: + # Message id is not empty (MSH-10) + - "Bundle.identifier.value.exists()" + - "Bundle.entry.resource.ofType(Patient).name.family.exists()" + - "Bundle.entry.resource.ofType(Patient).name.given.count() > 0" + - "Bundle.entry.resource.ofType(Patient).birthDate.exists()" + # Specimen type (SPM-4) is not empty + - "Bundle.entry.resource.ofType(Specimen).where(type.empty()).count() = 0" + # Patient has at least a street address(PID-11-1), postal code (PID-11-5),phone(PID-13) or email(PID-13-4) + - "Bundle.entry.resource.ofType(Patient).where(address.line[0].empty() and address.postalCode.empty() and telecom.where(system = 'phone').value.empty() and telecom.where(system = 'email').value.empty()).count() = 0" + - "((Bundle.entry.resource.ofType(Specimen).collection.collectedPeriod.exists() or Bundle.entry.resource.ofType(Specimen).collection.collected.exists()) + or (Bundle.entry.resource.ofType(ServiceRequest).occurrence.exists() or Bundle.entry.resource.ofType(Observation).effective.exists()))" + routingFilter: [] + processingModeFilter: [] + reverseTheQualityFilter: true + conditionFilter: + # Accept COVID only + - "(%resource.code.coding.extension('https://reportstream.cdc.gov/fhir/StructureDefinition/condition-code').value.where(code in ('840539006')).exists())" + mappedConditionFilter: [] + deidentify: false + deidentifiedValue: "" + timing: + operation: "MERGE" + numberPerDay: 12 + initialTime: "01:35" + timeZone: "EASTERN" + maxReportCount: 100 + whenEmpty: + action: "NONE" + onlyOncePerDay: false + description: "" + transport: + type: SFTP + host: sftp + port: 22 + filePath: ./upload + credentialName: DEFAULT-SFTP + externalName: null + enrichmentSchemaNames: [] + timeZone: null + dateTimeFormat: "OFFSET" diff --git a/prime-router/src/main/resources/metadata/hl7_mapping/receivers/STLTs/OH/OH-receiver-transform.yml b/prime-router/src/main/resources/metadata/hl7_mapping/receivers/STLTs/OH/OH-receiver-transform.yml new file mode 100644 index 00000000000..4fa7562a8b1 --- /dev/null +++ b/prime-router/src/main/resources/metadata/hl7_mapping/receivers/STLTs/OH/OH-receiver-transform.yml @@ -0,0 +1,73 @@ +hl7Class: ca.uhn.hl7v2.model.v251.message.ORU_R01 + +extends: classpath:/metadata/hl7_mapping/ORU_R01/ORU_R01-base.yml + +constants: + MSH: '/MSH' + OBX: '/PATIENT_RESULT/ORDER_OBSERVATION/OBSERVATION/OBX' + +elements: + - name: oh-patient-race-coding-system + resource: 'Bundle.entry.resource.ofType(Patient).extension("http://ibm.com/fhir/cdm/StructureDefinition/local-race-cd").value.coding' + condition: '%resource.code.exists()' + value: [ '%resource.system.getCodingSystemMapping()' ] + hl7Spec: [ '/PATIENT_RESULT/PATIENT/PID-10-3' ] + + - name: oh-sending-application-namespace-id + value: [ '"CDC PRIME - Atlanta, Georgia (Dekalb)"' ] + hl7Spec: [ '%{MSH}-3-1' ] + + - name: oh-sending-application-universal-id + value: [ '"2.16.840.1.114222.4.1.237821"' ] + hl7Spec: [ '%{MSH}-3-2' ] + + - name: oh-sending-application-universal-id-type + value: [ '"ISO"' ] + hl7Spec: [ '%{MSH}-3-3' ] + + - name: oh-sending-facility-namespace-id + value: [ '"CDC PRIME"' ] + hl7Spec: [ '%{MSH}-4-1' ] + + - name: oh-sending-application-universal-id + value: [ '"6DSMP9999"' ] + hl7Spec: [ '%{MSH}-4-2' ] + + - name: oh-receiving-application-namespace-id + value: [ '"OHDOH"' ] + hl7Spec: [ '%{MSH}-5-1' ] + + - name: oh-receiving-application-universal-id + value: [ '"2.16.840.1.114222.4.1.3674"' ] + hl7Spec: [ '%{MSH}-5-2' ] + + - name: oh-receiving-application-universal-id-type + value: [ '"ISO"' ] + hl7Spec: [ '%{MSH}-5-3' ] + + - name: oh-receiving-facility-namespace-id + value: [ '"OHDOH"' ] + hl7Spec: [ '%{MSH}-6-1' ] + + - name: oh-receiving-facility-universal-id + value: [ '"2.16.840.1.114222.4.1.3674"' ] + hl7Spec: [ '%{MSH}-6-2' ] + + - name: oh-receiving-facility-universal-id-type + value: [ '"ISO"' ] + hl7Spec: [ '%{MSH}-6-3' ] + + - name: oh-unwanted-fields + value: [ '""' ] + hl7Spec: [ '%{OBX}-23-11', '%{MSH}-19-1', '%{MSH}-19-2', '%{MSH}-19-3' ] + + - name: oh-race-unknown-as-blank + resource: 'Bundle.entry.resource.ofType(Patient).extension("http://ibm.com/fhir/cdm/StructureDefinition/local-race-cd")' + condition: '%resource.value[x].coding[0].code = "UNK" or %resource.value.coding[0].code = "ASKU"' + value: [ '""' ] + hl7Spec: [ '%{PID}-10-1' , '%{PID}-10-2' , '%{PID}-10-3' , '%{PID}-10-7' , '%{PID}-10-9' ] + + - name: oh-suppress-qst-for-aoe + condition: '%resource.meta.tag.code="AOE"' + value: [ '""' ] + hl7Spec: [ '%{hl7OBXField}-29' ] \ No newline at end of file diff --git a/prime-router/src/testIntegration/resources/datatests/FHIR_to_HL7/sample_OH_20240718-0001.fhir b/prime-router/src/testIntegration/resources/datatests/FHIR_to_HL7/sample_OH_20240718-0001.fhir new file mode 100644 index 00000000000..d847f350886 --- /dev/null +++ b/prime-router/src/testIntegration/resources/datatests/FHIR_to_HL7/sample_OH_20240718-0001.fhir @@ -0,0 +1 @@ +{"resourceType":"Bundle","identifier":{"value":"0bab3f94-feb4-4915-939d-1adc5da201f3"},"type":"message","timestamp":"2024-06-05T18:55:01.277Z","entry":[{"fullUrl":"MessageHeader/5cbae40a-675e-49d4-b12a-04271de671a6","resource":{"resourceType":"MessageHeader","id":"5cbae40a-675e-49d4-b12a-04271de671a6","meta":{"tag":[{"system":"http://terminology.hl7.org/CodeSystem/v2-0103","code":"P","display":"Production"}]},"eventCoding":{"system":"http://terminology.hl7.org/CodeSystem/v2-0003","code":"R01","display":"ORU/ACK - Unsolicited transmission of an observation message"},"destination":[{"name":"PRIME ReportStream","endpoint":"https://prime.cdc.gov/api/reports?option=SkipInvalidItems"}],"sender":{"reference":"Organization/719ec8ad-cf59-405a-9832-c4065945c130"},"source":{"extension":[{"url":"https://reportstream.cdc.gov/fhir/StructureDefinition/software-binary-id","valueString":"d5de310"},{"url":"https://reportstream.cdc.gov/fhir/StructureDefinition/software-install-date","valueInstant":"2024-06-05T15:42:52Z"},{"url":"https://reportstream.cdc.gov/fhir/StructureDefinition/software-vendor-org","valueReference":{"reference":"Organization/07640c5d-87cd-488b-9343-a226c5166539"}}],"software":"PRIME SimpleReport","version":"d5de310","endpoint":"https://simplereport.gov"},"focus":[{"reference":"Provenance/d0dd19cd-76a0-4e16-ab1d-dc5838247b61"},{"reference":"DiagnosticReport/0bab3f94-feb4-4915-939d-1adc5da201f3"}]}},{"fullUrl":"Provenance/d0dd19cd-76a0-4e16-ab1d-dc5838247b61","resource":{"resourceType":"Provenance","id":"d0dd19cd-76a0-4e16-ab1d-dc5838247b61","recorded":"2024-06-05T18:55:01.277Z","activity":{"coding":[{"system":"http://terminology.hl7.org/CodeSystem/v2-0003","code":"R01","display":"ORU/ACK - Unsolicited transmission of an observation message"}]},"agent":[{"who":{"reference":"Organization/719ec8ad-cf59-405a-9832-c4065945c130"}}]}},{"fullUrl":"DiagnosticReport/0bab3f94-feb4-4915-939d-1adc5da201f3","resource":{"resourceType":"DiagnosticReport","id":"0bab3f94-feb4-4915-939d-1adc5da201f3","identifier":[{"value":"0bab3f94-feb4-4915-939d-1adc5da201f3"}],"basedOn":[{"reference":"ServiceRequest/185170f3-4361-48ff-85e1-808a66624470"}],"status":"final","code":{"coding":[{"system":"http://loinc.org","code":"94531-1"}]},"subject":{"reference":"Patient/7c0d1de9-270e-4d9c-a4ec-af92560cec67"},"effectiveDateTime":"2024-06-05T18:39:58+00:00","issued":"2024-06-05T18:55:01+00:00","specimen":[{"reference":"Specimen/dc7af370-fc07-4b00-abc7-9b5dd87cf4d2"}],"result":[{"reference":"Observation/5ab37a34-59f5-421f-92bd-baffaf26bb72"}]}},{"fullUrl":"Patient/7c0d1de9-270e-4d9c-a4ec-af92560cec67","resource":{"resourceType":"Patient","id":"7c0d1de9-270e-4d9c-a4ec-af92560cec67","extension":[{"url":"http://ibm.com/fhir/cdm/StructureDefinition/local-race-cd","valueCodeableConcept":{"coding":[{"system":"http://terminology.hl7.org/CodeSystem/v3-Race","code":"2028-9"}],"text":"asian"}},{"url":"https://reportstream.cdc.gov/fhir/StructureDefinition/ethnic-group","valueCodeableConcept":{"coding":[{"system":"http://terminology.hl7.org/CodeSystem/v2-0189","code":"N","display":"Not Hispanic or Latino"}],"text":"Not Hispanic or Latino"}}],"identifier":[{"value":"7c0d1de9-270e-4d9c-a4ec-af92560cec67"}],"name":[{"family":"Granger","given":["Hermione"]}],"telecom":[{"system":"phone","value":"(212) 555 1234","use":"mobile"}],"gender":"female","birthDate":"1990-07-21","address":[{"line":["53 Buttonwood Ave"],"city":"Brooklyn","state":"OH","postalCode":"11224","country":"USA"}],"managingOrganization":{"reference":"Organization/719ec8ad-cf59-405a-9832-c4065945c130"}}},{"fullUrl":"Organization/719ec8ad-cf59-405a-9832-c4065945c130","resource":{"resourceType":"Organization","id":"719ec8ad-cf59-405a-9832-c4065945c130","identifier":[{"use":"official","type":{"coding":[{"system":"http://terminology.hl7.org/CodeSystem/v2-0301","code":"CLIA"}]},"value":"12D4567890"}],"name":"Testing Lab","telecom":[{"system":"phone","value":"(530) 867 5309","use":"work"}],"address":[{"line":["123 Beach Way"],"city":"Denver","state":"OH","postalCode":"80210","country":"USA"}]}},{"fullUrl":"Practitioner/ee29ccf5-631d-4b35-a6d4-30a61c0eb8d9","resource":{"resourceType":"Practitioner","id":"ee29ccf5-631d-4b35-a6d4-30a61c0eb8d9","identifier":[{"system":"http://hl7.org/fhir/sid/us-npi","value":"1245319599"}],"name":[{"family":"McTester","given":["Phil"]}],"telecom":[{"system":"phone","value":"(530) 867 5309","use":"work"}],"address":[{"line":["321 Ocean Drive"],"city":"Denver","state":"OH","postalCode":"80210","country":"USA"}]}},{"fullUrl":"Specimen/dc7af370-fc07-4b00-abc7-9b5dd87cf4d2","resource":{"resourceType":"Specimen","id":"dc7af370-fc07-4b00-abc7-9b5dd87cf4d2","identifier":[{"value":"80ed36a0-4bd1-42c3-bb56-81ea4ac1e75a"}],"type":{"coding":[{"system":"http://snomed.info/sct","code":"258500001"}],"text":"Nasopharyngeal swab"},"subject":{"reference":"Patient/7c0d1de9-270e-4d9c-a4ec-af92560cec67"},"receivedTime":"2024-06-05T18:39:58+00:00","collection":{"collectedDateTime":"2024-06-05T18:39:58+00:00","bodySite":{"coding":[{"system":"http://snomed.info/sct","code":"87100004"}],"text":"Topography unknown (body structure)"}}}},{"fullUrl":"ServiceRequest/185170f3-4361-48ff-85e1-808a66624470","resource":{"resourceType":"ServiceRequest","id":"185170f3-4361-48ff-85e1-808a66624470","extension":[{"url":"https://reportstream.cdc.gov/fhir/StructureDefinition/order-control","valueCodeableConcept":{"coding":[{"system":"http://terminology.hl7.org/CodeSystem/v2-0119","code":"RE"}]}},{"url":"https://reportstream.cdc.gov/fhir/StructureDefinition/order-effective-date","valueDateTime":"2024-06-05T18:54:58+00:00"}],"status":"completed","intent":"order","code":{"coding":[{"system":"http://loinc.org","code":"94531-1"}]},"subject":{"reference":"Patient/7c0d1de9-270e-4d9c-a4ec-af92560cec67"},"requester":{"reference":"PractitionerRole/57a1a000-16e5-461a-930a-2e4779944bc2"},"performer":[{"reference":"Organization/719ec8ad-cf59-405a-9832-c4065945c130"}],"supportingInfo":[{"reference":"Observation/dd5369b2-91e7-32d9-8c7f-884cad6b0391"},{"reference":"Observation/fdf748f4-b187-31c6-b08d-334afc1c6a49"},{"reference":"Observation/4c669397-3b8b-3448-a7c8-d2fb8c5afde5"},{"reference":"Observation/4456d162-bfd8-37f3-aafe-1e6444c53934"},{"reference":"Observation/0042a1cb-8473-3181-9b65-fcb08dc112a3"}]}},{"fullUrl":"Device/d303372c-70cb-46b7-bf74-23f4dc91e661","resource":{"resourceType":"Device","id":"d303372c-70cb-46b7-bf74-23f4dc91e661","identifier":[{"type":{"coding":[{"code":"MNI"}]}}],"manufacturer":"Access Bio, Inc.","deviceName":[{"name":"CareStart COVID-19 MDx RT-PCR","type":"model-name"}]}},{"fullUrl":"PractitionerRole/57a1a000-16e5-461a-930a-2e4779944bc2","resource":{"resourceType":"PractitionerRole","id":"57a1a000-16e5-461a-930a-2e4779944bc2","practitioner":{"reference":"Practitioner/ee29ccf5-631d-4b35-a6d4-30a61c0eb8d9"},"organization":{"reference":"Organization/719ec8ad-cf59-405a-9832-c4065945c130"}}},{"fullUrl":"Organization/07640c5d-87cd-488b-9343-a226c5166539","resource":{"resourceType":"Organization","id":"07640c5d-87cd-488b-9343-a226c5166539","name":"SimpleReport"}},{"fullUrl":"Observation/5ab37a34-59f5-421f-92bd-baffaf26bb72","resource":{"resourceType":"Observation","id":"5ab37a34-59f5-421f-92bd-baffaf26bb72","status":"final","code":{"coding":[{"system":"http://loinc.org","code":"94500-6"}],"text":"COVID-19"},"subject":{"reference":"Patient/7c0d1de9-270e-4d9c-a4ec-af92560cec67"},"issued":"2024-06-05T18:54:58.594Z","performer":[{"reference":"Organization/719ec8ad-cf59-405a-9832-c4065945c130"}],"valueCodeableConcept":{"coding":[{"system":"http://snomed.info/sct","code":"260373001","display":"Detected"}]},"interpretation":[{"coding":[{"system":"http://terminology.hl7.org/CodeSystem/v2-0078","code":"A","display":"Abnormal"}]}],"method":{"extension":[{"url":"https://reportstream.cdc.gov/fhir/StructureDefinition/testkit-name-id","valueCoding":{"code":"CareStart COVID-19 MDx RT-PCR_Access Bio, Inc."}}],"coding":[{"display":"CareStart COVID-19 MDx RT-PCR"}]},"specimen":{"reference":"Specimen/dc7af370-fc07-4b00-abc7-9b5dd87cf4d2"},"device":{"reference":"Device/d303372c-70cb-46b7-bf74-23f4dc91e661"}}},{"fullUrl":"Observation/dd5369b2-91e7-32d9-8c7f-884cad6b0391","resource":{"resourceType":"Observation","id":"dd5369b2-91e7-32d9-8c7f-884cad6b0391","identifier":[{"use":"official","type":{"coding":[{"system":"http://loinc.org","code":"81959-9","display":"Public health laboratory ask at order entry panel"}]}}],"status":"final","code":{"coding":[{"system":"http://loinc.org","code":"95419-8","display":"Has symptoms related to condition of interest"}],"text":"Has symptoms related to condition of interest"},"subject":{"reference":"Patient/7c0d1de9-270e-4d9c-a4ec-af92560cec67"},"valueCodeableConcept":{"coding":[{"system":"http://terminology.hl7.org/ValueSet/v2-0136","code":"Y","display":"Yes"}]}}},{"fullUrl":"Observation/fdf748f4-b187-31c6-b08d-334afc1c6a49","resource":{"resourceType":"Observation","id":"fdf748f4-b187-31c6-b08d-334afc1c6a49","identifier":[{"use":"official","type":{"coding":[{"system":"http://loinc.org","code":"81959-9","display":"Public health laboratory ask at order entry panel"}]}}],"status":"final","code":{"coding":[{"system":"http://loinc.org","code":"11368-8","display":"Illness or injury onset date and time"}],"text":"Illness or injury onset date and time"},"subject":{"reference":"Patient/7c0d1de9-270e-4d9c-a4ec-af92560cec67"},"valueDateTime":"2024-06-01"}},{"fullUrl":"Observation/4c669397-3b8b-3448-a7c8-d2fb8c5afde5","resource":{"resourceType":"Observation","id":"4c669397-3b8b-3448-a7c8-d2fb8c5afde5","identifier":[{"use":"official","type":{"coding":[{"system":"http://loinc.org","code":"81959-9","display":"Public health laboratory ask at order entry panel"}]}}],"status":"final","code":{"coding":[{"system":"http://loinc.org","code":"82810-3","display":"Pregnancy status"}],"text":"Pregnancy status"},"subject":{"reference":"Patient/7c0d1de9-270e-4d9c-a4ec-af92560cec67"},"valueCodeableConcept":{"coding":[{"system":"http://snomed.info/sct","code":"60001007","display":"Not pregnant"}]}}},{"fullUrl":"Observation/4456d162-bfd8-37f3-aafe-1e6444c53934","resource":{"resourceType":"Observation","id":"4456d162-bfd8-37f3-aafe-1e6444c53934","identifier":[{"use":"official","type":{"coding":[{"system":"http://loinc.org","code":"81959-9","display":"Public health laboratory ask at order entry panel"}]}}],"status":"final","code":{"coding":[{"system":"http://loinc.org","code":"95418-0","display":"Employed in a healthcare setting"}],"text":"Employed in a healthcare setting"},"subject":{"reference":"Patient/7c0d1de9-270e-4d9c-a4ec-af92560cec67"},"valueCodeableConcept":{"coding":[{"system":"http://terminology.hl7.org/ValueSet/v2-0136","code":"Y","display":"Yes"}]}}},{"fullUrl":"Observation/0042a1cb-8473-3181-9b65-fcb08dc112a3","resource":{"resourceType":"Observation","id":"0042a1cb-8473-3181-9b65-fcb08dc112a3","identifier":[{"use":"official","type":{"coding":[{"system":"http://loinc.org","code":"81959-9","display":"Public health laboratory ask at order entry panel"}]}}],"status":"final","code":{"coding":[{"system":"http://loinc.org","code":"95421-4","display":"Resides in a congregate care setting"}],"text":"Resides in a congregate care setting"},"subject":{"reference":"Patient/7c0d1de9-270e-4d9c-a4ec-af92560cec67"},"valueCodeableConcept":{"coding":[{"system":"http://terminology.hl7.org/ValueSet/v2-0136","code":"Y","display":"Yes"}]}}}]} \ No newline at end of file diff --git a/prime-router/src/testIntegration/resources/datatests/FHIR_to_HL7/sample_OH_20240718-0001.hl7 b/prime-router/src/testIntegration/resources/datatests/FHIR_to_HL7/sample_OH_20240718-0001.hl7 new file mode 100644 index 00000000000..e016dda4182 --- /dev/null +++ b/prime-router/src/testIntegration/resources/datatests/FHIR_to_HL7/sample_OH_20240718-0001.hl7 @@ -0,0 +1,12 @@ +MSH|^~\&|CDC PRIME - Atlanta, Georgia (Dekalb)^2.16.840.1.114222.4.1.237821^ISO|CDC PRIME^6DSMP9999^CLIA|OHDOH^2.16.840.1.114222.4.1.3674^ISO|OHDOH^2.16.840.1.114222.4.1.3674^ISO|20240605185501-0000||ORU^R01^ORU_R01|0bab3f94-feb4-4915-939d-1adc5da201f3|P|2.5.1|||NE|NE|USA|UNICODE UTF-8|||PHLabReport-NoAck^ELR_Receiver^2.16.840.1.113883.9.11^ISO +SFT|Centers for Disease Control and Prevention|0.2-SNAPSHOT|PRIME ReportStream|0.2-SNAPSHOT||20240605154252-0000 +PID|1||7c0d1de9-270e-4d9c-a4ec-af92560cec67^^^Testing Lab&12D4567890&CLIA^PI^Testing Lab&12D4567890&CLIA||Granger^Hermione^^^^^L||19900721|F||2028-9^asian^HL70005^^^^2.5.1^^asian|53 Buttonwood Ave^^Brooklyn^OH^11224^USA||(212) 555 1234^PRS^CP^^1^212^5551234^^^^^(212) 555 1234|||||||||N^Not Hispanic or Latino^HL70189^^^^2.9^^Not Hispanic or Latino||||||||N +ORC|RE|0bab3f94-feb4-4915-939d-1adc5da201f3^Testing Lab^12D4567890^CLIA|0bab3f94-feb4-4915-939d-1adc5da201f3^Testing Lab^12D4567890^CLIA|||||||||1245319599^McTester^Phil^^^^^^NPI&2.16.840.1.113883.4.6&ISO^L^^^NPI||(530) 867 5309^WPN^PH^^1^530^8675309^^^^^(530) 867 5309|20240605185458-0000||||||Testing Lab^L^^^^CLIA&2.16.840.1.113883.4.7&ISO^XX^^^12D4567890|123 Beach Way^^Denver^OH^80210^USA|(530) 867 5309^WPN^PH^^1^530^8675309^^^^^(530) 867 5309|321 Ocean Drive^^Denver^OH^80210^USA +OBR|1|0bab3f94-feb4-4915-939d-1adc5da201f3^Testing Lab^12D4567890^CLIA|0bab3f94-feb4-4915-939d-1adc5da201f3^Testing Lab^12D4567890^CLIA|94531-1^SARS-CoV-2 (COVID-19) RNA panel - Respiratory system specimen by NAA with probe detection^LN|||20240605183958-0000|||||||||1245319599^McTester^Phil^^^^^^NPI&2.16.840.1.113883.4.6&ISO^L^^^NPI|(530) 867 5309^WPN^PH^^1^530^8675309^^^^^(530) 867 5309|||||20240605185501-0000|||F +OBX|1|CWE|94500-6^SARS-CoV-2 (COVID-19) RNA [Presence] in Respiratory system specimen by NAA with probe detection^LN^^^^^^COVID-19||260373001^Detected^SCT|||A^Abnormal^HL70078^^^^2.7|||F|||20240605183958-0000|12D4567890^Testing Lab^CLIA||CareStart COVID-19 MDx RT-PCR_Access Bio, Inc.^CareStart COVID-19 MDx RT-PCR^^^^^^^CareStart COVID-19 MDx RT-PCR_Access Bio, Inc.|^^MNI|20240605185458-0000||||Testing Lab^L^^^^CLIA&2.16.840.1.113883.4.7&ISO^XX^^^12D4567890|123 Beach Way^^Denver^OH^80210^USA +OBX|2|CWE|95419-8^Has symptoms related to condition of interest^LN^^^^2.69^^Has symptoms related to condition of interest||Y^Yes^HL70136||||||F|||20240605183958-0000|12D4567890^Testing Lab^CLIA||||||||Testing Lab^L^^^^CLIA&2.16.840.1.113883.4.7&ISO^XX^^^12D4567890|123 Beach Way^^Denver^OH^80210^USA|||||QST +OBX|3|DT|11368-8^Illness or injury onset date and time^LN^^^^^^Illness or injury onset date and time||20240601000000-0000||||||F|||20240605183958-0000|12D4567890^Testing Lab^CLIA||||||||Testing Lab^L^^^^CLIA&2.16.840.1.113883.4.7&ISO^XX^^^12D4567890|123 Beach Way^^Denver^OH^80210^USA|||||QST +OBX|4|CWE|82810-3^Pregnancy status^LN^^^^2.68^^Pregnancy status||60001007^Not pregnant^SCT||||||F|||20240605183958-0000|12D4567890^Testing Lab^CLIA||||||||Testing Lab^L^^^^CLIA&2.16.840.1.113883.4.7&ISO^XX^^^12D4567890|123 Beach Way^^Denver^OH^80210^USA|||||QST +OBX|5|CWE|95418-0^Employed in a healthcare setting^LN^^^^2.69^^Employed in a healthcare setting||Y^Yes^HL70136||||||F|||20240605183958-0000|12D4567890^Testing Lab^CLIA||||||||Testing Lab^L^^^^CLIA&2.16.840.1.113883.4.7&ISO^XX^^^12D4567890|123 Beach Way^^Denver^OH^80210^USA|||||QST +OBX|6|CWE|95421-4^Resides in a congregate care setting^LN^^^^2.69^^Resides in a congregate care setting||Y^Yes^HL70136||||||F|||20240605183958-0000|12D4567890^Testing Lab^CLIA||||||||Testing Lab^L^^^^CLIA&2.16.840.1.113883.4.7&ISO^XX^^^12D4567890|123 Beach Way^^Denver^OH^80210^USA|||||QST +SPM|1|0bab3f94-feb4-4915-939d-1adc5da201f3&Testing Lab&12D4567890&CLIA^0bab3f94-feb4-4915-939d-1adc5da201f3&Testing Lab&12D4567890&CLIA||258500001^Nasopharyngeal swab^SCT^^^^2.67^^Nasopharyngeal swab||||87100004^Topography unknown (body structure)^SCT^^^^^^Topography unknown (body structure)|||||||||20240605183958-0000|20240605183958-0000 diff --git a/prime-router/src/testIntegration/resources/datatests/translation-test-config.csv b/prime-router/src/testIntegration/resources/datatests/translation-test-config.csv index 06279080f7c..4976796f58d 100644 --- a/prime-router/src/testIntegration/resources/datatests/translation-test-config.csv +++ b/prime-router/src/testIntegration/resources/datatests/translation-test-config.csv @@ -53,4 +53,5 @@ FHIR_to_HL7/sample_TN_20240701-0001.fhir,,FHIR_to_HL7/sample_TN_20240701-0001.hl FHIR_to_HL7/sample_VT_20240628-0001.fhir,,FHIR_to_HL7/sample_VT_20240628-0001.hl7,classpath:/metadata/hl7_mapping/receivers/STLTs/VT/VT-receiver-transform.yml,HL7,PASS,"","","classpath:/metadata/fhir_transforms/senders/SimpleReport/simple-report-sender-transform.yml","vt-doh.full-elr","","" FHIR_to_HL7/sample_MH_20240701-0001.fhir,,FHIR_to_HL7/sample_MH_20240701-0001.hl7,classpath:/metadata/hl7_mapping/receivers/STLTs/MH/MH-receiver-transform.yml,HL7,PASS,"","","classpath:/metadata/fhir_transforms/senders/SimpleReport/simple-report-sender-transform.yml","","","" FHIR_to_HL7/sample_PA_20240703-0001.fhir,,FHIR_to_HL7/sample_PA_20240703-0001.hl7,classpath:/metadata/hl7_mapping/receivers/STLTs/PA/PA-receiver-transform.yml,HL7,PASS,"","","classpath:/metadata/fhir_transforms/senders/SimpleReport/simple-report-sender-transform.yml","","","" -FHIR_to_HL7/sample_NM_20240702-0001.fhir,,FHIR_to_HL7/sample_NM_20240702-0001.hl7,classpath:/metadata/hl7_mapping/receivers/STLTs/NM/NM-receiver-transform.yml,HL7,PASS,"","","classpath:/metadata/fhir_transforms/senders/SimpleReport/simple-report-sender-transform.yml","","","" \ No newline at end of file +FHIR_to_HL7/sample_NM_20240702-0001.fhir,,FHIR_to_HL7/sample_NM_20240702-0001.hl7,classpath:/metadata/hl7_mapping/receivers/STLTs/NM/NM-receiver-transform.yml,HL7,PASS,"","","classpath:/metadata/fhir_transforms/senders/SimpleReport/simple-report-sender-transform.yml","","","" +FHIR_to_HL7/sample_OH_20240718-0001.fhir,,FHIR_to_HL7/sample_OH_20240718-0001.hl7,classpath:/metadata/hl7_mapping/receivers/STLTs/OH/OH-receiver-transform.yml,HL7,PASS,"","","classpath:/metadata/fhir_transforms/senders/SimpleReport/simple-report-sender-transform.yml","","","" From e9edd972a6e08ab029872251891ab89d6860f800 Mon Sep 17 00:00:00 2001 From: Jessica Willis Date: Thu, 18 Jul 2024 12:58:27 -0400 Subject: [PATCH 02/12] Fixing integration test --- .../FHIR_to_HL7/sample_OH_20240718-0001.hl7 | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/prime-router/src/testIntegration/resources/datatests/FHIR_to_HL7/sample_OH_20240718-0001.hl7 b/prime-router/src/testIntegration/resources/datatests/FHIR_to_HL7/sample_OH_20240718-0001.hl7 index e016dda4182..32c0dc242ad 100644 --- a/prime-router/src/testIntegration/resources/datatests/FHIR_to_HL7/sample_OH_20240718-0001.hl7 +++ b/prime-router/src/testIntegration/resources/datatests/FHIR_to_HL7/sample_OH_20240718-0001.hl7 @@ -1,12 +1,12 @@ -MSH|^~\&|CDC PRIME - Atlanta, Georgia (Dekalb)^2.16.840.1.114222.4.1.237821^ISO|CDC PRIME^6DSMP9999^CLIA|OHDOH^2.16.840.1.114222.4.1.3674^ISO|OHDOH^2.16.840.1.114222.4.1.3674^ISO|20240605185501-0000||ORU^R01^ORU_R01|0bab3f94-feb4-4915-939d-1adc5da201f3|P|2.5.1|||NE|NE|USA|UNICODE UTF-8|||PHLabReport-NoAck^ELR_Receiver^2.16.840.1.113883.9.11^ISO -SFT|Centers for Disease Control and Prevention|0.2-SNAPSHOT|PRIME ReportStream|0.2-SNAPSHOT||20240605154252-0000 +MSH|^~\&|CDC PRIME - Atlanta, Georgia (Dekalb)^2.16.840.1.114222.4.1.237821^ISO|CDC PRIME^6DSMP9999^CLIA|OHDOH^2.16.840.1.114222.4.1.3674^ISO|OHDOH^2.16.840.1.114222.4.1.3674^ISO|20240605185501+0000||ORU^R01^ORU_R01|0bab3f94-feb4-4915-939d-1adc5da201f3|P|2.5.1|||NE|NE|USA|UNICODE UTF-8|||PHLabReport-NoAck^ELR_Receiver^2.16.840.1.113883.9.11^ISO +SFT|Centers for Disease Control and Prevention|0.2-SNAPSHOT|PRIME ReportStream|0.2-SNAPSHOT||20240605154252+0000 PID|1||7c0d1de9-270e-4d9c-a4ec-af92560cec67^^^Testing Lab&12D4567890&CLIA^PI^Testing Lab&12D4567890&CLIA||Granger^Hermione^^^^^L||19900721|F||2028-9^asian^HL70005^^^^2.5.1^^asian|53 Buttonwood Ave^^Brooklyn^OH^11224^USA||(212) 555 1234^PRS^CP^^1^212^5551234^^^^^(212) 555 1234|||||||||N^Not Hispanic or Latino^HL70189^^^^2.9^^Not Hispanic or Latino||||||||N -ORC|RE|0bab3f94-feb4-4915-939d-1adc5da201f3^Testing Lab^12D4567890^CLIA|0bab3f94-feb4-4915-939d-1adc5da201f3^Testing Lab^12D4567890^CLIA|||||||||1245319599^McTester^Phil^^^^^^NPI&2.16.840.1.113883.4.6&ISO^L^^^NPI||(530) 867 5309^WPN^PH^^1^530^8675309^^^^^(530) 867 5309|20240605185458-0000||||||Testing Lab^L^^^^CLIA&2.16.840.1.113883.4.7&ISO^XX^^^12D4567890|123 Beach Way^^Denver^OH^80210^USA|(530) 867 5309^WPN^PH^^1^530^8675309^^^^^(530) 867 5309|321 Ocean Drive^^Denver^OH^80210^USA -OBR|1|0bab3f94-feb4-4915-939d-1adc5da201f3^Testing Lab^12D4567890^CLIA|0bab3f94-feb4-4915-939d-1adc5da201f3^Testing Lab^12D4567890^CLIA|94531-1^SARS-CoV-2 (COVID-19) RNA panel - Respiratory system specimen by NAA with probe detection^LN|||20240605183958-0000|||||||||1245319599^McTester^Phil^^^^^^NPI&2.16.840.1.113883.4.6&ISO^L^^^NPI|(530) 867 5309^WPN^PH^^1^530^8675309^^^^^(530) 867 5309|||||20240605185501-0000|||F -OBX|1|CWE|94500-6^SARS-CoV-2 (COVID-19) RNA [Presence] in Respiratory system specimen by NAA with probe detection^LN^^^^^^COVID-19||260373001^Detected^SCT|||A^Abnormal^HL70078^^^^2.7|||F|||20240605183958-0000|12D4567890^Testing Lab^CLIA||CareStart COVID-19 MDx RT-PCR_Access Bio, Inc.^CareStart COVID-19 MDx RT-PCR^^^^^^^CareStart COVID-19 MDx RT-PCR_Access Bio, Inc.|^^MNI|20240605185458-0000||||Testing Lab^L^^^^CLIA&2.16.840.1.113883.4.7&ISO^XX^^^12D4567890|123 Beach Way^^Denver^OH^80210^USA -OBX|2|CWE|95419-8^Has symptoms related to condition of interest^LN^^^^2.69^^Has symptoms related to condition of interest||Y^Yes^HL70136||||||F|||20240605183958-0000|12D4567890^Testing Lab^CLIA||||||||Testing Lab^L^^^^CLIA&2.16.840.1.113883.4.7&ISO^XX^^^12D4567890|123 Beach Way^^Denver^OH^80210^USA|||||QST -OBX|3|DT|11368-8^Illness or injury onset date and time^LN^^^^^^Illness or injury onset date and time||20240601000000-0000||||||F|||20240605183958-0000|12D4567890^Testing Lab^CLIA||||||||Testing Lab^L^^^^CLIA&2.16.840.1.113883.4.7&ISO^XX^^^12D4567890|123 Beach Way^^Denver^OH^80210^USA|||||QST -OBX|4|CWE|82810-3^Pregnancy status^LN^^^^2.68^^Pregnancy status||60001007^Not pregnant^SCT||||||F|||20240605183958-0000|12D4567890^Testing Lab^CLIA||||||||Testing Lab^L^^^^CLIA&2.16.840.1.113883.4.7&ISO^XX^^^12D4567890|123 Beach Way^^Denver^OH^80210^USA|||||QST -OBX|5|CWE|95418-0^Employed in a healthcare setting^LN^^^^2.69^^Employed in a healthcare setting||Y^Yes^HL70136||||||F|||20240605183958-0000|12D4567890^Testing Lab^CLIA||||||||Testing Lab^L^^^^CLIA&2.16.840.1.113883.4.7&ISO^XX^^^12D4567890|123 Beach Way^^Denver^OH^80210^USA|||||QST -OBX|6|CWE|95421-4^Resides in a congregate care setting^LN^^^^2.69^^Resides in a congregate care setting||Y^Yes^HL70136||||||F|||20240605183958-0000|12D4567890^Testing Lab^CLIA||||||||Testing Lab^L^^^^CLIA&2.16.840.1.113883.4.7&ISO^XX^^^12D4567890|123 Beach Way^^Denver^OH^80210^USA|||||QST -SPM|1|0bab3f94-feb4-4915-939d-1adc5da201f3&Testing Lab&12D4567890&CLIA^0bab3f94-feb4-4915-939d-1adc5da201f3&Testing Lab&12D4567890&CLIA||258500001^Nasopharyngeal swab^SCT^^^^2.67^^Nasopharyngeal swab||||87100004^Topography unknown (body structure)^SCT^^^^^^Topography unknown (body structure)|||||||||20240605183958-0000|20240605183958-0000 +ORC|RE|0bab3f94-feb4-4915-939d-1adc5da201f3^Testing Lab^12D4567890^CLIA|0bab3f94-feb4-4915-939d-1adc5da201f3^Testing Lab^12D4567890^CLIA|||||||||1245319599^McTester^Phil^^^^^^NPI&2.16.840.1.113883.4.6&ISO^L^^^NPI||(530) 867 5309^WPN^PH^^1^530^8675309^^^^^(530) 867 5309|20240605185458+0000||||||Testing Lab^L^^^^CLIA&2.16.840.1.113883.4.7&ISO^XX^^^12D4567890|123 Beach Way^^Denver^OH^80210^USA|(530) 867 5309^WPN^PH^^1^530^8675309^^^^^(530) 867 5309|321 Ocean Drive^^Denver^OH^80210^USA +OBR|1|0bab3f94-feb4-4915-939d-1adc5da201f3^Testing Lab^12D4567890^CLIA|0bab3f94-feb4-4915-939d-1adc5da201f3^Testing Lab^12D4567890^CLIA|94531-1^SARS-CoV-2 (COVID-19) RNA panel - Respiratory system specimen by NAA with probe detection^LN|||20240605183958+0000|||||||||1245319599^McTester^Phil^^^^^^NPI&2.16.840.1.113883.4.6&ISO^L^^^NPI|(530) 867 5309^WPN^PH^^1^530^8675309^^^^^(530) 867 5309|||||20240605185501+0000|||F +OBX|1|CWE|94500-6^SARS-CoV-2 (COVID-19) RNA [Presence] in Respiratory system specimen by NAA with probe detection^LN^^^^^^COVID-19||260373001^Detected^SCT|||A^Abnormal^HL70078^^^^2.7|||F|||20240605183958+0000|12D4567890^Testing Lab^CLIA||CareStart COVID-19 MDx RT-PCR_Access Bio, Inc.^CareStart COVID-19 MDx RT-PCR^^^^^^^CareStart COVID-19 MDx RT-PCR_Access Bio, Inc.|^^MNI|20240605185458+0000||||Testing Lab^L^^^^CLIA&2.16.840.1.113883.4.7&ISO^XX^^^12D4567890|123 Beach Way^^Denver^OH^80210^USA +OBX|2|CWE|95419-8^Has symptoms related to condition of interest^LN^^^^2.69^^Has symptoms related to condition of interest||Y^Yes^HL70136||||||F|||20240605183958+0000|12D4567890^Testing Lab^CLIA||||||||Testing Lab^L^^^^CLIA&2.16.840.1.113883.4.7&ISO^XX^^^12D4567890|123 Beach Way^^Denver^OH^80210^USA|||||QST +OBX|3|DT|11368-8^Illness or injury onset date and time^LN^^^^^^Illness or injury onset date and time||20240601000000+0000||||||F|||20240605183958+0000|12D4567890^Testing Lab^CLIA||||||||Testing Lab^L^^^^CLIA&2.16.840.1.113883.4.7&ISO^XX^^^12D4567890|123 Beach Way^^Denver^OH^80210^USA|||||QST +OBX|4|CWE|82810-3^Pregnancy status^LN^^^^2.68^^Pregnancy status||60001007^Not pregnant^SCT||||||F|||20240605183958+0000|12D4567890^Testing Lab^CLIA||||||||Testing Lab^L^^^^CLIA&2.16.840.1.113883.4.7&ISO^XX^^^12D4567890|123 Beach Way^^Denver^OH^80210^USA|||||QST +OBX|5|CWE|95418-0^Employed in a healthcare setting^LN^^^^2.69^^Employed in a healthcare setting||Y^Yes^HL70136||||||F|||20240605183958+0000|12D4567890^Testing Lab^CLIA||||||||Testing Lab^L^^^^CLIA&2.16.840.1.113883.4.7&ISO^XX^^^12D4567890|123 Beach Way^^Denver^OH^80210^USA|||||QST +OBX|6|CWE|95421-4^Resides in a congregate care setting^LN^^^^2.69^^Resides in a congregate care setting||Y^Yes^HL70136||||||F|||20240605183958+0000|12D4567890^Testing Lab^CLIA||||||||Testing Lab^L^^^^CLIA&2.16.840.1.113883.4.7&ISO^XX^^^12D4567890|123 Beach Way^^Denver^OH^80210^USA|||||QST +SPM|1|0bab3f94-feb4-4915-939d-1adc5da201f3&Testing Lab&12D4567890&CLIA^0bab3f94-feb4-4915-939d-1adc5da201f3&Testing Lab&12D4567890&CLIA||258500001^Nasopharyngeal swab^SCT^^^^2.67^^Nasopharyngeal swab||||87100004^Topography unknown (body structure)^SCT^^^^^^Topography unknown (body structure)|||||||||20240605183958+0000|20240605183958+0000 From 87b1d07cd510aad8d22a5dc3eeaa78e5bd1514d1 Mon Sep 17 00:00:00 2001 From: Jessica Willis Date: Mon, 22 Jul 2024 11:16:18 -0400 Subject: [PATCH 03/12] Addressing PR feedback --- prime-router/settings/STLTs/OH/oh-doh.yml | 24 ++++--------------- .../STLTs/OH/OH-receiver-transform.yml | 2 +- 2 files changed, 5 insertions(+), 21 deletions(-) diff --git a/prime-router/settings/STLTs/OH/oh-doh.yml b/prime-router/settings/STLTs/OH/oh-doh.yml index 4330df9675a..8123ce57f63 100644 --- a/prime-router/settings/STLTs/OH/oh-doh.yml +++ b/prime-router/settings/STLTs/OH/oh-doh.yml @@ -21,7 +21,7 @@ topic: "full-elr" customerStatus: "active" translation: - schemaName: "azure:/metadata/hl7_mapping/receivers/STLTs/OH/OH-receiver-transform.yml" + schemaName: "azure:/hl7_mapping/receivers/STLTs/OH/OH-receiver-transform.yml" useTestProcessingMode: false useBatchHeaders: true receivingApplicationName: "OHDOH^2.16.840.1.114222.4.1.3674^ISO" @@ -30,15 +30,7 @@ receivingFacilityOID: "2.16.840.1.114222.4.1.3674" messageProfileId: null replaceValue: {} - replaceValueAwithB: - MSH-3: - - '*': "CDC PRIME - Atlanta, Georgia (Dekalb)^2.16.840.1.114222.4.1.237821^ISO" - MSH-4: - - '*': "CDC PRIME^36DSMP9999" - MSH-5: - - '*': "OHDOH^2.16.840.1.114222.4.1.3674^ISO" - MSH-6: - - '*': "OHDOH^2.16.840.1.114222.4.1.3674^ISO" + replaceValueAwithB: {} reportingFacilityName: "CDC PRIME" reportingFacilityId: "36DSMP9999" reportingFacilityIdType: null @@ -120,7 +112,7 @@ topic: "full-elr" customerStatus: "active" translation: - schemaName: "azure:/metadata/hl7_mapping/receivers/STLTs/OH/OH-receiver-transform.yml" + schemaName: "azure:/hl7_mapping/receivers/STLTs/OH/OH-receiver-transform.yml" useTestProcessingMode: false useBatchHeaders: true receivingApplicationName: "OHDOH^2.16.840.1.114222.4.1.3674^ISO" @@ -129,15 +121,7 @@ receivingFacilityOID: "2.16.840.1.114222.4.1.3674" messageProfileId: null replaceValue: {} - replaceValueAwithB: - MSH-3: - - '*': "CDC PRIME - Atlanta, Georgia (Dekalb)^2.16.840.1.114222.4.1.237821^ISO" - MSH-4: - - '*': "CDC PRIME^36DSMP9999" - MSH-5: - - '*': "OHDOH^2.16.840.1.114222.4.1.3674^ISO" - MSH-6: - - '*': "OHDOH^2.16.840.1.114222.4.1.3674^ISO" + replaceValueAwithB: {} reportingFacilityName: "CDC PRIME" reportingFacilityId: "36DSMP9999" reportingFacilityIdType: null diff --git a/prime-router/src/main/resources/metadata/hl7_mapping/receivers/STLTs/OH/OH-receiver-transform.yml b/prime-router/src/main/resources/metadata/hl7_mapping/receivers/STLTs/OH/OH-receiver-transform.yml index 4fa7562a8b1..95b52a46fba 100644 --- a/prime-router/src/main/resources/metadata/hl7_mapping/receivers/STLTs/OH/OH-receiver-transform.yml +++ b/prime-router/src/main/resources/metadata/hl7_mapping/receivers/STLTs/OH/OH-receiver-transform.yml @@ -30,7 +30,7 @@ elements: hl7Spec: [ '%{MSH}-4-1' ] - name: oh-sending-application-universal-id - value: [ '"6DSMP9999"' ] + value: [ '"36DSMP9999"' ] hl7Spec: [ '%{MSH}-4-2' ] - name: oh-receiving-application-namespace-id From 4e6a2040334aaa680969c3cdc6ce45f72e97085e Mon Sep 17 00:00:00 2001 From: Jessica Willis Date: Mon, 22 Jul 2024 14:22:03 -0400 Subject: [PATCH 04/12] Fixing routing filter --- prime-router/settings/STLTs/OH/oh-doh.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/prime-router/settings/STLTs/OH/oh-doh.yml b/prime-router/settings/STLTs/OH/oh-doh.yml index 8123ce57f63..e72b8222dc7 100644 --- a/prime-router/settings/STLTs/OH/oh-doh.yml +++ b/prime-router/settings/STLTs/OH/oh-doh.yml @@ -7,8 +7,7 @@ - topic: "covid-19" jurisdictionalFilter: [] qualityFilter: null - routingFilter: - - "matches(abnormal_flag, A)" + routingFilter: {} processingModeFilter: null conditionFilter: null mappedConditionFilter: null @@ -78,7 +77,8 @@ - "Bundle.entry.resource.ofType(Patient).where(address.line[0].empty() and address.postalCode.empty() and telecom.where(system = 'phone').value.empty() and telecom.where(system = 'email').value.empty()).count() = 0" - "((Bundle.entry.resource.ofType(Specimen).collection.collectedPeriod.exists() or Bundle.entry.resource.ofType(Specimen).collection.collected.exists()) or (Bundle.entry.resource.ofType(ServiceRequest).occurrence.exists() or Bundle.entry.resource.ofType(Observation).effective.exists()))" - routingFilter: [] + routingFilter: + - "Bundle.entry.resource.ofType(Observation).interpretation.coding.code = 'A'" processingModeFilter: [] reverseTheQualityFilter: false conditionFilter: @@ -169,7 +169,8 @@ - "Bundle.entry.resource.ofType(Patient).where(address.line[0].empty() and address.postalCode.empty() and telecom.where(system = 'phone').value.empty() and telecom.where(system = 'email').value.empty()).count() = 0" - "((Bundle.entry.resource.ofType(Specimen).collection.collectedPeriod.exists() or Bundle.entry.resource.ofType(Specimen).collection.collected.exists()) or (Bundle.entry.resource.ofType(ServiceRequest).occurrence.exists() or Bundle.entry.resource.ofType(Observation).effective.exists()))" - routingFilter: [] + routingFilter: + - "Bundle.entry.resource.ofType(Observation).interpretation.coding.code = 'A'" processingModeFilter: [] reverseTheQualityFilter: true conditionFilter: From 50c4de6c9b987bd23e2c8688c40bd7f51d0ca14a Mon Sep 17 00:00:00 2001 From: Jessica Willis Date: Tue, 23 Jul 2024 09:15:10 -0400 Subject: [PATCH 05/12] Addressing more PR feedback --- .../receivers/STLTs/OH/OH-receiver-transform.yml | 6 +++--- .../FHIR_to_HL7/sample_OH_20240718-0001.hl7 | 13 +------------ 2 files changed, 4 insertions(+), 15 deletions(-) diff --git a/prime-router/src/main/resources/metadata/hl7_mapping/receivers/STLTs/OH/OH-receiver-transform.yml b/prime-router/src/main/resources/metadata/hl7_mapping/receivers/STLTs/OH/OH-receiver-transform.yml index 95b52a46fba..30bf788954a 100644 --- a/prime-router/src/main/resources/metadata/hl7_mapping/receivers/STLTs/OH/OH-receiver-transform.yml +++ b/prime-router/src/main/resources/metadata/hl7_mapping/receivers/STLTs/OH/OH-receiver-transform.yml @@ -59,7 +59,7 @@ elements: - name: oh-unwanted-fields value: [ '""' ] - hl7Spec: [ '%{OBX}-23-11', '%{MSH}-19-1', '%{MSH}-19-2', '%{MSH}-19-3' ] + hl7Spec: [ '%{MSH}-19-1', '%{MSH}-19-2', '%{MSH}-19-3' ] - name: oh-race-unknown-as-blank resource: 'Bundle.entry.resource.ofType(Patient).extension("http://ibm.com/fhir/cdm/StructureDefinition/local-race-cd")' @@ -68,6 +68,6 @@ elements: hl7Spec: [ '%{PID}-10-1' , '%{PID}-10-2' , '%{PID}-10-3' , '%{PID}-10-7' , '%{PID}-10-9' ] - name: oh-suppress-qst-for-aoe - condition: '%resource.meta.tag.code="AOE"' + condition: 'Bundle.entry.resource.ofType(Observation).code.coding.extension("https://reportstream.cdc.gov/fhir/StructureDefinition/condition-code").value.code = "AOE"' value: [ '""' ] - hl7Spec: [ '%{hl7OBXField}-29' ] \ No newline at end of file + hl7Spec: [ '%{OBX}-29' ] \ No newline at end of file diff --git a/prime-router/src/testIntegration/resources/datatests/FHIR_to_HL7/sample_OH_20240718-0001.hl7 b/prime-router/src/testIntegration/resources/datatests/FHIR_to_HL7/sample_OH_20240718-0001.hl7 index 32c0dc242ad..273a03b891b 100644 --- a/prime-router/src/testIntegration/resources/datatests/FHIR_to_HL7/sample_OH_20240718-0001.hl7 +++ b/prime-router/src/testIntegration/resources/datatests/FHIR_to_HL7/sample_OH_20240718-0001.hl7 @@ -1,12 +1 @@ -MSH|^~\&|CDC PRIME - Atlanta, Georgia (Dekalb)^2.16.840.1.114222.4.1.237821^ISO|CDC PRIME^6DSMP9999^CLIA|OHDOH^2.16.840.1.114222.4.1.3674^ISO|OHDOH^2.16.840.1.114222.4.1.3674^ISO|20240605185501+0000||ORU^R01^ORU_R01|0bab3f94-feb4-4915-939d-1adc5da201f3|P|2.5.1|||NE|NE|USA|UNICODE UTF-8|||PHLabReport-NoAck^ELR_Receiver^2.16.840.1.113883.9.11^ISO -SFT|Centers for Disease Control and Prevention|0.2-SNAPSHOT|PRIME ReportStream|0.2-SNAPSHOT||20240605154252+0000 -PID|1||7c0d1de9-270e-4d9c-a4ec-af92560cec67^^^Testing Lab&12D4567890&CLIA^PI^Testing Lab&12D4567890&CLIA||Granger^Hermione^^^^^L||19900721|F||2028-9^asian^HL70005^^^^2.5.1^^asian|53 Buttonwood Ave^^Brooklyn^OH^11224^USA||(212) 555 1234^PRS^CP^^1^212^5551234^^^^^(212) 555 1234|||||||||N^Not Hispanic or Latino^HL70189^^^^2.9^^Not Hispanic or Latino||||||||N -ORC|RE|0bab3f94-feb4-4915-939d-1adc5da201f3^Testing Lab^12D4567890^CLIA|0bab3f94-feb4-4915-939d-1adc5da201f3^Testing Lab^12D4567890^CLIA|||||||||1245319599^McTester^Phil^^^^^^NPI&2.16.840.1.113883.4.6&ISO^L^^^NPI||(530) 867 5309^WPN^PH^^1^530^8675309^^^^^(530) 867 5309|20240605185458+0000||||||Testing Lab^L^^^^CLIA&2.16.840.1.113883.4.7&ISO^XX^^^12D4567890|123 Beach Way^^Denver^OH^80210^USA|(530) 867 5309^WPN^PH^^1^530^8675309^^^^^(530) 867 5309|321 Ocean Drive^^Denver^OH^80210^USA -OBR|1|0bab3f94-feb4-4915-939d-1adc5da201f3^Testing Lab^12D4567890^CLIA|0bab3f94-feb4-4915-939d-1adc5da201f3^Testing Lab^12D4567890^CLIA|94531-1^SARS-CoV-2 (COVID-19) RNA panel - Respiratory system specimen by NAA with probe detection^LN|||20240605183958+0000|||||||||1245319599^McTester^Phil^^^^^^NPI&2.16.840.1.113883.4.6&ISO^L^^^NPI|(530) 867 5309^WPN^PH^^1^530^8675309^^^^^(530) 867 5309|||||20240605185501+0000|||F -OBX|1|CWE|94500-6^SARS-CoV-2 (COVID-19) RNA [Presence] in Respiratory system specimen by NAA with probe detection^LN^^^^^^COVID-19||260373001^Detected^SCT|||A^Abnormal^HL70078^^^^2.7|||F|||20240605183958+0000|12D4567890^Testing Lab^CLIA||CareStart COVID-19 MDx RT-PCR_Access Bio, Inc.^CareStart COVID-19 MDx RT-PCR^^^^^^^CareStart COVID-19 MDx RT-PCR_Access Bio, Inc.|^^MNI|20240605185458+0000||||Testing Lab^L^^^^CLIA&2.16.840.1.113883.4.7&ISO^XX^^^12D4567890|123 Beach Way^^Denver^OH^80210^USA -OBX|2|CWE|95419-8^Has symptoms related to condition of interest^LN^^^^2.69^^Has symptoms related to condition of interest||Y^Yes^HL70136||||||F|||20240605183958+0000|12D4567890^Testing Lab^CLIA||||||||Testing Lab^L^^^^CLIA&2.16.840.1.113883.4.7&ISO^XX^^^12D4567890|123 Beach Way^^Denver^OH^80210^USA|||||QST -OBX|3|DT|11368-8^Illness or injury onset date and time^LN^^^^^^Illness or injury onset date and time||20240601000000+0000||||||F|||20240605183958+0000|12D4567890^Testing Lab^CLIA||||||||Testing Lab^L^^^^CLIA&2.16.840.1.113883.4.7&ISO^XX^^^12D4567890|123 Beach Way^^Denver^OH^80210^USA|||||QST -OBX|4|CWE|82810-3^Pregnancy status^LN^^^^2.68^^Pregnancy status||60001007^Not pregnant^SCT||||||F|||20240605183958+0000|12D4567890^Testing Lab^CLIA||||||||Testing Lab^L^^^^CLIA&2.16.840.1.113883.4.7&ISO^XX^^^12D4567890|123 Beach Way^^Denver^OH^80210^USA|||||QST -OBX|5|CWE|95418-0^Employed in a healthcare setting^LN^^^^2.69^^Employed in a healthcare setting||Y^Yes^HL70136||||||F|||20240605183958+0000|12D4567890^Testing Lab^CLIA||||||||Testing Lab^L^^^^CLIA&2.16.840.1.113883.4.7&ISO^XX^^^12D4567890|123 Beach Way^^Denver^OH^80210^USA|||||QST -OBX|6|CWE|95421-4^Resides in a congregate care setting^LN^^^^2.69^^Resides in a congregate care setting||Y^Yes^HL70136||||||F|||20240605183958+0000|12D4567890^Testing Lab^CLIA||||||||Testing Lab^L^^^^CLIA&2.16.840.1.113883.4.7&ISO^XX^^^12D4567890|123 Beach Way^^Denver^OH^80210^USA|||||QST -SPM|1|0bab3f94-feb4-4915-939d-1adc5da201f3&Testing Lab&12D4567890&CLIA^0bab3f94-feb4-4915-939d-1adc5da201f3&Testing Lab&12D4567890&CLIA||258500001^Nasopharyngeal swab^SCT^^^^2.67^^Nasopharyngeal swab||||87100004^Topography unknown (body structure)^SCT^^^^^^Topography unknown (body structure)|||||||||20240605183958+0000|20240605183958+0000 +MSH|^~\&|CDC PRIME - Atlanta, Georgia (Dekalb)^2.16.840.1.114222.4.1.237821^ISO|CDC PRIME^36DSMP9999^CLIA|OHDOH^2.16.840.1.114222.4.1.3674^ISO|OHDOH^2.16.840.1.114222.4.1.3674^ISO|20240605185501+0000||ORU^R01^ORU_R01|0bab3f94-feb4-4915-939d-1adc5da201f3|P|2.5.1|||NE|NE|USA|UNICODE UTF-8|||PHLabReport-NoAck^ELR_Receiver^2.16.840.1.113883.9.11^ISO SFT|Centers for Disease Control and Prevention|0.2-SNAPSHOT|PRIME ReportStream|0.2-SNAPSHOT||20240605154252+0000 PID|1||7c0d1de9-270e-4d9c-a4ec-af92560cec67^^^Testing Lab&12D4567890&CLIA^PI^Testing Lab&12D4567890&CLIA||Granger^Hermione^^^^^L||19900721|F||2028-9^asian^HL70005^^^^2.5.1^^asian|53 Buttonwood Ave^^Brooklyn^OH^11224^USA||(212) 555 1234^PRS^CP^^1^212^5551234^^^^^(212) 555 1234|||||||||N^Not Hispanic or Latino^HL70189^^^^2.9^^Not Hispanic or Latino||||||||N ORC|RE|0bab3f94-feb4-4915-939d-1adc5da201f3^Testing Lab^12D4567890^CLIA|0bab3f94-feb4-4915-939d-1adc5da201f3^Testing Lab^12D4567890^CLIA|||||||||1245319599^McTester^Phil^^^^^^NPI&2.16.840.1.113883.4.6&ISO^L^^^NPI||(530) 867 5309^WPN^PH^^1^530^8675309^^^^^(530) 867 5309|20240605185458+0000||||||Testing Lab^L^^^^CLIA&2.16.840.1.113883.4.7&ISO^XX^^^12D4567890|123 Beach Way^^Denver^OH^80210^USA|(530) 867 5309^WPN^PH^^1^530^8675309^^^^^(530) 867 5309|321 Ocean Drive^^Denver^OH^80210^USA OBR|1|0bab3f94-feb4-4915-939d-1adc5da201f3^Testing Lab^12D4567890^CLIA|0bab3f94-feb4-4915-939d-1adc5da201f3^Testing Lab^12D4567890^CLIA|94531-1^SARS-CoV-2 (COVID-19) RNA panel - Respiratory system specimen by NAA with probe detection^LN|||20240605183958+0000|||||||||1245319599^McTester^Phil^^^^^^NPI&2.16.840.1.113883.4.6&ISO^L^^^NPI|(530) 867 5309^WPN^PH^^1^530^8675309^^^^^(530) 867 5309|||||20240605185501+0000|||F OBX|1|CWE|94500-6^SARS-CoV-2 (COVID-19) RNA [Presence] in Respiratory system specimen by NAA with probe detection^LN^^^^^^COVID-19||260373001^Detected^SCT|||A^Abnormal^HL70078^^^^2.7|||F|||20240605183958+0000|12D4567890^Testing Lab^CLIA||CareStart COVID-19 MDx RT-PCR_Access Bio, Inc.^CareStart COVID-19 MDx RT-PCR^^^^^^^CareStart COVID-19 MDx RT-PCR_Access Bio, Inc.|^^MNI|20240605185458+0000||||Testing Lab^L^^^^CLIA&2.16.840.1.113883.4.7&ISO^XX^^^12D4567890|123 Beach Way^^Denver^OH^80210^USA OBX|2|CWE|95419-8^Has symptoms related to condition of interest^LN^^^^2.69^^Has symptoms related to condition of interest||Y^Yes^HL70136||||||F|||20240605183958+0000|12D4567890^Testing Lab^CLIA||||||||Testing Lab^L^^^^CLIA&2.16.840.1.113883.4.7&ISO^XX^^^12D4567890|123 Beach Way^^Denver^OH^80210^USA|||||QST OBX|3|DT|11368-8^Illness or injury onset date and time^LN^^^^^^Illness or injury onset date and time||20240601000000+0000||||||F|||20240605183958+0000|12D4567890^Testing Lab^CLIA||||||||Testing Lab^L^^^^CLIA&2.16.840.1.113883.4.7&ISO^XX^^^12D4567890|123 Beach Way^^Denver^OH^80210^USA|||||QST OBX|4|CWE|82810-3^Pregnancy status^LN^^^^2.68^^Pregnancy status||60001007^Not pregnant^SCT||||||F|||20240605183958+0000|12D4567890^Testing Lab^CLIA||||||||Testing Lab^L^^^^CLIA&2.16.840.1.113883.4.7&ISO^XX^^^12D4567890|123 Beach Way^^Denver^OH^80210^USA|||||QST OBX|5|CWE|95418-0^Employed in a healthcare setting^LN^^^^2.69^^Employed in a healthcare setting||Y^Yes^HL70136||||||F|||20240605183958+0000|12D4567890^Testing Lab^CLIA||||||||Testing Lab^L^^^^CLIA&2.16.840.1.113883.4.7&ISO^XX^^^12D4567890|123 Beach Way^^Denver^OH^80210^USA|||||QST OBX|6|CWE|95421-4^Resides in a congregate care setting^LN^^^^2.69^^Resides in a congregate care setting||Y^Yes^HL70136||||||F|||20240605183958+0000|12D4567890^Testing Lab^CLIA||||||||Testing Lab^L^^^^CLIA&2.16.840.1.113883.4.7&ISO^XX^^^12D4567890|123 Beach Way^^Denver^OH^80210^USA|||||QST SPM|1|0bab3f94-feb4-4915-939d-1adc5da201f3&Testing Lab&12D4567890&CLIA^0bab3f94-feb4-4915-939d-1adc5da201f3&Testing Lab&12D4567890&CLIA||258500001^Nasopharyngeal swab^SCT^^^^2.67^^Nasopharyngeal swab||||87100004^Topography unknown (body structure)^SCT^^^^^^Topography unknown (body structure)|||||||||20240605183958+0000|20240605183958+0000 \ No newline at end of file From 4906d55e32bc005583db78b7ef04807263387e27 Mon Sep 17 00:00:00 2001 From: Jessica Willis Date: Wed, 24 Jul 2024 07:07:54 -0400 Subject: [PATCH 06/12] Moved a filter to the condition filter --- prime-router/settings/STLTs/OH/oh-doh.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/prime-router/settings/STLTs/OH/oh-doh.yml b/prime-router/settings/STLTs/OH/oh-doh.yml index e72b8222dc7..0b12aab4270 100644 --- a/prime-router/settings/STLTs/OH/oh-doh.yml +++ b/prime-router/settings/STLTs/OH/oh-doh.yml @@ -169,11 +169,11 @@ - "Bundle.entry.resource.ofType(Patient).where(address.line[0].empty() and address.postalCode.empty() and telecom.where(system = 'phone').value.empty() and telecom.where(system = 'email').value.empty()).count() = 0" - "((Bundle.entry.resource.ofType(Specimen).collection.collectedPeriod.exists() or Bundle.entry.resource.ofType(Specimen).collection.collected.exists()) or (Bundle.entry.resource.ofType(ServiceRequest).occurrence.exists() or Bundle.entry.resource.ofType(Observation).effective.exists()))" - routingFilter: - - "Bundle.entry.resource.ofType(Observation).interpretation.coding.code = 'A'" + routingFilter: [] processingModeFilter: [] reverseTheQualityFilter: true conditionFilter: + - "Bundle.entry.resource.ofType(Observation).interpretation.coding.code = 'A'" # Accept COVID only - "(%resource.code.coding.extension('https://reportstream.cdc.gov/fhir/StructureDefinition/condition-code').value.where(code in ('840539006')).exists())" mappedConditionFilter: [] From 48987b950e2079bb063d2d6ee265bf7df8ac0da8 Mon Sep 17 00:00:00 2001 From: Jessica Willis Date: Fri, 26 Jul 2024 11:31:34 -0400 Subject: [PATCH 07/12] Fixing condition filter --- prime-router/settings/STLTs/OH/oh-doh.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/prime-router/settings/STLTs/OH/oh-doh.yml b/prime-router/settings/STLTs/OH/oh-doh.yml index 0b12aab4270..ff102b621b6 100644 --- a/prime-router/settings/STLTs/OH/oh-doh.yml +++ b/prime-router/settings/STLTs/OH/oh-doh.yml @@ -173,9 +173,8 @@ processingModeFilter: [] reverseTheQualityFilter: true conditionFilter: - - "Bundle.entry.resource.ofType(Observation).interpretation.coding.code = 'A'" # Accept COVID only - - "(%resource.code.coding.extension('https://reportstream.cdc.gov/fhir/StructureDefinition/condition-code').value.where(code in ('840539006')).exists())" + - "Bundle.entry.resource.ofType(Observation).interpretation.coding.code = 'A' and (%resource.code.coding.extension('https://reportstream.cdc.gov/fhir/StructureDefinition/condition-code').value.where(code in ('840539006')).exists())" mappedConditionFilter: [] deidentify: false deidentifiedValue: "" From b461370f97518d2f7c3e41774e9030a036d50ac7 Mon Sep 17 00:00:00 2001 From: Jessica Willis Date: Mon, 29 Jul 2024 09:43:12 -0400 Subject: [PATCH 08/12] Fixing the issue with observation transforms not reaching each one --- .../receivers/STLTs/OH/OH-observation-fields.yml | 7 +++++++ .../receivers/STLTs/OH/OH-receiver-transform.yml | 7 ++++--- 2 files changed, 11 insertions(+), 3 deletions(-) create mode 100644 prime-router/src/main/resources/metadata/hl7_mapping/receivers/STLTs/OH/OH-observation-fields.yml diff --git a/prime-router/src/main/resources/metadata/hl7_mapping/receivers/STLTs/OH/OH-observation-fields.yml b/prime-router/src/main/resources/metadata/hl7_mapping/receivers/STLTs/OH/OH-observation-fields.yml new file mode 100644 index 00000000000..e61120f780e --- /dev/null +++ b/prime-router/src/main/resources/metadata/hl7_mapping/receivers/STLTs/OH/OH-observation-fields.yml @@ -0,0 +1,7 @@ +constants: + OBX: '/PATIENT_RESULT/ORDER_OBSERVATION/OBSERVATION(%{resultIndex})/OBX' + +elements: + - name: oh-suppress-qst-for-aoe + value: [ '""' ] + hl7Spec: [ '%{OBX}-29' ] \ No newline at end of file diff --git a/prime-router/src/main/resources/metadata/hl7_mapping/receivers/STLTs/OH/OH-receiver-transform.yml b/prime-router/src/main/resources/metadata/hl7_mapping/receivers/STLTs/OH/OH-receiver-transform.yml index 30bf788954a..faaedba46ed 100644 --- a/prime-router/src/main/resources/metadata/hl7_mapping/receivers/STLTs/OH/OH-receiver-transform.yml +++ b/prime-router/src/main/resources/metadata/hl7_mapping/receivers/STLTs/OH/OH-receiver-transform.yml @@ -67,7 +67,8 @@ elements: value: [ '""' ] hl7Spec: [ '%{PID}-10-1' , '%{PID}-10-2' , '%{PID}-10-3' , '%{PID}-10-7' , '%{PID}-10-9' ] - - name: oh-suppress-qst-for-aoe + - name: oh-observation + resource: Bundle.entry.resource.ofType(Observation) condition: 'Bundle.entry.resource.ofType(Observation).code.coding.extension("https://reportstream.cdc.gov/fhir/StructureDefinition/condition-code").value.code = "AOE"' - value: [ '""' ] - hl7Spec: [ '%{OBX}-29' ] \ No newline at end of file + schema: classpath:/metadata/hl7_mapping/receivers/STLTs/OH/OH-observation-fields.yml + resourceIndex: resultIndex \ No newline at end of file From 3f66057486bc062b514197e7b07cf31b375b23e9 Mon Sep 17 00:00:00 2001 From: Jessica Willis Date: Mon, 29 Jul 2024 11:00:40 -0400 Subject: [PATCH 09/12] one more --- prime-router/settings/STLTs/OH/oh-doh.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/prime-router/settings/STLTs/OH/oh-doh.yml b/prime-router/settings/STLTs/OH/oh-doh.yml index ff102b621b6..26b8a4a0a2d 100644 --- a/prime-router/settings/STLTs/OH/oh-doh.yml +++ b/prime-router/settings/STLTs/OH/oh-doh.yml @@ -77,13 +77,12 @@ - "Bundle.entry.resource.ofType(Patient).where(address.line[0].empty() and address.postalCode.empty() and telecom.where(system = 'phone').value.empty() and telecom.where(system = 'email').value.empty()).count() = 0" - "((Bundle.entry.resource.ofType(Specimen).collection.collectedPeriod.exists() or Bundle.entry.resource.ofType(Specimen).collection.collected.exists()) or (Bundle.entry.resource.ofType(ServiceRequest).occurrence.exists() or Bundle.entry.resource.ofType(Observation).effective.exists()))" - routingFilter: - - "Bundle.entry.resource.ofType(Observation).interpretation.coding.code = 'A'" + routingFilter: [] processingModeFilter: [] reverseTheQualityFilter: false conditionFilter: - # Accept COVID only - "(%resource.code.coding.extension('https://reportstream.cdc.gov/fhir/StructureDefinition/condition-code').value.where(code in ('840539006')).exists())" + "(%resource.where(interpretation.coding.code = 'A)'.code.coding.extension('https://reportstream.cdc.gov/fhir/StructureDefinition/condition-code').value.where(code in ('840539006')).exists())" mappedConditionFilter: [] deidentify: false deidentifiedValue: "" From b3384147c531e29467c487f3d521ddbb715db076 Mon Sep 17 00:00:00 2001 From: Jessica Willis Date: Mon, 29 Jul 2024 13:35:40 -0400 Subject: [PATCH 10/12] Fixing error in oh-doh.yml --- prime-router/settings/STLTs/OH/oh-doh.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prime-router/settings/STLTs/OH/oh-doh.yml b/prime-router/settings/STLTs/OH/oh-doh.yml index 26b8a4a0a2d..ab13c3772c2 100644 --- a/prime-router/settings/STLTs/OH/oh-doh.yml +++ b/prime-router/settings/STLTs/OH/oh-doh.yml @@ -77,7 +77,7 @@ - "Bundle.entry.resource.ofType(Patient).where(address.line[0].empty() and address.postalCode.empty() and telecom.where(system = 'phone').value.empty() and telecom.where(system = 'email').value.empty()).count() = 0" - "((Bundle.entry.resource.ofType(Specimen).collection.collectedPeriod.exists() or Bundle.entry.resource.ofType(Specimen).collection.collected.exists()) or (Bundle.entry.resource.ofType(ServiceRequest).occurrence.exists() or Bundle.entry.resource.ofType(Observation).effective.exists()))" - routingFilter: [] + routingFilter: null processingModeFilter: [] reverseTheQualityFilter: false conditionFilter: From 5fd7ba3317d8bb55d1895cb3e93cef9e353d5984 Mon Sep 17 00:00:00 2001 From: Jessica Willis Date: Tue, 30 Jul 2024 11:15:44 -0400 Subject: [PATCH 11/12] Fixing error in doh ym file --- prime-router/settings/STLTs/OH/oh-doh.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/prime-router/settings/STLTs/OH/oh-doh.yml b/prime-router/settings/STLTs/OH/oh-doh.yml index ab13c3772c2..cf8cb665a2c 100644 --- a/prime-router/settings/STLTs/OH/oh-doh.yml +++ b/prime-router/settings/STLTs/OH/oh-doh.yml @@ -7,7 +7,7 @@ - topic: "covid-19" jurisdictionalFilter: [] qualityFilter: null - routingFilter: {} + routingFilter: [] processingModeFilter: null conditionFilter: null mappedConditionFilter: null @@ -77,7 +77,7 @@ - "Bundle.entry.resource.ofType(Patient).where(address.line[0].empty() and address.postalCode.empty() and telecom.where(system = 'phone').value.empty() and telecom.where(system = 'email').value.empty()).count() = 0" - "((Bundle.entry.resource.ofType(Specimen).collection.collectedPeriod.exists() or Bundle.entry.resource.ofType(Specimen).collection.collected.exists()) or (Bundle.entry.resource.ofType(ServiceRequest).occurrence.exists() or Bundle.entry.resource.ofType(Observation).effective.exists()))" - routingFilter: null + routingFilter: [] processingModeFilter: [] reverseTheQualityFilter: false conditionFilter: @@ -167,7 +167,7 @@ # Patient has at least a street address(PID-11-1), postal code (PID-11-5),phone(PID-13) or email(PID-13-4) - "Bundle.entry.resource.ofType(Patient).where(address.line[0].empty() and address.postalCode.empty() and telecom.where(system = 'phone').value.empty() and telecom.where(system = 'email').value.empty()).count() = 0" - "((Bundle.entry.resource.ofType(Specimen).collection.collectedPeriod.exists() or Bundle.entry.resource.ofType(Specimen).collection.collected.exists()) - or (Bundle.entry.resource.ofType(ServiceRequest).occurrence.exists() or Bundle.entry.resource.ofType(Observation).effective.exists()))" + or (Bundle.entry.resource.ofType(ServiceRequest).occurrence.exists() or Bundle.entry.resource.ofType(Observation).effective.exists()))" routingFilter: [] processingModeFilter: [] reverseTheQualityFilter: true From 24a7b6a604b2cf7433880b771fc90150e5dc7812 Mon Sep 17 00:00:00 2001 From: Jessica Willis Date: Tue, 30 Jul 2024 12:06:01 -0400 Subject: [PATCH 12/12] fixing another issue with the yml file --- prime-router/settings/STLTs/OH/oh-doh.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/prime-router/settings/STLTs/OH/oh-doh.yml b/prime-router/settings/STLTs/OH/oh-doh.yml index cf8cb665a2c..7a3ed11809a 100644 --- a/prime-router/settings/STLTs/OH/oh-doh.yml +++ b/prime-router/settings/STLTs/OH/oh-doh.yml @@ -81,8 +81,8 @@ processingModeFilter: [] reverseTheQualityFilter: false conditionFilter: - - # Accept COVID only - "(%resource.where(interpretation.coding.code = 'A)'.code.coding.extension('https://reportstream.cdc.gov/fhir/StructureDefinition/condition-code').value.where(code in ('840539006')).exists())" + # Accept COVID only + - "%resource.interpretation.coding.code = 'A' and (%resource.code.coding.extension('https://reportstream.cdc.gov/fhir/StructureDefinition/condition-code').value.where(code in ('840539006')).exists())" mappedConditionFilter: [] deidentify: false deidentifiedValue: ""