diff --git a/prime-router/settings/STLTs/AL/al-phl.yml b/prime-router/settings/STLTs/AL/al-phl.yml deleted file mode 100644 index 500a2f1ab89..00000000000 --- a/prime-router/settings/STLTs/AL/al-phl.yml +++ /dev/null @@ -1,55 +0,0 @@ -# Alabama Public Health Lab settings for staging -# -# To load the settings to staging, run: -# ./prime login --env staging -# ./prime multiple-settings set --env staging --input ./settings/STLTs/AL/al-phl.yml -# -# To add the sender key in staging: -# ./prime organization addkey --env staging --public-key /path/to/public/key.pem --scope "al-phl.*.report" --orgName al-phl --kid al-phl.etor-nbs-results --doit -# -# To submit an order to al-phl, in staging: -# Note: replace the TOKEN with the auth JWT and the path to the FHIR message to send -# curl -H 'Authorization: Bearer TOKEN' -H 'Client: flexion.etor-service-sender' -H 'Content-Type: application/fhir+ndjson' --data-binary '@/path/to/oml.fhir' 'https://staging.prime.cdc.gov/api/waters' -# -# To submit a result from al-phl, in staging: -# curl -H 'Authorization: Bearer TOKEN' -H 'Client: al-phl.etor-nbs-results' -H 'Content-Type: application/hl7-v2' --data-binary '@/path/to/oru.hl7' 'https://staging.prime.cdc.gov/api/waters' ---- -- name: "al-phl" - description: "Alabama Public Health Lab" - jurisdiction: "STATE" - stateCode: "AL" - senders: - - name: "etor-nbs-results" - organizationName: "al-phl" - topic: "etor-ti" - customerStatus: "active" - format: "HL7" - receivers: - - name: "etor-nbs-orders" - organizationName: "al-phl" - topic: "etor-ti" - customerStatus: "active" - 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(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: - operation: "MERGE" - numberPerDay: 1440 - initialTime: "00:00" - timeZone: "EASTERN" - maxReportCount: 100 - translation: - type: "HL7" - schemaName: "classpath:/metadata/hl7_mapping/receivers/Flexion/etor-oml-receiver-transform.yml" - useBatchHeaders: false - receivingApplicationName: "AL-PHL" - receivingFacilityName: "AL" - transport: - host: "ph.state.al.us" - port: "22" - filePath: "./" - credentialName: null - type: "SFTP" \ No newline at end of file diff --git a/prime-router/settings/STLTs/CA/ca-phl.yml b/prime-router/settings/STLTs/CA/ca-phl.yml index 36bc6e6ac4a..30e3f2c28d6 100644 --- a/prime-router/settings/STLTs/CA/ca-phl.yml +++ b/prime-router/settings/STLTs/CA/ca-phl.yml @@ -20,6 +20,6 @@ organizationName: "ca-phl" topic: "etor-ti" customerStatus: "active" - schemaName: classpath:/metadata/fhir_transforms/senders/Flexion/cdph-nbs-sender-transform.yml + schemaName: "classpath:/metadata/fhir_transforms/senders/Flexion/cdph-nbs-sender-transform.yml" format: "HL7" receivers: [] diff --git a/prime-router/settings/STLTs/CA/ucsd.yml b/prime-router/settings/STLTs/CA/ucsd.yml index 2d5afa6e39d..bacfc9b602b 100644 --- a/prime-router/settings/STLTs/CA/ucsd.yml +++ b/prime-router/settings/STLTs/CA/ucsd.yml @@ -25,11 +25,11 @@ receivingApplicationName: "EPIC-INNERCONNECT" receivingFacilityName: "CA" 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 (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) + - "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).meta.tag.where(system = 'http://terminology.hl7.org/CodeSystem/v2-0103').code in ('T' | 'P')" # partner processing ids (MSH-11) + - "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) qualityFilter: - "true" timing: diff --git a/prime-router/settings/STLTs/Flexion/flexion.yml b/prime-router/settings/STLTs/Flexion/flexion.yml index ffaf0ebaf79..f736c5ff2eb 100644 --- a/prime-router/settings/STLTs/Flexion/flexion.yml +++ b/prime-router/settings/STLTs/Flexion/flexion.yml @@ -8,9 +8,10 @@ # ./prime multiple-settings set --env staging --input ./settings/STLTs/Flexion/flexion.yml # # To add the sender keys in staging: -# ./prime organization addkey --env staging --public-key /path/to/public/key.pem --scope "flexion.*.report" --orgName flexion --kid flexion.simulated-hospital --doit # ./prime organization addkey --env staging --public-key /path/to/public/key.pem --scope "flexion.*.report" --orgName flexion --kid flexion.etor-service-sender --doit +# ./prime organization addkey --env staging --public-key /path/to/public/key.pem --scope "flexion.*.report" --orgName flexion --kid flexion.simulated-hospital --doit # ./prime organization addkey --env staging --public-key /path/to/public/key.pem --scope "flexion.*.report" --orgName flexion --kid flexion.simulated-lab --doit +# ./prime organization addkey --env staging --public-key /path/to/public/key.pem --scope "flexion.*.report" --orgName flexion --kid flexion.simulated-sender --doit # # To submit an order or result to flexion.simulated-lab or flexion.simulated-hospital, in staging: # Note: replace the TOKEN with the auth JWT and the path to the FHIR message to send @@ -46,12 +47,13 @@ topic: "etor-ti" customerStatus: "active" format: "HL7" - # Sender used for automated tests in staging - - name: "automated-staging-test-sender" + # Sender used for local tests and automated tests in staging + - name: "simulated-sender" organizationName: "flexion" topic: "etor-ti" customerStatus: "active" format: "HL7" + schemaName: "classpath:/metadata/fhir_transforms/senders/Flexion/automated-testing-etor.yml" receivers: # ETOR Service Receiver for orders - Routes ORM_O01 and OML_O21 FHIR orders to TI orders endpoint - name: "etor-service-receiver-orders" @@ -59,8 +61,8 @@ 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.exists(system = 'http://localcodes.org/ETOR').not()" # required to avoid looping issue + - "(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.exists(system = 'http://localcodes.org/ETOR').not()" # required to avoid looping issue qualityFilter: - "true" timing: @@ -97,8 +99,8 @@ topic: "etor-ti" customerStatus: "active" jurisdictionalFilter: - - "Bundle.entry.resource.ofType(MessageHeader).event.code = 'R01'" # ORU_R01 - - "Bundle.entry.resource.ofType(MessageHeader).meta.tag.exists(system = 'http://localcodes.org/ETOR').not()" # required to avoid looping issue + - "Bundle.entry.resource.ofType(MessageHeader).event.code = 'R01'" # ORU_R01 + - "Bundle.entry.resource.ofType(MessageHeader).meta.tag.exists(system = 'http://localcodes.org/ETOR').not()" # required to avoid looping issue qualityFilter: - "true" timing: @@ -133,9 +135,9 @@ 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 = 'simulated-hospital-id'" # receiver routing filter (MSH-6.2) + - "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).meta.tag.where(system = 'http://terminology.hl7.org/CodeSystem/v2-0103').code = 'D'" # internal test processing id (MSH-11) qualityFilter: - "true" timing: @@ -147,21 +149,15 @@ schemaName: "classpath:/metadata/hl7_mapping/ORU_R01/ORU_R01-base.yml" useTestProcessingMode: false useBatchHeaders: false - transport: - type: "SFTP" - host: "172.17.6.20" # use "sftp" if running locally - port: 22 - filePath: "./upload" - credentialName: null # use "DEFAULT-SFTP" if running locally # Simulated State Public Health Lab Receiver: converts OML_O21 from FHIR to HL7 and routes the message to the SFTP folder - name: "simulated-lab" organizationName: "flexion" topic: "etor-ti" customerStatus: "active" 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(extension.value = 'HD.2,HD.3').value = 'simulated-lab-id'" # receiver routing filter (MSH-6.2) + - "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).meta.tag.where(system = 'http://terminology.hl7.org/CodeSystem/v2-0103').code = 'D'" # internal test processing id (MSH-11) qualityFilter: - "true" timing: @@ -173,20 +169,14 @@ schemaName: "classpath:/metadata/hl7_mapping/receivers/Flexion/etor-oml-receiver-transform.yml" useTestProcessingMode: false useBatchHeaders: false - transport: - type: "SFTP" - host: "172.17.6.20" # use "sftp" if running locally - 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) + - "(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).meta.tag.where(system = 'http://terminology.hl7.org/CodeSystem/v2-0103').code = 'N'" # automated test processing id (MSH-11) qualityFilter: - "true" timing: @@ -207,10 +197,9 @@ 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) + - "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).meta.tag.where(system = 'http://terminology.hl7.org/CodeSystem/v2-0103').code = 'N'" # automated test processing id (MSH-11) qualityFilter: - "true" timing: diff --git a/prime-router/settings/STLTs/LA/la-ochsner.yml b/prime-router/settings/STLTs/LA/la-ochsner.yml index 0e4f8c2efd6..f013303ed67 100644 --- a/prime-router/settings/STLTs/LA/la-ochsner.yml +++ b/prime-router/settings/STLTs/LA/la-ochsner.yml @@ -34,9 +34,10 @@ schemaName: "classpath:/metadata/hl7_mapping/ORU_R01/ORU_R01-base.yml" useBatchHeaders: false 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).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) + - "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).meta.tag.where(system = 'http://terminology.hl7.org/CodeSystem/v2-0103').code in ('T' | 'P')" # partner processing ids (MSH-11) + - "Bundle.entry.resource.ofType(MessageHeader).destination.extension.where(url = 'https://reportstream.cdc.gov/fhir/StructureDefinition/universal-id').value = '1.2.840.114350.1.13.286.2.7.2.695071'" # receiver routing filter (MSH-5.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 006e500f903..17b8e1e5373 100644 --- a/prime-router/settings/STLTs/LA/la-phl.yml +++ b/prime-router/settings/STLTs/LA/la-phl.yml @@ -30,9 +30,10 @@ topic: "etor-ti" customerStatus: "active" 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.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) + - "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).meta.tag.where(system = 'http://terminology.hl7.org/CodeSystem/v2-0103').code in ('T' | 'P')" # partner processing ids (MSH-11) + - "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 deleted file mode 100644 index 4d4608b8848..00000000000 --- a/prime-router/settings/STLTs/Oracle/oracle-rln.yml +++ /dev/null @@ -1,60 +0,0 @@ -# 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 -# -# To add the sender key in staging: -# ./prime organization addkey --env staging --public-key /path/to/public/key.pem --scope "oracle-rln.*.report" --orgName oracle-rln --kid oracle-rln.etor-nbs-orders --doit -# -# To submit a result to oracle-rln, in staging: -# Note: replace the TOKEN with the auth JWT and the path to the FHIR message to send -# curl -H 'Authorization: Bearer TOKEN' -H 'Client: flexion.etor-service-sender' -H 'Content-Type: application/fhir+ndjson' --data-binary '@/path/to/oru.fhir' 'https://staging.prime.cdc.gov/api/waters' -# -# To submit an order from la-ochsner, in staging: -# curl -H 'Authorization: Bearer TOKEN' -H 'Client: oracle-rln.etor-nbs-orders' -H 'Content-Type: application/hl7-v2' --data-binary '@/path/to/order.hl7' 'https://staging.prime.cdc.gov/api/waters' ---- -- name: "oracle-rln" - description: "Oracle RLN" - jurisdiction: "FEDERAL" - senders: - - name: "etor-nbs-orders" - organizationName: "oracle-rln" - topic: "etor-ti" - customerStatus: "active" - format: "HL7" - receivers: - - name: "etor-nbs-results" - organizationName: "oracle-rln" - topic: "etor-ti" - customerStatus: "active" - translation: - type: "HL7" - schemaName: "classpath:/metadata/hl7_mapping/ORU_R01/ORU_R01-base.yml" - useBatchHeaders: false - 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).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: - operation: "MERGE" - numberPerDay: 1440 - initialTime: "00:00" - timeZone: "EASTERN" - maxReportCount: 100 - description: "" - transport: - type: "REST" - reportUrl: "https://spaces.erxhubdevcert.cerner.com/etor" - authType: "apiKey" - authTokenUrl: "" - tlsKeystore: null - headers: - Content-Type: "text/plain" - shared-api-key: "From Vault"