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

Carbon Health Onboarding - Test MO #16944

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 34 additions & 27 deletions prime-router/settings/STLTs/MO/mo-phd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,10 @@
replaceUnicodeWithAscii: false
useBlankInsteadOfUnknown: null
truncateHDNamespaceIds: true
truncateHl7Fields: "MSH-3-1, PID-3-3, PID-3-6, ORC-2-2, ORC-7-10-5, OBR-2-2,\
\ OBR-3-2, SPM-2-1-2, SPM-2-2-2, ORC-21-1, OBX-23-1, BX-15.1, OBX-23.10 "
oslynn marked this conversation as resolved.
Show resolved Hide resolved
usePid14ForPatientEmail: false
convertTimestampToDateTime: null
convertTimestampToDateTime: "true"
cliaForOutOfStateTesting: null
cliaForSender: {}
phoneNumberFormatting: "STANDARD"
Expand All @@ -48,51 +50,53 @@
receivingOrganization: null
convertPositiveDateTimeOffsetToNegative: false
stripInvalidCharsRegex: null
convertDateTimesToReceiverLocalTime: false
convertDateTimesToReceiverLocalTime: true
useHighPrecisionHeaderDateTimeFormat: false
type: "HL7"
truncationConfig:
truncateHDNamespaceIds: true
truncateHl7Fields:
- "MSH-3-1"
- "PID-3-3"
- "PID-3-6"
- "ORC-2-2"
- "ORC-7-10-5"
- "OBR-2-2"
- "OBR-3-2"
- "SPM-2-1-2"
- "SPM-2-2-2"
- "ORC-21-1"
- "OBX-23-1"
- "OBX-15-1"
- "OBX-23-1"
- "OBX-23-10"
- "ORC-2-2"
- "ORC-21-1"
- "ORC-7-10-5"
- "PID-3-3"
- "PID-3-6"
- "SPM-2-1-2"
- "SPM-2-2-2"
customLengthHl7Fields: {}
jurisdictionalFilter:
- "(Bundle.entry.resource.ofType(ServiceRequest)[0].requester.resolve().organization.resolve().address.state = 'MO') or (Bundle.entry.resource.ofType(Patient).address.state = 'MO')"
- "(Bundle.entry.resource.ofType(ServiceRequest)[0].requester.resolve().organization.resolve().address.state\
\ = 'MO') or (Bundle.entry.resource.ofType(Patient).address.state = 'MO')"
qualityFilter:
# Message id is not empty (MSH-10)
- "Bundle.identifier.value.exists()"
- "((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()))"
- "Bundle.entry.resource.ofType(Patient).birthDate.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(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).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()))"
- "Bundle.identifier.value.exists()"
routingFilter: []
processingModeFilter: []
reverseTheQualityFilter: false
conditionFilter:
# Positive COVID (840539006), Positive COVID-antibody (895448002) Positive MPOX (414015000)
- "%resource.where(interpretation.coding.code = 'A').code.coding.extension('https://reportstream.cdc.gov/fhir/StructureDefinition/condition-code').value.where(code in ('840539006'|'895448002'|'414015000')).exists()"
- "%resource.where(interpretation.coding.code = 'A').code.coding.extension('https://reportstream.cdc.gov/fhir/StructureDefinition/condition-code').value.where(code\
\ in ('414015000'|'840539006'|'895448002')).exists()"
mappedConditionFilter: []
deidentify: false
deidentifiedValue: ""
timing:
operation: "MERGE"
numberPerDay: 12
numberPerDay: 1440
initialTime: "01:20"
timeZone: "EASTERN"
maxReportCount: 100
Expand All @@ -101,11 +105,14 @@
onlyOncePerDay: false
description: ""
transport:
type: SFTP
host: sftp
port: 22
filePath: ./upload
credentialName: DEFAULT-SFTP
enrichmentSchemaNames: []
host: "sftp"
port: "22"
filePath: "./upload"
credentialName: "DEFAULT-SFTP"
type: "SFTP"
externalName: null
enrichmentSchemaNames:
- "classpath:/metadata/fhir_transforms/common/handle-aoe-unknown-value/handle-aoe-unknown-value.yml"
- "classpath:/metadata/fhir_transforms/common/datetime-to-local-us-central.yml"
timeZone: "CENTRAL"
dateTimeFormat: "LOCAL"
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
elements:
- name: hl7-datetime-to-local
resource: "Bundle.descendants().where(url='https://reportstream.cdc.gov/fhir/StructureDefinition/hl7v2-date-time')"
bundleProperty: "%resource.value[x]"
value: ["%resource.value.changeTimezone('US/Central','LOCAL')"]

- name: message-date-time-to-local
resource: 'Bundle.entry.resource.ofType(MessageHeader).extension("https://reportstream.cdc.gov/fhir/StructureDefinition/msh-message-header").extension("MSH.7")'
condition: '%resource.value.exists()'
bundleProperty: '%resource.value[x]'
value: ["%resource.value.changeTimezone('US/Central','LOCAL')"]

Loading