From 0b146c171f5b0912d10346e47d2e70f0bbd6d81b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 17 Apr 2024 12:09:22 +0000 Subject: [PATCH 01/46] Update github/codeql-action digest to c7f9125 --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 16d6933c8..bb5a28adf 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -278,7 +278,7 @@ jobs: - name: Upload Trivy Scan Results to GitHub Security Tab if: ${{ (github.repository_owner == 'samply') || (vars.IMAGE_SCAN_UPLOAD == 'true') }} - uses: github/codeql-action/upload-sarif@df5a14dc28094dc936e103b37d749c6628682b60 # v3 + uses: github/codeql-action/upload-sarif@c7f9125735019aa87cfc361530512d50ea439c71 # v3 with: sarif_file: trivy-results.sarif From 9121b171f1d7a525a5e9ab0b03b95daba775004b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 18 Apr 2024 13:04:01 +0000 Subject: [PATCH 02/46] Update dependency org.apache.commons/commons-text to v1.12.0 --- modules/cql/deps.edn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/cql/deps.edn b/modules/cql/deps.edn index b70d96947..8437325c1 100644 --- a/modules/cql/deps.edn +++ b/modules/cql/deps.edn @@ -28,7 +28,7 @@ {:mvn/version "2.11.0"} org.apache.commons/commons-text - {:mvn/version "1.11.0"} + {:mvn/version "1.12.0"} systems.uom/systems-quantity {:mvn/version "2.1"} From 5c175ad47c9f33bfe58097e53948ffe9320d1753 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 18 Apr 2024 14:19:43 +0000 Subject: [PATCH 03/46] Update dependency org.clojure/tools.reader to v1.4.2 --- deps.edn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deps.edn b/deps.edn index 72eb93064..b0bec459a 100644 --- a/deps.edn +++ b/deps.edn @@ -50,7 +50,7 @@ {:mvn/version "1.11.2"} org.clojure/tools.reader - {:mvn/version "1.4.1"} + {:mvn/version "1.4.2"} org.slf4j/slf4j-nop {:mvn/version "2.0.13"}} From 2e8d22e264b3869059b553c7a93bebe77e96c212 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 19 Apr 2024 17:22:32 +0000 Subject: [PATCH 04/46] Update actions/download-artifact digest to 8caf195 --- .github/workflows/build.yml | 42 ++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index bb5a28adf..604bb2ce4 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -256,7 +256,7 @@ jobs: steps: - name: Download Image - uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4 + uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4 with: name: ${{ matrix.image }}-image path: /tmp @@ -300,7 +300,7 @@ jobs: run: .github/scripts/install-blazectl.sh - name: Download Blaze Image - uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4 + uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4 with: name: blaze-image path: /tmp @@ -784,7 +784,7 @@ jobs: run: .github/scripts/install-blazectl.sh - name: Download Blaze Image - uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4 + uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4 with: name: blaze-image path: /tmp @@ -846,7 +846,7 @@ jobs: run: .github/scripts/install-blazectl.sh - name: Download Blaze Image - uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4 + uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4 with: name: blaze-image path: /tmp @@ -894,7 +894,7 @@ jobs: run: .github/scripts/install-blazectl.sh - name: Download Blaze Image - uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4 + uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4 with: name: blaze-image path: /tmp @@ -935,7 +935,7 @@ jobs: run: .github/scripts/install-blazectl.sh - name: Download Blaze Image - uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4 + uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4 with: name: blaze-image path: /tmp @@ -970,7 +970,7 @@ jobs: run: .github/scripts/install-blazectl.sh - name: Download Blaze Image - uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4 + uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4 with: name: blaze-image path: /tmp @@ -1005,7 +1005,7 @@ jobs: uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - name: Download Blaze Image - uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4 + uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4 with: name: blaze-image path: /tmp @@ -1031,7 +1031,7 @@ jobs: uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - name: Download Blaze Image - uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4 + uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4 with: name: blaze-image path: /tmp @@ -1062,7 +1062,7 @@ jobs: run: .github/scripts/install-blazectl.sh - name: Download Blaze Image - uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4 + uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4 with: name: blaze-image path: /tmp @@ -1111,7 +1111,7 @@ jobs: run: sudo apt-get install gnuplot - name: Download Blaze Image - uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4 + uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4 with: name: blaze-image path: /tmp @@ -1143,7 +1143,7 @@ jobs: uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - name: Download Blaze Image - uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4 + uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4 with: name: blaze-image path: /tmp @@ -1184,7 +1184,7 @@ jobs: uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - name: Download Blaze Image - uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4 + uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4 with: name: blaze-image path: /tmp @@ -1219,7 +1219,7 @@ jobs: run: .github/scripts/install-blazectl.sh - name: Download Blaze Image - uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4 + uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4 with: name: blaze-image path: /tmp @@ -1260,7 +1260,7 @@ jobs: uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - name: Download Blaze Image - uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4 + uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4 with: name: blaze-image path: /tmp @@ -1303,7 +1303,7 @@ jobs: run: .github/scripts/install-blazectl.sh - name: Download Blaze Image - uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4 + uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4 with: name: blaze-image path: /tmp @@ -1312,7 +1312,7 @@ jobs: run: docker load --input /tmp/blaze.tar - name: Download Blaze Frontend Image - uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4 + uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4 with: name: blaze-frontend-image path: /tmp @@ -1379,7 +1379,7 @@ jobs: uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - name: Download Blaze Image - uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4 + uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4 with: name: blaze-image path: /tmp @@ -1446,7 +1446,7 @@ jobs: run: sudo apt-get install gnuplot - name: Download Blaze Image - uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4 + uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4 with: name: blaze-image path: /tmp @@ -1531,7 +1531,7 @@ jobs: - name: Download Blaze Uberjar if: ${{ matrix.image.context == '.' }} - uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4 + uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4 with: name: blaze-uberjar path: target @@ -1547,7 +1547,7 @@ jobs: run: make build-frontend - name: Download Image - uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4 + uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4 with: name: ${{ matrix.image.name }}-image path: /tmp From 2b000dbdb4d7f4fb18c1373810b065ca6c02c55a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 19 Apr 2024 17:32:54 +0000 Subject: [PATCH 05/46] Update dependency ca.uhn.hapi.fhir/org.hl7.fhir.validation to v6.3.5 --- modules/admin-api/deps.edn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/admin-api/deps.edn b/modules/admin-api/deps.edn index dacb2b498..4b83659b8 100644 --- a/modules/admin-api/deps.edn +++ b/modules/admin-api/deps.edn @@ -30,7 +30,7 @@ {:mvn/version "0.7.0-alpha7"} ca.uhn.hapi.fhir/org.hl7.fhir.validation - {:mvn/version "6.3.4" + {:mvn/version "6.3.5" :exclusions [ca.uhn.hapi.fhir/org.hl7.fhir.dstu2 ca.uhn.hapi.fhir/org.hl7.fhir.dstu2016may From aa275e58042272e009f7c45004a83efa0246fabd Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 19 Apr 2024 17:47:48 +0000 Subject: [PATCH 06/46] Update actions/upload-artifact digest to 1746f4a --- .github/workflows/build.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 604bb2ce4..75f0ac86f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -190,7 +190,7 @@ jobs: run: make uberjar - name: Upload Blaze Uberjar - uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4 + uses: actions/upload-artifact@1746f4ab65b179e0ea60a494b83293b640dd5bba # v4 with: name: blaze-uberjar path: target/blaze-*-standalone.jar @@ -206,7 +206,7 @@ jobs: outputs: type=docker,dest=/tmp/blaze.tar - name: Upload Blaze Image - uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4 + uses: actions/upload-artifact@1746f4ab65b179e0ea60a494b83293b640dd5bba # v4 with: name: blaze-image path: /tmp/blaze.tar @@ -238,7 +238,7 @@ jobs: outputs: type=docker,dest=/tmp/blaze-frontend.tar - name: Upload Blaze Image - uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4 + uses: actions/upload-artifact@1746f4ab65b179e0ea60a494b83293b640dd5bba # v4 with: name: blaze-frontend-image path: /tmp/blaze-frontend.tar @@ -1365,7 +1365,7 @@ jobs: - name: Run Playwright Tests run: make -C modules/frontend-e2e test - - uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4 + - uses: actions/upload-artifact@1746f4ab65b179e0ea60a494b83293b640dd5bba # v4 with: name: playwright-report path: modules/frontend-e2e/playwright-report/ From 4649f023c5c6cc517e6df61b5cc67c5dc64a993d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 22 Apr 2024 08:33:39 +0000 Subject: [PATCH 07/46] Update dependency @fontsource-variable/inter to v5.0.18 --- modules/frontend/package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/frontend/package-lock.json b/modules/frontend/package-lock.json index 830ca7889..b76b3bd30 100644 --- a/modules/frontend/package-lock.json +++ b/modules/frontend/package-lock.json @@ -520,9 +520,9 @@ } }, "node_modules/@fontsource-variable/inter": { - "version": "5.0.17", - "resolved": "https://registry.npmjs.org/@fontsource-variable/inter/-/inter-5.0.17.tgz", - "integrity": "sha512-sa80nNnqF8kzhBvqusWiL9vlPMVpdmOwMmDBup46Jggsr1VBqo+YuzwB36Ls+X6uHJtb8Yv3ALBHL/zGmT862A==" + "version": "5.0.18", + "resolved": "https://registry.npmjs.org/@fontsource-variable/inter/-/inter-5.0.18.tgz", + "integrity": "sha512-rJzSrtJ3b7djiGFvRuTe6stDfbYJGhdQSfn2SI2WfXviee7Er0yKAHE5u7FU7OWVQQQ1x3+cxdmx9NdiAkcrcA==" }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.13", From 02292ad4316edf7dad187bbbdd5a475720481f78 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 22 Apr 2024 17:31:53 +0000 Subject: [PATCH 08/46] Update actions/download-artifact digest to 9c19ed7 --- .github/workflows/build.yml | 42 ++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 75f0ac86f..0ee1e441d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -256,7 +256,7 @@ jobs: steps: - name: Download Image - uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4 + uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 with: name: ${{ matrix.image }}-image path: /tmp @@ -300,7 +300,7 @@ jobs: run: .github/scripts/install-blazectl.sh - name: Download Blaze Image - uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4 + uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 with: name: blaze-image path: /tmp @@ -784,7 +784,7 @@ jobs: run: .github/scripts/install-blazectl.sh - name: Download Blaze Image - uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4 + uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 with: name: blaze-image path: /tmp @@ -846,7 +846,7 @@ jobs: run: .github/scripts/install-blazectl.sh - name: Download Blaze Image - uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4 + uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 with: name: blaze-image path: /tmp @@ -894,7 +894,7 @@ jobs: run: .github/scripts/install-blazectl.sh - name: Download Blaze Image - uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4 + uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 with: name: blaze-image path: /tmp @@ -935,7 +935,7 @@ jobs: run: .github/scripts/install-blazectl.sh - name: Download Blaze Image - uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4 + uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 with: name: blaze-image path: /tmp @@ -970,7 +970,7 @@ jobs: run: .github/scripts/install-blazectl.sh - name: Download Blaze Image - uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4 + uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 with: name: blaze-image path: /tmp @@ -1005,7 +1005,7 @@ jobs: uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - name: Download Blaze Image - uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4 + uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 with: name: blaze-image path: /tmp @@ -1031,7 +1031,7 @@ jobs: uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - name: Download Blaze Image - uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4 + uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 with: name: blaze-image path: /tmp @@ -1062,7 +1062,7 @@ jobs: run: .github/scripts/install-blazectl.sh - name: Download Blaze Image - uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4 + uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 with: name: blaze-image path: /tmp @@ -1111,7 +1111,7 @@ jobs: run: sudo apt-get install gnuplot - name: Download Blaze Image - uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4 + uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 with: name: blaze-image path: /tmp @@ -1143,7 +1143,7 @@ jobs: uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - name: Download Blaze Image - uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4 + uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 with: name: blaze-image path: /tmp @@ -1184,7 +1184,7 @@ jobs: uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - name: Download Blaze Image - uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4 + uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 with: name: blaze-image path: /tmp @@ -1219,7 +1219,7 @@ jobs: run: .github/scripts/install-blazectl.sh - name: Download Blaze Image - uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4 + uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 with: name: blaze-image path: /tmp @@ -1260,7 +1260,7 @@ jobs: uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - name: Download Blaze Image - uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4 + uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 with: name: blaze-image path: /tmp @@ -1303,7 +1303,7 @@ jobs: run: .github/scripts/install-blazectl.sh - name: Download Blaze Image - uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4 + uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 with: name: blaze-image path: /tmp @@ -1312,7 +1312,7 @@ jobs: run: docker load --input /tmp/blaze.tar - name: Download Blaze Frontend Image - uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4 + uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 with: name: blaze-frontend-image path: /tmp @@ -1379,7 +1379,7 @@ jobs: uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - name: Download Blaze Image - uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4 + uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 with: name: blaze-image path: /tmp @@ -1446,7 +1446,7 @@ jobs: run: sudo apt-get install gnuplot - name: Download Blaze Image - uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4 + uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 with: name: blaze-image path: /tmp @@ -1531,7 +1531,7 @@ jobs: - name: Download Blaze Uberjar if: ${{ matrix.image.context == '.' }} - uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4 + uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 with: name: blaze-uberjar path: target @@ -1547,7 +1547,7 @@ jobs: run: make build-frontend - name: Download Image - uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4 + uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 with: name: ${{ matrix.image.name }}-image path: /tmp From 6f29a4f1d23e70e807683c4a25a35111edeba492 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 23 Apr 2024 07:20:28 +0000 Subject: [PATCH 09/46] Update github/codeql-action digest to 8f596b4 --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0ee1e441d..e56d688dc 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -278,7 +278,7 @@ jobs: - name: Upload Trivy Scan Results to GitHub Security Tab if: ${{ (github.repository_owner == 'samply') || (vars.IMAGE_SCAN_UPLOAD == 'true') }} - uses: github/codeql-action/upload-sarif@c7f9125735019aa87cfc361530512d50ea439c71 # v3 + uses: github/codeql-action/upload-sarif@8f596b4ae3cb3c588a5c46780b86dd53fef16c52 # v3 with: sarif_file: trivy-results.sarif From a82096b15dedbfad163a6bc36d33bc601230fcb3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 23 Apr 2024 08:19:11 +0000 Subject: [PATCH 10/46] Update actions/upload-artifact digest to 6546280 --- .github/workflows/build.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e56d688dc..3a231ca86 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -190,7 +190,7 @@ jobs: run: make uberjar - name: Upload Blaze Uberjar - uses: actions/upload-artifact@1746f4ab65b179e0ea60a494b83293b640dd5bba # v4 + uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4 with: name: blaze-uberjar path: target/blaze-*-standalone.jar @@ -206,7 +206,7 @@ jobs: outputs: type=docker,dest=/tmp/blaze.tar - name: Upload Blaze Image - uses: actions/upload-artifact@1746f4ab65b179e0ea60a494b83293b640dd5bba # v4 + uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4 with: name: blaze-image path: /tmp/blaze.tar @@ -238,7 +238,7 @@ jobs: outputs: type=docker,dest=/tmp/blaze-frontend.tar - name: Upload Blaze Image - uses: actions/upload-artifact@1746f4ab65b179e0ea60a494b83293b640dd5bba # v4 + uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4 with: name: blaze-frontend-image path: /tmp/blaze-frontend.tar @@ -1365,7 +1365,7 @@ jobs: - name: Run Playwright Tests run: make -C modules/frontend-e2e test - - uses: actions/upload-artifact@1746f4ab65b179e0ea60a494b83293b640dd5bba # v4 + - uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4 with: name: playwright-report path: modules/frontend-e2e/playwright-report/ From 8071e117031b00752243a31b02a97f3891aeb2b4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 23 Apr 2024 10:43:53 +0000 Subject: [PATCH 11/46] Update actions/checkout digest to 1d96c77 --- .github/workflows/build.yml | 52 +++++++++++++++++----------------- .github/workflows/coverage.yml | 2 +- 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3a231ca86..2f463f7f5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,7 +25,7 @@ jobs: cljfmt: 0.12.0 - name: Check out Git repository - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 - name: Check Formatting run: make fmt @@ -40,7 +40,7 @@ jobs: clj-kondo: '2024.03.13' - name: Check out Git repository - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 - name: Lint run: make lint @@ -116,7 +116,7 @@ jobs: cli: '1.11.2.1446' - name: Check out Git repository - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 - name: Cache Local Maven Repo uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4 @@ -150,7 +150,7 @@ jobs: cli: '1.11.2.1446' - name: Check out Git repository - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 - name: Cache Local Maven Repo uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4 @@ -178,7 +178,7 @@ jobs: cli: '1.11.2.1446' - name: Check out Git repository - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 - name: Cache Local Maven Repo uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4 @@ -217,7 +217,7 @@ jobs: steps: - name: Check out Git repository - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 - name: Setup Node uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4 @@ -265,7 +265,7 @@ jobs: run: docker load --input /tmp/${{ matrix.image }}.tar - name: Check out Git repository - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 - name: Run Trivy Vulnerability Scanner uses: aquasecurity/trivy-action@master @@ -294,7 +294,7 @@ jobs: steps: - name: Check out Git repository - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 - name: Install Blazectl run: .github/scripts/install-blazectl.sh @@ -778,7 +778,7 @@ jobs: steps: - name: Check out Git repository - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 - name: Install Blazectl run: .github/scripts/install-blazectl.sh @@ -840,7 +840,7 @@ jobs: steps: - name: Check out Git repository - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 - name: Install Blazectl run: .github/scripts/install-blazectl.sh @@ -888,7 +888,7 @@ jobs: steps: - name: Check out Git repository - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 - name: Install Blazectl run: .github/scripts/install-blazectl.sh @@ -929,7 +929,7 @@ jobs: steps: - name: Check out Git repository - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 - name: Install Blazectl run: .github/scripts/install-blazectl.sh @@ -964,7 +964,7 @@ jobs: steps: - name: Check out Git repository - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 - name: Install Blazectl run: .github/scripts/install-blazectl.sh @@ -1002,7 +1002,7 @@ jobs: steps: - name: Check out Git repository - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 - name: Download Blaze Image uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 @@ -1028,7 +1028,7 @@ jobs: steps: - name: Check out Git repository - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 - name: Download Blaze Image uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 @@ -1056,7 +1056,7 @@ jobs: steps: - name: Check out Git repository - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 - name: Install Blazectl run: .github/scripts/install-blazectl.sh @@ -1096,7 +1096,7 @@ jobs: cli: '1.11.2.1446' - name: Check out Git repository - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 - name: Cache Local Maven Repo uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4 @@ -1140,7 +1140,7 @@ jobs: steps: - name: Check out Git repository - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 - name: Download Blaze Image uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 @@ -1181,7 +1181,7 @@ jobs: steps: - name: Check out Git repository - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 - name: Download Blaze Image uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 @@ -1213,7 +1213,7 @@ jobs: steps: - name: Check out Git repository - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 - name: Install Blazectl run: .github/scripts/install-blazectl.sh @@ -1257,7 +1257,7 @@ jobs: steps: - name: Check out Git repository - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 - name: Download Blaze Image uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 @@ -1292,7 +1292,7 @@ jobs: steps: - name: Check out Git repository - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 - name: Setup Node uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4 @@ -1376,7 +1376,7 @@ jobs: steps: - name: Check out Git repository - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 - name: Download Blaze Image uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 @@ -1431,7 +1431,7 @@ jobs: cli: '1.11.2.1446' - name: Check out Git repository - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 - name: Cache Local Maven Repo uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4 @@ -1527,7 +1527,7 @@ jobs: steps: - name: Check out Git repository - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 - name: Download Blaze Uberjar if: ${{ matrix.image.context == '.' }} @@ -1640,7 +1640,7 @@ jobs: runs-on: ubuntu-22.04 steps: - name: Check out Git repository - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 - name: Setup Node uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4 diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 802155aa4..a3e2396e6 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -22,7 +22,7 @@ jobs: cli: '1.11.2.1446' - name: Check out Git repository - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 - name: Cache Local Maven Repo uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4 From a6475fab0173407c6f815fb997502a24a40cc8a3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 24 Apr 2024 02:14:42 +0000 Subject: [PATCH 12/46] Update Node.js to db8772d --- modules/frontend/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/frontend/Dockerfile b/modules/frontend/Dockerfile index a29df2f72..6fa294de0 100644 --- a/modules/frontend/Dockerfile +++ b/modules/frontend/Dockerfile @@ -1,4 +1,4 @@ -FROM node:21-alpine@sha256:6d0f18a1c67dc218c4af50c21256616286a53c09e500fadf025b6d342e1c90ae +FROM node:21-alpine@sha256:db8772d9f5796ac4e8c47508038c413ea1478da010568a2e48672f19a8b80cd2 COPY build /app COPY package*.json /app/ From de9fca60ca9e286c491fc3ea95178f4322d371ff Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 24 Apr 2024 11:33:35 +0000 Subject: [PATCH 13/46] Update dependency ca.uhn.hapi.fhir/org.hl7.fhir.validation to v6.3.6 --- modules/admin-api/deps.edn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/admin-api/deps.edn b/modules/admin-api/deps.edn index 4b83659b8..ac071d028 100644 --- a/modules/admin-api/deps.edn +++ b/modules/admin-api/deps.edn @@ -30,7 +30,7 @@ {:mvn/version "0.7.0-alpha7"} ca.uhn.hapi.fhir/org.hl7.fhir.validation - {:mvn/version "6.3.5" + {:mvn/version "6.3.6" :exclusions [ca.uhn.hapi.fhir/org.hl7.fhir.dstu2 ca.uhn.hapi.fhir/org.hl7.fhir.dstu2016may From 324bccddd0c1f2cfcff72b5b448ced832c8ec756 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 24 Apr 2024 13:28:02 +0000 Subject: [PATCH 14/46] Update mcr.microsoft.com/dotnet/sdk:6.0 Docker digest to 5c0d4c4 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 8fa3d2afc..f051107f3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM mcr.microsoft.com/dotnet/sdk:6.0@sha256:3bfaf0ce4417fb6c63d9a6ac1ddde8af9684c35a2b409815dd7ce15efe3d984b as fhir-packages +FROM mcr.microsoft.com/dotnet/sdk:6.0@sha256:5c0d4c483ce2781fa522c96a6069d12f719f1313635cba76f9e061dd17740077 as fhir-packages RUN dotnet tool install -g firely.terminal RUN /root/.dotnet/tools/fhir install hl7.fhir.r4.core 4.0.1 From df779b26e36e6330ae36a28f5604ce5b2d921ab7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 25 Apr 2024 06:13:09 +0000 Subject: [PATCH 15/46] Update dependency org.clojure/clojure to v1.11.3 --- deps.edn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deps.edn b/deps.edn index b0bec459a..1446d0ad4 100644 --- a/deps.edn +++ b/deps.edn @@ -47,7 +47,7 @@ {:mvn/version "0.4.0"} org.clojure/clojure - {:mvn/version "1.11.2"} + {:mvn/version "1.11.3"} org.clojure/tools.reader {:mvn/version "1.4.2"} From 113220c16da6e37420d10966aabb5a6ea493b4b0 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 25 Apr 2024 13:16:10 +0000 Subject: [PATCH 16/46] Update actions/download-artifact digest to 65a9edc --- .github/workflows/build.yml | 42 ++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2f463f7f5..f4b1f59a5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -256,7 +256,7 @@ jobs: steps: - name: Download Image - uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 + uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4 with: name: ${{ matrix.image }}-image path: /tmp @@ -300,7 +300,7 @@ jobs: run: .github/scripts/install-blazectl.sh - name: Download Blaze Image - uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 + uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4 with: name: blaze-image path: /tmp @@ -784,7 +784,7 @@ jobs: run: .github/scripts/install-blazectl.sh - name: Download Blaze Image - uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 + uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4 with: name: blaze-image path: /tmp @@ -846,7 +846,7 @@ jobs: run: .github/scripts/install-blazectl.sh - name: Download Blaze Image - uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 + uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4 with: name: blaze-image path: /tmp @@ -894,7 +894,7 @@ jobs: run: .github/scripts/install-blazectl.sh - name: Download Blaze Image - uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 + uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4 with: name: blaze-image path: /tmp @@ -935,7 +935,7 @@ jobs: run: .github/scripts/install-blazectl.sh - name: Download Blaze Image - uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 + uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4 with: name: blaze-image path: /tmp @@ -970,7 +970,7 @@ jobs: run: .github/scripts/install-blazectl.sh - name: Download Blaze Image - uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 + uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4 with: name: blaze-image path: /tmp @@ -1005,7 +1005,7 @@ jobs: uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 - name: Download Blaze Image - uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 + uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4 with: name: blaze-image path: /tmp @@ -1031,7 +1031,7 @@ jobs: uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 - name: Download Blaze Image - uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 + uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4 with: name: blaze-image path: /tmp @@ -1062,7 +1062,7 @@ jobs: run: .github/scripts/install-blazectl.sh - name: Download Blaze Image - uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 + uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4 with: name: blaze-image path: /tmp @@ -1111,7 +1111,7 @@ jobs: run: sudo apt-get install gnuplot - name: Download Blaze Image - uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 + uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4 with: name: blaze-image path: /tmp @@ -1143,7 +1143,7 @@ jobs: uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 - name: Download Blaze Image - uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 + uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4 with: name: blaze-image path: /tmp @@ -1184,7 +1184,7 @@ jobs: uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 - name: Download Blaze Image - uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 + uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4 with: name: blaze-image path: /tmp @@ -1219,7 +1219,7 @@ jobs: run: .github/scripts/install-blazectl.sh - name: Download Blaze Image - uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 + uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4 with: name: blaze-image path: /tmp @@ -1260,7 +1260,7 @@ jobs: uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 - name: Download Blaze Image - uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 + uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4 with: name: blaze-image path: /tmp @@ -1303,7 +1303,7 @@ jobs: run: .github/scripts/install-blazectl.sh - name: Download Blaze Image - uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 + uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4 with: name: blaze-image path: /tmp @@ -1312,7 +1312,7 @@ jobs: run: docker load --input /tmp/blaze.tar - name: Download Blaze Frontend Image - uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 + uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4 with: name: blaze-frontend-image path: /tmp @@ -1379,7 +1379,7 @@ jobs: uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 - name: Download Blaze Image - uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 + uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4 with: name: blaze-image path: /tmp @@ -1446,7 +1446,7 @@ jobs: run: sudo apt-get install gnuplot - name: Download Blaze Image - uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 + uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4 with: name: blaze-image path: /tmp @@ -1531,7 +1531,7 @@ jobs: - name: Download Blaze Uberjar if: ${{ matrix.image.context == '.' }} - uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 + uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4 with: name: blaze-uberjar path: target @@ -1547,7 +1547,7 @@ jobs: run: make build-frontend - name: Download Image - uses: actions/download-artifact@9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395 # v4 + uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4 with: name: ${{ matrix.image.name }}-image path: /tmp From 9c812b4619f738e9b84a77e15033959ce4648248 Mon Sep 17 00:00:00 2001 From: Alexander Kiel Date: Thu, 25 Apr 2024 15:21:19 +0200 Subject: [PATCH 17/46] Fix Rendering of Recursive FHIR Structures Closes: #1648 --- .../src/lib/resource/resource-card.test.ts | 249 +- .../src/lib/resource/resource-card.ts | 63 +- .../src/lib/resource/test/CarePlan.json | 4142 ----------------- .../lib/resource/test/CodeableConcept.json | 406 -- .../src/lib/resource/test/Coding.json | 628 --- .../src/lib/resource/test/Identifier.json | 753 --- .../test/MedicationAdministration.json | 2893 ------------ .../frontend/src/lib/resource/test/Meta.json | 543 --- .../src/lib/resource/test/Observation.json | 4018 ---------------- .../src/lib/resource/test/Patient.json | 3121 ------------- .../src/lib/resource/test/Reference.json | 499 -- .../src/lib/resource/test/Timing.json | 1649 ------- 12 files changed, 296 insertions(+), 18668 deletions(-) delete mode 100644 modules/frontend/src/lib/resource/test/CarePlan.json delete mode 100644 modules/frontend/src/lib/resource/test/CodeableConcept.json delete mode 100644 modules/frontend/src/lib/resource/test/Coding.json delete mode 100644 modules/frontend/src/lib/resource/test/Identifier.json delete mode 100644 modules/frontend/src/lib/resource/test/MedicationAdministration.json delete mode 100644 modules/frontend/src/lib/resource/test/Meta.json delete mode 100644 modules/frontend/src/lib/resource/test/Observation.json delete mode 100644 modules/frontend/src/lib/resource/test/Patient.json delete mode 100644 modules/frontend/src/lib/resource/test/Reference.json delete mode 100644 modules/frontend/src/lib/resource/test/Timing.json diff --git a/modules/frontend/src/lib/resource/resource-card.test.ts b/modules/frontend/src/lib/resource/resource-card.test.ts index 3566e770c..cc80e2456 100644 --- a/modules/frontend/src/lib/resource/resource-card.test.ts +++ b/modules/frontend/src/lib/resource/resource-card.test.ts @@ -1,5 +1,5 @@ -import type { StructureDefinition } from 'fhir/r4'; -import { describe, it, expect } from 'vitest'; +import type { Bundle, StructureDefinition } from 'fhir/r4'; +import { describe, expect, it } from 'vitest'; import { error } from '@sveltejs/kit'; import { calcPropertiesDeep, type FhirObject } from './resource-card.js'; import { readFileSync } from 'fs'; @@ -11,9 +11,26 @@ const structureDefinitionMedicationAdministration = await readStructureDefinitio ); const structureDefinitionCarePlan = await readStructureDefinition('CarePlan'); +function readBundle(name: string): Bundle { + const data = readFileSync(name); + return JSON.parse(data.toString()); +} + +function readStructureDefinitionFrom(file: string, name: string): StructureDefinition | undefined { + const bundle = readBundle(`../fhir-structure/resources/blaze/fhir/r4/profiles-${file}.json`); + return bundle.entry?.find((e) => e.resource?.id === name)?.resource as StructureDefinition; +} + async function readStructureDefinition(name: string): Promise { - const data = readFileSync(`src/lib/resource/test/${name}.json`); - return Promise.resolve(JSON.parse(data.toString())); + const structureDefinition = readStructureDefinitionFrom('types', name); + if (structureDefinition === undefined) { + const structureDefinition = readStructureDefinitionFrom('resources', name); + return structureDefinition === undefined + ? Promise.reject(`StructureDefinition ${name} not found`) + : Promise.resolve(structureDefinition); + } else { + return Promise.resolve(structureDefinition); + } } describe('calcPropertiesDeep test', () => { @@ -233,7 +250,7 @@ describe('calcPropertiesDeep test', () => { } }); }); - it('polymorth attribute with complex type', async () => { + it('polymorph attribute with complex type', async () => { const result = await calcPropertiesDeep( readStructureDefinition, structureDefinitionMedicationAdministration, @@ -467,6 +484,228 @@ describe('calcPropertiesDeep test', () => { } }); }); + it('recursive backbone elements', async () => { + const result = await calcPropertiesDeep( + readStructureDefinition, + await readStructureDefinition('Consent'), + { + resourceType: 'Consent', + provision: { + type: 'deny', + provision: [ + { + type: 'permit' + } + ] + }, + category: [{}], + scope: {}, + status: 'draft' + } + ); + expect(result).toStrictEqual({ + type: { code: 'Consent' }, + properties: [ + { + name: 'resourceType', + type: { code: 'string' }, + value: { type: { code: 'string' }, value: 'Consent' } + }, + { + name: 'status', + type: { code: 'code' }, + value: { type: { code: 'code' }, value: 'draft' } + }, + { + name: 'scope', + type: { code: 'CodeableConcept' }, + value: { + type: { code: 'CodeableConcept' }, + properties: [], + object: {} + } + }, + { + name: 'category', + type: { code: 'CodeableConcept' }, + value: [ + { + type: { code: 'CodeableConcept' }, + properties: [], + object: {} + } + ] + }, + { + name: 'provision', + type: { code: 'BackboneElement' }, + value: { + type: { code: 'BackboneElement' }, + properties: [ + { + name: 'type', + type: { code: 'code' }, + value: { type: { code: 'code' }, value: 'deny' } + }, + { + name: 'provision', + type: { code: 'BackboneElement' }, + value: [ + { + type: { code: 'BackboneElement' }, + properties: [ + { + name: 'type', + type: { code: 'code' }, + value: { type: { code: 'code' }, value: 'permit' } + } + ], + object: { + type: 'permit' + } + } + ] + } + ], + object: { + type: 'deny', + provision: [ + { + type: 'permit' + } + ] + } + } + } + ], + object: { + resourceType: 'Consent', + provision: { + type: 'deny', + provision: [ + { + type: 'permit' + } + ] + }, + category: [{}], + scope: {}, + status: 'draft' + } + }); + }); + it('nested referenced backbone elements', async () => { + const result = await calcPropertiesDeep( + readStructureDefinition, + await readStructureDefinition('ValueSet'), + { + resourceType: 'ValueSet', + compose: { + include: [ + { + system: 'system-1' + } + ], + exclude: [ + { + system: 'system-2' + } + ] + }, + status: 'draft' + } + ); + expect(result).toStrictEqual({ + type: { code: 'ValueSet' }, + properties: [ + { + name: 'resourceType', + type: { code: 'string' }, + value: { type: { code: 'string' }, value: 'ValueSet' } + }, + { + name: 'status', + type: { code: 'code' }, + value: { type: { code: 'code' }, value: 'draft' } + }, + { + name: 'compose', + type: { code: 'BackboneElement' }, + value: { + type: { code: 'BackboneElement' }, + properties: [ + { + name: 'include', + type: { code: 'BackboneElement' }, + value: [ + { + type: { code: 'BackboneElement' }, + properties: [ + { + name: 'system', + type: { code: 'uri' }, + value: { type: { code: 'uri' }, value: 'system-1' } + } + ], + object: { + system: 'system-1' + } + } + ] + }, + { + name: 'exclude', + type: { code: 'BackboneElement' }, + value: [ + { + type: { code: 'BackboneElement' }, + properties: [ + { + name: 'system', + type: { code: 'uri' }, + value: { type: { code: 'uri' }, value: 'system-2' } + } + ], + object: { + system: 'system-2' + } + } + ] + } + ], + object: { + include: [ + { + system: 'system-1' + } + ], + exclude: [ + { + system: 'system-2' + } + ] + } + } + } + ], + object: { + resourceType: 'ValueSet', + compose: { + include: [ + { + system: 'system-1' + } + ], + exclude: [ + { + system: 'system-2' + } + ] + }, + status: 'draft' + } + }); + }); it('element', async () => { const result = await calcPropertiesDeep( readStructureDefinition, diff --git a/modules/frontend/src/lib/resource/resource-card.ts b/modules/frontend/src/lib/resource/resource-card.ts index d154828d3..050ad91ab 100644 --- a/modules/frontend/src/lib/resource/resource-card.ts +++ b/modules/frontend/src/lib/resource/resource-card.ts @@ -129,6 +129,7 @@ export async function calcPropertiesDeep( processElement( element, structureDefinition.snapshot?.element || [], + structureDefinition.snapshot?.element || [], resource, fetchStructureDefinition ) @@ -155,23 +156,47 @@ export async function calcPropertiesDeep( }; } -function dropFirstSegment(path: string): string { - return path.split('.').slice(1).join('.'); +function dropSegments(path: string, n: number): string { + return path.split('.').slice(n).join('.'); } async function processElement( element: ElementDefinition, - elements: ElementDefinition[], + resourceElements: ElementDefinition[], + typeElements: ElementDefinition[], resource: Resource | Element, fetchStructureDefinition: (type: string) => Promise ): Promise { + if (element.contentReference !== undefined) { + const id = element.contentReference.substring(1); + const referencedElement = resourceElements.find((e) => e.id === id); + return referencedElement === undefined + ? undefined + : processAbstractElement( + { ...referencedElement, path: element.path }, + resourceElements, + resourceElements + .filter( + (e) => e.path.startsWith(referencedElement.path) && e.path != referencedElement.path + ) + .map((e) => ({ + ...e, + path: dropSegments(e.path, referencedElement.path.split('.').length - 1) + })), + { code: 'BackboneElement' }, + resource, + fetchStructureDefinition + ); + } + const type = onlyType(element); return type?.code == 'Element' || type?.code == 'BackboneElement' ? processAbstractElement( element, - elements + resourceElements, + typeElements .filter((e) => e.path.startsWith(element.path) && e.path != element.path) - .map((e) => ({ ...e, path: dropFirstSegment(e.path) })), + .map((e) => ({ ...e, path: dropSegments(e.path, 1) })), type, resource, fetchStructureDefinition @@ -222,7 +247,8 @@ async function processResourceValue( // Processes one of the abstract elements. Type is one of 'Element' or 'BackboneElement'. async function processAbstractElement( element: ElementDefinition, - elements: ElementDefinition[], + resourceElements: ElementDefinition[], + typeElements: ElementDefinition[], type: Type, resource: (Resource | Element) & { [key: string]: any }, fetchStructureDefinition: (type: string) => Promise @@ -241,23 +267,38 @@ async function processAbstractElement( value: await (Array.isArray(value) ? Promise.all( (value as Element[]).map((v) => - processAbstractElementValue(elements, type, v, fetchStructureDefinition) + processAbstractElementValue( + resourceElements, + typeElements, + type, + v, + fetchStructureDefinition + ) ) ) - : processAbstractElementValue(elements, type, value, fetchStructureDefinition)) + : processAbstractElementValue( + resourceElements, + typeElements, + type, + value, + fetchStructureDefinition + )) }; } async function processAbstractElementValue( - elements: ElementDefinition[], + resourceElements: ElementDefinition[], + typeElements: ElementDefinition[], type: Type, value: Element, fetchStructureDefinition: (type: string) => Promise ): Promise { const properties = await Promise.all( - elements + typeElements .filter((element) => element.path.split('.').length == 2) - .map((element) => processElement(element, elements, value, fetchStructureDefinition)) + .map((element) => + processElement(element, resourceElements, typeElements, value, fetchStructureDefinition) + ) ); return { type: type, diff --git a/modules/frontend/src/lib/resource/test/CarePlan.json b/modules/frontend/src/lib/resource/test/CarePlan.json deleted file mode 100644 index 833c9a5be..000000000 --- a/modules/frontend/src/lib/resource/test/CarePlan.json +++ /dev/null @@ -1,4142 +0,0 @@ -{ - "resourceType": "StructureDefinition", - "id": "CarePlan", - "meta": { - "lastUpdated": "2019-11-01T09:29:23.356+11:00" - }, - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-category", - "valueString": "Clinical.Care Provision" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", - "valueCode": "trial-use" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm", - "valueInteger": 2 - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-security-category", - "valueCode": "patient" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg", - "valueCode": "pc" - } - ], - "url": "http://hl7.org/fhir/StructureDefinition/CarePlan", - "version": "4.0.1", - "name": "CarePlan", - "status": "draft", - "date": "2019-11-01T09:29:23+11:00", - "publisher": "Health Level Seven International (Patient Care)", - "contact": [ - { - "telecom": [ - { - "system": "url", - "value": "http://hl7.org/fhir" - } - ] - }, - { - "telecom": [ - { - "system": "url", - "value": "http://www.hl7.org/Special/committees/patientcare/index.cfm" - } - ] - } - ], - "description": "Describes the intention of how one or more practitioners intend to deliver care for a particular patient, group or community for a period of time, possibly limited to care for a specific condition or set of conditions.", - "fhirVersion": "4.0.1", - "mapping": [ - { - "identity": "workflow", - "uri": "http://hl7.org/fhir/workflow", - "name": "Workflow Pattern" - }, - { - "identity": "rim", - "uri": "http://hl7.org/v3", - "name": "RIM Mapping" - }, - { - "identity": "w5", - "uri": "http://hl7.org/fhir/fivews", - "name": "FiveWs Pattern Mapping" - }, - { - "identity": "v2", - "uri": "http://hl7.org/v2", - "name": "HL7 v2 Mapping" - } - ], - "kind": "resource", - "abstract": false, - "type": "CarePlan", - "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource", - "derivation": "specialization", - "snapshot": { - "element": [ - { - "id": "CarePlan", - "path": "CarePlan", - "short": "Healthcare plan for patient or group", - "definition": "Describes the intention of how one or more practitioners intend to deliver care for a particular patient, group or community for a period of time, possibly limited to care for a specific condition or set of conditions.", - "alias": ["Care Team"], - "min": 0, - "max": "*", - "base": { - "path": "CarePlan", - "min": 0, - "max": "*" - }, - "constraint": [ - { - "key": "dom-2", - "severity": "error", - "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources", - "expression": "contained.contained.empty()", - "xpath": "not(parent::f:contained and f:contained)", - "source": "http://hl7.org/fhir/StructureDefinition/DomainResource" - }, - { - "key": "dom-3", - "severity": "error", - "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource", - "expression": "contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()", - "xpath": "not(exists(for $id in f:contained/*/f:id/@value return $contained[not(parent::*/descendant::f:reference/@value=concat('#', $contained/*/id/@value) or descendant::f:reference[@value='#'])]))", - "source": "http://hl7.org/fhir/StructureDefinition/DomainResource" - }, - { - "key": "dom-4", - "severity": "error", - "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated", - "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()", - "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))", - "source": "http://hl7.org/fhir/StructureDefinition/DomainResource" - }, - { - "key": "dom-5", - "severity": "error", - "human": "If a resource is contained in another resource, it SHALL NOT have a security label", - "expression": "contained.meta.security.empty()", - "xpath": "not(exists(f:contained/*/f:meta/f:security))", - "source": "http://hl7.org/fhir/StructureDefinition/DomainResource" - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice", - "valueBoolean": true - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice-explanation", - "valueMarkdown": "When a resource has no narrative, only systems that fully understand the data can display the resource to a human safely. Including a human readable representation in the resource makes for a much more robust eco-system and cheaper handling of resources by intermediary systems. Some ecosystems restrict distribution of resources to only those systems that do fully understand the resources, and as a consequence implementers may believe that the narrative is superfluous. However experience shows that such eco-systems often open up to new participants over time." - } - ], - "key": "dom-6", - "severity": "warning", - "human": "A resource should have narrative for robust management", - "expression": "text.`div`.exists()", - "xpath": "exists(f:text/h:div)", - "source": "http://hl7.org/fhir/StructureDefinition/DomainResource" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "Entity. Role, or Act" - }, - { - "identity": "workflow", - "map": "Request" - }, - { - "identity": "rim", - "map": "Act[classCode=PCPR, moodCode=INT]" - } - ] - }, - { - "id": "CarePlan.id", - "path": "CarePlan.id", - "short": "Logical id of this artifact", - "definition": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.", - "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.", - "min": 0, - "max": "1", - "base": { - "path": "Resource.id", - "min": 0, - "max": "1" - }, - "type": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", - "valueUrl": "string" - } - ], - "code": "http://hl7.org/fhirpath/System.String" - } - ], - "isModifier": false, - "isSummary": true - }, - { - "id": "CarePlan.meta", - "path": "CarePlan.meta", - "short": "Metadata about the resource", - "definition": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.", - "min": 0, - "max": "1", - "base": { - "path": "Resource.meta", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "Meta" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true - }, - { - "id": "CarePlan.implicitRules", - "path": "CarePlan.implicitRules", - "short": "A set of rules under which this content was created", - "definition": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.", - "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.", - "min": 0, - "max": "1", - "base": { - "path": "Resource.implicitRules", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "uri" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": true, - "isModifierReason": "This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation", - "isSummary": true - }, - { - "id": "CarePlan.language", - "path": "CarePlan.language", - "short": "Language of the resource content", - "definition": "The base language in which the resource is written.", - "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).", - "min": 0, - "max": "1", - "base": { - "path": "Resource.language", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "code" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet", - "valueCanonical": "http://hl7.org/fhir/ValueSet/all-languages" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "Language" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding", - "valueBoolean": true - } - ], - "strength": "preferred", - "description": "A human language.", - "valueSet": "http://hl7.org/fhir/ValueSet/languages" - } - }, - { - "id": "CarePlan.text", - "path": "CarePlan.text", - "short": "Text summary of the resource, for human interpretation", - "definition": "A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.", - "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded information is added later.", - "alias": ["narrative", "html", "xhtml", "display"], - "min": 0, - "max": "1", - "base": { - "path": "DomainResource.text", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "Narrative" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "Act.text?" - } - ] - }, - { - "id": "CarePlan.contained", - "path": "CarePlan.contained", - "short": "Contained, inline Resources", - "definition": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.", - "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.", - "alias": ["inline resources", "anonymous resources", "contained resources"], - "min": 0, - "max": "*", - "base": { - "path": "DomainResource.contained", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Resource" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "N/A" - } - ] - }, - { - "id": "CarePlan.extension", - "path": "CarePlan.extension", - "short": "Additional content defined by implementations", - "definition": "May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", - "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", - "alias": ["extensions", "user content"], - "min": 0, - "max": "*", - "base": { - "path": "DomainResource.extension", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Extension" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key": "ext-1", - "severity": "error", - "human": "Must have either extensions or value[x], not both", - "expression": "extension.exists() != value.exists()", - "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source": "http://hl7.org/fhir/StructureDefinition/Extension" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "N/A" - } - ] - }, - { - "id": "CarePlan.modifierExtension", - "path": "CarePlan.modifierExtension", - "short": "Extensions that cannot be ignored", - "definition": "May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", - "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", - "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).", - "alias": ["extensions", "user content"], - "min": 0, - "max": "*", - "base": { - "path": "DomainResource.modifierExtension", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Extension" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key": "ext-1", - "severity": "error", - "human": "Must have either extensions or value[x], not both", - "expression": "extension.exists() != value.exists()", - "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source": "http://hl7.org/fhir/StructureDefinition/Extension" - } - ], - "isModifier": true, - "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them", - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "N/A" - } - ] - }, - { - "id": "CarePlan.identifier", - "path": "CarePlan.identifier", - "short": "External Ids for this plan", - "definition": "Business identifiers assigned to this care plan by the performer or other systems which remain constant as the resource is updated and propagates from server to server.", - "comment": "This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number.", - "requirements": "Allows identification of the care plan as it is known by various participating systems and in a way that remains consistent across servers.", - "min": 0, - "max": "*", - "base": { - "path": "CarePlan.identifier", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Identifier" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Request.identifier" - }, - { - "identity": "w5", - "map": "FiveWs.identifier" - }, - { - "identity": "v2", - "map": "PTH-3" - }, - { - "identity": "rim", - "map": ".id" - } - ] - }, - { - "id": "CarePlan.instantiatesCanonical", - "path": "CarePlan.instantiatesCanonical", - "short": "Instantiates FHIR protocol or definition", - "definition": "The URL pointing to a FHIR-defined protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan.", - "min": 0, - "max": "*", - "base": { - "path": "CarePlan.instantiatesCanonical", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "canonical", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/PlanDefinition", - "http://hl7.org/fhir/StructureDefinition/Questionnaire", - "http://hl7.org/fhir/StructureDefinition/Measure", - "http://hl7.org/fhir/StructureDefinition/ActivityDefinition", - "http://hl7.org/fhir/StructureDefinition/OperationDefinition" - ] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Request.instantiatesCanonical" - }, - { - "identity": "rim", - "map": ".outboundRelationship[typeCode=DEFN].target" - } - ] - }, - { - "id": "CarePlan.instantiatesUri", - "path": "CarePlan.instantiatesUri", - "short": "Instantiates external protocol or definition", - "definition": "The URL pointing to an externally maintained protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan.", - "comment": "This might be an HTML page, PDF, etc. or could just be a non-resolvable URI identifier.", - "min": 0, - "max": "*", - "base": { - "path": "CarePlan.instantiatesUri", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "uri" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Request.instantiatesUri" - }, - { - "identity": "rim", - "map": ".outboundRelationship[typeCode=DEFN].target" - } - ] - }, - { - "id": "CarePlan.basedOn", - "path": "CarePlan.basedOn", - "short": "Fulfills CarePlan", - "definition": "A care plan that is fulfilled in whole or in part by this care plan.", - "requirements": "Allows tracing of the care plan and tracking whether proposals/recommendations were acted upon.", - "alias": ["fulfills"], - "min": 0, - "max": "*", - "base": { - "path": "CarePlan.basedOn", - "min": 0, - "max": "*" - }, - "type": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-hierarchy", - "valueBoolean": true - } - ], - "code": "Reference", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/CarePlan"] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Request.basedOn" - } - ] - }, - { - "id": "CarePlan.replaces", - "path": "CarePlan.replaces", - "short": "CarePlan replaced by this CarePlan", - "definition": "Completed or terminated care plan whose function is taken by this new care plan.", - "comment": "The replacement could be because the initial care plan was immediately rejected (due to an issue) or because the previous care plan was completed, but the need for the action described by the care plan remains ongoing.", - "requirements": "Allows tracing the continuation of a therapy or administrative process instantiated through multiple care plans.", - "alias": ["supersedes"], - "min": 0, - "max": "*", - "base": { - "path": "CarePlan.replaces", - "min": 0, - "max": "*" - }, - "type": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-hierarchy", - "valueBoolean": true - } - ], - "code": "Reference", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/CarePlan"] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Request.replaces" - } - ] - }, - { - "id": "CarePlan.partOf", - "path": "CarePlan.partOf", - "short": "Part of referenced CarePlan", - "definition": "A larger care plan of which this particular care plan is a component or step.", - "comment": "Each care plan is an independent request, such that having a care plan be part of another care plan can cause issues with cascading statuses. As such, this element is still being discussed.", - "min": 0, - "max": "*", - "base": { - "path": "CarePlan.partOf", - "min": 0, - "max": "*" - }, - "type": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-hierarchy", - "valueBoolean": true - } - ], - "code": "Reference", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/CarePlan"] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true - }, - { - "id": "CarePlan.status", - "path": "CarePlan.status", - "short": "draft | active | on-hold | revoked | completed | entered-in-error | unknown", - "definition": "Indicates whether the plan is currently being acted upon, represents future intentions or is now a historical record.", - "comment": "The unknown code is not to be used to convey other statuses. The unknown code should be used when one of the statuses applies, but the authoring system doesn't know the current state of the care plan.\n\nThis element is labeled as a modifier because the status contains the code entered-in-error that marks the plan as not currently valid.", - "requirements": "Allows clinicians to determine whether the plan is actionable or not.", - "min": 1, - "max": "1", - "base": { - "path": "CarePlan.status", - "min": 1, - "max": "1" - }, - "type": [ - { - "code": "code" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": true, - "isModifierReason": "This element is labeled as a modifier because it is a status element that contains status entered-in-error which means that the resource should not be treated as valid", - "isSummary": true, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "CarePlanStatus" - } - ], - "strength": "required", - "description": "Indicates whether the plan is currently being acted upon, represents future intentions or is now a historical record.", - "valueSet": "http://hl7.org/fhir/ValueSet/request-status|4.0.1" - }, - "mapping": [ - { - "identity": "workflow", - "map": "Request.status {uses different ValueSet}" - }, - { - "identity": "w5", - "map": "FiveWs.status" - }, - { - "identity": "v2", - "map": "PTH-5" - }, - { - "identity": "rim", - "map": ".statusCode planned = new active = active completed = completed" - } - ] - }, - { - "id": "CarePlan.intent", - "path": "CarePlan.intent", - "short": "proposal | plan | order | option", - "definition": "Indicates the level of authority/intentionality associated with the care plan and where the care plan fits into the workflow chain.", - "comment": "This element is labeled as a modifier because the intent alters when and how the resource is actually applicable.", - "requirements": "Proposals/recommendations, plans and orders all use the same structure and can exist in the same fulfillment chain.", - "min": 1, - "max": "1", - "base": { - "path": "CarePlan.intent", - "min": 1, - "max": "1" - }, - "type": [ - { - "code": "code" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": true, - "isModifierReason": "This element changes the interpretation of all descriptive attributes. For example \"the time the request is recommended to occur\" vs. \"the time the request is authorized to occur\" or \"who is recommended to perform the request\" vs. \"who is authorized to perform the request\"", - "isSummary": true, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "CarePlanIntent" - } - ], - "strength": "required", - "description": "Codes indicating the degree of authority/intentionality associated with a care plan.", - "valueSet": "http://hl7.org/fhir/ValueSet/care-plan-intent|4.0.1" - }, - "mapping": [ - { - "identity": "workflow", - "map": "Request.intent" - } - ] - }, - { - "id": "CarePlan.category", - "path": "CarePlan.category", - "short": "Type of plan", - "definition": "Identifies what \"kind\" of plan this is to support differentiation between multiple co-existing plans; e.g. \"Home health\", \"psychiatric\", \"asthma\", \"disease management\", \"wellness plan\", etc.", - "comment": "There may be multiple axes of categorization and one plan may serve multiple purposes. In some cases, this may be redundant with references to CarePlan.concern.", - "requirements": "Used for filtering what plan(s) are retrieved and displayed to different types of users.", - "min": 0, - "max": "*", - "base": { - "path": "CarePlan.category", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "CodeableConcept" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "CarePlanCategory" - } - ], - "strength": "example", - "description": "Identifies what \"kind\" of plan this is to support differentiation between multiple co-existing plans; e.g. \"Home health\", \"psychiatric\", \"asthma\", \"disease management\", etc.", - "valueSet": "http://hl7.org/fhir/ValueSet/care-plan-category" - }, - "mapping": [ - { - "identity": "w5", - "map": "FiveWs.class" - } - ] - }, - { - "id": "CarePlan.title", - "path": "CarePlan.title", - "short": "Human-friendly name for the care plan", - "definition": "Human-friendly name for the care plan.", - "min": 0, - "max": "1", - "base": { - "path": "CarePlan.title", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "string" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true - }, - { - "id": "CarePlan.description", - "path": "CarePlan.description", - "short": "Summary of nature of plan", - "definition": "A description of the scope and nature of the plan.", - "requirements": "Provides more detail than conveyed by category.", - "min": 0, - "max": "1", - "base": { - "path": "CarePlan.description", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "string" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "w5", - "map": "FiveWs.what[x]" - } - ] - }, - { - "id": "CarePlan.subject", - "path": "CarePlan.subject", - "short": "Who the care plan is for", - "definition": "Identifies the patient or group whose intended care is described by the plan.", - "alias": ["patient"], - "min": 1, - "max": "1", - "base": { - "path": "CarePlan.subject", - "min": 1, - "max": "1" - }, - "type": [ - { - "code": "Reference", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/Patient", - "http://hl7.org/fhir/StructureDefinition/Group" - ] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Request.subject" - }, - { - "identity": "w5", - "map": "FiveWs.subject[x]" - }, - { - "identity": "v2", - "map": "PID-3" - }, - { - "identity": "rim", - "map": ".participation[typeCode=PAT].role[classCode=PAT]" - }, - { - "identity": "w5", - "map": "FiveWs.subject" - } - ] - }, - { - "id": "CarePlan.encounter", - "path": "CarePlan.encounter", - "short": "Encounter created as part of", - "definition": "The Encounter during which this CarePlan was created or to which the creation of this record is tightly associated.", - "comment": "This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter. CarePlan activities conducted as a result of the care plan may well occur as part of other encounters.", - "min": 0, - "max": "1", - "base": { - "path": "CarePlan.encounter", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "Reference", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/Encounter"] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Request.context" - }, - { - "identity": "w5", - "map": "FiveWs.context" - }, - { - "identity": "v2", - "map": "Associated PV1" - }, - { - "identity": "rim", - "map": "." - } - ] - }, - { - "id": "CarePlan.period", - "path": "CarePlan.period", - "short": "Time period plan covers", - "definition": "Indicates when the plan did (or is intended to) come into effect and end.", - "comment": "Any activities scheduled as part of the plan should be constrained to the specified period regardless of whether the activities are planned within a single encounter/episode or across multiple encounters/episodes (e.g. the longitudinal management of a chronic condition).", - "requirements": "Allows tracking what plan(s) are in effect at a particular time.", - "alias": ["timing"], - "min": 0, - "max": "1", - "base": { - "path": "CarePlan.period", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "Period" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Request.occurrence[x]" - }, - { - "identity": "w5", - "map": "FiveWs.planned" - }, - { - "identity": "v2", - "map": "GOL-7 / GOL-8" - }, - { - "identity": "rim", - "map": ".effectiveTime" - } - ] - }, - { - "id": "CarePlan.created", - "path": "CarePlan.created", - "short": "Date record was first recorded", - "definition": "Represents when this particular CarePlan record was created in the system, which is often a system-generated date.", - "alias": ["authoredOn"], - "min": 0, - "max": "1", - "base": { - "path": "CarePlan.created", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "dateTime" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Request.authoredOn" - }, - { - "identity": "w5", - "map": "FiveWs.recorded" - }, - { - "identity": "rim", - "map": ".participation[typeCode=AUT].time" - } - ] - }, - { - "id": "CarePlan.author", - "path": "CarePlan.author", - "short": "Who is the designated responsible party", - "definition": "When populated, the author is responsible for the care plan. The care plan is attributed to the author.", - "comment": "The author may also be a contributor. For example, an organization can be an author, but not listed as a contributor.", - "min": 0, - "max": "1", - "base": { - "path": "CarePlan.author", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "Reference", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/Patient", - "http://hl7.org/fhir/StructureDefinition/Practitioner", - "http://hl7.org/fhir/StructureDefinition/PractitionerRole", - "http://hl7.org/fhir/StructureDefinition/Device", - "http://hl7.org/fhir/StructureDefinition/RelatedPerson", - "http://hl7.org/fhir/StructureDefinition/Organization", - "http://hl7.org/fhir/StructureDefinition/CareTeam" - ] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Request.requester" - }, - { - "identity": "w5", - "map": "FiveWs.author" - } - ] - }, - { - "id": "CarePlan.contributor", - "path": "CarePlan.contributor", - "short": "Who provided the content of the care plan", - "definition": "Identifies the individual(s) or organization who provided the contents of the care plan.", - "comment": "Collaborative care plans may have multiple contributors.", - "min": 0, - "max": "*", - "base": { - "path": "CarePlan.contributor", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Reference", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/Patient", - "http://hl7.org/fhir/StructureDefinition/Practitioner", - "http://hl7.org/fhir/StructureDefinition/PractitionerRole", - "http://hl7.org/fhir/StructureDefinition/Device", - "http://hl7.org/fhir/StructureDefinition/RelatedPerson", - "http://hl7.org/fhir/StructureDefinition/Organization", - "http://hl7.org/fhir/StructureDefinition/CareTeam" - ] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false - }, - { - "id": "CarePlan.careTeam", - "path": "CarePlan.careTeam", - "short": "Who's involved in plan?", - "definition": "Identifies all people and organizations who are expected to be involved in the care envisioned by this plan.", - "requirements": "Allows representation of care teams, helps scope care plan. In some cases may be a determiner of access permissions.", - "min": 0, - "max": "*", - "base": { - "path": "CarePlan.careTeam", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Reference", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/CareTeam"] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "workflow", - "map": "Request.performer {similar but does not entail CareTeam}" - }, - { - "identity": "w5", - "map": "FiveWs.actor" - } - ] - }, - { - "id": "CarePlan.addresses", - "path": "CarePlan.addresses", - "short": "Health issues this plan addresses", - "definition": "Identifies the conditions/problems/concerns/diagnoses/etc. whose management and/or mitigation are handled by this plan.", - "comment": "When the diagnosis is related to an allergy or intolerance, the Condition and AllergyIntolerance resources can both be used. However, to be actionable for decision support, using Condition alone is not sufficient as the allergy or intolerance condition needs to be represented as an AllergyIntolerance.", - "requirements": "Links plan to the conditions it manages. The element can identify risks addressed by the plan as well as active conditions. (The Condition resource can include things like \"at risk for hypertension\" or \"fall risk\".) Also scopes plans - multiple plans may exist addressing different concerns.", - "min": 0, - "max": "*", - "base": { - "path": "CarePlan.addresses", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Reference", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/Condition"] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Request.reasonReference" - }, - { - "identity": "w5", - "map": "FiveWs.why[x]" - }, - { - "identity": "v2", - "map": "PRB-4" - }, - { - "identity": "rim", - "map": ".actRelationship[typeCode=SUBJ].target[classCode=CONC, moodCode=EVN]" - } - ] - }, - { - "id": "CarePlan.supportingInfo", - "path": "CarePlan.supportingInfo", - "short": "Information considered as part of plan", - "definition": "Identifies portions of the patient's record that specifically influenced the formation of the plan. These might include comorbidities, recent procedures, limitations, recent assessments, etc.", - "comment": "Use \"concern\" to identify specific conditions addressed by the care plan.", - "requirements": "Identifies barriers and other considerations associated with the care plan.", - "min": 0, - "max": "*", - "base": { - "path": "CarePlan.supportingInfo", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Reference", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/Resource"] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "workflow", - "map": "Request.supportingInfo" - } - ] - }, - { - "id": "CarePlan.goal", - "path": "CarePlan.goal", - "short": "Desired outcome of plan", - "definition": "Describes the intended objective(s) of carrying out the care plan.", - "comment": "Goal can be achieving a particular change or merely maintaining a current state or even slowing a decline.", - "requirements": "Provides context for plan. Allows plan effectiveness to be evaluated by clinicians.", - "min": 0, - "max": "*", - "base": { - "path": "CarePlan.goal", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Reference", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/Goal"] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "v2", - "map": "GOL.1" - }, - { - "identity": "rim", - "map": ".outboundRelationship[typeCode<=OBJ]." - } - ] - }, - { - "id": "CarePlan.activity", - "path": "CarePlan.activity", - "short": "Action to occur as part of plan", - "definition": "Identifies a planned action to occur as part of the plan. For example, a medication to be used, lab tests to perform, self-monitoring, education, etc.", - "requirements": "Allows systems to prompt for performance of planned activities, and validate plans against best practice.", - "min": 0, - "max": "*", - "base": { - "path": "CarePlan.activity", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "BackboneElement" - } - ], - "constraint": [ - { - "key": "cpl-3", - "severity": "error", - "human": "Provide a reference or detail, not both", - "expression": "detail.empty() or reference.empty()", - "xpath": "not(exists(f:detail)) or not(exists(f:reference))" - }, - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "workflow", - "map": "{no mapping\nNOTE: This is a list of contained Request-Event tuples!}" - }, - { - "identity": "rim", - "map": ".outboundRelationship[typeCode=COMP].target" - } - ] - }, - { - "id": "CarePlan.activity.id", - "path": "CarePlan.activity.id", - "representation": ["xmlAttr"], - "short": "Unique id for inter-element referencing", - "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", - "min": 0, - "max": "1", - "base": { - "path": "Element.id", - "min": 0, - "max": "1" - }, - "type": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", - "valueUrl": "string" - } - ], - "code": "http://hl7.org/fhirpath/System.String" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "n/a" - } - ] - }, - { - "id": "CarePlan.activity.extension", - "path": "CarePlan.activity.extension", - "short": "Additional content defined by implementations", - "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", - "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", - "alias": ["extensions", "user content"], - "min": 0, - "max": "*", - "base": { - "path": "Element.extension", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Extension" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key": "ext-1", - "severity": "error", - "human": "Must have either extensions or value[x], not both", - "expression": "extension.exists() != value.exists()", - "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source": "http://hl7.org/fhir/StructureDefinition/Extension" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "n/a" - } - ] - }, - { - "id": "CarePlan.activity.modifierExtension", - "path": "CarePlan.activity.modifierExtension", - "short": "Extensions that cannot be ignored even if unrecognized", - "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", - "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", - "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).", - "alias": ["extensions", "user content", "modifiers"], - "min": 0, - "max": "*", - "base": { - "path": "BackboneElement.modifierExtension", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Extension" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key": "ext-1", - "severity": "error", - "human": "Must have either extensions or value[x], not both", - "expression": "extension.exists() != value.exists()", - "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source": "http://hl7.org/fhir/StructureDefinition/Extension" - } - ], - "isModifier": true, - "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them", - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": "N/A" - } - ] - }, - { - "id": "CarePlan.activity.outcomeCodeableConcept", - "path": "CarePlan.activity.outcomeCodeableConcept", - "short": "Results of the activity", - "definition": "Identifies the outcome at the point when the status of the activity is assessed. For example, the outcome of an education activity could be patient understands (or not).", - "comment": "Note that this should not duplicate the activity status (e.g. completed or in progress).", - "min": 0, - "max": "*", - "base": { - "path": "CarePlan.activity.outcomeCodeableConcept", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "CodeableConcept" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "CarePlanActivityOutcome" - } - ], - "strength": "example", - "description": "Identifies the results of the activity.", - "valueSet": "http://hl7.org/fhir/ValueSet/care-plan-activity-outcome" - } - }, - { - "id": "CarePlan.activity.outcomeReference", - "path": "CarePlan.activity.outcomeReference", - "short": "Appointment, Encounter, Procedure, etc.", - "definition": "Details of the outcome or action resulting from the activity. The reference to an \"event\" resource, such as Procedure or Encounter or Observation, is the result/outcome of the activity itself. The activity can be conveyed using CarePlan.activity.detail OR using the CarePlan.activity.reference (a reference to a “request” resource).", - "comment": "The activity outcome is independent of the outcome of the related goal(s). For example, if the goal is to achieve a target body weight of 150 lbs and an activity is defined to diet, then the activity outcome could be calories consumed whereas the goal outcome is an observation for the actual body weight measured.", - "requirements": "Links plan to resulting actions.", - "min": 0, - "max": "*", - "base": { - "path": "CarePlan.activity.outcomeReference", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Reference", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/Resource"] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "workflow", - "map": "{Event that is outcome of Request in activity.reference}" - }, - { - "identity": "rim", - "map": ".inboundRelationship[typeCode=FLFS].source" - } - ] - }, - { - "id": "CarePlan.activity.progress", - "path": "CarePlan.activity.progress", - "short": "Comments about the activity status/progress", - "definition": "Notes about the adherence/status/progress of the activity.", - "comment": "This element should NOT be used to describe the activity to be performed - that occurs either within the resource pointed to by activity.detail.reference or in activity.detail.description.", - "requirements": "Can be used to capture information about adherence, progress, concerns, etc.", - "min": 0, - "max": "*", - "base": { - "path": "CarePlan.activity.progress", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Annotation" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "v2", - "map": "NTE?" - }, - { - "identity": "rim", - "map": ".inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code=\"annotation\"].value" - } - ] - }, - { - "id": "CarePlan.activity.reference", - "path": "CarePlan.activity.reference", - "short": "Activity details defined in specific resource", - "definition": "The details of the proposed activity represented in a specific resource.", - "comment": "Standard extension exists ([resource-pertainsToGoal](extension-resource-pertainstogoal.html)) that allows goals to be referenced from any of the referenced resources in CarePlan.activity.reference. \rThe goal should be visible when the resource referenced by CarePlan.activity.reference is viewed independently from the CarePlan. Requests that are pointed to by a CarePlan using this element should *not* point to this CarePlan using the \"basedOn\" element. i.e. Requests that are part of a CarePlan are not \"based on\" the CarePlan.", - "requirements": "Details in a form consistent with other applications and contexts of use.", - "min": 0, - "max": "1", - "base": { - "path": "CarePlan.activity.reference", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "Reference", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/Appointment", - "http://hl7.org/fhir/StructureDefinition/CommunicationRequest", - "http://hl7.org/fhir/StructureDefinition/DeviceRequest", - "http://hl7.org/fhir/StructureDefinition/MedicationRequest", - "http://hl7.org/fhir/StructureDefinition/NutritionOrder", - "http://hl7.org/fhir/StructureDefinition/Task", - "http://hl7.org/fhir/StructureDefinition/ServiceRequest", - "http://hl7.org/fhir/StructureDefinition/VisionPrescription", - "http://hl7.org/fhir/StructureDefinition/RequestGroup" - ] - } - ], - "condition": ["cpl-3"], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "workflow", - "map": "{Request that resulted in Event in activity.actionResulting}" - }, - { - "identity": "rim", - "map": ".outboundRelationship[typeCode=COMP].target" - } - ] - }, - { - "id": "CarePlan.activity.detail", - "path": "CarePlan.activity.detail", - "short": "In-line definition of activity", - "definition": "A simple summary of a planned activity suitable for a general care plan system (e.g. form driven) that doesn't know about specific resources such as procedure etc.", - "requirements": "Details in a simple form for generic care plan systems.", - "min": 0, - "max": "1", - "base": { - "path": "CarePlan.activity.detail", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "BackboneElement" - } - ], - "condition": ["cpl-3"], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": ".outboundRelationship[typeCode=COMP, subsetCode=SUMM].target" - } - ] - }, - { - "id": "CarePlan.activity.detail.id", - "path": "CarePlan.activity.detail.id", - "representation": ["xmlAttr"], - "short": "Unique id for inter-element referencing", - "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", - "min": 0, - "max": "1", - "base": { - "path": "Element.id", - "min": 0, - "max": "1" - }, - "type": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", - "valueUrl": "string" - } - ], - "code": "http://hl7.org/fhirpath/System.String" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "n/a" - } - ] - }, - { - "id": "CarePlan.activity.detail.extension", - "path": "CarePlan.activity.detail.extension", - "short": "Additional content defined by implementations", - "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", - "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", - "alias": ["extensions", "user content"], - "min": 0, - "max": "*", - "base": { - "path": "Element.extension", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Extension" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key": "ext-1", - "severity": "error", - "human": "Must have either extensions or value[x], not both", - "expression": "extension.exists() != value.exists()", - "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source": "http://hl7.org/fhir/StructureDefinition/Extension" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "n/a" - } - ] - }, - { - "id": "CarePlan.activity.detail.modifierExtension", - "path": "CarePlan.activity.detail.modifierExtension", - "short": "Extensions that cannot be ignored even if unrecognized", - "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", - "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", - "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).", - "alias": ["extensions", "user content", "modifiers"], - "min": 0, - "max": "*", - "base": { - "path": "BackboneElement.modifierExtension", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Extension" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key": "ext-1", - "severity": "error", - "human": "Must have either extensions or value[x], not both", - "expression": "extension.exists() != value.exists()", - "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source": "http://hl7.org/fhir/StructureDefinition/Extension" - } - ], - "isModifier": true, - "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them", - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": "N/A" - } - ] - }, - { - "id": "CarePlan.activity.detail.kind", - "path": "CarePlan.activity.detail.kind", - "short": "Appointment | CommunicationRequest | DeviceRequest | MedicationRequest | NutritionOrder | Task | ServiceRequest | VisionPrescription", - "definition": "A description of the kind of resource the in-line definition of a care plan activity is representing. The CarePlan.activity.detail is an in-line definition when a resource is not referenced using CarePlan.activity.reference. For example, a MedicationRequest, a ServiceRequest, or a CommunicationRequest.", - "requirements": "May determine what types of extensions are permitted.", - "min": 0, - "max": "1", - "base": { - "path": "CarePlan.activity.detail.kind", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "code" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "CarePlanActivityKind" - } - ], - "strength": "required", - "description": "Resource types defined as part of FHIR that can be represented as in-line definitions of a care plan activity.", - "valueSet": "http://hl7.org/fhir/ValueSet/care-plan-activity-kind|4.0.1" - }, - "mapping": [ - { - "identity": "rim", - "map": ".inboundRelationship[typeCode=COMP].source[classCode=LIST].code" - } - ] - }, - { - "id": "CarePlan.activity.detail.instantiatesCanonical", - "path": "CarePlan.activity.detail.instantiatesCanonical", - "short": "Instantiates FHIR protocol or definition", - "definition": "The URL pointing to a FHIR-defined protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan activity.", - "requirements": "Allows Questionnaires that the patient (or practitioner) should fill in to fulfill the care plan activity.", - "min": 0, - "max": "*", - "base": { - "path": "CarePlan.activity.detail.instantiatesCanonical", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "canonical", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/PlanDefinition", - "http://hl7.org/fhir/StructureDefinition/ActivityDefinition", - "http://hl7.org/fhir/StructureDefinition/Questionnaire", - "http://hl7.org/fhir/StructureDefinition/Measure", - "http://hl7.org/fhir/StructureDefinition/OperationDefinition" - ] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "workflow", - "map": "Request.instantiatesCanonical" - }, - { - "identity": "rim", - "map": ".outboundRelationship[typeCode=DEFN].target" - } - ] - }, - { - "id": "CarePlan.activity.detail.instantiatesUri", - "path": "CarePlan.activity.detail.instantiatesUri", - "short": "Instantiates external protocol or definition", - "definition": "The URL pointing to an externally maintained protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan activity.", - "comment": "This might be an HTML page, PDF, etc. or could just be a non-resolvable URI identifier.", - "requirements": "Allows Questionnaires that the patient (or practitioner) should fill in to fulfill the care plan activity.", - "min": 0, - "max": "*", - "base": { - "path": "CarePlan.activity.detail.instantiatesUri", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "uri" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "workflow", - "map": "Request.instantiatesUri" - }, - { - "identity": "rim", - "map": ".outboundRelationship[typeCode=DEFN].target" - } - ] - }, - { - "id": "CarePlan.activity.detail.code", - "path": "CarePlan.activity.detail.code", - "short": "Detail type of activity", - "definition": "Detailed description of the type of planned activity; e.g. what lab test, what procedure, what kind of encounter.", - "comment": "Tends to be less relevant for activities involving particular products. Codes should not convey negation - use \"prohibited\" instead.", - "requirements": "Allows matching performed to planned as well as validation against protocols.", - "min": 0, - "max": "1", - "base": { - "path": "CarePlan.activity.detail.code", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "CodeableConcept" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "CarePlanActivityType" - } - ], - "strength": "example", - "description": "Detailed description of the type of activity; e.g. What lab test, what procedure, what kind of encounter.", - "valueSet": "http://hl7.org/fhir/ValueSet/procedure-code" - }, - "mapping": [ - { - "identity": "workflow", - "map": "Request.code" - }, - { - "identity": "v2", - "map": "OBR-4 / RXE-2 / RXO-1 / RXD-2" - }, - { - "identity": "rim", - "map": ".code" - } - ] - }, - { - "id": "CarePlan.activity.detail.reasonCode", - "path": "CarePlan.activity.detail.reasonCode", - "short": "Why activity should be done or why activity was prohibited", - "definition": "Provides the rationale that drove the inclusion of this particular activity as part of the plan or the reason why the activity was prohibited.", - "comment": "This could be a diagnosis code. If a full condition record exists or additional detail is needed, use reasonCondition instead.", - "min": 0, - "max": "*", - "base": { - "path": "CarePlan.activity.detail.reasonCode", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "CodeableConcept" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "CarePlanActivityReason" - } - ], - "strength": "example", - "description": "Identifies why a care plan activity is needed. Can include any health condition codes as well as such concepts as \"general wellness\", prophylaxis, surgical preparation, etc.", - "valueSet": "http://hl7.org/fhir/ValueSet/clinical-findings" - }, - "mapping": [ - { - "identity": "workflow", - "map": "Request.reasonCode" - } - ] - }, - { - "id": "CarePlan.activity.detail.reasonReference", - "path": "CarePlan.activity.detail.reasonReference", - "short": "Why activity is needed", - "definition": "Indicates another resource, such as the health condition(s), whose existence justifies this request and drove the inclusion of this particular activity as part of the plan.", - "comment": "Conditions can be identified at the activity level that are not identified as reasons for the overall plan.", - "min": 0, - "max": "*", - "base": { - "path": "CarePlan.activity.detail.reasonReference", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Reference", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/Condition", - "http://hl7.org/fhir/StructureDefinition/Observation", - "http://hl7.org/fhir/StructureDefinition/DiagnosticReport", - "http://hl7.org/fhir/StructureDefinition/DocumentReference" - ] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "workflow", - "map": "Request.reasonReference" - } - ] - }, - { - "id": "CarePlan.activity.detail.goal", - "path": "CarePlan.activity.detail.goal", - "short": "Goals this activity relates to", - "definition": "Internal reference that identifies the goals that this activity is intended to contribute towards meeting.", - "requirements": "So that participants know the link explicitly.", - "min": 0, - "max": "*", - "base": { - "path": "CarePlan.activity.detail.goal", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Reference", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/Goal"] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": ".outboundRelationship[typeCode<=OBJ]." - } - ] - }, - { - "id": "CarePlan.activity.detail.status", - "path": "CarePlan.activity.detail.status", - "short": "not-started | scheduled | in-progress | on-hold | completed | cancelled | stopped | unknown | entered-in-error", - "definition": "Identifies what progress is being made for the specific activity.", - "comment": "Some aspects of status can be inferred based on the resources linked in actionTaken. Note that \"status\" is only as current as the plan was most recently updated. \nThe unknown code is not to be used to convey other statuses. The unknown code should be used when one of the statuses applies, but the authoring system doesn't know the current state of the activity.", - "requirements": "Indicates progress against the plan, whether the activity is still relevant for the plan.", - "min": 1, - "max": "1", - "base": { - "path": "CarePlan.activity.detail.status", - "min": 1, - "max": "1" - }, - "type": [ - { - "code": "code" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": true, - "isModifierReason": "This element is labelled as a modifier because it is a status element that contains status entered-in-error which means that the activity should not be treated as valid", - "isSummary": false, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "CarePlanActivityStatus" - } - ], - "strength": "required", - "description": "Codes that reflect the current state of a care plan activity within its overall life cycle.", - "valueSet": "http://hl7.org/fhir/ValueSet/care-plan-activity-status|4.0.1" - }, - "mapping": [ - { - "identity": "workflow", - "map": "Request.status" - }, - { - "identity": "v2", - "map": "ORC-5?" - }, - { - "identity": "rim", - "map": ".statusCode not-started = new scheduled = not-started (and fulfillment relationship to appointent) in-progress = active on-hold = suspended completed = completed cancelled = aborted" - } - ] - }, - { - "id": "CarePlan.activity.detail.statusReason", - "path": "CarePlan.activity.detail.statusReason", - "short": "Reason for current status", - "definition": "Provides reason why the activity isn't yet started, is on hold, was cancelled, etc.", - "comment": "Will generally not be present if status is \"complete\". Be sure to prompt to update this (or at least remove the existing value) if the status is changed.", - "min": 0, - "max": "1", - "base": { - "path": "CarePlan.activity.detail.statusReason", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "CodeableConcept" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "workflow", - "map": "Request.statusReason" - } - ] - }, - { - "id": "CarePlan.activity.detail.doNotPerform", - "path": "CarePlan.activity.detail.doNotPerform", - "short": "If true, activity is prohibiting action", - "definition": "If true, indicates that the described activity is one that must NOT be engaged in when following the plan. If false, or missing, indicates that the described activity is one that should be engaged in when following the plan.", - "comment": "This element is labeled as a modifier because it marks an activity as an activity that is not to be performed.", - "requirements": "Captures intention to not do something that may have been previously typical.", - "min": 0, - "max": "1", - "base": { - "path": "CarePlan.activity.detail.doNotPerform", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "boolean" - } - ], - "meaningWhenMissing": "If missing indicates that the described activity is one that should be engaged in when following the plan.", - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": true, - "isModifierReason": "If true this element negates the specified action. For example, instead of a request for a procedure, it is a request for the procedure to not occur.", - "isSummary": false, - "mapping": [ - { - "identity": "workflow", - "map": "Request.doNotPerform" - }, - { - "identity": "rim", - "map": "actionNegationInd" - } - ] - }, - { - "id": "CarePlan.activity.detail.scheduled[x]", - "path": "CarePlan.activity.detail.scheduled[x]", - "short": "When activity is to occur", - "definition": "The period, timing or frequency upon which the described activity is to occur.", - "requirements": "Allows prompting for activities and detection of missed planned activities.", - "min": 0, - "max": "1", - "base": { - "path": "CarePlan.activity.detail.scheduled[x]", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "Timing" - }, - { - "code": "Period" - }, - { - "code": "string" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "workflow", - "map": "Request.occurrence[x]" - }, - { - "identity": "v2", - "map": "TQ1" - }, - { - "identity": "rim", - "map": ".effectiveTime" - } - ] - }, - { - "id": "CarePlan.activity.detail.location", - "path": "CarePlan.activity.detail.location", - "short": "Where it should happen", - "definition": "Identifies the facility where the activity will occur; e.g. home, hospital, specific clinic, etc.", - "comment": "May reference a specific clinical location or may identify a type of location.", - "requirements": "Helps in planning of activity.", - "min": 0, - "max": "1", - "base": { - "path": "CarePlan.activity.detail.location", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "Reference", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/Location"] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "v2", - "map": "OBR-24(???!!)" - }, - { - "identity": "rim", - "map": ".participation[typeCode=LOC].role" - } - ] - }, - { - "id": "CarePlan.activity.detail.performer", - "path": "CarePlan.activity.detail.performer", - "short": "Who will be responsible?", - "definition": "Identifies who's expected to be involved in the activity.", - "comment": "A performer MAY also be a participant in the care plan.", - "requirements": "Helps in planning of activity.", - "min": 0, - "max": "*", - "base": { - "path": "CarePlan.activity.detail.performer", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Reference", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/Practitioner", - "http://hl7.org/fhir/StructureDefinition/PractitionerRole", - "http://hl7.org/fhir/StructureDefinition/Organization", - "http://hl7.org/fhir/StructureDefinition/RelatedPerson", - "http://hl7.org/fhir/StructureDefinition/Patient", - "http://hl7.org/fhir/StructureDefinition/CareTeam", - "http://hl7.org/fhir/StructureDefinition/HealthcareService", - "http://hl7.org/fhir/StructureDefinition/Device" - ] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "workflow", - "map": "Request.performer" - }, - { - "identity": "v2", - "map": "PRT-5 : ( PRV-4 = (provider participations)); PRT-5 : ( PRV-4 = (non-provider person participations )) ; PRT-5 : ( PRV-4 = (patient non-subject of care) ) ; PRT-8" - }, - { - "identity": "rim", - "map": ".participation[typeCode=PFM]" - } - ] - }, - { - "id": "CarePlan.activity.detail.product[x]", - "path": "CarePlan.activity.detail.product[x]", - "short": "What is to be administered/supplied", - "definition": "Identifies the food, drug or other product to be consumed or supplied in the activity.", - "min": 0, - "max": "1", - "base": { - "path": "CarePlan.activity.detail.product[x]", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "CodeableConcept" - }, - { - "code": "Reference", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/Medication", - "http://hl7.org/fhir/StructureDefinition/Substance" - ] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "CarePlanProduct" - } - ], - "strength": "example", - "description": "A product supplied or administered as part of a care plan activity.", - "valueSet": "http://hl7.org/fhir/ValueSet/medication-codes" - }, - "mapping": [ - { - "identity": "v2", - "map": "RXE-2 / RXO-1 / RXD-2" - }, - { - "identity": "rim", - "map": ".participation[typeCode=PRD].role" - } - ] - }, - { - "id": "CarePlan.activity.detail.dailyAmount", - "path": "CarePlan.activity.detail.dailyAmount", - "short": "How to consume/day?", - "definition": "Identifies the quantity expected to be consumed in a given day.", - "requirements": "Allows rough dose checking.", - "alias": ["daily dose"], - "min": 0, - "max": "1", - "base": { - "path": "CarePlan.activity.detail.dailyAmount", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "Quantity", - "profile": ["http://hl7.org/fhir/StructureDefinition/SimpleQuantity"] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "v2", - "map": "RXO-23 / RXE-19 / RXD-12" - }, - { - "identity": "rim", - "map": ".outboundRelationship[typeCode=COMP][classCode=SBADM].doseQuantity" - } - ] - }, - { - "id": "CarePlan.activity.detail.quantity", - "path": "CarePlan.activity.detail.quantity", - "short": "How much to administer/supply/consume", - "definition": "Identifies the quantity expected to be supplied, administered or consumed by the subject.", - "min": 0, - "max": "1", - "base": { - "path": "CarePlan.activity.detail.quantity", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "Quantity", - "profile": ["http://hl7.org/fhir/StructureDefinition/SimpleQuantity"] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "v2", - "map": "RXO-11 / RXE-10 / RXD-4 / RXG-5 / RXA-6 / TQ1-2.1 *and* RXO-12 / RXE-11 / RXD-5 / RXG-7 / RXA-7 / TQ1-2.2" - }, - { - "identity": "rim", - "map": ".outboundRelationship[typeCode=COMP][classCode=SPLY].quantity" - } - ] - }, - { - "id": "CarePlan.activity.detail.description", - "path": "CarePlan.activity.detail.description", - "short": "Extra info describing activity to perform", - "definition": "This provides a textual description of constraints on the intended activity occurrence, including relation to other activities. It may also include objectives, pre-conditions and end-conditions. Finally, it may convey specifics about the activity such as body site, method, route, etc.", - "min": 0, - "max": "1", - "base": { - "path": "CarePlan.activity.detail.description", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "string" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "v2", - "map": "NTE?" - }, - { - "identity": "rim", - "map": ".text" - } - ] - }, - { - "id": "CarePlan.note", - "path": "CarePlan.note", - "short": "Comments about the plan", - "definition": "General notes about the care plan not covered elsewhere.", - "requirements": "Used to capture information that applies to the plan as a whole that doesn't fit into discrete elements.", - "min": 0, - "max": "*", - "base": { - "path": "CarePlan.note", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Annotation" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "workflow", - "map": "Request.note" - }, - { - "identity": "v2", - "map": "NTE?" - }, - { - "identity": "rim", - "map": ".inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code=\"annotation\"].value" - } - ] - } - ] - }, - "differential": { - "element": [ - { - "id": "CarePlan", - "path": "CarePlan", - "short": "Healthcare plan for patient or group", - "definition": "Describes the intention of how one or more practitioners intend to deliver care for a particular patient, group or community for a period of time, possibly limited to care for a specific condition or set of conditions.", - "alias": ["Care Team"], - "min": 0, - "max": "*", - "mapping": [ - { - "identity": "workflow", - "map": "Request" - }, - { - "identity": "rim", - "map": "Act[classCode=PCPR, moodCode=INT]" - } - ] - }, - { - "id": "CarePlan.identifier", - "path": "CarePlan.identifier", - "short": "External Ids for this plan", - "definition": "Business identifiers assigned to this care plan by the performer or other systems which remain constant as the resource is updated and propagates from server to server.", - "comment": "This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number.", - "requirements": "Allows identification of the care plan as it is known by various participating systems and in a way that remains consistent across servers.", - "min": 0, - "max": "*", - "type": [ - { - "code": "Identifier" - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Request.identifier" - }, - { - "identity": "w5", - "map": "FiveWs.identifier" - }, - { - "identity": "v2", - "map": "PTH-3" - }, - { - "identity": "rim", - "map": ".id" - } - ] - }, - { - "id": "CarePlan.instantiatesCanonical", - "path": "CarePlan.instantiatesCanonical", - "short": "Instantiates FHIR protocol or definition", - "definition": "The URL pointing to a FHIR-defined protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan.", - "min": 0, - "max": "*", - "type": [ - { - "code": "canonical", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/PlanDefinition", - "http://hl7.org/fhir/StructureDefinition/Questionnaire", - "http://hl7.org/fhir/StructureDefinition/Measure", - "http://hl7.org/fhir/StructureDefinition/ActivityDefinition", - "http://hl7.org/fhir/StructureDefinition/OperationDefinition" - ] - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Request.instantiatesCanonical" - }, - { - "identity": "rim", - "map": ".outboundRelationship[typeCode=DEFN].target" - } - ] - }, - { - "id": "CarePlan.instantiatesUri", - "path": "CarePlan.instantiatesUri", - "short": "Instantiates external protocol or definition", - "definition": "The URL pointing to an externally maintained protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan.", - "comment": "This might be an HTML page, PDF, etc. or could just be a non-resolvable URI identifier.", - "min": 0, - "max": "*", - "type": [ - { - "code": "uri" - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Request.instantiatesUri" - }, - { - "identity": "rim", - "map": ".outboundRelationship[typeCode=DEFN].target" - } - ] - }, - { - "id": "CarePlan.basedOn", - "path": "CarePlan.basedOn", - "short": "Fulfills CarePlan", - "definition": "A care plan that is fulfilled in whole or in part by this care plan.", - "requirements": "Allows tracing of the care plan and tracking whether proposals/recommendations were acted upon.", - "alias": ["fulfills"], - "min": 0, - "max": "*", - "type": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-hierarchy", - "valueBoolean": true - } - ], - "code": "Reference", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/CarePlan"] - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Request.basedOn" - } - ] - }, - { - "id": "CarePlan.replaces", - "path": "CarePlan.replaces", - "short": "CarePlan replaced by this CarePlan", - "definition": "Completed or terminated care plan whose function is taken by this new care plan.", - "comment": "The replacement could be because the initial care plan was immediately rejected (due to an issue) or because the previous care plan was completed, but the need for the action described by the care plan remains ongoing.", - "requirements": "Allows tracing the continuation of a therapy or administrative process instantiated through multiple care plans.", - "alias": ["supersedes"], - "min": 0, - "max": "*", - "type": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-hierarchy", - "valueBoolean": true - } - ], - "code": "Reference", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/CarePlan"] - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Request.replaces" - } - ] - }, - { - "id": "CarePlan.partOf", - "path": "CarePlan.partOf", - "short": "Part of referenced CarePlan", - "definition": "A larger care plan of which this particular care plan is a component or step.", - "comment": "Each care plan is an independent request, such that having a care plan be part of another care plan can cause issues with cascading statuses. As such, this element is still being discussed.", - "min": 0, - "max": "*", - "type": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-hierarchy", - "valueBoolean": true - } - ], - "code": "Reference", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/CarePlan"] - } - ], - "isSummary": true - }, - { - "id": "CarePlan.status", - "path": "CarePlan.status", - "short": "draft | active | on-hold | revoked | completed | entered-in-error | unknown", - "definition": "Indicates whether the plan is currently being acted upon, represents future intentions or is now a historical record.", - "comment": "The unknown code is not to be used to convey other statuses. The unknown code should be used when one of the statuses applies, but the authoring system doesn't know the current state of the care plan.\n\nThis element is labeled as a modifier because the status contains the code entered-in-error that marks the plan as not currently valid.", - "requirements": "Allows clinicians to determine whether the plan is actionable or not.", - "min": 1, - "max": "1", - "type": [ - { - "code": "code" - } - ], - "isModifier": true, - "isModifierReason": "This element is labeled as a modifier because it is a status element that contains status entered-in-error which means that the resource should not be treated as valid", - "isSummary": true, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "CarePlanStatus" - } - ], - "strength": "required", - "description": "Indicates whether the plan is currently being acted upon, represents future intentions or is now a historical record.", - "valueSet": "http://hl7.org/fhir/ValueSet/request-status|4.0.1" - }, - "mapping": [ - { - "identity": "workflow", - "map": "Request.status {uses different ValueSet}" - }, - { - "identity": "w5", - "map": "FiveWs.status" - }, - { - "identity": "v2", - "map": "PTH-5" - }, - { - "identity": "rim", - "map": ".statusCode planned = new active = active completed = completed" - } - ] - }, - { - "id": "CarePlan.intent", - "path": "CarePlan.intent", - "short": "proposal | plan | order | option", - "definition": "Indicates the level of authority/intentionality associated with the care plan and where the care plan fits into the workflow chain.", - "comment": "This element is labeled as a modifier because the intent alters when and how the resource is actually applicable.", - "requirements": "Proposals/recommendations, plans and orders all use the same structure and can exist in the same fulfillment chain.", - "min": 1, - "max": "1", - "type": [ - { - "code": "code" - } - ], - "isModifier": true, - "isModifierReason": "This element changes the interpretation of all descriptive attributes. For example \"the time the request is recommended to occur\" vs. \"the time the request is authorized to occur\" or \"who is recommended to perform the request\" vs. \"who is authorized to perform the request\"", - "isSummary": true, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "CarePlanIntent" - } - ], - "strength": "required", - "description": "Codes indicating the degree of authority/intentionality associated with a care plan.", - "valueSet": "http://hl7.org/fhir/ValueSet/care-plan-intent|4.0.1" - }, - "mapping": [ - { - "identity": "workflow", - "map": "Request.intent" - } - ] - }, - { - "id": "CarePlan.category", - "path": "CarePlan.category", - "short": "Type of plan", - "definition": "Identifies what \"kind\" of plan this is to support differentiation between multiple co-existing plans; e.g. \"Home health\", \"psychiatric\", \"asthma\", \"disease management\", \"wellness plan\", etc.", - "comment": "There may be multiple axes of categorization and one plan may serve multiple purposes. In some cases, this may be redundant with references to CarePlan.concern.", - "requirements": "Used for filtering what plan(s) are retrieved and displayed to different types of users.", - "min": 0, - "max": "*", - "type": [ - { - "code": "CodeableConcept" - } - ], - "isSummary": true, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "CarePlanCategory" - } - ], - "strength": "example", - "description": "Identifies what \"kind\" of plan this is to support differentiation between multiple co-existing plans; e.g. \"Home health\", \"psychiatric\", \"asthma\", \"disease management\", etc.", - "valueSet": "http://hl7.org/fhir/ValueSet/care-plan-category" - }, - "mapping": [ - { - "identity": "w5", - "map": "FiveWs.class" - } - ] - }, - { - "id": "CarePlan.title", - "path": "CarePlan.title", - "short": "Human-friendly name for the care plan", - "definition": "Human-friendly name for the care plan.", - "min": 0, - "max": "1", - "type": [ - { - "code": "string" - } - ], - "isSummary": true - }, - { - "id": "CarePlan.description", - "path": "CarePlan.description", - "short": "Summary of nature of plan", - "definition": "A description of the scope and nature of the plan.", - "requirements": "Provides more detail than conveyed by category.", - "min": 0, - "max": "1", - "type": [ - { - "code": "string" - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "w5", - "map": "FiveWs.what[x]" - } - ] - }, - { - "id": "CarePlan.subject", - "path": "CarePlan.subject", - "short": "Who the care plan is for", - "definition": "Identifies the patient or group whose intended care is described by the plan.", - "alias": ["patient"], - "min": 1, - "max": "1", - "type": [ - { - "code": "Reference", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/Patient", - "http://hl7.org/fhir/StructureDefinition/Group" - ] - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Request.subject" - }, - { - "identity": "w5", - "map": "FiveWs.subject[x]" - }, - { - "identity": "v2", - "map": "PID-3" - }, - { - "identity": "rim", - "map": ".participation[typeCode=PAT].role[classCode=PAT]" - }, - { - "identity": "w5", - "map": "FiveWs.subject" - } - ] - }, - { - "id": "CarePlan.encounter", - "path": "CarePlan.encounter", - "short": "Encounter created as part of", - "definition": "The Encounter during which this CarePlan was created or to which the creation of this record is tightly associated.", - "comment": "This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter. CarePlan activities conducted as a result of the care plan may well occur as part of other encounters.", - "min": 0, - "max": "1", - "type": [ - { - "code": "Reference", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/Encounter"] - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Request.context" - }, - { - "identity": "w5", - "map": "FiveWs.context" - }, - { - "identity": "v2", - "map": "Associated PV1" - }, - { - "identity": "rim", - "map": "." - } - ] - }, - { - "id": "CarePlan.period", - "path": "CarePlan.period", - "short": "Time period plan covers", - "definition": "Indicates when the plan did (or is intended to) come into effect and end.", - "comment": "Any activities scheduled as part of the plan should be constrained to the specified period regardless of whether the activities are planned within a single encounter/episode or across multiple encounters/episodes (e.g. the longitudinal management of a chronic condition).", - "requirements": "Allows tracking what plan(s) are in effect at a particular time.", - "alias": ["timing"], - "min": 0, - "max": "1", - "type": [ - { - "code": "Period" - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Request.occurrence[x]" - }, - { - "identity": "w5", - "map": "FiveWs.planned" - }, - { - "identity": "v2", - "map": "GOL-7 / GOL-8" - }, - { - "identity": "rim", - "map": ".effectiveTime" - } - ] - }, - { - "id": "CarePlan.created", - "path": "CarePlan.created", - "short": "Date record was first recorded", - "definition": "Represents when this particular CarePlan record was created in the system, which is often a system-generated date.", - "alias": ["authoredOn"], - "min": 0, - "max": "1", - "type": [ - { - "code": "dateTime" - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Request.authoredOn" - }, - { - "identity": "w5", - "map": "FiveWs.recorded" - }, - { - "identity": "rim", - "map": ".participation[typeCode=AUT].time" - } - ] - }, - { - "id": "CarePlan.author", - "path": "CarePlan.author", - "short": "Who is the designated responsible party", - "definition": "When populated, the author is responsible for the care plan. The care plan is attributed to the author.", - "comment": "The author may also be a contributor. For example, an organization can be an author, but not listed as a contributor.", - "min": 0, - "max": "1", - "type": [ - { - "code": "Reference", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/Patient", - "http://hl7.org/fhir/StructureDefinition/Practitioner", - "http://hl7.org/fhir/StructureDefinition/PractitionerRole", - "http://hl7.org/fhir/StructureDefinition/Device", - "http://hl7.org/fhir/StructureDefinition/RelatedPerson", - "http://hl7.org/fhir/StructureDefinition/Organization", - "http://hl7.org/fhir/StructureDefinition/CareTeam" - ] - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Request.requester" - }, - { - "identity": "w5", - "map": "FiveWs.author" - } - ] - }, - { - "id": "CarePlan.contributor", - "path": "CarePlan.contributor", - "short": "Who provided the content of the care plan", - "definition": "Identifies the individual(s) or organization who provided the contents of the care plan.", - "comment": "Collaborative care plans may have multiple contributors.", - "min": 0, - "max": "*", - "type": [ - { - "code": "Reference", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/Patient", - "http://hl7.org/fhir/StructureDefinition/Practitioner", - "http://hl7.org/fhir/StructureDefinition/PractitionerRole", - "http://hl7.org/fhir/StructureDefinition/Device", - "http://hl7.org/fhir/StructureDefinition/RelatedPerson", - "http://hl7.org/fhir/StructureDefinition/Organization", - "http://hl7.org/fhir/StructureDefinition/CareTeam" - ] - } - ] - }, - { - "id": "CarePlan.careTeam", - "path": "CarePlan.careTeam", - "short": "Who's involved in plan?", - "definition": "Identifies all people and organizations who are expected to be involved in the care envisioned by this plan.", - "requirements": "Allows representation of care teams, helps scope care plan. In some cases may be a determiner of access permissions.", - "min": 0, - "max": "*", - "type": [ - { - "code": "Reference", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/CareTeam"] - } - ], - "mapping": [ - { - "identity": "workflow", - "map": "Request.performer {similar but does not entail CareTeam}" - }, - { - "identity": "w5", - "map": "FiveWs.actor" - } - ] - }, - { - "id": "CarePlan.addresses", - "path": "CarePlan.addresses", - "short": "Health issues this plan addresses", - "definition": "Identifies the conditions/problems/concerns/diagnoses/etc. whose management and/or mitigation are handled by this plan.", - "comment": "When the diagnosis is related to an allergy or intolerance, the Condition and AllergyIntolerance resources can both be used. However, to be actionable for decision support, using Condition alone is not sufficient as the allergy or intolerance condition needs to be represented as an AllergyIntolerance.", - "requirements": "Links plan to the conditions it manages. The element can identify risks addressed by the plan as well as active conditions. (The Condition resource can include things like \"at risk for hypertension\" or \"fall risk\".) Also scopes plans - multiple plans may exist addressing different concerns.", - "min": 0, - "max": "*", - "type": [ - { - "code": "Reference", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/Condition"] - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Request.reasonReference" - }, - { - "identity": "w5", - "map": "FiveWs.why[x]" - }, - { - "identity": "v2", - "map": "PRB-4" - }, - { - "identity": "rim", - "map": ".actRelationship[typeCode=SUBJ].target[classCode=CONC, moodCode=EVN]" - } - ] - }, - { - "id": "CarePlan.supportingInfo", - "path": "CarePlan.supportingInfo", - "short": "Information considered as part of plan", - "definition": "Identifies portions of the patient's record that specifically influenced the formation of the plan. These might include comorbidities, recent procedures, limitations, recent assessments, etc.", - "comment": "Use \"concern\" to identify specific conditions addressed by the care plan.", - "requirements": "Identifies barriers and other considerations associated with the care plan.", - "min": 0, - "max": "*", - "type": [ - { - "code": "Reference", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/Resource"] - } - ], - "mapping": [ - { - "identity": "workflow", - "map": "Request.supportingInfo" - } - ] - }, - { - "id": "CarePlan.goal", - "path": "CarePlan.goal", - "short": "Desired outcome of plan", - "definition": "Describes the intended objective(s) of carrying out the care plan.", - "comment": "Goal can be achieving a particular change or merely maintaining a current state or even slowing a decline.", - "requirements": "Provides context for plan. Allows plan effectiveness to be evaluated by clinicians.", - "min": 0, - "max": "*", - "type": [ - { - "code": "Reference", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/Goal"] - } - ], - "mapping": [ - { - "identity": "v2", - "map": "GOL.1" - }, - { - "identity": "rim", - "map": ".outboundRelationship[typeCode<=OBJ]." - } - ] - }, - { - "id": "CarePlan.activity", - "path": "CarePlan.activity", - "short": "Action to occur as part of plan", - "definition": "Identifies a planned action to occur as part of the plan. For example, a medication to be used, lab tests to perform, self-monitoring, education, etc.", - "requirements": "Allows systems to prompt for performance of planned activities, and validate plans against best practice.", - "min": 0, - "max": "*", - "type": [ - { - "code": "BackboneElement" - } - ], - "constraint": [ - { - "key": "cpl-3", - "severity": "error", - "human": "Provide a reference or detail, not both", - "expression": "detail.empty() or reference.empty()", - "xpath": "not(exists(f:detail)) or not(exists(f:reference))" - } - ], - "mapping": [ - { - "identity": "workflow", - "map": "{no mapping\nNOTE: This is a list of contained Request-Event tuples!}" - }, - { - "identity": "rim", - "map": ".outboundRelationship[typeCode=COMP].target" - } - ] - }, - { - "id": "CarePlan.activity.outcomeCodeableConcept", - "path": "CarePlan.activity.outcomeCodeableConcept", - "short": "Results of the activity", - "definition": "Identifies the outcome at the point when the status of the activity is assessed. For example, the outcome of an education activity could be patient understands (or not).", - "comment": "Note that this should not duplicate the activity status (e.g. completed or in progress).", - "min": 0, - "max": "*", - "type": [ - { - "code": "CodeableConcept" - } - ], - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "CarePlanActivityOutcome" - } - ], - "strength": "example", - "description": "Identifies the results of the activity.", - "valueSet": "http://hl7.org/fhir/ValueSet/care-plan-activity-outcome" - } - }, - { - "id": "CarePlan.activity.outcomeReference", - "path": "CarePlan.activity.outcomeReference", - "short": "Appointment, Encounter, Procedure, etc.", - "definition": "Details of the outcome or action resulting from the activity. The reference to an \"event\" resource, such as Procedure or Encounter or Observation, is the result/outcome of the activity itself. The activity can be conveyed using CarePlan.activity.detail OR using the CarePlan.activity.reference (a reference to a “request” resource).", - "comment": "The activity outcome is independent of the outcome of the related goal(s). For example, if the goal is to achieve a target body weight of 150 lbs and an activity is defined to diet, then the activity outcome could be calories consumed whereas the goal outcome is an observation for the actual body weight measured.", - "requirements": "Links plan to resulting actions.", - "min": 0, - "max": "*", - "type": [ - { - "code": "Reference", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/Resource"] - } - ], - "mapping": [ - { - "identity": "workflow", - "map": "{Event that is outcome of Request in activity.reference}" - }, - { - "identity": "rim", - "map": ".inboundRelationship[typeCode=FLFS].source" - } - ] - }, - { - "id": "CarePlan.activity.progress", - "path": "CarePlan.activity.progress", - "short": "Comments about the activity status/progress", - "definition": "Notes about the adherence/status/progress of the activity.", - "comment": "This element should NOT be used to describe the activity to be performed - that occurs either within the resource pointed to by activity.detail.reference or in activity.detail.description.", - "requirements": "Can be used to capture information about adherence, progress, concerns, etc.", - "min": 0, - "max": "*", - "type": [ - { - "code": "Annotation" - } - ], - "mapping": [ - { - "identity": "v2", - "map": "NTE?" - }, - { - "identity": "rim", - "map": ".inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code=\"annotation\"].value" - } - ] - }, - { - "id": "CarePlan.activity.reference", - "path": "CarePlan.activity.reference", - "short": "Activity details defined in specific resource", - "definition": "The details of the proposed activity represented in a specific resource.", - "comment": "Standard extension exists ([resource-pertainsToGoal](extension-resource-pertainstogoal.html)) that allows goals to be referenced from any of the referenced resources in CarePlan.activity.reference. \rThe goal should be visible when the resource referenced by CarePlan.activity.reference is viewed independently from the CarePlan. Requests that are pointed to by a CarePlan using this element should *not* point to this CarePlan using the \"basedOn\" element. i.e. Requests that are part of a CarePlan are not \"based on\" the CarePlan.", - "requirements": "Details in a form consistent with other applications and contexts of use.", - "min": 0, - "max": "1", - "type": [ - { - "code": "Reference", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/Appointment", - "http://hl7.org/fhir/StructureDefinition/CommunicationRequest", - "http://hl7.org/fhir/StructureDefinition/DeviceRequest", - "http://hl7.org/fhir/StructureDefinition/MedicationRequest", - "http://hl7.org/fhir/StructureDefinition/NutritionOrder", - "http://hl7.org/fhir/StructureDefinition/Task", - "http://hl7.org/fhir/StructureDefinition/ServiceRequest", - "http://hl7.org/fhir/StructureDefinition/VisionPrescription", - "http://hl7.org/fhir/StructureDefinition/RequestGroup" - ] - } - ], - "condition": ["cpl-3"], - "mapping": [ - { - "identity": "workflow", - "map": "{Request that resulted in Event in activity.actionResulting}" - }, - { - "identity": "rim", - "map": ".outboundRelationship[typeCode=COMP].target" - } - ] - }, - { - "id": "CarePlan.activity.detail", - "path": "CarePlan.activity.detail", - "short": "In-line definition of activity", - "definition": "A simple summary of a planned activity suitable for a general care plan system (e.g. form driven) that doesn't know about specific resources such as procedure etc.", - "requirements": "Details in a simple form for generic care plan systems.", - "min": 0, - "max": "1", - "type": [ - { - "code": "BackboneElement" - } - ], - "condition": ["cpl-3"], - "mapping": [ - { - "identity": "rim", - "map": ".outboundRelationship[typeCode=COMP, subsetCode=SUMM].target" - } - ] - }, - { - "id": "CarePlan.activity.detail.kind", - "path": "CarePlan.activity.detail.kind", - "short": "Appointment | CommunicationRequest | DeviceRequest | MedicationRequest | NutritionOrder | Task | ServiceRequest | VisionPrescription", - "definition": "A description of the kind of resource the in-line definition of a care plan activity is representing. The CarePlan.activity.detail is an in-line definition when a resource is not referenced using CarePlan.activity.reference. For example, a MedicationRequest, a ServiceRequest, or a CommunicationRequest.", - "requirements": "May determine what types of extensions are permitted.", - "min": 0, - "max": "1", - "type": [ - { - "code": "code" - } - ], - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "CarePlanActivityKind" - } - ], - "strength": "required", - "description": "Resource types defined as part of FHIR that can be represented as in-line definitions of a care plan activity.", - "valueSet": "http://hl7.org/fhir/ValueSet/care-plan-activity-kind|4.0.1" - }, - "mapping": [ - { - "identity": "rim", - "map": ".inboundRelationship[typeCode=COMP].source[classCode=LIST].code" - } - ] - }, - { - "id": "CarePlan.activity.detail.instantiatesCanonical", - "path": "CarePlan.activity.detail.instantiatesCanonical", - "short": "Instantiates FHIR protocol or definition", - "definition": "The URL pointing to a FHIR-defined protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan activity.", - "requirements": "Allows Questionnaires that the patient (or practitioner) should fill in to fulfill the care plan activity.", - "min": 0, - "max": "*", - "type": [ - { - "code": "canonical", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/PlanDefinition", - "http://hl7.org/fhir/StructureDefinition/ActivityDefinition", - "http://hl7.org/fhir/StructureDefinition/Questionnaire", - "http://hl7.org/fhir/StructureDefinition/Measure", - "http://hl7.org/fhir/StructureDefinition/OperationDefinition" - ] - } - ], - "mapping": [ - { - "identity": "workflow", - "map": "Request.instantiatesCanonical" - }, - { - "identity": "rim", - "map": ".outboundRelationship[typeCode=DEFN].target" - } - ] - }, - { - "id": "CarePlan.activity.detail.instantiatesUri", - "path": "CarePlan.activity.detail.instantiatesUri", - "short": "Instantiates external protocol or definition", - "definition": "The URL pointing to an externally maintained protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan activity.", - "comment": "This might be an HTML page, PDF, etc. or could just be a non-resolvable URI identifier.", - "requirements": "Allows Questionnaires that the patient (or practitioner) should fill in to fulfill the care plan activity.", - "min": 0, - "max": "*", - "type": [ - { - "code": "uri" - } - ], - "mapping": [ - { - "identity": "workflow", - "map": "Request.instantiatesUri" - }, - { - "identity": "rim", - "map": ".outboundRelationship[typeCode=DEFN].target" - } - ] - }, - { - "id": "CarePlan.activity.detail.code", - "path": "CarePlan.activity.detail.code", - "short": "Detail type of activity", - "definition": "Detailed description of the type of planned activity; e.g. what lab test, what procedure, what kind of encounter.", - "comment": "Tends to be less relevant for activities involving particular products. Codes should not convey negation - use \"prohibited\" instead.", - "requirements": "Allows matching performed to planned as well as validation against protocols.", - "min": 0, - "max": "1", - "type": [ - { - "code": "CodeableConcept" - } - ], - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "CarePlanActivityType" - } - ], - "strength": "example", - "description": "Detailed description of the type of activity; e.g. What lab test, what procedure, what kind of encounter.", - "valueSet": "http://hl7.org/fhir/ValueSet/procedure-code" - }, - "mapping": [ - { - "identity": "workflow", - "map": "Request.code" - }, - { - "identity": "v2", - "map": "OBR-4 / RXE-2 / RXO-1 / RXD-2" - }, - { - "identity": "rim", - "map": ".code" - } - ] - }, - { - "id": "CarePlan.activity.detail.reasonCode", - "path": "CarePlan.activity.detail.reasonCode", - "short": "Why activity should be done or why activity was prohibited", - "definition": "Provides the rationale that drove the inclusion of this particular activity as part of the plan or the reason why the activity was prohibited.", - "comment": "This could be a diagnosis code. If a full condition record exists or additional detail is needed, use reasonCondition instead.", - "min": 0, - "max": "*", - "type": [ - { - "code": "CodeableConcept" - } - ], - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "CarePlanActivityReason" - } - ], - "strength": "example", - "description": "Identifies why a care plan activity is needed. Can include any health condition codes as well as such concepts as \"general wellness\", prophylaxis, surgical preparation, etc.", - "valueSet": "http://hl7.org/fhir/ValueSet/clinical-findings" - }, - "mapping": [ - { - "identity": "workflow", - "map": "Request.reasonCode" - } - ] - }, - { - "id": "CarePlan.activity.detail.reasonReference", - "path": "CarePlan.activity.detail.reasonReference", - "short": "Why activity is needed", - "definition": "Indicates another resource, such as the health condition(s), whose existence justifies this request and drove the inclusion of this particular activity as part of the plan.", - "comment": "Conditions can be identified at the activity level that are not identified as reasons for the overall plan.", - "min": 0, - "max": "*", - "type": [ - { - "code": "Reference", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/Condition", - "http://hl7.org/fhir/StructureDefinition/Observation", - "http://hl7.org/fhir/StructureDefinition/DiagnosticReport", - "http://hl7.org/fhir/StructureDefinition/DocumentReference" - ] - } - ], - "mapping": [ - { - "identity": "workflow", - "map": "Request.reasonReference" - } - ] - }, - { - "id": "CarePlan.activity.detail.goal", - "path": "CarePlan.activity.detail.goal", - "short": "Goals this activity relates to", - "definition": "Internal reference that identifies the goals that this activity is intended to contribute towards meeting.", - "requirements": "So that participants know the link explicitly.", - "min": 0, - "max": "*", - "type": [ - { - "code": "Reference", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/Goal"] - } - ], - "mapping": [ - { - "identity": "rim", - "map": ".outboundRelationship[typeCode<=OBJ]." - } - ] - }, - { - "id": "CarePlan.activity.detail.status", - "path": "CarePlan.activity.detail.status", - "short": "not-started | scheduled | in-progress | on-hold | completed | cancelled | stopped | unknown | entered-in-error", - "definition": "Identifies what progress is being made for the specific activity.", - "comment": "Some aspects of status can be inferred based on the resources linked in actionTaken. Note that \"status\" is only as current as the plan was most recently updated. \nThe unknown code is not to be used to convey other statuses. The unknown code should be used when one of the statuses applies, but the authoring system doesn't know the current state of the activity.", - "requirements": "Indicates progress against the plan, whether the activity is still relevant for the plan.", - "min": 1, - "max": "1", - "type": [ - { - "code": "code" - } - ], - "isModifier": true, - "isModifierReason": "This element is labelled as a modifier because it is a status element that contains status entered-in-error which means that the activity should not be treated as valid", - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "CarePlanActivityStatus" - } - ], - "strength": "required", - "description": "Codes that reflect the current state of a care plan activity within its overall life cycle.", - "valueSet": "http://hl7.org/fhir/ValueSet/care-plan-activity-status|4.0.1" - }, - "mapping": [ - { - "identity": "workflow", - "map": "Request.status" - }, - { - "identity": "v2", - "map": "ORC-5?" - }, - { - "identity": "rim", - "map": ".statusCode not-started = new scheduled = not-started (and fulfillment relationship to appointent) in-progress = active on-hold = suspended completed = completed cancelled = aborted" - } - ] - }, - { - "id": "CarePlan.activity.detail.statusReason", - "path": "CarePlan.activity.detail.statusReason", - "short": "Reason for current status", - "definition": "Provides reason why the activity isn't yet started, is on hold, was cancelled, etc.", - "comment": "Will generally not be present if status is \"complete\". Be sure to prompt to update this (or at least remove the existing value) if the status is changed.", - "min": 0, - "max": "1", - "type": [ - { - "code": "CodeableConcept" - } - ], - "mapping": [ - { - "identity": "workflow", - "map": "Request.statusReason" - } - ] - }, - { - "id": "CarePlan.activity.detail.doNotPerform", - "path": "CarePlan.activity.detail.doNotPerform", - "short": "If true, activity is prohibiting action", - "definition": "If true, indicates that the described activity is one that must NOT be engaged in when following the plan. If false, or missing, indicates that the described activity is one that should be engaged in when following the plan.", - "comment": "This element is labeled as a modifier because it marks an activity as an activity that is not to be performed.", - "requirements": "Captures intention to not do something that may have been previously typical.", - "min": 0, - "max": "1", - "type": [ - { - "code": "boolean" - } - ], - "meaningWhenMissing": "If missing indicates that the described activity is one that should be engaged in when following the plan.", - "isModifier": true, - "isModifierReason": "If true this element negates the specified action. For example, instead of a request for a procedure, it is a request for the procedure to not occur.", - "mapping": [ - { - "identity": "workflow", - "map": "Request.doNotPerform" - }, - { - "identity": "rim", - "map": "actionNegationInd" - } - ] - }, - { - "id": "CarePlan.activity.detail.scheduled[x]", - "path": "CarePlan.activity.detail.scheduled[x]", - "short": "When activity is to occur", - "definition": "The period, timing or frequency upon which the described activity is to occur.", - "requirements": "Allows prompting for activities and detection of missed planned activities.", - "min": 0, - "max": "1", - "type": [ - { - "code": "Timing" - }, - { - "code": "Period" - }, - { - "code": "string" - } - ], - "mapping": [ - { - "identity": "workflow", - "map": "Request.occurrence[x]" - }, - { - "identity": "v2", - "map": "TQ1" - }, - { - "identity": "rim", - "map": ".effectiveTime" - } - ] - }, - { - "id": "CarePlan.activity.detail.location", - "path": "CarePlan.activity.detail.location", - "short": "Where it should happen", - "definition": "Identifies the facility where the activity will occur; e.g. home, hospital, specific clinic, etc.", - "comment": "May reference a specific clinical location or may identify a type of location.", - "requirements": "Helps in planning of activity.", - "min": 0, - "max": "1", - "type": [ - { - "code": "Reference", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/Location"] - } - ], - "mapping": [ - { - "identity": "v2", - "map": "OBR-24(???!!)" - }, - { - "identity": "rim", - "map": ".participation[typeCode=LOC].role" - } - ] - }, - { - "id": "CarePlan.activity.detail.performer", - "path": "CarePlan.activity.detail.performer", - "short": "Who will be responsible?", - "definition": "Identifies who's expected to be involved in the activity.", - "comment": "A performer MAY also be a participant in the care plan.", - "requirements": "Helps in planning of activity.", - "min": 0, - "max": "*", - "type": [ - { - "code": "Reference", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/Practitioner", - "http://hl7.org/fhir/StructureDefinition/PractitionerRole", - "http://hl7.org/fhir/StructureDefinition/Organization", - "http://hl7.org/fhir/StructureDefinition/RelatedPerson", - "http://hl7.org/fhir/StructureDefinition/Patient", - "http://hl7.org/fhir/StructureDefinition/CareTeam", - "http://hl7.org/fhir/StructureDefinition/HealthcareService", - "http://hl7.org/fhir/StructureDefinition/Device" - ] - } - ], - "mapping": [ - { - "identity": "workflow", - "map": "Request.performer" - }, - { - "identity": "v2", - "map": "PRT-5 : ( PRV-4 = (provider participations)); PRT-5 : ( PRV-4 = (non-provider person participations )) ; PRT-5 : ( PRV-4 = (patient non-subject of care) ) ; PRT-8" - }, - { - "identity": "rim", - "map": ".participation[typeCode=PFM]" - } - ] - }, - { - "id": "CarePlan.activity.detail.product[x]", - "path": "CarePlan.activity.detail.product[x]", - "short": "What is to be administered/supplied", - "definition": "Identifies the food, drug or other product to be consumed or supplied in the activity.", - "min": 0, - "max": "1", - "type": [ - { - "code": "CodeableConcept" - }, - { - "code": "Reference", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/Medication", - "http://hl7.org/fhir/StructureDefinition/Substance" - ] - } - ], - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "CarePlanProduct" - } - ], - "strength": "example", - "description": "A product supplied or administered as part of a care plan activity.", - "valueSet": "http://hl7.org/fhir/ValueSet/medication-codes" - }, - "mapping": [ - { - "identity": "v2", - "map": "RXE-2 / RXO-1 / RXD-2" - }, - { - "identity": "rim", - "map": ".participation[typeCode=PRD].role" - } - ] - }, - { - "id": "CarePlan.activity.detail.dailyAmount", - "path": "CarePlan.activity.detail.dailyAmount", - "short": "How to consume/day?", - "definition": "Identifies the quantity expected to be consumed in a given day.", - "requirements": "Allows rough dose checking.", - "alias": ["daily dose"], - "min": 0, - "max": "1", - "type": [ - { - "code": "Quantity", - "profile": ["http://hl7.org/fhir/StructureDefinition/SimpleQuantity"] - } - ], - "mapping": [ - { - "identity": "v2", - "map": "RXO-23 / RXE-19 / RXD-12" - }, - { - "identity": "rim", - "map": ".outboundRelationship[typeCode=COMP][classCode=SBADM].doseQuantity" - } - ] - }, - { - "id": "CarePlan.activity.detail.quantity", - "path": "CarePlan.activity.detail.quantity", - "short": "How much to administer/supply/consume", - "definition": "Identifies the quantity expected to be supplied, administered or consumed by the subject.", - "min": 0, - "max": "1", - "type": [ - { - "code": "Quantity", - "profile": ["http://hl7.org/fhir/StructureDefinition/SimpleQuantity"] - } - ], - "mapping": [ - { - "identity": "v2", - "map": "RXO-11 / RXE-10 / RXD-4 / RXG-5 / RXA-6 / TQ1-2.1 *and* RXO-12 / RXE-11 / RXD-5 / RXG-7 / RXA-7 / TQ1-2.2" - }, - { - "identity": "rim", - "map": ".outboundRelationship[typeCode=COMP][classCode=SPLY].quantity" - } - ] - }, - { - "id": "CarePlan.activity.detail.description", - "path": "CarePlan.activity.detail.description", - "short": "Extra info describing activity to perform", - "definition": "This provides a textual description of constraints on the intended activity occurrence, including relation to other activities. It may also include objectives, pre-conditions and end-conditions. Finally, it may convey specifics about the activity such as body site, method, route, etc.", - "min": 0, - "max": "1", - "type": [ - { - "code": "string" - } - ], - "mapping": [ - { - "identity": "v2", - "map": "NTE?" - }, - { - "identity": "rim", - "map": ".text" - } - ] - }, - { - "id": "CarePlan.note", - "path": "CarePlan.note", - "short": "Comments about the plan", - "definition": "General notes about the care plan not covered elsewhere.", - "requirements": "Used to capture information that applies to the plan as a whole that doesn't fit into discrete elements.", - "min": 0, - "max": "*", - "type": [ - { - "code": "Annotation" - } - ], - "mapping": [ - { - "identity": "workflow", - "map": "Request.note" - }, - { - "identity": "v2", - "map": "NTE?" - }, - { - "identity": "rim", - "map": ".inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code=\"annotation\"].value" - } - ] - } - ] - } -} diff --git a/modules/frontend/src/lib/resource/test/CodeableConcept.json b/modules/frontend/src/lib/resource/test/CodeableConcept.json deleted file mode 100644 index f18d1aefd..000000000 --- a/modules/frontend/src/lib/resource/test/CodeableConcept.json +++ /dev/null @@ -1,406 +0,0 @@ -{ - "resourceType": "StructureDefinition", - "id": "CodeableConcept", - "meta": { - "lastUpdated": "2019-11-01T09:29:23.356+11:00" - }, - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", - "valueCode": "normative" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version", - "valueCode": "4.0.0" - } - ], - "url": "http://hl7.org/fhir/StructureDefinition/CodeableConcept", - "version": "4.0.1", - "name": "CodeableConcept", - "status": "active", - "date": "2019-11-01T09:29:23+11:00", - "publisher": "HL7 FHIR Standard", - "contact": [ - { - "telecom": [ - { - "system": "url", - "value": "http://hl7.org/fhir" - } - ] - } - ], - "description": "Base StructureDefinition for CodeableConcept Type: A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.", - "purpose": "This is a common pattern in healthcare - a concept that may be defined by one or more codes from formal definitions including LOINC and SNOMED CT, and/or defined by the provision of text that captures a human sense of the concept.", - "fhirVersion": "4.0.1", - "mapping": [ - { - "identity": "v2", - "uri": "http://hl7.org/v2", - "name": "HL7 v2 Mapping" - }, - { - "identity": "rim", - "uri": "http://hl7.org/v3", - "name": "RIM Mapping" - }, - { - "identity": "orim", - "uri": "http://hl7.org/orim", - "name": "Ontological RIM Mapping" - } - ], - "kind": "complex-type", - "abstract": false, - "type": "CodeableConcept", - "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Element", - "derivation": "specialization", - "snapshot": { - "element": [ - { - "id": "CodeableConcept", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", - "valueCode": "normative" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version", - "valueCode": "4.0.0" - } - ], - "path": "CodeableConcept", - "short": "Concept - reference to a terminology or just text", - "definition": "A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.", - "comment": "Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.", - "min": 0, - "max": "*", - "base": { - "path": "CodeableConcept", - "min": 0, - "max": "*" - }, - "condition": ["ele-1"], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "mapping": [ - { - "identity": "rim", - "map": "n/a" - }, - { - "identity": "v2", - "map": "CE/CNE/CWE" - }, - { - "identity": "rim", - "map": "CD" - }, - { - "identity": "orim", - "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD" - } - ] - }, - { - "id": "CodeableConcept.id", - "path": "CodeableConcept.id", - "representation": ["xmlAttr"], - "short": "Unique id for inter-element referencing", - "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", - "min": 0, - "max": "1", - "base": { - "path": "Element.id", - "min": 0, - "max": "1" - }, - "type": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", - "valueUrl": "string" - } - ], - "code": "http://hl7.org/fhirpath/System.String" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "n/a" - } - ] - }, - { - "id": "CodeableConcept.extension", - "path": "CodeableConcept.extension", - "slicing": { - "discriminator": [ - { - "type": "value", - "path": "url" - } - ], - "description": "Extensions are always sliced by (at least) url", - "rules": "open" - }, - "short": "Additional content defined by implementations", - "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", - "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", - "alias": ["extensions", "user content"], - "min": 0, - "max": "*", - "base": { - "path": "Element.extension", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Extension" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key": "ext-1", - "severity": "error", - "human": "Must have either extensions or value[x], not both", - "expression": "extension.exists() != value.exists()", - "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source": "http://hl7.org/fhir/StructureDefinition/Extension" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "n/a" - } - ] - }, - { - "id": "CodeableConcept.coding", - "path": "CodeableConcept.coding", - "short": "Code defined by a terminology system", - "definition": "A reference to a code defined by a terminology system.", - "comment": "Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.", - "requirements": "Allows for alternative encodings within a code system, and translations to other code systems.", - "min": 0, - "max": "*", - "base": { - "path": "CodeableConcept.coding", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Coding" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "v2", - "map": "C*E.1-8, C*E.10-22" - }, - { - "identity": "rim", - "map": "union(., ./translation)" - }, - { - "identity": "orim", - "map": "fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding" - } - ] - }, - { - "id": "CodeableConcept.text", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", - "valueBoolean": true - } - ], - "path": "CodeableConcept.text", - "short": "Plain text representation of the concept", - "definition": "A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.", - "comment": "Very often the text is the same as a displayName of one of the codings.", - "requirements": "The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.", - "min": 0, - "max": "1", - "base": { - "path": "CodeableConcept.text", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "string" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "v2", - "map": "C*E.9. But note many systems use C*E.2 for this" - }, - { - "identity": "rim", - "map": "./originalText[mediaType/code=\"text/plain\"]/data" - }, - { - "identity": "orim", - "map": "fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText" - } - ] - } - ] - }, - "differential": { - "element": [ - { - "id": "CodeableConcept", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", - "valueCode": "normative" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version", - "valueCode": "4.0.0" - } - ], - "path": "CodeableConcept", - "short": "Concept - reference to a terminology or just text", - "definition": "A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.", - "comment": "Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.", - "min": 0, - "max": "*", - "mapping": [ - { - "identity": "v2", - "map": "CE/CNE/CWE" - }, - { - "identity": "rim", - "map": "CD" - }, - { - "identity": "orim", - "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD" - } - ] - }, - { - "id": "CodeableConcept.coding", - "path": "CodeableConcept.coding", - "short": "Code defined by a terminology system", - "definition": "A reference to a code defined by a terminology system.", - "comment": "Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.", - "requirements": "Allows for alternative encodings within a code system, and translations to other code systems.", - "min": 0, - "max": "*", - "type": [ - { - "code": "Coding" - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "v2", - "map": "C*E.1-8, C*E.10-22" - }, - { - "identity": "rim", - "map": "union(., ./translation)" - }, - { - "identity": "orim", - "map": "fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding" - } - ] - }, - { - "id": "CodeableConcept.text", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", - "valueBoolean": true - } - ], - "path": "CodeableConcept.text", - "short": "Plain text representation of the concept", - "definition": "A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.", - "comment": "Very often the text is the same as a displayName of one of the codings.", - "requirements": "The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.", - "min": 0, - "max": "1", - "type": [ - { - "code": "string" - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "v2", - "map": "C*E.9. But note many systems use C*E.2 for this" - }, - { - "identity": "rim", - "map": "./originalText[mediaType/code=\"text/plain\"]/data" - }, - { - "identity": "orim", - "map": "fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText" - } - ] - } - ] - } -} diff --git a/modules/frontend/src/lib/resource/test/Coding.json b/modules/frontend/src/lib/resource/test/Coding.json deleted file mode 100644 index 9f15b8e28..000000000 --- a/modules/frontend/src/lib/resource/test/Coding.json +++ /dev/null @@ -1,628 +0,0 @@ -{ - "resourceType": "StructureDefinition", - "id": "Coding", - "meta": { - "lastUpdated": "2019-11-01T09:29:23.356+11:00" - }, - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", - "valueCode": "normative" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version", - "valueCode": "4.0.0" - } - ], - "url": "http://hl7.org/fhir/StructureDefinition/Coding", - "version": "4.0.1", - "name": "Coding", - "status": "active", - "date": "2019-11-01T09:29:23+11:00", - "publisher": "HL7 FHIR Standard", - "contact": [ - { - "telecom": [ - { - "system": "url", - "value": "http://hl7.org/fhir" - } - ] - } - ], - "description": "Base StructureDefinition for Coding Type: A reference to a code defined by a terminology system.", - "purpose": "References to codes are very common in healthcare models.", - "fhirVersion": "4.0.1", - "mapping": [ - { - "identity": "v2", - "uri": "http://hl7.org/v2", - "name": "HL7 v2 Mapping" - }, - { - "identity": "rim", - "uri": "http://hl7.org/v3", - "name": "RIM Mapping" - }, - { - "identity": "orim", - "uri": "http://hl7.org/orim", - "name": "Ontological RIM Mapping" - } - ], - "kind": "complex-type", - "abstract": false, - "type": "Coding", - "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Element", - "derivation": "specialization", - "snapshot": { - "element": [ - { - "id": "Coding", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", - "valueCode": "normative" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version", - "valueCode": "4.0.0" - } - ], - "path": "Coding", - "short": "A reference to a code defined by a terminology system", - "definition": "A reference to a code defined by a terminology system.", - "comment": "Codes may be defined very casually in enumerations or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.", - "min": 0, - "max": "*", - "base": { - "path": "Coding", - "min": 0, - "max": "*" - }, - "condition": ["ele-1"], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "mapping": [ - { - "identity": "rim", - "map": "n/a" - }, - { - "identity": "v2", - "map": "CE/CNE/CWE subset one of the sets of component 1-3 or 4-6" - }, - { - "identity": "rim", - "map": "CV" - }, - { - "identity": "orim", - "map": "fhir:Coding rdfs:subClassOf dt:CDCoding" - } - ] - }, - { - "id": "Coding.id", - "path": "Coding.id", - "representation": ["xmlAttr"], - "short": "Unique id for inter-element referencing", - "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", - "min": 0, - "max": "1", - "base": { - "path": "Element.id", - "min": 0, - "max": "1" - }, - "type": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", - "valueUrl": "string" - } - ], - "code": "http://hl7.org/fhirpath/System.String" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "n/a" - } - ] - }, - { - "id": "Coding.extension", - "path": "Coding.extension", - "slicing": { - "discriminator": [ - { - "type": "value", - "path": "url" - } - ], - "description": "Extensions are always sliced by (at least) url", - "rules": "open" - }, - "short": "Additional content defined by implementations", - "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", - "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", - "alias": ["extensions", "user content"], - "min": 0, - "max": "*", - "base": { - "path": "Element.extension", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Extension" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key": "ext-1", - "severity": "error", - "human": "Must have either extensions or value[x], not both", - "expression": "extension.exists() != value.exists()", - "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source": "http://hl7.org/fhir/StructureDefinition/Extension" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "n/a" - } - ] - }, - { - "id": "Coding.system", - "path": "Coding.system", - "short": "Identity of the terminology system", - "definition": "The identification of the code system that defines the meaning of the symbol in the code.", - "comment": "The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should reference to some definition that establishes the system clearly and unambiguously.", - "requirements": "Need to be unambiguous about the source of the definition of the symbol.", - "min": 0, - "max": "1", - "base": { - "path": "Coding.system", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "uri" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "v2", - "map": "C*E.3" - }, - { - "identity": "rim", - "map": "./codeSystem" - }, - { - "identity": "orim", - "map": "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem" - } - ] - }, - { - "id": "Coding.version", - "path": "Coding.version", - "short": "Version of the system - if relevant", - "definition": "The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.", - "comment": "Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.", - "min": 0, - "max": "1", - "base": { - "path": "Coding.version", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "string" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "v2", - "map": "C*E.7" - }, - { - "identity": "rim", - "map": "./codeSystemVersion" - }, - { - "identity": "orim", - "map": "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion" - } - ] - }, - { - "id": "Coding.code", - "path": "Coding.code", - "short": "Symbol in syntax defined by the system", - "definition": "A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).", - "requirements": "Need to refer to a particular code in the system.", - "min": 0, - "max": "1", - "base": { - "path": "Coding.code", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "code" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "v2", - "map": "C*E.1" - }, - { - "identity": "rim", - "map": "./code" - }, - { - "identity": "orim", - "map": "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code" - } - ] - }, - { - "id": "Coding.display", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", - "valueBoolean": true - } - ], - "path": "Coding.display", - "short": "Representation defined by the system", - "definition": "A representation of the meaning of the code in the system, following the rules of the system.", - "requirements": "Need to be able to carry a human-readable meaning of the code for readers that do not know the system.", - "min": 0, - "max": "1", - "base": { - "path": "Coding.display", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "string" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "v2", - "map": "C*E.2 - but note this is not well followed" - }, - { - "identity": "rim", - "map": "CV.displayName" - }, - { - "identity": "orim", - "map": "fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName" - } - ] - }, - { - "id": "Coding.userSelected", - "path": "Coding.userSelected", - "short": "If this coding was chosen directly by the user", - "definition": "Indicates that this coding was chosen by a user directly - e.g. off a pick list of available items (codes or displays).", - "comment": "Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.", - "requirements": "This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.", - "min": 0, - "max": "1", - "base": { - "path": "Coding.userSelected", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "boolean" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "v2", - "map": "Sometimes implied by being first" - }, - { - "identity": "rim", - "map": "CD.codingRationale" - }, - { - "identity": "orim", - "map": "fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\\#true a [ fhir:source \"true\"; fhir:target dt:CDCoding.codingRationale\\#O ]" - } - ] - } - ] - }, - "differential": { - "element": [ - { - "id": "Coding", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", - "valueCode": "normative" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version", - "valueCode": "4.0.0" - } - ], - "path": "Coding", - "short": "A reference to a code defined by a terminology system", - "definition": "A reference to a code defined by a terminology system.", - "comment": "Codes may be defined very casually in enumerations or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.", - "min": 0, - "max": "*", - "mapping": [ - { - "identity": "v2", - "map": "CE/CNE/CWE subset one of the sets of component 1-3 or 4-6" - }, - { - "identity": "rim", - "map": "CV" - }, - { - "identity": "orim", - "map": "fhir:Coding rdfs:subClassOf dt:CDCoding" - } - ] - }, - { - "id": "Coding.system", - "path": "Coding.system", - "short": "Identity of the terminology system", - "definition": "The identification of the code system that defines the meaning of the symbol in the code.", - "comment": "The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should reference to some definition that establishes the system clearly and unambiguously.", - "requirements": "Need to be unambiguous about the source of the definition of the symbol.", - "min": 0, - "max": "1", - "type": [ - { - "code": "uri" - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "v2", - "map": "C*E.3" - }, - { - "identity": "rim", - "map": "./codeSystem" - }, - { - "identity": "orim", - "map": "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem" - } - ] - }, - { - "id": "Coding.version", - "path": "Coding.version", - "short": "Version of the system - if relevant", - "definition": "The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.", - "comment": "Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.", - "min": 0, - "max": "1", - "type": [ - { - "code": "string" - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "v2", - "map": "C*E.7" - }, - { - "identity": "rim", - "map": "./codeSystemVersion" - }, - { - "identity": "orim", - "map": "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion" - } - ] - }, - { - "id": "Coding.code", - "path": "Coding.code", - "short": "Symbol in syntax defined by the system", - "definition": "A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).", - "requirements": "Need to refer to a particular code in the system.", - "min": 0, - "max": "1", - "type": [ - { - "code": "code" - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "v2", - "map": "C*E.1" - }, - { - "identity": "rim", - "map": "./code" - }, - { - "identity": "orim", - "map": "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code" - } - ] - }, - { - "id": "Coding.display", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", - "valueBoolean": true - } - ], - "path": "Coding.display", - "short": "Representation defined by the system", - "definition": "A representation of the meaning of the code in the system, following the rules of the system.", - "requirements": "Need to be able to carry a human-readable meaning of the code for readers that do not know the system.", - "min": 0, - "max": "1", - "type": [ - { - "code": "string" - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "v2", - "map": "C*E.2 - but note this is not well followed" - }, - { - "identity": "rim", - "map": "CV.displayName" - }, - { - "identity": "orim", - "map": "fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName" - } - ] - }, - { - "id": "Coding.userSelected", - "path": "Coding.userSelected", - "short": "If this coding was chosen directly by the user", - "definition": "Indicates that this coding was chosen by a user directly - e.g. off a pick list of available items (codes or displays).", - "comment": "Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.", - "requirements": "This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.", - "min": 0, - "max": "1", - "type": [ - { - "code": "boolean" - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "v2", - "map": "Sometimes implied by being first" - }, - { - "identity": "rim", - "map": "CD.codingRationale" - }, - { - "identity": "orim", - "map": "fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\\#true a [ fhir:source \"true\"; fhir:target dt:CDCoding.codingRationale\\#O ]" - } - ] - } - ] - } -} diff --git a/modules/frontend/src/lib/resource/test/Identifier.json b/modules/frontend/src/lib/resource/test/Identifier.json deleted file mode 100644 index 49944da27..000000000 --- a/modules/frontend/src/lib/resource/test/Identifier.json +++ /dev/null @@ -1,753 +0,0 @@ -{ - "resourceType": "StructureDefinition", - "id": "Identifier", - "meta": { - "lastUpdated": "2019-11-01T09:29:23.356+11:00" - }, - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", - "valueCode": "normative" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version", - "valueCode": "4.0.0" - } - ], - "url": "http://hl7.org/fhir/StructureDefinition/Identifier", - "version": "4.0.1", - "name": "Identifier", - "status": "active", - "date": "2019-11-01T09:29:23+11:00", - "publisher": "HL7 FHIR Standard", - "contact": [ - { - "telecom": [ - { - "system": "url", - "value": "http://hl7.org/fhir" - } - ] - } - ], - "description": "Base StructureDefinition for Identifier Type: An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.", - "purpose": "Need to be able to identify things with confidence and be sure that the identification is not subject to misinterpretation.", - "fhirVersion": "4.0.1", - "mapping": [ - { - "identity": "v2", - "uri": "http://hl7.org/v2", - "name": "HL7 v2 Mapping" - }, - { - "identity": "rim", - "uri": "http://hl7.org/v3", - "name": "RIM Mapping" - }, - { - "identity": "servd", - "uri": "http://www.omg.org/spec/ServD/1.0/", - "name": "ServD" - } - ], - "kind": "complex-type", - "abstract": false, - "type": "Identifier", - "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Element", - "derivation": "specialization", - "snapshot": { - "element": [ - { - "id": "Identifier", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", - "valueCode": "normative" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version", - "valueCode": "4.0.0" - } - ], - "path": "Identifier", - "short": "An identifier intended for computation", - "definition": "An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.", - "min": 0, - "max": "*", - "base": { - "path": "Identifier", - "min": 0, - "max": "*" - }, - "condition": ["ele-1"], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "mapping": [ - { - "identity": "rim", - "map": "n/a" - }, - { - "identity": "v2", - "map": "CX / EI (occasionally, more often EI maps to a resource id or a URL)" - }, - { - "identity": "rim", - "map": "II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]" - }, - { - "identity": "servd", - "map": "Identifier" - } - ] - }, - { - "id": "Identifier.id", - "path": "Identifier.id", - "representation": ["xmlAttr"], - "short": "Unique id for inter-element referencing", - "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", - "min": 0, - "max": "1", - "base": { - "path": "Element.id", - "min": 0, - "max": "1" - }, - "type": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", - "valueUrl": "string" - } - ], - "code": "http://hl7.org/fhirpath/System.String" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "n/a" - } - ] - }, - { - "id": "Identifier.extension", - "path": "Identifier.extension", - "slicing": { - "discriminator": [ - { - "type": "value", - "path": "url" - } - ], - "description": "Extensions are always sliced by (at least) url", - "rules": "open" - }, - "short": "Additional content defined by implementations", - "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", - "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", - "alias": ["extensions", "user content"], - "min": 0, - "max": "*", - "base": { - "path": "Element.extension", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Extension" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key": "ext-1", - "severity": "error", - "human": "Must have either extensions or value[x], not both", - "expression": "extension.exists() != value.exists()", - "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source": "http://hl7.org/fhir/StructureDefinition/Extension" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "n/a" - } - ] - }, - { - "id": "Identifier.use", - "path": "Identifier.use", - "short": "usual | official | temp | secondary | old (If known)", - "definition": "The purpose of this identifier.", - "comment": "Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.", - "requirements": "Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.", - "min": 0, - "max": "1", - "base": { - "path": "Identifier.use", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "code" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": true, - "isModifierReason": "This is labeled as \"Is Modifier\" because applications should not mistake a temporary id for a permanent one.", - "isSummary": true, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "IdentifierUse" - } - ], - "strength": "required", - "description": "Identifies the purpose for this identifier, if known .", - "valueSet": "http://hl7.org/fhir/ValueSet/identifier-use|4.0.1" - }, - "mapping": [ - { - "identity": "v2", - "map": "N/A" - }, - { - "identity": "rim", - "map": "Role.code or implied by context" - } - ] - }, - { - "id": "Identifier.type", - "path": "Identifier.type", - "short": "Description of identifier", - "definition": "A coded type for the identifier that can be used to determine which identifier to use for a specific purpose.", - "comment": "This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.", - "requirements": "Allows users to make use of identifiers when the identifier system is not known.", - "min": 0, - "max": "1", - "base": { - "path": "Identifier.type", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "CodeableConcept" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "IdentifierType" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding", - "valueBoolean": true - } - ], - "strength": "extensible", - "description": "A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.", - "valueSet": "http://hl7.org/fhir/ValueSet/identifier-type" - }, - "mapping": [ - { - "identity": "v2", - "map": "CX.5" - }, - { - "identity": "rim", - "map": "Role.code or implied by context" - } - ] - }, - { - "id": "Identifier.system", - "path": "Identifier.system", - "short": "The namespace for the identifier value", - "definition": "Establishes the namespace for the value - that is, a URL that describes a set values that are unique.", - "comment": "Identifier.system is always case sensitive.", - "requirements": "There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.", - "min": 0, - "max": "1", - "base": { - "path": "Identifier.system", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "uri" - } - ], - "example": [ - { - "label": "General", - "valueUri": "http://www.acme.com/identifiers/patient" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "v2", - "map": "CX.4 / EI-2-4" - }, - { - "identity": "rim", - "map": "II.root or Role.id.root" - }, - { - "identity": "servd", - "map": "./IdentifierType" - } - ] - }, - { - "id": "Identifier.value", - "path": "Identifier.value", - "short": "The value that is unique", - "definition": "The portion of the identifier typically relevant to the user and which is unique within the context of the system.", - "comment": "If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the [Rendered Value extension](extension-rendered-value.html). Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe.", - "min": 0, - "max": "1", - "base": { - "path": "Identifier.value", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "string" - } - ], - "example": [ - { - "label": "General", - "valueString": "123456" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "v2", - "map": "CX.1 / EI.1" - }, - { - "identity": "rim", - "map": "II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)" - }, - { - "identity": "servd", - "map": "./Value" - } - ] - }, - { - "id": "Identifier.period", - "path": "Identifier.period", - "short": "Time period when id is/was valid for use", - "definition": "Time period during which identifier is/was valid for use.", - "min": 0, - "max": "1", - "base": { - "path": "Identifier.period", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "Period" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "v2", - "map": "CX.7 + CX.8" - }, - { - "identity": "rim", - "map": "Role.effectiveTime or implied by context" - }, - { - "identity": "servd", - "map": "./StartDate and ./EndDate" - } - ] - }, - { - "id": "Identifier.assigner", - "path": "Identifier.assigner", - "short": "Organization that issued id (may be just text)", - "definition": "Organization that issued/manages the identifier.", - "comment": "The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.", - "min": 0, - "max": "1", - "base": { - "path": "Identifier.assigner", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "Reference", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/Organization"] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "v2", - "map": "CX.4 / (CX.4,CX.9,CX.10)" - }, - { - "identity": "rim", - "map": "II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper" - }, - { - "identity": "servd", - "map": "./IdentifierIssuingAuthority" - } - ] - } - ] - }, - "differential": { - "element": [ - { - "id": "Identifier", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", - "valueCode": "normative" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version", - "valueCode": "4.0.0" - } - ], - "path": "Identifier", - "short": "An identifier intended for computation", - "definition": "An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.", - "min": 0, - "max": "*", - "mapping": [ - { - "identity": "v2", - "map": "CX / EI (occasionally, more often EI maps to a resource id or a URL)" - }, - { - "identity": "rim", - "map": "II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]" - }, - { - "identity": "servd", - "map": "Identifier" - } - ] - }, - { - "id": "Identifier.use", - "path": "Identifier.use", - "short": "usual | official | temp | secondary | old (If known)", - "definition": "The purpose of this identifier.", - "comment": "Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.", - "requirements": "Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.", - "min": 0, - "max": "1", - "type": [ - { - "code": "code" - } - ], - "isModifier": true, - "isModifierReason": "This is labeled as \"Is Modifier\" because applications should not mistake a temporary id for a permanent one.", - "isSummary": true, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "IdentifierUse" - } - ], - "strength": "required", - "description": "Identifies the purpose for this identifier, if known .", - "valueSet": "http://hl7.org/fhir/ValueSet/identifier-use|4.0.1" - }, - "mapping": [ - { - "identity": "v2", - "map": "N/A" - }, - { - "identity": "rim", - "map": "Role.code or implied by context" - } - ] - }, - { - "id": "Identifier.type", - "path": "Identifier.type", - "short": "Description of identifier", - "definition": "A coded type for the identifier that can be used to determine which identifier to use for a specific purpose.", - "comment": "This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.", - "requirements": "Allows users to make use of identifiers when the identifier system is not known.", - "min": 0, - "max": "1", - "type": [ - { - "code": "CodeableConcept" - } - ], - "isSummary": true, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "IdentifierType" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding", - "valueBoolean": true - } - ], - "strength": "extensible", - "description": "A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.", - "valueSet": "http://hl7.org/fhir/ValueSet/identifier-type" - }, - "mapping": [ - { - "identity": "v2", - "map": "CX.5" - }, - { - "identity": "rim", - "map": "Role.code or implied by context" - } - ] - }, - { - "id": "Identifier.system", - "path": "Identifier.system", - "short": "The namespace for the identifier value", - "definition": "Establishes the namespace for the value - that is, a URL that describes a set values that are unique.", - "comment": "Identifier.system is always case sensitive.", - "requirements": "There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.", - "min": 0, - "max": "1", - "type": [ - { - "code": "uri" - } - ], - "example": [ - { - "label": "General", - "valueUri": "http://www.acme.com/identifiers/patient" - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "v2", - "map": "CX.4 / EI-2-4" - }, - { - "identity": "rim", - "map": "II.root or Role.id.root" - }, - { - "identity": "servd", - "map": "./IdentifierType" - } - ] - }, - { - "id": "Identifier.value", - "path": "Identifier.value", - "short": "The value that is unique", - "definition": "The portion of the identifier typically relevant to the user and which is unique within the context of the system.", - "comment": "If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the [Rendered Value extension](extension-rendered-value.html). Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe.", - "min": 0, - "max": "1", - "type": [ - { - "code": "string" - } - ], - "example": [ - { - "label": "General", - "valueString": "123456" - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "v2", - "map": "CX.1 / EI.1" - }, - { - "identity": "rim", - "map": "II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)" - }, - { - "identity": "servd", - "map": "./Value" - } - ] - }, - { - "id": "Identifier.period", - "path": "Identifier.period", - "short": "Time period when id is/was valid for use", - "definition": "Time period during which identifier is/was valid for use.", - "min": 0, - "max": "1", - "type": [ - { - "code": "Period" - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "v2", - "map": "CX.7 + CX.8" - }, - { - "identity": "rim", - "map": "Role.effectiveTime or implied by context" - }, - { - "identity": "servd", - "map": "./StartDate and ./EndDate" - } - ] - }, - { - "id": "Identifier.assigner", - "path": "Identifier.assigner", - "short": "Organization that issued id (may be just text)", - "definition": "Organization that issued/manages the identifier.", - "comment": "The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.", - "min": 0, - "max": "1", - "type": [ - { - "code": "Reference", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/Organization"] - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "v2", - "map": "CX.4 / (CX.4,CX.9,CX.10)" - }, - { - "identity": "rim", - "map": "II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper" - }, - { - "identity": "servd", - "map": "./IdentifierIssuingAuthority" - } - ] - } - ] - } -} diff --git a/modules/frontend/src/lib/resource/test/MedicationAdministration.json b/modules/frontend/src/lib/resource/test/MedicationAdministration.json deleted file mode 100644 index 66f539660..000000000 --- a/modules/frontend/src/lib/resource/test/MedicationAdministration.json +++ /dev/null @@ -1,2893 +0,0 @@ -{ - "resourceType": "StructureDefinition", - "id": "MedicationAdministration", - "meta": { - "lastUpdated": "2019-11-01T09:29:23.356+11:00" - }, - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-category", - "valueString": "Clinical.Medications" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", - "valueCode": "trial-use" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm", - "valueInteger": 2 - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-security-category", - "valueCode": "patient" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg", - "valueCode": "phx" - } - ], - "url": "http://hl7.org/fhir/StructureDefinition/MedicationAdministration", - "version": "4.0.1", - "name": "MedicationAdministration", - "status": "draft", - "date": "2019-11-01T09:29:23+11:00", - "publisher": "Health Level Seven International (Pharmacy)", - "contact": [ - { - "telecom": [ - { - "system": "url", - "value": "http://hl7.org/fhir" - } - ] - }, - { - "telecom": [ - { - "system": "url", - "value": "http://www.hl7.org/Special/committees/medication/index.cfm" - } - ] - } - ], - "description": "Describes the event of a patient consuming or otherwise being administered a medication. This may be as simple as swallowing a tablet or it may be a long running infusion. Related resources tie this event to the authorizing prescription, and the specific encounter between patient and health care practitioner.", - "fhirVersion": "4.0.1", - "mapping": [ - { - "identity": "workflow", - "uri": "http://hl7.org/fhir/workflow", - "name": "Workflow Pattern" - }, - { - "identity": "rim", - "uri": "http://hl7.org/v3", - "name": "RIM Mapping" - }, - { - "identity": "w5", - "uri": "http://hl7.org/fhir/fivews", - "name": "FiveWs Pattern Mapping" - }, - { - "identity": "v2", - "uri": "http://hl7.org/v2", - "name": "HL7 v2 Mapping" - }, - { - "identity": "w3c.prov", - "uri": "http://www.w3.org/ns/prov", - "name": "W3C PROV" - } - ], - "kind": "resource", - "abstract": false, - "type": "MedicationAdministration", - "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource", - "derivation": "specialization", - "snapshot": { - "element": [ - { - "id": "MedicationAdministration", - "path": "MedicationAdministration", - "short": "Administration of medication to a patient", - "definition": "Describes the event of a patient consuming or otherwise being administered a medication. This may be as simple as swallowing a tablet or it may be a long running infusion. Related resources tie this event to the authorizing prescription, and the specific encounter between patient and health care practitioner.", - "min": 0, - "max": "*", - "base": { - "path": "MedicationAdministration", - "min": 0, - "max": "*" - }, - "constraint": [ - { - "key": "dom-2", - "severity": "error", - "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources", - "expression": "contained.contained.empty()", - "xpath": "not(parent::f:contained and f:contained)", - "source": "http://hl7.org/fhir/StructureDefinition/DomainResource" - }, - { - "key": "dom-3", - "severity": "error", - "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource", - "expression": "contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()", - "xpath": "not(exists(for $id in f:contained/*/f:id/@value return $contained[not(parent::*/descendant::f:reference/@value=concat('#', $contained/*/id/@value) or descendant::f:reference[@value='#'])]))", - "source": "http://hl7.org/fhir/StructureDefinition/DomainResource" - }, - { - "key": "dom-4", - "severity": "error", - "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated", - "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()", - "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))", - "source": "http://hl7.org/fhir/StructureDefinition/DomainResource" - }, - { - "key": "dom-5", - "severity": "error", - "human": "If a resource is contained in another resource, it SHALL NOT have a security label", - "expression": "contained.meta.security.empty()", - "xpath": "not(exists(f:contained/*/f:meta/f:security))", - "source": "http://hl7.org/fhir/StructureDefinition/DomainResource" - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice", - "valueBoolean": true - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice-explanation", - "valueMarkdown": "When a resource has no narrative, only systems that fully understand the data can display the resource to a human safely. Including a human readable representation in the resource makes for a much more robust eco-system and cheaper handling of resources by intermediary systems. Some ecosystems restrict distribution of resources to only those systems that do fully understand the resources, and as a consequence implementers may believe that the narrative is superfluous. However experience shows that such eco-systems often open up to new participants over time." - } - ], - "key": "dom-6", - "severity": "warning", - "human": "A resource should have narrative for robust management", - "expression": "text.`div`.exists()", - "xpath": "exists(f:text/h:div)", - "source": "http://hl7.org/fhir/StructureDefinition/DomainResource" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "Entity. Role, or Act" - }, - { - "identity": "workflow", - "map": "Event" - }, - { - "identity": "rim", - "map": "SubstanceAdministration" - } - ] - }, - { - "id": "MedicationAdministration.id", - "path": "MedicationAdministration.id", - "short": "Logical id of this artifact", - "definition": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.", - "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.", - "min": 0, - "max": "1", - "base": { - "path": "Resource.id", - "min": 0, - "max": "1" - }, - "type": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", - "valueUrl": "string" - } - ], - "code": "http://hl7.org/fhirpath/System.String" - } - ], - "isModifier": false, - "isSummary": true - }, - { - "id": "MedicationAdministration.meta", - "path": "MedicationAdministration.meta", - "short": "Metadata about the resource", - "definition": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.", - "min": 0, - "max": "1", - "base": { - "path": "Resource.meta", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "Meta" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true - }, - { - "id": "MedicationAdministration.implicitRules", - "path": "MedicationAdministration.implicitRules", - "short": "A set of rules under which this content was created", - "definition": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.", - "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.", - "min": 0, - "max": "1", - "base": { - "path": "Resource.implicitRules", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "uri" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": true, - "isModifierReason": "This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation", - "isSummary": true - }, - { - "id": "MedicationAdministration.language", - "path": "MedicationAdministration.language", - "short": "Language of the resource content", - "definition": "The base language in which the resource is written.", - "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).", - "min": 0, - "max": "1", - "base": { - "path": "Resource.language", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "code" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet", - "valueCanonical": "http://hl7.org/fhir/ValueSet/all-languages" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "Language" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding", - "valueBoolean": true - } - ], - "strength": "preferred", - "description": "A human language.", - "valueSet": "http://hl7.org/fhir/ValueSet/languages" - } - }, - { - "id": "MedicationAdministration.text", - "path": "MedicationAdministration.text", - "short": "Text summary of the resource, for human interpretation", - "definition": "A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.", - "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded information is added later.", - "alias": ["narrative", "html", "xhtml", "display"], - "min": 0, - "max": "1", - "base": { - "path": "DomainResource.text", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "Narrative" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "Act.text?" - } - ] - }, - { - "id": "MedicationAdministration.contained", - "path": "MedicationAdministration.contained", - "short": "Contained, inline Resources", - "definition": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.", - "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.", - "alias": ["inline resources", "anonymous resources", "contained resources"], - "min": 0, - "max": "*", - "base": { - "path": "DomainResource.contained", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Resource" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "N/A" - } - ] - }, - { - "id": "MedicationAdministration.extension", - "path": "MedicationAdministration.extension", - "short": "Additional content defined by implementations", - "definition": "May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", - "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", - "alias": ["extensions", "user content"], - "min": 0, - "max": "*", - "base": { - "path": "DomainResource.extension", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Extension" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key": "ext-1", - "severity": "error", - "human": "Must have either extensions or value[x], not both", - "expression": "extension.exists() != value.exists()", - "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source": "http://hl7.org/fhir/StructureDefinition/Extension" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "N/A" - } - ] - }, - { - "id": "MedicationAdministration.modifierExtension", - "path": "MedicationAdministration.modifierExtension", - "short": "Extensions that cannot be ignored", - "definition": "May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", - "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", - "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).", - "alias": ["extensions", "user content"], - "min": 0, - "max": "*", - "base": { - "path": "DomainResource.modifierExtension", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Extension" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key": "ext-1", - "severity": "error", - "human": "Must have either extensions or value[x], not both", - "expression": "extension.exists() != value.exists()", - "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source": "http://hl7.org/fhir/StructureDefinition/Extension" - } - ], - "isModifier": true, - "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them", - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "N/A" - } - ] - }, - { - "id": "MedicationAdministration.identifier", - "path": "MedicationAdministration.identifier", - "short": "External identifier", - "definition": "Identifiers associated with this Medication Administration that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate. They are business identifiers assigned to this resource by the performer or other systems and remain constant as the resource is updated and propagates from server to server.", - "comment": "This is a business identifier, not a resource identifier.", - "min": 0, - "max": "*", - "base": { - "path": "MedicationAdministration.identifier", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Identifier" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "workflow", - "map": "Event.identifier" - }, - { - "identity": "w5", - "map": "FiveWs.identifier" - }, - { - "identity": "rim", - "map": ".id" - } - ] - }, - { - "id": "MedicationAdministration.instantiates", - "path": "MedicationAdministration.instantiates", - "short": "Instantiates protocol or definition", - "definition": "A protocol, guideline, orderset, or other definition that was adhered to in whole or in part by this event.", - "min": 0, - "max": "*", - "base": { - "path": "MedicationAdministration.instantiates", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "uri" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Event.instantiates" - }, - { - "identity": "rim", - "map": ".outboundRelationship[typeCode=DEFN].target[classCode=unspecified]" - } - ] - }, - { - "id": "MedicationAdministration.partOf", - "path": "MedicationAdministration.partOf", - "short": "Part of referenced event", - "definition": "A larger event of which this particular event is a component or step.", - "min": 0, - "max": "*", - "base": { - "path": "MedicationAdministration.partOf", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Reference", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/MedicationAdministration", - "http://hl7.org/fhir/StructureDefinition/Procedure" - ] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Event.partOf" - }, - { - "identity": "rim", - "map": ".outboundRelationship[typeCode=COMP]/target[classCode=SBADM or PROC,moodCode=EVN]" - } - ] - }, - { - "id": "MedicationAdministration.status", - "path": "MedicationAdministration.status", - "short": "in-progress | not-done | on-hold | completed | entered-in-error | stopped | unknown", - "definition": "Will generally be set to show that the administration has been completed. For some long running administrations such as infusions, it is possible for an administration to be started but not completed or it may be paused while some other process is under way.", - "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.", - "min": 1, - "max": "1", - "base": { - "path": "MedicationAdministration.status", - "min": 1, - "max": "1" - }, - "type": [ - { - "code": "code" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": true, - "isModifierReason": "This element is labelled as a modifier because it is a status element that contains status entered-in-error which means that the resource should not be treated as valid", - "isSummary": true, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "MedicationAdministrationStatus" - } - ], - "strength": "required", - "description": "A set of codes indicating the current status of a MedicationAdministration.", - "valueSet": "http://hl7.org/fhir/ValueSet/medication-admin-status|4.0.1" - }, - "mapping": [ - { - "identity": "workflow", - "map": "Event.status" - }, - { - "identity": "w5", - "map": "FiveWs.status" - }, - { - "identity": "v2", - "map": "RXA-20-Completion Status" - }, - { - "identity": "rim", - "map": ".statusCode" - } - ] - }, - { - "id": "MedicationAdministration.statusReason", - "path": "MedicationAdministration.statusReason", - "short": "Reason administration not performed", - "definition": "A code indicating why the administration was not performed.", - "min": 0, - "max": "*", - "base": { - "path": "MedicationAdministration.statusReason", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "CodeableConcept" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "MedicationAdministrationNegationReason" - } - ], - "strength": "example", - "description": "A set of codes indicating the reason why the MedicationAdministration is negated.", - "valueSet": "http://hl7.org/fhir/ValueSet/reason-medication-not-given-codes" - }, - "mapping": [ - { - "identity": "workflow", - "map": "Event.statusReason" - }, - { - "identity": "v2", - "map": "RXA-9-Administration Notes / RXA-18 Substance/Treatment Refusal Reason" - }, - { - "identity": "rim", - "map": ".outboundRelationship[typeCode=RSON]/target[classCode=OBS,moodCode=EVN, code=\"reason not given\"].value" - } - ] - }, - { - "id": "MedicationAdministration.category", - "path": "MedicationAdministration.category", - "short": "Type of medication usage", - "definition": "Indicates where the medication is expected to be consumed or administered.", - "min": 0, - "max": "1", - "base": { - "path": "MedicationAdministration.category", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "CodeableConcept" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "MedicationAdministrationCategory" - } - ], - "strength": "preferred", - "description": "A coded concept describing where the medication administered is expected to occur.", - "valueSet": "http://hl7.org/fhir/ValueSet/medication-admin-category" - }, - "mapping": [ - { - "identity": "rim", - "map": ".inboundRelationship[typeCode=COMP].source[classCode=OBS, moodCode=EVN, code=\"type of medication usage\"].value" - } - ] - }, - { - "id": "MedicationAdministration.medication[x]", - "path": "MedicationAdministration.medication[x]", - "short": "What was administered", - "definition": "Identifies the medication that was administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications.", - "comment": "If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended. For example, if you require form or lot number, then you must reference the Medication resource.", - "min": 1, - "max": "1", - "base": { - "path": "MedicationAdministration.medication[x]", - "min": 1, - "max": "1" - }, - "type": [ - { - "code": "CodeableConcept" - }, - { - "code": "Reference", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/Medication"] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "MedicationCode" - } - ], - "strength": "example", - "description": "Codes identifying substance or product that can be administered.", - "valueSet": "http://hl7.org/fhir/ValueSet/medication-codes" - }, - "mapping": [ - { - "identity": "workflow", - "map": "Event.code" - }, - { - "identity": "w5", - "map": "FiveWs.what[x]" - }, - { - "identity": "v2", - "map": "RXA-5-Administered Code" - }, - { - "identity": "rim", - "map": ".participation[typeCode=CSM].role[classCode=ADMM]" - } - ] - }, - { - "id": "MedicationAdministration.subject", - "path": "MedicationAdministration.subject", - "short": "Who received medication", - "definition": "The person or animal or group receiving the medication.", - "min": 1, - "max": "1", - "base": { - "path": "MedicationAdministration.subject", - "min": 1, - "max": "1" - }, - "type": [ - { - "code": "Reference", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/Patient", - "http://hl7.org/fhir/StructureDefinition/Group" - ] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Event.subject" - }, - { - "identity": "w5", - "map": "FiveWs.subject[x]" - }, - { - "identity": "v2", - "map": "PID-3-Patient ID List" - }, - { - "identity": "rim", - "map": ".participation[typeCode=SBJ].role[classCode=PAT]" - }, - { - "identity": "w5", - "map": "FiveWs.subject" - } - ] - }, - { - "id": "MedicationAdministration.context", - "path": "MedicationAdministration.context", - "short": "Encounter or Episode of Care administered as part of", - "definition": "The visit, admission, or other contact between patient and health care provider during which the medication administration was performed.", - "min": 0, - "max": "1", - "base": { - "path": "MedicationAdministration.context", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "Reference", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/Encounter", - "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare" - ] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "workflow", - "map": "Event.context" - }, - { - "identity": "w5", - "map": "FiveWs.context" - }, - { - "identity": "v2", - "map": "PV1-19-Visit Number" - }, - { - "identity": "rim", - "map": ".inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN, code=\"type of encounter or episode\"]" - } - ] - }, - { - "id": "MedicationAdministration.supportingInformation", - "path": "MedicationAdministration.supportingInformation", - "short": "Additional information to support administration", - "definition": "Additional information (for example, patient height and weight) that supports the administration of the medication.", - "min": 0, - "max": "*", - "base": { - "path": "MedicationAdministration.supportingInformation", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Reference", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/Resource"] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "w5", - "map": "FiveWs.context" - }, - { - "identity": "rim", - "map": ".outboundRelationship[typeCode=PERT].target[A_SupportingClinicalStatement CMET minimal with many different choices of classCodes(ORG, ENC, PROC, SPLY, SBADM, OBS) and each of the act class codes draws from one or more of the following moodCodes (EVN, DEF, INT PRMS, RQO, PRP, APT, ARQ, GOL)]" - } - ] - }, - { - "id": "MedicationAdministration.effective[x]", - "path": "MedicationAdministration.effective[x]", - "short": "Start and end time of administration", - "definition": "A specific date/time or interval of time during which the administration took place (or did not take place, when the 'notGiven' attribute is true). For many administrations, such as swallowing a tablet the use of dateTime is more appropriate.", - "min": 1, - "max": "1", - "base": { - "path": "MedicationAdministration.effective[x]", - "min": 1, - "max": "1" - }, - "type": [ - { - "code": "dateTime" - }, - { - "code": "Period" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Event.occurrence[x]" - }, - { - "identity": "w5", - "map": "FiveWs.done[x]" - }, - { - "identity": "v2", - "map": "RXA-3-Date/Time Start of Administration / RXA-4-Date/Time End of Administration" - }, - { - "identity": "rim", - "map": ".effectiveTime" - } - ] - }, - { - "id": "MedicationAdministration.performer", - "path": "MedicationAdministration.performer", - "short": "Who performed the medication administration and what they did", - "definition": "Indicates who or what performed the medication administration and how they were involved.", - "min": 0, - "max": "*", - "base": { - "path": "MedicationAdministration.performer", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "BackboneElement" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Event.performer" - }, - { - "identity": "w5", - "map": "FiveWs.actor" - }, - { - "identity": "v2", - "map": "RXA-10-Administering Provider / PRT-5-Participation Person: PRT-4-Participation='AP' (RXA-10 is deprecated)" - }, - { - "identity": "rim", - "map": ".participation[typeCode=PRF]" - } - ] - }, - { - "id": "MedicationAdministration.performer.id", - "path": "MedicationAdministration.performer.id", - "representation": ["xmlAttr"], - "short": "Unique id for inter-element referencing", - "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", - "min": 0, - "max": "1", - "base": { - "path": "Element.id", - "min": 0, - "max": "1" - }, - "type": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", - "valueUrl": "string" - } - ], - "code": "http://hl7.org/fhirpath/System.String" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "n/a" - } - ] - }, - { - "id": "MedicationAdministration.performer.extension", - "path": "MedicationAdministration.performer.extension", - "short": "Additional content defined by implementations", - "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", - "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", - "alias": ["extensions", "user content"], - "min": 0, - "max": "*", - "base": { - "path": "Element.extension", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Extension" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key": "ext-1", - "severity": "error", - "human": "Must have either extensions or value[x], not both", - "expression": "extension.exists() != value.exists()", - "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source": "http://hl7.org/fhir/StructureDefinition/Extension" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "n/a" - } - ] - }, - { - "id": "MedicationAdministration.performer.modifierExtension", - "path": "MedicationAdministration.performer.modifierExtension", - "short": "Extensions that cannot be ignored even if unrecognized", - "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", - "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", - "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).", - "alias": ["extensions", "user content", "modifiers"], - "min": 0, - "max": "*", - "base": { - "path": "BackboneElement.modifierExtension", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Extension" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key": "ext-1", - "severity": "error", - "human": "Must have either extensions or value[x], not both", - "expression": "extension.exists() != value.exists()", - "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source": "http://hl7.org/fhir/StructureDefinition/Extension" - } - ], - "isModifier": true, - "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them", - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": "N/A" - } - ] - }, - { - "id": "MedicationAdministration.performer.function", - "path": "MedicationAdministration.performer.function", - "short": "Type of performance", - "definition": "Distinguishes the type of involvement of the performer in the medication administration.", - "min": 0, - "max": "1", - "base": { - "path": "MedicationAdministration.performer.function", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "CodeableConcept" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "MedicationAdministrationPerformerFunction" - } - ], - "strength": "example", - "description": "A code describing the role an individual played in administering the medication.", - "valueSet": "http://hl7.org/fhir/ValueSet/med-admin-perform-function" - }, - "mapping": [ - { - "identity": "workflow", - "map": "Event.performer.function" - }, - { - "identity": "rim", - "map": "participation[typeCode=PRF].functionCode" - } - ] - }, - { - "id": "MedicationAdministration.performer.actor", - "path": "MedicationAdministration.performer.actor", - "short": "Who performed the medication administration", - "definition": "Indicates who or what performed the medication administration.", - "min": 1, - "max": "1", - "base": { - "path": "MedicationAdministration.performer.actor", - "min": 1, - "max": "1" - }, - "type": [ - { - "code": "Reference", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/Practitioner", - "http://hl7.org/fhir/StructureDefinition/PractitionerRole", - "http://hl7.org/fhir/StructureDefinition/Patient", - "http://hl7.org/fhir/StructureDefinition/RelatedPerson", - "http://hl7.org/fhir/StructureDefinition/Device" - ] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Event.performer.actor" - }, - { - "identity": "rim", - "map": ".role" - } - ] - }, - { - "id": "MedicationAdministration.reasonCode", - "path": "MedicationAdministration.reasonCode", - "short": "Reason administration performed", - "definition": "A code indicating why the medication was given.", - "min": 0, - "max": "*", - "base": { - "path": "MedicationAdministration.reasonCode", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "CodeableConcept" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "MedicationAdministrationReason" - } - ], - "strength": "example", - "description": "A set of codes indicating the reason why the MedicationAdministration was made.", - "valueSet": "http://hl7.org/fhir/ValueSet/reason-medication-given-codes" - }, - "mapping": [ - { - "identity": "workflow", - "map": "Event.reasonCode" - }, - { - "identity": "v2", - "map": "RXE-27 Give Indication" - }, - { - "identity": "rim", - "map": ".reasonCode" - } - ] - }, - { - "id": "MedicationAdministration.reasonReference", - "path": "MedicationAdministration.reasonReference", - "short": "Condition or observation that supports why the medication was administered", - "definition": "Condition or observation that supports why the medication was administered.", - "comment": "This is a reference to a condition that is the reason for the medication request. If only a code exists, use reasonCode.", - "min": 0, - "max": "*", - "base": { - "path": "MedicationAdministration.reasonReference", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Reference", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/Condition", - "http://hl7.org/fhir/StructureDefinition/Observation", - "http://hl7.org/fhir/StructureDefinition/DiagnosticReport" - ] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "workflow", - "map": "Event.reasonReference" - }, - { - "identity": "w5", - "map": "FiveWs.why[x]" - }, - { - "identity": "rim", - "map": ".outboundRelationship[typeCode=RSON]/target[classCode=OBS,moodCode=EVN, code=\"reason for use ASSERTION\"].value" - }, - { - "identity": "w3c.prov", - "map": "no mapping" - } - ] - }, - { - "id": "MedicationAdministration.request", - "path": "MedicationAdministration.request", - "short": "Request administration performed against", - "definition": "The original request, instruction or authority to perform the administration.", - "comment": "This is a reference to the MedicationRequest where the intent is either order or instance-order. It should not reference MedicationRequests where the intent is any other value.", - "min": 0, - "max": "1", - "base": { - "path": "MedicationAdministration.request", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "Reference", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/MedicationRequest"] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "workflow", - "map": "Event.basedOn" - }, - { - "identity": "v2", - "map": "ORC-2-Placer Order Number / ORC-3-Filler Order Number" - }, - { - "identity": "rim", - "map": "InFullfillmentOf->SubstanceAdministration" - } - ] - }, - { - "id": "MedicationAdministration.device", - "path": "MedicationAdministration.device", - "short": "Device used to administer", - "definition": "The device used in administering the medication to the patient. For example, a particular infusion pump.", - "min": 0, - "max": "*", - "base": { - "path": "MedicationAdministration.device", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Reference", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/Device"] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "v2", - "map": "PRT-10 Participation Device / RXR-3 Administrative Device" - }, - { - "identity": "rim", - "map": "device->Access OR device->AssignedDevice" - } - ] - }, - { - "id": "MedicationAdministration.note", - "path": "MedicationAdministration.note", - "short": "Information about the administration", - "definition": "Extra information about the medication administration that is not conveyed by the other attributes.", - "min": 0, - "max": "*", - "base": { - "path": "MedicationAdministration.note", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Annotation" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "workflow", - "map": "Event.note" - }, - { - "identity": "rim", - "map": ".inboundRelationship[typeCode=SUBJ]/source[classCode=OBS,moodCode=EVN,code=\"annotation\"].value" - } - ] - }, - { - "id": "MedicationAdministration.dosage", - "path": "MedicationAdministration.dosage", - "short": "Details of how medication was taken", - "definition": "Describes the medication dosage information details e.g. dose, rate, site, route, etc.", - "min": 0, - "max": "1", - "base": { - "path": "MedicationAdministration.dosage", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "BackboneElement" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key": "mad-1", - "severity": "error", - "human": "SHALL have at least one of dosage.dose or dosage.rate[x]", - "expression": "dose.exists() or rate.exists()", - "xpath": "exists(f:dose) or exists(f:*[starts-with(local-name(.), 'rate')])" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "component->SubstanceAdministrationEvent" - } - ] - }, - { - "id": "MedicationAdministration.dosage.id", - "path": "MedicationAdministration.dosage.id", - "representation": ["xmlAttr"], - "short": "Unique id for inter-element referencing", - "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", - "min": 0, - "max": "1", - "base": { - "path": "Element.id", - "min": 0, - "max": "1" - }, - "type": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", - "valueUrl": "string" - } - ], - "code": "http://hl7.org/fhirpath/System.String" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "n/a" - } - ] - }, - { - "id": "MedicationAdministration.dosage.extension", - "path": "MedicationAdministration.dosage.extension", - "short": "Additional content defined by implementations", - "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", - "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", - "alias": ["extensions", "user content"], - "min": 0, - "max": "*", - "base": { - "path": "Element.extension", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Extension" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key": "ext-1", - "severity": "error", - "human": "Must have either extensions or value[x], not both", - "expression": "extension.exists() != value.exists()", - "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source": "http://hl7.org/fhir/StructureDefinition/Extension" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "n/a" - } - ] - }, - { - "id": "MedicationAdministration.dosage.modifierExtension", - "path": "MedicationAdministration.dosage.modifierExtension", - "short": "Extensions that cannot be ignored even if unrecognized", - "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", - "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", - "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).", - "alias": ["extensions", "user content", "modifiers"], - "min": 0, - "max": "*", - "base": { - "path": "BackboneElement.modifierExtension", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Extension" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key": "ext-1", - "severity": "error", - "human": "Must have either extensions or value[x], not both", - "expression": "extension.exists() != value.exists()", - "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source": "http://hl7.org/fhir/StructureDefinition/Extension" - } - ], - "isModifier": true, - "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them", - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": "N/A" - } - ] - }, - { - "id": "MedicationAdministration.dosage.text", - "path": "MedicationAdministration.dosage.text", - "short": "Free text dosage instructions e.g. SIG", - "definition": "Free text dosage can be used for cases where the dosage administered is too complex to code. When coded dosage is present, the free text dosage may still be present for display to humans.\r\rThe dosage instructions should reflect the dosage of the medication that was administered.", - "min": 0, - "max": "1", - "base": { - "path": "MedicationAdministration.dosage.text", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "string" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": ".text" - } - ] - }, - { - "id": "MedicationAdministration.dosage.site", - "path": "MedicationAdministration.dosage.site", - "short": "Body site administered to", - "definition": "A coded specification of the anatomic site where the medication first entered the body. For example, \"left arm\".", - "comment": "If the use case requires attributes from the BodySite resource (e.g. to identify and track separately) then use the standard extension [bodySite](extension-bodysite.html). May be a summary code, or a reference to a very precise definition of the location, or both.", - "min": 0, - "max": "1", - "base": { - "path": "MedicationAdministration.dosage.site", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "CodeableConcept" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "MedicationAdministrationSite" - } - ], - "strength": "example", - "description": "A coded concept describing the site location the medicine enters into or onto the body.", - "valueSet": "http://hl7.org/fhir/ValueSet/approach-site-codes" - }, - "mapping": [ - { - "identity": "v2", - "map": "RXR-2 Administration Site / RXR-6 Administration Site Modifier" - }, - { - "identity": "rim", - "map": ".approachSiteCode" - } - ] - }, - { - "id": "MedicationAdministration.dosage.route", - "path": "MedicationAdministration.dosage.route", - "short": "Path of substance into body", - "definition": "A code specifying the route or physiological path of administration of a therapeutic agent into or onto the patient. For example, topical, intravenous, etc.", - "min": 0, - "max": "1", - "base": { - "path": "MedicationAdministration.dosage.route", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "CodeableConcept" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "RouteOfAdministration" - } - ], - "strength": "example", - "description": "A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.", - "valueSet": "http://hl7.org/fhir/ValueSet/route-codes" - }, - "mapping": [ - { - "identity": "v2", - "map": "RXR-1-Route" - }, - { - "identity": "rim", - "map": ".routeCode" - } - ] - }, - { - "id": "MedicationAdministration.dosage.method", - "path": "MedicationAdministration.dosage.method", - "short": "How drug was administered", - "definition": "A coded value indicating the method by which the medication is intended to be or was introduced into or on the body. This attribute will most often NOT be populated. It is most commonly used for injections. For example, Slow Push, Deep IV.", - "comment": "One of the reasons this attribute is not used often, is that the method is often pre-coordinated with the route and/or form of administration. This means the codes used in route or form may pre-coordinate the method in the route code or the form code. The implementation decision about what coding system to use for route or form code will determine how frequently the method code will be populated e.g. if route or form code pre-coordinate method code, then this attribute will not be populated often; if there is no pre-coordination then method code may be used frequently.", - "min": 0, - "max": "1", - "base": { - "path": "MedicationAdministration.dosage.method", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "CodeableConcept" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "MedicationAdministrationMethod" - } - ], - "strength": "example", - "description": "A coded concept describing the technique by which the medicine is administered.", - "valueSet": "http://hl7.org/fhir/ValueSet/administration-method-codes" - }, - "mapping": [ - { - "identity": "v2", - "map": "RXR-4-Administration Method" - }, - { - "identity": "rim", - "map": ".methodCode" - } - ] - }, - { - "id": "MedicationAdministration.dosage.dose", - "path": "MedicationAdministration.dosage.dose", - "short": "Amount of medication per dose", - "definition": "The amount of the medication given at one administration event. Use this value when the administration is essentially an instantaneous event such as a swallowing a tablet or giving an injection.", - "comment": "If the administration is not instantaneous (rate is present), this can be specified to convey the total amount administered over period of time of a single administration.", - "min": 0, - "max": "1", - "base": { - "path": "MedicationAdministration.dosage.dose", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "Quantity", - "profile": ["http://hl7.org/fhir/StructureDefinition/SimpleQuantity"] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "v2", - "map": "RXA-6 Administered Amount / RXA-7 Administered Units" - }, - { - "identity": "rim", - "map": ".doseQuantity" - } - ] - }, - { - "id": "MedicationAdministration.dosage.rate[x]", - "path": "MedicationAdministration.dosage.rate[x]", - "short": "Dose quantity per unit of time", - "definition": "Identifies the speed with which the medication was or will be introduced into the patient. Typically, the rate for an infusion e.g. 100 ml per 1 hour or 100 ml/hr. May also be expressed as a rate per unit of time, e.g. 500 ml per 2 hours. Other examples: 200 mcg/min or 200 mcg/1 minute; 1 liter/8 hours.", - "comment": "If the rate changes over time, and you want to capture this in MedicationAdministration, then each change should be captured as a distinct MedicationAdministration, with a specific MedicationAdministration.dosage.rate, and the date time when the rate change occurred. Typically, the MedicationAdministration.dosage.rate element is not used to convey an average rate.", - "min": 0, - "max": "1", - "base": { - "path": "MedicationAdministration.dosage.rate[x]", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "Ratio" - }, - { - "code": "Quantity", - "profile": ["http://hl7.org/fhir/StructureDefinition/SimpleQuantity"] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "v2", - "map": "RXA-12-Administered Per (Time Unit)" - }, - { - "identity": "rim", - "map": ".rateQuantity" - } - ] - }, - { - "id": "MedicationAdministration.eventHistory", - "path": "MedicationAdministration.eventHistory", - "short": "A list of events of interest in the lifecycle", - "definition": "A summary of the events of interest that have occurred, such as when the administration was verified.", - "comment": "This might not include provenances for all versions of the request – only those deemed “relevant” or important. This SHALL NOT include the Provenance associated with this current version of the resource. (If that provenance is deemed to be a “relevant” change, it will need to be added as part of a later update. Until then, it can be queried directly as the Provenance that points to this version using _revinclude All Provenances should have some historical version of this Request as their subject.", - "min": 0, - "max": "*", - "base": { - "path": "MedicationAdministration.eventHistory", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Reference", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/Provenance"] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": ".inboundRelationship(typeCode=SUBJ].source[classCode=CACT, moodCode=EVN]" - } - ] - } - ] - }, - "differential": { - "element": [ - { - "id": "MedicationAdministration", - "path": "MedicationAdministration", - "short": "Administration of medication to a patient", - "definition": "Describes the event of a patient consuming or otherwise being administered a medication. This may be as simple as swallowing a tablet or it may be a long running infusion. Related resources tie this event to the authorizing prescription, and the specific encounter between patient and health care practitioner.", - "min": 0, - "max": "*", - "mapping": [ - { - "identity": "workflow", - "map": "Event" - }, - { - "identity": "rim", - "map": "SubstanceAdministration" - } - ] - }, - { - "id": "MedicationAdministration.identifier", - "path": "MedicationAdministration.identifier", - "short": "External identifier", - "definition": "Identifiers associated with this Medication Administration that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate. They are business identifiers assigned to this resource by the performer or other systems and remain constant as the resource is updated and propagates from server to server.", - "comment": "This is a business identifier, not a resource identifier.", - "min": 0, - "max": "*", - "type": [ - { - "code": "Identifier" - } - ], - "mapping": [ - { - "identity": "workflow", - "map": "Event.identifier" - }, - { - "identity": "w5", - "map": "FiveWs.identifier" - }, - { - "identity": "rim", - "map": ".id" - } - ] - }, - { - "id": "MedicationAdministration.instantiates", - "path": "MedicationAdministration.instantiates", - "short": "Instantiates protocol or definition", - "definition": "A protocol, guideline, orderset, or other definition that was adhered to in whole or in part by this event.", - "min": 0, - "max": "*", - "type": [ - { - "code": "uri" - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Event.instantiates" - }, - { - "identity": "rim", - "map": ".outboundRelationship[typeCode=DEFN].target[classCode=unspecified]" - } - ] - }, - { - "id": "MedicationAdministration.partOf", - "path": "MedicationAdministration.partOf", - "short": "Part of referenced event", - "definition": "A larger event of which this particular event is a component or step.", - "min": 0, - "max": "*", - "type": [ - { - "code": "Reference", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/MedicationAdministration", - "http://hl7.org/fhir/StructureDefinition/Procedure" - ] - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Event.partOf" - }, - { - "identity": "rim", - "map": ".outboundRelationship[typeCode=COMP]/target[classCode=SBADM or PROC,moodCode=EVN]" - } - ] - }, - { - "id": "MedicationAdministration.status", - "path": "MedicationAdministration.status", - "short": "in-progress | not-done | on-hold | completed | entered-in-error | stopped | unknown", - "definition": "Will generally be set to show that the administration has been completed. For some long running administrations such as infusions, it is possible for an administration to be started but not completed or it may be paused while some other process is under way.", - "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.", - "min": 1, - "max": "1", - "type": [ - { - "code": "code" - } - ], - "isModifier": true, - "isModifierReason": "This element is labelled as a modifier because it is a status element that contains status entered-in-error which means that the resource should not be treated as valid", - "isSummary": true, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "MedicationAdministrationStatus" - } - ], - "strength": "required", - "description": "A set of codes indicating the current status of a MedicationAdministration.", - "valueSet": "http://hl7.org/fhir/ValueSet/medication-admin-status|4.0.1" - }, - "mapping": [ - { - "identity": "workflow", - "map": "Event.status" - }, - { - "identity": "w5", - "map": "FiveWs.status" - }, - { - "identity": "v2", - "map": "RXA-20-Completion Status" - }, - { - "identity": "rim", - "map": ".statusCode" - } - ] - }, - { - "id": "MedicationAdministration.statusReason", - "path": "MedicationAdministration.statusReason", - "short": "Reason administration not performed", - "definition": "A code indicating why the administration was not performed.", - "min": 0, - "max": "*", - "type": [ - { - "code": "CodeableConcept" - } - ], - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "MedicationAdministrationNegationReason" - } - ], - "strength": "example", - "description": "A set of codes indicating the reason why the MedicationAdministration is negated.", - "valueSet": "http://hl7.org/fhir/ValueSet/reason-medication-not-given-codes" - }, - "mapping": [ - { - "identity": "workflow", - "map": "Event.statusReason" - }, - { - "identity": "v2", - "map": "RXA-9-Administration Notes / RXA-18 Substance/Treatment Refusal Reason" - }, - { - "identity": "rim", - "map": ".outboundRelationship[typeCode=RSON]/target[classCode=OBS,moodCode=EVN, code=\"reason not given\"].value" - } - ] - }, - { - "id": "MedicationAdministration.category", - "path": "MedicationAdministration.category", - "short": "Type of medication usage", - "definition": "Indicates where the medication is expected to be consumed or administered.", - "min": 0, - "max": "1", - "type": [ - { - "code": "CodeableConcept" - } - ], - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "MedicationAdministrationCategory" - } - ], - "strength": "preferred", - "description": "A coded concept describing where the medication administered is expected to occur.", - "valueSet": "http://hl7.org/fhir/ValueSet/medication-admin-category" - }, - "mapping": [ - { - "identity": "rim", - "map": ".inboundRelationship[typeCode=COMP].source[classCode=OBS, moodCode=EVN, code=\"type of medication usage\"].value" - } - ] - }, - { - "id": "MedicationAdministration.medication[x]", - "path": "MedicationAdministration.medication[x]", - "short": "What was administered", - "definition": "Identifies the medication that was administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications.", - "comment": "If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended. For example, if you require form or lot number, then you must reference the Medication resource.", - "min": 1, - "max": "1", - "type": [ - { - "code": "CodeableConcept" - }, - { - "code": "Reference", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/Medication"] - } - ], - "isSummary": true, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "MedicationCode" - } - ], - "strength": "example", - "description": "Codes identifying substance or product that can be administered.", - "valueSet": "http://hl7.org/fhir/ValueSet/medication-codes" - }, - "mapping": [ - { - "identity": "workflow", - "map": "Event.code" - }, - { - "identity": "w5", - "map": "FiveWs.what[x]" - }, - { - "identity": "v2", - "map": "RXA-5-Administered Code" - }, - { - "identity": "rim", - "map": ".participation[typeCode=CSM].role[classCode=ADMM]" - } - ] - }, - { - "id": "MedicationAdministration.subject", - "path": "MedicationAdministration.subject", - "short": "Who received medication", - "definition": "The person or animal or group receiving the medication.", - "min": 1, - "max": "1", - "type": [ - { - "code": "Reference", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/Patient", - "http://hl7.org/fhir/StructureDefinition/Group" - ] - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Event.subject" - }, - { - "identity": "w5", - "map": "FiveWs.subject[x]" - }, - { - "identity": "v2", - "map": "PID-3-Patient ID List" - }, - { - "identity": "rim", - "map": ".participation[typeCode=SBJ].role[classCode=PAT]" - }, - { - "identity": "w5", - "map": "FiveWs.subject" - } - ] - }, - { - "id": "MedicationAdministration.context", - "path": "MedicationAdministration.context", - "short": "Encounter or Episode of Care administered as part of", - "definition": "The visit, admission, or other contact between patient and health care provider during which the medication administration was performed.", - "min": 0, - "max": "1", - "type": [ - { - "code": "Reference", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/Encounter", - "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare" - ] - } - ], - "mapping": [ - { - "identity": "workflow", - "map": "Event.context" - }, - { - "identity": "w5", - "map": "FiveWs.context" - }, - { - "identity": "v2", - "map": "PV1-19-Visit Number" - }, - { - "identity": "rim", - "map": ".inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN, code=\"type of encounter or episode\"]" - } - ] - }, - { - "id": "MedicationAdministration.supportingInformation", - "path": "MedicationAdministration.supportingInformation", - "short": "Additional information to support administration", - "definition": "Additional information (for example, patient height and weight) that supports the administration of the medication.", - "min": 0, - "max": "*", - "type": [ - { - "code": "Reference", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/Resource"] - } - ], - "mapping": [ - { - "identity": "w5", - "map": "FiveWs.context" - }, - { - "identity": "rim", - "map": ".outboundRelationship[typeCode=PERT].target[A_SupportingClinicalStatement CMET minimal with many different choices of classCodes(ORG, ENC, PROC, SPLY, SBADM, OBS) and each of the act class codes draws from one or more of the following moodCodes (EVN, DEF, INT PRMS, RQO, PRP, APT, ARQ, GOL)]" - } - ] - }, - { - "id": "MedicationAdministration.effective[x]", - "path": "MedicationAdministration.effective[x]", - "short": "Start and end time of administration", - "definition": "A specific date/time or interval of time during which the administration took place (or did not take place, when the 'notGiven' attribute is true). For many administrations, such as swallowing a tablet the use of dateTime is more appropriate.", - "min": 1, - "max": "1", - "type": [ - { - "code": "dateTime" - }, - { - "code": "Period" - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Event.occurrence[x]" - }, - { - "identity": "w5", - "map": "FiveWs.done[x]" - }, - { - "identity": "v2", - "map": "RXA-3-Date/Time Start of Administration / RXA-4-Date/Time End of Administration" - }, - { - "identity": "rim", - "map": ".effectiveTime" - } - ] - }, - { - "id": "MedicationAdministration.performer", - "path": "MedicationAdministration.performer", - "short": "Who performed the medication administration and what they did", - "definition": "Indicates who or what performed the medication administration and how they were involved.", - "min": 0, - "max": "*", - "type": [ - { - "code": "BackboneElement" - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Event.performer" - }, - { - "identity": "w5", - "map": "FiveWs.actor" - }, - { - "identity": "v2", - "map": "RXA-10-Administering Provider / PRT-5-Participation Person: PRT-4-Participation='AP' (RXA-10 is deprecated)" - }, - { - "identity": "rim", - "map": ".participation[typeCode=PRF]" - } - ] - }, - { - "id": "MedicationAdministration.performer.function", - "path": "MedicationAdministration.performer.function", - "short": "Type of performance", - "definition": "Distinguishes the type of involvement of the performer in the medication administration.", - "min": 0, - "max": "1", - "type": [ - { - "code": "CodeableConcept" - } - ], - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "MedicationAdministrationPerformerFunction" - } - ], - "strength": "example", - "description": "A code describing the role an individual played in administering the medication.", - "valueSet": "http://hl7.org/fhir/ValueSet/med-admin-perform-function" - }, - "mapping": [ - { - "identity": "workflow", - "map": "Event.performer.function" - }, - { - "identity": "rim", - "map": "participation[typeCode=PRF].functionCode" - } - ] - }, - { - "id": "MedicationAdministration.performer.actor", - "path": "MedicationAdministration.performer.actor", - "short": "Who performed the medication administration", - "definition": "Indicates who or what performed the medication administration.", - "min": 1, - "max": "1", - "type": [ - { - "code": "Reference", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/Practitioner", - "http://hl7.org/fhir/StructureDefinition/PractitionerRole", - "http://hl7.org/fhir/StructureDefinition/Patient", - "http://hl7.org/fhir/StructureDefinition/RelatedPerson", - "http://hl7.org/fhir/StructureDefinition/Device" - ] - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Event.performer.actor" - }, - { - "identity": "rim", - "map": ".role" - } - ] - }, - { - "id": "MedicationAdministration.reasonCode", - "path": "MedicationAdministration.reasonCode", - "short": "Reason administration performed", - "definition": "A code indicating why the medication was given.", - "min": 0, - "max": "*", - "type": [ - { - "code": "CodeableConcept" - } - ], - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "MedicationAdministrationReason" - } - ], - "strength": "example", - "description": "A set of codes indicating the reason why the MedicationAdministration was made.", - "valueSet": "http://hl7.org/fhir/ValueSet/reason-medication-given-codes" - }, - "mapping": [ - { - "identity": "workflow", - "map": "Event.reasonCode" - }, - { - "identity": "v2", - "map": "RXE-27 Give Indication" - }, - { - "identity": "rim", - "map": ".reasonCode" - } - ] - }, - { - "id": "MedicationAdministration.reasonReference", - "path": "MedicationAdministration.reasonReference", - "short": "Condition or observation that supports why the medication was administered", - "definition": "Condition or observation that supports why the medication was administered.", - "comment": "This is a reference to a condition that is the reason for the medication request. If only a code exists, use reasonCode.", - "min": 0, - "max": "*", - "type": [ - { - "code": "Reference", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/Condition", - "http://hl7.org/fhir/StructureDefinition/Observation", - "http://hl7.org/fhir/StructureDefinition/DiagnosticReport" - ] - } - ], - "mapping": [ - { - "identity": "workflow", - "map": "Event.reasonReference" - }, - { - "identity": "w5", - "map": "FiveWs.why[x]" - }, - { - "identity": "rim", - "map": ".outboundRelationship[typeCode=RSON]/target[classCode=OBS,moodCode=EVN, code=\"reason for use ASSERTION\"].value" - }, - { - "identity": "w3c.prov", - "map": "no mapping" - } - ] - }, - { - "id": "MedicationAdministration.request", - "path": "MedicationAdministration.request", - "short": "Request administration performed against", - "definition": "The original request, instruction or authority to perform the administration.", - "comment": "This is a reference to the MedicationRequest where the intent is either order or instance-order. It should not reference MedicationRequests where the intent is any other value.", - "min": 0, - "max": "1", - "type": [ - { - "code": "Reference", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/MedicationRequest"] - } - ], - "mapping": [ - { - "identity": "workflow", - "map": "Event.basedOn" - }, - { - "identity": "v2", - "map": "ORC-2-Placer Order Number / ORC-3-Filler Order Number" - }, - { - "identity": "rim", - "map": "InFullfillmentOf->SubstanceAdministration" - } - ] - }, - { - "id": "MedicationAdministration.device", - "path": "MedicationAdministration.device", - "short": "Device used to administer", - "definition": "The device used in administering the medication to the patient. For example, a particular infusion pump.", - "min": 0, - "max": "*", - "type": [ - { - "code": "Reference", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/Device"] - } - ], - "mapping": [ - { - "identity": "v2", - "map": "PRT-10 Participation Device / RXR-3 Administrative Device" - }, - { - "identity": "rim", - "map": "device->Access OR device->AssignedDevice" - } - ] - }, - { - "id": "MedicationAdministration.note", - "path": "MedicationAdministration.note", - "short": "Information about the administration", - "definition": "Extra information about the medication administration that is not conveyed by the other attributes.", - "min": 0, - "max": "*", - "type": [ - { - "code": "Annotation" - } - ], - "mapping": [ - { - "identity": "workflow", - "map": "Event.note" - }, - { - "identity": "rim", - "map": ".inboundRelationship[typeCode=SUBJ]/source[classCode=OBS,moodCode=EVN,code=\"annotation\"].value" - } - ] - }, - { - "id": "MedicationAdministration.dosage", - "path": "MedicationAdministration.dosage", - "short": "Details of how medication was taken", - "definition": "Describes the medication dosage information details e.g. dose, rate, site, route, etc.", - "min": 0, - "max": "1", - "type": [ - { - "code": "BackboneElement" - } - ], - "constraint": [ - { - "key": "mad-1", - "severity": "error", - "human": "SHALL have at least one of dosage.dose or dosage.rate[x]", - "expression": "dose.exists() or rate.exists()", - "xpath": "exists(f:dose) or exists(f:*[starts-with(local-name(.), 'rate')])" - } - ], - "mapping": [ - { - "identity": "rim", - "map": "component->SubstanceAdministrationEvent" - } - ] - }, - { - "id": "MedicationAdministration.dosage.text", - "path": "MedicationAdministration.dosage.text", - "short": "Free text dosage instructions e.g. SIG", - "definition": "Free text dosage can be used for cases where the dosage administered is too complex to code. When coded dosage is present, the free text dosage may still be present for display to humans.\r\rThe dosage instructions should reflect the dosage of the medication that was administered.", - "min": 0, - "max": "1", - "type": [ - { - "code": "string" - } - ], - "mapping": [ - { - "identity": "rim", - "map": ".text" - } - ] - }, - { - "id": "MedicationAdministration.dosage.site", - "path": "MedicationAdministration.dosage.site", - "short": "Body site administered to", - "definition": "A coded specification of the anatomic site where the medication first entered the body. For example, \"left arm\".", - "comment": "If the use case requires attributes from the BodySite resource (e.g. to identify and track separately) then use the standard extension [bodySite](extension-bodysite.html). May be a summary code, or a reference to a very precise definition of the location, or both.", - "min": 0, - "max": "1", - "type": [ - { - "code": "CodeableConcept" - } - ], - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "MedicationAdministrationSite" - } - ], - "strength": "example", - "description": "A coded concept describing the site location the medicine enters into or onto the body.", - "valueSet": "http://hl7.org/fhir/ValueSet/approach-site-codes" - }, - "mapping": [ - { - "identity": "v2", - "map": "RXR-2 Administration Site / RXR-6 Administration Site Modifier" - }, - { - "identity": "rim", - "map": ".approachSiteCode" - } - ] - }, - { - "id": "MedicationAdministration.dosage.route", - "path": "MedicationAdministration.dosage.route", - "short": "Path of substance into body", - "definition": "A code specifying the route or physiological path of administration of a therapeutic agent into or onto the patient. For example, topical, intravenous, etc.", - "min": 0, - "max": "1", - "type": [ - { - "code": "CodeableConcept" - } - ], - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "RouteOfAdministration" - } - ], - "strength": "example", - "description": "A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.", - "valueSet": "http://hl7.org/fhir/ValueSet/route-codes" - }, - "mapping": [ - { - "identity": "v2", - "map": "RXR-1-Route" - }, - { - "identity": "rim", - "map": ".routeCode" - } - ] - }, - { - "id": "MedicationAdministration.dosage.method", - "path": "MedicationAdministration.dosage.method", - "short": "How drug was administered", - "definition": "A coded value indicating the method by which the medication is intended to be or was introduced into or on the body. This attribute will most often NOT be populated. It is most commonly used for injections. For example, Slow Push, Deep IV.", - "comment": "One of the reasons this attribute is not used often, is that the method is often pre-coordinated with the route and/or form of administration. This means the codes used in route or form may pre-coordinate the method in the route code or the form code. The implementation decision about what coding system to use for route or form code will determine how frequently the method code will be populated e.g. if route or form code pre-coordinate method code, then this attribute will not be populated often; if there is no pre-coordination then method code may be used frequently.", - "min": 0, - "max": "1", - "type": [ - { - "code": "CodeableConcept" - } - ], - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "MedicationAdministrationMethod" - } - ], - "strength": "example", - "description": "A coded concept describing the technique by which the medicine is administered.", - "valueSet": "http://hl7.org/fhir/ValueSet/administration-method-codes" - }, - "mapping": [ - { - "identity": "v2", - "map": "RXR-4-Administration Method" - }, - { - "identity": "rim", - "map": ".methodCode" - } - ] - }, - { - "id": "MedicationAdministration.dosage.dose", - "path": "MedicationAdministration.dosage.dose", - "short": "Amount of medication per dose", - "definition": "The amount of the medication given at one administration event. Use this value when the administration is essentially an instantaneous event such as a swallowing a tablet or giving an injection.", - "comment": "If the administration is not instantaneous (rate is present), this can be specified to convey the total amount administered over period of time of a single administration.", - "min": 0, - "max": "1", - "type": [ - { - "code": "Quantity", - "profile": ["http://hl7.org/fhir/StructureDefinition/SimpleQuantity"] - } - ], - "mapping": [ - { - "identity": "v2", - "map": "RXA-6 Administered Amount / RXA-7 Administered Units" - }, - { - "identity": "rim", - "map": ".doseQuantity" - } - ] - }, - { - "id": "MedicationAdministration.dosage.rate[x]", - "path": "MedicationAdministration.dosage.rate[x]", - "short": "Dose quantity per unit of time", - "definition": "Identifies the speed with which the medication was or will be introduced into the patient. Typically, the rate for an infusion e.g. 100 ml per 1 hour or 100 ml/hr. May also be expressed as a rate per unit of time, e.g. 500 ml per 2 hours. Other examples: 200 mcg/min or 200 mcg/1 minute; 1 liter/8 hours.", - "comment": "If the rate changes over time, and you want to capture this in MedicationAdministration, then each change should be captured as a distinct MedicationAdministration, with a specific MedicationAdministration.dosage.rate, and the date time when the rate change occurred. Typically, the MedicationAdministration.dosage.rate element is not used to convey an average rate.", - "min": 0, - "max": "1", - "type": [ - { - "code": "Ratio" - }, - { - "code": "Quantity", - "profile": ["http://hl7.org/fhir/StructureDefinition/SimpleQuantity"] - } - ], - "mapping": [ - { - "identity": "v2", - "map": "RXA-12-Administered Per (Time Unit)" - }, - { - "identity": "rim", - "map": ".rateQuantity" - } - ] - }, - { - "id": "MedicationAdministration.eventHistory", - "path": "MedicationAdministration.eventHistory", - "short": "A list of events of interest in the lifecycle", - "definition": "A summary of the events of interest that have occurred, such as when the administration was verified.", - "comment": "This might not include provenances for all versions of the request – only those deemed “relevant” or important. This SHALL NOT include the Provenance associated with this current version of the resource. (If that provenance is deemed to be a “relevant” change, it will need to be added as part of a later update. Until then, it can be queried directly as the Provenance that points to this version using _revinclude All Provenances should have some historical version of this Request as their subject.", - "min": 0, - "max": "*", - "type": [ - { - "code": "Reference", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/Provenance"] - } - ], - "mapping": [ - { - "identity": "rim", - "map": ".inboundRelationship(typeCode=SUBJ].source[classCode=CACT, moodCode=EVN]" - } - ] - } - ] - } -} diff --git a/modules/frontend/src/lib/resource/test/Meta.json b/modules/frontend/src/lib/resource/test/Meta.json deleted file mode 100644 index 0198abc52..000000000 --- a/modules/frontend/src/lib/resource/test/Meta.json +++ /dev/null @@ -1,543 +0,0 @@ -{ - "resourceType": "StructureDefinition", - "id": "Meta", - "meta": { - "lastUpdated": "2019-11-01T09:29:23.356+11:00" - }, - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", - "valueCode": "normative" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version", - "valueCode": "4.0.0" - } - ], - "url": "http://hl7.org/fhir/StructureDefinition/Meta", - "version": "4.0.1", - "name": "Meta", - "status": "active", - "date": "2019-11-01T09:29:23+11:00", - "publisher": "HL7 FHIR Standard", - "contact": [ - { - "telecom": [ - { - "system": "url", - "value": "http://hl7.org/fhir" - } - ] - } - ], - "description": "Base StructureDefinition for Meta Type: The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.", - "fhirVersion": "4.0.1", - "mapping": [ - { - "identity": "rim", - "uri": "http://hl7.org/v3", - "name": "RIM Mapping" - } - ], - "kind": "complex-type", - "abstract": false, - "type": "Meta", - "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Element", - "derivation": "specialization", - "snapshot": { - "element": [ - { - "id": "Meta", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", - "valueCode": "normative" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version", - "valueCode": "4.0.0" - } - ], - "path": "Meta", - "short": "Metadata about a resource", - "definition": "The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.", - "min": 0, - "max": "*", - "base": { - "path": "Meta", - "min": 0, - "max": "*" - }, - "condition": ["ele-1"], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "mapping": [ - { - "identity": "rim", - "map": "n/a" - }, - { - "identity": "rim", - "map": "N/A" - } - ] - }, - { - "id": "Meta.id", - "path": "Meta.id", - "representation": ["xmlAttr"], - "short": "Unique id for inter-element referencing", - "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", - "min": 0, - "max": "1", - "base": { - "path": "Element.id", - "min": 0, - "max": "1" - }, - "type": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", - "valueUrl": "string" - } - ], - "code": "http://hl7.org/fhirpath/System.String" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "n/a" - } - ] - }, - { - "id": "Meta.extension", - "path": "Meta.extension", - "slicing": { - "discriminator": [ - { - "type": "value", - "path": "url" - } - ], - "description": "Extensions are always sliced by (at least) url", - "rules": "open" - }, - "short": "Additional content defined by implementations", - "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", - "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", - "alias": ["extensions", "user content"], - "min": 0, - "max": "*", - "base": { - "path": "Element.extension", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Extension" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key": "ext-1", - "severity": "error", - "human": "Must have either extensions or value[x], not both", - "expression": "extension.exists() != value.exists()", - "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source": "http://hl7.org/fhir/StructureDefinition/Extension" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "n/a" - } - ] - }, - { - "id": "Meta.versionId", - "path": "Meta.versionId", - "short": "Version specific identifier", - "definition": "The version specific identifier, as it appears in the version portion of the URL. This value changes when the resource is created, updated, or deleted.", - "comment": "The server assigns this value, and ignores what the client specifies, except in the case that the server is imposing version integrity on updates/deletes.", - "min": 0, - "max": "1", - "base": { - "path": "Meta.versionId", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "id" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true - }, - { - "id": "Meta.lastUpdated", - "path": "Meta.lastUpdated", - "short": "When the resource version last changed", - "definition": "When the resource last changed - e.g. when the version changed.", - "comment": "This value is always populated except when the resource is first being created. The server / resource manager sets this value; what a client provides is irrelevant. This is equivalent to the HTTP Last-Modified and SHOULD have the same value on a [read](http.html#read) interaction.", - "min": 0, - "max": "1", - "base": { - "path": "Meta.lastUpdated", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "instant" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true - }, - { - "id": "Meta.source", - "path": "Meta.source", - "short": "Identifies where the resource comes from", - "definition": "A uri that identifies the source system of the resource. This provides a minimal amount of [Provenance](provenance.html#) information that can be used to track or differentiate the source of information in the resource. The source may identify another FHIR server, document, message, database, etc.", - "comment": "In the provenance resource, this corresponds to Provenance.entity.what[x]. The exact use of the source (and the implied Provenance.entity.role) is left to implementer discretion. Only one nominated source is allowed; for additional provenance details, a full Provenance resource should be used. \n\nThis element can be used to indicate where the current master source of a resource that has a canonical URL if the resource is no longer hosted at the canonical URL.", - "min": 0, - "max": "1", - "base": { - "path": "Meta.source", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "uri" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true - }, - { - "id": "Meta.profile", - "path": "Meta.profile", - "short": "Profiles this resource claims to conform to", - "definition": "A list of profiles (references to [StructureDefinition](structuredefinition.html#) resources) that this resource claims to conform to. The URL is a reference to [StructureDefinition.url](structuredefinition-definitions.html#StructureDefinition.url).", - "comment": "It is up to the server and/or other infrastructure of policy to determine whether/how these claims are verified and/or updated over time. The list of profile URLs is a set.", - "min": 0, - "max": "*", - "base": { - "path": "Meta.profile", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "canonical", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/StructureDefinition"] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true - }, - { - "id": "Meta.security", - "path": "Meta.security", - "short": "Security Labels applied to this resource", - "definition": "Security labels applied to this resource. These tags connect specific resources to the overall security policy and infrastructure.", - "comment": "The security labels can be updated without changing the stated version of the resource. The list of security labels is a set. Uniqueness is based the system/code, and version and display are ignored.", - "min": 0, - "max": "*", - "base": { - "path": "Meta.security", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Coding" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "SecurityLabels" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding", - "valueBoolean": true - } - ], - "strength": "extensible", - "description": "Security Labels from the Healthcare Privacy and Security Classification System.", - "valueSet": "http://hl7.org/fhir/ValueSet/security-labels" - } - }, - { - "id": "Meta.tag", - "path": "Meta.tag", - "short": "Tags applied to this resource", - "definition": "Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource.", - "comment": "The tags can be updated without changing the stated version of the resource. The list of tags is a set. Uniqueness is based the system/code, and version and display are ignored.", - "min": 0, - "max": "*", - "base": { - "path": "Meta.tag", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Coding" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "Tags" - } - ], - "strength": "example", - "description": "Codes that represent various types of tags, commonly workflow-related; e.g. \"Needs review by Dr. Jones\".", - "valueSet": "http://hl7.org/fhir/ValueSet/common-tags" - } - } - ] - }, - "differential": { - "element": [ - { - "id": "Meta", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", - "valueCode": "normative" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version", - "valueCode": "4.0.0" - } - ], - "path": "Meta", - "short": "Metadata about a resource", - "definition": "The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.", - "min": 0, - "max": "*", - "mapping": [ - { - "identity": "rim", - "map": "N/A" - } - ] - }, - { - "id": "Meta.versionId", - "path": "Meta.versionId", - "short": "Version specific identifier", - "definition": "The version specific identifier, as it appears in the version portion of the URL. This value changes when the resource is created, updated, or deleted.", - "comment": "The server assigns this value, and ignores what the client specifies, except in the case that the server is imposing version integrity on updates/deletes.", - "min": 0, - "max": "1", - "type": [ - { - "code": "id" - } - ], - "isSummary": true - }, - { - "id": "Meta.lastUpdated", - "path": "Meta.lastUpdated", - "short": "When the resource version last changed", - "definition": "When the resource last changed - e.g. when the version changed.", - "comment": "This value is always populated except when the resource is first being created. The server / resource manager sets this value; what a client provides is irrelevant. This is equivalent to the HTTP Last-Modified and SHOULD have the same value on a [read](http.html#read) interaction.", - "min": 0, - "max": "1", - "type": [ - { - "code": "instant" - } - ], - "isSummary": true - }, - { - "id": "Meta.source", - "path": "Meta.source", - "short": "Identifies where the resource comes from", - "definition": "A uri that identifies the source system of the resource. This provides a minimal amount of [Provenance](provenance.html#) information that can be used to track or differentiate the source of information in the resource. The source may identify another FHIR server, document, message, database, etc.", - "comment": "In the provenance resource, this corresponds to Provenance.entity.what[x]. The exact use of the source (and the implied Provenance.entity.role) is left to implementer discretion. Only one nominated source is allowed; for additional provenance details, a full Provenance resource should be used. \n\nThis element can be used to indicate where the current master source of a resource that has a canonical URL if the resource is no longer hosted at the canonical URL.", - "min": 0, - "max": "1", - "type": [ - { - "code": "uri" - } - ], - "isSummary": true - }, - { - "id": "Meta.profile", - "path": "Meta.profile", - "short": "Profiles this resource claims to conform to", - "definition": "A list of profiles (references to [StructureDefinition](structuredefinition.html#) resources) that this resource claims to conform to. The URL is a reference to [StructureDefinition.url](structuredefinition-definitions.html#StructureDefinition.url).", - "comment": "It is up to the server and/or other infrastructure of policy to determine whether/how these claims are verified and/or updated over time. The list of profile URLs is a set.", - "min": 0, - "max": "*", - "type": [ - { - "code": "canonical", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/StructureDefinition"] - } - ], - "isSummary": true - }, - { - "id": "Meta.security", - "path": "Meta.security", - "short": "Security Labels applied to this resource", - "definition": "Security labels applied to this resource. These tags connect specific resources to the overall security policy and infrastructure.", - "comment": "The security labels can be updated without changing the stated version of the resource. The list of security labels is a set. Uniqueness is based the system/code, and version and display are ignored.", - "min": 0, - "max": "*", - "type": [ - { - "code": "Coding" - } - ], - "isSummary": true, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "SecurityLabels" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding", - "valueBoolean": true - } - ], - "strength": "extensible", - "description": "Security Labels from the Healthcare Privacy and Security Classification System.", - "valueSet": "http://hl7.org/fhir/ValueSet/security-labels" - } - }, - { - "id": "Meta.tag", - "path": "Meta.tag", - "short": "Tags applied to this resource", - "definition": "Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource.", - "comment": "The tags can be updated without changing the stated version of the resource. The list of tags is a set. Uniqueness is based the system/code, and version and display are ignored.", - "min": 0, - "max": "*", - "type": [ - { - "code": "Coding" - } - ], - "isSummary": true, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "Tags" - } - ], - "strength": "example", - "description": "Codes that represent various types of tags, commonly workflow-related; e.g. \"Needs review by Dr. Jones\".", - "valueSet": "http://hl7.org/fhir/ValueSet/common-tags" - } - } - ] - } -} diff --git a/modules/frontend/src/lib/resource/test/Observation.json b/modules/frontend/src/lib/resource/test/Observation.json deleted file mode 100644 index 3b8e6c61b..000000000 --- a/modules/frontend/src/lib/resource/test/Observation.json +++ /dev/null @@ -1,4018 +0,0 @@ -{ - "resourceType": "StructureDefinition", - "id": "Observation", - "meta": { - "lastUpdated": "2019-11-01T09:29:23.356+11:00" - }, - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-category", - "valueString": "Clinical.Diagnostics" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", - "valueCode": "normative" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version", - "valueCode": "4.0.0" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm", - "valueInteger": 5 - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-security-category", - "valueCode": "patient" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg", - "valueCode": "oo" - } - ], - "url": "http://hl7.org/fhir/StructureDefinition/Observation", - "version": "4.0.1", - "name": "Observation", - "status": "active", - "date": "2019-11-01T09:29:23+11:00", - "publisher": "Health Level Seven International (Orders and Observations)", - "contact": [ - { - "telecom": [ - { - "system": "url", - "value": "http://hl7.org/fhir" - } - ] - }, - { - "telecom": [ - { - "system": "url", - "value": "http://www.hl7.org/Special/committees/orders/index.cfm" - } - ] - } - ], - "description": "Measurements and simple assertions made about a patient, device or other subject.", - "purpose": "Observations are a key aspect of healthcare. This resource is used to capture those that do not require more sophisticated mechanisms.", - "fhirVersion": "4.0.1", - "mapping": [ - { - "identity": "workflow", - "uri": "http://hl7.org/fhir/workflow", - "name": "Workflow Pattern" - }, - { - "identity": "sct-concept", - "uri": "http://snomed.info/conceptdomain", - "name": "SNOMED CT Concept Domain Binding" - }, - { - "identity": "v2", - "uri": "http://hl7.org/v2", - "name": "HL7 v2 Mapping" - }, - { - "identity": "rim", - "uri": "http://hl7.org/v3", - "name": "RIM Mapping" - }, - { - "identity": "w5", - "uri": "http://hl7.org/fhir/fivews", - "name": "FiveWs Pattern Mapping" - }, - { - "identity": "sct-attr", - "uri": "http://snomed.org/attributebinding", - "name": "SNOMED CT Attribute Binding" - } - ], - "kind": "resource", - "abstract": false, - "type": "Observation", - "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource", - "derivation": "specialization", - "snapshot": { - "element": [ - { - "id": "Observation", - "path": "Observation", - "short": "Measurements and simple assertions", - "definition": "Measurements and simple assertions made about a patient, device or other subject.", - "comment": "Used for simple observations such as device measurements, laboratory atomic results, vital signs, height, weight, smoking status, comments, etc. Other resources are used to provide context for observations such as laboratory reports, etc.", - "alias": ["Vital Signs", "Measurement", "Results", "Tests"], - "min": 0, - "max": "*", - "base": { - "path": "Observation", - "min": 0, - "max": "*" - }, - "constraint": [ - { - "key": "dom-2", - "severity": "error", - "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources", - "expression": "contained.contained.empty()", - "xpath": "not(parent::f:contained and f:contained)", - "source": "http://hl7.org/fhir/StructureDefinition/DomainResource" - }, - { - "key": "dom-3", - "severity": "error", - "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource", - "expression": "contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()", - "xpath": "not(exists(for $id in f:contained/*/f:id/@value return $contained[not(parent::*/descendant::f:reference/@value=concat('#', $contained/*/id/@value) or descendant::f:reference[@value='#'])]))", - "source": "http://hl7.org/fhir/StructureDefinition/DomainResource" - }, - { - "key": "dom-4", - "severity": "error", - "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated", - "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()", - "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))", - "source": "http://hl7.org/fhir/StructureDefinition/DomainResource" - }, - { - "key": "dom-5", - "severity": "error", - "human": "If a resource is contained in another resource, it SHALL NOT have a security label", - "expression": "contained.meta.security.empty()", - "xpath": "not(exists(f:contained/*/f:meta/f:security))", - "source": "http://hl7.org/fhir/StructureDefinition/DomainResource" - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice", - "valueBoolean": true - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice-explanation", - "valueMarkdown": "When a resource has no narrative, only systems that fully understand the data can display the resource to a human safely. Including a human readable representation in the resource makes for a much more robust eco-system and cheaper handling of resources by intermediary systems. Some ecosystems restrict distribution of resources to only those systems that do fully understand the resources, and as a consequence implementers may believe that the narrative is superfluous. However experience shows that such eco-systems often open up to new participants over time." - } - ], - "key": "dom-6", - "severity": "warning", - "human": "A resource should have narrative for robust management", - "expression": "text.`div`.exists()", - "xpath": "exists(f:text/h:div)", - "source": "http://hl7.org/fhir/StructureDefinition/DomainResource" - }, - { - "key": "obs-6", - "severity": "error", - "human": "dataAbsentReason SHALL only be present if Observation.value[x] is not present", - "expression": "dataAbsentReason.empty() or value.empty()", - "xpath": "not(exists(f:dataAbsentReason)) or (not(exists(*[starts-with(local-name(.), 'value')])))" - }, - { - "key": "obs-7", - "severity": "error", - "human": "If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present", - "expression": "value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()", - "xpath": "not(f:*[starts-with(local-name(.), 'value')] and (for $coding in f:code/f:coding return f:component/f:code/f:coding[f:code/@value=$coding/f:code/@value] [f:system/@value=$coding/f:system/@value]))" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "Entity. Role, or Act" - }, - { - "identity": "workflow", - "map": "Event" - }, - { - "identity": "sct-concept", - "map": "< 363787002 |Observable entity|" - }, - { - "identity": "v2", - "map": "OBX" - }, - { - "identity": "rim", - "map": "Observation[classCode=OBS, moodCode=EVN]" - } - ] - }, - { - "id": "Observation.id", - "path": "Observation.id", - "short": "Logical id of this artifact", - "definition": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.", - "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.", - "min": 0, - "max": "1", - "base": { - "path": "Resource.id", - "min": 0, - "max": "1" - }, - "type": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", - "valueUrl": "string" - } - ], - "code": "http://hl7.org/fhirpath/System.String" - } - ], - "isModifier": false, - "isSummary": true - }, - { - "id": "Observation.meta", - "path": "Observation.meta", - "short": "Metadata about the resource", - "definition": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.", - "min": 0, - "max": "1", - "base": { - "path": "Resource.meta", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "Meta" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true - }, - { - "id": "Observation.implicitRules", - "path": "Observation.implicitRules", - "short": "A set of rules under which this content was created", - "definition": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.", - "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.", - "min": 0, - "max": "1", - "base": { - "path": "Resource.implicitRules", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "uri" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": true, - "isModifierReason": "This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation", - "isSummary": true - }, - { - "id": "Observation.language", - "path": "Observation.language", - "short": "Language of the resource content", - "definition": "The base language in which the resource is written.", - "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).", - "min": 0, - "max": "1", - "base": { - "path": "Resource.language", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "code" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet", - "valueCanonical": "http://hl7.org/fhir/ValueSet/all-languages" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "Language" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding", - "valueBoolean": true - } - ], - "strength": "preferred", - "description": "A human language.", - "valueSet": "http://hl7.org/fhir/ValueSet/languages" - } - }, - { - "id": "Observation.text", - "path": "Observation.text", - "short": "Text summary of the resource, for human interpretation", - "definition": "A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.", - "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded information is added later.", - "alias": ["narrative", "html", "xhtml", "display"], - "min": 0, - "max": "1", - "base": { - "path": "DomainResource.text", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "Narrative" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "Act.text?" - } - ] - }, - { - "id": "Observation.contained", - "path": "Observation.contained", - "short": "Contained, inline Resources", - "definition": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.", - "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.", - "alias": ["inline resources", "anonymous resources", "contained resources"], - "min": 0, - "max": "*", - "base": { - "path": "DomainResource.contained", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Resource" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "N/A" - } - ] - }, - { - "id": "Observation.extension", - "path": "Observation.extension", - "short": "Additional content defined by implementations", - "definition": "May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", - "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", - "alias": ["extensions", "user content"], - "min": 0, - "max": "*", - "base": { - "path": "DomainResource.extension", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Extension" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key": "ext-1", - "severity": "error", - "human": "Must have either extensions or value[x], not both", - "expression": "extension.exists() != value.exists()", - "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source": "http://hl7.org/fhir/StructureDefinition/Extension" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "N/A" - } - ] - }, - { - "id": "Observation.modifierExtension", - "path": "Observation.modifierExtension", - "short": "Extensions that cannot be ignored", - "definition": "May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", - "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", - "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).", - "alias": ["extensions", "user content"], - "min": 0, - "max": "*", - "base": { - "path": "DomainResource.modifierExtension", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Extension" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key": "ext-1", - "severity": "error", - "human": "Must have either extensions or value[x], not both", - "expression": "extension.exists() != value.exists()", - "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source": "http://hl7.org/fhir/StructureDefinition/Extension" - } - ], - "isModifier": true, - "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them", - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "N/A" - } - ] - }, - { - "id": "Observation.identifier", - "path": "Observation.identifier", - "short": "Business Identifier for observation", - "definition": "A unique identifier assigned to this observation.", - "requirements": "Allows observations to be distinguished and referenced.", - "min": 0, - "max": "*", - "base": { - "path": "Observation.identifier", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Identifier" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Event.identifier" - }, - { - "identity": "w5", - "map": "FiveWs.identifier" - }, - { - "identity": "v2", - "map": "OBX.21 For OBX segments from systems without OBX-21 support a combination of ORC/OBR and OBX must be negotiated between trading partners to uniquely identify the OBX segment. Depending on how V2 has been implemented each of these may be an option: 1) OBR-3 + OBX-3 + OBX-4 or 2) OBR-3 + OBR-4 + OBX-3 + OBX-4 or 2) some other way to uniquely ID the OBR/ORC + OBX-3 + OBX-4." - }, - { - "identity": "rim", - "map": "id" - } - ] - }, - { - "id": "Observation.basedOn", - "path": "Observation.basedOn", - "short": "Fulfills plan, proposal or order", - "definition": "A plan, proposal or order that is fulfilled in whole or in part by this event. For example, a MedicationRequest may require a patient to have laboratory test performed before it is dispensed.", - "requirements": "Allows tracing of authorization for the event and tracking whether proposals/recommendations were acted upon.", - "alias": ["Fulfills"], - "min": 0, - "max": "*", - "base": { - "path": "Observation.basedOn", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Reference", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/CarePlan", - "http://hl7.org/fhir/StructureDefinition/DeviceRequest", - "http://hl7.org/fhir/StructureDefinition/ImmunizationRecommendation", - "http://hl7.org/fhir/StructureDefinition/MedicationRequest", - "http://hl7.org/fhir/StructureDefinition/NutritionOrder", - "http://hl7.org/fhir/StructureDefinition/ServiceRequest" - ] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Event.basedOn" - }, - { - "identity": "v2", - "map": "ORC" - }, - { - "identity": "rim", - "map": ".inboundRelationship[typeCode=COMP].source[moodCode=EVN]" - } - ] - }, - { - "id": "Observation.partOf", - "path": "Observation.partOf", - "short": "Part of referenced event", - "definition": "A larger event of which this particular Observation is a component or step. For example, an observation as part of a procedure.", - "comment": "To link an Observation to an Encounter use `encounter`. See the [Notes](observation.html#obsgrouping) below for guidance on referencing another Observation.", - "alias": ["Container"], - "min": 0, - "max": "*", - "base": { - "path": "Observation.partOf", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Reference", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/MedicationAdministration", - "http://hl7.org/fhir/StructureDefinition/MedicationDispense", - "http://hl7.org/fhir/StructureDefinition/MedicationStatement", - "http://hl7.org/fhir/StructureDefinition/Procedure", - "http://hl7.org/fhir/StructureDefinition/Immunization", - "http://hl7.org/fhir/StructureDefinition/ImagingStudy" - ] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Event.partOf" - }, - { - "identity": "v2", - "map": "Varies by domain" - }, - { - "identity": "rim", - "map": ".outboundRelationship[typeCode=FLFS].target" - } - ] - }, - { - "id": "Observation.status", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint", - "valueString": "default: final" - } - ], - "path": "Observation.status", - "short": "registered | preliminary | final | amended +", - "definition": "The status of the result value.", - "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.", - "requirements": "Need to track the status of individual results. Some results are finalized before the whole report is finalized.", - "min": 1, - "max": "1", - "base": { - "path": "Observation.status", - "min": 1, - "max": "1" - }, - "type": [ - { - "code": "code" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": true, - "isModifierReason": "This element is labeled as a modifier because it is a status element that contains status entered-in-error which means that the resource should not be treated as valid", - "isSummary": true, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "ObservationStatus" - } - ], - "strength": "required", - "description": "Codes providing the status of an observation.", - "valueSet": "http://hl7.org/fhir/ValueSet/observation-status|4.0.1" - }, - "mapping": [ - { - "identity": "workflow", - "map": "Event.status" - }, - { - "identity": "w5", - "map": "FiveWs.status" - }, - { - "identity": "sct-concept", - "map": "< 445584004 |Report by finality status|" - }, - { - "identity": "v2", - "map": "OBX-11" - }, - { - "identity": "rim", - "map": "status Amended & Final are differentiated by whether it is the subject of a ControlAct event with a type of \"revise\"" - } - ] - }, - { - "id": "Observation.category", - "path": "Observation.category", - "short": "Classification of type of observation", - "definition": "A code that classifies the general type of observation being made.", - "comment": "In addition to the required category valueset, this element allows various categorization schemes based on the owner’s definition of the category and effectively multiple categories can be used at once. The level of granularity is defined by the category concepts in the value set.", - "requirements": "Used for filtering what observations are retrieved and displayed.", - "min": 0, - "max": "*", - "base": { - "path": "Observation.category", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "CodeableConcept" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "ObservationCategory" - } - ], - "strength": "preferred", - "description": "Codes for high level observation categories.", - "valueSet": "http://hl7.org/fhir/ValueSet/observation-category" - }, - "mapping": [ - { - "identity": "w5", - "map": "FiveWs.class" - }, - { - "identity": "rim", - "map": ".outboundRelationship[typeCode=\"COMP].target[classCode=\"LIST\", moodCode=\"EVN\"].code" - } - ] - }, - { - "id": "Observation.code", - "path": "Observation.code", - "short": "Type of observation (code / type)", - "definition": "Describes what was observed. Sometimes this is called the observation \"name\".", - "comment": "*All* code-value and, if present, component.code-component.value pairs need to be taken into account to correctly understand the meaning of the observation.", - "requirements": "Knowing what kind of observation is being made is essential to understanding the observation.", - "alias": ["Name"], - "min": 1, - "max": "1", - "base": { - "path": "Observation.code", - "min": 1, - "max": "1" - }, - "type": [ - { - "code": "CodeableConcept" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "ObservationCode" - } - ], - "strength": "example", - "description": "Codes identifying names of simple observations.", - "valueSet": "http://hl7.org/fhir/ValueSet/observation-codes" - }, - "mapping": [ - { - "identity": "workflow", - "map": "Event.code" - }, - { - "identity": "w5", - "map": "FiveWs.what[x]" - }, - { - "identity": "sct-concept", - "map": "< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|" - }, - { - "identity": "v2", - "map": "OBX-3" - }, - { - "identity": "rim", - "map": "code" - }, - { - "identity": "sct-attr", - "map": "116680003 |Is a|" - } - ] - }, - { - "id": "Observation.subject", - "path": "Observation.subject", - "short": "Who and/or what the observation is about", - "definition": "The patient, or group of patients, location, or device this observation is about and into whose record the observation is placed. If the actual focus of the observation is different from the subject (or a sample of, part, or region of the subject), the `focus` element or the `code` itself specifies the actual focus of the observation.", - "comment": "One would expect this element to be a cardinality of 1..1. The only circumstance in which the subject can be missing is when the observation is made by a device that does not know the patient. In this case, the observation SHALL be matched to a patient through some context/channel matching technique, and at this point, the observation should be updated.", - "requirements": "Observations have no value if you don't know who or what they're about.", - "min": 0, - "max": "1", - "base": { - "path": "Observation.subject", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "Reference", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/Patient", - "http://hl7.org/fhir/StructureDefinition/Group", - "http://hl7.org/fhir/StructureDefinition/Device", - "http://hl7.org/fhir/StructureDefinition/Location" - ] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Event.subject" - }, - { - "identity": "w5", - "map": "FiveWs.subject[x]" - }, - { - "identity": "v2", - "map": "PID-3" - }, - { - "identity": "rim", - "map": "participation[typeCode=RTGT] " - }, - { - "identity": "w5", - "map": "FiveWs.subject" - } - ] - }, - { - "id": "Observation.focus", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", - "valueCode": "trial-use" - } - ], - "path": "Observation.focus", - "short": "What the observation is about, when it is not about the subject of record", - "definition": "The actual focus of an observation when it is not the patient of record representing something or someone associated with the patient such as a spouse, parent, fetus, or donor. For example, fetus observations in a mother's record. The focus of an observation could also be an existing condition, an intervention, the subject's diet, another observation of the subject, or a body structure such as tumor or implanted device. An example use case would be using the Observation resource to capture whether the mother is trained to change her child's tracheostomy tube. In this example, the child is the patient of record and the mother is the focus.", - "comment": "Typically, an observation is made about the subject - a patient, or group of patients, location, or device - and the distinction between the subject and what is directly measured for an observation is specified in the observation code itself ( e.g., \"Blood Glucose\") and does not need to be represented separately using this element. Use `specimen` if a reference to a specimen is required. If a code is required instead of a resource use either `bodysite` for bodysites or the standard extension [focusCode](extension-observation-focuscode.html).", - "min": 0, - "max": "*", - "base": { - "path": "Observation.focus", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Reference", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/Resource"] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "w5", - "map": "FiveWs.subject[x]" - }, - { - "identity": "v2", - "map": "OBX-3" - }, - { - "identity": "rim", - "map": "participation[typeCode=SBJ]" - }, - { - "identity": "w5", - "map": "FiveWs.subject" - } - ] - }, - { - "id": "Observation.encounter", - "path": "Observation.encounter", - "short": "Healthcare event during which this observation is made", - "definition": "The healthcare event (e.g. a patient and healthcare provider interaction) during which this observation is made.", - "comment": "This will typically be the encounter the event occurred within, but some events may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter (e.g. pre-admission laboratory tests).", - "requirements": "For some observations it may be important to know the link between an observation and a particular encounter.", - "alias": ["Context"], - "min": 0, - "max": "1", - "base": { - "path": "Observation.encounter", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "Reference", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/Encounter"] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Event.context" - }, - { - "identity": "w5", - "map": "FiveWs.context" - }, - { - "identity": "v2", - "map": "PV1" - }, - { - "identity": "rim", - "map": "inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN]" - } - ] - }, - { - "id": "Observation.effective[x]", - "path": "Observation.effective[x]", - "short": "Clinically relevant time/time-period for observation", - "definition": "The time or time-period the observed value is asserted as being true. For biological subjects - e.g. human patients - this is usually called the \"physiologically relevant time\". This is usually either the time of the procedure or of specimen collection, but very often the source of the date/time is not known, only the date/time itself.", - "comment": "At least a date should be present unless this observation is a historical report. For recording imprecise or \"fuzzy\" times (For example, a blood glucose measurement taken \"after breakfast\") use the [Timing](datatypes.html#timing) datatype which allow the measurement to be tied to regular life events.", - "requirements": "Knowing when an observation was deemed true is important to its relevance as well as determining trends.", - "alias": ["Occurrence"], - "min": 0, - "max": "1", - "base": { - "path": "Observation.effective[x]", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "dateTime" - }, - { - "code": "Period" - }, - { - "code": "Timing" - }, - { - "code": "instant" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Event.occurrence[x]" - }, - { - "identity": "w5", - "map": "FiveWs.done[x]" - }, - { - "identity": "v2", - "map": "OBX-14, and/or OBX-19 after v2.4 (depends on who observation made)" - }, - { - "identity": "rim", - "map": "effectiveTime" - } - ] - }, - { - "id": "Observation.issued", - "path": "Observation.issued", - "short": "Date/Time this version was made available", - "definition": "The date and time this version of the observation was made available to providers, typically after the results have been reviewed and verified.", - "comment": "For Observations that don’t require review and verification, it may be the same as the [`lastUpdated` ](resource-definitions.html#Meta.lastUpdated) time of the resource itself. For Observations that do require review and verification for certain updates, it might not be the same as the `lastUpdated` time of the resource itself due to a non-clinically significant update that doesn’t require the new version to be reviewed and verified again.", - "min": 0, - "max": "1", - "base": { - "path": "Observation.issued", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "instant" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "w5", - "map": "FiveWs.recorded" - }, - { - "identity": "v2", - "map": "OBR.22 (or MSH.7), or perhaps OBX-19 (depends on who observation made)" - }, - { - "identity": "rim", - "map": "participation[typeCode=AUT].time" - } - ] - }, - { - "id": "Observation.performer", - "path": "Observation.performer", - "short": "Who is responsible for the observation", - "definition": "Who was responsible for asserting the observed value as \"true\".", - "requirements": "May give a degree of confidence in the observation and also indicates where follow-up questions should be directed.", - "min": 0, - "max": "*", - "base": { - "path": "Observation.performer", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Reference", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/Practitioner", - "http://hl7.org/fhir/StructureDefinition/PractitionerRole", - "http://hl7.org/fhir/StructureDefinition/Organization", - "http://hl7.org/fhir/StructureDefinition/CareTeam", - "http://hl7.org/fhir/StructureDefinition/Patient", - "http://hl7.org/fhir/StructureDefinition/RelatedPerson" - ] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Event.performer.actor" - }, - { - "identity": "w5", - "map": "FiveWs.actor" - }, - { - "identity": "v2", - "map": "OBX.15 / (Practitioner) OBX-16, PRT-5:PRT-4='RO' / (Device) OBX-18 , PRT-10:PRT-4='EQUIP' / (Organization) OBX-23, PRT-8:PRT-4='PO'" - }, - { - "identity": "rim", - "map": "participation[typeCode=PRF]" - } - ] - }, - { - "id": "Observation.value[x]", - "path": "Observation.value[x]", - "short": "Actual result", - "definition": "The information determined as a result of making the observation, if the information has a simple value.", - "comment": "An observation may have; 1) a single value here, 2) both a value and a set of related or component values, or 3) only a set of related or component values. If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below.", - "requirements": "An observation exists to have a value, though it might not if it is in error, or if it represents a group of observations.", - "min": 0, - "max": "1", - "base": { - "path": "Observation.value[x]", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "Quantity" - }, - { - "code": "CodeableConcept" - }, - { - "code": "string" - }, - { - "code": "boolean" - }, - { - "code": "integer" - }, - { - "code": "Range" - }, - { - "code": "Ratio" - }, - { - "code": "SampledData" - }, - { - "code": "time" - }, - { - "code": "dateTime" - }, - { - "code": "Period" - } - ], - "condition": ["obs-7"], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "sct-concept", - "map": "< 441742003 |Evaluation finding|" - }, - { - "identity": "v2", - "map": "OBX.2, OBX.5, OBX.6" - }, - { - "identity": "rim", - "map": "value" - }, - { - "identity": "sct-attr", - "map": "363714003 |Interprets|" - } - ] - }, - { - "id": "Observation.dataAbsentReason", - "path": "Observation.dataAbsentReason", - "short": "Why the result is missing", - "definition": "Provides a reason why the expected value in the element Observation.value[x] is missing.", - "comment": "Null or exceptional values can be represented two ways in FHIR Observations. One way is to simply include them in the value set and represent the exceptions in the value. For example, measurement values for a serology test could be \"detected\", \"not detected\", \"inconclusive\", or \"specimen unsatisfactory\". \n\nThe alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values. For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed. Note that an observation may only be reported if there are values to report. For example differential cell counts values may be reported only when > 0. Because of these options, use-case agreements are required to interpret general observations for null or exceptional values.", - "requirements": "For many results it is necessary to handle exceptional values in measurements.", - "min": 0, - "max": "1", - "base": { - "path": "Observation.dataAbsentReason", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "CodeableConcept" - } - ], - "condition": ["obs-6"], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "ObservationValueAbsentReason" - } - ], - "strength": "extensible", - "description": "Codes specifying why the result (`Observation.value[x]`) is missing.", - "valueSet": "http://hl7.org/fhir/ValueSet/data-absent-reason" - }, - "mapping": [ - { - "identity": "v2", - "map": "N/A" - }, - { - "identity": "rim", - "map": "value.nullFlavor" - } - ] - }, - { - "id": "Observation.interpretation", - "path": "Observation.interpretation", - "short": "High, low, normal, etc.", - "definition": "A categorical assessment of an observation value. For example, high, low, normal.", - "comment": "Historically used for laboratory results (known as 'abnormal flag' ), its use extends to other use cases where coded interpretations are relevant. Often reported as one or more simple compact codes this element is often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result.", - "requirements": "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.", - "alias": ["Abnormal Flag"], - "min": 0, - "max": "*", - "base": { - "path": "Observation.interpretation", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "CodeableConcept" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "ObservationInterpretation" - } - ], - "strength": "extensible", - "description": "Codes identifying interpretations of observations.", - "valueSet": "http://hl7.org/fhir/ValueSet/observation-interpretation" - }, - "mapping": [ - { - "identity": "sct-concept", - "map": "< 260245000 |Findings values|" - }, - { - "identity": "v2", - "map": "OBX-8" - }, - { - "identity": "rim", - "map": "interpretationCode" - }, - { - "identity": "sct-attr", - "map": "363713009 |Has interpretation|" - } - ] - }, - { - "id": "Observation.note", - "path": "Observation.note", - "short": "Comments about the observation", - "definition": "Comments about the observation or the results.", - "comment": "May include general statements about the observation, or statements about significant, unexpected or unreliable results values, or information about its source when relevant to its interpretation.", - "requirements": "Need to be able to provide free text additional information.", - "min": 0, - "max": "*", - "base": { - "path": "Observation.note", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Annotation" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "v2", - "map": "NTE.3 (partner NTE to OBX, or sometimes another (child?) OBX)" - }, - { - "identity": "rim", - "map": "subjectOf.observationEvent[code=\"annotation\"].value" - } - ] - }, - { - "id": "Observation.bodySite", - "path": "Observation.bodySite", - "short": "Observed body part", - "definition": "Indicates the site on the subject's body where the observation was made (i.e. the target site).", - "comment": "Only used if not implicit in code found in Observation.code. In many systems, this may be represented as a related observation instead of an inline component. \n\nIf the use case requires BodySite to be handled as a separate resource (e.g. to identify and track separately) then use the standard extension[ bodySite](extension-bodysite.html).", - "min": 0, - "max": "1", - "base": { - "path": "Observation.bodySite", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "CodeableConcept" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "BodySite" - } - ], - "strength": "example", - "description": "Codes describing anatomical locations. May include laterality.", - "valueSet": "http://hl7.org/fhir/ValueSet/body-site" - }, - "mapping": [ - { - "identity": "sct-concept", - "map": "< 123037004 |Body structure|" - }, - { - "identity": "v2", - "map": "OBX-20" - }, - { - "identity": "rim", - "map": "targetSiteCode" - }, - { - "identity": "sct-attr", - "map": "718497002 |Inherent location|" - } - ] - }, - { - "id": "Observation.method", - "path": "Observation.method", - "short": "How it was done", - "definition": "Indicates the mechanism used to perform the observation.", - "comment": "Only used if not implicit in code for Observation.code.", - "requirements": "In some cases, method can impact results and is thus used for determining whether results can be compared or determining significance of results.", - "min": 0, - "max": "1", - "base": { - "path": "Observation.method", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "CodeableConcept" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "ObservationMethod" - } - ], - "strength": "example", - "description": "Methods for simple observations.", - "valueSet": "http://hl7.org/fhir/ValueSet/observation-methods" - }, - "mapping": [ - { - "identity": "v2", - "map": "OBX-17" - }, - { - "identity": "rim", - "map": "methodCode" - } - ] - }, - { - "id": "Observation.specimen", - "path": "Observation.specimen", - "short": "Specimen used for this observation", - "definition": "The specimen that was used when this observation was made.", - "comment": "Should only be used if not implicit in code found in `Observation.code`. Observations are not made on specimens themselves; they are made on a subject, but in many cases by the means of a specimen. Note that although specimens are often involved, they are not always tracked and reported explicitly. Also note that observation resources may be used in contexts that track the specimen explicitly (e.g. Diagnostic Report).", - "min": 0, - "max": "1", - "base": { - "path": "Observation.specimen", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "Reference", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/Specimen"] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "sct-concept", - "map": "< 123038009 |Specimen|" - }, - { - "identity": "v2", - "map": "SPM segment" - }, - { - "identity": "rim", - "map": "participation[typeCode=SPC].specimen" - }, - { - "identity": "sct-attr", - "map": "704319004 |Inherent in|" - } - ] - }, - { - "id": "Observation.device", - "path": "Observation.device", - "short": "(Measurement) Device", - "definition": "The device used to generate the observation data.", - "comment": "Note that this is not meant to represent a device involved in the transmission of the result, e.g., a gateway. Such devices may be documented using the Provenance resource where relevant.", - "min": 0, - "max": "1", - "base": { - "path": "Observation.device", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "Reference", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/Device", - "http://hl7.org/fhir/StructureDefinition/DeviceMetric" - ] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "sct-concept", - "map": "< 49062001 |Device|" - }, - { - "identity": "v2", - "map": "OBX-17 / PRT -10" - }, - { - "identity": "rim", - "map": "participation[typeCode=DEV]" - }, - { - "identity": "sct-attr", - "map": "424226004 |Using device|" - } - ] - }, - { - "id": "Observation.referenceRange", - "path": "Observation.referenceRange", - "short": "Provides guide for interpretation", - "definition": "Guidance on how to interpret the value by comparison to a normal or recommended range. Multiple reference ranges are interpreted as an \"OR\". In other words, to represent two distinct target populations, two `referenceRange` elements would be used.", - "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this might not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.", - "requirements": "Knowing what values are considered \"normal\" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.", - "min": 0, - "max": "*", - "base": { - "path": "Observation.referenceRange", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "BackboneElement" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key": "obs-3", - "severity": "error", - "human": "Must have at least a low or a high or text", - "expression": "low.exists() or high.exists() or text.exists()", - "xpath": "(exists(f:low) or exists(f:high)or exists(f:text))" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "v2", - "map": "OBX.7" - }, - { - "identity": "rim", - "map": "outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]" - } - ] - }, - { - "id": "Observation.referenceRange.id", - "path": "Observation.referenceRange.id", - "representation": ["xmlAttr"], - "short": "Unique id for inter-element referencing", - "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", - "min": 0, - "max": "1", - "base": { - "path": "Element.id", - "min": 0, - "max": "1" - }, - "type": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", - "valueUrl": "string" - } - ], - "code": "http://hl7.org/fhirpath/System.String" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "n/a" - } - ] - }, - { - "id": "Observation.referenceRange.extension", - "path": "Observation.referenceRange.extension", - "short": "Additional content defined by implementations", - "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", - "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", - "alias": ["extensions", "user content"], - "min": 0, - "max": "*", - "base": { - "path": "Element.extension", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Extension" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key": "ext-1", - "severity": "error", - "human": "Must have either extensions or value[x], not both", - "expression": "extension.exists() != value.exists()", - "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source": "http://hl7.org/fhir/StructureDefinition/Extension" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "n/a" - } - ] - }, - { - "id": "Observation.referenceRange.modifierExtension", - "path": "Observation.referenceRange.modifierExtension", - "short": "Extensions that cannot be ignored even if unrecognized", - "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", - "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", - "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).", - "alias": ["extensions", "user content", "modifiers"], - "min": 0, - "max": "*", - "base": { - "path": "BackboneElement.modifierExtension", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Extension" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key": "ext-1", - "severity": "error", - "human": "Must have either extensions or value[x], not both", - "expression": "extension.exists() != value.exists()", - "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source": "http://hl7.org/fhir/StructureDefinition/Extension" - } - ], - "isModifier": true, - "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them", - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": "N/A" - } - ] - }, - { - "id": "Observation.referenceRange.low", - "path": "Observation.referenceRange.low", - "short": "Low Range, if relevant", - "definition": "The value of the low bound of the reference range. The low bound of the reference range endpoint is inclusive of the value (e.g. reference range is >=5 - <=9). If the low bound is omitted, it is assumed to be meaningless (e.g. reference range is <=2.3).", - "min": 0, - "max": "1", - "base": { - "path": "Observation.referenceRange.low", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "Quantity", - "profile": ["http://hl7.org/fhir/StructureDefinition/SimpleQuantity"] - } - ], - "condition": ["obs-3"], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "v2", - "map": "OBX-7" - }, - { - "identity": "rim", - "map": "value:IVL_PQ.low" - } - ] - }, - { - "id": "Observation.referenceRange.high", - "path": "Observation.referenceRange.high", - "short": "High Range, if relevant", - "definition": "The value of the high bound of the reference range. The high bound of the reference range endpoint is inclusive of the value (e.g. reference range is >=5 - <=9). If the high bound is omitted, it is assumed to be meaningless (e.g. reference range is >= 2.3).", - "min": 0, - "max": "1", - "base": { - "path": "Observation.referenceRange.high", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "Quantity", - "profile": ["http://hl7.org/fhir/StructureDefinition/SimpleQuantity"] - } - ], - "condition": ["obs-3"], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "v2", - "map": "OBX-7" - }, - { - "identity": "rim", - "map": "value:IVL_PQ.high" - } - ] - }, - { - "id": "Observation.referenceRange.type", - "path": "Observation.referenceRange.type", - "short": "Reference range qualifier", - "definition": "Codes to indicate the what part of the targeted reference population it applies to. For example, the normal or therapeutic range.", - "comment": "This SHOULD be populated if there is more than one range. If this element is not present then the normal range is assumed.", - "requirements": "Need to be able to say what kind of reference range this is - normal, recommended, therapeutic, etc., - for proper interpretation.", - "min": 0, - "max": "1", - "base": { - "path": "Observation.referenceRange.type", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "CodeableConcept" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "ObservationRangeMeaning" - } - ], - "strength": "preferred", - "description": "Code for the meaning of a reference range.", - "valueSet": "http://hl7.org/fhir/ValueSet/referencerange-meaning" - }, - "mapping": [ - { - "identity": "sct-concept", - "map": "< 260245000 |Findings values| OR \r< 365860008 |General clinical state finding| \rOR \r< 250171008 |Clinical history or observation findings| OR \r< 415229000 |Racial group| OR \r< 365400002 |Finding of puberty stage| OR\r< 443938003 |Procedure carried out on subject|" - }, - { - "identity": "v2", - "map": "OBX-10" - }, - { - "identity": "rim", - "map": "interpretationCode" - } - ] - }, - { - "id": "Observation.referenceRange.appliesTo", - "path": "Observation.referenceRange.appliesTo", - "short": "Reference range population", - "definition": "Codes to indicate the target population this reference range applies to. For example, a reference range may be based on the normal population or a particular sex or race. Multiple `appliesTo` are interpreted as an \"AND\" of the target populations. For example, to represent a target population of African American females, both a code of female and a code for African American would be used.", - "comment": "This SHOULD be populated if there is more than one range. If this element is not present then the normal population is assumed.", - "requirements": "Need to be able to identify the target population for proper interpretation.", - "min": 0, - "max": "*", - "base": { - "path": "Observation.referenceRange.appliesTo", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "CodeableConcept" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "ObservationRangeType" - } - ], - "strength": "example", - "description": "Codes identifying the population the reference range applies to.", - "valueSet": "http://hl7.org/fhir/ValueSet/referencerange-appliesto" - }, - "mapping": [ - { - "identity": "sct-concept", - "map": "< 260245000 |Findings values| OR \r< 365860008 |General clinical state finding| \rOR \r< 250171008 |Clinical history or observation findings| OR \r< 415229000 |Racial group| OR \r< 365400002 |Finding of puberty stage| OR\r< 443938003 |Procedure carried out on subject|" - }, - { - "identity": "v2", - "map": "OBX-10" - }, - { - "identity": "rim", - "map": "interpretationCode" - } - ] - }, - { - "id": "Observation.referenceRange.age", - "path": "Observation.referenceRange.age", - "short": "Applicable age range, if relevant", - "definition": "The age at which this reference range is applicable. This is a neonatal age (e.g. number of weeks at term) if the meaning says so.", - "requirements": "Some analytes vary greatly over age.", - "min": 0, - "max": "1", - "base": { - "path": "Observation.referenceRange.age", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "Range" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "outboundRelationship[typeCode=PRCN].targetObservationCriterion[code=\"age\"].value" - } - ] - }, - { - "id": "Observation.referenceRange.text", - "path": "Observation.referenceRange.text", - "short": "Text based reference range in an observation", - "definition": "Text based reference range in an observation which may be used when a quantitative range is not appropriate for an observation. An example would be a reference value of \"Negative\" or a list or table of \"normals\".", - "min": 0, - "max": "1", - "base": { - "path": "Observation.referenceRange.text", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "string" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "v2", - "map": "OBX-7" - }, - { - "identity": "rim", - "map": "value:ST" - } - ] - }, - { - "id": "Observation.hasMember", - "path": "Observation.hasMember", - "short": "Related resource that belongs to the Observation group", - "definition": "This observation is a group observation (e.g. a battery, a panel of tests, a set of vital sign measurements) that includes the target as a member of the group.", - "comment": "When using this element, an observation will typically have either a value or a set of related resources, although both may be present in some cases. For a discussion on the ways Observations can assembled in groups together, see [Notes](observation.html#obsgrouping) below. Note that a system may calculate results from [QuestionnaireResponse](questionnaireresponse.html) into a final score and represent the score as an Observation.", - "min": 0, - "max": "*", - "base": { - "path": "Observation.hasMember", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Reference", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/Observation", - "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse", - "http://hl7.org/fhir/StructureDefinition/MolecularSequence" - ] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "v2", - "map": "Relationships established by OBX-4 usage" - }, - { - "identity": "rim", - "map": "outBoundRelationship" - } - ] - }, - { - "id": "Observation.derivedFrom", - "path": "Observation.derivedFrom", - "short": "Related measurements the observation is made from", - "definition": "The target resource that represents a measurement from which this observation value is derived. For example, a calculated anion gap or a fetal measurement based on an ultrasound image.", - "comment": "All the reference choices that are listed in this element can represent clinical observations and other measurements that may be the source for a derived value. The most common reference will be another Observation. For a discussion on the ways Observations can assembled in groups together, see [Notes](observation.html#obsgrouping) below.", - "min": 0, - "max": "*", - "base": { - "path": "Observation.derivedFrom", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Reference", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/DocumentReference", - "http://hl7.org/fhir/StructureDefinition/ImagingStudy", - "http://hl7.org/fhir/StructureDefinition/Media", - "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse", - "http://hl7.org/fhir/StructureDefinition/Observation", - "http://hl7.org/fhir/StructureDefinition/MolecularSequence" - ] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "v2", - "map": "Relationships established by OBX-4 usage" - }, - { - "identity": "rim", - "map": ".targetObservation" - } - ] - }, - { - "id": "Observation.component", - "path": "Observation.component", - "short": "Component results", - "definition": "Some observations have multiple component observations. These component observations are expressed as separate code value pairs that share the same attributes. Examples include systolic and diastolic component observations for blood pressure measurement and multiple component observations for genetics observations.", - "comment": "For a discussion on the ways Observations can be assembled in groups together see [Notes](observation.html#notes) below.", - "requirements": "Component observations share the same attributes in the Observation resource as the primary observation and are always treated a part of a single observation (they are not separable). However, the reference range for the primary observation value is not inherited by the component values and is required when appropriate for each component observation.", - "min": 0, - "max": "*", - "base": { - "path": "Observation.component", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "BackboneElement" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "v2", - "map": "containment by OBX-4?" - }, - { - "identity": "rim", - "map": "outBoundRelationship[typeCode=COMP]" - } - ] - }, - { - "id": "Observation.component.id", - "path": "Observation.component.id", - "representation": ["xmlAttr"], - "short": "Unique id for inter-element referencing", - "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", - "min": 0, - "max": "1", - "base": { - "path": "Element.id", - "min": 0, - "max": "1" - }, - "type": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", - "valueUrl": "string" - } - ], - "code": "http://hl7.org/fhirpath/System.String" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "n/a" - } - ] - }, - { - "id": "Observation.component.extension", - "path": "Observation.component.extension", - "short": "Additional content defined by implementations", - "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", - "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", - "alias": ["extensions", "user content"], - "min": 0, - "max": "*", - "base": { - "path": "Element.extension", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Extension" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key": "ext-1", - "severity": "error", - "human": "Must have either extensions or value[x], not both", - "expression": "extension.exists() != value.exists()", - "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source": "http://hl7.org/fhir/StructureDefinition/Extension" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "n/a" - } - ] - }, - { - "id": "Observation.component.modifierExtension", - "path": "Observation.component.modifierExtension", - "short": "Extensions that cannot be ignored even if unrecognized", - "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", - "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", - "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).", - "alias": ["extensions", "user content", "modifiers"], - "min": 0, - "max": "*", - "base": { - "path": "BackboneElement.modifierExtension", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Extension" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key": "ext-1", - "severity": "error", - "human": "Must have either extensions or value[x], not both", - "expression": "extension.exists() != value.exists()", - "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source": "http://hl7.org/fhir/StructureDefinition/Extension" - } - ], - "isModifier": true, - "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them", - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": "N/A" - } - ] - }, - { - "id": "Observation.component.code", - "path": "Observation.component.code", - "short": "Type of component observation (code / type)", - "definition": "Describes what was observed. Sometimes this is called the observation \"code\".", - "comment": "*All* code-value and component.code-component.value pairs need to be taken into account to correctly understand the meaning of the observation.", - "requirements": "Knowing what kind of observation is being made is essential to understanding the observation.", - "min": 1, - "max": "1", - "base": { - "path": "Observation.component.code", - "min": 1, - "max": "1" - }, - "type": [ - { - "code": "CodeableConcept" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "ObservationCode" - } - ], - "strength": "example", - "description": "Codes identifying names of simple observations.", - "valueSet": "http://hl7.org/fhir/ValueSet/observation-codes" - }, - "mapping": [ - { - "identity": "w5", - "map": "FiveWs.what[x]" - }, - { - "identity": "sct-concept", - "map": "< 363787002 |Observable entity| OR \r< 386053000 |Evaluation procedure|" - }, - { - "identity": "v2", - "map": "OBX-3" - }, - { - "identity": "rim", - "map": "code" - } - ] - }, - { - "id": "Observation.component.value[x]", - "path": "Observation.component.value[x]", - "short": "Actual component result", - "definition": "The information determined as a result of making the observation, if the information has a simple value.", - "comment": "Used when observation has a set of component observations. An observation may have both a value (e.g. an Apgar score) and component observations (the observations from which the Apgar score was derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below.", - "requirements": "An observation exists to have a value, though it might not if it is in error, or if it represents a group of observations.", - "min": 0, - "max": "1", - "base": { - "path": "Observation.component.value[x]", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "Quantity" - }, - { - "code": "CodeableConcept" - }, - { - "code": "string" - }, - { - "code": "boolean" - }, - { - "code": "integer" - }, - { - "code": "Range" - }, - { - "code": "Ratio" - }, - { - "code": "SampledData" - }, - { - "code": "time" - }, - { - "code": "dateTime" - }, - { - "code": "Period" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "sct-concept", - "map": "363714003 |Interprets| < 441742003 |Evaluation finding|" - }, - { - "identity": "v2", - "map": "OBX.2, OBX.5, OBX.6" - }, - { - "identity": "rim", - "map": "value" - }, - { - "identity": "sct-attr", - "map": "363714003 |Interprets|" - } - ] - }, - { - "id": "Observation.component.dataAbsentReason", - "path": "Observation.component.dataAbsentReason", - "short": "Why the component result is missing", - "definition": "Provides a reason why the expected value in the element Observation.component.value[x] is missing.", - "comment": "\"Null\" or exceptional values can be represented two ways in FHIR Observations. One way is to simply include them in the value set and represent the exceptions in the value. For example, measurement values for a serology test could be \"detected\", \"not detected\", \"inconclusive\", or \"test not done\". \n\nThe alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values. For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed. Because of these options, use-case agreements are required to interpret general observations for exceptional values.", - "requirements": "For many results it is necessary to handle exceptional values in measurements.", - "min": 0, - "max": "1", - "base": { - "path": "Observation.component.dataAbsentReason", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "CodeableConcept" - } - ], - "condition": ["obs-6"], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "ObservationValueAbsentReason" - } - ], - "strength": "extensible", - "description": "Codes specifying why the result (`Observation.value[x]`) is missing.", - "valueSet": "http://hl7.org/fhir/ValueSet/data-absent-reason" - }, - "mapping": [ - { - "identity": "v2", - "map": "N/A" - }, - { - "identity": "rim", - "map": "value.nullFlavor" - } - ] - }, - { - "id": "Observation.component.interpretation", - "path": "Observation.component.interpretation", - "short": "High, low, normal, etc.", - "definition": "A categorical assessment of an observation value. For example, high, low, normal.", - "comment": "Historically used for laboratory results (known as 'abnormal flag' ), its use extends to other use cases where coded interpretations are relevant. Often reported as one or more simple compact codes this element is often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result.", - "requirements": "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.", - "alias": ["Abnormal Flag"], - "min": 0, - "max": "*", - "base": { - "path": "Observation.component.interpretation", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "CodeableConcept" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "ObservationInterpretation" - } - ], - "strength": "extensible", - "description": "Codes identifying interpretations of observations.", - "valueSet": "http://hl7.org/fhir/ValueSet/observation-interpretation" - }, - "mapping": [ - { - "identity": "sct-concept", - "map": "< 260245000 |Findings values|" - }, - { - "identity": "v2", - "map": "OBX-8" - }, - { - "identity": "rim", - "map": "interpretationCode" - }, - { - "identity": "sct-attr", - "map": "363713009 |Has interpretation|" - } - ] - }, - { - "id": "Observation.component.referenceRange", - "path": "Observation.component.referenceRange", - "short": "Provides guide for interpretation of component result", - "definition": "Guidance on how to interpret the value by comparison to a normal or recommended range.", - "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this might not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.", - "requirements": "Knowing what values are considered \"normal\" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.", - "min": 0, - "max": "*", - "base": { - "path": "Observation.component.referenceRange", - "min": 0, - "max": "*" - }, - "contentReference": "#Observation.referenceRange", - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "v2", - "map": "OBX.7" - }, - { - "identity": "rim", - "map": "outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]" - } - ] - } - ] - }, - "differential": { - "element": [ - { - "id": "Observation", - "path": "Observation", - "short": "Measurements and simple assertions", - "definition": "Measurements and simple assertions made about a patient, device or other subject.", - "comment": "Used for simple observations such as device measurements, laboratory atomic results, vital signs, height, weight, smoking status, comments, etc. Other resources are used to provide context for observations such as laboratory reports, etc.", - "alias": ["Vital Signs", "Measurement", "Results", "Tests"], - "min": 0, - "max": "*", - "constraint": [ - { - "key": "obs-7", - "severity": "error", - "human": "If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present", - "expression": "value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()", - "xpath": "not(f:*[starts-with(local-name(.), 'value')] and (for $coding in f:code/f:coding return f:component/f:code/f:coding[f:code/@value=$coding/f:code/@value] [f:system/@value=$coding/f:system/@value]))" - }, - { - "key": "obs-6", - "severity": "error", - "human": "dataAbsentReason SHALL only be present if Observation.value[x] is not present", - "expression": "dataAbsentReason.empty() or value.empty()", - "xpath": "not(exists(f:dataAbsentReason)) or (not(exists(*[starts-with(local-name(.), 'value')])))" - } - ], - "mapping": [ - { - "identity": "workflow", - "map": "Event" - }, - { - "identity": "sct-concept", - "map": "< 363787002 |Observable entity|" - }, - { - "identity": "v2", - "map": "OBX" - }, - { - "identity": "rim", - "map": "Observation[classCode=OBS, moodCode=EVN]" - } - ] - }, - { - "id": "Observation.identifier", - "path": "Observation.identifier", - "short": "Business Identifier for observation", - "definition": "A unique identifier assigned to this observation.", - "requirements": "Allows observations to be distinguished and referenced.", - "min": 0, - "max": "*", - "type": [ - { - "code": "Identifier" - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Event.identifier" - }, - { - "identity": "w5", - "map": "FiveWs.identifier" - }, - { - "identity": "v2", - "map": "OBX.21 For OBX segments from systems without OBX-21 support a combination of ORC/OBR and OBX must be negotiated between trading partners to uniquely identify the OBX segment. Depending on how V2 has been implemented each of these may be an option: 1) OBR-3 + OBX-3 + OBX-4 or 2) OBR-3 + OBR-4 + OBX-3 + OBX-4 or 2) some other way to uniquely ID the OBR/ORC + OBX-3 + OBX-4." - }, - { - "identity": "rim", - "map": "id" - } - ] - }, - { - "id": "Observation.basedOn", - "path": "Observation.basedOn", - "short": "Fulfills plan, proposal or order", - "definition": "A plan, proposal or order that is fulfilled in whole or in part by this event. For example, a MedicationRequest may require a patient to have laboratory test performed before it is dispensed.", - "requirements": "Allows tracing of authorization for the event and tracking whether proposals/recommendations were acted upon.", - "alias": ["Fulfills"], - "min": 0, - "max": "*", - "type": [ - { - "code": "Reference", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/CarePlan", - "http://hl7.org/fhir/StructureDefinition/DeviceRequest", - "http://hl7.org/fhir/StructureDefinition/ImmunizationRecommendation", - "http://hl7.org/fhir/StructureDefinition/MedicationRequest", - "http://hl7.org/fhir/StructureDefinition/NutritionOrder", - "http://hl7.org/fhir/StructureDefinition/ServiceRequest" - ] - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Event.basedOn" - }, - { - "identity": "v2", - "map": "ORC" - }, - { - "identity": "rim", - "map": ".inboundRelationship[typeCode=COMP].source[moodCode=EVN]" - } - ] - }, - { - "id": "Observation.partOf", - "path": "Observation.partOf", - "short": "Part of referenced event", - "definition": "A larger event of which this particular Observation is a component or step. For example, an observation as part of a procedure.", - "comment": "To link an Observation to an Encounter use `encounter`. See the [Notes](observation.html#obsgrouping) below for guidance on referencing another Observation.", - "alias": ["Container"], - "min": 0, - "max": "*", - "type": [ - { - "code": "Reference", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/MedicationAdministration", - "http://hl7.org/fhir/StructureDefinition/MedicationDispense", - "http://hl7.org/fhir/StructureDefinition/MedicationStatement", - "http://hl7.org/fhir/StructureDefinition/Procedure", - "http://hl7.org/fhir/StructureDefinition/Immunization", - "http://hl7.org/fhir/StructureDefinition/ImagingStudy" - ] - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Event.partOf" - }, - { - "identity": "v2", - "map": "Varies by domain" - }, - { - "identity": "rim", - "map": ".outboundRelationship[typeCode=FLFS].target" - } - ] - }, - { - "id": "Observation.status", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint", - "valueString": "default: final" - } - ], - "path": "Observation.status", - "short": "registered | preliminary | final | amended +", - "definition": "The status of the result value.", - "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.", - "requirements": "Need to track the status of individual results. Some results are finalized before the whole report is finalized.", - "min": 1, - "max": "1", - "type": [ - { - "code": "code" - } - ], - "isModifier": true, - "isModifierReason": "This element is labeled as a modifier because it is a status element that contains status entered-in-error which means that the resource should not be treated as valid", - "isSummary": true, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "ObservationStatus" - } - ], - "strength": "required", - "description": "Codes providing the status of an observation.", - "valueSet": "http://hl7.org/fhir/ValueSet/observation-status|4.0.1" - }, - "mapping": [ - { - "identity": "workflow", - "map": "Event.status" - }, - { - "identity": "w5", - "map": "FiveWs.status" - }, - { - "identity": "sct-concept", - "map": "< 445584004 |Report by finality status|" - }, - { - "identity": "v2", - "map": "OBX-11" - }, - { - "identity": "rim", - "map": "status Amended & Final are differentiated by whether it is the subject of a ControlAct event with a type of \"revise\"" - } - ] - }, - { - "id": "Observation.category", - "path": "Observation.category", - "short": "Classification of type of observation", - "definition": "A code that classifies the general type of observation being made.", - "comment": "In addition to the required category valueset, this element allows various categorization schemes based on the owner’s definition of the category and effectively multiple categories can be used at once. The level of granularity is defined by the category concepts in the value set.", - "requirements": "Used for filtering what observations are retrieved and displayed.", - "min": 0, - "max": "*", - "type": [ - { - "code": "CodeableConcept" - } - ], - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "ObservationCategory" - } - ], - "strength": "preferred", - "description": "Codes for high level observation categories.", - "valueSet": "http://hl7.org/fhir/ValueSet/observation-category" - }, - "mapping": [ - { - "identity": "w5", - "map": "FiveWs.class" - }, - { - "identity": "rim", - "map": ".outboundRelationship[typeCode=\"COMP].target[classCode=\"LIST\", moodCode=\"EVN\"].code" - } - ] - }, - { - "id": "Observation.code", - "path": "Observation.code", - "short": "Type of observation (code / type)", - "definition": "Describes what was observed. Sometimes this is called the observation \"name\".", - "comment": "*All* code-value and, if present, component.code-component.value pairs need to be taken into account to correctly understand the meaning of the observation.", - "requirements": "Knowing what kind of observation is being made is essential to understanding the observation.", - "alias": ["Name"], - "min": 1, - "max": "1", - "type": [ - { - "code": "CodeableConcept" - } - ], - "isSummary": true, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "ObservationCode" - } - ], - "strength": "example", - "description": "Codes identifying names of simple observations.", - "valueSet": "http://hl7.org/fhir/ValueSet/observation-codes" - }, - "mapping": [ - { - "identity": "workflow", - "map": "Event.code" - }, - { - "identity": "w5", - "map": "FiveWs.what[x]" - }, - { - "identity": "sct-concept", - "map": "< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|" - }, - { - "identity": "v2", - "map": "OBX-3" - }, - { - "identity": "rim", - "map": "code" - }, - { - "identity": "sct-attr", - "map": "116680003 |Is a|" - } - ] - }, - { - "id": "Observation.subject", - "path": "Observation.subject", - "short": "Who and/or what the observation is about", - "definition": "The patient, or group of patients, location, or device this observation is about and into whose record the observation is placed. If the actual focus of the observation is different from the subject (or a sample of, part, or region of the subject), the `focus` element or the `code` itself specifies the actual focus of the observation.", - "comment": "One would expect this element to be a cardinality of 1..1. The only circumstance in which the subject can be missing is when the observation is made by a device that does not know the patient. In this case, the observation SHALL be matched to a patient through some context/channel matching technique, and at this point, the observation should be updated.", - "requirements": "Observations have no value if you don't know who or what they're about.", - "min": 0, - "max": "1", - "type": [ - { - "code": "Reference", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/Patient", - "http://hl7.org/fhir/StructureDefinition/Group", - "http://hl7.org/fhir/StructureDefinition/Device", - "http://hl7.org/fhir/StructureDefinition/Location" - ] - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Event.subject" - }, - { - "identity": "w5", - "map": "FiveWs.subject[x]" - }, - { - "identity": "v2", - "map": "PID-3" - }, - { - "identity": "rim", - "map": "participation[typeCode=RTGT] " - }, - { - "identity": "w5", - "map": "FiveWs.subject" - } - ] - }, - { - "id": "Observation.focus", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", - "valueCode": "trial-use" - } - ], - "path": "Observation.focus", - "short": "What the observation is about, when it is not about the subject of record", - "definition": "The actual focus of an observation when it is not the patient of record representing something or someone associated with the patient such as a spouse, parent, fetus, or donor. For example, fetus observations in a mother's record. The focus of an observation could also be an existing condition, an intervention, the subject's diet, another observation of the subject, or a body structure such as tumor or implanted device. An example use case would be using the Observation resource to capture whether the mother is trained to change her child's tracheostomy tube. In this example, the child is the patient of record and the mother is the focus.", - "comment": "Typically, an observation is made about the subject - a patient, or group of patients, location, or device - and the distinction between the subject and what is directly measured for an observation is specified in the observation code itself ( e.g., \"Blood Glucose\") and does not need to be represented separately using this element. Use `specimen` if a reference to a specimen is required. If a code is required instead of a resource use either `bodysite` for bodysites or the standard extension [focusCode](extension-observation-focuscode.html).", - "min": 0, - "max": "*", - "type": [ - { - "code": "Reference", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/Resource"] - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "w5", - "map": "FiveWs.subject[x]" - }, - { - "identity": "v2", - "map": "OBX-3" - }, - { - "identity": "rim", - "map": "participation[typeCode=SBJ]" - }, - { - "identity": "w5", - "map": "FiveWs.subject" - } - ] - }, - { - "id": "Observation.encounter", - "path": "Observation.encounter", - "short": "Healthcare event during which this observation is made", - "definition": "The healthcare event (e.g. a patient and healthcare provider interaction) during which this observation is made.", - "comment": "This will typically be the encounter the event occurred within, but some events may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter (e.g. pre-admission laboratory tests).", - "requirements": "For some observations it may be important to know the link between an observation and a particular encounter.", - "alias": ["Context"], - "min": 0, - "max": "1", - "type": [ - { - "code": "Reference", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/Encounter"] - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Event.context" - }, - { - "identity": "w5", - "map": "FiveWs.context" - }, - { - "identity": "v2", - "map": "PV1" - }, - { - "identity": "rim", - "map": "inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN]" - } - ] - }, - { - "id": "Observation.effective[x]", - "path": "Observation.effective[x]", - "short": "Clinically relevant time/time-period for observation", - "definition": "The time or time-period the observed value is asserted as being true. For biological subjects - e.g. human patients - this is usually called the \"physiologically relevant time\". This is usually either the time of the procedure or of specimen collection, but very often the source of the date/time is not known, only the date/time itself.", - "comment": "At least a date should be present unless this observation is a historical report. For recording imprecise or \"fuzzy\" times (For example, a blood glucose measurement taken \"after breakfast\") use the [Timing](datatypes.html#timing) datatype which allow the measurement to be tied to regular life events.", - "requirements": "Knowing when an observation was deemed true is important to its relevance as well as determining trends.", - "alias": ["Occurrence"], - "min": 0, - "max": "1", - "type": [ - { - "code": "dateTime" - }, - { - "code": "Period" - }, - { - "code": "Timing" - }, - { - "code": "instant" - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Event.occurrence[x]" - }, - { - "identity": "w5", - "map": "FiveWs.done[x]" - }, - { - "identity": "v2", - "map": "OBX-14, and/or OBX-19 after v2.4 (depends on who observation made)" - }, - { - "identity": "rim", - "map": "effectiveTime" - } - ] - }, - { - "id": "Observation.issued", - "path": "Observation.issued", - "short": "Date/Time this version was made available", - "definition": "The date and time this version of the observation was made available to providers, typically after the results have been reviewed and verified.", - "comment": "For Observations that don’t require review and verification, it may be the same as the [`lastUpdated` ](resource-definitions.html#Meta.lastUpdated) time of the resource itself. For Observations that do require review and verification for certain updates, it might not be the same as the `lastUpdated` time of the resource itself due to a non-clinically significant update that doesn’t require the new version to be reviewed and verified again.", - "min": 0, - "max": "1", - "type": [ - { - "code": "instant" - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "w5", - "map": "FiveWs.recorded" - }, - { - "identity": "v2", - "map": "OBR.22 (or MSH.7), or perhaps OBX-19 (depends on who observation made)" - }, - { - "identity": "rim", - "map": "participation[typeCode=AUT].time" - } - ] - }, - { - "id": "Observation.performer", - "path": "Observation.performer", - "short": "Who is responsible for the observation", - "definition": "Who was responsible for asserting the observed value as \"true\".", - "requirements": "May give a degree of confidence in the observation and also indicates where follow-up questions should be directed.", - "min": 0, - "max": "*", - "type": [ - { - "code": "Reference", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/Practitioner", - "http://hl7.org/fhir/StructureDefinition/PractitionerRole", - "http://hl7.org/fhir/StructureDefinition/Organization", - "http://hl7.org/fhir/StructureDefinition/CareTeam", - "http://hl7.org/fhir/StructureDefinition/Patient", - "http://hl7.org/fhir/StructureDefinition/RelatedPerson" - ] - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "workflow", - "map": "Event.performer.actor" - }, - { - "identity": "w5", - "map": "FiveWs.actor" - }, - { - "identity": "v2", - "map": "OBX.15 / (Practitioner) OBX-16, PRT-5:PRT-4='RO' / (Device) OBX-18 , PRT-10:PRT-4='EQUIP' / (Organization) OBX-23, PRT-8:PRT-4='PO'" - }, - { - "identity": "rim", - "map": "participation[typeCode=PRF]" - } - ] - }, - { - "id": "Observation.value[x]", - "path": "Observation.value[x]", - "short": "Actual result", - "definition": "The information determined as a result of making the observation, if the information has a simple value.", - "comment": "An observation may have; 1) a single value here, 2) both a value and a set of related or component values, or 3) only a set of related or component values. If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below.", - "requirements": "An observation exists to have a value, though it might not if it is in error, or if it represents a group of observations.", - "min": 0, - "max": "1", - "type": [ - { - "code": "Quantity" - }, - { - "code": "CodeableConcept" - }, - { - "code": "string" - }, - { - "code": "boolean" - }, - { - "code": "integer" - }, - { - "code": "Range" - }, - { - "code": "Ratio" - }, - { - "code": "SampledData" - }, - { - "code": "time" - }, - { - "code": "dateTime" - }, - { - "code": "Period" - } - ], - "condition": ["obs-7"], - "isSummary": true, - "mapping": [ - { - "identity": "sct-concept", - "map": "< 441742003 |Evaluation finding|" - }, - { - "identity": "v2", - "map": "OBX.2, OBX.5, OBX.6" - }, - { - "identity": "rim", - "map": "value" - }, - { - "identity": "sct-attr", - "map": "363714003 |Interprets|" - } - ] - }, - { - "id": "Observation.dataAbsentReason", - "path": "Observation.dataAbsentReason", - "short": "Why the result is missing", - "definition": "Provides a reason why the expected value in the element Observation.value[x] is missing.", - "comment": "Null or exceptional values can be represented two ways in FHIR Observations. One way is to simply include them in the value set and represent the exceptions in the value. For example, measurement values for a serology test could be \"detected\", \"not detected\", \"inconclusive\", or \"specimen unsatisfactory\". \n\nThe alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values. For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed. Note that an observation may only be reported if there are values to report. For example differential cell counts values may be reported only when > 0. Because of these options, use-case agreements are required to interpret general observations for null or exceptional values.", - "requirements": "For many results it is necessary to handle exceptional values in measurements.", - "min": 0, - "max": "1", - "type": [ - { - "code": "CodeableConcept" - } - ], - "condition": ["obs-6"], - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "ObservationValueAbsentReason" - } - ], - "strength": "extensible", - "description": "Codes specifying why the result (`Observation.value[x]`) is missing.", - "valueSet": "http://hl7.org/fhir/ValueSet/data-absent-reason" - }, - "mapping": [ - { - "identity": "v2", - "map": "N/A" - }, - { - "identity": "rim", - "map": "value.nullFlavor" - } - ] - }, - { - "id": "Observation.interpretation", - "path": "Observation.interpretation", - "short": "High, low, normal, etc.", - "definition": "A categorical assessment of an observation value. For example, high, low, normal.", - "comment": "Historically used for laboratory results (known as 'abnormal flag' ), its use extends to other use cases where coded interpretations are relevant. Often reported as one or more simple compact codes this element is often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result.", - "requirements": "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.", - "alias": ["Abnormal Flag"], - "min": 0, - "max": "*", - "type": [ - { - "code": "CodeableConcept" - } - ], - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "ObservationInterpretation" - } - ], - "strength": "extensible", - "description": "Codes identifying interpretations of observations.", - "valueSet": "http://hl7.org/fhir/ValueSet/observation-interpretation" - }, - "mapping": [ - { - "identity": "sct-concept", - "map": "< 260245000 |Findings values|" - }, - { - "identity": "v2", - "map": "OBX-8" - }, - { - "identity": "rim", - "map": "interpretationCode" - }, - { - "identity": "sct-attr", - "map": "363713009 |Has interpretation|" - } - ] - }, - { - "id": "Observation.note", - "path": "Observation.note", - "short": "Comments about the observation", - "definition": "Comments about the observation or the results.", - "comment": "May include general statements about the observation, or statements about significant, unexpected or unreliable results values, or information about its source when relevant to its interpretation.", - "requirements": "Need to be able to provide free text additional information.", - "min": 0, - "max": "*", - "type": [ - { - "code": "Annotation" - } - ], - "mapping": [ - { - "identity": "v2", - "map": "NTE.3 (partner NTE to OBX, or sometimes another (child?) OBX)" - }, - { - "identity": "rim", - "map": "subjectOf.observationEvent[code=\"annotation\"].value" - } - ] - }, - { - "id": "Observation.bodySite", - "path": "Observation.bodySite", - "short": "Observed body part", - "definition": "Indicates the site on the subject's body where the observation was made (i.e. the target site).", - "comment": "Only used if not implicit in code found in Observation.code. In many systems, this may be represented as a related observation instead of an inline component. \n\nIf the use case requires BodySite to be handled as a separate resource (e.g. to identify and track separately) then use the standard extension[ bodySite](extension-bodysite.html).", - "min": 0, - "max": "1", - "type": [ - { - "code": "CodeableConcept" - } - ], - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "BodySite" - } - ], - "strength": "example", - "description": "Codes describing anatomical locations. May include laterality.", - "valueSet": "http://hl7.org/fhir/ValueSet/body-site" - }, - "mapping": [ - { - "identity": "sct-concept", - "map": "< 123037004 |Body structure|" - }, - { - "identity": "v2", - "map": "OBX-20" - }, - { - "identity": "rim", - "map": "targetSiteCode" - }, - { - "identity": "sct-attr", - "map": "718497002 |Inherent location|" - } - ] - }, - { - "id": "Observation.method", - "path": "Observation.method", - "short": "How it was done", - "definition": "Indicates the mechanism used to perform the observation.", - "comment": "Only used if not implicit in code for Observation.code.", - "requirements": "In some cases, method can impact results and is thus used for determining whether results can be compared or determining significance of results.", - "min": 0, - "max": "1", - "type": [ - { - "code": "CodeableConcept" - } - ], - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "ObservationMethod" - } - ], - "strength": "example", - "description": "Methods for simple observations.", - "valueSet": "http://hl7.org/fhir/ValueSet/observation-methods" - }, - "mapping": [ - { - "identity": "v2", - "map": "OBX-17" - }, - { - "identity": "rim", - "map": "methodCode" - } - ] - }, - { - "id": "Observation.specimen", - "path": "Observation.specimen", - "short": "Specimen used for this observation", - "definition": "The specimen that was used when this observation was made.", - "comment": "Should only be used if not implicit in code found in `Observation.code`. Observations are not made on specimens themselves; they are made on a subject, but in many cases by the means of a specimen. Note that although specimens are often involved, they are not always tracked and reported explicitly. Also note that observation resources may be used in contexts that track the specimen explicitly (e.g. Diagnostic Report).", - "min": 0, - "max": "1", - "type": [ - { - "code": "Reference", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/Specimen"] - } - ], - "mapping": [ - { - "identity": "sct-concept", - "map": "< 123038009 |Specimen|" - }, - { - "identity": "v2", - "map": "SPM segment" - }, - { - "identity": "rim", - "map": "participation[typeCode=SPC].specimen" - }, - { - "identity": "sct-attr", - "map": "704319004 |Inherent in|" - } - ] - }, - { - "id": "Observation.device", - "path": "Observation.device", - "short": "(Measurement) Device", - "definition": "The device used to generate the observation data.", - "comment": "Note that this is not meant to represent a device involved in the transmission of the result, e.g., a gateway. Such devices may be documented using the Provenance resource where relevant.", - "min": 0, - "max": "1", - "type": [ - { - "code": "Reference", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/Device", - "http://hl7.org/fhir/StructureDefinition/DeviceMetric" - ] - } - ], - "mapping": [ - { - "identity": "sct-concept", - "map": "< 49062001 |Device|" - }, - { - "identity": "v2", - "map": "OBX-17 / PRT -10" - }, - { - "identity": "rim", - "map": "participation[typeCode=DEV]" - }, - { - "identity": "sct-attr", - "map": "424226004 |Using device|" - } - ] - }, - { - "id": "Observation.referenceRange", - "path": "Observation.referenceRange", - "short": "Provides guide for interpretation", - "definition": "Guidance on how to interpret the value by comparison to a normal or recommended range. Multiple reference ranges are interpreted as an \"OR\". In other words, to represent two distinct target populations, two `referenceRange` elements would be used.", - "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this might not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.", - "requirements": "Knowing what values are considered \"normal\" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.", - "min": 0, - "max": "*", - "type": [ - { - "code": "BackboneElement" - } - ], - "constraint": [ - { - "key": "obs-3", - "severity": "error", - "human": "Must have at least a low or a high or text", - "expression": "low.exists() or high.exists() or text.exists()", - "xpath": "(exists(f:low) or exists(f:high)or exists(f:text))" - } - ], - "mapping": [ - { - "identity": "v2", - "map": "OBX.7" - }, - { - "identity": "rim", - "map": "outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]" - } - ] - }, - { - "id": "Observation.referenceRange.low", - "path": "Observation.referenceRange.low", - "short": "Low Range, if relevant", - "definition": "The value of the low bound of the reference range. The low bound of the reference range endpoint is inclusive of the value (e.g. reference range is >=5 - <=9). If the low bound is omitted, it is assumed to be meaningless (e.g. reference range is <=2.3).", - "min": 0, - "max": "1", - "type": [ - { - "code": "Quantity", - "profile": ["http://hl7.org/fhir/StructureDefinition/SimpleQuantity"] - } - ], - "condition": ["obs-3"], - "mapping": [ - { - "identity": "v2", - "map": "OBX-7" - }, - { - "identity": "rim", - "map": "value:IVL_PQ.low" - } - ] - }, - { - "id": "Observation.referenceRange.high", - "path": "Observation.referenceRange.high", - "short": "High Range, if relevant", - "definition": "The value of the high bound of the reference range. The high bound of the reference range endpoint is inclusive of the value (e.g. reference range is >=5 - <=9). If the high bound is omitted, it is assumed to be meaningless (e.g. reference range is >= 2.3).", - "min": 0, - "max": "1", - "type": [ - { - "code": "Quantity", - "profile": ["http://hl7.org/fhir/StructureDefinition/SimpleQuantity"] - } - ], - "condition": ["obs-3"], - "mapping": [ - { - "identity": "v2", - "map": "OBX-7" - }, - { - "identity": "rim", - "map": "value:IVL_PQ.high" - } - ] - }, - { - "id": "Observation.referenceRange.type", - "path": "Observation.referenceRange.type", - "short": "Reference range qualifier", - "definition": "Codes to indicate the what part of the targeted reference population it applies to. For example, the normal or therapeutic range.", - "comment": "This SHOULD be populated if there is more than one range. If this element is not present then the normal range is assumed.", - "requirements": "Need to be able to say what kind of reference range this is - normal, recommended, therapeutic, etc., - for proper interpretation.", - "min": 0, - "max": "1", - "type": [ - { - "code": "CodeableConcept" - } - ], - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "ObservationRangeMeaning" - } - ], - "strength": "preferred", - "description": "Code for the meaning of a reference range.", - "valueSet": "http://hl7.org/fhir/ValueSet/referencerange-meaning" - }, - "mapping": [ - { - "identity": "sct-concept", - "map": "< 260245000 |Findings values| OR \r< 365860008 |General clinical state finding| \rOR \r< 250171008 |Clinical history or observation findings| OR \r< 415229000 |Racial group| OR \r< 365400002 |Finding of puberty stage| OR\r< 443938003 |Procedure carried out on subject|" - }, - { - "identity": "v2", - "map": "OBX-10" - }, - { - "identity": "rim", - "map": "interpretationCode" - } - ] - }, - { - "id": "Observation.referenceRange.appliesTo", - "path": "Observation.referenceRange.appliesTo", - "short": "Reference range population", - "definition": "Codes to indicate the target population this reference range applies to. For example, a reference range may be based on the normal population or a particular sex or race. Multiple `appliesTo` are interpreted as an \"AND\" of the target populations. For example, to represent a target population of African American females, both a code of female and a code for African American would be used.", - "comment": "This SHOULD be populated if there is more than one range. If this element is not present then the normal population is assumed.", - "requirements": "Need to be able to identify the target population for proper interpretation.", - "min": 0, - "max": "*", - "type": [ - { - "code": "CodeableConcept" - } - ], - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "ObservationRangeType" - } - ], - "strength": "example", - "description": "Codes identifying the population the reference range applies to.", - "valueSet": "http://hl7.org/fhir/ValueSet/referencerange-appliesto" - }, - "mapping": [ - { - "identity": "sct-concept", - "map": "< 260245000 |Findings values| OR \r< 365860008 |General clinical state finding| \rOR \r< 250171008 |Clinical history or observation findings| OR \r< 415229000 |Racial group| OR \r< 365400002 |Finding of puberty stage| OR\r< 443938003 |Procedure carried out on subject|" - }, - { - "identity": "v2", - "map": "OBX-10" - }, - { - "identity": "rim", - "map": "interpretationCode" - } - ] - }, - { - "id": "Observation.referenceRange.age", - "path": "Observation.referenceRange.age", - "short": "Applicable age range, if relevant", - "definition": "The age at which this reference range is applicable. This is a neonatal age (e.g. number of weeks at term) if the meaning says so.", - "requirements": "Some analytes vary greatly over age.", - "min": 0, - "max": "1", - "type": [ - { - "code": "Range" - } - ], - "mapping": [ - { - "identity": "rim", - "map": "outboundRelationship[typeCode=PRCN].targetObservationCriterion[code=\"age\"].value" - } - ] - }, - { - "id": "Observation.referenceRange.text", - "path": "Observation.referenceRange.text", - "short": "Text based reference range in an observation", - "definition": "Text based reference range in an observation which may be used when a quantitative range is not appropriate for an observation. An example would be a reference value of \"Negative\" or a list or table of \"normals\".", - "min": 0, - "max": "1", - "type": [ - { - "code": "string" - } - ], - "mapping": [ - { - "identity": "v2", - "map": "OBX-7" - }, - { - "identity": "rim", - "map": "value:ST" - } - ] - }, - { - "id": "Observation.hasMember", - "path": "Observation.hasMember", - "short": "Related resource that belongs to the Observation group", - "definition": "This observation is a group observation (e.g. a battery, a panel of tests, a set of vital sign measurements) that includes the target as a member of the group.", - "comment": "When using this element, an observation will typically have either a value or a set of related resources, although both may be present in some cases. For a discussion on the ways Observations can assembled in groups together, see [Notes](observation.html#obsgrouping) below. Note that a system may calculate results from [QuestionnaireResponse](questionnaireresponse.html) into a final score and represent the score as an Observation.", - "min": 0, - "max": "*", - "type": [ - { - "code": "Reference", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/Observation", - "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse", - "http://hl7.org/fhir/StructureDefinition/MolecularSequence" - ] - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "v2", - "map": "Relationships established by OBX-4 usage" - }, - { - "identity": "rim", - "map": "outBoundRelationship" - } - ] - }, - { - "id": "Observation.derivedFrom", - "path": "Observation.derivedFrom", - "short": "Related measurements the observation is made from", - "definition": "The target resource that represents a measurement from which this observation value is derived. For example, a calculated anion gap or a fetal measurement based on an ultrasound image.", - "comment": "All the reference choices that are listed in this element can represent clinical observations and other measurements that may be the source for a derived value. The most common reference will be another Observation. For a discussion on the ways Observations can assembled in groups together, see [Notes](observation.html#obsgrouping) below.", - "min": 0, - "max": "*", - "type": [ - { - "code": "Reference", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/DocumentReference", - "http://hl7.org/fhir/StructureDefinition/ImagingStudy", - "http://hl7.org/fhir/StructureDefinition/Media", - "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse", - "http://hl7.org/fhir/StructureDefinition/Observation", - "http://hl7.org/fhir/StructureDefinition/MolecularSequence" - ] - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "v2", - "map": "Relationships established by OBX-4 usage" - }, - { - "identity": "rim", - "map": ".targetObservation" - } - ] - }, - { - "id": "Observation.component", - "path": "Observation.component", - "short": "Component results", - "definition": "Some observations have multiple component observations. These component observations are expressed as separate code value pairs that share the same attributes. Examples include systolic and diastolic component observations for blood pressure measurement and multiple component observations for genetics observations.", - "comment": "For a discussion on the ways Observations can be assembled in groups together see [Notes](observation.html#notes) below.", - "requirements": "Component observations share the same attributes in the Observation resource as the primary observation and are always treated a part of a single observation (they are not separable). However, the reference range for the primary observation value is not inherited by the component values and is required when appropriate for each component observation.", - "min": 0, - "max": "*", - "type": [ - { - "code": "BackboneElement" - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "v2", - "map": "containment by OBX-4?" - }, - { - "identity": "rim", - "map": "outBoundRelationship[typeCode=COMP]" - } - ] - }, - { - "id": "Observation.component.code", - "path": "Observation.component.code", - "short": "Type of component observation (code / type)", - "definition": "Describes what was observed. Sometimes this is called the observation \"code\".", - "comment": "*All* code-value and component.code-component.value pairs need to be taken into account to correctly understand the meaning of the observation.", - "requirements": "Knowing what kind of observation is being made is essential to understanding the observation.", - "min": 1, - "max": "1", - "type": [ - { - "code": "CodeableConcept" - } - ], - "isSummary": true, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "ObservationCode" - } - ], - "strength": "example", - "description": "Codes identifying names of simple observations.", - "valueSet": "http://hl7.org/fhir/ValueSet/observation-codes" - }, - "mapping": [ - { - "identity": "w5", - "map": "FiveWs.what[x]" - }, - { - "identity": "sct-concept", - "map": "< 363787002 |Observable entity| OR \r< 386053000 |Evaluation procedure|" - }, - { - "identity": "v2", - "map": "OBX-3" - }, - { - "identity": "rim", - "map": "code" - } - ] - }, - { - "id": "Observation.component.value[x]", - "path": "Observation.component.value[x]", - "short": "Actual component result", - "definition": "The information determined as a result of making the observation, if the information has a simple value.", - "comment": "Used when observation has a set of component observations. An observation may have both a value (e.g. an Apgar score) and component observations (the observations from which the Apgar score was derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](observation.html#notes) below.", - "requirements": "An observation exists to have a value, though it might not if it is in error, or if it represents a group of observations.", - "min": 0, - "max": "1", - "type": [ - { - "code": "Quantity" - }, - { - "code": "CodeableConcept" - }, - { - "code": "string" - }, - { - "code": "boolean" - }, - { - "code": "integer" - }, - { - "code": "Range" - }, - { - "code": "Ratio" - }, - { - "code": "SampledData" - }, - { - "code": "time" - }, - { - "code": "dateTime" - }, - { - "code": "Period" - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "sct-concept", - "map": "363714003 |Interprets| < 441742003 |Evaluation finding|" - }, - { - "identity": "v2", - "map": "OBX.2, OBX.5, OBX.6" - }, - { - "identity": "rim", - "map": "value" - }, - { - "identity": "sct-attr", - "map": "363714003 |Interprets|" - } - ] - }, - { - "id": "Observation.component.dataAbsentReason", - "path": "Observation.component.dataAbsentReason", - "short": "Why the component result is missing", - "definition": "Provides a reason why the expected value in the element Observation.component.value[x] is missing.", - "comment": "\"Null\" or exceptional values can be represented two ways in FHIR Observations. One way is to simply include them in the value set and represent the exceptions in the value. For example, measurement values for a serology test could be \"detected\", \"not detected\", \"inconclusive\", or \"test not done\". \n\nThe alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values. For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed. Because of these options, use-case agreements are required to interpret general observations for exceptional values.", - "requirements": "For many results it is necessary to handle exceptional values in measurements.", - "min": 0, - "max": "1", - "type": [ - { - "code": "CodeableConcept" - } - ], - "condition": ["obs-6"], - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "ObservationValueAbsentReason" - } - ], - "strength": "extensible", - "description": "Codes specifying why the result (`Observation.value[x]`) is missing.", - "valueSet": "http://hl7.org/fhir/ValueSet/data-absent-reason" - }, - "mapping": [ - { - "identity": "v2", - "map": "N/A" - }, - { - "identity": "rim", - "map": "value.nullFlavor" - } - ] - }, - { - "id": "Observation.component.interpretation", - "path": "Observation.component.interpretation", - "short": "High, low, normal, etc.", - "definition": "A categorical assessment of an observation value. For example, high, low, normal.", - "comment": "Historically used for laboratory results (known as 'abnormal flag' ), its use extends to other use cases where coded interpretations are relevant. Often reported as one or more simple compact codes this element is often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result.", - "requirements": "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.", - "alias": ["Abnormal Flag"], - "min": 0, - "max": "*", - "type": [ - { - "code": "CodeableConcept" - } - ], - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "ObservationInterpretation" - } - ], - "strength": "extensible", - "description": "Codes identifying interpretations of observations.", - "valueSet": "http://hl7.org/fhir/ValueSet/observation-interpretation" - }, - "mapping": [ - { - "identity": "sct-concept", - "map": "< 260245000 |Findings values|" - }, - { - "identity": "v2", - "map": "OBX-8" - }, - { - "identity": "rim", - "map": "interpretationCode" - }, - { - "identity": "sct-attr", - "map": "363713009 |Has interpretation|" - } - ] - }, - { - "id": "Observation.component.referenceRange", - "path": "Observation.component.referenceRange", - "short": "Provides guide for interpretation of component result", - "definition": "Guidance on how to interpret the value by comparison to a normal or recommended range.", - "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this might not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.", - "requirements": "Knowing what values are considered \"normal\" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.", - "min": 0, - "max": "*", - "contentReference": "#Observation.referenceRange", - "mapping": [ - { - "identity": "v2", - "map": "OBX.7" - }, - { - "identity": "rim", - "map": "outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]" - } - ] - } - ] - } -} diff --git a/modules/frontend/src/lib/resource/test/Patient.json b/modules/frontend/src/lib/resource/test/Patient.json deleted file mode 100644 index a6a1cb950..000000000 --- a/modules/frontend/src/lib/resource/test/Patient.json +++ /dev/null @@ -1,3121 +0,0 @@ -{ - "resourceType": "StructureDefinition", - "id": "Patient", - "meta": { - "lastUpdated": "2019-11-01T09:29:23.356+11:00" - }, - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-category", - "valueString": "Base.Individuals" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", - "valueCode": "normative" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version", - "valueCode": "4.0.0" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm", - "valueInteger": 5 - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-security-category", - "valueCode": "patient" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg", - "valueCode": "pa" - } - ], - "url": "http://hl7.org/fhir/StructureDefinition/Patient", - "version": "4.0.1", - "name": "Patient", - "status": "active", - "date": "2019-11-01T09:29:23+11:00", - "publisher": "Health Level Seven International (Patient Administration)", - "contact": [ - { - "telecom": [ - { - "system": "url", - "value": "http://hl7.org/fhir" - } - ] - }, - { - "telecom": [ - { - "system": "url", - "value": "http://www.hl7.org/Special/committees/pafm/index.cfm" - } - ] - } - ], - "description": "Demographics and other administrative information about an individual or animal receiving care or other health-related services.", - "purpose": "Tracking patient is the center of the healthcare process.", - "fhirVersion": "4.0.1", - "mapping": [ - { - "identity": "rim", - "uri": "http://hl7.org/v3", - "name": "RIM Mapping" - }, - { - "identity": "cda", - "uri": "http://hl7.org/v3/cda", - "name": "CDA (R2)" - }, - { - "identity": "w5", - "uri": "http://hl7.org/fhir/fivews", - "name": "FiveWs Pattern Mapping" - }, - { - "identity": "v2", - "uri": "http://hl7.org/v2", - "name": "HL7 v2 Mapping" - }, - { - "identity": "loinc", - "uri": "http://loinc.org", - "name": "LOINC code for the element" - } - ], - "kind": "resource", - "abstract": false, - "type": "Patient", - "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource", - "derivation": "specialization", - "snapshot": { - "element": [ - { - "id": "Patient", - "path": "Patient", - "short": "Information about an individual or animal receiving health care services", - "definition": "Demographics and other administrative information about an individual or animal receiving care or other health-related services.", - "alias": ["SubjectOfCare Client Resident"], - "min": 0, - "max": "*", - "base": { - "path": "Patient", - "min": 0, - "max": "*" - }, - "constraint": [ - { - "key": "dom-2", - "severity": "error", - "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources", - "expression": "contained.contained.empty()", - "xpath": "not(parent::f:contained and f:contained)", - "source": "http://hl7.org/fhir/StructureDefinition/DomainResource" - }, - { - "key": "dom-3", - "severity": "error", - "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource", - "expression": "contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()", - "xpath": "not(exists(for $id in f:contained/*/f:id/@value return $contained[not(parent::*/descendant::f:reference/@value=concat('#', $contained/*/id/@value) or descendant::f:reference[@value='#'])]))", - "source": "http://hl7.org/fhir/StructureDefinition/DomainResource" - }, - { - "key": "dom-4", - "severity": "error", - "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated", - "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()", - "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))", - "source": "http://hl7.org/fhir/StructureDefinition/DomainResource" - }, - { - "key": "dom-5", - "severity": "error", - "human": "If a resource is contained in another resource, it SHALL NOT have a security label", - "expression": "contained.meta.security.empty()", - "xpath": "not(exists(f:contained/*/f:meta/f:security))", - "source": "http://hl7.org/fhir/StructureDefinition/DomainResource" - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice", - "valueBoolean": true - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice-explanation", - "valueMarkdown": "When a resource has no narrative, only systems that fully understand the data can display the resource to a human safely. Including a human readable representation in the resource makes for a much more robust eco-system and cheaper handling of resources by intermediary systems. Some ecosystems restrict distribution of resources to only those systems that do fully understand the resources, and as a consequence implementers may believe that the narrative is superfluous. However experience shows that such eco-systems often open up to new participants over time." - } - ], - "key": "dom-6", - "severity": "warning", - "human": "A resource should have narrative for robust management", - "expression": "text.`div`.exists()", - "xpath": "exists(f:text/h:div)", - "source": "http://hl7.org/fhir/StructureDefinition/DomainResource" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "Entity. Role, or Act" - }, - { - "identity": "rim", - "map": "Patient[classCode=PAT]" - }, - { - "identity": "cda", - "map": "ClinicalDocument.recordTarget.patientRole" - } - ] - }, - { - "id": "Patient.id", - "path": "Patient.id", - "short": "Logical id of this artifact", - "definition": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.", - "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.", - "min": 0, - "max": "1", - "base": { - "path": "Resource.id", - "min": 0, - "max": "1" - }, - "type": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", - "valueUrl": "string" - } - ], - "code": "http://hl7.org/fhirpath/System.String" - } - ], - "isModifier": false, - "isSummary": true - }, - { - "id": "Patient.meta", - "path": "Patient.meta", - "short": "Metadata about the resource", - "definition": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.", - "min": 0, - "max": "1", - "base": { - "path": "Resource.meta", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "Meta" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true - }, - { - "id": "Patient.implicitRules", - "path": "Patient.implicitRules", - "short": "A set of rules under which this content was created", - "definition": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.", - "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.", - "min": 0, - "max": "1", - "base": { - "path": "Resource.implicitRules", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "uri" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": true, - "isModifierReason": "This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation", - "isSummary": true - }, - { - "id": "Patient.language", - "path": "Patient.language", - "short": "Language of the resource content", - "definition": "The base language in which the resource is written.", - "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).", - "min": 0, - "max": "1", - "base": { - "path": "Resource.language", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "code" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet", - "valueCanonical": "http://hl7.org/fhir/ValueSet/all-languages" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "Language" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding", - "valueBoolean": true - } - ], - "strength": "preferred", - "description": "A human language.", - "valueSet": "http://hl7.org/fhir/ValueSet/languages" - } - }, - { - "id": "Patient.text", - "path": "Patient.text", - "short": "Text summary of the resource, for human interpretation", - "definition": "A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.", - "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded information is added later.", - "alias": ["narrative", "html", "xhtml", "display"], - "min": 0, - "max": "1", - "base": { - "path": "DomainResource.text", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "Narrative" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "Act.text?" - } - ] - }, - { - "id": "Patient.contained", - "path": "Patient.contained", - "short": "Contained, inline Resources", - "definition": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.", - "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.", - "alias": ["inline resources", "anonymous resources", "contained resources"], - "min": 0, - "max": "*", - "base": { - "path": "DomainResource.contained", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Resource" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "N/A" - } - ] - }, - { - "id": "Patient.extension", - "path": "Patient.extension", - "short": "Additional content defined by implementations", - "definition": "May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", - "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", - "alias": ["extensions", "user content"], - "min": 0, - "max": "*", - "base": { - "path": "DomainResource.extension", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Extension" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key": "ext-1", - "severity": "error", - "human": "Must have either extensions or value[x], not both", - "expression": "extension.exists() != value.exists()", - "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source": "http://hl7.org/fhir/StructureDefinition/Extension" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "N/A" - } - ] - }, - { - "id": "Patient.modifierExtension", - "path": "Patient.modifierExtension", - "short": "Extensions that cannot be ignored", - "definition": "May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", - "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", - "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).", - "alias": ["extensions", "user content"], - "min": 0, - "max": "*", - "base": { - "path": "DomainResource.modifierExtension", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Extension" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key": "ext-1", - "severity": "error", - "human": "Must have either extensions or value[x], not both", - "expression": "extension.exists() != value.exists()", - "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source": "http://hl7.org/fhir/StructureDefinition/Extension" - } - ], - "isModifier": true, - "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them", - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "N/A" - } - ] - }, - { - "id": "Patient.identifier", - "path": "Patient.identifier", - "short": "An identifier for this patient", - "definition": "An identifier for this patient.", - "requirements": "Patients are almost always assigned specific numerical identifiers.", - "min": 0, - "max": "*", - "base": { - "path": "Patient.identifier", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Identifier" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "w5", - "map": "FiveWs.identifier" - }, - { - "identity": "v2", - "map": "PID-3" - }, - { - "identity": "rim", - "map": "id" - }, - { - "identity": "cda", - "map": ".id" - } - ] - }, - { - "id": "Patient.active", - "path": "Patient.active", - "short": "Whether this patient's record is in active use", - "definition": "Whether this patient record is in active use. \nMany systems use this property to mark as non-current patients, such as those that have not been seen for a period of time based on an organization's business rules.\n\nIt is often used to filter patient lists to exclude inactive patients\n\nDeceased patients may also be marked as inactive for the same reasons, but may be active for some time after death.", - "comment": "If a record is inactive, and linked to an active record, then future patient/record updates should occur on the other patient.", - "requirements": "Need to be able to mark a patient record as not to be used because it was created in error.", - "min": 0, - "max": "1", - "base": { - "path": "Patient.active", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "boolean" - } - ], - "meaningWhenMissing": "This resource is generally assumed to be active if no value is provided for the active element", - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": true, - "isModifierReason": "This element is labelled as a modifier because it is a status element that can indicate that a record should not be treated as valid", - "isSummary": true, - "mapping": [ - { - "identity": "w5", - "map": "FiveWs.status" - }, - { - "identity": "rim", - "map": "statusCode" - }, - { - "identity": "cda", - "map": "n/a" - } - ] - }, - { - "id": "Patient.name", - "path": "Patient.name", - "short": "A name associated with the patient", - "definition": "A name associated with the individual.", - "comment": "A patient may have multiple names with different uses or applicable periods. For animals, the name is a \"HumanName\" in the sense that is assigned and used by humans and has the same patterns.", - "requirements": "Need to be able to track the patient by multiple names. Examples are your official name and a partner name.", - "min": 0, - "max": "*", - "base": { - "path": "Patient.name", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "HumanName" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "v2", - "map": "PID-5, PID-9" - }, - { - "identity": "rim", - "map": "name" - }, - { - "identity": "cda", - "map": ".patient.name" - } - ] - }, - { - "id": "Patient.telecom", - "path": "Patient.telecom", - "short": "A contact detail for the individual", - "definition": "A contact detail (e.g. a telephone number or an email address) by which the individual may be contacted.", - "comment": "A Patient may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently and also to help with identification. The address might not go directly to the individual, but may reach another party that is able to proxy for the patient (i.e. home phone, or pet owner's phone).", - "requirements": "People have (primary) ways to contact them in some way such as phone, email.", - "min": 0, - "max": "*", - "base": { - "path": "Patient.telecom", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "ContactPoint" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "v2", - "map": "PID-13, PID-14, PID-40" - }, - { - "identity": "rim", - "map": "telecom" - }, - { - "identity": "cda", - "map": ".telecom" - } - ] - }, - { - "id": "Patient.gender", - "path": "Patient.gender", - "short": "male | female | other | unknown", - "definition": "Administrative Gender - the gender that the patient is considered to have for administration and record keeping purposes.", - "comment": "The gender might not match the biological sex as determined by genetics or the individual's preferred identification. Note that for both humans and particularly animals, there are other legitimate possibilities than male and female, though the vast majority of systems and contexts only support male and female. Systems providing decision support or enforcing business rules should ideally do this on the basis of Observations dealing with the specific sex or gender aspect of interest (anatomical, chromosomal, social, etc.) However, because these observations are infrequently recorded, defaulting to the administrative gender is common practice. Where such defaulting occurs, rule enforcement should allow for the variation between administrative and biological, chromosomal and other gender aspects. For example, an alert about a hysterectomy on a male should be handled as a warning or overridable error, not a \"hard\" error. See the Patient Gender and Sex section for additional information about communicating patient gender and sex.", - "requirements": "Needed for identification of the individual, in combination with (at least) name and birth date.", - "min": 0, - "max": "1", - "base": { - "path": "Patient.gender", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "code" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "AdministrativeGender" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding", - "valueBoolean": true - } - ], - "strength": "required", - "description": "The gender of a person used for administrative purposes.", - "valueSet": "http://hl7.org/fhir/ValueSet/administrative-gender|4.0.1" - }, - "mapping": [ - { - "identity": "v2", - "map": "PID-8" - }, - { - "identity": "rim", - "map": "player[classCode=PSN|ANM and determinerCode=INSTANCE]/administrativeGender" - }, - { - "identity": "cda", - "map": ".patient.administrativeGenderCode" - } - ] - }, - { - "id": "Patient.birthDate", - "path": "Patient.birthDate", - "short": "The date of birth for the individual", - "definition": "The date of birth for the individual.", - "comment": "At least an estimated year should be provided as a guess if the real DOB is unknown There is a standard extension \"patient-birthTime\" available that should be used where Time is required (such as in maternity/infant care systems).", - "requirements": "Age of the individual drives many clinical processes.", - "min": 0, - "max": "1", - "base": { - "path": "Patient.birthDate", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "date" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "v2", - "map": "PID-7" - }, - { - "identity": "rim", - "map": "player[classCode=PSN|ANM and determinerCode=INSTANCE]/birthTime" - }, - { - "identity": "cda", - "map": ".patient.birthTime" - }, - { - "identity": "loinc", - "map": "21112-8" - } - ] - }, - { - "id": "Patient.deceased[x]", - "path": "Patient.deceased[x]", - "short": "Indicates if the individual is deceased or not", - "definition": "Indicates if the individual is deceased or not.", - "comment": "If there's no value in the instance, it means there is no statement on whether or not the individual is deceased. Most systems will interpret the absence of a value as a sign of the person being alive.", - "requirements": "The fact that a patient is deceased influences the clinical process. Also, in human communication and relation management it is necessary to know whether the person is alive.", - "min": 0, - "max": "1", - "base": { - "path": "Patient.deceased[x]", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "boolean" - }, - { - "code": "dateTime" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": true, - "isModifierReason": "This element is labeled as a modifier because once a patient is marked as deceased, the actions that are appropriate to perform on the patient may be significantly different.", - "isSummary": true, - "mapping": [ - { - "identity": "v2", - "map": "PID-30 (bool) and PID-29 (datetime)" - }, - { - "identity": "rim", - "map": "player[classCode=PSN|ANM and determinerCode=INSTANCE]/deceasedInd, player[classCode=PSN|ANM and determinerCode=INSTANCE]/deceasedTime" - }, - { - "identity": "cda", - "map": "n/a" - } - ] - }, - { - "id": "Patient.address", - "path": "Patient.address", - "short": "An address for the individual", - "definition": "An address for the individual.", - "comment": "Patient may have multiple addresses with different uses or applicable periods.", - "requirements": "May need to keep track of patient addresses for contacting, billing or reporting requirements and also to help with identification.", - "min": 0, - "max": "*", - "base": { - "path": "Patient.address", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Address" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "v2", - "map": "PID-11" - }, - { - "identity": "rim", - "map": "addr" - }, - { - "identity": "cda", - "map": ".addr" - } - ] - }, - { - "id": "Patient.maritalStatus", - "path": "Patient.maritalStatus", - "short": "Marital (civil) status of a patient", - "definition": "This field contains a patient's most recent marital (civil) status.", - "requirements": "Most, if not all systems capture it.", - "min": 0, - "max": "1", - "base": { - "path": "Patient.maritalStatus", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "CodeableConcept" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "MaritalStatus" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding", - "valueBoolean": true - } - ], - "strength": "extensible", - "description": "The domestic partnership status of a person.", - "valueSet": "http://hl7.org/fhir/ValueSet/marital-status" - }, - "mapping": [ - { - "identity": "v2", - "map": "PID-16" - }, - { - "identity": "rim", - "map": "player[classCode=PSN]/maritalStatusCode" - }, - { - "identity": "cda", - "map": ".patient.maritalStatusCode" - } - ] - }, - { - "id": "Patient.multipleBirth[x]", - "path": "Patient.multipleBirth[x]", - "short": "Whether patient is part of a multiple birth", - "definition": "Indicates whether the patient is part of a multiple (boolean) or indicates the actual birth order (integer).", - "comment": "Where the valueInteger is provided, the number is the birth number in the sequence. E.g. The middle birth in triplets would be valueInteger=2 and the third born would have valueInteger=3 If a boolean value was provided for this triplets example, then all 3 patient records would have valueBoolean=true (the ordering is not indicated).", - "requirements": "For disambiguation of multiple-birth children, especially relevant where the care provider doesn't meet the patient, such as labs.", - "min": 0, - "max": "1", - "base": { - "path": "Patient.multipleBirth[x]", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "boolean" - }, - { - "code": "integer" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "v2", - "map": "PID-24 (bool), PID-25 (integer)" - }, - { - "identity": "rim", - "map": "player[classCode=PSN|ANM and determinerCode=INSTANCE]/multipleBirthInd, player[classCode=PSN|ANM and determinerCode=INSTANCE]/multipleBirthOrderNumber" - }, - { - "identity": "cda", - "map": "n/a" - } - ] - }, - { - "id": "Patient.photo", - "path": "Patient.photo", - "short": "Image of the patient", - "definition": "Image of the patient.", - "comment": "Guidelines:\n* Use id photos, not clinical photos.\n* Limit dimensions to thumbnail.\n* Keep byte count low to ease resource updates.", - "requirements": "Many EHR systems have the capability to capture an image of the patient. Fits with newer social media usage too.", - "min": 0, - "max": "*", - "base": { - "path": "Patient.photo", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Attachment" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "v2", - "map": "OBX-5 - needs a profile" - }, - { - "identity": "rim", - "map": "player[classCode=PSN|ANM and determinerCode=INSTANCE]/desc" - }, - { - "identity": "cda", - "map": "n/a" - } - ] - }, - { - "id": "Patient.contact", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name", - "valueString": "Contact" - } - ], - "path": "Patient.contact", - "short": "A contact party (e.g. guardian, partner, friend) for the patient", - "definition": "A contact party (e.g. guardian, partner, friend) for the patient.", - "comment": "Contact covers all kinds of contact parties: family members, business contacts, guardians, caregivers. Not applicable to register pedigree and family ties beyond use of having contact.", - "requirements": "Need to track people you can contact about the patient.", - "min": 0, - "max": "*", - "base": { - "path": "Patient.contact", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "BackboneElement" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key": "pat-1", - "severity": "error", - "human": "SHALL at least contain a contact's details or a reference to an organization", - "expression": "name.exists() or telecom.exists() or address.exists() or organization.exists()", - "xpath": "exists(f:name) or exists(f:telecom) or exists(f:address) or exists(f:organization)" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "player[classCode=PSN|ANM and determinerCode=INSTANCE]/scopedRole[classCode=CON]" - }, - { - "identity": "cda", - "map": "n/a" - } - ] - }, - { - "id": "Patient.contact.id", - "path": "Patient.contact.id", - "representation": ["xmlAttr"], - "short": "Unique id for inter-element referencing", - "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", - "min": 0, - "max": "1", - "base": { - "path": "Element.id", - "min": 0, - "max": "1" - }, - "type": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", - "valueUrl": "string" - } - ], - "code": "http://hl7.org/fhirpath/System.String" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "n/a" - } - ] - }, - { - "id": "Patient.contact.extension", - "path": "Patient.contact.extension", - "short": "Additional content defined by implementations", - "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", - "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", - "alias": ["extensions", "user content"], - "min": 0, - "max": "*", - "base": { - "path": "Element.extension", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Extension" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key": "ext-1", - "severity": "error", - "human": "Must have either extensions or value[x], not both", - "expression": "extension.exists() != value.exists()", - "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source": "http://hl7.org/fhir/StructureDefinition/Extension" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "n/a" - } - ] - }, - { - "id": "Patient.contact.modifierExtension", - "path": "Patient.contact.modifierExtension", - "short": "Extensions that cannot be ignored even if unrecognized", - "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", - "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", - "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).", - "alias": ["extensions", "user content", "modifiers"], - "min": 0, - "max": "*", - "base": { - "path": "BackboneElement.modifierExtension", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Extension" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key": "ext-1", - "severity": "error", - "human": "Must have either extensions or value[x], not both", - "expression": "extension.exists() != value.exists()", - "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source": "http://hl7.org/fhir/StructureDefinition/Extension" - } - ], - "isModifier": true, - "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them", - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": "N/A" - } - ] - }, - { - "id": "Patient.contact.relationship", - "path": "Patient.contact.relationship", - "short": "The kind of relationship", - "definition": "The nature of the relationship between the patient and the contact person.", - "requirements": "Used to determine which contact person is the most relevant to approach, depending on circumstances.", - "min": 0, - "max": "*", - "base": { - "path": "Patient.contact.relationship", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "CodeableConcept" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "ContactRelationship" - } - ], - "strength": "extensible", - "description": "The nature of the relationship between a patient and a contact person for that patient.", - "valueSet": "http://hl7.org/fhir/ValueSet/patient-contactrelationship" - }, - "mapping": [ - { - "identity": "v2", - "map": "NK1-7, NK1-3" - }, - { - "identity": "rim", - "map": "code" - }, - { - "identity": "cda", - "map": "n/a" - } - ] - }, - { - "id": "Patient.contact.name", - "path": "Patient.contact.name", - "short": "A name associated with the contact person", - "definition": "A name associated with the contact person.", - "requirements": "Contact persons need to be identified by name, but it is uncommon to need details about multiple other names for that contact person.", - "min": 0, - "max": "1", - "base": { - "path": "Patient.contact.name", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "HumanName" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "v2", - "map": "NK1-2" - }, - { - "identity": "rim", - "map": "name" - }, - { - "identity": "cda", - "map": "n/a" - } - ] - }, - { - "id": "Patient.contact.telecom", - "path": "Patient.contact.telecom", - "short": "A contact detail for the person", - "definition": "A contact detail for the person, e.g. a telephone number or an email address.", - "comment": "Contact may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently, and also to help with identification.", - "requirements": "People have (primary) ways to contact them in some way such as phone, email.", - "min": 0, - "max": "*", - "base": { - "path": "Patient.contact.telecom", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "ContactPoint" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "v2", - "map": "NK1-5, NK1-6, NK1-40" - }, - { - "identity": "rim", - "map": "telecom" - }, - { - "identity": "cda", - "map": "n/a" - } - ] - }, - { - "id": "Patient.contact.address", - "path": "Patient.contact.address", - "short": "Address for the contact person", - "definition": "Address for the contact person.", - "requirements": "Need to keep track where the contact person can be contacted per postal mail or visited.", - "min": 0, - "max": "1", - "base": { - "path": "Patient.contact.address", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "Address" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "v2", - "map": "NK1-4" - }, - { - "identity": "rim", - "map": "addr" - }, - { - "identity": "cda", - "map": "n/a" - } - ] - }, - { - "id": "Patient.contact.gender", - "path": "Patient.contact.gender", - "short": "male | female | other | unknown", - "definition": "Administrative Gender - the gender that the contact person is considered to have for administration and record keeping purposes.", - "requirements": "Needed to address the person correctly.", - "min": 0, - "max": "1", - "base": { - "path": "Patient.contact.gender", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "code" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "AdministrativeGender" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding", - "valueBoolean": true - } - ], - "strength": "required", - "description": "The gender of a person used for administrative purposes.", - "valueSet": "http://hl7.org/fhir/ValueSet/administrative-gender|4.0.1" - }, - "mapping": [ - { - "identity": "v2", - "map": "NK1-15" - }, - { - "identity": "rim", - "map": "player[classCode=PSN|ANM and determinerCode=INSTANCE]/administrativeGender" - }, - { - "identity": "cda", - "map": "n/a" - } - ] - }, - { - "id": "Patient.contact.organization", - "path": "Patient.contact.organization", - "short": "Organization that is associated with the contact", - "definition": "Organization on behalf of which the contact is acting or for which the contact is working.", - "requirements": "For guardians or business related contacts, the organization is relevant.", - "min": 0, - "max": "1", - "base": { - "path": "Patient.contact.organization", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "Reference", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/Organization"] - } - ], - "condition": ["pat-1"], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "v2", - "map": "NK1-13, NK1-30, NK1-31, NK1-32, NK1-41" - }, - { - "identity": "rim", - "map": "scoper" - }, - { - "identity": "cda", - "map": "n/a" - } - ] - }, - { - "id": "Patient.contact.period", - "path": "Patient.contact.period", - "short": "The period during which this contact person or organization is valid to be contacted relating to this patient", - "definition": "The period during which this contact person or organization is valid to be contacted relating to this patient.", - "min": 0, - "max": "1", - "base": { - "path": "Patient.contact.period", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "Period" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "effectiveTime" - }, - { - "identity": "cda", - "map": "n/a" - } - ] - }, - { - "id": "Patient.communication", - "path": "Patient.communication", - "short": "A language which may be used to communicate with the patient about his or her health", - "definition": "A language which may be used to communicate with the patient about his or her health.", - "comment": "If no language is specified, this *implies* that the default local language is spoken. If you need to convey proficiency for multiple modes, then you need multiple Patient.Communication associations. For animals, language is not a relevant field, and should be absent from the instance. If the Patient does not speak the default local language, then the Interpreter Required Standard can be used to explicitly declare that an interpreter is required.", - "requirements": "If a patient does not speak the local language, interpreters may be required, so languages spoken and proficiency are important things to keep track of both for patient and other persons of interest.", - "min": 0, - "max": "*", - "base": { - "path": "Patient.communication", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "BackboneElement" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "LanguageCommunication" - }, - { - "identity": "cda", - "map": "patient.languageCommunication" - } - ] - }, - { - "id": "Patient.communication.id", - "path": "Patient.communication.id", - "representation": ["xmlAttr"], - "short": "Unique id for inter-element referencing", - "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", - "min": 0, - "max": "1", - "base": { - "path": "Element.id", - "min": 0, - "max": "1" - }, - "type": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", - "valueUrl": "string" - } - ], - "code": "http://hl7.org/fhirpath/System.String" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "n/a" - } - ] - }, - { - "id": "Patient.communication.extension", - "path": "Patient.communication.extension", - "short": "Additional content defined by implementations", - "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", - "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", - "alias": ["extensions", "user content"], - "min": 0, - "max": "*", - "base": { - "path": "Element.extension", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Extension" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key": "ext-1", - "severity": "error", - "human": "Must have either extensions or value[x], not both", - "expression": "extension.exists() != value.exists()", - "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source": "http://hl7.org/fhir/StructureDefinition/Extension" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "n/a" - } - ] - }, - { - "id": "Patient.communication.modifierExtension", - "path": "Patient.communication.modifierExtension", - "short": "Extensions that cannot be ignored even if unrecognized", - "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", - "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", - "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).", - "alias": ["extensions", "user content", "modifiers"], - "min": 0, - "max": "*", - "base": { - "path": "BackboneElement.modifierExtension", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Extension" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key": "ext-1", - "severity": "error", - "human": "Must have either extensions or value[x], not both", - "expression": "extension.exists() != value.exists()", - "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source": "http://hl7.org/fhir/StructureDefinition/Extension" - } - ], - "isModifier": true, - "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them", - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": "N/A" - } - ] - }, - { - "id": "Patient.communication.language", - "path": "Patient.communication.language", - "short": "The language which can be used to communicate with the patient about his or her health", - "definition": "The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. \"en\" for English, or \"en-US\" for American English versus \"en-EN\" for England English.", - "comment": "The structure aa-BB with this exact casing is one the most widely used notations for locale. However not all systems actually code this but instead have it as free text. Hence CodeableConcept instead of code as the data type.", - "requirements": "Most systems in multilingual countries will want to convey language. Not all systems actually need the regional dialect.", - "min": 1, - "max": "1", - "base": { - "path": "Patient.communication.language", - "min": 1, - "max": "1" - }, - "type": [ - { - "code": "CodeableConcept" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet", - "valueCanonical": "http://hl7.org/fhir/ValueSet/all-languages" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "Language" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding", - "valueBoolean": true - } - ], - "strength": "preferred", - "description": "A human language.", - "valueSet": "http://hl7.org/fhir/ValueSet/languages" - }, - "mapping": [ - { - "identity": "v2", - "map": "PID-15, LAN-2" - }, - { - "identity": "rim", - "map": "player[classCode=PSN|ANM and determinerCode=INSTANCE]/languageCommunication/code" - }, - { - "identity": "cda", - "map": ".languageCode" - } - ] - }, - { - "id": "Patient.communication.preferred", - "path": "Patient.communication.preferred", - "short": "Language preference indicator", - "definition": "Indicates whether or not the patient prefers this language (over other languages he masters up a certain level).", - "comment": "This language is specifically identified for communicating healthcare information.", - "requirements": "People that master multiple languages up to certain level may prefer one or more, i.e. feel more confident in communicating in a particular language making other languages sort of a fall back method.", - "min": 0, - "max": "1", - "base": { - "path": "Patient.communication.preferred", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "boolean" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "v2", - "map": "PID-15" - }, - { - "identity": "rim", - "map": "preferenceInd" - }, - { - "identity": "cda", - "map": ".preferenceInd" - } - ] - }, - { - "id": "Patient.generalPractitioner", - "path": "Patient.generalPractitioner", - "short": "Patient's nominated primary care provider", - "definition": "Patient's nominated care provider.", - "comment": "This may be the primary care provider (in a GP context), or it may be a patient nominated care manager in a community/disability setting, or even organization that will provide people to perform the care provider roles. It is not to be used to record Care Teams, these should be in a CareTeam resource that may be linked to the CarePlan or EpisodeOfCare resources.\nMultiple GPs may be recorded against the patient for various reasons, such as a student that has his home GP listed along with the GP at university during the school semesters, or a \"fly-in/fly-out\" worker that has the onsite GP also included with his home GP to remain aware of medical issues.\n\nJurisdictions may decide that they can profile this down to 1 if desired, or 1 per type.", - "alias": ["careProvider"], - "min": 0, - "max": "*", - "base": { - "path": "Patient.generalPractitioner", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Reference", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/Organization", - "http://hl7.org/fhir/StructureDefinition/Practitioner", - "http://hl7.org/fhir/StructureDefinition/PractitionerRole" - ] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "v2", - "map": "PD1-4" - }, - { - "identity": "rim", - "map": "subjectOf.CareEvent.performer.AssignedEntity" - }, - { - "identity": "cda", - "map": "n/a" - } - ] - }, - { - "id": "Patient.managingOrganization", - "path": "Patient.managingOrganization", - "short": "Organization that is the custodian of the patient record", - "definition": "Organization that is the custodian of the patient record.", - "comment": "There is only one managing organization for a specific patient record. Other organizations will have their own Patient record, and may use the Link property to join the records together (or a Person resource which can include confidence ratings for the association).", - "requirements": "Need to know who recognizes this patient record, manages and updates it.", - "min": 0, - "max": "1", - "base": { - "path": "Patient.managingOrganization", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "Reference", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/Organization"] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": "scoper" - }, - { - "identity": "cda", - "map": ".providerOrganization" - } - ] - }, - { - "id": "Patient.link", - "path": "Patient.link", - "short": "Link to another patient resource that concerns the same actual person", - "definition": "Link to another patient resource that concerns the same actual patient.", - "comment": "There is no assumption that linked patient records have mutual links.", - "requirements": "There are multiple use cases: \n\n* Duplicate patient records due to the clerical errors associated with the difficulties of identifying humans consistently, and \n* Distribution of patient information across multiple servers.", - "min": 0, - "max": "*", - "base": { - "path": "Patient.link", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "BackboneElement" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": true, - "isModifierReason": "This element is labeled as a modifier because it might not be the main Patient resource, and the referenced patient should be used instead of this Patient record. This is when the link.type value is 'replaced-by'", - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": "outboundLink" - }, - { - "identity": "cda", - "map": "n/a" - } - ] - }, - { - "id": "Patient.link.id", - "path": "Patient.link.id", - "representation": ["xmlAttr"], - "short": "Unique id for inter-element referencing", - "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", - "min": 0, - "max": "1", - "base": { - "path": "Element.id", - "min": 0, - "max": "1" - }, - "type": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", - "valueUrl": "string" - } - ], - "code": "http://hl7.org/fhirpath/System.String" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "n/a" - } - ] - }, - { - "id": "Patient.link.extension", - "path": "Patient.link.extension", - "short": "Additional content defined by implementations", - "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", - "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", - "alias": ["extensions", "user content"], - "min": 0, - "max": "*", - "base": { - "path": "Element.extension", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Extension" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key": "ext-1", - "severity": "error", - "human": "Must have either extensions or value[x], not both", - "expression": "extension.exists() != value.exists()", - "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source": "http://hl7.org/fhir/StructureDefinition/Extension" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "n/a" - } - ] - }, - { - "id": "Patient.link.modifierExtension", - "path": "Patient.link.modifierExtension", - "short": "Extensions that cannot be ignored even if unrecognized", - "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", - "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", - "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).", - "alias": ["extensions", "user content", "modifiers"], - "min": 0, - "max": "*", - "base": { - "path": "BackboneElement.modifierExtension", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Extension" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key": "ext-1", - "severity": "error", - "human": "Must have either extensions or value[x], not both", - "expression": "extension.exists() != value.exists()", - "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source": "http://hl7.org/fhir/StructureDefinition/Extension" - } - ], - "isModifier": true, - "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them", - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": "N/A" - } - ] - }, - { - "id": "Patient.link.other", - "path": "Patient.link.other", - "short": "The other patient or related person resource that the link refers to", - "definition": "The other patient resource that the link refers to.", - "comment": "Referencing a RelatedPerson here removes the need to use a Person record to associate a Patient and RelatedPerson as the same individual.", - "min": 1, - "max": "1", - "base": { - "path": "Patient.link.other", - "min": 1, - "max": "1" - }, - "type": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-hierarchy", - "valueBoolean": false - } - ], - "code": "Reference", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/Patient", - "http://hl7.org/fhir/StructureDefinition/RelatedPerson" - ] - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "v2", - "map": "PID-3, MRG-1" - }, - { - "identity": "rim", - "map": "id" - }, - { - "identity": "cda", - "map": "n/a" - } - ] - }, - { - "id": "Patient.link.type", - "path": "Patient.link.type", - "short": "replaced-by | replaces | refer | seealso", - "definition": "The type of link between this patient resource and another patient resource.", - "min": 1, - "max": "1", - "base": { - "path": "Patient.link.type", - "min": 1, - "max": "1" - }, - "type": [ - { - "code": "code" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "LinkType" - } - ], - "strength": "required", - "description": "The type of link between this patient resource and another patient resource.", - "valueSet": "http://hl7.org/fhir/ValueSet/link-type|4.0.1" - }, - "mapping": [ - { - "identity": "rim", - "map": "typeCode" - }, - { - "identity": "cda", - "map": "n/a" - } - ] - } - ] - }, - "differential": { - "element": [ - { - "id": "Patient", - "path": "Patient", - "short": "Information about an individual or animal receiving health care services", - "definition": "Demographics and other administrative information about an individual or animal receiving care or other health-related services.", - "alias": ["SubjectOfCare Client Resident"], - "min": 0, - "max": "*", - "mapping": [ - { - "identity": "rim", - "map": "Patient[classCode=PAT]" - }, - { - "identity": "cda", - "map": "ClinicalDocument.recordTarget.patientRole" - } - ] - }, - { - "id": "Patient.identifier", - "path": "Patient.identifier", - "short": "An identifier for this patient", - "definition": "An identifier for this patient.", - "requirements": "Patients are almost always assigned specific numerical identifiers.", - "min": 0, - "max": "*", - "type": [ - { - "code": "Identifier" - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "w5", - "map": "FiveWs.identifier" - }, - { - "identity": "v2", - "map": "PID-3" - }, - { - "identity": "rim", - "map": "id" - }, - { - "identity": "cda", - "map": ".id" - } - ] - }, - { - "id": "Patient.active", - "path": "Patient.active", - "short": "Whether this patient's record is in active use", - "definition": "Whether this patient record is in active use. \nMany systems use this property to mark as non-current patients, such as those that have not been seen for a period of time based on an organization's business rules.\n\nIt is often used to filter patient lists to exclude inactive patients\n\nDeceased patients may also be marked as inactive for the same reasons, but may be active for some time after death.", - "comment": "If a record is inactive, and linked to an active record, then future patient/record updates should occur on the other patient.", - "requirements": "Need to be able to mark a patient record as not to be used because it was created in error.", - "min": 0, - "max": "1", - "type": [ - { - "code": "boolean" - } - ], - "meaningWhenMissing": "This resource is generally assumed to be active if no value is provided for the active element", - "isModifier": true, - "isModifierReason": "This element is labelled as a modifier because it is a status element that can indicate that a record should not be treated as valid", - "isSummary": true, - "mapping": [ - { - "identity": "w5", - "map": "FiveWs.status" - }, - { - "identity": "rim", - "map": "statusCode" - }, - { - "identity": "cda", - "map": "n/a" - } - ] - }, - { - "id": "Patient.name", - "path": "Patient.name", - "short": "A name associated with the patient", - "definition": "A name associated with the individual.", - "comment": "A patient may have multiple names with different uses or applicable periods. For animals, the name is a \"HumanName\" in the sense that is assigned and used by humans and has the same patterns.", - "requirements": "Need to be able to track the patient by multiple names. Examples are your official name and a partner name.", - "min": 0, - "max": "*", - "type": [ - { - "code": "HumanName" - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "v2", - "map": "PID-5, PID-9" - }, - { - "identity": "rim", - "map": "name" - }, - { - "identity": "cda", - "map": ".patient.name" - } - ] - }, - { - "id": "Patient.telecom", - "path": "Patient.telecom", - "short": "A contact detail for the individual", - "definition": "A contact detail (e.g. a telephone number or an email address) by which the individual may be contacted.", - "comment": "A Patient may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently and also to help with identification. The address might not go directly to the individual, but may reach another party that is able to proxy for the patient (i.e. home phone, or pet owner's phone).", - "requirements": "People have (primary) ways to contact them in some way such as phone, email.", - "min": 0, - "max": "*", - "type": [ - { - "code": "ContactPoint" - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "v2", - "map": "PID-13, PID-14, PID-40" - }, - { - "identity": "rim", - "map": "telecom" - }, - { - "identity": "cda", - "map": ".telecom" - } - ] - }, - { - "id": "Patient.gender", - "path": "Patient.gender", - "short": "male | female | other | unknown", - "definition": "Administrative Gender - the gender that the patient is considered to have for administration and record keeping purposes.", - "comment": "The gender might not match the biological sex as determined by genetics or the individual's preferred identification. Note that for both humans and particularly animals, there are other legitimate possibilities than male and female, though the vast majority of systems and contexts only support male and female. Systems providing decision support or enforcing business rules should ideally do this on the basis of Observations dealing with the specific sex or gender aspect of interest (anatomical, chromosomal, social, etc.) However, because these observations are infrequently recorded, defaulting to the administrative gender is common practice. Where such defaulting occurs, rule enforcement should allow for the variation between administrative and biological, chromosomal and other gender aspects. For example, an alert about a hysterectomy on a male should be handled as a warning or overridable error, not a \"hard\" error. See the Patient Gender and Sex section for additional information about communicating patient gender and sex.", - "requirements": "Needed for identification of the individual, in combination with (at least) name and birth date.", - "min": 0, - "max": "1", - "type": [ - { - "code": "code" - } - ], - "isSummary": true, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "AdministrativeGender" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding", - "valueBoolean": true - } - ], - "strength": "required", - "description": "The gender of a person used for administrative purposes.", - "valueSet": "http://hl7.org/fhir/ValueSet/administrative-gender|4.0.1" - }, - "mapping": [ - { - "identity": "v2", - "map": "PID-8" - }, - { - "identity": "rim", - "map": "player[classCode=PSN|ANM and determinerCode=INSTANCE]/administrativeGender" - }, - { - "identity": "cda", - "map": ".patient.administrativeGenderCode" - } - ] - }, - { - "id": "Patient.birthDate", - "path": "Patient.birthDate", - "short": "The date of birth for the individual", - "definition": "The date of birth for the individual.", - "comment": "At least an estimated year should be provided as a guess if the real DOB is unknown There is a standard extension \"patient-birthTime\" available that should be used where Time is required (such as in maternity/infant care systems).", - "requirements": "Age of the individual drives many clinical processes.", - "min": 0, - "max": "1", - "type": [ - { - "code": "date" - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "v2", - "map": "PID-7" - }, - { - "identity": "rim", - "map": "player[classCode=PSN|ANM and determinerCode=INSTANCE]/birthTime" - }, - { - "identity": "cda", - "map": ".patient.birthTime" - }, - { - "identity": "loinc", - "map": "21112-8" - } - ] - }, - { - "id": "Patient.deceased[x]", - "path": "Patient.deceased[x]", - "short": "Indicates if the individual is deceased or not", - "definition": "Indicates if the individual is deceased or not.", - "comment": "If there's no value in the instance, it means there is no statement on whether or not the individual is deceased. Most systems will interpret the absence of a value as a sign of the person being alive.", - "requirements": "The fact that a patient is deceased influences the clinical process. Also, in human communication and relation management it is necessary to know whether the person is alive.", - "min": 0, - "max": "1", - "type": [ - { - "code": "boolean" - }, - { - "code": "dateTime" - } - ], - "isModifier": true, - "isModifierReason": "This element is labeled as a modifier because once a patient is marked as deceased, the actions that are appropriate to perform on the patient may be significantly different.", - "isSummary": true, - "mapping": [ - { - "identity": "v2", - "map": "PID-30 (bool) and PID-29 (datetime)" - }, - { - "identity": "rim", - "map": "player[classCode=PSN|ANM and determinerCode=INSTANCE]/deceasedInd, player[classCode=PSN|ANM and determinerCode=INSTANCE]/deceasedTime" - }, - { - "identity": "cda", - "map": "n/a" - } - ] - }, - { - "id": "Patient.address", - "path": "Patient.address", - "short": "An address for the individual", - "definition": "An address for the individual.", - "comment": "Patient may have multiple addresses with different uses or applicable periods.", - "requirements": "May need to keep track of patient addresses for contacting, billing or reporting requirements and also to help with identification.", - "min": 0, - "max": "*", - "type": [ - { - "code": "Address" - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "v2", - "map": "PID-11" - }, - { - "identity": "rim", - "map": "addr" - }, - { - "identity": "cda", - "map": ".addr" - } - ] - }, - { - "id": "Patient.maritalStatus", - "path": "Patient.maritalStatus", - "short": "Marital (civil) status of a patient", - "definition": "This field contains a patient's most recent marital (civil) status.", - "requirements": "Most, if not all systems capture it.", - "min": 0, - "max": "1", - "type": [ - { - "code": "CodeableConcept" - } - ], - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "MaritalStatus" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding", - "valueBoolean": true - } - ], - "strength": "extensible", - "description": "The domestic partnership status of a person.", - "valueSet": "http://hl7.org/fhir/ValueSet/marital-status" - }, - "mapping": [ - { - "identity": "v2", - "map": "PID-16" - }, - { - "identity": "rim", - "map": "player[classCode=PSN]/maritalStatusCode" - }, - { - "identity": "cda", - "map": ".patient.maritalStatusCode" - } - ] - }, - { - "id": "Patient.multipleBirth[x]", - "path": "Patient.multipleBirth[x]", - "short": "Whether patient is part of a multiple birth", - "definition": "Indicates whether the patient is part of a multiple (boolean) or indicates the actual birth order (integer).", - "comment": "Where the valueInteger is provided, the number is the birth number in the sequence. E.g. The middle birth in triplets would be valueInteger=2 and the third born would have valueInteger=3 If a boolean value was provided for this triplets example, then all 3 patient records would have valueBoolean=true (the ordering is not indicated).", - "requirements": "For disambiguation of multiple-birth children, especially relevant where the care provider doesn't meet the patient, such as labs.", - "min": 0, - "max": "1", - "type": [ - { - "code": "boolean" - }, - { - "code": "integer" - } - ], - "mapping": [ - { - "identity": "v2", - "map": "PID-24 (bool), PID-25 (integer)" - }, - { - "identity": "rim", - "map": "player[classCode=PSN|ANM and determinerCode=INSTANCE]/multipleBirthInd, player[classCode=PSN|ANM and determinerCode=INSTANCE]/multipleBirthOrderNumber" - }, - { - "identity": "cda", - "map": "n/a" - } - ] - }, - { - "id": "Patient.photo", - "path": "Patient.photo", - "short": "Image of the patient", - "definition": "Image of the patient.", - "comment": "Guidelines:\n* Use id photos, not clinical photos.\n* Limit dimensions to thumbnail.\n* Keep byte count low to ease resource updates.", - "requirements": "Many EHR systems have the capability to capture an image of the patient. Fits with newer social media usage too.", - "min": 0, - "max": "*", - "type": [ - { - "code": "Attachment" - } - ], - "mapping": [ - { - "identity": "v2", - "map": "OBX-5 - needs a profile" - }, - { - "identity": "rim", - "map": "player[classCode=PSN|ANM and determinerCode=INSTANCE]/desc" - }, - { - "identity": "cda", - "map": "n/a" - } - ] - }, - { - "id": "Patient.contact", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name", - "valueString": "Contact" - } - ], - "path": "Patient.contact", - "short": "A contact party (e.g. guardian, partner, friend) for the patient", - "definition": "A contact party (e.g. guardian, partner, friend) for the patient.", - "comment": "Contact covers all kinds of contact parties: family members, business contacts, guardians, caregivers. Not applicable to register pedigree and family ties beyond use of having contact.", - "requirements": "Need to track people you can contact about the patient.", - "min": 0, - "max": "*", - "type": [ - { - "code": "BackboneElement" - } - ], - "constraint": [ - { - "key": "pat-1", - "severity": "error", - "human": "SHALL at least contain a contact's details or a reference to an organization", - "expression": "name.exists() or telecom.exists() or address.exists() or organization.exists()", - "xpath": "exists(f:name) or exists(f:telecom) or exists(f:address) or exists(f:organization)" - } - ], - "mapping": [ - { - "identity": "rim", - "map": "player[classCode=PSN|ANM and determinerCode=INSTANCE]/scopedRole[classCode=CON]" - }, - { - "identity": "cda", - "map": "n/a" - } - ] - }, - { - "id": "Patient.contact.relationship", - "path": "Patient.contact.relationship", - "short": "The kind of relationship", - "definition": "The nature of the relationship between the patient and the contact person.", - "requirements": "Used to determine which contact person is the most relevant to approach, depending on circumstances.", - "min": 0, - "max": "*", - "type": [ - { - "code": "CodeableConcept" - } - ], - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "ContactRelationship" - } - ], - "strength": "extensible", - "description": "The nature of the relationship between a patient and a contact person for that patient.", - "valueSet": "http://hl7.org/fhir/ValueSet/patient-contactrelationship" - }, - "mapping": [ - { - "identity": "v2", - "map": "NK1-7, NK1-3" - }, - { - "identity": "rim", - "map": "code" - }, - { - "identity": "cda", - "map": "n/a" - } - ] - }, - { - "id": "Patient.contact.name", - "path": "Patient.contact.name", - "short": "A name associated with the contact person", - "definition": "A name associated with the contact person.", - "requirements": "Contact persons need to be identified by name, but it is uncommon to need details about multiple other names for that contact person.", - "min": 0, - "max": "1", - "type": [ - { - "code": "HumanName" - } - ], - "mapping": [ - { - "identity": "v2", - "map": "NK1-2" - }, - { - "identity": "rim", - "map": "name" - }, - { - "identity": "cda", - "map": "n/a" - } - ] - }, - { - "id": "Patient.contact.telecom", - "path": "Patient.contact.telecom", - "short": "A contact detail for the person", - "definition": "A contact detail for the person, e.g. a telephone number or an email address.", - "comment": "Contact may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently, and also to help with identification.", - "requirements": "People have (primary) ways to contact them in some way such as phone, email.", - "min": 0, - "max": "*", - "type": [ - { - "code": "ContactPoint" - } - ], - "mapping": [ - { - "identity": "v2", - "map": "NK1-5, NK1-6, NK1-40" - }, - { - "identity": "rim", - "map": "telecom" - }, - { - "identity": "cda", - "map": "n/a" - } - ] - }, - { - "id": "Patient.contact.address", - "path": "Patient.contact.address", - "short": "Address for the contact person", - "definition": "Address for the contact person.", - "requirements": "Need to keep track where the contact person can be contacted per postal mail or visited.", - "min": 0, - "max": "1", - "type": [ - { - "code": "Address" - } - ], - "mapping": [ - { - "identity": "v2", - "map": "NK1-4" - }, - { - "identity": "rim", - "map": "addr" - }, - { - "identity": "cda", - "map": "n/a" - } - ] - }, - { - "id": "Patient.contact.gender", - "path": "Patient.contact.gender", - "short": "male | female | other | unknown", - "definition": "Administrative Gender - the gender that the contact person is considered to have for administration and record keeping purposes.", - "requirements": "Needed to address the person correctly.", - "min": 0, - "max": "1", - "type": [ - { - "code": "code" - } - ], - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "AdministrativeGender" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding", - "valueBoolean": true - } - ], - "strength": "required", - "description": "The gender of a person used for administrative purposes.", - "valueSet": "http://hl7.org/fhir/ValueSet/administrative-gender|4.0.1" - }, - "mapping": [ - { - "identity": "v2", - "map": "NK1-15" - }, - { - "identity": "rim", - "map": "player[classCode=PSN|ANM and determinerCode=INSTANCE]/administrativeGender" - }, - { - "identity": "cda", - "map": "n/a" - } - ] - }, - { - "id": "Patient.contact.organization", - "path": "Patient.contact.organization", - "short": "Organization that is associated with the contact", - "definition": "Organization on behalf of which the contact is acting or for which the contact is working.", - "requirements": "For guardians or business related contacts, the organization is relevant.", - "min": 0, - "max": "1", - "type": [ - { - "code": "Reference", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/Organization"] - } - ], - "condition": ["pat-1"], - "mapping": [ - { - "identity": "v2", - "map": "NK1-13, NK1-30, NK1-31, NK1-32, NK1-41" - }, - { - "identity": "rim", - "map": "scoper" - }, - { - "identity": "cda", - "map": "n/a" - } - ] - }, - { - "id": "Patient.contact.period", - "path": "Patient.contact.period", - "short": "The period during which this contact person or organization is valid to be contacted relating to this patient", - "definition": "The period during which this contact person or organization is valid to be contacted relating to this patient.", - "min": 0, - "max": "1", - "type": [ - { - "code": "Period" - } - ], - "mapping": [ - { - "identity": "rim", - "map": "effectiveTime" - }, - { - "identity": "cda", - "map": "n/a" - } - ] - }, - { - "id": "Patient.communication", - "path": "Patient.communication", - "short": "A language which may be used to communicate with the patient about his or her health", - "definition": "A language which may be used to communicate with the patient about his or her health.", - "comment": "If no language is specified, this *implies* that the default local language is spoken. If you need to convey proficiency for multiple modes, then you need multiple Patient.Communication associations. For animals, language is not a relevant field, and should be absent from the instance. If the Patient does not speak the default local language, then the Interpreter Required Standard can be used to explicitly declare that an interpreter is required.", - "requirements": "If a patient does not speak the local language, interpreters may be required, so languages spoken and proficiency are important things to keep track of both for patient and other persons of interest.", - "min": 0, - "max": "*", - "type": [ - { - "code": "BackboneElement" - } - ], - "mapping": [ - { - "identity": "rim", - "map": "LanguageCommunication" - }, - { - "identity": "cda", - "map": "patient.languageCommunication" - } - ] - }, - { - "id": "Patient.communication.language", - "path": "Patient.communication.language", - "short": "The language which can be used to communicate with the patient about his or her health", - "definition": "The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. \"en\" for English, or \"en-US\" for American English versus \"en-EN\" for England English.", - "comment": "The structure aa-BB with this exact casing is one the most widely used notations for locale. However not all systems actually code this but instead have it as free text. Hence CodeableConcept instead of code as the data type.", - "requirements": "Most systems in multilingual countries will want to convey language. Not all systems actually need the regional dialect.", - "min": 1, - "max": "1", - "type": [ - { - "code": "CodeableConcept" - } - ], - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet", - "valueCanonical": "http://hl7.org/fhir/ValueSet/all-languages" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "Language" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding", - "valueBoolean": true - } - ], - "strength": "preferred", - "description": "A human language.", - "valueSet": "http://hl7.org/fhir/ValueSet/languages" - }, - "mapping": [ - { - "identity": "v2", - "map": "PID-15, LAN-2" - }, - { - "identity": "rim", - "map": "player[classCode=PSN|ANM and determinerCode=INSTANCE]/languageCommunication/code" - }, - { - "identity": "cda", - "map": ".languageCode" - } - ] - }, - { - "id": "Patient.communication.preferred", - "path": "Patient.communication.preferred", - "short": "Language preference indicator", - "definition": "Indicates whether or not the patient prefers this language (over other languages he masters up a certain level).", - "comment": "This language is specifically identified for communicating healthcare information.", - "requirements": "People that master multiple languages up to certain level may prefer one or more, i.e. feel more confident in communicating in a particular language making other languages sort of a fall back method.", - "min": 0, - "max": "1", - "type": [ - { - "code": "boolean" - } - ], - "mapping": [ - { - "identity": "v2", - "map": "PID-15" - }, - { - "identity": "rim", - "map": "preferenceInd" - }, - { - "identity": "cda", - "map": ".preferenceInd" - } - ] - }, - { - "id": "Patient.generalPractitioner", - "path": "Patient.generalPractitioner", - "short": "Patient's nominated primary care provider", - "definition": "Patient's nominated care provider.", - "comment": "This may be the primary care provider (in a GP context), or it may be a patient nominated care manager in a community/disability setting, or even organization that will provide people to perform the care provider roles. It is not to be used to record Care Teams, these should be in a CareTeam resource that may be linked to the CarePlan or EpisodeOfCare resources.\nMultiple GPs may be recorded against the patient for various reasons, such as a student that has his home GP listed along with the GP at university during the school semesters, or a \"fly-in/fly-out\" worker that has the onsite GP also included with his home GP to remain aware of medical issues.\n\nJurisdictions may decide that they can profile this down to 1 if desired, or 1 per type.", - "alias": ["careProvider"], - "min": 0, - "max": "*", - "type": [ - { - "code": "Reference", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/Organization", - "http://hl7.org/fhir/StructureDefinition/Practitioner", - "http://hl7.org/fhir/StructureDefinition/PractitionerRole" - ] - } - ], - "mapping": [ - { - "identity": "v2", - "map": "PD1-4" - }, - { - "identity": "rim", - "map": "subjectOf.CareEvent.performer.AssignedEntity" - }, - { - "identity": "cda", - "map": "n/a" - } - ] - }, - { - "id": "Patient.managingOrganization", - "path": "Patient.managingOrganization", - "short": "Organization that is the custodian of the patient record", - "definition": "Organization that is the custodian of the patient record.", - "comment": "There is only one managing organization for a specific patient record. Other organizations will have their own Patient record, and may use the Link property to join the records together (or a Person resource which can include confidence ratings for the association).", - "requirements": "Need to know who recognizes this patient record, manages and updates it.", - "min": 0, - "max": "1", - "type": [ - { - "code": "Reference", - "targetProfile": ["http://hl7.org/fhir/StructureDefinition/Organization"] - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": "scoper" - }, - { - "identity": "cda", - "map": ".providerOrganization" - } - ] - }, - { - "id": "Patient.link", - "path": "Patient.link", - "short": "Link to another patient resource that concerns the same actual person", - "definition": "Link to another patient resource that concerns the same actual patient.", - "comment": "There is no assumption that linked patient records have mutual links.", - "requirements": "There are multiple use cases: \n\n* Duplicate patient records due to the clerical errors associated with the difficulties of identifying humans consistently, and \n* Distribution of patient information across multiple servers.", - "min": 0, - "max": "*", - "type": [ - { - "code": "BackboneElement" - } - ], - "isModifier": true, - "isModifierReason": "This element is labeled as a modifier because it might not be the main Patient resource, and the referenced patient should be used instead of this Patient record. This is when the link.type value is 'replaced-by'", - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": "outboundLink" - }, - { - "identity": "cda", - "map": "n/a" - } - ] - }, - { - "id": "Patient.link.other", - "path": "Patient.link.other", - "short": "The other patient or related person resource that the link refers to", - "definition": "The other patient resource that the link refers to.", - "comment": "Referencing a RelatedPerson here removes the need to use a Person record to associate a Patient and RelatedPerson as the same individual.", - "min": 1, - "max": "1", - "type": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-hierarchy", - "valueBoolean": false - } - ], - "code": "Reference", - "targetProfile": [ - "http://hl7.org/fhir/StructureDefinition/Patient", - "http://hl7.org/fhir/StructureDefinition/RelatedPerson" - ] - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "v2", - "map": "PID-3, MRG-1" - }, - { - "identity": "rim", - "map": "id" - }, - { - "identity": "cda", - "map": "n/a" - } - ] - }, - { - "id": "Patient.link.type", - "path": "Patient.link.type", - "short": "replaced-by | replaces | refer | seealso", - "definition": "The type of link between this patient resource and another patient resource.", - "min": 1, - "max": "1", - "type": [ - { - "code": "code" - } - ], - "isSummary": true, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "LinkType" - } - ], - "strength": "required", - "description": "The type of link between this patient resource and another patient resource.", - "valueSet": "http://hl7.org/fhir/ValueSet/link-type|4.0.1" - }, - "mapping": [ - { - "identity": "rim", - "map": "typeCode" - }, - { - "identity": "cda", - "map": "n/a" - } - ] - } - ] - } -} diff --git a/modules/frontend/src/lib/resource/test/Reference.json b/modules/frontend/src/lib/resource/test/Reference.json deleted file mode 100644 index a40d0d4ba..000000000 --- a/modules/frontend/src/lib/resource/test/Reference.json +++ /dev/null @@ -1,499 +0,0 @@ -{ - "resourceType": "StructureDefinition", - "id": "Reference", - "meta": { - "lastUpdated": "2019-11-01T09:29:23.356+11:00" - }, - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", - "valueCode": "normative" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version", - "valueCode": "4.0.0" - } - ], - "url": "http://hl7.org/fhir/StructureDefinition/Reference", - "version": "4.0.1", - "name": "Reference", - "status": "active", - "date": "2019-11-01T09:29:23+11:00", - "publisher": "HL7 FHIR Standard", - "contact": [ - { - "telecom": [ - { - "system": "url", - "value": "http://hl7.org/fhir" - } - ] - } - ], - "description": "Base StructureDefinition for Reference Type: A reference from one resource to another.", - "fhirVersion": "4.0.1", - "mapping": [ - { - "identity": "rim", - "uri": "http://hl7.org/v3", - "name": "RIM Mapping" - } - ], - "kind": "complex-type", - "abstract": false, - "type": "Reference", - "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Element", - "derivation": "specialization", - "snapshot": { - "element": [ - { - "id": "Reference", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", - "valueCode": "normative" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version", - "valueCode": "4.0.0" - } - ], - "path": "Reference", - "short": "A reference from one resource to another", - "definition": "A reference from one resource to another.", - "comment": "References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.", - "min": 0, - "max": "*", - "base": { - "path": "Reference", - "min": 0, - "max": "*" - }, - "condition": ["ele-1"], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key": "ref-1", - "severity": "error", - "human": "SHALL have a contained resource if a local reference is provided", - "expression": "reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))", - "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])" - } - ], - "isModifier": false, - "mapping": [ - { - "identity": "rim", - "map": "n/a" - }, - { - "identity": "rim", - "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)" - } - ] - }, - { - "id": "Reference.id", - "path": "Reference.id", - "representation": ["xmlAttr"], - "short": "Unique id for inter-element referencing", - "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", - "min": 0, - "max": "1", - "base": { - "path": "Element.id", - "min": 0, - "max": "1" - }, - "type": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", - "valueUrl": "string" - } - ], - "code": "http://hl7.org/fhirpath/System.String" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "n/a" - } - ] - }, - { - "id": "Reference.extension", - "path": "Reference.extension", - "slicing": { - "discriminator": [ - { - "type": "value", - "path": "url" - } - ], - "description": "Extensions are always sliced by (at least) url", - "rules": "open" - }, - "short": "Additional content defined by implementations", - "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", - "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", - "alias": ["extensions", "user content"], - "min": 0, - "max": "*", - "base": { - "path": "Element.extension", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Extension" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key": "ext-1", - "severity": "error", - "human": "Must have either extensions or value[x], not both", - "expression": "extension.exists() != value.exists()", - "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source": "http://hl7.org/fhir/StructureDefinition/Extension" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "n/a" - } - ] - }, - { - "id": "Reference.reference", - "path": "Reference.reference", - "short": "Literal reference, Relative, internal or absolute URL", - "definition": "A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.", - "comment": "Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure \"/[type]/[id]\" then it should be assumed that the reference is to a FHIR RESTful server.", - "min": 0, - "max": "1", - "base": { - "path": "Reference.reference", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "string" - } - ], - "condition": ["ref-1"], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": "N/A" - } - ] - }, - { - "id": "Reference.type", - "path": "Reference.type", - "short": "Type the reference refers to (e.g. \"Patient\")", - "definition": "The expected type of the target of the reference. If both Reference.type and Reference.reference are populated and Reference.reference is a FHIR URL, both SHALL be consistent.\n\nThe type is the Canonical URL of Resource Definition that is the type this reference refers to. References are URLs that are relative to http://hl7.org/fhir/StructureDefinition/ e.g. \"Patient\" is a reference to http://hl7.org/fhir/StructureDefinition/Patient. Absolute URLs are only allowed for logical models (and can only be used in references in logical models, not resources).", - "comment": "This element is used to indicate the type of the target of the reference. This may be used which ever of the other elements are populated (or not). In some cases, the type of the target may be determined by inspection of the reference (e.g. a RESTful URL) or by resolving the target of the reference; if both the type and a reference is provided, the reference SHALL resolve to a resource of the same type as that specified.", - "min": 0, - "max": "1", - "base": { - "path": "Reference.type", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "uri" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "FHIRResourceTypeExt" - } - ], - "strength": "extensible", - "description": "Aa resource (or, for logical models, the URI of the logical model).", - "valueSet": "http://hl7.org/fhir/ValueSet/resource-types" - }, - "mapping": [ - { - "identity": "rim", - "map": "N/A" - } - ] - }, - { - "id": "Reference.identifier", - "path": "Reference.identifier", - "short": "Logical reference, when literal reference is not known", - "definition": "An identifier for the target resource. This is used when there is no way to reference the other resource directly, either because the entity it represents is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.", - "comment": "When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. \n\nWhen both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference\n\nApplications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.\n\nReference is intended to point to a structure that can potentially be expressed as a FHIR resource, though there is no need for it to exist as an actual FHIR resource instance - except in as much as an application wishes to actual find the target of the reference. The content referred to be the identifier must meet the logical constraints implied by any limitations on what resource types are permitted for the reference. For example, it would not be legitimate to send the identifier for a drug prescription if the type were Reference(Observation|DiagnosticReport). One of the use-cases for Reference.identifier is the situation where no FHIR representation exists (where the type is Reference (Any).", - "min": 0, - "max": "1", - "base": { - "path": "Reference.identifier", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "Identifier" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": ".identifier" - } - ] - }, - { - "id": "Reference.display", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", - "valueBoolean": true - } - ], - "path": "Reference.display", - "short": "Text alternative for the resource", - "definition": "Plain text narrative that identifies the resource in addition to the resource reference.", - "comment": "This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it.", - "min": 0, - "max": "1", - "base": { - "path": "Reference.display", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "string" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": "N/A" - } - ] - } - ] - }, - "differential": { - "element": [ - { - "id": "Reference", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", - "valueCode": "normative" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version", - "valueCode": "4.0.0" - } - ], - "path": "Reference", - "short": "A reference from one resource to another", - "definition": "A reference from one resource to another.", - "comment": "References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.", - "min": 0, - "max": "*", - "constraint": [ - { - "key": "ref-1", - "severity": "error", - "human": "SHALL have a contained resource if a local reference is provided", - "expression": "reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))", - "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])" - } - ], - "mapping": [ - { - "identity": "rim", - "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)" - } - ] - }, - { - "id": "Reference.reference", - "path": "Reference.reference", - "short": "Literal reference, Relative, internal or absolute URL", - "definition": "A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.", - "comment": "Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure \"/[type]/[id]\" then it should be assumed that the reference is to a FHIR RESTful server.", - "min": 0, - "max": "1", - "type": [ - { - "code": "string" - } - ], - "condition": ["ref-1"], - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": "N/A" - } - ] - }, - { - "id": "Reference.type", - "path": "Reference.type", - "short": "Type the reference refers to (e.g. \"Patient\")", - "definition": "The expected type of the target of the reference. If both Reference.type and Reference.reference are populated and Reference.reference is a FHIR URL, both SHALL be consistent.\n\nThe type is the Canonical URL of Resource Definition that is the type this reference refers to. References are URLs that are relative to http://hl7.org/fhir/StructureDefinition/ e.g. \"Patient\" is a reference to http://hl7.org/fhir/StructureDefinition/Patient. Absolute URLs are only allowed for logical models (and can only be used in references in logical models, not resources).", - "comment": "This element is used to indicate the type of the target of the reference. This may be used which ever of the other elements are populated (or not). In some cases, the type of the target may be determined by inspection of the reference (e.g. a RESTful URL) or by resolving the target of the reference; if both the type and a reference is provided, the reference SHALL resolve to a resource of the same type as that specified.", - "min": 0, - "max": "1", - "type": [ - { - "code": "uri" - } - ], - "isSummary": true, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "FHIRResourceTypeExt" - } - ], - "strength": "extensible", - "description": "Aa resource (or, for logical models, the URI of the logical model).", - "valueSet": "http://hl7.org/fhir/ValueSet/resource-types" - }, - "mapping": [ - { - "identity": "rim", - "map": "N/A" - } - ] - }, - { - "id": "Reference.identifier", - "path": "Reference.identifier", - "short": "Logical reference, when literal reference is not known", - "definition": "An identifier for the target resource. This is used when there is no way to reference the other resource directly, either because the entity it represents is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.", - "comment": "When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. \n\nWhen both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference\n\nApplications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.\n\nReference is intended to point to a structure that can potentially be expressed as a FHIR resource, though there is no need for it to exist as an actual FHIR resource instance - except in as much as an application wishes to actual find the target of the reference. The content referred to be the identifier must meet the logical constraints implied by any limitations on what resource types are permitted for the reference. For example, it would not be legitimate to send the identifier for a drug prescription if the type were Reference(Observation|DiagnosticReport). One of the use-cases for Reference.identifier is the situation where no FHIR representation exists (where the type is Reference (Any).", - "min": 0, - "max": "1", - "type": [ - { - "code": "Identifier" - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": ".identifier" - } - ] - }, - { - "id": "Reference.display", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", - "valueBoolean": true - } - ], - "path": "Reference.display", - "short": "Text alternative for the resource", - "definition": "Plain text narrative that identifies the resource in addition to the resource reference.", - "comment": "This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it.", - "min": 0, - "max": "1", - "type": [ - { - "code": "string" - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": "N/A" - } - ] - } - ] - } -} diff --git a/modules/frontend/src/lib/resource/test/Timing.json b/modules/frontend/src/lib/resource/test/Timing.json deleted file mode 100644 index a46996369..000000000 --- a/modules/frontend/src/lib/resource/test/Timing.json +++ /dev/null @@ -1,1649 +0,0 @@ -{ - "resourceType": "StructureDefinition", - "id": "Timing", - "meta": { - "lastUpdated": "2019-11-01T09:29:23.356+11:00" - }, - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", - "valueCode": "normative" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version", - "valueCode": "4.0.0" - } - ], - "url": "http://hl7.org/fhir/StructureDefinition/Timing", - "version": "4.0.1", - "name": "Timing", - "status": "active", - "date": "2019-11-01T09:29:23+11:00", - "publisher": "HL7 FHIR Standard", - "contact": [ - { - "telecom": [ - { - "system": "url", - "value": "http://hl7.org/fhir" - } - ] - } - ], - "description": "Base StructureDefinition for Timing Type: Specifies an event that may occur multiple times. Timing schedules are used to record when things are planned, expected or requested to occur. The most common usage is in dosage instructions for medications. They are also used when planning care of various kinds, and may be used for reporting the schedule to which past regular activities were carried out.", - "purpose": "Need to able to track proposed timing schedules. There are several different ways to do this: one or more specified times, a simple rules like three times a day, or before/after meals.", - "fhirVersion": "4.0.1", - "mapping": [ - { - "identity": "v2", - "uri": "http://hl7.org/v2", - "name": "HL7 v2 Mapping" - }, - { - "identity": "rim", - "uri": "http://hl7.org/v3", - "name": "RIM Mapping" - } - ], - "kind": "complex-type", - "abstract": false, - "type": "Timing", - "baseDefinition": "http://hl7.org/fhir/StructureDefinition/BackboneElement", - "derivation": "specialization", - "snapshot": { - "element": [ - { - "id": "Timing", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", - "valueCode": "normative" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version", - "valueCode": "4.0.0" - } - ], - "path": "Timing", - "short": "A timing schedule that specifies an event that may occur multiple times", - "definition": "Specifies an event that may occur multiple times. Timing schedules are used to record when things are planned, expected or requested to occur. The most common usage is in dosage instructions for medications. They are also used when planning care of various kinds, and may be used for reporting the schedule to which past regular activities were carried out.", - "comment": "Describes the occurrence of an event that may occur multiple times. Timing schedules are used for specifying when events are expected or requested to occur, and may also be used to represent the summary of a past or ongoing event. For simplicity, the definitions of Timing components are expressed as 'future' events, but such components can also be used to describe historic or ongoing events.\n\nA Timing schedule can be a list of events and/or criteria for when the event happens, which can be expressed in a structured form and/or as a code. When both event and a repeating specification are provided, the list of events should be understood as an interpretation of the information in the repeat structure.", - "min": 0, - "max": "*", - "base": { - "path": "Timing", - "min": 0, - "max": "*" - }, - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "mapping": [ - { - "identity": "rim", - "map": "n/a" - }, - { - "identity": "v2", - "map": "N/A" - }, - { - "identity": "rim", - "map": "QSET (GTS)" - } - ] - }, - { - "id": "Timing.id", - "path": "Timing.id", - "representation": ["xmlAttr"], - "short": "Unique id for inter-element referencing", - "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", - "min": 0, - "max": "1", - "base": { - "path": "Element.id", - "min": 0, - "max": "1" - }, - "type": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", - "valueUrl": "string" - } - ], - "code": "http://hl7.org/fhirpath/System.String" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "n/a" - } - ] - }, - { - "id": "Timing.extension", - "path": "Timing.extension", - "slicing": { - "discriminator": [ - { - "type": "value", - "path": "url" - } - ], - "description": "Extensions are always sliced by (at least) url", - "rules": "open" - }, - "short": "Additional content defined by implementations", - "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", - "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", - "alias": ["extensions", "user content"], - "min": 0, - "max": "*", - "base": { - "path": "Element.extension", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Extension" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key": "ext-1", - "severity": "error", - "human": "Must have either extensions or value[x], not both", - "expression": "extension.exists() != value.exists()", - "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source": "http://hl7.org/fhir/StructureDefinition/Extension" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "n/a" - } - ] - }, - { - "id": "Timing.modifierExtension", - "path": "Timing.modifierExtension", - "short": "Extensions that cannot be ignored even if unrecognized", - "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", - "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", - "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).", - "alias": ["extensions", "user content", "modifiers"], - "min": 0, - "max": "*", - "base": { - "path": "BackboneElement.modifierExtension", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Extension" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key": "ext-1", - "severity": "error", - "human": "Must have either extensions or value[x], not both", - "expression": "extension.exists() != value.exists()", - "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source": "http://hl7.org/fhir/StructureDefinition/Extension" - } - ], - "isModifier": true, - "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them", - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": "N/A" - } - ] - }, - { - "id": "Timing.event", - "path": "Timing.event", - "short": "When the event occurs", - "definition": "Identifies specific times when the event occurs.", - "requirements": "In a Medication Administration Record, for instance, you need to take a general specification, and turn it into a precise specification.", - "min": 0, - "max": "*", - "base": { - "path": "Timing.event", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "dateTime" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": "QLIST" - } - ] - }, - { - "id": "Timing.repeat", - "path": "Timing.repeat", - "short": "When the event is to occur", - "definition": "A set of rules that describe when the event is scheduled.", - "requirements": "Many timing schedules are determined by regular repetitions.", - "min": 0, - "max": "1", - "base": { - "path": "Timing.repeat", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "Element" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key": "tim-1", - "severity": "error", - "human": "if there's a duration, there needs to be duration units", - "expression": "duration.empty() or durationUnit.exists()", - "xpath": "not(exists(f:duration)) or exists(f:durationUnit)" - }, - { - "key": "tim-2", - "severity": "error", - "human": "if there's a period, there needs to be period units", - "expression": "period.empty() or periodUnit.exists()", - "xpath": "not(exists(f:period)) or exists(f:periodUnit)" - }, - { - "key": "tim-4", - "severity": "error", - "human": "duration SHALL be a non-negative value", - "expression": "duration.exists() implies duration >= 0", - "xpath": "f:duration/@value >= 0 or not(f:duration/@value)" - }, - { - "key": "tim-5", - "severity": "error", - "human": "period SHALL be a non-negative value", - "expression": "period.exists() implies period >= 0", - "xpath": "f:period/@value >= 0 or not(f:period/@value)" - }, - { - "key": "tim-6", - "severity": "error", - "human": "If there's a periodMax, there must be a period", - "expression": "periodMax.empty() or period.exists()", - "xpath": "not(exists(f:periodMax)) or exists(f:period)" - }, - { - "key": "tim-7", - "severity": "error", - "human": "If there's a durationMax, there must be a duration", - "expression": "durationMax.empty() or duration.exists()", - "xpath": "not(exists(f:durationMax)) or exists(f:duration)" - }, - { - "key": "tim-8", - "severity": "error", - "human": "If there's a countMax, there must be a count", - "expression": "countMax.empty() or count.exists()", - "xpath": "not(exists(f:countMax)) or exists(f:count)" - }, - { - "key": "tim-9", - "severity": "error", - "human": "If there's an offset, there must be a when (and not C, CM, CD, CV)", - "expression": "offset.empty() or (when.exists() and ((when in ('C' | 'CM' | 'CD' | 'CV')).not()))", - "xpath": "not(exists(f:offset)) or exists(f:when)" - }, - { - "key": "tim-10", - "severity": "error", - "human": "If there's a timeOfDay, there cannot be a when, or vice versa", - "expression": "timeOfDay.empty() or when.empty()", - "xpath": "not(exists(f:timeOfDay)) or not(exists(f:when))" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": "Implies PIVL or EIVL" - } - ] - }, - { - "id": "Timing.repeat.id", - "path": "Timing.repeat.id", - "representation": ["xmlAttr"], - "short": "Unique id for inter-element referencing", - "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", - "min": 0, - "max": "1", - "base": { - "path": "Element.id", - "min": 0, - "max": "1" - }, - "type": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", - "valueUrl": "string" - } - ], - "code": "http://hl7.org/fhirpath/System.String" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "n/a" - } - ] - }, - { - "id": "Timing.repeat.extension", - "path": "Timing.repeat.extension", - "slicing": { - "discriminator": [ - { - "type": "value", - "path": "url" - } - ], - "description": "Extensions are always sliced by (at least) url", - "rules": "open" - }, - "short": "Additional content defined by implementations", - "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", - "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", - "alias": ["extensions", "user content"], - "min": 0, - "max": "*", - "base": { - "path": "Element.extension", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "Extension" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key": "ext-1", - "severity": "error", - "human": "Must have either extensions or value[x], not both", - "expression": "extension.exists() != value.exists()", - "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source": "http://hl7.org/fhir/StructureDefinition/Extension" - } - ], - "isModifier": false, - "isSummary": false, - "mapping": [ - { - "identity": "rim", - "map": "n/a" - } - ] - }, - { - "id": "Timing.repeat.bounds[x]", - "path": "Timing.repeat.bounds[x]", - "short": "Length/Range of lengths, or (Start and/or end) limits", - "definition": "Either a duration for the length of the timing schedule, a range of possible length, or outer bounds for start and/or end limits of the timing schedule.", - "min": 0, - "max": "1", - "base": { - "path": "Timing.repeat.bounds[x]", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "Duration" - }, - { - "code": "Range" - }, - { - "code": "Period" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": "IVL(TS) used in a QSI" - } - ] - }, - { - "id": "Timing.repeat.count", - "path": "Timing.repeat.count", - "short": "Number of times to repeat", - "definition": "A total count of the desired number of repetitions across the duration of the entire timing specification. If countMax is present, this element indicates the lower bound of the allowed range of count values.", - "comment": "If you have both bounds and count, then this should be understood as within the bounds period, until count times happens.", - "requirements": "Repetitions may be limited by end time or total occurrences.", - "min": 0, - "max": "1", - "base": { - "path": "Timing.repeat.count", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "positiveInt" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": "PIVL.count" - } - ] - }, - { - "id": "Timing.repeat.countMax", - "path": "Timing.repeat.countMax", - "short": "Maximum number of times to repeat", - "definition": "If present, indicates that the count is a range - so to perform the action between [count] and [countMax] times.", - "min": 0, - "max": "1", - "base": { - "path": "Timing.repeat.countMax", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "positiveInt" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": "PIVL.count" - } - ] - }, - { - "id": "Timing.repeat.duration", - "path": "Timing.repeat.duration", - "short": "How long when it happens", - "definition": "How long this thing happens for when it happens. If durationMax is present, this element indicates the lower bound of the allowed range of the duration.", - "comment": "For some events the duration is part of the definition of the event (e.g. IV infusions, where the duration is implicit in the specified quantity and rate). For others, it's part of the timing specification (e.g. exercise).", - "requirements": "Some activities are not instantaneous and need to be maintained for a period of time.", - "min": 0, - "max": "1", - "base": { - "path": "Timing.repeat.duration", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "decimal" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": "PIVL.phase" - } - ] - }, - { - "id": "Timing.repeat.durationMax", - "path": "Timing.repeat.durationMax", - "short": "How long when it happens (Max)", - "definition": "If present, indicates that the duration is a range - so to perform the action between [duration] and [durationMax] time length.", - "comment": "For some events the duration is part of the definition of the event (e.g. IV infusions, where the duration is implicit in the specified quantity and rate). For others, it's part of the timing specification (e.g. exercise).", - "requirements": "Some activities are not instantaneous and need to be maintained for a period of time.", - "min": 0, - "max": "1", - "base": { - "path": "Timing.repeat.durationMax", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "decimal" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": "PIVL.phase" - } - ] - }, - { - "id": "Timing.repeat.durationUnit", - "path": "Timing.repeat.durationUnit", - "short": "s | min | h | d | wk | mo | a - unit of time (UCUM)", - "definition": "The units of time for the duration, in UCUM units.", - "min": 0, - "max": "1", - "base": { - "path": "Timing.repeat.durationUnit", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "code" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "UnitsOfTime" - } - ], - "strength": "required", - "description": "A unit of time (units from UCUM).", - "valueSet": "http://hl7.org/fhir/ValueSet/units-of-time|4.0.1" - }, - "mapping": [ - { - "identity": "rim", - "map": "PIVL.phase.unit" - } - ] - }, - { - "id": "Timing.repeat.frequency", - "path": "Timing.repeat.frequency", - "short": "Event occurs frequency times per period", - "definition": "The number of times to repeat the action within the specified period. If frequencyMax is present, this element indicates the lower bound of the allowed range of the frequency.", - "min": 0, - "max": "1", - "base": { - "path": "Timing.repeat.frequency", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "positiveInt" - } - ], - "meaningWhenMissing": "If no frequency is stated, the assumption is that the event occurs once per period, but systems SHOULD always be specific about this", - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": "PIVL.phase" - } - ] - }, - { - "id": "Timing.repeat.frequencyMax", - "path": "Timing.repeat.frequencyMax", - "short": "Event occurs up to frequencyMax times per period", - "definition": "If present, indicates that the frequency is a range - so to repeat between [frequency] and [frequencyMax] times within the period or period range.", - "min": 0, - "max": "1", - "base": { - "path": "Timing.repeat.frequencyMax", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "positiveInt" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": "PIVL.phase" - } - ] - }, - { - "id": "Timing.repeat.period", - "path": "Timing.repeat.period", - "short": "Event occurs frequency times per period", - "definition": "Indicates the duration of time over which repetitions are to occur; e.g. to express \"3 times per day\", 3 would be the frequency and \"1 day\" would be the period. If periodMax is present, this element indicates the lower bound of the allowed range of the period length.", - "min": 0, - "max": "1", - "base": { - "path": "Timing.repeat.period", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "decimal" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": "PIVL.phase" - } - ] - }, - { - "id": "Timing.repeat.periodMax", - "path": "Timing.repeat.periodMax", - "short": "Upper limit of period (3-4 hours)", - "definition": "If present, indicates that the period is a range from [period] to [periodMax], allowing expressing concepts such as \"do this once every 3-5 days.", - "min": 0, - "max": "1", - "base": { - "path": "Timing.repeat.periodMax", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "decimal" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": "PIVL.phase" - } - ] - }, - { - "id": "Timing.repeat.periodUnit", - "path": "Timing.repeat.periodUnit", - "short": "s | min | h | d | wk | mo | a - unit of time (UCUM)", - "definition": "The units of time for the period in UCUM units.", - "min": 0, - "max": "1", - "base": { - "path": "Timing.repeat.periodUnit", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "code" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "UnitsOfTime" - } - ], - "strength": "required", - "description": "A unit of time (units from UCUM).", - "valueSet": "http://hl7.org/fhir/ValueSet/units-of-time|4.0.1" - }, - "mapping": [ - { - "identity": "rim", - "map": "PIVL.phase.unit" - } - ] - }, - { - "id": "Timing.repeat.dayOfWeek", - "path": "Timing.repeat.dayOfWeek", - "short": "mon | tue | wed | thu | fri | sat | sun", - "definition": "If one or more days of week is provided, then the action happens only on the specified day(s).", - "comment": "If no days are specified, the action is assumed to happen every day as otherwise specified. The elements frequency and period cannot be used as well as dayOfWeek.", - "min": 0, - "max": "*", - "base": { - "path": "Timing.repeat.dayOfWeek", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "code" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "DayOfWeek" - } - ], - "strength": "required", - "valueSet": "http://hl7.org/fhir/ValueSet/days-of-week|4.0.1" - }, - "mapping": [ - { - "identity": "rim", - "map": "n/a" - } - ] - }, - { - "id": "Timing.repeat.timeOfDay", - "path": "Timing.repeat.timeOfDay", - "short": "Time of day for action", - "definition": "Specified time of day for action to take place.", - "comment": "When time of day is specified, it is inferred that the action happens every day (as filtered by dayofWeek) on the specified times. The elements when, frequency and period cannot be used as well as timeOfDay.", - "min": 0, - "max": "*", - "base": { - "path": "Timing.repeat.timeOfDay", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "time" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": "n/a" - } - ] - }, - { - "id": "Timing.repeat.when", - "path": "Timing.repeat.when", - "short": "Code for time period of occurrence", - "definition": "An approximate time period during the day, potentially linked to an event of daily living that indicates when the action should occur.", - "comment": "When more than one event is listed, the event is tied to the union of the specified events.", - "requirements": "Timings are frequently determined by occurrences such as waking, eating and sleep.", - "min": 0, - "max": "*", - "base": { - "path": "Timing.repeat.when", - "min": 0, - "max": "*" - }, - "type": [ - { - "code": "code" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "EventTiming" - } - ], - "strength": "required", - "description": "Real world event relating to the schedule.", - "valueSet": "http://hl7.org/fhir/ValueSet/event-timing|4.0.1" - }, - "mapping": [ - { - "identity": "rim", - "map": "EIVL.event" - } - ] - }, - { - "id": "Timing.repeat.offset", - "path": "Timing.repeat.offset", - "short": "Minutes from event (before or after)", - "definition": "The number of minutes from the event. If the event code does not indicate whether the minutes is before or after the event, then the offset is assumed to be after the event.", - "min": 0, - "max": "1", - "base": { - "path": "Timing.repeat.offset", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "unsignedInt" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": "EIVL.offset" - } - ] - }, - { - "id": "Timing.code", - "path": "Timing.code", - "short": "BID | TID | QID | AM | PM | QD | QOD | +", - "definition": "A code for the timing schedule (or just text in code.text). Some codes such as BID are ubiquitous, but many institutions define their own additional codes. If a code is provided, the code is understood to be a complete statement of whatever is specified in the structured timing data, and either the code or the data may be used to interpret the Timing, with the exception that .repeat.bounds still applies over the code (and is not contained in the code).", - "comment": "BID etc. are defined as 'at institutionally specified times'. For example, an institution may choose that BID is \"always at 7am and 6pm\". If it is inappropriate for this choice to be made, the code BID should not be used. Instead, a distinct organization-specific code should be used in place of the HL7-defined BID code and/or a structured representation should be used (in this case, specifying the two event times).", - "min": 0, - "max": "1", - "base": { - "path": "Timing.code", - "min": 0, - "max": "1" - }, - "type": [ - { - "code": "CodeableConcept" - } - ], - "constraint": [ - { - "key": "ele-1", - "severity": "error", - "human": "All FHIR elements must have a @value or children", - "expression": "hasValue() or (children().count() > id.count())", - "xpath": "@value|f:*|h:div", - "source": "http://hl7.org/fhir/StructureDefinition/Element" - } - ], - "isModifier": false, - "isSummary": true, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "TimingAbbreviation" - } - ], - "strength": "preferred", - "description": "Code for a known / defined timing pattern.", - "valueSet": "http://hl7.org/fhir/ValueSet/timing-abbreviation" - }, - "mapping": [ - { - "identity": "rim", - "map": "QSC.code" - } - ] - } - ] - }, - "differential": { - "element": [ - { - "id": "Timing", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", - "valueCode": "normative" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version", - "valueCode": "4.0.0" - } - ], - "path": "Timing", - "short": "A timing schedule that specifies an event that may occur multiple times", - "definition": "Specifies an event that may occur multiple times. Timing schedules are used to record when things are planned, expected or requested to occur. The most common usage is in dosage instructions for medications. They are also used when planning care of various kinds, and may be used for reporting the schedule to which past regular activities were carried out.", - "comment": "Describes the occurrence of an event that may occur multiple times. Timing schedules are used for specifying when events are expected or requested to occur, and may also be used to represent the summary of a past or ongoing event. For simplicity, the definitions of Timing components are expressed as 'future' events, but such components can also be used to describe historic or ongoing events.\n\nA Timing schedule can be a list of events and/or criteria for when the event happens, which can be expressed in a structured form and/or as a code. When both event and a repeating specification are provided, the list of events should be understood as an interpretation of the information in the repeat structure.", - "min": 0, - "max": "*", - "mapping": [ - { - "identity": "v2", - "map": "N/A" - }, - { - "identity": "rim", - "map": "QSET (GTS)" - } - ] - }, - { - "id": "Timing.event", - "path": "Timing.event", - "short": "When the event occurs", - "definition": "Identifies specific times when the event occurs.", - "requirements": "In a Medication Administration Record, for instance, you need to take a general specification, and turn it into a precise specification.", - "min": 0, - "max": "*", - "type": [ - { - "code": "dateTime" - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": "QLIST" - } - ] - }, - { - "id": "Timing.repeat", - "path": "Timing.repeat", - "short": "When the event is to occur", - "definition": "A set of rules that describe when the event is scheduled.", - "requirements": "Many timing schedules are determined by regular repetitions.", - "min": 0, - "max": "1", - "type": [ - { - "code": "Element" - } - ], - "constraint": [ - { - "key": "tim-9", - "severity": "error", - "human": "If there's an offset, there must be a when (and not C, CM, CD, CV)", - "expression": "offset.empty() or (when.exists() and ((when in ('C' | 'CM' | 'CD' | 'CV')).not()))", - "xpath": "not(exists(f:offset)) or exists(f:when)" - }, - { - "key": "tim-5", - "severity": "error", - "human": "period SHALL be a non-negative value", - "expression": "period.exists() implies period >= 0", - "xpath": "f:period/@value >= 0 or not(f:period/@value)" - }, - { - "key": "tim-6", - "severity": "error", - "human": "If there's a periodMax, there must be a period", - "expression": "periodMax.empty() or period.exists()", - "xpath": "not(exists(f:periodMax)) or exists(f:period)" - }, - { - "key": "tim-7", - "severity": "error", - "human": "If there's a durationMax, there must be a duration", - "expression": "durationMax.empty() or duration.exists()", - "xpath": "not(exists(f:durationMax)) or exists(f:duration)" - }, - { - "key": "tim-8", - "severity": "error", - "human": "If there's a countMax, there must be a count", - "expression": "countMax.empty() or count.exists()", - "xpath": "not(exists(f:countMax)) or exists(f:count)" - }, - { - "key": "tim-1", - "severity": "error", - "human": "if there's a duration, there needs to be duration units", - "expression": "duration.empty() or durationUnit.exists()", - "xpath": "not(exists(f:duration)) or exists(f:durationUnit)" - }, - { - "key": "tim-10", - "severity": "error", - "human": "If there's a timeOfDay, there cannot be a when, or vice versa", - "expression": "timeOfDay.empty() or when.empty()", - "xpath": "not(exists(f:timeOfDay)) or not(exists(f:when))" - }, - { - "key": "tim-2", - "severity": "error", - "human": "if there's a period, there needs to be period units", - "expression": "period.empty() or periodUnit.exists()", - "xpath": "not(exists(f:period)) or exists(f:periodUnit)" - }, - { - "key": "tim-4", - "severity": "error", - "human": "duration SHALL be a non-negative value", - "expression": "duration.exists() implies duration >= 0", - "xpath": "f:duration/@value >= 0 or not(f:duration/@value)" - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": "Implies PIVL or EIVL" - } - ] - }, - { - "id": "Timing.repeat.bounds[x]", - "path": "Timing.repeat.bounds[x]", - "short": "Length/Range of lengths, or (Start and/or end) limits", - "definition": "Either a duration for the length of the timing schedule, a range of possible length, or outer bounds for start and/or end limits of the timing schedule.", - "min": 0, - "max": "1", - "type": [ - { - "code": "Duration" - }, - { - "code": "Range" - }, - { - "code": "Period" - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": "IVL(TS) used in a QSI" - } - ] - }, - { - "id": "Timing.repeat.count", - "path": "Timing.repeat.count", - "short": "Number of times to repeat", - "definition": "A total count of the desired number of repetitions across the duration of the entire timing specification. If countMax is present, this element indicates the lower bound of the allowed range of count values.", - "comment": "If you have both bounds and count, then this should be understood as within the bounds period, until count times happens.", - "requirements": "Repetitions may be limited by end time or total occurrences.", - "min": 0, - "max": "1", - "type": [ - { - "code": "positiveInt" - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": "PIVL.count" - } - ] - }, - { - "id": "Timing.repeat.countMax", - "path": "Timing.repeat.countMax", - "short": "Maximum number of times to repeat", - "definition": "If present, indicates that the count is a range - so to perform the action between [count] and [countMax] times.", - "min": 0, - "max": "1", - "type": [ - { - "code": "positiveInt" - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": "PIVL.count" - } - ] - }, - { - "id": "Timing.repeat.duration", - "path": "Timing.repeat.duration", - "short": "How long when it happens", - "definition": "How long this thing happens for when it happens. If durationMax is present, this element indicates the lower bound of the allowed range of the duration.", - "comment": "For some events the duration is part of the definition of the event (e.g. IV infusions, where the duration is implicit in the specified quantity and rate). For others, it's part of the timing specification (e.g. exercise).", - "requirements": "Some activities are not instantaneous and need to be maintained for a period of time.", - "min": 0, - "max": "1", - "type": [ - { - "code": "decimal" - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": "PIVL.phase" - } - ] - }, - { - "id": "Timing.repeat.durationMax", - "path": "Timing.repeat.durationMax", - "short": "How long when it happens (Max)", - "definition": "If present, indicates that the duration is a range - so to perform the action between [duration] and [durationMax] time length.", - "comment": "For some events the duration is part of the definition of the event (e.g. IV infusions, where the duration is implicit in the specified quantity and rate). For others, it's part of the timing specification (e.g. exercise).", - "requirements": "Some activities are not instantaneous and need to be maintained for a period of time.", - "min": 0, - "max": "1", - "type": [ - { - "code": "decimal" - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": "PIVL.phase" - } - ] - }, - { - "id": "Timing.repeat.durationUnit", - "path": "Timing.repeat.durationUnit", - "short": "s | min | h | d | wk | mo | a - unit of time (UCUM)", - "definition": "The units of time for the duration, in UCUM units.", - "min": 0, - "max": "1", - "type": [ - { - "code": "code" - } - ], - "isSummary": true, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "UnitsOfTime" - } - ], - "strength": "required", - "description": "A unit of time (units from UCUM).", - "valueSet": "http://hl7.org/fhir/ValueSet/units-of-time|4.0.1" - }, - "mapping": [ - { - "identity": "rim", - "map": "PIVL.phase.unit" - } - ] - }, - { - "id": "Timing.repeat.frequency", - "path": "Timing.repeat.frequency", - "short": "Event occurs frequency times per period", - "definition": "The number of times to repeat the action within the specified period. If frequencyMax is present, this element indicates the lower bound of the allowed range of the frequency.", - "min": 0, - "max": "1", - "type": [ - { - "code": "positiveInt" - } - ], - "meaningWhenMissing": "If no frequency is stated, the assumption is that the event occurs once per period, but systems SHOULD always be specific about this", - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": "PIVL.phase" - } - ] - }, - { - "id": "Timing.repeat.frequencyMax", - "path": "Timing.repeat.frequencyMax", - "short": "Event occurs up to frequencyMax times per period", - "definition": "If present, indicates that the frequency is a range - so to repeat between [frequency] and [frequencyMax] times within the period or period range.", - "min": 0, - "max": "1", - "type": [ - { - "code": "positiveInt" - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": "PIVL.phase" - } - ] - }, - { - "id": "Timing.repeat.period", - "path": "Timing.repeat.period", - "short": "Event occurs frequency times per period", - "definition": "Indicates the duration of time over which repetitions are to occur; e.g. to express \"3 times per day\", 3 would be the frequency and \"1 day\" would be the period. If periodMax is present, this element indicates the lower bound of the allowed range of the period length.", - "min": 0, - "max": "1", - "type": [ - { - "code": "decimal" - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": "PIVL.phase" - } - ] - }, - { - "id": "Timing.repeat.periodMax", - "path": "Timing.repeat.periodMax", - "short": "Upper limit of period (3-4 hours)", - "definition": "If present, indicates that the period is a range from [period] to [periodMax], allowing expressing concepts such as \"do this once every 3-5 days.", - "min": 0, - "max": "1", - "type": [ - { - "code": "decimal" - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": "PIVL.phase" - } - ] - }, - { - "id": "Timing.repeat.periodUnit", - "path": "Timing.repeat.periodUnit", - "short": "s | min | h | d | wk | mo | a - unit of time (UCUM)", - "definition": "The units of time for the period in UCUM units.", - "min": 0, - "max": "1", - "type": [ - { - "code": "code" - } - ], - "isSummary": true, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "UnitsOfTime" - } - ], - "strength": "required", - "description": "A unit of time (units from UCUM).", - "valueSet": "http://hl7.org/fhir/ValueSet/units-of-time|4.0.1" - }, - "mapping": [ - { - "identity": "rim", - "map": "PIVL.phase.unit" - } - ] - }, - { - "id": "Timing.repeat.dayOfWeek", - "path": "Timing.repeat.dayOfWeek", - "short": "mon | tue | wed | thu | fri | sat | sun", - "definition": "If one or more days of week is provided, then the action happens only on the specified day(s).", - "comment": "If no days are specified, the action is assumed to happen every day as otherwise specified. The elements frequency and period cannot be used as well as dayOfWeek.", - "min": 0, - "max": "*", - "type": [ - { - "code": "code" - } - ], - "isSummary": true, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "DayOfWeek" - } - ], - "strength": "required", - "valueSet": "http://hl7.org/fhir/ValueSet/days-of-week|4.0.1" - }, - "mapping": [ - { - "identity": "rim", - "map": "n/a" - } - ] - }, - { - "id": "Timing.repeat.timeOfDay", - "path": "Timing.repeat.timeOfDay", - "short": "Time of day for action", - "definition": "Specified time of day for action to take place.", - "comment": "When time of day is specified, it is inferred that the action happens every day (as filtered by dayofWeek) on the specified times. The elements when, frequency and period cannot be used as well as timeOfDay.", - "min": 0, - "max": "*", - "type": [ - { - "code": "time" - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": "n/a" - } - ] - }, - { - "id": "Timing.repeat.when", - "path": "Timing.repeat.when", - "short": "Code for time period of occurrence", - "definition": "An approximate time period during the day, potentially linked to an event of daily living that indicates when the action should occur.", - "comment": "When more than one event is listed, the event is tied to the union of the specified events.", - "requirements": "Timings are frequently determined by occurrences such as waking, eating and sleep.", - "min": 0, - "max": "*", - "type": [ - { - "code": "code" - } - ], - "isSummary": true, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "EventTiming" - } - ], - "strength": "required", - "description": "Real world event relating to the schedule.", - "valueSet": "http://hl7.org/fhir/ValueSet/event-timing|4.0.1" - }, - "mapping": [ - { - "identity": "rim", - "map": "EIVL.event" - } - ] - }, - { - "id": "Timing.repeat.offset", - "path": "Timing.repeat.offset", - "short": "Minutes from event (before or after)", - "definition": "The number of minutes from the event. If the event code does not indicate whether the minutes is before or after the event, then the offset is assumed to be after the event.", - "min": 0, - "max": "1", - "type": [ - { - "code": "unsignedInt" - } - ], - "isSummary": true, - "mapping": [ - { - "identity": "rim", - "map": "EIVL.offset" - } - ] - }, - { - "id": "Timing.code", - "path": "Timing.code", - "short": "BID | TID | QID | AM | PM | QD | QOD | +", - "definition": "A code for the timing schedule (or just text in code.text). Some codes such as BID are ubiquitous, but many institutions define their own additional codes. If a code is provided, the code is understood to be a complete statement of whatever is specified in the structured timing data, and either the code or the data may be used to interpret the Timing, with the exception that .repeat.bounds still applies over the code (and is not contained in the code).", - "comment": "BID etc. are defined as 'at institutionally specified times'. For example, an institution may choose that BID is \"always at 7am and 6pm\". If it is inappropriate for this choice to be made, the code BID should not be used. Instead, a distinct organization-specific code should be used in place of the HL7-defined BID code and/or a structured representation should be used (in this case, specifying the two event times).", - "min": 0, - "max": "1", - "type": [ - { - "code": "CodeableConcept" - } - ], - "isSummary": true, - "binding": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString": "TimingAbbreviation" - } - ], - "strength": "preferred", - "description": "Code for a known / defined timing pattern.", - "valueSet": "http://hl7.org/fhir/ValueSet/timing-abbreviation" - }, - "mapping": [ - { - "identity": "rim", - "map": "QSC.code" - } - ] - } - ] - } -} From e510921acd832dfb700378f5d3bf2a984d5bd1cc Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 25 Apr 2024 14:43:10 +0000 Subject: [PATCH 18/46] Update eclipse-temurin:17-jre-jammy Docker digest to 426b1a6 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index f051107f3..e11ed08f8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,7 +4,7 @@ RUN dotnet tool install -g firely.terminal RUN /root/.dotnet/tools/fhir install hl7.fhir.r4.core 4.0.1 RUN /root/.dotnet/tools/fhir install hl7.fhir.xver-extensions 0.1.0 -FROM eclipse-temurin:17-jre-jammy@sha256:1b646daef966395c93995e73347d4c7c726c9ddba8695e984cd8dcf5d8b5b253 +FROM eclipse-temurin:17-jre-jammy@sha256:426b1a6458d218ce1180c443099c0c05ff277ee89e532413a9d18c3c634f350e RUN apt-get update && apt-get upgrade -y && \ apt-get install libjemalloc2 -y && \ From 804b9ffc28a02cf4ef633fd57fd98d5239016fef Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 25 Apr 2024 16:03:42 +0000 Subject: [PATCH 19/46] Update dependency @sveltejs/kit to v2.5.7 --- modules/frontend/package-lock.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/modules/frontend/package-lock.json b/modules/frontend/package-lock.json index b76b3bd30..1d66c14b8 100644 --- a/modules/frontend/package-lock.json +++ b/modules/frontend/package-lock.json @@ -1009,14 +1009,14 @@ } }, "node_modules/@sveltejs/kit": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.5.6.tgz", - "integrity": "sha512-AYb02Jm5MfNqJHc8zrj7ScQAFAKmTUCkpkfoi8EVaZZDdnjkvI7L2GtnTDhpiXSAZRVitZX4qm59sMS1FgL+lQ==", + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.5.7.tgz", + "integrity": "sha512-6uedTzrb7nQrw6HALxnPrPaXdIN2jJJTzTIl96Z3P5NiG+OAfpdPbrWrvkJ3GN4CfWqrmU4dJqwMMRMTD/C7ow==", "hasInstallScript": true, "dependencies": { "@types/cookie": "^0.6.0", "cookie": "^0.6.0", - "devalue": "^4.3.2", + "devalue": "^5.0.0", "esm-env": "^1.0.0", "import-meta-resolve": "^4.0.0", "kleur": "^4.1.5", @@ -2006,9 +2006,9 @@ } }, "node_modules/devalue": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/devalue/-/devalue-4.3.2.tgz", - "integrity": "sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==" + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.0.0.tgz", + "integrity": "sha512-gO+/OMXF7488D+u3ue+G7Y4AA3ZmUnB3eHJXmBTgNHvr4ZNzl36A0ZtG+XCRNYCkYx/bFmw4qtkoFLa+wSrwAA==" }, "node_modules/didyoumean": { "version": "1.2.2", From 48ba87770e86eae66d524f8d0fe40af9a2b0394e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 25 Apr 2024 17:34:34 +0000 Subject: [PATCH 20/46] Update actions/checkout digest to 0ad4b8f --- .github/workflows/build.yml | 52 +++++++++++++++++----------------- .github/workflows/coverage.yml | 2 +- 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f4b1f59a5..133e8a598 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,7 +25,7 @@ jobs: cljfmt: 0.12.0 - name: Check out Git repository - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 + uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4 - name: Check Formatting run: make fmt @@ -40,7 +40,7 @@ jobs: clj-kondo: '2024.03.13' - name: Check out Git repository - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 + uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4 - name: Lint run: make lint @@ -116,7 +116,7 @@ jobs: cli: '1.11.2.1446' - name: Check out Git repository - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 + uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4 - name: Cache Local Maven Repo uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4 @@ -150,7 +150,7 @@ jobs: cli: '1.11.2.1446' - name: Check out Git repository - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 + uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4 - name: Cache Local Maven Repo uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4 @@ -178,7 +178,7 @@ jobs: cli: '1.11.2.1446' - name: Check out Git repository - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 + uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4 - name: Cache Local Maven Repo uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4 @@ -217,7 +217,7 @@ jobs: steps: - name: Check out Git repository - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 + uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4 - name: Setup Node uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4 @@ -265,7 +265,7 @@ jobs: run: docker load --input /tmp/${{ matrix.image }}.tar - name: Check out Git repository - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 + uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4 - name: Run Trivy Vulnerability Scanner uses: aquasecurity/trivy-action@master @@ -294,7 +294,7 @@ jobs: steps: - name: Check out Git repository - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 + uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4 - name: Install Blazectl run: .github/scripts/install-blazectl.sh @@ -778,7 +778,7 @@ jobs: steps: - name: Check out Git repository - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 + uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4 - name: Install Blazectl run: .github/scripts/install-blazectl.sh @@ -840,7 +840,7 @@ jobs: steps: - name: Check out Git repository - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 + uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4 - name: Install Blazectl run: .github/scripts/install-blazectl.sh @@ -888,7 +888,7 @@ jobs: steps: - name: Check out Git repository - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 + uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4 - name: Install Blazectl run: .github/scripts/install-blazectl.sh @@ -929,7 +929,7 @@ jobs: steps: - name: Check out Git repository - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 + uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4 - name: Install Blazectl run: .github/scripts/install-blazectl.sh @@ -964,7 +964,7 @@ jobs: steps: - name: Check out Git repository - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 + uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4 - name: Install Blazectl run: .github/scripts/install-blazectl.sh @@ -1002,7 +1002,7 @@ jobs: steps: - name: Check out Git repository - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 + uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4 - name: Download Blaze Image uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4 @@ -1028,7 +1028,7 @@ jobs: steps: - name: Check out Git repository - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 + uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4 - name: Download Blaze Image uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4 @@ -1056,7 +1056,7 @@ jobs: steps: - name: Check out Git repository - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 + uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4 - name: Install Blazectl run: .github/scripts/install-blazectl.sh @@ -1096,7 +1096,7 @@ jobs: cli: '1.11.2.1446' - name: Check out Git repository - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 + uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4 - name: Cache Local Maven Repo uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4 @@ -1140,7 +1140,7 @@ jobs: steps: - name: Check out Git repository - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 + uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4 - name: Download Blaze Image uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4 @@ -1181,7 +1181,7 @@ jobs: steps: - name: Check out Git repository - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 + uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4 - name: Download Blaze Image uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4 @@ -1213,7 +1213,7 @@ jobs: steps: - name: Check out Git repository - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 + uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4 - name: Install Blazectl run: .github/scripts/install-blazectl.sh @@ -1257,7 +1257,7 @@ jobs: steps: - name: Check out Git repository - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 + uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4 - name: Download Blaze Image uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4 @@ -1292,7 +1292,7 @@ jobs: steps: - name: Check out Git repository - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 + uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4 - name: Setup Node uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4 @@ -1376,7 +1376,7 @@ jobs: steps: - name: Check out Git repository - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 + uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4 - name: Download Blaze Image uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4 @@ -1431,7 +1431,7 @@ jobs: cli: '1.11.2.1446' - name: Check out Git repository - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 + uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4 - name: Cache Local Maven Repo uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4 @@ -1527,7 +1527,7 @@ jobs: steps: - name: Check out Git repository - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 + uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4 - name: Download Blaze Uberjar if: ${{ matrix.image.context == '.' }} @@ -1640,7 +1640,7 @@ jobs: runs-on: ubuntu-22.04 steps: - name: Check out Git repository - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 + uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4 - name: Setup Node uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4 diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index a3e2396e6..c7616a052 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -22,7 +22,7 @@ jobs: cli: '1.11.2.1446' - name: Check out Git repository - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4 + uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4 - name: Cache Local Maven Repo uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4 From f2cd0477477ea57e9c4b6caa9005952edc735a7a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 25 Apr 2024 21:20:43 +0000 Subject: [PATCH 21/46] Update dependency svelte to v4.2.15 --- modules/frontend/package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/frontend/package-lock.json b/modules/frontend/package-lock.json index 1d66c14b8..6df13e5b5 100644 --- a/modules/frontend/package-lock.json +++ b/modules/frontend/package-lock.json @@ -4107,9 +4107,9 @@ } }, "node_modules/svelte": { - "version": "4.2.14", - "resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.14.tgz", - "integrity": "sha512-ry3+YlWqZpHxLy45MW4MZIxNdvB+Wl7p2nnstWKbOAewaJyNJuOtivSbRChcfIej6wFBjWqyKmf/NgK1uW2JAA==", + "version": "4.2.15", + "resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.15.tgz", + "integrity": "sha512-j9KJSccHgLeRERPlhMKrCXpk2TqL2m5Z+k+OBTQhZOhIdCCd3WfqV+ylPWeipEwq17P/ekiSFWwrVQv93i3bsg==", "dependencies": { "@ampproject/remapping": "^2.2.1", "@jridgewell/sourcemap-codec": "^1.4.15", From e55770c929be34a9026f554d1237ab461207d3b1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 26 Apr 2024 07:26:19 +0000 Subject: [PATCH 22/46] Update eclipse-temurin:17-jre-jammy Docker digest to ed5ea3e --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index e11ed08f8..6a0f80f41 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,7 +4,7 @@ RUN dotnet tool install -g firely.terminal RUN /root/.dotnet/tools/fhir install hl7.fhir.r4.core 4.0.1 RUN /root/.dotnet/tools/fhir install hl7.fhir.xver-extensions 0.1.0 -FROM eclipse-temurin:17-jre-jammy@sha256:426b1a6458d218ce1180c443099c0c05ff277ee89e532413a9d18c3c634f350e +FROM eclipse-temurin:17-jre-jammy@sha256:ed5ea3ef6b4db2a39d241ba8f040394c11450f5373329824390c227da7f229be RUN apt-get update && apt-get upgrade -y && \ apt-get install libjemalloc2 -y && \ From 9aab994378436ee83aaafaa14bad66c61b41bbf1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 26 Apr 2024 08:20:41 +0000 Subject: [PATCH 23/46] Update github/codeql-action digest to d39d31e --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 133e8a598..240f907b7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -278,7 +278,7 @@ jobs: - name: Upload Trivy Scan Results to GitHub Security Tab if: ${{ (github.repository_owner == 'samply') || (vars.IMAGE_SCAN_UPLOAD == 'true') }} - uses: github/codeql-action/upload-sarif@8f596b4ae3cb3c588a5c46780b86dd53fef16c52 # v3 + uses: github/codeql-action/upload-sarif@d39d31e687223d841ef683f52467bd88e9b21c14 # v3 with: sarif_file: trivy-results.sarif From f5514482d07a93c885fa25665b236a6a9a358c97 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 26 Apr 2024 07:26:42 +0000 Subject: [PATCH 24/46] Update Auth.js SvelteKit to v1.0.1 Set trustHost to true, because it is needed in the new version. I decided to set it in the source because we have already PROTOCOL_HEADER and HOST_HEADER for node itself. So node will already only work if that env vars are set. So I see no need to secure Auth.js separately. See also: https://authjs.dev/reference/core/errors#untrustedhost --- .github/scripts/check-frontend.sh | 16 ++++++++++++++++ modules/frontend/package-lock.json | 16 ++++++++-------- modules/frontend/package.json | 2 +- modules/frontend/src/lib/server/auth.ts | 1 + 4 files changed, 26 insertions(+), 9 deletions(-) diff --git a/.github/scripts/check-frontend.sh b/.github/scripts/check-frontend.sh index 10fc013c2..b76619476 100755 --- a/.github/scripts/check-frontend.sh +++ b/.github/scripts/check-frontend.sh @@ -15,21 +15,27 @@ fi BASE="https://blaze.localhost/fhir" echo "checking index.html using the Accept header..." +STATUS_CODE=$(curl -sL --cacert "$CA_CERT_BLAZE" -H 'Accept: text/html' -o /dev/null -w '%{response_code}' "$BASE") HEADERS=$(curl -sL --cacert "$CA_CERT_BLAZE" -H 'Accept: text/html' -o /dev/null -D - "$BASE") CONTENT_TYPE_HEADER=$(echo "$HEADERS" | grep -iv 'X-Content-Type-Options' | grep -i 'Content-Type' | tr -d '\r' | cut -d' ' -f2) +test "status code" "$STATUS_CODE" "200" test "Content-Type header" "$CONTENT_TYPE_HEADER" "text/html" echo "checking index.html using the _format query param..." +STATUS_CODE=$(curl -sL --cacert "$CA_CERT_BLAZE" -o /dev/null -w '%{response_code}' "$BASE?_format=html") HEADERS=$(curl -sL --cacert "$CA_CERT_BLAZE" -o /dev/null -D - "$BASE?_format=html") CONTENT_TYPE_HEADER=$(echo "$HEADERS" | grep -iv 'X-Content-Type-Options' | grep -i 'Content-Type' | tr -d '\r' | cut -d' ' -f2) +test "status code" "$STATUS_CODE" "200" test "Content-Type header" "$CONTENT_TYPE_HEADER" "text/html" echo "checking version.json..." +STATUS_CODE=$(curl -sL --cacert "$CA_CERT_BLAZE" -H 'Accept: text/html' -o /dev/null -w '%{response_code}' "$BASE/_app/version.json") HEADERS=$(curl -sL --cacert "$CA_CERT_BLAZE" -H 'Accept: text/html' -o /dev/null -D - "$BASE/_app/version.json") CONTENT_TYPE_HEADER=$(echo "$HEADERS" | grep -iv 'X-Content-Type-Options' | grep -i 'Content-Type' | tr -d '\r' | cut -d' ' -f2) +test "status code" "$STATUS_CODE" "200" test "Content-Type header" "$CONTENT_TYPE_HEADER" "application/json" echo "checking system-search using access token..." @@ -37,8 +43,18 @@ RESOURCE_TYPE=$(curl -sL --cacert "$CA_CERT_BLAZE" --oauth2-bearer "$ACCESS_TOKE test "Resource type" "$RESOURCE_TYPE" "Bundle" +echo "checking system-search JSON using the _format query param..." +STATUS_CODE=$(curl -sL --cacert "$CA_CERT_BLAZE" --oauth2-bearer "$ACCESS_TOKEN" -o /dev/null -w '%{response_code}' "$BASE?_format=json") +HEADERS=$(curl -sL --cacert "$CA_CERT_BLAZE" --oauth2-bearer "$ACCESS_TOKEN" -o /dev/null -D - "$BASE?_format=json") +CONTENT_TYPE_HEADER=$(echo "$HEADERS" | grep -iv 'X-Content-Type-Options' | grep -i 'Content-Type' | tr -d '\r' | cut -d' ' -f2) + +test "status code" "$STATUS_CODE" "200" +test "Content-Type header" "$CONTENT_TYPE_HEADER" "application/fhir+json;charset=utf-8" + echo "checking system-search XML using the _format query param..." +STATUS_CODE=$(curl -sL --cacert "$CA_CERT_BLAZE" --oauth2-bearer "$ACCESS_TOKEN" -o /dev/null -w '%{response_code}' "$BASE?_format=xml") HEADERS=$(curl -sL --cacert "$CA_CERT_BLAZE" --oauth2-bearer "$ACCESS_TOKEN" -o /dev/null -D - "$BASE?_format=xml") CONTENT_TYPE_HEADER=$(echo "$HEADERS" | grep -iv 'X-Content-Type-Options' | grep -i 'Content-Type' | tr -d '\r' | cut -d' ' -f2) +test "status code" "$STATUS_CODE" "200" test "Content-Type header" "$CONTENT_TYPE_HEADER" "application/fhir+xml;charset=utf-8" diff --git a/modules/frontend/package-lock.json b/modules/frontend/package-lock.json index 6df13e5b5..ce66c9ce5 100644 --- a/modules/frontend/package-lock.json +++ b/modules/frontend/package-lock.json @@ -8,7 +8,7 @@ "name": "blaze-frontend", "version": "0.26.0", "dependencies": { - "@auth/sveltekit": "^0.14.0", + "@auth/sveltekit": "^1.0.0", "@fontsource-variable/inter": "^5.0.8", "@tailwindcss/forms": "^0.5.3" }, @@ -76,9 +76,9 @@ } }, "node_modules/@auth/core": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/@auth/core/-/core-0.28.0.tgz", - "integrity": "sha512-/fh/tb/L4NMSYcyPoo4Imn8vN6MskcVfgESF8/ndgtI4fhD/7u7i5fTVzWgNRZ4ebIEGHNDbWFRxaTu1NtQgvA==", + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/@auth/core/-/core-0.30.0.tgz", + "integrity": "sha512-8AE4m/nk+4EIiVCJwxZAsJeAQuzpEC8M8768mmKVn60CGDdupKQkVhxbRlm5Qh7eNRCoFFME+0DvtaX2aXrYaA==", "dependencies": { "@panva/hkdf": "^1.1.1", "@types/cookie": "0.6.0", @@ -106,11 +106,11 @@ } }, "node_modules/@auth/sveltekit": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@auth/sveltekit/-/sveltekit-0.14.0.tgz", - "integrity": "sha512-I4ec4hcL4BTHgebJ1KvjX/8VclLuJAkcJdPwH0BOGt20qlu+wipI7EQjJy6EG2s4p0cAEWaIGGKFhMZIUfb+1Q==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@auth/sveltekit/-/sveltekit-1.0.1.tgz", + "integrity": "sha512-PNV/r20o1fRNs72CjwMgiw4Ti12BYm/GVpuMbTzNxHE+eZLWuw4MZY05LtMvy9VmN8LWlEKxTmAQKj7nUmYJNA==", "dependencies": { - "@auth/core": "0.28.0", + "@auth/core": "0.30.0", "set-cookie-parser": "^2.6.0" }, "peerDependencies": { diff --git a/modules/frontend/package.json b/modules/frontend/package.json index 4fdaca244..cf94c8c29 100644 --- a/modules/frontend/package.json +++ b/modules/frontend/package.json @@ -45,7 +45,7 @@ }, "type": "module", "dependencies": { - "@auth/sveltekit": "^0.14.0", + "@auth/sveltekit": "^1.0.0", "@fontsource-variable/inter": "^5.0.8", "@tailwindcss/forms": "^0.5.3" } diff --git a/modules/frontend/src/lib/server/auth.ts b/modules/frontend/src/lib/server/auth.ts index 4b22cdff8..ae37e81ad 100644 --- a/modules/frontend/src/lib/server/auth.ts +++ b/modules/frontend/src/lib/server/auth.ts @@ -48,6 +48,7 @@ export const { handle, signIn, signOut } = SvelteKitAuth({ issuer: env.AUTH_ISSUER }) ], + trustHost: true, callbacks: { async jwt({ token, account }) { if (account) { From ab57fa817e0af4d2e4fd915448a4a92ca7678ac4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 26 Apr 2024 11:44:57 +0000 Subject: [PATCH 25/46] Update dependency @types/node to v20.12.7 --- modules/frontend-e2e/package-lock.json | 6 +++--- modules/frontend/package-lock.json | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/modules/frontend-e2e/package-lock.json b/modules/frontend-e2e/package-lock.json index 6707856be..70b5cff19 100644 --- a/modules/frontend-e2e/package-lock.json +++ b/modules/frontend-e2e/package-lock.json @@ -29,9 +29,9 @@ } }, "node_modules/@types/node": { - "version": "20.11.30", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.30.tgz", - "integrity": "sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==", + "version": "20.12.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.7.tgz", + "integrity": "sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==", "dev": true, "dependencies": { "undici-types": "~5.26.4" diff --git a/modules/frontend/package-lock.json b/modules/frontend/package-lock.json index ce66c9ce5..8c098debd 100644 --- a/modules/frontend/package-lock.json +++ b/modules/frontend/package-lock.json @@ -1122,9 +1122,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.10.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.7.tgz", - "integrity": "sha512-fRbIKb8C/Y2lXxB5eVMj4IU7xpdox0Lh8bUPEdtLysaylsml1hOOx1+STloRs/B9nf7C6kPRmmg/V7aQW7usNg==", + "version": "20.12.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.7.tgz", + "integrity": "sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==", "devOptional": true, "dependencies": { "undici-types": "~5.26.4" From 000da8fc09d17ad959a6010eb82ffafa94c52b5b Mon Sep 17 00:00:00 2001 From: Alexander Kiel Date: Fri, 26 Apr 2024 14:44:38 +0200 Subject: [PATCH 26/46] Remove Duplicate CI Util Function --- .github/scripts/util.sh | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.github/scripts/util.sh b/.github/scripts/util.sh index 31b0ed0de..68c6fe767 100644 --- a/.github/scripts/util.sh +++ b/.github/scripts/util.sh @@ -25,11 +25,3 @@ create() { update() { curl -XPUT -s -H 'Accept: application/fhir+json' -H "Content-Type: application/fhir+json" -d @- -o /dev/null "$1" } - -create() { - curl -s -H 'Accept: application/fhir+json' -H "Content-Type: application/fhir+json" -d @- "$1" -} - -update() { - curl -XPUT -s -H 'Accept: application/fhir+json' -H "Content-Type: application/fhir+json" -d @- -o /dev/null "$1" -} From 2a39f138d5400ebe9e574f3285868f02c838a09a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 26 Apr 2024 13:53:59 +0000 Subject: [PATCH 27/46] Update dependency @sveltejs/vite-plugin-svelte to v3.1.0 --- modules/frontend/package-lock.json | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/modules/frontend/package-lock.json b/modules/frontend/package-lock.json index 8c098debd..9e3fd4e9d 100644 --- a/modules/frontend/package-lock.json +++ b/modules/frontend/package-lock.json @@ -1040,16 +1040,16 @@ } }, "node_modules/@sveltejs/vite-plugin-svelte": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-3.0.2.tgz", - "integrity": "sha512-MpmF/cju2HqUls50WyTHQBZUV3ovV/Uk8k66AN2gwHogNAG8wnW8xtZDhzNBsFJJuvmq1qnzA5kE7YfMJNFv2Q==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-3.1.0.tgz", + "integrity": "sha512-sY6ncCvg+O3njnzbZexcVtUqOBE3iYmQPJ9y+yXSkOwG576QI/xJrBnQSRXFLGwJNBa0T78JEKg5cIR0WOAuUw==", "dependencies": { "@sveltejs/vite-plugin-svelte-inspector": "^2.0.0", "debug": "^4.3.4", "deepmerge": "^4.3.1", "kleur": "^4.1.5", - "magic-string": "^0.30.5", - "svelte-hmr": "^0.15.3", + "magic-string": "^0.30.9", + "svelte-hmr": "^0.16.0", "vitefu": "^0.2.5" }, "engines": { @@ -2981,14 +2981,11 @@ } }, "node_modules/magic-string": { - "version": "0.30.5", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz", - "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==", + "version": "0.30.10", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz", + "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==", "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15" - }, - "engines": { - "node": ">=12" } }, "node_modules/mdn-data": { @@ -4180,9 +4177,9 @@ } }, "node_modules/svelte-hmr": { - "version": "0.15.3", - "resolved": "https://registry.npmjs.org/svelte-hmr/-/svelte-hmr-0.15.3.tgz", - "integrity": "sha512-41snaPswvSf8TJUhlkoJBekRrABDXDMdpNpT2tfHIv4JuhgvHqLMhEPGtaQn0BmbNSTkuz2Ed20DF2eHw0SmBQ==", + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/svelte-hmr/-/svelte-hmr-0.16.0.tgz", + "integrity": "sha512-Gyc7cOS3VJzLlfj7wKS0ZnzDVdv3Pn2IuVeJPk9m2skfhcu5bq3wtIZyQGggr7/Iim5rH5cncyQft/kRLupcnA==", "engines": { "node": "^12.20 || ^14.13.1 || >= 16" }, From 793e0d30a0e8632a1d839ca2daeaa12e4723fac4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 26 Apr 2024 14:50:28 +0000 Subject: [PATCH 28/46] Update dependency typescript to v5.4.5 --- modules/frontend/package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/frontend/package-lock.json b/modules/frontend/package-lock.json index 9e3fd4e9d..f1016e05d 100644 --- a/modules/frontend/package-lock.json +++ b/modules/frontend/package-lock.json @@ -4476,9 +4476,9 @@ } }, "node_modules/typescript": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", - "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", "dev": true, "bin": { "tsc": "bin/tsc", From 0ec6e4d4c93e0f19f232b0db7fb1be40a70e997d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 26 Apr 2024 15:38:58 +0000 Subject: [PATCH 29/46] Update dependency change-case to v5.4.4 --- modules/frontend/package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/frontend/package-lock.json b/modules/frontend/package-lock.json index f1016e05d..40c333b48 100644 --- a/modules/frontend/package-lock.json +++ b/modules/frontend/package-lock.json @@ -1798,9 +1798,9 @@ } }, "node_modules/change-case": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/change-case/-/change-case-5.0.2.tgz", - "integrity": "sha512-tH6YZXViaeC2/Mnt8m4gSmbZfNorC2rhwCX2bXw8SYZWr8ljCPB7iA+1TLG9t7yroWBFauc63LlOZ1gucMVCWw==", + "version": "5.4.4", + "resolved": "https://registry.npmjs.org/change-case/-/change-case-5.4.4.tgz", + "integrity": "sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w==", "dev": true }, "node_modules/check-error": { From 2405c57b3c8663ea0fb5bf6719b20ebc7e98d763 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 26 Apr 2024 17:29:10 +0000 Subject: [PATCH 30/46] Update docker/setup-buildx-action digest to d70bba7 --- .github/workflows/build.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 240f907b7..47bf4fd59 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -196,7 +196,7 @@ jobs: path: target/blaze-*-standalone.jar - name: Set up Docker Buildx - uses: docker/setup-buildx-action@2b51285047da1547ffb1b2203d8be4c0af6b1f20 # v3 + uses: docker/setup-buildx-action@d70bba72b1f3fd22344832f00baa16ece964efeb # v3 - name: Build and Export to Docker uses: docker/build-push-action@2cdde995de11925a030ce8070c3d77a52ffcf1c0 # v5 @@ -228,7 +228,7 @@ jobs: run: make build-frontend - name: Set up Docker Buildx - uses: docker/setup-buildx-action@2b51285047da1547ffb1b2203d8be4c0af6b1f20 # v3 + uses: docker/setup-buildx-action@d70bba72b1f3fd22344832f00baa16ece964efeb # v3 - name: Build and Export to Docker uses: docker/build-push-action@2cdde995de11925a030ce8070c3d77a52ffcf1c0 # v5 @@ -1559,7 +1559,7 @@ jobs: uses: docker/setup-qemu-action@68827325e0b33c7199eb31dd4e31fbe9023e06e3 # v3 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@2b51285047da1547ffb1b2203d8be4c0af6b1f20 # v3 + uses: docker/setup-buildx-action@d70bba72b1f3fd22344832f00baa16ece964efeb # v3 - name: Login to GHCR uses: docker/login-action@e92390c5fb421da1463c202d546fed0ec5c39f20 # v3 From 190f423118db59cd6df8ded17d5f2336f9a3cf67 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 26 Apr 2024 18:10:41 +0000 Subject: [PATCH 31/46] Update dependency @sveltejs/adapter-node to v5 --- modules/frontend/package-lock.json | 8 ++++---- modules/frontend/package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/frontend/package-lock.json b/modules/frontend/package-lock.json index 40c333b48..12d02e61a 100644 --- a/modules/frontend/package-lock.json +++ b/modules/frontend/package-lock.json @@ -14,7 +14,7 @@ }, "devDependencies": { "@sveltejs/adapter-auto": "^3.0.0", - "@sveltejs/adapter-node": "^4.0.1", + "@sveltejs/adapter-node": "^5.0.0", "@sveltejs/adapter-static": "^3.0.0", "@sveltejs/kit": "^2.0.0", "@sveltejs/vite-plugin-svelte": "^3.0.0", @@ -985,9 +985,9 @@ } }, "node_modules/@sveltejs/adapter-node": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@sveltejs/adapter-node/-/adapter-node-4.0.1.tgz", - "integrity": "sha512-IviiTtKCDp+0QoTmmMlGGZBA1EoUNsjecU6XGV9k62S3f01SNsVhpqi2e4nbI62BLGKh/YKKfFii+Vz/b9XIxg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-node/-/adapter-node-5.0.1.tgz", + "integrity": "sha512-eYdmxdUWMW+dad1JfMsWBPY2vjXz9eE+52A2AQnXPScPJlIxIVk5mmbaEEzrZivLfO2wEcLTZ5vdC03W69x+iA==", "dev": true, "dependencies": { "@rollup/plugin-commonjs": "^25.0.7", diff --git a/modules/frontend/package.json b/modules/frontend/package.json index cf94c8c29..7a074d6c9 100644 --- a/modules/frontend/package.json +++ b/modules/frontend/package.json @@ -15,7 +15,7 @@ }, "devDependencies": { "@sveltejs/adapter-auto": "^3.0.0", - "@sveltejs/adapter-node": "^4.0.1", + "@sveltejs/adapter-node": "^5.0.0", "@sveltejs/adapter-static": "^3.0.0", "@sveltejs/kit": "^2.0.0", "@sveltejs/vite-plugin-svelte": "^3.0.0", From 95c00ade448d67466fc305ecf09497b02f451c9e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 26 Apr 2024 20:18:59 +0000 Subject: [PATCH 32/46] Update codecov/codecov-action digest to 8450866 --- .github/workflows/coverage.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index c7616a052..b3568b33f 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -34,7 +34,7 @@ jobs: run: make test-coverage - name: Codecov Upload - uses: codecov/codecov-action@c16abc29c95fcf9174b58eb7e1abf4c866893bc8 # v4 + uses: codecov/codecov-action@84508663e988701840491b86de86b666e8a86bed # v4 with: name: codecov-umbrella token: ${{ secrets.CODECOV_TOKEN }} From 400e399b2c536757756bdedd3ef7abfc257a2dc7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 27 Apr 2024 08:42:30 +0000 Subject: [PATCH 33/46] Update dependency vite to v5.2.10 --- modules/frontend/package-lock.json | 351 ++++++++++++++++------------- 1 file changed, 195 insertions(+), 156 deletions(-) diff --git a/modules/frontend/package-lock.json b/modules/frontend/package-lock.json index 12d02e61a..9b69d9c65 100644 --- a/modules/frontend/package-lock.json +++ b/modules/frontend/package-lock.json @@ -119,9 +119,9 @@ } }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.10.tgz", - "integrity": "sha512-Q+mk96KJ+FZ30h9fsJl+67IjNJm3x2eX+GBWGmocAKgzp27cowCOOqSdscX80s0SpdFXZnIv/+1xD1EctFx96Q==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz", + "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==", "cpu": [ "ppc64" ], @@ -134,9 +134,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.10.tgz", - "integrity": "sha512-7W0bK7qfkw1fc2viBfrtAEkDKHatYfHzr/jKAHNr9BvkYDXPcC6bodtm8AyLJNNuqClLNaeTLuwURt4PRT9d7w==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz", + "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==", "cpu": [ "arm" ], @@ -149,9 +149,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.10.tgz", - "integrity": "sha512-1X4CClKhDgC3by7k8aOWZeBXQX8dHT5QAMCAQDArCLaYfkppoARvh0fit3X2Qs+MXDngKcHv6XXyQCpY0hkK1Q==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz", + "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==", "cpu": [ "arm64" ], @@ -164,9 +164,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.10.tgz", - "integrity": "sha512-O/nO/g+/7NlitUxETkUv/IvADKuZXyH4BHf/g/7laqKC4i/7whLpB0gvpPc2zpF0q9Q6FXS3TS75QHac9MvVWw==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz", + "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==", "cpu": [ "x64" ], @@ -179,9 +179,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.10.tgz", - "integrity": "sha512-YSRRs2zOpwypck+6GL3wGXx2gNP7DXzetmo5pHXLrY/VIMsS59yKfjPizQ4lLt5vEI80M41gjm2BxrGZ5U+VMA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz", + "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==", "cpu": [ "arm64" ], @@ -194,9 +194,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.10.tgz", - "integrity": "sha512-alfGtT+IEICKtNE54hbvPg13xGBe4GkVxyGWtzr+yHO7HIiRJppPDhOKq3zstTcVf8msXb/t4eavW3jCDpMSmA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz", + "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==", "cpu": [ "x64" ], @@ -209,9 +209,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.10.tgz", - "integrity": "sha512-dMtk1wc7FSH8CCkE854GyGuNKCewlh+7heYP/sclpOG6Cectzk14qdUIY5CrKDbkA/OczXq9WesqnPl09mj5dg==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz", + "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==", "cpu": [ "arm64" ], @@ -224,9 +224,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.10.tgz", - "integrity": "sha512-G5UPPspryHu1T3uX8WiOEUa6q6OlQh6gNl4CO4Iw5PS+Kg5bVggVFehzXBJY6X6RSOMS8iXDv2330VzaObm4Ag==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz", + "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==", "cpu": [ "x64" ], @@ -239,9 +239,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.10.tgz", - "integrity": "sha512-j6gUW5aAaPgD416Hk9FHxn27On28H4eVI9rJ4az7oCGTFW48+LcgNDBN+9f8rKZz7EEowo889CPKyeaD0iw9Kg==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz", + "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==", "cpu": [ "arm" ], @@ -254,9 +254,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.10.tgz", - "integrity": "sha512-QxaouHWZ+2KWEj7cGJmvTIHVALfhpGxo3WLmlYfJ+dA5fJB6lDEIg+oe/0//FuyVHuS3l79/wyBxbHr0NgtxJQ==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz", + "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==", "cpu": [ "arm64" ], @@ -269,9 +269,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.10.tgz", - "integrity": "sha512-4ub1YwXxYjj9h1UIZs2hYbnTZBtenPw5NfXCRgEkGb0b6OJ2gpkMvDqRDYIDRjRdWSe/TBiZltm3Y3Q8SN1xNg==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz", + "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==", "cpu": [ "ia32" ], @@ -284,9 +284,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.10.tgz", - "integrity": "sha512-lo3I9k+mbEKoxtoIbM0yC/MZ1i2wM0cIeOejlVdZ3D86LAcFXFRdeuZmh91QJvUTW51bOK5W2BznGNIl4+mDaA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz", + "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==", "cpu": [ "loong64" ], @@ -299,9 +299,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.10.tgz", - "integrity": "sha512-J4gH3zhHNbdZN0Bcr1QUGVNkHTdpijgx5VMxeetSk6ntdt+vR1DqGmHxQYHRmNb77tP6GVvD+K0NyO4xjd7y4A==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz", + "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==", "cpu": [ "mips64el" ], @@ -314,9 +314,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.10.tgz", - "integrity": "sha512-tgT/7u+QhV6ge8wFMzaklOY7KqiyitgT1AUHMApau32ZlvTB/+efeCtMk4eXS+uEymYK249JsoiklZN64xt6oQ==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz", + "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==", "cpu": [ "ppc64" ], @@ -329,9 +329,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.10.tgz", - "integrity": "sha512-0f/spw0PfBMZBNqtKe5FLzBDGo0SKZKvMl5PHYQr3+eiSscfJ96XEknCe+JoOayybWUFQbcJTrk946i3j9uYZA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz", + "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==", "cpu": [ "riscv64" ], @@ -344,9 +344,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.10.tgz", - "integrity": "sha512-pZFe0OeskMHzHa9U38g+z8Yx5FNCLFtUnJtQMpwhS+r4S566aK2ci3t4NCP4tjt6d5j5uo4h7tExZMjeKoehAA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz", + "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==", "cpu": [ "s390x" ], @@ -359,9 +359,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.10.tgz", - "integrity": "sha512-SpYNEqg/6pZYoc+1zLCjVOYvxfZVZj6w0KROZ3Fje/QrM3nfvT2llI+wmKSrWuX6wmZeTapbarvuNNK/qepSgA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz", + "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==", "cpu": [ "x64" ], @@ -374,9 +374,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.10.tgz", - "integrity": "sha512-ACbZ0vXy9zksNArWlk2c38NdKg25+L9pr/mVaj9SUq6lHZu/35nx2xnQVRGLrC1KKQqJKRIB0q8GspiHI3J80Q==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz", + "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==", "cpu": [ "x64" ], @@ -389,9 +389,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.10.tgz", - "integrity": "sha512-PxcgvjdSjtgPMiPQrM3pwSaG4kGphP+bLSb+cihuP0LYdZv1epbAIecHVl5sD3npkfYBZ0ZnOjR878I7MdJDFg==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz", + "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==", "cpu": [ "x64" ], @@ -404,9 +404,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.10.tgz", - "integrity": "sha512-ZkIOtrRL8SEJjr+VHjmW0znkPs+oJXhlJbNwfI37rvgeMtk3sxOQevXPXjmAPZPigVTncvFqLMd+uV0IBSEzqA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz", + "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==", "cpu": [ "x64" ], @@ -419,9 +419,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.10.tgz", - "integrity": "sha512-+Sa4oTDbpBfGpl3Hn3XiUe4f8TU2JF7aX8cOfqFYMMjXp6ma6NJDztl5FDG8Ezx0OjwGikIHw+iA54YLDNNVfw==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz", + "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==", "cpu": [ "arm64" ], @@ -434,9 +434,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.10.tgz", - "integrity": "sha512-EOGVLK1oWMBXgfttJdPHDTiivYSjX6jDNaATeNOaCOFEVcfMjtbx7WVQwPSE1eIfCp/CaSF2nSrDtzc4I9f8TQ==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz", + "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==", "cpu": [ "ia32" ], @@ -449,9 +449,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.10.tgz", - "integrity": "sha512-whqLG6Sc70AbU73fFYvuYzaE4MNMBIlR1Y/IrUeOXFrWHxBEjjbZaQ3IXIQS8wJdAzue2GwYZCjOrgrU1oUHoA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", + "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", "cpu": [ "x64" ], @@ -811,9 +811,9 @@ "dev": true }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.12.0.tgz", - "integrity": "sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==", + "version": "4.16.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.16.4.tgz", + "integrity": "sha512-GkhjAaQ8oUTOKE4g4gsZ0u8K/IHU1+2WQSgS1TwTcYvL+sjbaQjNHFXbOJ6kgqGHIO1DfUhI/Sphi9GkRT9K+Q==", "cpu": [ "arm" ], @@ -823,9 +823,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.12.0.tgz", - "integrity": "sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==", + "version": "4.16.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.16.4.tgz", + "integrity": "sha512-Bvm6D+NPbGMQOcxvS1zUl8H7DWlywSXsphAeOnVeiZLQ+0J6Is8T7SrjGTH29KtYkiY9vld8ZnpV3G2EPbom+w==", "cpu": [ "arm64" ], @@ -835,9 +835,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.12.0.tgz", - "integrity": "sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==", + "version": "4.16.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.16.4.tgz", + "integrity": "sha512-i5d64MlnYBO9EkCOGe5vPR/EeDwjnKOGGdd7zKFhU5y8haKhQZTN2DgVtpODDMxUr4t2K90wTUJg7ilgND6bXw==", "cpu": [ "arm64" ], @@ -847,9 +847,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.12.0.tgz", - "integrity": "sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==", + "version": "4.16.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.16.4.tgz", + "integrity": "sha512-WZupV1+CdUYehaZqjaFTClJI72fjJEgTXdf4NbW69I9XyvdmztUExBtcI2yIIU6hJtYvtwS6pkTkHJz+k08mAQ==", "cpu": [ "x64" ], @@ -859,9 +859,21 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.12.0.tgz", - "integrity": "sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==", + "version": "4.16.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.16.4.tgz", + "integrity": "sha512-ADm/xt86JUnmAfA9mBqFcRp//RVRt1ohGOYF6yL+IFCYqOBNwy5lbEK05xTsEoJq+/tJzg8ICUtS82WinJRuIw==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.16.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.16.4.tgz", + "integrity": "sha512-tJfJaXPiFAG+Jn3cutp7mCs1ePltuAgRqdDZrzb1aeE3TktWWJ+g7xK9SNlaSUFw6IU4QgOxAY4rA+wZUT5Wfg==", "cpu": [ "arm" ], @@ -871,9 +883,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.12.0.tgz", - "integrity": "sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==", + "version": "4.16.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.16.4.tgz", + "integrity": "sha512-7dy1BzQkgYlUTapDTvK997cgi0Orh5Iu7JlZVBy1MBURk7/HSbHkzRnXZa19ozy+wwD8/SlpJnOOckuNZtJR9w==", "cpu": [ "arm64" ], @@ -883,9 +895,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.12.0.tgz", - "integrity": "sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==", + "version": "4.16.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.16.4.tgz", + "integrity": "sha512-zsFwdUw5XLD1gQe0aoU2HVceI6NEW7q7m05wA46eUAyrkeNYExObfRFQcvA6zw8lfRc5BHtan3tBpo+kqEOxmg==", "cpu": [ "arm64" ], @@ -894,10 +906,22 @@ "linux" ] }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.16.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.16.4.tgz", + "integrity": "sha512-p8C3NnxXooRdNrdv6dBmRTddEapfESEUflpICDNKXpHvTjRRq1J82CbU5G3XfebIZyI3B0s074JHMWD36qOW6w==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ] + }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.12.0.tgz", - "integrity": "sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==", + "version": "4.16.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.16.4.tgz", + "integrity": "sha512-Lh/8ckoar4s4Id2foY7jNgitTOUQczwMWNYi+Mjt0eQ9LKhr6sK477REqQkmy8YHY3Ca3A2JJVdXnfb3Rrwkng==", "cpu": [ "riscv64" ], @@ -906,10 +930,22 @@ "linux" ] }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.16.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.16.4.tgz", + "integrity": "sha512-1xwwn9ZCQYuqGmulGsTZoKrrn0z2fAur2ujE60QgyDpHmBbXbxLaQiEvzJWDrscRq43c8DnuHx3QorhMTZgisQ==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ] + }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.12.0.tgz", - "integrity": "sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==", + "version": "4.16.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.16.4.tgz", + "integrity": "sha512-LuOGGKAJ7dfRtxVnO1i3qWc6N9sh0Em/8aZ3CezixSTM+E9Oq3OvTsvC4sm6wWjzpsIlOCnZjdluINKESflJLA==", "cpu": [ "x64" ], @@ -919,9 +955,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.12.0.tgz", - "integrity": "sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==", + "version": "4.16.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.16.4.tgz", + "integrity": "sha512-ch86i7KkJKkLybDP2AtySFTRi5fM3KXp0PnHocHuJMdZwu7BuyIKi35BE9guMlmTpwwBTB3ljHj9IQXnTCD0vA==", "cpu": [ "x64" ], @@ -931,9 +967,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.12.0.tgz", - "integrity": "sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==", + "version": "4.16.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.16.4.tgz", + "integrity": "sha512-Ma4PwyLfOWZWayfEsNQzTDBVW8PZ6TUUN1uFTBQbF2Chv/+sjenE86lpiEwj2FiviSmSZ4Ap4MaAfl1ciF4aSA==", "cpu": [ "arm64" ], @@ -943,9 +979,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.12.0.tgz", - "integrity": "sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==", + "version": "4.16.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.16.4.tgz", + "integrity": "sha512-9m/ZDrQsdo/c06uOlP3W9G2ENRVzgzbSXmXHT4hwVaDQhYcRpi9bgBT0FTG9OhESxwK0WjQxYOSfv40cU+T69w==", "cpu": [ "ia32" ], @@ -955,9 +991,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.12.0.tgz", - "integrity": "sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==", + "version": "4.16.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.16.4.tgz", + "integrity": "sha512-YunpoOAyGLDseanENHmbFvQSfVL5BxW3k7hhy0eN4rb3gS/ct75dVD0EXOWIqFT/nE8XYW6LP6vz6ctKRi0k9A==", "cpu": [ "x64" ], @@ -2066,9 +2102,9 @@ "dev": true }, "node_modules/esbuild": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.10.tgz", - "integrity": "sha512-S1Y27QGt/snkNYrRcswgRFqZjaTG5a5xM3EQo97uNBnH505pdzSNe/HLBq1v0RO7iK/ngdbhJB6mDAp0OK+iUA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz", + "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", "hasInstallScript": true, "bin": { "esbuild": "bin/esbuild" @@ -2077,29 +2113,29 @@ "node": ">=12" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.19.10", - "@esbuild/android-arm": "0.19.10", - "@esbuild/android-arm64": "0.19.10", - "@esbuild/android-x64": "0.19.10", - "@esbuild/darwin-arm64": "0.19.10", - "@esbuild/darwin-x64": "0.19.10", - "@esbuild/freebsd-arm64": "0.19.10", - "@esbuild/freebsd-x64": "0.19.10", - "@esbuild/linux-arm": "0.19.10", - "@esbuild/linux-arm64": "0.19.10", - "@esbuild/linux-ia32": "0.19.10", - "@esbuild/linux-loong64": "0.19.10", - "@esbuild/linux-mips64el": "0.19.10", - "@esbuild/linux-ppc64": "0.19.10", - "@esbuild/linux-riscv64": "0.19.10", - "@esbuild/linux-s390x": "0.19.10", - "@esbuild/linux-x64": "0.19.10", - "@esbuild/netbsd-x64": "0.19.10", - "@esbuild/openbsd-x64": "0.19.10", - "@esbuild/sunos-x64": "0.19.10", - "@esbuild/win32-arm64": "0.19.10", - "@esbuild/win32-ia32": "0.19.10", - "@esbuild/win32-x64": "0.19.10" + "@esbuild/aix-ppc64": "0.20.2", + "@esbuild/android-arm": "0.20.2", + "@esbuild/android-arm64": "0.20.2", + "@esbuild/android-x64": "0.20.2", + "@esbuild/darwin-arm64": "0.20.2", + "@esbuild/darwin-x64": "0.20.2", + "@esbuild/freebsd-arm64": "0.20.2", + "@esbuild/freebsd-x64": "0.20.2", + "@esbuild/linux-arm": "0.20.2", + "@esbuild/linux-arm64": "0.20.2", + "@esbuild/linux-ia32": "0.20.2", + "@esbuild/linux-loong64": "0.20.2", + "@esbuild/linux-mips64el": "0.20.2", + "@esbuild/linux-ppc64": "0.20.2", + "@esbuild/linux-riscv64": "0.20.2", + "@esbuild/linux-s390x": "0.20.2", + "@esbuild/linux-x64": "0.20.2", + "@esbuild/netbsd-x64": "0.20.2", + "@esbuild/openbsd-x64": "0.20.2", + "@esbuild/sunos-x64": "0.20.2", + "@esbuild/win32-arm64": "0.20.2", + "@esbuild/win32-ia32": "0.20.2", + "@esbuild/win32-x64": "0.20.2" } }, "node_modules/escalade": { @@ -3777,9 +3813,9 @@ } }, "node_modules/rollup": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.12.0.tgz", - "integrity": "sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==", + "version": "4.16.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.16.4.tgz", + "integrity": "sha512-kuaTJSUbz+Wsb2ATGvEknkI12XV40vIiHmLuFlejoo7HtDok/O5eDDD0UpCVY5bBX5U5RYo8wWP83H7ZsqVEnA==", "dependencies": { "@types/estree": "1.0.5" }, @@ -3791,19 +3827,22 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.12.0", - "@rollup/rollup-android-arm64": "4.12.0", - "@rollup/rollup-darwin-arm64": "4.12.0", - "@rollup/rollup-darwin-x64": "4.12.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.12.0", - "@rollup/rollup-linux-arm64-gnu": "4.12.0", - "@rollup/rollup-linux-arm64-musl": "4.12.0", - "@rollup/rollup-linux-riscv64-gnu": "4.12.0", - "@rollup/rollup-linux-x64-gnu": "4.12.0", - "@rollup/rollup-linux-x64-musl": "4.12.0", - "@rollup/rollup-win32-arm64-msvc": "4.12.0", - "@rollup/rollup-win32-ia32-msvc": "4.12.0", - "@rollup/rollup-win32-x64-msvc": "4.12.0", + "@rollup/rollup-android-arm-eabi": "4.16.4", + "@rollup/rollup-android-arm64": "4.16.4", + "@rollup/rollup-darwin-arm64": "4.16.4", + "@rollup/rollup-darwin-x64": "4.16.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.16.4", + "@rollup/rollup-linux-arm-musleabihf": "4.16.4", + "@rollup/rollup-linux-arm64-gnu": "4.16.4", + "@rollup/rollup-linux-arm64-musl": "4.16.4", + "@rollup/rollup-linux-powerpc64le-gnu": "4.16.4", + "@rollup/rollup-linux-riscv64-gnu": "4.16.4", + "@rollup/rollup-linux-s390x-gnu": "4.16.4", + "@rollup/rollup-linux-x64-gnu": "4.16.4", + "@rollup/rollup-linux-x64-musl": "4.16.4", + "@rollup/rollup-win32-arm64-msvc": "4.16.4", + "@rollup/rollup-win32-ia32-msvc": "4.16.4", + "@rollup/rollup-win32-x64-msvc": "4.16.4", "fsevents": "~2.3.2" } }, @@ -4545,13 +4584,13 @@ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "node_modules/vite": { - "version": "5.0.13", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.13.tgz", - "integrity": "sha512-/9ovhv2M2dGTuA+dY93B9trfyWMDRQw2jdVBhHNP6wr0oF34wG2i/N55801iZIpgUpnHDm4F/FabGQLyc+eOgg==", + "version": "5.2.10", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.10.tgz", + "integrity": "sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw==", "dependencies": { - "esbuild": "^0.19.3", - "postcss": "^8.4.32", - "rollup": "^4.2.0" + "esbuild": "^0.20.1", + "postcss": "^8.4.38", + "rollup": "^4.13.0" }, "bin": { "vite": "bin/vite.js" From e034d3387e3539a0f418ecc8f394d45c974377cc Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 27 Apr 2024 09:41:18 +0000 Subject: [PATCH 34/46] Update dependency vitest to v1.5.2 --- modules/frontend/package-lock.json | 106 +++++++++++++++-------------- modules/frontend/package.json | 2 +- 2 files changed, 57 insertions(+), 51 deletions(-) diff --git a/modules/frontend/package-lock.json b/modules/frontend/package-lock.json index 9b69d9c65..982ffb219 100644 --- a/modules/frontend/package-lock.json +++ b/modules/frontend/package-lock.json @@ -40,7 +40,7 @@ "tslib": "^2.4.1", "typescript": "^5.0.0", "vite": "^5.0.0", - "vitest": "1.1.1" + "vitest": "1.5.2" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -1405,13 +1405,13 @@ "dev": true }, "node_modules/@vitest/expect": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.1.1.tgz", - "integrity": "sha512-Qpw01C2Hyb3085jBkOJLQ7HRX0Ncnh2qV4p+xWmmhcIUlMykUF69zsnZ1vPmAjZpomw9+5tWEGOQ0GTfR8U+kA==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.5.2.tgz", + "integrity": "sha512-rf7MTD1WCoDlN3FfYJ9Llfp0PbdtOMZ3FIF0AVkDnKbp3oiMW1c8AmvRZBcqbAhDUAvF52e9zx4WQM1r3oraVA==", "dev": true, "dependencies": { - "@vitest/spy": "1.1.1", - "@vitest/utils": "1.1.1", + "@vitest/spy": "1.5.2", + "@vitest/utils": "1.5.2", "chai": "^4.3.10" }, "funding": { @@ -1419,12 +1419,12 @@ } }, "node_modules/@vitest/runner": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.1.1.tgz", - "integrity": "sha512-8HokyJo1SnSi3uPFKfWm/Oq1qDwLC4QDcVsqpXIXwsRPAg3gIDh8EbZ1ri8cmQkBxdOu62aOF9B4xcqJhvt4xQ==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.5.2.tgz", + "integrity": "sha512-7IJ7sJhMZrqx7HIEpv3WrMYcq8ZNz9L6alo81Y6f8hV5mIE6yVZsFoivLZmr0D777klm1ReqonE9LyChdcmw6g==", "dev": true, "dependencies": { - "@vitest/utils": "1.1.1", + "@vitest/utils": "1.5.2", "p-limit": "^5.0.0", "pathe": "^1.1.1" }, @@ -1460,9 +1460,9 @@ } }, "node_modules/@vitest/snapshot": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.1.1.tgz", - "integrity": "sha512-WnMHjv4VdHLbFGgCdVVvyRkRPnOKN75JJg+LLTdr6ah7YnL75W+7CTIMdzPEPzaDxA8r5yvSVlc1d8lH3yE28w==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.5.2.tgz", + "integrity": "sha512-CTEp/lTYos8fuCc9+Z55Ga5NVPKUgExritjF5VY7heRFUfheoAqBneUlvXSUJHUZPjnPmyZA96yLRJDP1QATFQ==", "dev": true, "dependencies": { "magic-string": "^0.30.5", @@ -1474,9 +1474,9 @@ } }, "node_modules/@vitest/spy": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.1.1.tgz", - "integrity": "sha512-hDU2KkOTfFp4WFFPWwHFauddwcKuGQ7gF6Un/ZZkCogoAiTMN7/7YKvUDbywPZZ754iCQGjdUmXN3t4k0jm1IQ==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.5.2.tgz", + "integrity": "sha512-xCcPvI8JpCtgikT9nLpHPL1/81AYqZy1GCy4+MCHBE7xi8jgsYkULpW5hrx5PGLgOQjUpb6fd15lqcriJ40tfQ==", "dev": true, "dependencies": { "tinyspy": "^2.2.0" @@ -1486,12 +1486,13 @@ } }, "node_modules/@vitest/utils": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.1.1.tgz", - "integrity": "sha512-E9LedH093vST/JuBSyHLFMpxJKW3dLhe/flUSPFedoyj4wKiFX7Jm8gYLtOIiin59dgrssfmFv0BJ1u8P/LC/A==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.5.2.tgz", + "integrity": "sha512-sWOmyofuXLJ85VvXNsroZur7mOJGiQeM0JN3/0D1uU8U9bGFM69X1iqHaRXl6R8BwaLY6yPCogP257zxTzkUdA==", "dev": true, "dependencies": { "diff-sequences": "^29.6.3", + "estree-walker": "^3.0.3", "loupe": "^2.3.7", "pretty-format": "^29.7.0" }, @@ -1520,9 +1521,9 @@ } }, "node_modules/acorn-walk": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.1.tgz", - "integrity": "sha512-TgUZgYvqZprrl7YldZNoa9OciCAyZR+Ejm9eXzKCmjsF5IKp/wgQ7Z/ZpjpGTIUPwrHQIcYeI8qDh4PsEwxMbw==", + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", + "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", "dev": true, "engines": { "node": ">=0.4.0" @@ -2868,6 +2869,12 @@ "url": "https://github.com/sponsors/panva" } }, + "node_modules/js-tokens": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.0.tgz", + "integrity": "sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==", + "dev": true + }, "node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -4068,12 +4075,12 @@ } }, "node_modules/strip-literal": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.3.0.tgz", - "integrity": "sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-2.1.0.tgz", + "integrity": "sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==", "dev": true, "dependencies": { - "acorn": "^8.10.0" + "js-tokens": "^9.0.0" }, "funding": { "url": "https://github.com/sponsors/antfu" @@ -4422,18 +4429,18 @@ "dev": true }, "node_modules/tinypool": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.1.tgz", - "integrity": "sha512-zBTCK0cCgRROxvs9c0CGK838sPkeokNGdQVUUwHAbynHFlmyJYj825f/oRs528HaIJ97lo0pLIlDUzwN+IorWg==", + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.4.tgz", + "integrity": "sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==", "dev": true, "engines": { "node": ">=14.0.0" } }, "node_modules/tinyspy": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.0.tgz", - "integrity": "sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz", + "integrity": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==", "dev": true, "engines": { "node": ">=14.0.0" @@ -4638,9 +4645,9 @@ } }, "node_modules/vite-node": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.1.1.tgz", - "integrity": "sha512-2bGE5w4jvym5v8llF6Gu1oBrmImoNSs4WmRVcavnG2me6+8UQntTqLiAMFyiAobp+ZXhj5ZFhI7SmLiFr/jrow==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.5.2.tgz", + "integrity": "sha512-Y8p91kz9zU+bWtF7HGt6DVw2JbhyuB2RlZix3FPYAYmUyZ3n7iTp8eSyLyY6sxtPegvxQtmlTMhfPhUfCUF93A==", "dev": true, "dependencies": { "cac": "^6.7.14", @@ -4673,18 +4680,17 @@ } }, "node_modules/vitest": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.1.1.tgz", - "integrity": "sha512-Ry2qs4UOu/KjpXVfOCfQkTnwSXYGrqTbBZxw6reIYEFjSy1QUARRg5pxiI5BEXy+kBVntxUYNMlq4Co+2vD3fQ==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.5.2.tgz", + "integrity": "sha512-l9gwIkq16ug3xY7BxHwcBQovLZG75zZL0PlsiYQbf76Rz6QGs54416UWMtC0jXeihvHvcHrf2ROEjkQRVpoZYw==", "dev": true, "dependencies": { - "@vitest/expect": "1.1.1", - "@vitest/runner": "1.1.1", - "@vitest/snapshot": "1.1.1", - "@vitest/spy": "1.1.1", - "@vitest/utils": "1.1.1", - "acorn-walk": "^8.3.0", - "cac": "^6.7.14", + "@vitest/expect": "1.5.2", + "@vitest/runner": "1.5.2", + "@vitest/snapshot": "1.5.2", + "@vitest/spy": "1.5.2", + "@vitest/utils": "1.5.2", + "acorn-walk": "^8.3.2", "chai": "^4.3.10", "debug": "^4.3.4", "execa": "^8.0.1", @@ -4693,11 +4699,11 @@ "pathe": "^1.1.1", "picocolors": "^1.0.0", "std-env": "^3.5.0", - "strip-literal": "^1.3.0", + "strip-literal": "^2.0.0", "tinybench": "^2.5.1", - "tinypool": "^0.8.1", + "tinypool": "^0.8.3", "vite": "^5.0.0", - "vite-node": "1.1.1", + "vite-node": "1.5.2", "why-is-node-running": "^2.2.2" }, "bin": { @@ -4712,8 +4718,8 @@ "peerDependencies": { "@edge-runtime/vm": "*", "@types/node": "^18.0.0 || >=20.0.0", - "@vitest/browser": "^1.0.0", - "@vitest/ui": "^1.0.0", + "@vitest/browser": "1.5.2", + "@vitest/ui": "1.5.2", "happy-dom": "*", "jsdom": "*" }, diff --git a/modules/frontend/package.json b/modules/frontend/package.json index 7a074d6c9..979948183 100644 --- a/modules/frontend/package.json +++ b/modules/frontend/package.json @@ -41,7 +41,7 @@ "tslib": "^2.4.1", "typescript": "^5.0.0", "vite": "^5.0.0", - "vitest": "1.1.1" + "vitest": "1.5.2" }, "type": "module", "dependencies": { From f5f4fec92eb60a1388b8085a52e6610e117d8dd1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 27 Apr 2024 10:17:28 +0000 Subject: [PATCH 35/46] Update dependency svelte-check to v3.7.0 --- modules/frontend/package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/frontend/package-lock.json b/modules/frontend/package-lock.json index 982ffb219..2ba2d8314 100644 --- a/modules/frontend/package-lock.json +++ b/modules/frontend/package-lock.json @@ -4174,9 +4174,9 @@ } }, "node_modules/svelte-check": { - "version": "3.6.9", - "resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-3.6.9.tgz", - "integrity": "sha512-hDQrk3L0osX07djQyMiXocKysTLfusqi8AriNcCiQxhQR49/LonYolcUGMtZ0fbUR8HTR198Prrgf52WWU9wEg==", + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-3.7.0.tgz", + "integrity": "sha512-Va6sGL4Vy4znn0K+vaatk98zoBvG2aDee4y3r5X4S80z8DXfbACHvdLlyXa4C4c5tQzK9H0Uq2pbd20wH3ucjQ==", "dev": true, "dependencies": { "@jridgewell/trace-mapping": "^0.3.17", From 23128b6b71bd622cca16136a3898201fa1a64988 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 27 Apr 2024 11:21:46 +0000 Subject: [PATCH 36/46] Update dependency prettier to v3.2.5 --- modules/frontend/package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/frontend/package-lock.json b/modules/frontend/package-lock.json index 2ba2d8314..08c4fcfdc 100644 --- a/modules/frontend/package-lock.json +++ b/modules/frontend/package-lock.json @@ -3655,9 +3655,9 @@ } }, "node_modules/prettier": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.1.tgz", - "integrity": "sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==", + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", + "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", "dev": true, "bin": { "prettier": "bin/prettier.cjs" From 67e52d2e1b455b4f4af70db645a343115e51723d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 27 Apr 2024 13:35:46 +0000 Subject: [PATCH 37/46] Update dependency prettier-plugin-svelte to v3.2.3 --- modules/frontend/package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/frontend/package-lock.json b/modules/frontend/package-lock.json index 08c4fcfdc..ae51cc522 100644 --- a/modules/frontend/package-lock.json +++ b/modules/frontend/package-lock.json @@ -3670,9 +3670,9 @@ } }, "node_modules/prettier-plugin-svelte": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/prettier-plugin-svelte/-/prettier-plugin-svelte-3.1.2.tgz", - "integrity": "sha512-7xfMZtwgAWHMT0iZc8jN4o65zgbAQ3+O32V6W7pXrqNvKnHnkoyQCGCbKeUyXKZLbYE0YhFRnamfxfkEGxm8qA==", + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/prettier-plugin-svelte/-/prettier-plugin-svelte-3.2.3.tgz", + "integrity": "sha512-wJq8RunyFlWco6U0WJV5wNCM7zpBFakS76UBSbmzMGpncpK98NZABaE+s7n8/APDCEVNHXC5Mpq+MLebQtsRlg==", "dev": true, "peerDependencies": { "prettier": "^3.0.0", From 6230755448686aa8fca9c0c526c781a71c5a688b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 27 Apr 2024 14:19:53 +0000 Subject: [PATCH 38/46] Update dependency commons-codec/commons-codec to v1.17.0 --- modules/db/deps.edn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/db/deps.edn b/modules/db/deps.edn index 520fcca3d..c907c1e4a 100644 --- a/modules/db/deps.edn +++ b/modules/db/deps.edn @@ -38,7 +38,7 @@ {:local/root "../spec"} commons-codec/commons-codec - {:mvn/version "1.16.1"}} + {:mvn/version "1.17.0"}} :aliases {:test From 070e3d4035471f0e5b0c3aea05778dbe72aca2ac Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 27 Apr 2024 17:16:55 +0000 Subject: [PATCH 39/46] Update dependency eslint to v8.57.0 --- modules/frontend/package-lock.json | 32 +++++++++++++++--------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/modules/frontend/package-lock.json b/modules/frontend/package-lock.json index ae51cc522..39b7463d9 100644 --- a/modules/frontend/package-lock.json +++ b/modules/frontend/package-lock.json @@ -511,9 +511,9 @@ } }, "node_modules/@eslint/js": { - "version": "8.56.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz", - "integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==", + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -525,13 +525,13 @@ "integrity": "sha512-rJzSrtJ3b7djiGFvRuTe6stDfbYJGhdQSfn2SI2WfXviee7Er0yKAHE5u7FU7OWVQQQ1x3+cxdmx9NdiAkcrcA==" }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.13", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", - "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", "dev": true, "dependencies": { - "@humanwhocodes/object-schema": "^2.0.1", - "debug": "^4.1.1", + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", "minimatch": "^3.0.5" }, "engines": { @@ -552,9 +552,9 @@ } }, "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", - "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", "dev": true }, "node_modules/@jest/schemas": { @@ -2161,16 +2161,16 @@ } }, "node_modules/eslint": { - "version": "8.56.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz", - "integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==", + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.56.0", - "@humanwhocodes/config-array": "^0.11.13", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "@ungap/structured-clone": "^1.2.0", From e33598c65ba2c2c90cb81d9dcee276bde77ff038 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 27 Apr 2024 17:52:40 +0000 Subject: [PATCH 40/46] Update dependency eslint-plugin-svelte to v2.38.0 --- modules/frontend/package-lock.json | 73 ++++++++++++++++-------------- 1 file changed, 38 insertions(+), 35 deletions(-) diff --git a/modules/frontend/package-lock.json b/modules/frontend/package-lock.json index 39b7463d9..a4e2805c7 100644 --- a/modules/frontend/package-lock.json +++ b/modules/frontend/package-lock.json @@ -2216,10 +2216,13 @@ } }, "node_modules/eslint-compat-utils": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.1.2.tgz", - "integrity": "sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.5.0.tgz", + "integrity": "sha512-dc6Y8tzEcSYZMHa+CMPLi/hyo1FzNeonbhJL7Ol0ccuKQkwopJcJBA9YL/xmMTLU1eKigXo9vj9nALElWYSowg==", "dev": true, + "dependencies": { + "semver": "^7.5.4" + }, "engines": { "node": ">=12" }, @@ -2240,23 +2243,23 @@ } }, "node_modules/eslint-plugin-svelte": { - "version": "2.35.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-svelte/-/eslint-plugin-svelte-2.35.1.tgz", - "integrity": "sha512-IF8TpLnROSGy98Z3NrsKXWDSCbNY2ReHDcrYTuXZMbfX7VmESISR78TWgO9zdg4Dht1X8coub5jKwHzP0ExRug==", + "version": "2.38.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-svelte/-/eslint-plugin-svelte-2.38.0.tgz", + "integrity": "sha512-IwwxhHzitx3dr0/xo0z4jjDlb2AAHBPKt+juMyKKGTLlKi1rZfA4qixMwnveU20/JTHyipM6keX4Vr7LZFYc9g==", "dev": true, "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@jridgewell/sourcemap-codec": "^1.4.14", - "debug": "^4.3.1", - "eslint-compat-utils": "^0.1.2", + "@eslint-community/eslint-utils": "^4.4.0", + "@jridgewell/sourcemap-codec": "^1.4.15", + "debug": "^4.3.4", + "eslint-compat-utils": "^0.5.0", "esutils": "^2.0.3", - "known-css-properties": "^0.29.0", - "postcss": "^8.4.5", + "known-css-properties": "^0.30.0", + "postcss": "^8.4.38", "postcss-load-config": "^3.1.4", "postcss-safe-parser": "^6.0.0", - "postcss-selector-parser": "^6.0.11", - "semver": "^7.5.3", - "svelte-eslint-parser": ">=0.33.0 <1.0.0" + "postcss-selector-parser": "^6.0.16", + "semver": "^7.6.0", + "svelte-eslint-parser": ">=0.35.0 <1.0.0" }, "engines": { "node": "^14.17.0 || >=16.0.0" @@ -2265,8 +2268,8 @@ "url": "https://github.com/sponsors/ota-meshi" }, "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0-0", - "svelte": "^3.37.0 || ^4.0.0" + "eslint": "^7.0.0 || ^8.0.0-0 || ^9.0.0-0", + "svelte": "^3.37.0 || ^4.0.0 || ^5.0.0-next.112" }, "peerDependenciesMeta": { "svelte": { @@ -2929,9 +2932,9 @@ } }, "node_modules/known-css-properties": { - "version": "0.29.0", - "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.29.0.tgz", - "integrity": "sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==", + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.30.0.tgz", + "integrity": "sha512-VSWXYUnsPu9+WYKkfmJyLKtIvaRJi1kXUqVmBACORXZQxT5oZDsoZ2vQP+bQFDnWtpI/4eq3MLoRMjI2fnLzTQ==", "dev": true }, "node_modules/levn": { @@ -3604,9 +3607,9 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", - "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "version": "6.0.16", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", + "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -3911,9 +3914,9 @@ } }, "node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -4196,16 +4199,16 @@ } }, "node_modules/svelte-eslint-parser": { - "version": "0.33.1", - "resolved": "https://registry.npmjs.org/svelte-eslint-parser/-/svelte-eslint-parser-0.33.1.tgz", - "integrity": "sha512-vo7xPGTlKBGdLH8T5L64FipvTrqv3OQRx9d2z5X05KKZDlF4rQk8KViZO4flKERY+5BiVdOh7zZ7JGJWo5P0uA==", + "version": "0.35.0", + "resolved": "https://registry.npmjs.org/svelte-eslint-parser/-/svelte-eslint-parser-0.35.0.tgz", + "integrity": "sha512-CtbPseajW0gjwEvHiuzYJkPDjAcHz2FaHt540j6RVYrZgnE6xWkzUBodQ4I3nV+G5AS0Svt8K6aIA/CIU9xT2Q==", "dev": true, "dependencies": { - "eslint-scope": "^7.0.0", - "eslint-visitor-keys": "^3.0.0", - "espree": "^9.0.0", - "postcss": "^8.4.29", - "postcss-scss": "^4.0.8" + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "postcss": "^8.4.38", + "postcss-scss": "^4.0.9" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -4214,7 +4217,7 @@ "url": "https://github.com/sponsors/ota-meshi" }, "peerDependencies": { - "svelte": "^3.37.0 || ^4.0.0" + "svelte": "^3.37.0 || ^4.0.0 || ^5.0.0-next.112" }, "peerDependenciesMeta": { "svelte": { From 9926367d8abcd2d4d9ed5892215d3b5a971a028b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 27 Apr 2024 18:59:31 +0000 Subject: [PATCH 41/46] Update typescript-eslint monorepo to v6.21.0 --- modules/frontend/package-lock.json | 90 +++++++++++++++--------------- 1 file changed, 45 insertions(+), 45 deletions(-) diff --git a/modules/frontend/package-lock.json b/modules/frontend/package-lock.json index a4e2805c7..77d67fe70 100644 --- a/modules/frontend/package-lock.json +++ b/modules/frontend/package-lock.json @@ -1179,22 +1179,22 @@ "dev": true }, "node_modules/@types/semver": { - "version": "7.5.6", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz", - "integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==", + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.17.0.tgz", - "integrity": "sha512-Vih/4xLXmY7V490dGwBQJTpIZxH4ZFH6eCVmQ4RFkB+wmaCTDAx4dtgoWwMNGKLkqRY1L6rPqzEbjorRnDo4rQ==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz", + "integrity": "sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.17.0", - "@typescript-eslint/type-utils": "6.17.0", - "@typescript-eslint/utils": "6.17.0", - "@typescript-eslint/visitor-keys": "6.17.0", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/type-utils": "6.21.0", + "@typescript-eslint/utils": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", @@ -1220,15 +1220,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "6.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.17.0.tgz", - "integrity": "sha512-C4bBaX2orvhK+LlwrY8oWGmSl4WolCfYm513gEccdWZj0CwGadbIADb0FtVEcI+WzUyjyoBj2JRP8g25E6IB8A==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz", + "integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "6.17.0", - "@typescript-eslint/types": "6.17.0", - "@typescript-eslint/typescript-estree": "6.17.0", - "@typescript-eslint/visitor-keys": "6.17.0", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", "debug": "^4.3.4" }, "engines": { @@ -1248,13 +1248,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "6.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.17.0.tgz", - "integrity": "sha512-RX7a8lwgOi7am0k17NUO0+ZmMOX4PpjLtLRgLmT1d3lBYdWH4ssBUbwdmc5pdRX8rXon8v9x8vaoOSpkHfcXGA==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", + "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.17.0", - "@typescript-eslint/visitor-keys": "6.17.0" + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0" }, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -1265,13 +1265,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "6.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.17.0.tgz", - "integrity": "sha512-hDXcWmnbtn4P2B37ka3nil3yi3VCQO2QEB9gBiHJmQp5wmyQWqnjA85+ZcE8c4FqnaB6lBwMrPkgd4aBYz3iNg==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz", + "integrity": "sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "6.17.0", - "@typescript-eslint/utils": "6.17.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/utils": "6.21.0", "debug": "^4.3.4", "ts-api-utils": "^1.0.1" }, @@ -1292,9 +1292,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "6.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.17.0.tgz", - "integrity": "sha512-qRKs9tvc3a4RBcL/9PXtKSehI/q8wuU9xYJxe97WFxnzH8NWWtcW3ffNS+EWg8uPvIerhjsEZ+rHtDqOCiH57A==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", + "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", "dev": true, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -1305,13 +1305,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.17.0.tgz", - "integrity": "sha512-gVQe+SLdNPfjlJn5VNGhlOhrXz4cajwFd5kAgWtZ9dCZf4XJf8xmgCTLIqec7aha3JwgLI2CK6GY1043FRxZwg==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", + "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.17.0", - "@typescript-eslint/visitor-keys": "6.17.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -1357,17 +1357,17 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "6.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.17.0.tgz", - "integrity": "sha512-LofsSPjN/ITNkzV47hxas2JCsNCEnGhVvocfyOcLzT9c/tSZE7SfhS/iWtzP1lKNOEfLhRTZz6xqI8N2RzweSQ==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz", + "integrity": "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.17.0", - "@typescript-eslint/types": "6.17.0", - "@typescript-eslint/typescript-estree": "6.17.0", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", "semver": "^7.5.4" }, "engines": { @@ -1382,12 +1382,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.17.0.tgz", - "integrity": "sha512-H6VwB/k3IuIeQOyYczyyKN8wH6ed8EwliaYHLxOIhyF0dYEIsN8+Bk3GE19qafeMKyZJJHP8+O1HiFhFLUNKSg==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", + "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.17.0", + "@typescript-eslint/types": "6.21.0", "eslint-visitor-keys": "^3.4.1" }, "engines": { From de98dae451881adc9ea3e8ac0bad449341f22609 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 27 Apr 2024 20:07:56 +0000 Subject: [PATCH 42/46] Update dependency lambdaisland/kaocha to v1.88.1376 --- modules/job-re-index/deps.edn | 2 +- modules/job-scheduler/deps.edn | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/job-re-index/deps.edn b/modules/job-re-index/deps.edn index 2bf67088f..7ad05f30d 100644 --- a/modules/job-re-index/deps.edn +++ b/modules/job-re-index/deps.edn @@ -18,7 +18,7 @@ :kaocha {:extra-deps {lambdaisland/kaocha - {:mvn/version "1.87.1366"}} + {:mvn/version "1.88.1376"}} :main-opts ["-m" "kaocha.runner"]} diff --git a/modules/job-scheduler/deps.edn b/modules/job-scheduler/deps.edn index 53d9f6638..04d644198 100644 --- a/modules/job-scheduler/deps.edn +++ b/modules/job-scheduler/deps.edn @@ -21,7 +21,7 @@ :kaocha {:extra-deps {lambdaisland/kaocha - {:mvn/version "1.87.1366"}} + {:mvn/version "1.88.1376"}} :main-opts ["-m" "kaocha.runner"]} From 67d8f38f058953d0d7ca252bf78894eb4a2bce27 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 28 Apr 2024 11:13:31 +0000 Subject: [PATCH 43/46] Update typescript-eslint monorepo to v7 --- modules/frontend/package-lock.json | 158 ++++++++++++++--------------- modules/frontend/package.json | 4 +- 2 files changed, 81 insertions(+), 81 deletions(-) diff --git a/modules/frontend/package-lock.json b/modules/frontend/package-lock.json index 77d67fe70..84949e64b 100644 --- a/modules/frontend/package-lock.json +++ b/modules/frontend/package-lock.json @@ -22,8 +22,8 @@ "@types/fhir": "^0.0.41", "@types/humanize-duration": "^3.27.4", "@types/node": "^20.10.5", - "@typescript-eslint/eslint-plugin": "^6.0.0", - "@typescript-eslint/parser": "^6.0.0", + "@typescript-eslint/eslint-plugin": "^7.0.0", + "@typescript-eslint/parser": "^7.0.0", "autoprefixer": "^10.4.14", "change-case": "^5.0.2", "eslint": "^8.28.0", @@ -1185,33 +1185,33 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz", - "integrity": "sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.7.1.tgz", + "integrity": "sha512-KwfdWXJBOviaBVhxO3p5TJiLpNuh2iyXyjmWN0f1nU87pwyvfS0EmjC6ukQVYVFJd/K1+0NWGPDXiyEyQorn0Q==", "dev": true, "dependencies": { - "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.21.0", - "@typescript-eslint/type-utils": "6.21.0", - "@typescript-eslint/utils": "6.21.0", - "@typescript-eslint/visitor-keys": "6.21.0", + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "7.7.1", + "@typescript-eslint/type-utils": "7.7.1", + "@typescript-eslint/utils": "7.7.1", + "@typescript-eslint/visitor-keys": "7.7.1", "debug": "^4.3.4", "graphemer": "^1.4.0", - "ignore": "^5.2.4", + "ignore": "^5.3.1", "natural-compare": "^1.4.0", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", - "eslint": "^7.0.0 || ^8.0.0" + "@typescript-eslint/parser": "^7.0.0", + "eslint": "^8.56.0" }, "peerDependenciesMeta": { "typescript": { @@ -1220,26 +1220,26 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz", - "integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.7.1.tgz", + "integrity": "sha512-vmPzBOOtz48F6JAGVS/kZYk4EkXao6iGrD838sp1w3NQQC0W8ry/q641KU4PrG7AKNAf56NOcR8GOpH8l9FPCw==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "6.21.0", - "@typescript-eslint/types": "6.21.0", - "@typescript-eslint/typescript-estree": "6.21.0", - "@typescript-eslint/visitor-keys": "6.21.0", + "@typescript-eslint/scope-manager": "7.7.1", + "@typescript-eslint/types": "7.7.1", + "@typescript-eslint/typescript-estree": "7.7.1", + "@typescript-eslint/visitor-keys": "7.7.1", "debug": "^4.3.4" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" + "eslint": "^8.56.0" }, "peerDependenciesMeta": { "typescript": { @@ -1248,16 +1248,16 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", - "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.7.1.tgz", + "integrity": "sha512-PytBif2SF+9SpEUKynYn5g1RHFddJUcyynGpztX3l/ik7KmZEv19WCMhUBkHXPU9es/VWGD3/zg3wg90+Dh2rA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.21.0", - "@typescript-eslint/visitor-keys": "6.21.0" + "@typescript-eslint/types": "7.7.1", + "@typescript-eslint/visitor-keys": "7.7.1" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", @@ -1265,25 +1265,25 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz", - "integrity": "sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.7.1.tgz", + "integrity": "sha512-ZksJLW3WF7o75zaBPScdW1Gbkwhd/lyeXGf1kQCxJaOeITscoSl0MjynVvCzuV5boUz/3fOI06Lz8La55mu29Q==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "6.21.0", - "@typescript-eslint/utils": "6.21.0", + "@typescript-eslint/typescript-estree": "7.7.1", + "@typescript-eslint/utils": "7.7.1", "debug": "^4.3.4", - "ts-api-utils": "^1.0.1" + "ts-api-utils": "^1.3.0" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" + "eslint": "^8.56.0" }, "peerDependenciesMeta": { "typescript": { @@ -1292,12 +1292,12 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", - "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.7.1.tgz", + "integrity": "sha512-AmPmnGW1ZLTpWa+/2omPrPfR7BcbUU4oha5VIbSbS1a1Tv966bklvLNXxp3mrbc+P2j4MNOTfDffNsk4o0c6/w==", "dev": true, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", @@ -1305,22 +1305,22 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", - "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.7.1.tgz", + "integrity": "sha512-CXe0JHCXru8Fa36dteXqmH2YxngKJjkQLjxzoj6LYwzZ7qZvgsLSc+eqItCrqIop8Vl2UKoAi0StVWu97FQZIQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.21.0", - "@typescript-eslint/visitor-keys": "6.21.0", + "@typescript-eslint/types": "7.7.1", + "@typescript-eslint/visitor-keys": "7.7.1", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", - "minimatch": "9.0.3", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", @@ -1342,9 +1342,9 @@ } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -1357,41 +1357,41 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz", - "integrity": "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.7.1.tgz", + "integrity": "sha512-QUvBxPEaBXf41ZBbaidKICgVL8Hin0p6prQDu6bbetWo39BKbWJxRsErOzMNT1rXvTll+J7ChrbmMCXM9rsvOQ==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.12", - "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.21.0", - "@typescript-eslint/types": "6.21.0", - "@typescript-eslint/typescript-estree": "6.21.0", - "semver": "^7.5.4" + "@types/json-schema": "^7.0.15", + "@types/semver": "^7.5.8", + "@typescript-eslint/scope-manager": "7.7.1", + "@typescript-eslint/types": "7.7.1", + "@typescript-eslint/typescript-estree": "7.7.1", + "semver": "^7.6.0" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" + "eslint": "^8.56.0" } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", - "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.7.1.tgz", + "integrity": "sha512-gBL3Eq25uADw1LQ9kVpf3hRM+DWzs0uZknHYK3hq4jcTPqVCClHGDnB6UUUV2SFeBeA4KWHWbbLqmbGcZ4FYbw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.21.0", - "eslint-visitor-keys": "^3.4.1" + "@typescript-eslint/types": "7.7.1", + "eslint-visitor-keys": "^3.4.3" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", @@ -2695,9 +2695,9 @@ "dev": true }, "node_modules/ignore": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", - "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", "dev": true, "engines": { "node": ">= 4" @@ -4469,12 +4469,12 @@ } }, "node_modules/ts-api-utils": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz", - "integrity": "sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", + "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", "dev": true, "engines": { - "node": ">=16.13.0" + "node": ">=16" }, "peerDependencies": { "typescript": ">=4.2.0" diff --git a/modules/frontend/package.json b/modules/frontend/package.json index 979948183..682b3f04d 100644 --- a/modules/frontend/package.json +++ b/modules/frontend/package.json @@ -23,8 +23,8 @@ "@types/fhir": "^0.0.41", "@types/humanize-duration": "^3.27.4", "@types/node": "^20.10.5", - "@typescript-eslint/eslint-plugin": "^6.0.0", - "@typescript-eslint/parser": "^6.0.0", + "@typescript-eslint/eslint-plugin": "^7.0.0", + "@typescript-eslint/parser": "^7.0.0", "autoprefixer": "^10.4.14", "change-case": "^5.0.2", "eslint": "^8.28.0", From 7e2b707e903cddb5e9af4a009ec4dfec209ea09d Mon Sep 17 00:00:00 2001 From: Alexander Kiel Date: Sun, 28 Apr 2024 13:21:23 +0200 Subject: [PATCH 44/46] Fix Rendering of Primitive Extensions Closes: #1677 --- .../lib/resource/json/primitive-value.svelte | 2 +- .../src/lib/resource/json/property.svelte | 25 +++- .../src/lib/resource/primitive-value.svelte | 6 +- .../src/lib/resource/resource-card.test.ts | 115 ++++++++++++++++++ .../src/lib/resource/resource-card.ts | 76 ++++++++++-- 5 files changed, 208 insertions(+), 16 deletions(-) diff --git a/modules/frontend/src/lib/resource/json/primitive-value.svelte b/modules/frontend/src/lib/resource/json/primitive-value.svelte index 60b4d01e9..fe7f29a57 100644 --- a/modules/frontend/src/lib/resource/json/primitive-value.svelte +++ b/modules/frontend/src/lib/resource/json/primitive-value.svelte @@ -6,5 +6,5 @@ {#if ['integer', 'decimal', 'unsingedInt', 'positiveInt'].includes(value.type.code)}{value.value}{:else if value.type.code == 'boolean'}{value.value}{:else if value.type.code === 'boolean'}{value.value}{:else}"{value.value}"{/if} diff --git a/modules/frontend/src/lib/resource/json/property.svelte b/modules/frontend/src/lib/resource/json/property.svelte index 80cb9ae8a..f050b3e85 100644 --- a/modules/frontend/src/lib/resource/json/property.svelte +++ b/modules/frontend/src/lib/resource/json/property.svelte @@ -1,15 +1,32 @@ {' '.repeat(indent)}"{property.name}"{': '}{#if Array.isArray(property.value)}{': '}{#if Array.isArray(property.value)}{:else}{/if}{isLast ? '\n' : ',\n'} + />{:else}{/if}{#if primitiveExtensions !== undefined}{',\n'}{' '.repeat(indent)}"_{property.name}"{': '}{/if}{isLast + ? '\n' + : ',\n'} diff --git a/modules/frontend/src/lib/resource/primitive-value.svelte b/modules/frontend/src/lib/resource/primitive-value.svelte index 4651eb165..73928a4f9 100644 --- a/modules/frontend/src/lib/resource/primitive-value.svelte +++ b/modules/frontend/src/lib/resource/primitive-value.svelte @@ -1,5 +1,5 @@