diff --git a/prime-router/settings/STLTs/AL/al-phl.yml b/prime-router/settings/STLTs/AL/al-phl.yml index c5ac1c61408..500a2f1ab89 100644 --- a/prime-router/settings/STLTs/AL/al-phl.yml +++ b/prime-router/settings/STLTs/AL/al-phl.yml @@ -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: diff --git a/prime-router/settings/STLTs/CA/ucsd.yml b/prime-router/settings/STLTs/CA/ucsd.yml index 9fc21982661..2d5afa6e39d 100644 --- a/prime-router/settings/STLTs/CA/ucsd.yml +++ b/prime-router/settings/STLTs/CA/ucsd.yml @@ -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: diff --git a/prime-router/settings/STLTs/Flexion/flexion.yml b/prime-router/settings/STLTs/Flexion/flexion.yml index 79751aed681..ffaf0ebaf79 100644 --- a/prime-router/settings/STLTs/Flexion/flexion.yml +++ b/prime-router/settings/STLTs/Flexion/flexion.yml @@ -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" @@ -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: @@ -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: @@ -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" diff --git a/prime-router/settings/STLTs/LA/la-ochsner.yml b/prime-router/settings/STLTs/LA/la-ochsner.yml index f9b3760c68b..0e4f8c2efd6 100644 --- a/prime-router/settings/STLTs/LA/la-ochsner.yml +++ b/prime-router/settings/STLTs/LA/la-ochsner.yml @@ -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: diff --git a/prime-router/settings/STLTs/LA/la-phl.yml b/prime-router/settings/STLTs/LA/la-phl.yml index b51f111570a..006e500f903 100644 --- a/prime-router/settings/STLTs/LA/la-phl.yml +++ b/prime-router/settings/STLTs/LA/la-phl.yml @@ -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: diff --git a/prime-router/settings/STLTs/Oracle/oracle-rln.yml b/prime-router/settings/STLTs/Oracle/oracle-rln.yml index bc6b9639009..4d4608b8848 100644 --- a/prime-router/settings/STLTs/Oracle/oracle-rln.yml +++ b/prime-router/settings/STLTs/Oracle/oracle-rln.yml @@ -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 @@ -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: @@ -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"