diff --git a/frontend-react/package.json b/frontend-react/package.json index a1a5e5ea824..f01e69902a5 100644 --- a/frontend-react/package.json +++ b/frontend-react/package.json @@ -144,8 +144,8 @@ "@types/react-router-dom": "^5.3.3", "@types/react-scroll-sync": "^0.9.0", "@types/sanitize-html": "^2.13.0", - "@typescript-eslint/eslint-plugin": "^8.10.0", - "@typescript-eslint/parser": "^8.10.0", + "@typescript-eslint/eslint-plugin": "^8.11.0", + "@typescript-eslint/parser": "^8.11.0", "@vitejs/plugin-react": "^4.3.3", "@vitest/coverage-istanbul": "^2.1.3", "@vitest/ui": "^2.1.3", @@ -190,7 +190,7 @@ "tslib": "^2.8.0", "typescript": "^5.6.3", "undici": "^6.20.1", - "vite": "^5.4.9", + "vite": "^5.4.10", "vite-plugin-checker": "^0.8.0", "vite-plugin-svgr": "^4.2.0", "vitest": "^2.1.3" diff --git a/frontend-react/yarn.lock b/frontend-react/yarn.lock index 9c0111280a8..95debdbdaf1 100644 --- a/frontend-react/yarn.lock +++ b/frontend-react/yarn.lock @@ -3032,15 +3032,15 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:^8.10.0": - version: 8.10.0 - resolution: "@typescript-eslint/eslint-plugin@npm:8.10.0" +"@typescript-eslint/eslint-plugin@npm:^8.11.0": + version: 8.11.0 + resolution: "@typescript-eslint/eslint-plugin@npm:8.11.0" dependencies: "@eslint-community/regexpp": ^4.10.0 - "@typescript-eslint/scope-manager": 8.10.0 - "@typescript-eslint/type-utils": 8.10.0 - "@typescript-eslint/utils": 8.10.0 - "@typescript-eslint/visitor-keys": 8.10.0 + "@typescript-eslint/scope-manager": 8.11.0 + "@typescript-eslint/type-utils": 8.11.0 + "@typescript-eslint/utils": 8.11.0 + "@typescript-eslint/visitor-keys": 8.11.0 graphemer: ^1.4.0 ignore: ^5.3.1 natural-compare: ^1.4.0 @@ -3051,25 +3051,25 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 2bb311eb9a882d530fc94f790f3e1f4745cd4e3523fd8d62ee0ed14d65c4230dc0c797c490c3421c1456fd71349e9bfa146c0b78f63860b75aae6e2a32a6c27c + checksum: 5cfc337a957b1c1a868f0f05ed278d4b631aab3aad037c1ca52f458973dee53c2f79db5cb3ac0278d3a4d2846560335212e347c4b978efd84811d6c910e93975 languageName: node linkType: hard -"@typescript-eslint/parser@npm:^8.10.0": - version: 8.10.0 - resolution: "@typescript-eslint/parser@npm:8.10.0" +"@typescript-eslint/parser@npm:^8.11.0": + version: 8.11.0 + resolution: "@typescript-eslint/parser@npm:8.11.0" dependencies: - "@typescript-eslint/scope-manager": 8.10.0 - "@typescript-eslint/types": 8.10.0 - "@typescript-eslint/typescript-estree": 8.10.0 - "@typescript-eslint/visitor-keys": 8.10.0 + "@typescript-eslint/scope-manager": 8.11.0 + "@typescript-eslint/types": 8.11.0 + "@typescript-eslint/typescript-estree": 8.11.0 + "@typescript-eslint/visitor-keys": 8.11.0 debug: ^4.3.4 peerDependencies: eslint: ^8.57.0 || ^9.0.0 peerDependenciesMeta: typescript: optional: true - checksum: 2e38f34d9d044e251450116cc081a8f84ba13183e9c3e1dda919ddc00eebe634a37d4dfd785998f259b64cdd770e863ecc6c5cf7c8f422baf3d2bc2a0f9241cf + checksum: b7664933df72e150289889e16f10f042d427d8334786ce33fa2e0d2fd2fbf31a52c6e88f9b6b9a864f4e78c7b60cd52c034886eb1fa82893d69434bcd4f7e173 languageName: node linkType: hard @@ -3093,16 +3093,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:8.10.0": - version: 8.10.0 - resolution: "@typescript-eslint/scope-manager@npm:8.10.0" - dependencies: - "@typescript-eslint/types": 8.10.0 - "@typescript-eslint/visitor-keys": 8.10.0 - checksum: 3df8df342e227b80514dcc9151774dea9a71bc649204f702d5b4a1b76a54b4814c5d5a970a6a9213462dd4df0d42342796fab35549e8663d4c0e5d84bd902bba - languageName: node - linkType: hard - "@typescript-eslint/scope-manager@npm:8.11.0": version: 8.11.0 resolution: "@typescript-eslint/scope-manager@npm:8.11.0" @@ -3113,18 +3103,18 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:8.10.0": - version: 8.10.0 - resolution: "@typescript-eslint/type-utils@npm:8.10.0" +"@typescript-eslint/type-utils@npm:8.11.0": + version: 8.11.0 + resolution: "@typescript-eslint/type-utils@npm:8.11.0" dependencies: - "@typescript-eslint/typescript-estree": 8.10.0 - "@typescript-eslint/utils": 8.10.0 + "@typescript-eslint/typescript-estree": 8.11.0 + "@typescript-eslint/utils": 8.11.0 debug: ^4.3.4 ts-api-utils: ^1.3.0 peerDependenciesMeta: typescript: optional: true - checksum: 8b0cec8cff1926a08c2bd675b24b2ccff36e59a8d9169eed38343f70c4e3bba18796fc39f30a9307ded3f345881aded80dbd6dc1d78b9ae76cff04fbe8708788 + checksum: 74704ee811de343ea2d349a16eec53b6cc8f2b5720510bf327e10667304c48410af78b9ec7aee5d43924a3f6c268cc2cddb7a0606f20c62391b0d7045d8b6264 languageName: node linkType: hard @@ -3142,13 +3132,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/types@npm:8.10.0": - version: 8.10.0 - resolution: "@typescript-eslint/types@npm:8.10.0" - checksum: 3839fd43b0f21b432a9f6090a39d5b2254ee48c1eecf14f8f66bea0cbaba9f2f33a7fc78aea37dfe8841442332d0a8f99cc65cd2d01ca43db99550d30d6f7fe8 - languageName: node - linkType: hard - "@typescript-eslint/types@npm:8.11.0": version: 8.11.0 resolution: "@typescript-eslint/types@npm:8.11.0" @@ -3193,25 +3176,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:8.10.0": - version: 8.10.0 - resolution: "@typescript-eslint/typescript-estree@npm:8.10.0" - dependencies: - "@typescript-eslint/types": 8.10.0 - "@typescript-eslint/visitor-keys": 8.10.0 - debug: ^4.3.4 - fast-glob: ^3.3.2 - is-glob: ^4.0.3 - minimatch: ^9.0.4 - semver: ^7.6.0 - ts-api-utils: ^1.3.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 3fc774f51d0a891a5e09bc77f5544b6aa268abec9c01cd9ec831f92dde9c9d61a5c818ca2800c124fb5d61d40ce7ac34740b347c21ba3493e756c052084afd65 - languageName: node - linkType: hard - "@typescript-eslint/typescript-estree@npm:8.11.0": version: 8.11.0 resolution: "@typescript-eslint/typescript-estree@npm:8.11.0" @@ -3231,17 +3195,17 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.10.0": - version: 8.10.0 - resolution: "@typescript-eslint/utils@npm:8.10.0" +"@typescript-eslint/utils@npm:8.11.0, @typescript-eslint/utils@npm:^8.8.1": + version: 8.11.0 + resolution: "@typescript-eslint/utils@npm:8.11.0" dependencies: "@eslint-community/eslint-utils": ^4.4.0 - "@typescript-eslint/scope-manager": 8.10.0 - "@typescript-eslint/types": 8.10.0 - "@typescript-eslint/typescript-estree": 8.10.0 + "@typescript-eslint/scope-manager": 8.11.0 + "@typescript-eslint/types": 8.11.0 + "@typescript-eslint/typescript-estree": 8.11.0 peerDependencies: eslint: ^8.57.0 || ^9.0.0 - checksum: db67603baacba9cccbbc625801a44e5320bc558be846646ff9962818c64a9ab07edcfdcad98b15a3f8954d3e398e3a41f085c1ec458f7169a1ce7b3674032d59 + checksum: 0a6286fb6c6aaf497bcd5657e4f8167f29c32bb913e4feab3822c504f537ac30975d626dff442cc691e040384ad197313b5685d79296fc8a42ed6c827dcb52fc languageName: node linkType: hard @@ -3277,20 +3241,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@npm:^8.8.1": - version: 8.11.0 - resolution: "@typescript-eslint/utils@npm:8.11.0" - dependencies: - "@eslint-community/eslint-utils": ^4.4.0 - "@typescript-eslint/scope-manager": 8.11.0 - "@typescript-eslint/types": 8.11.0 - "@typescript-eslint/typescript-estree": 8.11.0 - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - checksum: 0a6286fb6c6aaf497bcd5657e4f8167f29c32bb913e4feab3822c504f537ac30975d626dff442cc691e040384ad197313b5685d79296fc8a42ed6c827dcb52fc - languageName: node - linkType: hard - "@typescript-eslint/visitor-keys@npm:5.62.0": version: 5.62.0 resolution: "@typescript-eslint/visitor-keys@npm:5.62.0" @@ -3311,16 +3261,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:8.10.0": - version: 8.10.0 - resolution: "@typescript-eslint/visitor-keys@npm:8.10.0" - dependencies: - "@typescript-eslint/types": 8.10.0 - eslint-visitor-keys: ^3.4.3 - checksum: 0b3060a036dd3b6acacc32b1d81b3ada1ac5523cc2d16a369ecffd3ab5b389cd98802b248bf65ee8a266a166125a9e38acd7e917d4dd26044bdf2c805537b7e3 - languageName: node - linkType: hard - "@typescript-eslint/visitor-keys@npm:8.11.0": version: 8.11.0 resolution: "@typescript-eslint/visitor-keys@npm:8.11.0" @@ -10369,8 +10309,8 @@ __metadata: "@types/react-router-dom": ^5.3.3 "@types/react-scroll-sync": ^0.9.0 "@types/sanitize-html": ^2.13.0 - "@typescript-eslint/eslint-plugin": ^8.10.0 - "@typescript-eslint/parser": ^8.10.0 + "@typescript-eslint/eslint-plugin": ^8.11.0 + "@typescript-eslint/parser": ^8.11.0 "@uswds/uswds": 3.7.1 "@vitejs/plugin-react": ^4.3.3 "@vitest/coverage-istanbul": ^2.1.3 @@ -10446,7 +10386,7 @@ __metadata: undici: ^6.20.1 use-deep-compare-effect: ^1.8.1 uuid: ^10.0.0 - vite: ^5.4.9 + vite: ^5.4.10 vite-plugin-checker: ^0.8.0 vite-plugin-svgr: ^4.2.0 vitest: ^2.1.3 @@ -12879,7 +12819,7 @@ __metadata: languageName: node linkType: hard -"vite@npm:^5.0.0, vite@npm:^5.4.9": +"vite@npm:^5.0.0": version: 5.4.9 resolution: "vite@npm:5.4.9" dependencies: @@ -12922,6 +12862,49 @@ __metadata: languageName: node linkType: hard +"vite@npm:^5.4.10": + version: 5.4.10 + resolution: "vite@npm:5.4.10" + dependencies: + esbuild: ^0.21.3 + fsevents: ~2.3.3 + postcss: ^8.4.43 + rollup: ^4.20.0 + peerDependencies: + "@types/node": ^18.0.0 || >=20.0.0 + less: "*" + lightningcss: ^1.21.0 + sass: "*" + sass-embedded: "*" + stylus: "*" + sugarss: "*" + terser: ^5.4.0 + dependenciesMeta: + fsevents: + optional: true + peerDependenciesMeta: + "@types/node": + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + bin: + vite: bin/vite.js + checksum: 4db3b8ca3eddbc312d0a95f505d16656e74c6dfa68d3b5eb54b6d6b0f7be1df348d469c43dc69db27dadc06b802f029d654da48f392324efd665ef2c0ca9ba9e + languageName: node + linkType: hard + "vitest@npm:^2.1.3": version: 2.1.3 resolution: "vitest@npm:2.1.3" 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"