diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 0000000..987fa18 --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,59 @@ +FROM mcr.microsoft.com/devcontainers/base:alpine-3.18 + +# Setzen der Umgebungsvariablen +ENV FIRELY_TERMINAL_VERSION=3.1.0 +ENV JAVA_VALIDATOR_VERSION=6.0.11 +ENV SUSHI_VERSION=3.5.0 + +# Installieren der notwendige Tools +# Add Microsoft's .NET SDK repository and install .NET SDK +RUN wget https://dot.net/v1/dotnet-install.sh \ + && chmod +x dotnet-install.sh \ + && ./dotnet-install.sh --channel 6.0 --install-dir /usr/share/dotnet \ + && ln -s /usr/share/dotnet/dotnet /usr/local/bin \ + && rm dotnet-install.sh + +# Install ICU libraries +RUN apk add --no-cache icu-libs + +# Install Node.js and npm +RUN apk add --no-cache nodejs npm + +# Install Java (OpenJDK) +RUN apk add --no-cache openjdk11 + +# Install Firely Terminal as vscode user +# Switch to the vscode user +USER vscode + +# Install Firely Terminal +RUN dotnet tool install --global Firely.Terminal --version $FIRELY_TERMINAL_VERSION + +# Add .NET tools to PATH for vscode user +ENV PATH="/home/vscode/.dotnet/tools:${PATH}" + +# Switch back to root user to perform remaining installations +USER root + +RUN npm install -g fsh-sushi@$SUSHI_VERSION + +# Installieren der zusätzliche Abhängigkeiten +RUN apk update && apk add --no-cache jq findutils curl ca-certificates + +# Setup for FHIR Validator +RUN mkdir -p /home/vscode/.fhir/validators/ +RUN wget -q https://github.com/hapifhir/org.hl7.fhir.core/releases/download/$JAVA_VALIDATOR_VERSION/validator_cli.jar -O /home/vscode/.fhir/validators/validator_cli.jar + +# Set ownership +RUN mkdir -p /home/vscode/.fhir/packages && \ + chown -R vscode:vscode /home/vscode/.fhir/packages + +RUN mkdir -p /home/vscode/.fhir/settings/ +COPY codfsh-config.yaml /home/vscode/.fhir/settings/codfsh-config.yaml + +# Setzen des Arbeitsverzeichnis +WORKDIR /workspace + +COPY . /workspace + +CMD [ "/bin/bash" ] diff --git a/.devcontainer/codfsh-config.yaml b/.devcontainer/codfsh-config.yaml new file mode 100644 index 0000000..7b15112 --- /dev/null +++ b/.devcontainer/codfsh-config.yaml @@ -0,0 +1,9 @@ +sushi: + min_version: "3.5.0" +hapi: + min_version: "3.0.0" + parameters: + jurisdiction: DE + locale: de-DE + tx: "n/a" + debug: true diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..8072f95 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,34 @@ +// For format details, see https://aka.ms/devcontainer.json. For config options, see the +// README at: https://github.com/devcontainers/templates/tree/main/src/alpine +{ + "name": "FHIR Development Container", + // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile + "build": { + "dockerfile": "Dockerfile" + }, + "customizations": { + "vscode": { + "extensions": [ + "gematikde.codfsh", + "MITRE-Health.vscode-language-fsh", + "ms-azuretools.vscode-docker" + ], + "settings": { + "codfsh.HapiValidator.Executable": "/home/vscode/.fhir/validators/validator_cli.jar", + "codfsh.HapiValidator.Settings.SettingsFile": "/home/vscode/.fhir/settings/codfsh-config.yaml" + } + } + } + + // Features to add to the dev container. More info: https://containers.dev/features. + // "features": {}, + + // Use 'forwardPorts' to make a list of ports inside the container available locally. + // "forwardPorts": [], + + // Use 'postCreateCommand' to run commands after the container is created. + // "postCreateCommand": "uname -a", + + // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. + // "remoteUser": "root" +} diff --git a/.github/workflows/RenderAllDiagrams.yml b/.github/workflows/RenderAllDiagrams.yml new file mode 100644 index 0000000..e7af109 --- /dev/null +++ b/.github/workflows/RenderAllDiagrams.yml @@ -0,0 +1,97 @@ +name: Render All Diagrams + +on: + push: + paths: + - '**/Material/imgsrc/**/*.puml' + - '**/Material/imgsrc/**/*.drawio' + branches-ignore: + - main** + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + + steps: + + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - name: Checkout repository + uses: actions/checkout@v4 + + # Installs Java distribution for running the plantUML jar + - name: Install Java + uses: actions/setup-java@v3 + with: + distribution: 'temurin' + java-version: '17' + check-latest: true + + # Install graphviz for plantuml + - name: Setup Graphviz + uses: ts-graphviz/setup-graphviz@v1 + + # Download plantUML jar + - name: Download plantuml file + run: | + wget -O plantuml.jar "https://github.com/plantuml/plantuml/releases/latest/download/plantuml.jar" + + # Clean Folder + - name: Ensure and clean folder + run: | + img_dir=ImplementationGuide/images/diagrams + mkdir -p $img_dir + rm -rf ImplementationGuide/images/diagrams/*.svg + + # Generate the SVGs from PUML + - name: Render PUML to SVG and Move files + run: | + FileNamePaths=$(find . -path "*/imgsrc/*/*.puml" -exec dirname {} \; | sort -u) + for dir in $FileNamePaths + do + # Render SVGs from PUMLs + find $dir -name "*.puml" -exec java -jar plantuml.jar -tsvg {} \; + done + + # Generate the SVGs from DrawIO + - name: Render DrawIO to SVG with predefined action + uses: rlespinasse/drawio-export-action@v2 + with: + path: ./Material/imgsrc/drawio/ + remove-page-suffix: true + output: . + format: svg + action-mode: all + + # copies the created png & svg files to the images/diagrams folder and deletes the drawio files + - name: Move SVGs to target image folder + run: | + img_dir=ImplementationGuide/images/diagrams + # Find all unique directories containing *.svg files under any /imgsrc/ folder + FileNamePaths=$(find . -path "*/imgsrc/*/*.svg" -exec dirname {} \; | sort -u) + for dir in $FileNamePaths + do + # Move SVGs to out directory + find $dir -name "*.svg" -exec mv {} $img_dir \; + done + + ## add and commit the new generated files + #- name: Create Pull Request + # uses: peter-evans/create-pull-request@v5 + # with: + # branch: auto/images-generation + # commit-message: Generated Images from source Code by GitHub Action + # title: Generated Images from GitHub Action + # assignees: ${{ github.actor }} + # reviewers: ${{ github.actor }} + # delete-branch: true + # labels: automated pr + + - name: Commit rendered files + uses: stefanzweifel/git-auto-commit-action@v5 + with: + commit_user_name: GitHub Actions Bot + commit_user_email: ActionBot@github.com + commit_message: auto-generated diagrams by GitHub Action after source code change \ No newline at end of file diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7578419..2fbfb8c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -6,9 +6,7 @@ name: CI (FHIR Validation) on: # Triggers the workflow on push or pull request events but only for the master branch push: - branches: [ master ] pull_request: - branches: [ master ] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: @@ -29,7 +27,7 @@ jobs: # Java and .NET are already installed on ubuntu-latest - name: Firely.Terminal (GitHub Actions) - uses: FirelyTeam/firely-terminal-pipeline@v0.3.5 + uses: FirelyTeam/firely-terminal-pipeline@v0.4.0 with: PATH_TO_CONFORMANCE_RESOURCES: Resources/fsh-generated/resources/ #PATH_TO_EXAMPLES: Examples @@ -42,7 +40,7 @@ jobs: SIMPLIFIER_PASSWORD: ${{ secrets.SIMPLIFIER_PASSWORD }} SUSHI_ENABLED: true SUSHI_OPTIONS: Resources/ - SUSHI_VERSION: 2.10.2 + SUSHI_VERSION: 3.5.0 EXPECTED_FAILS: VALIDATION_CONFORMANCE_DOTNET VALIDATION_CONFORMANCE_JAVA VALIDATION_EXAMPLES_JAVA - name: Add & Commit diff --git a/ImplementationGuide/images/diagrams/Klassendiagramm.svg b/ImplementationGuide/images/diagrams/Klassendiagramm.svg new file mode 100644 index 0000000..46c555c --- /dev/null +++ b/ImplementationGuide/images/diagrams/Klassendiagramm.svg @@ -0,0 +1,3 @@ + + +Medikations-Liste...
...
...
Patient......Medikament...
...
...
0..*1..*
enthält
enthält
Medikations-Information......0..*1
bezieht sich auf
bezieht sich auf
Medikations-Verordnung......Medikations-Verabreichung......0..*1
bezieht sich auf
bezieht sich auf
0..*1
bezieht sich auf
bezieht sich auf
0..*1
gilt für
gilt für
0..*1
gilt für
gilt für
0..*1
gilt für
gilt für
0..*1
gilt für
gilt für
Weitere Datenobjekte (z.B. Organisationen, Fachpersonen, Aufenthalte) sind hier zur besseren Übersichtlichkeit nicht dargestellt.
Weitere Datenobjekte (z.B. Organisationen, Fachpersonen, Aufenthalte) sind hier zur besseren Übersichtlichkeit nicht dargeste...
Text is not SVG - cannot display
\ No newline at end of file diff --git a/Material/Akteure und Use Cases.odp b/Material/docs/Akteure und Use Cases.odp similarity index 100% rename from Material/Akteure und Use Cases.odp rename to Material/docs/Akteure und Use Cases.odp diff --git a/Material/Medikation Abgleich bestehende Spezifikationen.ods b/Material/docs/Medikation Abgleich bestehende Spezifikationen.ods similarity index 100% rename from Material/Medikation Abgleich bestehende Spezifikationen.ods rename to Material/docs/Medikation Abgleich bestehende Spezifikationen.ods diff --git a/Material/Klassendiagramm.drawio b/Material/imgsrc/drawio/Klassendiagramm.drawio similarity index 100% rename from Material/Klassendiagramm.drawio rename to Material/imgsrc/drawio/Klassendiagramm.drawio diff --git a/Resources/fsh-generated/resources/Medication-ExampleISiKMedikament2.json b/Resources/fsh-generated/resources/Medication-ExampleISiKMedikament2.json index 33d59e9..89f9779 100644 --- a/Resources/fsh-generated/resources/Medication-ExampleISiKMedikament2.json +++ b/Resources/fsh-generated/resources/Medication-ExampleISiKMedikament2.json @@ -8,15 +8,6 @@ }, "ingredient": [ { - "extension": [ - { - "valueCoding": { - "system": "https://www.medizininformatik-initiative.de/fhir/core/modul-medikation/CodeSystem/wirkstofftyp", - "code": "IN" - }, - "url": "https://www.medizininformatik-initiative.de/fhir/core/modul-medikation/StructureDefinition/wirkstofftyp" - } - ], "strength": { "numerator": { "system": "http://unitsofmeasure.org", @@ -31,6 +22,15 @@ "code": "mL" } }, + "extension": [ + { + "url": "https://www.medizininformatik-initiative.de/fhir/core/modul-medikation/StructureDefinition/wirkstofftyp", + "valueCoding": { + "system": "https://www.medizininformatik-initiative.de/fhir/core/modul-medikation/CodeSystem/wirkstofftyp", + "code": "IN" + } + } + ], "itemCodeableConcept": { "coding": [ { diff --git a/Resources/fsh-generated/resources/StructureDefinition-ISiKMedikament.json b/Resources/fsh-generated/resources/StructureDefinition-ISiKMedikament.json index 4bd0b72..5fbe4e7 100644 --- a/Resources/fsh-generated/resources/StructureDefinition-ISiKMedikament.json +++ b/Resources/fsh-generated/resources/StructureDefinition-ISiKMedikament.json @@ -335,8 +335,23 @@ "mustSupport": true }, { - "id": "Medication.ingredient.itemCodeableConcept", - "path": "Medication.ingredient.itemCodeableConcept", + "id": "Medication.ingredient.item[x]", + "path": "Medication.ingredient.item[x]", + "slicing": { + "discriminator": [ + { + "type": "type", + "path": "$this" + } + ], + "ordered": false, + "rules": "open" + } + }, + { + "id": "Medication.ingredient.item[x]:itemCodeableConcept", + "path": "Medication.ingredient.item[x]", + "sliceName": "itemCodeableConcept", "short": "Bestandteil in codierter Form oder ggf. als Freitext", "min": 0, "max": "1", @@ -348,8 +363,8 @@ "mustSupport": true }, { - "id": "Medication.ingredient.itemCodeableConcept.coding", - "path": "Medication.ingredient.itemCodeableConcept.coding", + "id": "Medication.ingredient.item[x]:itemCodeableConcept.coding", + "path": "Medication.ingredient.item[x].coding", "slicing": { "discriminator": [ { @@ -362,8 +377,8 @@ "mustSupport": true }, { - "id": "Medication.ingredient.itemCodeableConcept.coding:ASK", - "path": "Medication.ingredient.itemCodeableConcept.coding", + "id": "Medication.ingredient.item[x]:itemCodeableConcept.coding:ASK", + "path": "Medication.ingredient.item[x].coding", "sliceName": "ASK", "min": 0, "max": "1", @@ -373,25 +388,25 @@ "mustSupport": true }, { - "id": "Medication.ingredient.itemCodeableConcept.coding:ASK.system", - "path": "Medication.ingredient.itemCodeableConcept.coding.system", + "id": "Medication.ingredient.item[x]:itemCodeableConcept.coding:ASK.system", + "path": "Medication.ingredient.item[x].coding.system", "min": 1, "mustSupport": true }, { - "id": "Medication.ingredient.itemCodeableConcept.coding:ASK.code", - "path": "Medication.ingredient.itemCodeableConcept.coding.code", + "id": "Medication.ingredient.item[x]:itemCodeableConcept.coding:ASK.code", + "path": "Medication.ingredient.item[x].coding.code", "min": 1, "mustSupport": true }, { - "id": "Medication.ingredient.itemCodeableConcept.coding:ASK.display", - "path": "Medication.ingredient.itemCodeableConcept.coding.display", + "id": "Medication.ingredient.item[x]:itemCodeableConcept.coding:ASK.display", + "path": "Medication.ingredient.item[x].coding.display", "mustSupport": true }, { - "id": "Medication.ingredient.itemCodeableConcept.coding:ATC-DE", - "path": "Medication.ingredient.itemCodeableConcept.coding", + "id": "Medication.ingredient.item[x]:itemCodeableConcept.coding:ATC-DE", + "path": "Medication.ingredient.item[x].coding", "sliceName": "ATC-DE", "min": 0, "max": "1", @@ -401,25 +416,25 @@ "mustSupport": true }, { - "id": "Medication.ingredient.itemCodeableConcept.coding:ATC-DE.system", - "path": "Medication.ingredient.itemCodeableConcept.coding.system", + "id": "Medication.ingredient.item[x]:itemCodeableConcept.coding:ATC-DE.system", + "path": "Medication.ingredient.item[x].coding.system", "min": 1, "mustSupport": true }, { - "id": "Medication.ingredient.itemCodeableConcept.coding:ATC-DE.code", - "path": "Medication.ingredient.itemCodeableConcept.coding.code", + "id": "Medication.ingredient.item[x]:itemCodeableConcept.coding:ATC-DE.code", + "path": "Medication.ingredient.item[x].coding.code", "min": 1, "mustSupport": true }, { - "id": "Medication.ingredient.itemCodeableConcept.coding:ATC-DE.display", - "path": "Medication.ingredient.itemCodeableConcept.coding.display", + "id": "Medication.ingredient.item[x]:itemCodeableConcept.coding:ATC-DE.display", + "path": "Medication.ingredient.item[x].coding.display", "mustSupport": true }, { - "id": "Medication.ingredient.itemCodeableConcept.coding:PZN", - "path": "Medication.ingredient.itemCodeableConcept.coding", + "id": "Medication.ingredient.item[x]:itemCodeableConcept.coding:PZN", + "path": "Medication.ingredient.item[x].coding", "sliceName": "PZN", "min": 0, "max": "1", @@ -429,25 +444,25 @@ "mustSupport": true }, { - "id": "Medication.ingredient.itemCodeableConcept.coding:PZN.system", - "path": "Medication.ingredient.itemCodeableConcept.coding.system", + "id": "Medication.ingredient.item[x]:itemCodeableConcept.coding:PZN.system", + "path": "Medication.ingredient.item[x].coding.system", "min": 1, "mustSupport": true }, { - "id": "Medication.ingredient.itemCodeableConcept.coding:PZN.code", - "path": "Medication.ingredient.itemCodeableConcept.coding.code", + "id": "Medication.ingredient.item[x]:itemCodeableConcept.coding:PZN.code", + "path": "Medication.ingredient.item[x].coding.code", "min": 1, "mustSupport": true }, { - "id": "Medication.ingredient.itemCodeableConcept.coding:PZN.display", - "path": "Medication.ingredient.itemCodeableConcept.coding.display", + "id": "Medication.ingredient.item[x]:itemCodeableConcept.coding:PZN.display", + "path": "Medication.ingredient.item[x].coding.display", "mustSupport": true }, { - "id": "Medication.ingredient.itemCodeableConcept.coding:WG14", - "path": "Medication.ingredient.itemCodeableConcept.coding", + "id": "Medication.ingredient.item[x]:itemCodeableConcept.coding:WG14", + "path": "Medication.ingredient.item[x].coding", "sliceName": "WG14", "min": 0, "max": "1", @@ -457,30 +472,31 @@ "mustSupport": true }, { - "id": "Medication.ingredient.itemCodeableConcept.coding:WG14.system", - "path": "Medication.ingredient.itemCodeableConcept.coding.system", + "id": "Medication.ingredient.item[x]:itemCodeableConcept.coding:WG14.system", + "path": "Medication.ingredient.item[x].coding.system", "min": 1, "mustSupport": true }, { - "id": "Medication.ingredient.itemCodeableConcept.coding:WG14.code", - "path": "Medication.ingredient.itemCodeableConcept.coding.code", + "id": "Medication.ingredient.item[x]:itemCodeableConcept.coding:WG14.code", + "path": "Medication.ingredient.item[x].coding.code", "min": 1, "mustSupport": true }, { - "id": "Medication.ingredient.itemCodeableConcept.coding:WG14.display", - "path": "Medication.ingredient.itemCodeableConcept.coding.display", + "id": "Medication.ingredient.item[x]:itemCodeableConcept.coding:WG14.display", + "path": "Medication.ingredient.item[x].coding.display", "mustSupport": true }, { - "id": "Medication.ingredient.itemCodeableConcept.text", - "path": "Medication.ingredient.itemCodeableConcept.text", + "id": "Medication.ingredient.item[x]:itemCodeableConcept.text", + "path": "Medication.ingredient.item[x].text", "mustSupport": true }, { - "id": "Medication.ingredient.itemReference", - "path": "Medication.ingredient.itemReference", + "id": "Medication.ingredient.item[x]:itemReference", + "path": "Medication.ingredient.item[x]", + "sliceName": "itemReference", "short": "Bestandteil (Referenz auf ein anderes Medikament)", "min": 0, "max": "1", @@ -496,8 +512,8 @@ "mustSupport": true }, { - "id": "Medication.ingredient.itemReference.reference", - "path": "Medication.ingredient.itemReference.reference", + "id": "Medication.ingredient.item[x]:itemReference.reference", + "path": "Medication.ingredient.item[x].reference", "min": 1, "mustSupport": true }, diff --git a/Resources/fsh-generated/resources/StructureDefinition-ISiKMedikationsInformation.json b/Resources/fsh-generated/resources/StructureDefinition-ISiKMedikationsInformation.json index 1fb9f1c..0614791 100644 --- a/Resources/fsh-generated/resources/StructureDefinition-ISiKMedikationsInformation.json +++ b/Resources/fsh-generated/resources/StructureDefinition-ISiKMedikationsInformation.json @@ -73,8 +73,9 @@ "mustSupport": true }, { - "id": "MedicationStatement.medicationCodeableConcept", - "path": "MedicationStatement.medicationCodeableConcept", + "id": "MedicationStatement.medication[x]:medicationCodeableConcept", + "path": "MedicationStatement.medication[x]", + "sliceName": "medicationCodeableConcept", "short": "Medikament in codierter Form oder ggf. als Freitext", "comment": "kann verwendet werden, wenn keine detaillierten Informationen zum Medikament (z.B. Rezepturen) existieren.", "min": 0, @@ -87,8 +88,8 @@ "mustSupport": true }, { - "id": "MedicationStatement.medicationCodeableConcept.coding", - "path": "MedicationStatement.medicationCodeableConcept.coding", + "id": "MedicationStatement.medication[x]:medicationCodeableConcept.coding", + "path": "MedicationStatement.medication[x].coding", "slicing": { "discriminator": [ { @@ -101,8 +102,8 @@ "mustSupport": true }, { - "id": "MedicationStatement.medicationCodeableConcept.coding:PZN", - "path": "MedicationStatement.medicationCodeableConcept.coding", + "id": "MedicationStatement.medication[x]:medicationCodeableConcept.coding:PZN", + "path": "MedicationStatement.medication[x].coding", "sliceName": "PZN", "min": 0, "max": "1", @@ -112,25 +113,25 @@ "mustSupport": true }, { - "id": "MedicationStatement.medicationCodeableConcept.coding:PZN.system", - "path": "MedicationStatement.medicationCodeableConcept.coding.system", + "id": "MedicationStatement.medication[x]:medicationCodeableConcept.coding:PZN.system", + "path": "MedicationStatement.medication[x].coding.system", "min": 1, "mustSupport": true }, { - "id": "MedicationStatement.medicationCodeableConcept.coding:PZN.code", - "path": "MedicationStatement.medicationCodeableConcept.coding.code", + "id": "MedicationStatement.medication[x]:medicationCodeableConcept.coding:PZN.code", + "path": "MedicationStatement.medication[x].coding.code", "min": 1, "mustSupport": true }, { - "id": "MedicationStatement.medicationCodeableConcept.coding:PZN.display", - "path": "MedicationStatement.medicationCodeableConcept.coding.display", + "id": "MedicationStatement.medication[x]:medicationCodeableConcept.coding:PZN.display", + "path": "MedicationStatement.medication[x].coding.display", "mustSupport": true }, { - "id": "MedicationStatement.medicationCodeableConcept.coding:ATC-DE", - "path": "MedicationStatement.medicationCodeableConcept.coding", + "id": "MedicationStatement.medication[x]:medicationCodeableConcept.coding:ATC-DE", + "path": "MedicationStatement.medication[x].coding", "sliceName": "ATC-DE", "min": 0, "max": "1", @@ -140,25 +141,25 @@ "mustSupport": true }, { - "id": "MedicationStatement.medicationCodeableConcept.coding:ATC-DE.system", - "path": "MedicationStatement.medicationCodeableConcept.coding.system", + "id": "MedicationStatement.medication[x]:medicationCodeableConcept.coding:ATC-DE.system", + "path": "MedicationStatement.medication[x].coding.system", "min": 1, "mustSupport": true }, { - "id": "MedicationStatement.medicationCodeableConcept.coding:ATC-DE.code", - "path": "MedicationStatement.medicationCodeableConcept.coding.code", + "id": "MedicationStatement.medication[x]:medicationCodeableConcept.coding:ATC-DE.code", + "path": "MedicationStatement.medication[x].coding.code", "min": 1, "mustSupport": true }, { - "id": "MedicationStatement.medicationCodeableConcept.coding:ATC-DE.display", - "path": "MedicationStatement.medicationCodeableConcept.coding.display", + "id": "MedicationStatement.medication[x]:medicationCodeableConcept.coding:ATC-DE.display", + "path": "MedicationStatement.medication[x].coding.display", "mustSupport": true }, { - "id": "MedicationStatement.medicationCodeableConcept.coding:WG14", - "path": "MedicationStatement.medicationCodeableConcept.coding", + "id": "MedicationStatement.medication[x]:medicationCodeableConcept.coding:WG14", + "path": "MedicationStatement.medication[x].coding", "sliceName": "WG14", "min": 0, "max": "1", @@ -168,30 +169,31 @@ "mustSupport": true }, { - "id": "MedicationStatement.medicationCodeableConcept.coding:WG14.system", - "path": "MedicationStatement.medicationCodeableConcept.coding.system", + "id": "MedicationStatement.medication[x]:medicationCodeableConcept.coding:WG14.system", + "path": "MedicationStatement.medication[x].coding.system", "min": 1, "mustSupport": true }, { - "id": "MedicationStatement.medicationCodeableConcept.coding:WG14.code", - "path": "MedicationStatement.medicationCodeableConcept.coding.code", + "id": "MedicationStatement.medication[x]:medicationCodeableConcept.coding:WG14.code", + "path": "MedicationStatement.medication[x].coding.code", "min": 1, "mustSupport": true }, { - "id": "MedicationStatement.medicationCodeableConcept.coding:WG14.display", - "path": "MedicationStatement.medicationCodeableConcept.coding.display", + "id": "MedicationStatement.medication[x]:medicationCodeableConcept.coding:WG14.display", + "path": "MedicationStatement.medication[x].coding.display", "mustSupport": true }, { - "id": "MedicationStatement.medicationCodeableConcept.text", - "path": "MedicationStatement.medicationCodeableConcept.text", + "id": "MedicationStatement.medication[x]:medicationCodeableConcept.text", + "path": "MedicationStatement.medication[x].text", "mustSupport": true }, { - "id": "MedicationStatement.medicationReference", - "path": "MedicationStatement.medicationReference", + "id": "MedicationStatement.medication[x]:medicationReference", + "path": "MedicationStatement.medication[x]", + "sliceName": "medicationReference", "short": "Referenz auf das Medikament (Medication-Ressource)", "comment": "wird verwendet, wenn detaillierte Informationen zum Medikament vorliegen", "min": 0, @@ -207,8 +209,8 @@ "mustSupport": true }, { - "id": "MedicationStatement.medicationReference.reference", - "path": "MedicationStatement.medicationReference.reference", + "id": "MedicationStatement.medication[x]:medicationReference.reference", + "path": "MedicationStatement.medication[x].reference", "min": 1, "mustSupport": true }, @@ -262,8 +264,9 @@ "mustSupport": true }, { - "id": "MedicationStatement.effectiveDateTime", - "path": "MedicationStatement.effectiveDateTime", + "id": "MedicationStatement.effective[x]:effectiveDateTime", + "path": "MedicationStatement.effective[x]", + "sliceName": "effectiveDateTime", "short": "Zeitpunkt", "min": 0, "max": "1", @@ -275,8 +278,9 @@ "mustSupport": true }, { - "id": "MedicationStatement.effectivePeriod", - "path": "MedicationStatement.effectivePeriod", + "id": "MedicationStatement.effective[x]:effectivePeriod", + "path": "MedicationStatement.effective[x]", + "sliceName": "effectivePeriod", "short": "Zeitraum", "min": 0, "max": "1", @@ -288,13 +292,13 @@ "mustSupport": true }, { - "id": "MedicationStatement.effectivePeriod.start", - "path": "MedicationStatement.effectivePeriod.start", + "id": "MedicationStatement.effective[x]:effectivePeriod.start", + "path": "MedicationStatement.effective[x].start", "mustSupport": true }, { - "id": "MedicationStatement.effectivePeriod.end", - "path": "MedicationStatement.effectivePeriod.end", + "id": "MedicationStatement.effective[x]:effectivePeriod.end", + "path": "MedicationStatement.effective[x].end", "mustSupport": true }, { @@ -396,8 +400,23 @@ "mustSupport": true }, { - "id": "MedicationStatement.dosage.timing.repeat.boundsDuration", - "path": "MedicationStatement.dosage.timing.repeat.boundsDuration", + "id": "MedicationStatement.dosage.timing.repeat.bounds[x]", + "path": "MedicationStatement.dosage.timing.repeat.bounds[x]", + "slicing": { + "discriminator": [ + { + "type": "type", + "path": "$this" + } + ], + "ordered": false, + "rules": "open" + } + }, + { + "id": "MedicationStatement.dosage.timing.repeat.bounds[x]:boundsDuration", + "path": "MedicationStatement.dosage.timing.repeat.bounds[x]", + "sliceName": "boundsDuration", "short": "Begrenzung der Dauer", "min": 0, "max": "1", @@ -412,31 +431,32 @@ "mustSupport": true }, { - "id": "MedicationStatement.dosage.timing.repeat.boundsDuration.value", - "path": "MedicationStatement.dosage.timing.repeat.boundsDuration.value", + "id": "MedicationStatement.dosage.timing.repeat.bounds[x]:boundsDuration.value", + "path": "MedicationStatement.dosage.timing.repeat.bounds[x].value", "min": 1, "mustSupport": true }, { - "id": "MedicationStatement.dosage.timing.repeat.boundsDuration.unit", - "path": "MedicationStatement.dosage.timing.repeat.boundsDuration.unit", + "id": "MedicationStatement.dosage.timing.repeat.bounds[x]:boundsDuration.unit", + "path": "MedicationStatement.dosage.timing.repeat.bounds[x].unit", "mustSupport": true }, { - "id": "MedicationStatement.dosage.timing.repeat.boundsDuration.system", - "path": "MedicationStatement.dosage.timing.repeat.boundsDuration.system", + "id": "MedicationStatement.dosage.timing.repeat.bounds[x]:boundsDuration.system", + "path": "MedicationStatement.dosage.timing.repeat.bounds[x].system", "min": 1, "mustSupport": true }, { - "id": "MedicationStatement.dosage.timing.repeat.boundsDuration.code", - "path": "MedicationStatement.dosage.timing.repeat.boundsDuration.code", + "id": "MedicationStatement.dosage.timing.repeat.bounds[x]:boundsDuration.code", + "path": "MedicationStatement.dosage.timing.repeat.bounds[x].code", "min": 1, "mustSupport": true }, { - "id": "MedicationStatement.dosage.timing.repeat.boundsRange", - "path": "MedicationStatement.dosage.timing.repeat.boundsRange", + "id": "MedicationStatement.dosage.timing.repeat.bounds[x]:boundsRange", + "path": "MedicationStatement.dosage.timing.repeat.bounds[x]", + "sliceName": "boundsRange", "short": "Bereich für die Begrenzung", "min": 0, "max": "1", @@ -448,70 +468,71 @@ "mustSupport": true }, { - "id": "MedicationStatement.dosage.timing.repeat.boundsRange.low", - "path": "MedicationStatement.dosage.timing.repeat.boundsRange.low", + "id": "MedicationStatement.dosage.timing.repeat.bounds[x]:boundsRange.low", + "path": "MedicationStatement.dosage.timing.repeat.bounds[x].low", "patternQuantity": { "system": "http://unitsofmeasure.org" }, "mustSupport": true }, { - "id": "MedicationStatement.dosage.timing.repeat.boundsRange.low.value", - "path": "MedicationStatement.dosage.timing.repeat.boundsRange.low.value", + "id": "MedicationStatement.dosage.timing.repeat.bounds[x]:boundsRange.low.value", + "path": "MedicationStatement.dosage.timing.repeat.bounds[x].low.value", "min": 1, "mustSupport": true }, { - "id": "MedicationStatement.dosage.timing.repeat.boundsRange.low.unit", - "path": "MedicationStatement.dosage.timing.repeat.boundsRange.low.unit", + "id": "MedicationStatement.dosage.timing.repeat.bounds[x]:boundsRange.low.unit", + "path": "MedicationStatement.dosage.timing.repeat.bounds[x].low.unit", "mustSupport": true }, { - "id": "MedicationStatement.dosage.timing.repeat.boundsRange.low.system", - "path": "MedicationStatement.dosage.timing.repeat.boundsRange.low.system", + "id": "MedicationStatement.dosage.timing.repeat.bounds[x]:boundsRange.low.system", + "path": "MedicationStatement.dosage.timing.repeat.bounds[x].low.system", "min": 1, "mustSupport": true }, { - "id": "MedicationStatement.dosage.timing.repeat.boundsRange.low.code", - "path": "MedicationStatement.dosage.timing.repeat.boundsRange.low.code", + "id": "MedicationStatement.dosage.timing.repeat.bounds[x]:boundsRange.low.code", + "path": "MedicationStatement.dosage.timing.repeat.bounds[x].low.code", "min": 1, "mustSupport": true }, { - "id": "MedicationStatement.dosage.timing.repeat.boundsRange.high", - "path": "MedicationStatement.dosage.timing.repeat.boundsRange.high", + "id": "MedicationStatement.dosage.timing.repeat.bounds[x]:boundsRange.high", + "path": "MedicationStatement.dosage.timing.repeat.bounds[x].high", "patternQuantity": { "system": "http://unitsofmeasure.org" }, "mustSupport": true }, { - "id": "MedicationStatement.dosage.timing.repeat.boundsRange.high.value", - "path": "MedicationStatement.dosage.timing.repeat.boundsRange.high.value", + "id": "MedicationStatement.dosage.timing.repeat.bounds[x]:boundsRange.high.value", + "path": "MedicationStatement.dosage.timing.repeat.bounds[x].high.value", "min": 1, "mustSupport": true }, { - "id": "MedicationStatement.dosage.timing.repeat.boundsRange.high.unit", - "path": "MedicationStatement.dosage.timing.repeat.boundsRange.high.unit", + "id": "MedicationStatement.dosage.timing.repeat.bounds[x]:boundsRange.high.unit", + "path": "MedicationStatement.dosage.timing.repeat.bounds[x].high.unit", "mustSupport": true }, { - "id": "MedicationStatement.dosage.timing.repeat.boundsRange.high.system", - "path": "MedicationStatement.dosage.timing.repeat.boundsRange.high.system", + "id": "MedicationStatement.dosage.timing.repeat.bounds[x]:boundsRange.high.system", + "path": "MedicationStatement.dosage.timing.repeat.bounds[x].high.system", "min": 1, "mustSupport": true }, { - "id": "MedicationStatement.dosage.timing.repeat.boundsRange.high.code", - "path": "MedicationStatement.dosage.timing.repeat.boundsRange.high.code", + "id": "MedicationStatement.dosage.timing.repeat.bounds[x]:boundsRange.high.code", + "path": "MedicationStatement.dosage.timing.repeat.bounds[x].high.code", "min": 1, "mustSupport": true }, { - "id": "MedicationStatement.dosage.timing.repeat.boundsPeriod", - "path": "MedicationStatement.dosage.timing.repeat.boundsPeriod", + "id": "MedicationStatement.dosage.timing.repeat.bounds[x]:boundsPeriod", + "path": "MedicationStatement.dosage.timing.repeat.bounds[x]", + "sliceName": "boundsPeriod", "short": "begrenzender Zeitraum", "min": 0, "max": "1", @@ -523,13 +544,13 @@ "mustSupport": true }, { - "id": "MedicationStatement.dosage.timing.repeat.boundsPeriod.start", - "path": "MedicationStatement.dosage.timing.repeat.boundsPeriod.start", + "id": "MedicationStatement.dosage.timing.repeat.bounds[x]:boundsPeriod.start", + "path": "MedicationStatement.dosage.timing.repeat.bounds[x].start", "mustSupport": true }, { - "id": "MedicationStatement.dosage.timing.repeat.boundsPeriod.end", - "path": "MedicationStatement.dosage.timing.repeat.boundsPeriod.end", + "id": "MedicationStatement.dosage.timing.repeat.bounds[x]:boundsPeriod.end", + "path": "MedicationStatement.dosage.timing.repeat.bounds[x].end", "mustSupport": true }, { @@ -617,8 +638,23 @@ "mustSupport": true }, { - "id": "MedicationStatement.dosage.asNeededBoolean", - "path": "MedicationStatement.dosage.asNeededBoolean", + "id": "MedicationStatement.dosage.asNeeded[x]", + "path": "MedicationStatement.dosage.asNeeded[x]", + "slicing": { + "discriminator": [ + { + "type": "type", + "path": "$this" + } + ], + "ordered": false, + "rules": "open" + } + }, + { + "id": "MedicationStatement.dosage.asNeeded[x]:asNeededBoolean", + "path": "MedicationStatement.dosage.asNeeded[x]", + "sliceName": "asNeededBoolean", "short": "Bedarfsmedikation", "min": 0, "max": "1", @@ -778,8 +814,23 @@ "mustSupport": true }, { - "id": "MedicationStatement.dosage.doseAndRate.doseRange", - "path": "MedicationStatement.dosage.doseAndRate.doseRange", + "id": "MedicationStatement.dosage.doseAndRate.dose[x]", + "path": "MedicationStatement.dosage.doseAndRate.dose[x]", + "slicing": { + "discriminator": [ + { + "type": "type", + "path": "$this" + } + ], + "ordered": false, + "rules": "open" + } + }, + { + "id": "MedicationStatement.dosage.doseAndRate.dose[x]:doseRange", + "path": "MedicationStatement.dosage.doseAndRate.dose[x]", + "sliceName": "doseRange", "short": "Dosisbereich", "min": 0, "max": "1", @@ -791,70 +842,71 @@ "mustSupport": true }, { - "id": "MedicationStatement.dosage.doseAndRate.doseRange.low", - "path": "MedicationStatement.dosage.doseAndRate.doseRange.low", + "id": "MedicationStatement.dosage.doseAndRate.dose[x]:doseRange.low", + "path": "MedicationStatement.dosage.doseAndRate.dose[x].low", "patternQuantity": { "system": "http://unitsofmeasure.org" }, "mustSupport": true }, { - "id": "MedicationStatement.dosage.doseAndRate.doseRange.low.value", - "path": "MedicationStatement.dosage.doseAndRate.doseRange.low.value", + "id": "MedicationStatement.dosage.doseAndRate.dose[x]:doseRange.low.value", + "path": "MedicationStatement.dosage.doseAndRate.dose[x].low.value", "min": 1, "mustSupport": true }, { - "id": "MedicationStatement.dosage.doseAndRate.doseRange.low.unit", - "path": "MedicationStatement.dosage.doseAndRate.doseRange.low.unit", + "id": "MedicationStatement.dosage.doseAndRate.dose[x]:doseRange.low.unit", + "path": "MedicationStatement.dosage.doseAndRate.dose[x].low.unit", "mustSupport": true }, { - "id": "MedicationStatement.dosage.doseAndRate.doseRange.low.system", - "path": "MedicationStatement.dosage.doseAndRate.doseRange.low.system", + "id": "MedicationStatement.dosage.doseAndRate.dose[x]:doseRange.low.system", + "path": "MedicationStatement.dosage.doseAndRate.dose[x].low.system", "min": 1, "mustSupport": true }, { - "id": "MedicationStatement.dosage.doseAndRate.doseRange.low.code", - "path": "MedicationStatement.dosage.doseAndRate.doseRange.low.code", + "id": "MedicationStatement.dosage.doseAndRate.dose[x]:doseRange.low.code", + "path": "MedicationStatement.dosage.doseAndRate.dose[x].low.code", "min": 1, "mustSupport": true }, { - "id": "MedicationStatement.dosage.doseAndRate.doseRange.high", - "path": "MedicationStatement.dosage.doseAndRate.doseRange.high", + "id": "MedicationStatement.dosage.doseAndRate.dose[x]:doseRange.high", + "path": "MedicationStatement.dosage.doseAndRate.dose[x].high", "patternQuantity": { "system": "http://unitsofmeasure.org" }, "mustSupport": true }, { - "id": "MedicationStatement.dosage.doseAndRate.doseRange.high.value", - "path": "MedicationStatement.dosage.doseAndRate.doseRange.high.value", + "id": "MedicationStatement.dosage.doseAndRate.dose[x]:doseRange.high.value", + "path": "MedicationStatement.dosage.doseAndRate.dose[x].high.value", "min": 1, "mustSupport": true }, { - "id": "MedicationStatement.dosage.doseAndRate.doseRange.high.unit", - "path": "MedicationStatement.dosage.doseAndRate.doseRange.high.unit", + "id": "MedicationStatement.dosage.doseAndRate.dose[x]:doseRange.high.unit", + "path": "MedicationStatement.dosage.doseAndRate.dose[x].high.unit", "mustSupport": true }, { - "id": "MedicationStatement.dosage.doseAndRate.doseRange.high.system", - "path": "MedicationStatement.dosage.doseAndRate.doseRange.high.system", + "id": "MedicationStatement.dosage.doseAndRate.dose[x]:doseRange.high.system", + "path": "MedicationStatement.dosage.doseAndRate.dose[x].high.system", "min": 1, "mustSupport": true }, { - "id": "MedicationStatement.dosage.doseAndRate.doseRange.high.code", - "path": "MedicationStatement.dosage.doseAndRate.doseRange.high.code", + "id": "MedicationStatement.dosage.doseAndRate.dose[x]:doseRange.high.code", + "path": "MedicationStatement.dosage.doseAndRate.dose[x].high.code", "min": 1, "mustSupport": true }, { - "id": "MedicationStatement.dosage.doseAndRate.doseQuantity", - "path": "MedicationStatement.dosage.doseAndRate.doseQuantity", + "id": "MedicationStatement.dosage.doseAndRate.dose[x]:doseQuantity", + "path": "MedicationStatement.dosage.doseAndRate.dose[x]", + "sliceName": "doseQuantity", "short": "Dosis", "min": 0, "max": "1", @@ -872,31 +924,46 @@ "mustSupport": true }, { - "id": "MedicationStatement.dosage.doseAndRate.doseQuantity.value", - "path": "MedicationStatement.dosage.doseAndRate.doseQuantity.value", + "id": "MedicationStatement.dosage.doseAndRate.dose[x]:doseQuantity.value", + "path": "MedicationStatement.dosage.doseAndRate.dose[x].value", "min": 1, "mustSupport": true }, { - "id": "MedicationStatement.dosage.doseAndRate.doseQuantity.unit", - "path": "MedicationStatement.dosage.doseAndRate.doseQuantity.unit", + "id": "MedicationStatement.dosage.doseAndRate.dose[x]:doseQuantity.unit", + "path": "MedicationStatement.dosage.doseAndRate.dose[x].unit", "mustSupport": true }, { - "id": "MedicationStatement.dosage.doseAndRate.doseQuantity.system", - "path": "MedicationStatement.dosage.doseAndRate.doseQuantity.system", + "id": "MedicationStatement.dosage.doseAndRate.dose[x]:doseQuantity.system", + "path": "MedicationStatement.dosage.doseAndRate.dose[x].system", "min": 1, "mustSupport": true }, { - "id": "MedicationStatement.dosage.doseAndRate.doseQuantity.code", - "path": "MedicationStatement.dosage.doseAndRate.doseQuantity.code", + "id": "MedicationStatement.dosage.doseAndRate.dose[x]:doseQuantity.code", + "path": "MedicationStatement.dosage.doseAndRate.dose[x].code", "min": 1, "mustSupport": true }, { - "id": "MedicationStatement.dosage.doseAndRate.rateRatio", - "path": "MedicationStatement.dosage.doseAndRate.rateRatio", + "id": "MedicationStatement.dosage.doseAndRate.rate[x]", + "path": "MedicationStatement.dosage.doseAndRate.rate[x]", + "slicing": { + "discriminator": [ + { + "type": "type", + "path": "$this" + } + ], + "ordered": false, + "rules": "open" + } + }, + { + "id": "MedicationStatement.dosage.doseAndRate.rate[x]:rateRatio", + "path": "MedicationStatement.dosage.doseAndRate.rate[x]", + "sliceName": "rateRatio", "short": "Raten-Verhältnis", "min": 0, "max": "1", @@ -908,70 +975,71 @@ "mustSupport": true }, { - "id": "MedicationStatement.dosage.doseAndRate.rateRatio.numerator", - "path": "MedicationStatement.dosage.doseAndRate.rateRatio.numerator", + "id": "MedicationStatement.dosage.doseAndRate.rate[x]:rateRatio.numerator", + "path": "MedicationStatement.dosage.doseAndRate.rate[x].numerator", "patternQuantity": { "system": "http://unitsofmeasure.org" }, "mustSupport": true }, { - "id": "MedicationStatement.dosage.doseAndRate.rateRatio.numerator.value", - "path": "MedicationStatement.dosage.doseAndRate.rateRatio.numerator.value", + "id": "MedicationStatement.dosage.doseAndRate.rate[x]:rateRatio.numerator.value", + "path": "MedicationStatement.dosage.doseAndRate.rate[x].numerator.value", "min": 1, "mustSupport": true }, { - "id": "MedicationStatement.dosage.doseAndRate.rateRatio.numerator.unit", - "path": "MedicationStatement.dosage.doseAndRate.rateRatio.numerator.unit", + "id": "MedicationStatement.dosage.doseAndRate.rate[x]:rateRatio.numerator.unit", + "path": "MedicationStatement.dosage.doseAndRate.rate[x].numerator.unit", "mustSupport": true }, { - "id": "MedicationStatement.dosage.doseAndRate.rateRatio.numerator.system", - "path": "MedicationStatement.dosage.doseAndRate.rateRatio.numerator.system", + "id": "MedicationStatement.dosage.doseAndRate.rate[x]:rateRatio.numerator.system", + "path": "MedicationStatement.dosage.doseAndRate.rate[x].numerator.system", "min": 1, "mustSupport": true }, { - "id": "MedicationStatement.dosage.doseAndRate.rateRatio.numerator.code", - "path": "MedicationStatement.dosage.doseAndRate.rateRatio.numerator.code", + "id": "MedicationStatement.dosage.doseAndRate.rate[x]:rateRatio.numerator.code", + "path": "MedicationStatement.dosage.doseAndRate.rate[x].numerator.code", "min": 1, "mustSupport": true }, { - "id": "MedicationStatement.dosage.doseAndRate.rateRatio.denominator", - "path": "MedicationStatement.dosage.doseAndRate.rateRatio.denominator", + "id": "MedicationStatement.dosage.doseAndRate.rate[x]:rateRatio.denominator", + "path": "MedicationStatement.dosage.doseAndRate.rate[x].denominator", "patternQuantity": { "system": "http://unitsofmeasure.org" }, "mustSupport": true }, { - "id": "MedicationStatement.dosage.doseAndRate.rateRatio.denominator.value", - "path": "MedicationStatement.dosage.doseAndRate.rateRatio.denominator.value", + "id": "MedicationStatement.dosage.doseAndRate.rate[x]:rateRatio.denominator.value", + "path": "MedicationStatement.dosage.doseAndRate.rate[x].denominator.value", "min": 1, "mustSupport": true }, { - "id": "MedicationStatement.dosage.doseAndRate.rateRatio.denominator.unit", - "path": "MedicationStatement.dosage.doseAndRate.rateRatio.denominator.unit", + "id": "MedicationStatement.dosage.doseAndRate.rate[x]:rateRatio.denominator.unit", + "path": "MedicationStatement.dosage.doseAndRate.rate[x].denominator.unit", "mustSupport": true }, { - "id": "MedicationStatement.dosage.doseAndRate.rateRatio.denominator.system", - "path": "MedicationStatement.dosage.doseAndRate.rateRatio.denominator.system", + "id": "MedicationStatement.dosage.doseAndRate.rate[x]:rateRatio.denominator.system", + "path": "MedicationStatement.dosage.doseAndRate.rate[x].denominator.system", "min": 1, "mustSupport": true }, { - "id": "MedicationStatement.dosage.doseAndRate.rateRatio.denominator.code", - "path": "MedicationStatement.dosage.doseAndRate.rateRatio.denominator.code", + "id": "MedicationStatement.dosage.doseAndRate.rate[x]:rateRatio.denominator.code", + "path": "MedicationStatement.dosage.doseAndRate.rate[x].denominator.code", "min": 1, "mustSupport": true }, { - "id": "MedicationStatement.dosage.doseAndRate.rateRange", - "path": "MedicationStatement.dosage.doseAndRate.rateRange", + "id": "MedicationStatement.dosage.doseAndRate.rate[x]:rateRange", + "path": "MedicationStatement.dosage.doseAndRate.rate[x]", + "sliceName": "rateRange", "short": "Raten-Bereich", "min": 0, "max": "1", @@ -983,70 +1051,71 @@ "mustSupport": true }, { - "id": "MedicationStatement.dosage.doseAndRate.rateRange.low", - "path": "MedicationStatement.dosage.doseAndRate.rateRange.low", + "id": "MedicationStatement.dosage.doseAndRate.rate[x]:rateRange.low", + "path": "MedicationStatement.dosage.doseAndRate.rate[x].low", "patternQuantity": { "system": "http://unitsofmeasure.org" }, "mustSupport": true }, { - "id": "MedicationStatement.dosage.doseAndRate.rateRange.low.value", - "path": "MedicationStatement.dosage.doseAndRate.rateRange.low.value", + "id": "MedicationStatement.dosage.doseAndRate.rate[x]:rateRange.low.value", + "path": "MedicationStatement.dosage.doseAndRate.rate[x].low.value", "min": 1, "mustSupport": true }, { - "id": "MedicationStatement.dosage.doseAndRate.rateRange.low.unit", - "path": "MedicationStatement.dosage.doseAndRate.rateRange.low.unit", + "id": "MedicationStatement.dosage.doseAndRate.rate[x]:rateRange.low.unit", + "path": "MedicationStatement.dosage.doseAndRate.rate[x].low.unit", "mustSupport": true }, { - "id": "MedicationStatement.dosage.doseAndRate.rateRange.low.system", - "path": "MedicationStatement.dosage.doseAndRate.rateRange.low.system", + "id": "MedicationStatement.dosage.doseAndRate.rate[x]:rateRange.low.system", + "path": "MedicationStatement.dosage.doseAndRate.rate[x].low.system", "min": 1, "mustSupport": true }, { - "id": "MedicationStatement.dosage.doseAndRate.rateRange.low.code", - "path": "MedicationStatement.dosage.doseAndRate.rateRange.low.code", + "id": "MedicationStatement.dosage.doseAndRate.rate[x]:rateRange.low.code", + "path": "MedicationStatement.dosage.doseAndRate.rate[x].low.code", "min": 1, "mustSupport": true }, { - "id": "MedicationStatement.dosage.doseAndRate.rateRange.high", - "path": "MedicationStatement.dosage.doseAndRate.rateRange.high", + "id": "MedicationStatement.dosage.doseAndRate.rate[x]:rateRange.high", + "path": "MedicationStatement.dosage.doseAndRate.rate[x].high", "patternQuantity": { "system": "http://unitsofmeasure.org" }, "mustSupport": true }, { - "id": "MedicationStatement.dosage.doseAndRate.rateRange.high.value", - "path": "MedicationStatement.dosage.doseAndRate.rateRange.high.value", + "id": "MedicationStatement.dosage.doseAndRate.rate[x]:rateRange.high.value", + "path": "MedicationStatement.dosage.doseAndRate.rate[x].high.value", "min": 1, "mustSupport": true }, { - "id": "MedicationStatement.dosage.doseAndRate.rateRange.high.unit", - "path": "MedicationStatement.dosage.doseAndRate.rateRange.high.unit", + "id": "MedicationStatement.dosage.doseAndRate.rate[x]:rateRange.high.unit", + "path": "MedicationStatement.dosage.doseAndRate.rate[x].high.unit", "mustSupport": true }, { - "id": "MedicationStatement.dosage.doseAndRate.rateRange.high.system", - "path": "MedicationStatement.dosage.doseAndRate.rateRange.high.system", + "id": "MedicationStatement.dosage.doseAndRate.rate[x]:rateRange.high.system", + "path": "MedicationStatement.dosage.doseAndRate.rate[x].high.system", "min": 1, "mustSupport": true }, { - "id": "MedicationStatement.dosage.doseAndRate.rateRange.high.code", - "path": "MedicationStatement.dosage.doseAndRate.rateRange.high.code", + "id": "MedicationStatement.dosage.doseAndRate.rate[x]:rateRange.high.code", + "path": "MedicationStatement.dosage.doseAndRate.rate[x].high.code", "min": 1, "mustSupport": true }, { - "id": "MedicationStatement.dosage.doseAndRate.rateQuantity", - "path": "MedicationStatement.dosage.doseAndRate.rateQuantity", + "id": "MedicationStatement.dosage.doseAndRate.rate[x]:rateQuantity", + "path": "MedicationStatement.dosage.doseAndRate.rate[x]", + "sliceName": "rateQuantity", "short": "Rate", "min": 0, "max": "1", @@ -1064,25 +1133,25 @@ "mustSupport": true }, { - "id": "MedicationStatement.dosage.doseAndRate.rateQuantity.value", - "path": "MedicationStatement.dosage.doseAndRate.rateQuantity.value", + "id": "MedicationStatement.dosage.doseAndRate.rate[x]:rateQuantity.value", + "path": "MedicationStatement.dosage.doseAndRate.rate[x].value", "min": 1, "mustSupport": true }, { - "id": "MedicationStatement.dosage.doseAndRate.rateQuantity.unit", - "path": "MedicationStatement.dosage.doseAndRate.rateQuantity.unit", + "id": "MedicationStatement.dosage.doseAndRate.rate[x]:rateQuantity.unit", + "path": "MedicationStatement.dosage.doseAndRate.rate[x].unit", "mustSupport": true }, { - "id": "MedicationStatement.dosage.doseAndRate.rateQuantity.system", - "path": "MedicationStatement.dosage.doseAndRate.rateQuantity.system", + "id": "MedicationStatement.dosage.doseAndRate.rate[x]:rateQuantity.system", + "path": "MedicationStatement.dosage.doseAndRate.rate[x].system", "min": 1, "mustSupport": true }, { - "id": "MedicationStatement.dosage.doseAndRate.rateQuantity.code", - "path": "MedicationStatement.dosage.doseAndRate.rateQuantity.code", + "id": "MedicationStatement.dosage.doseAndRate.rate[x]:rateQuantity.code", + "path": "MedicationStatement.dosage.doseAndRate.rate[x].code", "min": 1, "mustSupport": true }, diff --git a/Resources/fsh-generated/resources/StructureDefinition-ISiKMedikationsVerabreichung.json b/Resources/fsh-generated/resources/StructureDefinition-ISiKMedikationsVerabreichung.json index dc18687..23586b8 100644 --- a/Resources/fsh-generated/resources/StructureDefinition-ISiKMedikationsVerabreichung.json +++ b/Resources/fsh-generated/resources/StructureDefinition-ISiKMedikationsVerabreichung.json @@ -57,8 +57,23 @@ "mustSupport": true }, { - "id": "MedicationAdministration.medicationCodeableConcept", - "path": "MedicationAdministration.medicationCodeableConcept", + "id": "MedicationAdministration.medication[x]", + "path": "MedicationAdministration.medication[x]", + "slicing": { + "discriminator": [ + { + "type": "type", + "path": "$this" + } + ], + "ordered": false, + "rules": "open" + } + }, + { + "id": "MedicationAdministration.medication[x]:medicationCodeableConcept", + "path": "MedicationAdministration.medication[x]", + "sliceName": "medicationCodeableConcept", "short": "Medikament in codierter Form oder ggf. als Freitext", "comment": "kann verwendet werden, wenn keine detaillierten Informationen zum Medikament (z.B. Rezepturen) existieren.", "min": 0, @@ -71,8 +86,8 @@ "mustSupport": true }, { - "id": "MedicationAdministration.medicationCodeableConcept.coding", - "path": "MedicationAdministration.medicationCodeableConcept.coding", + "id": "MedicationAdministration.medication[x]:medicationCodeableConcept.coding", + "path": "MedicationAdministration.medication[x].coding", "slicing": { "discriminator": [ { @@ -85,8 +100,8 @@ "mustSupport": true }, { - "id": "MedicationAdministration.medicationCodeableConcept.coding:PZN", - "path": "MedicationAdministration.medicationCodeableConcept.coding", + "id": "MedicationAdministration.medication[x]:medicationCodeableConcept.coding:PZN", + "path": "MedicationAdministration.medication[x].coding", "sliceName": "PZN", "min": 0, "max": "1", @@ -96,25 +111,25 @@ "mustSupport": true }, { - "id": "MedicationAdministration.medicationCodeableConcept.coding:PZN.system", - "path": "MedicationAdministration.medicationCodeableConcept.coding.system", + "id": "MedicationAdministration.medication[x]:medicationCodeableConcept.coding:PZN.system", + "path": "MedicationAdministration.medication[x].coding.system", "min": 1, "mustSupport": true }, { - "id": "MedicationAdministration.medicationCodeableConcept.coding:PZN.code", - "path": "MedicationAdministration.medicationCodeableConcept.coding.code", + "id": "MedicationAdministration.medication[x]:medicationCodeableConcept.coding:PZN.code", + "path": "MedicationAdministration.medication[x].coding.code", "min": 1, "mustSupport": true }, { - "id": "MedicationAdministration.medicationCodeableConcept.coding:PZN.display", - "path": "MedicationAdministration.medicationCodeableConcept.coding.display", + "id": "MedicationAdministration.medication[x]:medicationCodeableConcept.coding:PZN.display", + "path": "MedicationAdministration.medication[x].coding.display", "mustSupport": true }, { - "id": "MedicationAdministration.medicationCodeableConcept.coding:ATC-DE", - "path": "MedicationAdministration.medicationCodeableConcept.coding", + "id": "MedicationAdministration.medication[x]:medicationCodeableConcept.coding:ATC-DE", + "path": "MedicationAdministration.medication[x].coding", "sliceName": "ATC-DE", "min": 0, "max": "1", @@ -124,25 +139,25 @@ "mustSupport": true }, { - "id": "MedicationAdministration.medicationCodeableConcept.coding:ATC-DE.system", - "path": "MedicationAdministration.medicationCodeableConcept.coding.system", + "id": "MedicationAdministration.medication[x]:medicationCodeableConcept.coding:ATC-DE.system", + "path": "MedicationAdministration.medication[x].coding.system", "min": 1, "mustSupport": true }, { - "id": "MedicationAdministration.medicationCodeableConcept.coding:ATC-DE.code", - "path": "MedicationAdministration.medicationCodeableConcept.coding.code", + "id": "MedicationAdministration.medication[x]:medicationCodeableConcept.coding:ATC-DE.code", + "path": "MedicationAdministration.medication[x].coding.code", "min": 1, "mustSupport": true }, { - "id": "MedicationAdministration.medicationCodeableConcept.coding:ATC-DE.display", - "path": "MedicationAdministration.medicationCodeableConcept.coding.display", + "id": "MedicationAdministration.medication[x]:medicationCodeableConcept.coding:ATC-DE.display", + "path": "MedicationAdministration.medication[x].coding.display", "mustSupport": true }, { - "id": "MedicationAdministration.medicationCodeableConcept.coding:WG14", - "path": "MedicationAdministration.medicationCodeableConcept.coding", + "id": "MedicationAdministration.medication[x]:medicationCodeableConcept.coding:WG14", + "path": "MedicationAdministration.medication[x].coding", "sliceName": "WG14", "min": 0, "max": "1", @@ -152,30 +167,31 @@ "mustSupport": true }, { - "id": "MedicationAdministration.medicationCodeableConcept.coding:WG14.system", - "path": "MedicationAdministration.medicationCodeableConcept.coding.system", + "id": "MedicationAdministration.medication[x]:medicationCodeableConcept.coding:WG14.system", + "path": "MedicationAdministration.medication[x].coding.system", "min": 1, "mustSupport": true }, { - "id": "MedicationAdministration.medicationCodeableConcept.coding:WG14.code", - "path": "MedicationAdministration.medicationCodeableConcept.coding.code", + "id": "MedicationAdministration.medication[x]:medicationCodeableConcept.coding:WG14.code", + "path": "MedicationAdministration.medication[x].coding.code", "min": 1, "mustSupport": true }, { - "id": "MedicationAdministration.medicationCodeableConcept.coding:WG14.display", - "path": "MedicationAdministration.medicationCodeableConcept.coding.display", + "id": "MedicationAdministration.medication[x]:medicationCodeableConcept.coding:WG14.display", + "path": "MedicationAdministration.medication[x].coding.display", "mustSupport": true }, { - "id": "MedicationAdministration.medicationCodeableConcept.text", - "path": "MedicationAdministration.medicationCodeableConcept.text", + "id": "MedicationAdministration.medication[x]:medicationCodeableConcept.text", + "path": "MedicationAdministration.medication[x].text", "mustSupport": true }, { - "id": "MedicationAdministration.medicationReference", - "path": "MedicationAdministration.medicationReference", + "id": "MedicationAdministration.medication[x]:medicationReference", + "path": "MedicationAdministration.medication[x]", + "sliceName": "medicationReference", "short": "Referenz auf das Medikament (Medication-Ressource)", "comment": "wird verwendet, wenn detaillierte Informationen zum Medikament vorliegen", "min": 0, @@ -191,8 +207,8 @@ "mustSupport": true }, { - "id": "MedicationAdministration.medicationReference.reference", - "path": "MedicationAdministration.medicationReference.reference", + "id": "MedicationAdministration.medication[x]:medicationReference.reference", + "path": "MedicationAdministration.medication[x].reference", "min": 1, "mustSupport": true }, @@ -229,8 +245,23 @@ "mustSupport": true }, { - "id": "MedicationAdministration.effectiveDateTime", - "path": "MedicationAdministration.effectiveDateTime", + "id": "MedicationAdministration.effective[x]", + "path": "MedicationAdministration.effective[x]", + "slicing": { + "discriminator": [ + { + "type": "type", + "path": "$this" + } + ], + "ordered": false, + "rules": "open" + } + }, + { + "id": "MedicationAdministration.effective[x]:effectiveDateTime", + "path": "MedicationAdministration.effective[x]", + "sliceName": "effectiveDateTime", "short": "Zeitpunkt der Verabreichung", "min": 0, "max": "1", @@ -242,8 +273,9 @@ "mustSupport": true }, { - "id": "MedicationAdministration.effectivePeriod", - "path": "MedicationAdministration.effectivePeriod", + "id": "MedicationAdministration.effective[x]:effectivePeriod", + "path": "MedicationAdministration.effective[x]", + "sliceName": "effectivePeriod", "short": "Zeitraum der Verabreichung", "min": 0, "max": "1", @@ -255,13 +287,13 @@ "mustSupport": true }, { - "id": "MedicationAdministration.effectivePeriod.start", - "path": "MedicationAdministration.effectivePeriod.start", + "id": "MedicationAdministration.effective[x]:effectivePeriod.start", + "path": "MedicationAdministration.effective[x].start", "mustSupport": true }, { - "id": "MedicationAdministration.effectivePeriod.end", - "path": "MedicationAdministration.effectivePeriod.end", + "id": "MedicationAdministration.effective[x]:effectivePeriod.end", + "path": "MedicationAdministration.effective[x].end", "mustSupport": true }, { @@ -491,8 +523,23 @@ "mustSupport": true }, { - "id": "MedicationAdministration.dosage.rateRatio", - "path": "MedicationAdministration.dosage.rateRatio", + "id": "MedicationAdministration.dosage.rate[x]", + "path": "MedicationAdministration.dosage.rate[x]", + "slicing": { + "discriminator": [ + { + "type": "type", + "path": "$this" + } + ], + "ordered": false, + "rules": "open" + } + }, + { + "id": "MedicationAdministration.dosage.rate[x]:rateRatio", + "path": "MedicationAdministration.dosage.rate[x]", + "sliceName": "rateRatio", "short": "Verabreichungs-Rate (Verhältnis)", "min": 0, "max": "1", @@ -504,70 +551,71 @@ "mustSupport": true }, { - "id": "MedicationAdministration.dosage.rateRatio.numerator", - "path": "MedicationAdministration.dosage.rateRatio.numerator", + "id": "MedicationAdministration.dosage.rate[x]:rateRatio.numerator", + "path": "MedicationAdministration.dosage.rate[x].numerator", "patternQuantity": { "system": "http://unitsofmeasure.org" }, "mustSupport": true }, { - "id": "MedicationAdministration.dosage.rateRatio.numerator.value", - "path": "MedicationAdministration.dosage.rateRatio.numerator.value", + "id": "MedicationAdministration.dosage.rate[x]:rateRatio.numerator.value", + "path": "MedicationAdministration.dosage.rate[x].numerator.value", "min": 1, "mustSupport": true }, { - "id": "MedicationAdministration.dosage.rateRatio.numerator.unit", - "path": "MedicationAdministration.dosage.rateRatio.numerator.unit", + "id": "MedicationAdministration.dosage.rate[x]:rateRatio.numerator.unit", + "path": "MedicationAdministration.dosage.rate[x].numerator.unit", "mustSupport": true }, { - "id": "MedicationAdministration.dosage.rateRatio.numerator.system", - "path": "MedicationAdministration.dosage.rateRatio.numerator.system", + "id": "MedicationAdministration.dosage.rate[x]:rateRatio.numerator.system", + "path": "MedicationAdministration.dosage.rate[x].numerator.system", "min": 1, "mustSupport": true }, { - "id": "MedicationAdministration.dosage.rateRatio.numerator.code", - "path": "MedicationAdministration.dosage.rateRatio.numerator.code", + "id": "MedicationAdministration.dosage.rate[x]:rateRatio.numerator.code", + "path": "MedicationAdministration.dosage.rate[x].numerator.code", "min": 1, "mustSupport": true }, { - "id": "MedicationAdministration.dosage.rateRatio.denominator", - "path": "MedicationAdministration.dosage.rateRatio.denominator", + "id": "MedicationAdministration.dosage.rate[x]:rateRatio.denominator", + "path": "MedicationAdministration.dosage.rate[x].denominator", "patternQuantity": { "system": "http://unitsofmeasure.org" }, "mustSupport": true }, { - "id": "MedicationAdministration.dosage.rateRatio.denominator.value", - "path": "MedicationAdministration.dosage.rateRatio.denominator.value", + "id": "MedicationAdministration.dosage.rate[x]:rateRatio.denominator.value", + "path": "MedicationAdministration.dosage.rate[x].denominator.value", "min": 1, "mustSupport": true }, { - "id": "MedicationAdministration.dosage.rateRatio.denominator.unit", - "path": "MedicationAdministration.dosage.rateRatio.denominator.unit", + "id": "MedicationAdministration.dosage.rate[x]:rateRatio.denominator.unit", + "path": "MedicationAdministration.dosage.rate[x].denominator.unit", "mustSupport": true }, { - "id": "MedicationAdministration.dosage.rateRatio.denominator.system", - "path": "MedicationAdministration.dosage.rateRatio.denominator.system", + "id": "MedicationAdministration.dosage.rate[x]:rateRatio.denominator.system", + "path": "MedicationAdministration.dosage.rate[x].denominator.system", "min": 1, "mustSupport": true }, { - "id": "MedicationAdministration.dosage.rateRatio.denominator.code", - "path": "MedicationAdministration.dosage.rateRatio.denominator.code", + "id": "MedicationAdministration.dosage.rate[x]:rateRatio.denominator.code", + "path": "MedicationAdministration.dosage.rate[x].denominator.code", "min": 1, "mustSupport": true }, { - "id": "MedicationAdministration.dosage.rateQuantity", - "path": "MedicationAdministration.dosage.rateQuantity", + "id": "MedicationAdministration.dosage.rate[x]:rateQuantity", + "path": "MedicationAdministration.dosage.rate[x]", + "sliceName": "rateQuantity", "short": "Verabreichungs-Rate", "min": 0, "max": "1", @@ -585,25 +633,25 @@ "mustSupport": true }, { - "id": "MedicationAdministration.dosage.rateQuantity.value", - "path": "MedicationAdministration.dosage.rateQuantity.value", + "id": "MedicationAdministration.dosage.rate[x]:rateQuantity.value", + "path": "MedicationAdministration.dosage.rate[x].value", "min": 1, "mustSupport": true }, { - "id": "MedicationAdministration.dosage.rateQuantity.unit", - "path": "MedicationAdministration.dosage.rateQuantity.unit", + "id": "MedicationAdministration.dosage.rate[x]:rateQuantity.unit", + "path": "MedicationAdministration.dosage.rate[x].unit", "mustSupport": true }, { - "id": "MedicationAdministration.dosage.rateQuantity.system", - "path": "MedicationAdministration.dosage.rateQuantity.system", + "id": "MedicationAdministration.dosage.rate[x]:rateQuantity.system", + "path": "MedicationAdministration.dosage.rate[x].system", "min": 1, "mustSupport": true }, { - "id": "MedicationAdministration.dosage.rateQuantity.code", - "path": "MedicationAdministration.dosage.rateQuantity.code", + "id": "MedicationAdministration.dosage.rate[x]:rateQuantity.code", + "path": "MedicationAdministration.dosage.rate[x].code", "min": 1, "mustSupport": true } diff --git a/Resources/fsh-generated/resources/StructureDefinition-ISiKMedikationsVerordnung.json b/Resources/fsh-generated/resources/StructureDefinition-ISiKMedikationsVerordnung.json index a5e06f1..b4212ed 100644 --- a/Resources/fsh-generated/resources/StructureDefinition-ISiKMedikationsVerordnung.json +++ b/Resources/fsh-generated/resources/StructureDefinition-ISiKMedikationsVerordnung.json @@ -69,8 +69,23 @@ "max": "0" }, { - "id": "MedicationRequest.medicationCodeableConcept", - "path": "MedicationRequest.medicationCodeableConcept", + "id": "MedicationRequest.medication[x]", + "path": "MedicationRequest.medication[x]", + "slicing": { + "discriminator": [ + { + "type": "type", + "path": "$this" + } + ], + "ordered": false, + "rules": "open" + } + }, + { + "id": "MedicationRequest.medication[x]:medicationCodeableConcept", + "path": "MedicationRequest.medication[x]", + "sliceName": "medicationCodeableConcept", "short": "Medikament in codierter Form oder ggf. als Freitext", "comment": "kann verwendet werden, wenn keine detaillierten Informationen zum Medikament (z.B. Rezepturen) existieren.", "min": 0, @@ -83,8 +98,8 @@ "mustSupport": true }, { - "id": "MedicationRequest.medicationCodeableConcept.coding", - "path": "MedicationRequest.medicationCodeableConcept.coding", + "id": "MedicationRequest.medication[x]:medicationCodeableConcept.coding", + "path": "MedicationRequest.medication[x].coding", "slicing": { "discriminator": [ { @@ -97,8 +112,8 @@ "mustSupport": true }, { - "id": "MedicationRequest.medicationCodeableConcept.coding:PZN", - "path": "MedicationRequest.medicationCodeableConcept.coding", + "id": "MedicationRequest.medication[x]:medicationCodeableConcept.coding:PZN", + "path": "MedicationRequest.medication[x].coding", "sliceName": "PZN", "min": 0, "max": "1", @@ -108,25 +123,25 @@ "mustSupport": true }, { - "id": "MedicationRequest.medicationCodeableConcept.coding:PZN.system", - "path": "MedicationRequest.medicationCodeableConcept.coding.system", + "id": "MedicationRequest.medication[x]:medicationCodeableConcept.coding:PZN.system", + "path": "MedicationRequest.medication[x].coding.system", "min": 1, "mustSupport": true }, { - "id": "MedicationRequest.medicationCodeableConcept.coding:PZN.code", - "path": "MedicationRequest.medicationCodeableConcept.coding.code", + "id": "MedicationRequest.medication[x]:medicationCodeableConcept.coding:PZN.code", + "path": "MedicationRequest.medication[x].coding.code", "min": 1, "mustSupport": true }, { - "id": "MedicationRequest.medicationCodeableConcept.coding:PZN.display", - "path": "MedicationRequest.medicationCodeableConcept.coding.display", + "id": "MedicationRequest.medication[x]:medicationCodeableConcept.coding:PZN.display", + "path": "MedicationRequest.medication[x].coding.display", "mustSupport": true }, { - "id": "MedicationRequest.medicationCodeableConcept.coding:ATC-DE", - "path": "MedicationRequest.medicationCodeableConcept.coding", + "id": "MedicationRequest.medication[x]:medicationCodeableConcept.coding:ATC-DE", + "path": "MedicationRequest.medication[x].coding", "sliceName": "ATC-DE", "min": 0, "max": "1", @@ -136,25 +151,25 @@ "mustSupport": true }, { - "id": "MedicationRequest.medicationCodeableConcept.coding:ATC-DE.system", - "path": "MedicationRequest.medicationCodeableConcept.coding.system", + "id": "MedicationRequest.medication[x]:medicationCodeableConcept.coding:ATC-DE.system", + "path": "MedicationRequest.medication[x].coding.system", "min": 1, "mustSupport": true }, { - "id": "MedicationRequest.medicationCodeableConcept.coding:ATC-DE.code", - "path": "MedicationRequest.medicationCodeableConcept.coding.code", + "id": "MedicationRequest.medication[x]:medicationCodeableConcept.coding:ATC-DE.code", + "path": "MedicationRequest.medication[x].coding.code", "min": 1, "mustSupport": true }, { - "id": "MedicationRequest.medicationCodeableConcept.coding:ATC-DE.display", - "path": "MedicationRequest.medicationCodeableConcept.coding.display", + "id": "MedicationRequest.medication[x]:medicationCodeableConcept.coding:ATC-DE.display", + "path": "MedicationRequest.medication[x].coding.display", "mustSupport": true }, { - "id": "MedicationRequest.medicationCodeableConcept.coding:WG14", - "path": "MedicationRequest.medicationCodeableConcept.coding", + "id": "MedicationRequest.medication[x]:medicationCodeableConcept.coding:WG14", + "path": "MedicationRequest.medication[x].coding", "sliceName": "WG14", "min": 0, "max": "1", @@ -164,30 +179,31 @@ "mustSupport": true }, { - "id": "MedicationRequest.medicationCodeableConcept.coding:WG14.system", - "path": "MedicationRequest.medicationCodeableConcept.coding.system", + "id": "MedicationRequest.medication[x]:medicationCodeableConcept.coding:WG14.system", + "path": "MedicationRequest.medication[x].coding.system", "min": 1, "mustSupport": true }, { - "id": "MedicationRequest.medicationCodeableConcept.coding:WG14.code", - "path": "MedicationRequest.medicationCodeableConcept.coding.code", + "id": "MedicationRequest.medication[x]:medicationCodeableConcept.coding:WG14.code", + "path": "MedicationRequest.medication[x].coding.code", "min": 1, "mustSupport": true }, { - "id": "MedicationRequest.medicationCodeableConcept.coding:WG14.display", - "path": "MedicationRequest.medicationCodeableConcept.coding.display", + "id": "MedicationRequest.medication[x]:medicationCodeableConcept.coding:WG14.display", + "path": "MedicationRequest.medication[x].coding.display", "mustSupport": true }, { - "id": "MedicationRequest.medicationCodeableConcept.text", - "path": "MedicationRequest.medicationCodeableConcept.text", + "id": "MedicationRequest.medication[x]:medicationCodeableConcept.text", + "path": "MedicationRequest.medication[x].text", "mustSupport": true }, { - "id": "MedicationRequest.medicationReference", - "path": "MedicationRequest.medicationReference", + "id": "MedicationRequest.medication[x]:medicationReference", + "path": "MedicationRequest.medication[x]", + "sliceName": "medicationReference", "short": "Referenz auf das Medikament (Medication-Ressource)", "comment": "wird verwendet, wenn detaillierte Informationen zum Medikament vorliegen", "min": 0, @@ -203,8 +219,8 @@ "mustSupport": true }, { - "id": "MedicationRequest.medicationReference.reference", - "path": "MedicationRequest.medicationReference.reference", + "id": "MedicationRequest.medication[x]:medicationReference.reference", + "path": "MedicationRequest.medication[x].reference", "min": 1, "mustSupport": true }, @@ -306,8 +322,23 @@ "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.timing.repeat.boundsDuration", - "path": "MedicationRequest.dosageInstruction.timing.repeat.boundsDuration", + "id": "MedicationRequest.dosageInstruction.timing.repeat.bounds[x]", + "path": "MedicationRequest.dosageInstruction.timing.repeat.bounds[x]", + "slicing": { + "discriminator": [ + { + "type": "type", + "path": "$this" + } + ], + "ordered": false, + "rules": "open" + } + }, + { + "id": "MedicationRequest.dosageInstruction.timing.repeat.bounds[x]:boundsDuration", + "path": "MedicationRequest.dosageInstruction.timing.repeat.bounds[x]", + "sliceName": "boundsDuration", "short": "Begrenzung der Dauer", "min": 0, "max": "1", @@ -322,31 +353,32 @@ "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.timing.repeat.boundsDuration.value", - "path": "MedicationRequest.dosageInstruction.timing.repeat.boundsDuration.value", + "id": "MedicationRequest.dosageInstruction.timing.repeat.bounds[x]:boundsDuration.value", + "path": "MedicationRequest.dosageInstruction.timing.repeat.bounds[x].value", "min": 1, "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.timing.repeat.boundsDuration.unit", - "path": "MedicationRequest.dosageInstruction.timing.repeat.boundsDuration.unit", + "id": "MedicationRequest.dosageInstruction.timing.repeat.bounds[x]:boundsDuration.unit", + "path": "MedicationRequest.dosageInstruction.timing.repeat.bounds[x].unit", "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.timing.repeat.boundsDuration.system", - "path": "MedicationRequest.dosageInstruction.timing.repeat.boundsDuration.system", + "id": "MedicationRequest.dosageInstruction.timing.repeat.bounds[x]:boundsDuration.system", + "path": "MedicationRequest.dosageInstruction.timing.repeat.bounds[x].system", "min": 1, "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.timing.repeat.boundsDuration.code", - "path": "MedicationRequest.dosageInstruction.timing.repeat.boundsDuration.code", + "id": "MedicationRequest.dosageInstruction.timing.repeat.bounds[x]:boundsDuration.code", + "path": "MedicationRequest.dosageInstruction.timing.repeat.bounds[x].code", "min": 1, "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.timing.repeat.boundsRange", - "path": "MedicationRequest.dosageInstruction.timing.repeat.boundsRange", + "id": "MedicationRequest.dosageInstruction.timing.repeat.bounds[x]:boundsRange", + "path": "MedicationRequest.dosageInstruction.timing.repeat.bounds[x]", + "sliceName": "boundsRange", "short": "Bereich für die Begrenzung", "min": 0, "max": "1", @@ -358,70 +390,71 @@ "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.timing.repeat.boundsRange.low", - "path": "MedicationRequest.dosageInstruction.timing.repeat.boundsRange.low", + "id": "MedicationRequest.dosageInstruction.timing.repeat.bounds[x]:boundsRange.low", + "path": "MedicationRequest.dosageInstruction.timing.repeat.bounds[x].low", "patternQuantity": { "system": "http://unitsofmeasure.org" }, "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.timing.repeat.boundsRange.low.value", - "path": "MedicationRequest.dosageInstruction.timing.repeat.boundsRange.low.value", + "id": "MedicationRequest.dosageInstruction.timing.repeat.bounds[x]:boundsRange.low.value", + "path": "MedicationRequest.dosageInstruction.timing.repeat.bounds[x].low.value", "min": 1, "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.timing.repeat.boundsRange.low.unit", - "path": "MedicationRequest.dosageInstruction.timing.repeat.boundsRange.low.unit", + "id": "MedicationRequest.dosageInstruction.timing.repeat.bounds[x]:boundsRange.low.unit", + "path": "MedicationRequest.dosageInstruction.timing.repeat.bounds[x].low.unit", "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.timing.repeat.boundsRange.low.system", - "path": "MedicationRequest.dosageInstruction.timing.repeat.boundsRange.low.system", + "id": "MedicationRequest.dosageInstruction.timing.repeat.bounds[x]:boundsRange.low.system", + "path": "MedicationRequest.dosageInstruction.timing.repeat.bounds[x].low.system", "min": 1, "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.timing.repeat.boundsRange.low.code", - "path": "MedicationRequest.dosageInstruction.timing.repeat.boundsRange.low.code", + "id": "MedicationRequest.dosageInstruction.timing.repeat.bounds[x]:boundsRange.low.code", + "path": "MedicationRequest.dosageInstruction.timing.repeat.bounds[x].low.code", "min": 1, "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.timing.repeat.boundsRange.high", - "path": "MedicationRequest.dosageInstruction.timing.repeat.boundsRange.high", + "id": "MedicationRequest.dosageInstruction.timing.repeat.bounds[x]:boundsRange.high", + "path": "MedicationRequest.dosageInstruction.timing.repeat.bounds[x].high", "patternQuantity": { "system": "http://unitsofmeasure.org" }, "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.timing.repeat.boundsRange.high.value", - "path": "MedicationRequest.dosageInstruction.timing.repeat.boundsRange.high.value", + "id": "MedicationRequest.dosageInstruction.timing.repeat.bounds[x]:boundsRange.high.value", + "path": "MedicationRequest.dosageInstruction.timing.repeat.bounds[x].high.value", "min": 1, "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.timing.repeat.boundsRange.high.unit", - "path": "MedicationRequest.dosageInstruction.timing.repeat.boundsRange.high.unit", + "id": "MedicationRequest.dosageInstruction.timing.repeat.bounds[x]:boundsRange.high.unit", + "path": "MedicationRequest.dosageInstruction.timing.repeat.bounds[x].high.unit", "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.timing.repeat.boundsRange.high.system", - "path": "MedicationRequest.dosageInstruction.timing.repeat.boundsRange.high.system", + "id": "MedicationRequest.dosageInstruction.timing.repeat.bounds[x]:boundsRange.high.system", + "path": "MedicationRequest.dosageInstruction.timing.repeat.bounds[x].high.system", "min": 1, "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.timing.repeat.boundsRange.high.code", - "path": "MedicationRequest.dosageInstruction.timing.repeat.boundsRange.high.code", + "id": "MedicationRequest.dosageInstruction.timing.repeat.bounds[x]:boundsRange.high.code", + "path": "MedicationRequest.dosageInstruction.timing.repeat.bounds[x].high.code", "min": 1, "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.timing.repeat.boundsPeriod", - "path": "MedicationRequest.dosageInstruction.timing.repeat.boundsPeriod", + "id": "MedicationRequest.dosageInstruction.timing.repeat.bounds[x]:boundsPeriod", + "path": "MedicationRequest.dosageInstruction.timing.repeat.bounds[x]", + "sliceName": "boundsPeriod", "short": "begrenzender Zeitraum", "min": 0, "max": "1", @@ -433,13 +466,13 @@ "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.timing.repeat.boundsPeriod.start", - "path": "MedicationRequest.dosageInstruction.timing.repeat.boundsPeriod.start", + "id": "MedicationRequest.dosageInstruction.timing.repeat.bounds[x]:boundsPeriod.start", + "path": "MedicationRequest.dosageInstruction.timing.repeat.bounds[x].start", "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.timing.repeat.boundsPeriod.end", - "path": "MedicationRequest.dosageInstruction.timing.repeat.boundsPeriod.end", + "id": "MedicationRequest.dosageInstruction.timing.repeat.bounds[x]:boundsPeriod.end", + "path": "MedicationRequest.dosageInstruction.timing.repeat.bounds[x].end", "mustSupport": true }, { @@ -527,8 +560,23 @@ "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.asNeededBoolean", - "path": "MedicationRequest.dosageInstruction.asNeededBoolean", + "id": "MedicationRequest.dosageInstruction.asNeeded[x]", + "path": "MedicationRequest.dosageInstruction.asNeeded[x]", + "slicing": { + "discriminator": [ + { + "type": "type", + "path": "$this" + } + ], + "ordered": false, + "rules": "open" + } + }, + { + "id": "MedicationRequest.dosageInstruction.asNeeded[x]:asNeededBoolean", + "path": "MedicationRequest.dosageInstruction.asNeeded[x]", + "sliceName": "asNeededBoolean", "short": "Bedarfsmedikation", "min": 0, "max": "1", @@ -688,8 +736,23 @@ "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.doseAndRate.doseRange", - "path": "MedicationRequest.dosageInstruction.doseAndRate.doseRange", + "id": "MedicationRequest.dosageInstruction.doseAndRate.dose[x]", + "path": "MedicationRequest.dosageInstruction.doseAndRate.dose[x]", + "slicing": { + "discriminator": [ + { + "type": "type", + "path": "$this" + } + ], + "ordered": false, + "rules": "open" + } + }, + { + "id": "MedicationRequest.dosageInstruction.doseAndRate.dose[x]:doseRange", + "path": "MedicationRequest.dosageInstruction.doseAndRate.dose[x]", + "sliceName": "doseRange", "short": "Dosisbereich", "min": 0, "max": "1", @@ -701,70 +764,71 @@ "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.doseAndRate.doseRange.low", - "path": "MedicationRequest.dosageInstruction.doseAndRate.doseRange.low", + "id": "MedicationRequest.dosageInstruction.doseAndRate.dose[x]:doseRange.low", + "path": "MedicationRequest.dosageInstruction.doseAndRate.dose[x].low", "patternQuantity": { "system": "http://unitsofmeasure.org" }, "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.doseAndRate.doseRange.low.value", - "path": "MedicationRequest.dosageInstruction.doseAndRate.doseRange.low.value", + "id": "MedicationRequest.dosageInstruction.doseAndRate.dose[x]:doseRange.low.value", + "path": "MedicationRequest.dosageInstruction.doseAndRate.dose[x].low.value", "min": 1, "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.doseAndRate.doseRange.low.unit", - "path": "MedicationRequest.dosageInstruction.doseAndRate.doseRange.low.unit", + "id": "MedicationRequest.dosageInstruction.doseAndRate.dose[x]:doseRange.low.unit", + "path": "MedicationRequest.dosageInstruction.doseAndRate.dose[x].low.unit", "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.doseAndRate.doseRange.low.system", - "path": "MedicationRequest.dosageInstruction.doseAndRate.doseRange.low.system", + "id": "MedicationRequest.dosageInstruction.doseAndRate.dose[x]:doseRange.low.system", + "path": "MedicationRequest.dosageInstruction.doseAndRate.dose[x].low.system", "min": 1, "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.doseAndRate.doseRange.low.code", - "path": "MedicationRequest.dosageInstruction.doseAndRate.doseRange.low.code", + "id": "MedicationRequest.dosageInstruction.doseAndRate.dose[x]:doseRange.low.code", + "path": "MedicationRequest.dosageInstruction.doseAndRate.dose[x].low.code", "min": 1, "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.doseAndRate.doseRange.high", - "path": "MedicationRequest.dosageInstruction.doseAndRate.doseRange.high", + "id": "MedicationRequest.dosageInstruction.doseAndRate.dose[x]:doseRange.high", + "path": "MedicationRequest.dosageInstruction.doseAndRate.dose[x].high", "patternQuantity": { "system": "http://unitsofmeasure.org" }, "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.doseAndRate.doseRange.high.value", - "path": "MedicationRequest.dosageInstruction.doseAndRate.doseRange.high.value", + "id": "MedicationRequest.dosageInstruction.doseAndRate.dose[x]:doseRange.high.value", + "path": "MedicationRequest.dosageInstruction.doseAndRate.dose[x].high.value", "min": 1, "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.doseAndRate.doseRange.high.unit", - "path": "MedicationRequest.dosageInstruction.doseAndRate.doseRange.high.unit", + "id": "MedicationRequest.dosageInstruction.doseAndRate.dose[x]:doseRange.high.unit", + "path": "MedicationRequest.dosageInstruction.doseAndRate.dose[x].high.unit", "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.doseAndRate.doseRange.high.system", - "path": "MedicationRequest.dosageInstruction.doseAndRate.doseRange.high.system", + "id": "MedicationRequest.dosageInstruction.doseAndRate.dose[x]:doseRange.high.system", + "path": "MedicationRequest.dosageInstruction.doseAndRate.dose[x].high.system", "min": 1, "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.doseAndRate.doseRange.high.code", - "path": "MedicationRequest.dosageInstruction.doseAndRate.doseRange.high.code", + "id": "MedicationRequest.dosageInstruction.doseAndRate.dose[x]:doseRange.high.code", + "path": "MedicationRequest.dosageInstruction.doseAndRate.dose[x].high.code", "min": 1, "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.doseAndRate.doseQuantity", - "path": "MedicationRequest.dosageInstruction.doseAndRate.doseQuantity", + "id": "MedicationRequest.dosageInstruction.doseAndRate.dose[x]:doseQuantity", + "path": "MedicationRequest.dosageInstruction.doseAndRate.dose[x]", + "sliceName": "doseQuantity", "short": "Dosis", "min": 0, "max": "1", @@ -782,31 +846,46 @@ "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.doseAndRate.doseQuantity.value", - "path": "MedicationRequest.dosageInstruction.doseAndRate.doseQuantity.value", + "id": "MedicationRequest.dosageInstruction.doseAndRate.dose[x]:doseQuantity.value", + "path": "MedicationRequest.dosageInstruction.doseAndRate.dose[x].value", "min": 1, "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.doseAndRate.doseQuantity.unit", - "path": "MedicationRequest.dosageInstruction.doseAndRate.doseQuantity.unit", + "id": "MedicationRequest.dosageInstruction.doseAndRate.dose[x]:doseQuantity.unit", + "path": "MedicationRequest.dosageInstruction.doseAndRate.dose[x].unit", "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.doseAndRate.doseQuantity.system", - "path": "MedicationRequest.dosageInstruction.doseAndRate.doseQuantity.system", + "id": "MedicationRequest.dosageInstruction.doseAndRate.dose[x]:doseQuantity.system", + "path": "MedicationRequest.dosageInstruction.doseAndRate.dose[x].system", "min": 1, "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.doseAndRate.doseQuantity.code", - "path": "MedicationRequest.dosageInstruction.doseAndRate.doseQuantity.code", + "id": "MedicationRequest.dosageInstruction.doseAndRate.dose[x]:doseQuantity.code", + "path": "MedicationRequest.dosageInstruction.doseAndRate.dose[x].code", "min": 1, "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.doseAndRate.rateRatio", - "path": "MedicationRequest.dosageInstruction.doseAndRate.rateRatio", + "id": "MedicationRequest.dosageInstruction.doseAndRate.rate[x]", + "path": "MedicationRequest.dosageInstruction.doseAndRate.rate[x]", + "slicing": { + "discriminator": [ + { + "type": "type", + "path": "$this" + } + ], + "ordered": false, + "rules": "open" + } + }, + { + "id": "MedicationRequest.dosageInstruction.doseAndRate.rate[x]:rateRatio", + "path": "MedicationRequest.dosageInstruction.doseAndRate.rate[x]", + "sliceName": "rateRatio", "short": "Raten-Verhältnis", "min": 0, "max": "1", @@ -818,70 +897,71 @@ "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.doseAndRate.rateRatio.numerator", - "path": "MedicationRequest.dosageInstruction.doseAndRate.rateRatio.numerator", + "id": "MedicationRequest.dosageInstruction.doseAndRate.rate[x]:rateRatio.numerator", + "path": "MedicationRequest.dosageInstruction.doseAndRate.rate[x].numerator", "patternQuantity": { "system": "http://unitsofmeasure.org" }, "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.doseAndRate.rateRatio.numerator.value", - "path": "MedicationRequest.dosageInstruction.doseAndRate.rateRatio.numerator.value", + "id": "MedicationRequest.dosageInstruction.doseAndRate.rate[x]:rateRatio.numerator.value", + "path": "MedicationRequest.dosageInstruction.doseAndRate.rate[x].numerator.value", "min": 1, "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.doseAndRate.rateRatio.numerator.unit", - "path": "MedicationRequest.dosageInstruction.doseAndRate.rateRatio.numerator.unit", + "id": "MedicationRequest.dosageInstruction.doseAndRate.rate[x]:rateRatio.numerator.unit", + "path": "MedicationRequest.dosageInstruction.doseAndRate.rate[x].numerator.unit", "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.doseAndRate.rateRatio.numerator.system", - "path": "MedicationRequest.dosageInstruction.doseAndRate.rateRatio.numerator.system", + "id": "MedicationRequest.dosageInstruction.doseAndRate.rate[x]:rateRatio.numerator.system", + "path": "MedicationRequest.dosageInstruction.doseAndRate.rate[x].numerator.system", "min": 1, "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.doseAndRate.rateRatio.numerator.code", - "path": "MedicationRequest.dosageInstruction.doseAndRate.rateRatio.numerator.code", + "id": "MedicationRequest.dosageInstruction.doseAndRate.rate[x]:rateRatio.numerator.code", + "path": "MedicationRequest.dosageInstruction.doseAndRate.rate[x].numerator.code", "min": 1, "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.doseAndRate.rateRatio.denominator", - "path": "MedicationRequest.dosageInstruction.doseAndRate.rateRatio.denominator", + "id": "MedicationRequest.dosageInstruction.doseAndRate.rate[x]:rateRatio.denominator", + "path": "MedicationRequest.dosageInstruction.doseAndRate.rate[x].denominator", "patternQuantity": { "system": "http://unitsofmeasure.org" }, "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.doseAndRate.rateRatio.denominator.value", - "path": "MedicationRequest.dosageInstruction.doseAndRate.rateRatio.denominator.value", + "id": "MedicationRequest.dosageInstruction.doseAndRate.rate[x]:rateRatio.denominator.value", + "path": "MedicationRequest.dosageInstruction.doseAndRate.rate[x].denominator.value", "min": 1, "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.doseAndRate.rateRatio.denominator.unit", - "path": "MedicationRequest.dosageInstruction.doseAndRate.rateRatio.denominator.unit", + "id": "MedicationRequest.dosageInstruction.doseAndRate.rate[x]:rateRatio.denominator.unit", + "path": "MedicationRequest.dosageInstruction.doseAndRate.rate[x].denominator.unit", "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.doseAndRate.rateRatio.denominator.system", - "path": "MedicationRequest.dosageInstruction.doseAndRate.rateRatio.denominator.system", + "id": "MedicationRequest.dosageInstruction.doseAndRate.rate[x]:rateRatio.denominator.system", + "path": "MedicationRequest.dosageInstruction.doseAndRate.rate[x].denominator.system", "min": 1, "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.doseAndRate.rateRatio.denominator.code", - "path": "MedicationRequest.dosageInstruction.doseAndRate.rateRatio.denominator.code", + "id": "MedicationRequest.dosageInstruction.doseAndRate.rate[x]:rateRatio.denominator.code", + "path": "MedicationRequest.dosageInstruction.doseAndRate.rate[x].denominator.code", "min": 1, "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.doseAndRate.rateRange", - "path": "MedicationRequest.dosageInstruction.doseAndRate.rateRange", + "id": "MedicationRequest.dosageInstruction.doseAndRate.rate[x]:rateRange", + "path": "MedicationRequest.dosageInstruction.doseAndRate.rate[x]", + "sliceName": "rateRange", "short": "Raten-Bereich", "min": 0, "max": "1", @@ -893,70 +973,71 @@ "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.doseAndRate.rateRange.low", - "path": "MedicationRequest.dosageInstruction.doseAndRate.rateRange.low", + "id": "MedicationRequest.dosageInstruction.doseAndRate.rate[x]:rateRange.low", + "path": "MedicationRequest.dosageInstruction.doseAndRate.rate[x].low", "patternQuantity": { "system": "http://unitsofmeasure.org" }, "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.doseAndRate.rateRange.low.value", - "path": "MedicationRequest.dosageInstruction.doseAndRate.rateRange.low.value", + "id": "MedicationRequest.dosageInstruction.doseAndRate.rate[x]:rateRange.low.value", + "path": "MedicationRequest.dosageInstruction.doseAndRate.rate[x].low.value", "min": 1, "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.doseAndRate.rateRange.low.unit", - "path": "MedicationRequest.dosageInstruction.doseAndRate.rateRange.low.unit", + "id": "MedicationRequest.dosageInstruction.doseAndRate.rate[x]:rateRange.low.unit", + "path": "MedicationRequest.dosageInstruction.doseAndRate.rate[x].low.unit", "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.doseAndRate.rateRange.low.system", - "path": "MedicationRequest.dosageInstruction.doseAndRate.rateRange.low.system", + "id": "MedicationRequest.dosageInstruction.doseAndRate.rate[x]:rateRange.low.system", + "path": "MedicationRequest.dosageInstruction.doseAndRate.rate[x].low.system", "min": 1, "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.doseAndRate.rateRange.low.code", - "path": "MedicationRequest.dosageInstruction.doseAndRate.rateRange.low.code", + "id": "MedicationRequest.dosageInstruction.doseAndRate.rate[x]:rateRange.low.code", + "path": "MedicationRequest.dosageInstruction.doseAndRate.rate[x].low.code", "min": 1, "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.doseAndRate.rateRange.high", - "path": "MedicationRequest.dosageInstruction.doseAndRate.rateRange.high", + "id": "MedicationRequest.dosageInstruction.doseAndRate.rate[x]:rateRange.high", + "path": "MedicationRequest.dosageInstruction.doseAndRate.rate[x].high", "patternQuantity": { "system": "http://unitsofmeasure.org" }, "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.doseAndRate.rateRange.high.value", - "path": "MedicationRequest.dosageInstruction.doseAndRate.rateRange.high.value", + "id": "MedicationRequest.dosageInstruction.doseAndRate.rate[x]:rateRange.high.value", + "path": "MedicationRequest.dosageInstruction.doseAndRate.rate[x].high.value", "min": 1, "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.doseAndRate.rateRange.high.unit", - "path": "MedicationRequest.dosageInstruction.doseAndRate.rateRange.high.unit", + "id": "MedicationRequest.dosageInstruction.doseAndRate.rate[x]:rateRange.high.unit", + "path": "MedicationRequest.dosageInstruction.doseAndRate.rate[x].high.unit", "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.doseAndRate.rateRange.high.system", - "path": "MedicationRequest.dosageInstruction.doseAndRate.rateRange.high.system", + "id": "MedicationRequest.dosageInstruction.doseAndRate.rate[x]:rateRange.high.system", + "path": "MedicationRequest.dosageInstruction.doseAndRate.rate[x].high.system", "min": 1, "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.doseAndRate.rateRange.high.code", - "path": "MedicationRequest.dosageInstruction.doseAndRate.rateRange.high.code", + "id": "MedicationRequest.dosageInstruction.doseAndRate.rate[x]:rateRange.high.code", + "path": "MedicationRequest.dosageInstruction.doseAndRate.rate[x].high.code", "min": 1, "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.doseAndRate.rateQuantity", - "path": "MedicationRequest.dosageInstruction.doseAndRate.rateQuantity", + "id": "MedicationRequest.dosageInstruction.doseAndRate.rate[x]:rateQuantity", + "path": "MedicationRequest.dosageInstruction.doseAndRate.rate[x]", + "sliceName": "rateQuantity", "short": "Rate", "min": 0, "max": "1", @@ -974,25 +1055,25 @@ "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.doseAndRate.rateQuantity.value", - "path": "MedicationRequest.dosageInstruction.doseAndRate.rateQuantity.value", + "id": "MedicationRequest.dosageInstruction.doseAndRate.rate[x]:rateQuantity.value", + "path": "MedicationRequest.dosageInstruction.doseAndRate.rate[x].value", "min": 1, "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.doseAndRate.rateQuantity.unit", - "path": "MedicationRequest.dosageInstruction.doseAndRate.rateQuantity.unit", + "id": "MedicationRequest.dosageInstruction.doseAndRate.rate[x]:rateQuantity.unit", + "path": "MedicationRequest.dosageInstruction.doseAndRate.rate[x].unit", "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.doseAndRate.rateQuantity.system", - "path": "MedicationRequest.dosageInstruction.doseAndRate.rateQuantity.system", + "id": "MedicationRequest.dosageInstruction.doseAndRate.rate[x]:rateQuantity.system", + "path": "MedicationRequest.dosageInstruction.doseAndRate.rate[x].system", "min": 1, "mustSupport": true }, { - "id": "MedicationRequest.dosageInstruction.doseAndRate.rateQuantity.code", - "path": "MedicationRequest.dosageInstruction.doseAndRate.rateQuantity.code", + "id": "MedicationRequest.dosageInstruction.doseAndRate.rate[x]:rateQuantity.code", + "path": "MedicationRequest.dosageInstruction.doseAndRate.rate[x].code", "min": 1, "mustSupport": true }, @@ -1140,8 +1221,23 @@ "mustSupport": true }, { - "id": "MedicationRequest.substitution.allowedBoolean", - "path": "MedicationRequest.substitution.allowedBoolean", + "id": "MedicationRequest.substitution.allowed[x]", + "path": "MedicationRequest.substitution.allowed[x]", + "slicing": { + "discriminator": [ + { + "type": "type", + "path": "$this" + } + ], + "ordered": false, + "rules": "open" + } + }, + { + "id": "MedicationRequest.substitution.allowed[x]:allowedBoolean", + "path": "MedicationRequest.substitution.allowed[x]", + "sliceName": "allowedBoolean", "min": 0, "max": "1", "type": [ diff --git a/Resources/fsh-generated/resources/ValueSet-SctRouteOfAdministration.json b/Resources/fsh-generated/resources/ValueSet-SctRouteOfAdministration.json index cccadf6..eb06d80 100644 --- a/Resources/fsh-generated/resources/ValueSet-SctRouteOfAdministration.json +++ b/Resources/fsh-generated/resources/ValueSet-SctRouteOfAdministration.json @@ -4,10 +4,10 @@ "name": "SctRouteOfAdministration", "id": "SctRouteOfAdministration", "description": "Enthaelt alle SNOMED CT Administrationsarten", - "version": "3.0.0", "url": "https://gematik.de/fhir/isik/v3/Medikation/ValueSet/SctRouteOfAdministration", "experimental": false, "publisher": "gematik GmbH", + "version": "3.0.0", "date": "2023-07-01", "compose": { "include": [ diff --git a/Resources/input/fsh/ISiKMedikationsListe.fsh b/Resources/input/fsh/ISiKMedikationsListe.fsh index 0dd8c8a..ece536f 100644 --- a/Resources/input/fsh/ISiKMedikationsListe.fsh +++ b/Resources/input/fsh/ISiKMedikationsListe.fsh @@ -49,15 +49,12 @@ InstanceOf: ISiKMedikationsListe Usage: #example * status = #current * mode = #working -* code.coding - * system = "http://terminology.hl7.org/CodeSystem/list-example-use-codes" - * code = #medications * subject.reference = "Patient/PatientinMusterfrau" * encounter.reference = "Encounter/Versorgungsstellenkontakt" * date = 2021-07-04 -* entry[0] +* entry[+] * date = 2021-07-01 * item.reference = "MedicationStatement/ExampleISiKMedikationsInformation1" -* entry[1] +* entry[+] * date = 2021-07-04 * item.reference = "MedicationStatement/ExampleISiKMedikationsInformation2" diff --git a/Resources/sushi-config.yaml b/Resources/sushi-config.yaml index a148560..ee417dd 100644 --- a/Resources/sushi-config.yaml +++ b/Resources/sushi-config.yaml @@ -2,14 +2,7 @@ canonical: https://gematik.de/fhir/isik/v3/Medikation fhirVersion: 4.0.1 FSHOnly: true applyExtensionMetadataToRoot: false -id: Implementierungsleitfaden ISiK-Modul Medikation -name: Implementierungsleitfaden ISiK-Modul Medikation -status: active version: 3.0.0 -publisher: - name: gematik GmbH - url: https://www.gematik.de/ - email: ISiK@gematik.de dependencies: de.medizininformatikinitiative.kerndatensatz.medikation: 1.0.11 hl7.fhir.r4.core: 4.0.1 diff --git a/plantuml.jar b/plantuml.jar new file mode 100644 index 0000000..a532c84 Binary files /dev/null and b/plantuml.jar differ