From 036d0559ccf85a63640b745c060a54e4632b1c40 Mon Sep 17 00:00:00 2001 From: Basilio Bogado <541149+basiliskus@users.noreply.github.com> Date: Wed, 28 Aug 2024 10:51:39 -0700 Subject: [PATCH 01/12] Added sender and receiver settings for automated staging test --- .../settings/STLTs/Flexion/flexion.yml | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/prime-router/settings/STLTs/Flexion/flexion.yml b/prime-router/settings/STLTs/Flexion/flexion.yml index 79751aed681..a961d27b299 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" @@ -173,3 +179,27 @@ port: 22 filePath: "./upload" credentialName: null # use "DEFAULT-SFTP" if running locally + - name: "automated-staging-test-receiver" + organizationName: "flexion" + topic: "etor-ti" + customerStatus: "active" + jurisdictionalFilter: + - "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 = 'automated-staging-test-receiver-id').exists()" # receiver routing filter + 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: "SFTP" + host: "172.17.6.20" + port: 22 + filePath: "./upload" + credentialName: null From 7c80a36e532620181bc3150b40aa81c96c44e407 Mon Sep 17 00:00:00 2001 From: Basilio Bogado <541149+basiliskus@users.noreply.github.com> Date: Wed, 28 Aug 2024 10:54:14 -0700 Subject: [PATCH 02/12] Fixed state for ca-phl --- prime-router/settings/STLTs/CA/ca-phl.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prime-router/settings/STLTs/CA/ca-phl.yml b/prime-router/settings/STLTs/CA/ca-phl.yml index 852cce78ff1..cb66c7b1199 100644 --- a/prime-router/settings/STLTs/CA/ca-phl.yml +++ b/prime-router/settings/STLTs/CA/ca-phl.yml @@ -14,7 +14,7 @@ - name: "ca-phl" description: "California Public Health Lab" jurisdiction: "STATE" - stateCode: "AL" + stateCode: "CA" senders: - name: "etor-nbs-results" organizationName: "ca-phl" From 11aa8caa08837e6012088d73ff2ffcc1d672a9c4 Mon Sep 17 00:00:00 2001 From: Basilio Bogado <541149+basiliskus@users.noreply.github.com> Date: Wed, 28 Aug 2024 10:56:07 -0700 Subject: [PATCH 03/12] Added missing oracle-rln settings --- .../settings/STLTs/Oracle/oracle-rln.yml | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/prime-router/settings/STLTs/Oracle/oracle-rln.yml b/prime-router/settings/STLTs/Oracle/oracle-rln.yml index 150e2a1126b..46208f42ee4 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(value = '2.16.840.1.113883.3.1899').exists()" qualityFilter: - "true" timing: @@ -46,8 +49,9 @@ timeZone: "EASTERN" maxReportCount: 100 transport: - type: "SFTP" - host: "172.17.6.20" - port: 22 - filePath: "./upload" - credentialName: null + type: "REST" + reportUrl: "https://spaces.erxhubdevcert.cerner.com/etor" + authTokenUrl: "" + headers: + Content-Type: "text/plain" + shared-api-key: "" From d2e7a3552e14e7b130c5d8b1e9792d07ec76813a Mon Sep 17 00:00:00 2001 From: Basilio Bogado <541149+basiliskus@users.noreply.github.com> Date: Wed, 28 Aug 2024 11:46:15 -0700 Subject: [PATCH 04/12] Updated receiver transport to use blobstore transport --- prime-router/settings/STLTs/Flexion/flexion.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/prime-router/settings/STLTs/Flexion/flexion.yml b/prime-router/settings/STLTs/Flexion/flexion.yml index a961d27b299..730a21f7bd0 100644 --- a/prime-router/settings/STLTs/Flexion/flexion.yml +++ b/prime-router/settings/STLTs/Flexion/flexion.yml @@ -198,8 +198,6 @@ useTestProcessingMode: false useBatchHeaders: false transport: - type: "SFTP" - host: "172.17.6.20" - port: 22 - filePath: "./upload" - credentialName: null + type: "BLOBSTORE" + storageName: "cdctiautomatedstg" + containerName: "final" From 61a4e8133025d787789cd61f8283206d2fcc1c55 Mon Sep 17 00:00:00 2001 From: Basilio Bogado <541149+basiliskus@users.noreply.github.com> Date: Wed, 4 Sep 2024 12:12:40 -0700 Subject: [PATCH 05/12] Updated blob container name --- prime-router/settings/STLTs/Flexion/flexion.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prime-router/settings/STLTs/Flexion/flexion.yml b/prime-router/settings/STLTs/Flexion/flexion.yml index 730a21f7bd0..9c6c3ffbb8c 100644 --- a/prime-router/settings/STLTs/Flexion/flexion.yml +++ b/prime-router/settings/STLTs/Flexion/flexion.yml @@ -200,4 +200,4 @@ transport: type: "BLOBSTORE" storageName: "cdctiautomatedstg" - containerName: "final" + containerName: "automated" From acd90b8d01c653d559cb54a5577cdaaf6863e642 Mon Sep 17 00:00:00 2001 From: Basilio Bogado <541149+basiliskus@users.noreply.github.com> Date: Fri, 6 Sep 2024 08:13:27 -0700 Subject: [PATCH 06/12] Added receiver for results + some more fixes --- .../settings/STLTs/Flexion/flexion.yml | 30 +++++++++++++++++-- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/prime-router/settings/STLTs/Flexion/flexion.yml b/prime-router/settings/STLTs/Flexion/flexion.yml index 9c6c3ffbb8c..edc5db61b67 100644 --- a/prime-router/settings/STLTs/Flexion/flexion.yml +++ b/prime-router/settings/STLTs/Flexion/flexion.yml @@ -159,7 +159,7 @@ topic: "etor-ti" customerStatus: "active" jurisdictionalFilter: - - "Bundle.entry.resource.ofType(MessageHeader).event.code = 'O21'" # OML_O21 + - "(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(value = 'simulated-lab-id').exists()" # receiver routing filter qualityFilter: @@ -179,11 +179,12 @@ port: 22 filePath: "./upload" credentialName: null # use "DEFAULT-SFTP" if running locally - - name: "automated-staging-test-receiver" + - 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(value = 'automated-staging-test-receiver-id').exists()" # receiver routing filter qualityFilter: @@ -199,5 +200,28 @@ useBatchHeaders: false transport: type: "BLOBSTORE" - storageName: "cdctiautomatedstg" + 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(value = 'automated-staging-test-receiver-id').exists()" # receiver routing filter + 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" From 454fbf181cffcaa4bb5c160711936e0b14d53eeb Mon Sep 17 00:00:00 2001 From: Basilio Bogado <541149+basiliskus@users.noreply.github.com> Date: Thu, 12 Sep 2024 11:21:55 -0700 Subject: [PATCH 07/12] Added receiver OID for Oracle RLN --- prime-router/settings/STLTs/Oracle/oracle-rln.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prime-router/settings/STLTs/Oracle/oracle-rln.yml b/prime-router/settings/STLTs/Oracle/oracle-rln.yml index 10fd74cd1b2..7968c4b0f5f 100644 --- a/prime-router/settings/STLTs/Oracle/oracle-rln.yml +++ b/prime-router/settings/STLTs/Oracle/oracle-rln.yml @@ -39,7 +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 - - "Bundle.entry.resource.ofType(MessageHeader).destination.receiver.resolve().identifier.where(value = '2.16.840.1.113883.3.1899').exists()" + - "Bundle.entry.resource.ofType(MessageHeader).destination.receiver.resolve().identifier.value in ('2.16.840.1.113883.3.1898' | '2.16.840.1.113883.3.1899')" qualityFilter: - "true" timing: From 49eead2f0809df996a55dda495aafb12871b85bc Mon Sep 17 00:00:00 2001 From: Basilio Bogado <541149+basiliskus@users.noreply.github.com> Date: Fri, 20 Sep 2024 10:24:01 -0700 Subject: [PATCH 08/12] Reverted update as we separated this change into another PR --- prime-router/settings/STLTs/CA/ca-phl.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prime-router/settings/STLTs/CA/ca-phl.yml b/prime-router/settings/STLTs/CA/ca-phl.yml index cb66c7b1199..852cce78ff1 100644 --- a/prime-router/settings/STLTs/CA/ca-phl.yml +++ b/prime-router/settings/STLTs/CA/ca-phl.yml @@ -14,7 +14,7 @@ - name: "ca-phl" description: "California Public Health Lab" jurisdiction: "STATE" - stateCode: "CA" + stateCode: "AL" senders: - name: "etor-nbs-results" organizationName: "ca-phl" From 3a220e394570f7cb38684b99673a75e92db149ee Mon Sep 17 00:00:00 2001 From: Basilio Bogado <541149+basiliskus@users.noreply.github.com> Date: Tue, 24 Sep 2024 12:08:32 -0700 Subject: [PATCH 09/12] Updated org settings to route messages for the automated tests Co-authored-by: Sylvie --- prime-router/settings/STLTs/CA/ucsd.yml | 1 + prime-router/settings/STLTs/Flexion/flexion.yml | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/prime-router/settings/STLTs/CA/ucsd.yml b/prime-router/settings/STLTs/CA/ucsd.yml index 9fc21982661..61b2685d188 100644 --- a/prime-router/settings/STLTs/CA/ucsd.yml +++ b/prime-router/settings/STLTs/CA/ucsd.yml @@ -29,6 +29,7 @@ - "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.identifier.value.contains('AUTOMATEDTEST-').not()" # exclude flexion automated test messages qualityFilter: - "true" timing: diff --git a/prime-router/settings/STLTs/Flexion/flexion.yml b/prime-router/settings/STLTs/Flexion/flexion.yml index edc5db61b67..56f545e80ac 100644 --- a/prime-router/settings/STLTs/Flexion/flexion.yml +++ b/prime-router/settings/STLTs/Flexion/flexion.yml @@ -159,7 +159,7 @@ 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).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 qualityFilter: @@ -209,7 +209,8 @@ 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 = 'automated-staging-test-receiver-id').exists()" # receiver routing filter + - "(Bundle.entry.resource.ofType(MessageHeader).destination.receiver.resolve().identifier.where(value = 'automated-staging-test-receiver-id').exists()) + or (Bundle.identifier.value.contains('AUTOMATEDTEST-'))" # receiver routing filter qualityFilter: - "true" timing: From dcb9acb7875deb8dafcbcd943911cf756f3ebd36 Mon Sep 17 00:00:00 2001 From: Basilio Bogado <541149+basiliskus@users.noreply.github.com> Date: Tue, 24 Sep 2024 15:08:08 -0700 Subject: [PATCH 10/12] Refined the fhirpath to apply filter correctly --- prime-router/settings/STLTs/Oracle/oracle-rln.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prime-router/settings/STLTs/Oracle/oracle-rln.yml b/prime-router/settings/STLTs/Oracle/oracle-rln.yml index 7968c4b0f5f..1828d415624 100644 --- a/prime-router/settings/STLTs/Oracle/oracle-rln.yml +++ b/prime-router/settings/STLTs/Oracle/oracle-rln.yml @@ -39,7 +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 - - "Bundle.entry.resource.ofType(MessageHeader).destination.receiver.resolve().identifier.value in ('2.16.840.1.113883.3.1898' | '2.16.840.1.113883.3.1899')" + - "Bundle.entry.resource.ofType(MessageHeader).destination.receiver.resolve().identifier.where(extension('https://reportstream.cdc.gov/fhir/StructureDefinition/hl7v2Field').value = 'HD.2,HD.3').value in ('2.16.840.1.113883.3.1898' | '2.16.840.1.113883.3.1899')" qualityFilter: - "true" timing: From f1d9020519a46487e1fb676206c47f6e88e947ff Mon Sep 17 00:00:00 2001 From: Basilio Bogado <541149+basiliskus@users.noreply.github.com> Date: Wed, 25 Sep 2024 13:23:10 -0700 Subject: [PATCH 11/12] Fixed fhirpaths and added comments to call out the HL7 fields used for routing --- prime-router/settings/STLTs/AL/al-phl.yml | 2 +- prime-router/settings/STLTs/CA/ucsd.yml | 6 +++--- prime-router/settings/STLTs/Flexion/flexion.yml | 10 +++++----- prime-router/settings/STLTs/LA/la-ochsner.yml | 2 +- prime-router/settings/STLTs/LA/la-phl.yml | 2 +- prime-router/settings/STLTs/Oracle/oracle-rln.yml | 2 +- 6 files changed, 12 insertions(+), 12 deletions(-) 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 61b2685d188..2d5afa6e39d 100644 --- a/prime-router/settings/STLTs/CA/ucsd.yml +++ b/prime-router/settings/STLTs/CA/ucsd.yml @@ -27,9 +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.identifier.value.contains('AUTOMATEDTEST-').not()" # exclude flexion automated test messages + - "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 56f545e80ac..ffaf0ebaf79 100644 --- a/prime-router/settings/STLTs/Flexion/flexion.yml +++ b/prime-router/settings/STLTs/Flexion/flexion.yml @@ -135,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: @@ -161,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: @@ -186,7 +186,7 @@ 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(value = 'automated-staging-test-receiver-id').exists()" # receiver routing filter + - "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: @@ -209,8 +209,8 @@ 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 = 'automated-staging-test-receiver-id').exists()) - or (Bundle.identifier.value.contains('AUTOMATEDTEST-'))" # receiver routing filter + - "(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: diff --git a/prime-router/settings/STLTs/LA/la-ochsner.yml b/prime-router/settings/STLTs/LA/la-ochsner.yml index f9b3760c68b..e422ef03c40 100644 --- a/prime-router/settings/STLTs/LA/la-ochsner.yml +++ b/prime-router/settings/STLTs/LA/la-ochsner.yml @@ -37,7 +37,7 @@ - "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 = 'la-ochsner-simulated-lab-id'" # 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 1828d415624..4d4608b8848 100644 --- a/prime-router/settings/STLTs/Oracle/oracle-rln.yml +++ b/prime-router/settings/STLTs/Oracle/oracle-rln.yml @@ -39,7 +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 - - "Bundle.entry.resource.ofType(MessageHeader).destination.receiver.resolve().identifier.where(extension('https://reportstream.cdc.gov/fhir/StructureDefinition/hl7v2Field').value = 'HD.2,HD.3').value in ('2.16.840.1.113883.3.1898' | '2.16.840.1.113883.3.1899')" + - "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: From 50528ce5e09f741c180707ef2c7b8b9b32e74367 Mon Sep 17 00:00:00 2001 From: Basilio Bogado <541149+basiliskus@users.noreply.github.com> Date: Mon, 30 Sep 2024 14:15:44 -0700 Subject: [PATCH 12/12] Remove comment --- prime-router/settings/STLTs/LA/la-ochsner.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/prime-router/settings/STLTs/LA/la-ochsner.yml b/prime-router/settings/STLTs/LA/la-ochsner.yml index e422ef03c40..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(extension.value = 'HD.2,HD.3').value = 'la-ochsner-simulated-lab-id'" # receiver routing filter (MSH-6.2) + - "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: