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

Add sender and receiver settings for TI automated staging test #15725

Merged
merged 15 commits into from
Oct 1, 2024
Merged
Show file tree
Hide file tree
Changes from all 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
2 changes: 1 addition & 1 deletion prime-router/settings/STLTs/AL/al-phl.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
jurisdictionalFilter:
- "Bundle.entry.resource.ofType(MessageHeader).event.code = 'O21'" # OML_O21
- "Bundle.entry.resource.ofType(MessageHeader).meta.tag.where(system = 'http://localcodes.org/ETOR').code = 'ETOR'" # required to avoid looping issue with TI
- "Bundle.entry.resource.ofType(MessageHeader).destination.receiver.resolve().identifier.where(value = '2.16.840.1.114222.4.3.26.1.1').exists()" # receiver routing filter
- "Bundle.entry.resource.ofType(MessageHeader).destination.receiver.resolve().identifier.where(extension.value = 'HD.2,HD.3').value = '2.16.840.1.114222.4.3.26.1.1'" # receiver routing filter (MSH-6.2)
qualityFilter:
- "true"
timing:
Expand Down
5 changes: 3 additions & 2 deletions prime-router/settings/STLTs/CA/ucsd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,9 @@
jurisdictionalFilter:
- "Bundle.entry.resource.ofType(MessageHeader).event.code = 'R01'" # ORU_R01
- "Bundle.entry.resource.ofType(MessageHeader).meta.tag.where(system = 'http://localcodes.org/ETOR').code = 'ETOR'" # required to avoid looping issue with TI
- "Bundle.entry.resource.ofType(MessageHeader).sender.resolve().identifier.where(value = 'CDPH').exists()" # sender routing filter
- "Bundle.entry.resource.ofType(DiagnosticReport)[0].basedOn.resolve().requester.resolve().organization.resolve().extension.where(url = 'https://reportstream.cdc.gov/fhir/StructureDefinition/xon-organization').extension.where(url = 'XON.10').value in ('R797' | 'R508')" # receiver routing filter
- "Bundle.entry.resource.ofType(MessageHeader).sender.resolve().identifier.where(value = 'CDPH').exists()" # sender routing filter (MSH-4.1)
- "Bundle.entry.resource.ofType(MessageHeader).destination.receiver.resolve().identifier.where(extension.value = 'HD.1').value in ('R797' | 'R508')" # receiver routing filter (MSH-6.1)
- "Bundle.identifier.value.contains('AUTOMATEDTEST-').not()" # exclude flexion automated test messages (MSH-10)
qualityFilter:
- "true"
timing:
Expand Down
57 changes: 55 additions & 2 deletions prime-router/settings/STLTs/Flexion/flexion.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,12 @@
topic: "etor-ti"
customerStatus: "active"
format: "HL7"
# Sender used for automated tests in staging
- name: "automated-staging-test-sender"
organizationName: "flexion"
topic: "etor-ti"
customerStatus: "active"
format: "HL7"
receivers:
# ETOR Service Receiver for orders - Routes ORM_O01 and OML_O21 FHIR orders to TI orders endpoint
- name: "etor-service-receiver-orders"
Expand Down Expand Up @@ -129,7 +135,7 @@
jurisdictionalFilter:
- "Bundle.entry.resource.ofType(MessageHeader).event.code = 'R01'" # ORU_R01
- "Bundle.entry.resource.ofType(MessageHeader).meta.tag.where(system = 'http://localcodes.org/ETOR').code = 'ETOR'" # required to avoid looping issue
- "Bundle.entry.resource.ofType(MessageHeader).destination.receiver.resolve().identifier.where(value = 'simulated-hospital-id').exists()" # receiver routing filter
- "Bundle.entry.resource.ofType(MessageHeader).destination.receiver.resolve().identifier.where(extension.value = 'HD.2,HD.3').value = 'simulated-hospital-id'" # receiver routing filter (MSH-6.2)
qualityFilter:
- "true"
timing:
Expand All @@ -155,7 +161,7 @@
jurisdictionalFilter:
- "Bundle.entry.resource.ofType(MessageHeader).event.code = 'O21'" # OML_O21
- "Bundle.entry.resource.ofType(MessageHeader).meta.tag.where(system = 'http://localcodes.org/ETOR').code = 'ETOR'" # required to avoid looping issue
- "Bundle.entry.resource.ofType(MessageHeader).destination.receiver.resolve().identifier.where(value = 'simulated-lab-id').exists()" # receiver routing filter
- "Bundle.entry.resource.ofType(MessageHeader).destination.receiver.resolve().identifier.where(extension.value = 'HD.2,HD.3').value = 'simulated-lab-id'" # receiver routing filter (MSH-6.2)
qualityFilter:
- "true"
timing:
Expand All @@ -173,3 +179,50 @@
port: 22
filePath: "./upload"
credentialName: null # use "DEFAULT-SFTP" if running locally
- name: "automated-staging-test-receiver-orders"
organizationName: "flexion"
topic: "etor-ti"
customerStatus: "active"
jurisdictionalFilter:
- "(Bundle.entry.resource.ofType(MessageHeader).event.code = 'O01') or (Bundle.entry.resource.ofType(MessageHeader).event.code = 'O21')" # ORM_O01 or OML_O21
- "Bundle.entry.resource.ofType(MessageHeader).meta.tag.where(system = 'http://localcodes.org/ETOR').code = 'ETOR'" # required to avoid looping issue
- "Bundle.entry.resource.ofType(MessageHeader).destination.receiver.resolve().identifier.where(extension.value = 'HD.2,HD.3').value = 'automated-staging-test-receiver-id'" # receiver routing filter (MSH-6.2)
qualityFilter:
- "true"
timing:
operation: "MERGE"
numberPerDay: 1440 # Every minute
initialTime: "00:00"
translation:
type: "HL7"
schemaName: "classpath:/metadata/hl7_mapping/receivers/Flexion/etor-oml-receiver-transform.yml"
useTestProcessingMode: false
useBatchHeaders: false
transport:
type: "BLOBSTORE"
storageName: "cdctiautomated"
containerName: "automated"
- name: "automated-staging-test-receiver-results"
organizationName: "flexion"
topic: "etor-ti"
customerStatus: "active"
jurisdictionalFilter:
- "Bundle.entry.resource.ofType(MessageHeader).event.code = 'R01'" # ORU_R01
- "Bundle.entry.resource.ofType(MessageHeader).meta.tag.where(system = 'http://localcodes.org/ETOR').code = 'ETOR'" # required to avoid looping issue
- "(Bundle.entry.resource.ofType(MessageHeader).destination.receiver.resolve().identifier.where(extension.value = 'HD.2,HD.3').value = 'automated-staging-test-receiver-id')
or (Bundle.identifier.value.contains('AUTOMATEDTEST-'))" # receiver routing filter (MSH-6.2 or MSH-10)
qualityFilter:
- "true"
timing:
operation: "MERGE"
numberPerDay: 1440 # Every minute
initialTime: "00:00"
translation:
type: "HL7"
schemaName: "classpath:/metadata/hl7_mapping/ORU_R01/ORU_R01-base.yml"
useTestProcessingMode: false
useBatchHeaders: false
transport:
type: "BLOBSTORE"
storageName: "cdctiautomated"
containerName: "automated"
3 changes: 1 addition & 2 deletions prime-router/settings/STLTs/LA/la-ochsner.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,7 @@
jurisdictionalFilter:
- "Bundle.entry.resource.ofType(MessageHeader).event.code = 'R01'" # ORU_R01
- "Bundle.entry.resource.ofType(MessageHeader).meta.tag.where(system = 'http://localcodes.org/ETOR').code = 'ETOR'" # required to avoid looping issue with TI
# Pending: add correct filter(s) for routing
- "Bundle.entry.resource.ofType(MessageHeader).destination.receiver.resolve().identifier.where(value = 'la-ochsner-simulated-lab-id').exists()"
- "Bundle.entry.resource.ofType(MessageHeader).destination.receiver.resolve().identifier.where(extension.value = 'HD.2,HD.3').value = '1.2.840.114350.1.13.286.2.7.2.695071'" # receiver routing filter (MSH-6.2)
qualityFilter:
- "true"
timing:
Expand Down
2 changes: 1 addition & 1 deletion prime-router/settings/STLTs/LA/la-phl.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
jurisdictionalFilter:
- "Bundle.entry.resource.ofType(MessageHeader).event.code = 'O21'" # OML_O21
- "Bundle.entry.resource.ofType(MessageHeader).meta.tag.where(system = 'http://localcodes.org/ETOR').code = 'ETOR'" # required to avoid looping issue with TI
- "Bundle.entry.resource.ofType(MessageHeader).destination.receiver.resolve().identifier.where(value = '2.16.840.1.114222.4.3.26.3.2').exists()" # receiver routing filter
- "Bundle.entry.resource.ofType(MessageHeader).destination.extension.where(url = 'https://reportstream.cdc.gov/fhir/StructureDefinition/universal-id').value = '2.16.840.1.114222.4.3.26.3.2'" # receiver routing filter (MSH-5.2)
qualityFilter:
- "true"
timing:
Expand Down
19 changes: 7 additions & 12 deletions prime-router/settings/STLTs/Oracle/oracle-rln.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Oracle RLN settings in staging
#
# Oracle RLN is defined at the Federal level and will route the message to its final destination
# Partners using Oracle RLN are:
# - Baptist in Alabama
#
# To load the settings in staging, run:
# ./prime login --env staging
# ./prime multiple-settings set --env staging --input ./settings/STLTs/Oracle/oracle-rln.yml
Expand Down Expand Up @@ -35,8 +39,7 @@
jurisdictionalFilter:
- "Bundle.entry.resource.ofType(MessageHeader).event.code = 'R01'" # ORU_R01
- "Bundle.entry.resource.ofType(MessageHeader).meta.tag.where(system = 'http://localcodes.org/ETOR').code = 'ETOR'" # required to avoid looping issue with TI
# Pending: add correct filter(s) for routing
- "Bundle.entry.resource.ofType(MessageHeader).destination.receiver.resolve().identifier.where(value = 'oracle-rln-simulated-lab-id').exists()"
- "Bundle.entry.resource.ofType(MessageHeader).destination.receiver.resolve().identifier.where(extension.value = 'HD.2,HD.3').value in ('2.16.840.1.113883.3.1898' | '2.16.840.1.113883.3.1899')" # receiver routing filter (MSH-6.2)
qualityFilter:
- "true"
timing:
Expand All @@ -47,19 +50,11 @@
maxReportCount: 100
description: ""
transport:
type: "REST"
reportUrl: "https://spaces.erxhubdevcert.cerner.com/etor"
authTokenUrl: ""
encryptionKeyUrl: ""
authType: "apiKey"
authTokenUrl: ""
tlsKeystore: null
parameters: {}
jwtParams: {}
headers:
Content-Type: "text/plain"
shared-api-key: "From Vault"
authHeaders: {}
type: "REST"
externalName: null
enrichmentSchemaNames: []
timeZone: null
dateTimeFormat: "OFFSET"