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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="757px" height="472px" viewBox="-0.5 -0.5 757 472"><defs><clipPath id="mx-clip-19-31-152-26-0"><rect x="19" y="31" width="152" height="26"/></clipPath><clipPath id="mx-clip-19-193-152-26-0"><rect x="19" y="193" width="152" height="26"/></clipPath><clipPath id="mx-clip-19-227-152-26-0"><rect x="19" y="227" width="152" height="26"/></clipPath><clipPath id="mx-clip-599-193-152-26-0"><rect x="599" y="193" width="152" height="26"/></clipPath><clipPath id="mx-clip-299-31-152-26-0"><rect x="299" y="31" width="152" height="26"/></clipPath><clipPath id="mx-clip-299-65-152-26-0"><rect x="299" y="65" width="152" height="26"/></clipPath><clipPath id="mx-clip-299-191-152-26-0"><rect x="299" y="191" width="152" height="26"/></clipPath><clipPath id="mx-clip-299-225-152-26-0"><rect x="299" y="225" width="152" height="26"/></clipPath><clipPath id="mx-clip-299-351-152-26-0"><rect x="299" y="351" width="152" height="26"/></clipPath><clipPath id="mx-clip-299-385-152-26-0"><rect x="299" y="385" width="152" height="26"/></clipPath></defs><g><path d="M 15 26 L 15 0 L 175 0 L 175 26" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 15 26 L 15 90 L 175 90 L 175 26" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><path d="M 15 26 L 175 26" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="94.5" y="17.5">Medikations-Liste</text></g><rect x="15" y="26" width="160" height="26" fill="none" stroke="none" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" clip-path="url(#mx-clip-19-31-152-26-0)" font-size="12px"><text x="20.5" y="43.5">...</text></g><path d="M 15 56 L 175 56" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="15" y="60" width="160" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 158px; height: 1px; padding-top: 67px; margin-left: 17px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">...</div></div></div></foreignObject><text x="17" y="79" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">...</text></switch></g><path d="M 15 188 L 15 162 L 175 162 L 175 188" fill="#cccccc" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 15 188 L 15 248 L 175 248 L 175 188" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><path d="M 15 188 L 175 188" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="94.5" y="179.5">Patient</text></g><rect x="15" y="188" width="160" height="26" fill="none" stroke="none" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" clip-path="url(#mx-clip-19-193-152-26-0)" font-size="12px"><text x="20.5" y="205.5">...</text></g><path d="M 15 218 L 175 218" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="15" y="222" width="160" height="26" fill="none" stroke="none" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-decoration="underline" clip-path="url(#mx-clip-19-227-152-26-0)" font-size="12px"><text x="20.5" y="239.5">...</text></g><path d="M 595 188 L 595 162 L 755 162 L 755 188" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 595 188 L 595 252 L 755 252 L 755 188" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><path d="M 595 188 L 755 188" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="674.5" y="179.5">Medikament</text></g><rect x="595" y="188" width="160" height="26" fill="none" stroke="none" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" clip-path="url(#mx-clip-599-193-152-26-0)" font-size="12px"><text x="600.5" y="205.5">...</text></g><path d="M 595 218 L 755 218" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="595" y="222" width="160" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 158px; height: 1px; padding-top: 229px; margin-left: 597px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">...</div></div></div></foreignObject><text x="597" y="241" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">...</text></switch></g><path d="M 175 43 L 235 43 L 292.76 43" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 286.88 46.5 L 293.88 43 L 286.88 39.5" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px"><text x="186.5" y="35.5">0..*</text></g><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="end" font-size="12px"><text x="283.5" y="35.5">1..*</text></g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 31px; margin-left: 236px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">enthält</div></div></div></foreignObject><text x="236" y="34" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">enthält</text></switch></g><path d="M 295 26 L 295 0 L 455 0 L 455 26" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 295 26 L 295 86 L 455 86 L 455 26" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><path d="M 295 26 L 455 26" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="374.5" y="17.5">Medikations-Information</text></g><rect x="295" y="26" width="160" height="26" fill="none" stroke="none" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" clip-path="url(#mx-clip-299-31-152-26-0)" font-size="12px"><text x="300.5" y="43.5">...</text></g><path d="M 295 56 L 455 56" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="295" y="60" width="160" height="26" fill="none" stroke="none" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" clip-path="url(#mx-clip-299-65-152-26-0)" font-size="12px"><text x="300.5" y="77.5">...</text></g><path d="M 455 43 L 685.08 43 L 685.08 160.3" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 681.58 154.42 L 685.08 161.42 L 688.58 154.42" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px"><text x="463.5" y="35.5">0..*</text></g><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="end" font-size="12px"><text x="676.58" y="147.42">1</text></g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 30px; margin-left: 576px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">bezieht sich auf</div></div></div></foreignObject><text x="576" y="34" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">bezieht sich auf</text></switch></g><path d="M 295 186 L 295 160 L 455 160 L 455 186" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 295 186 L 295 246 L 455 246 L 455 186" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><path d="M 295 186 L 455 186" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="374.5" y="177.5">Medikations-Verordnung</text></g><rect x="295" y="186" width="160" height="26" fill="none" stroke="none" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" clip-path="url(#mx-clip-299-191-152-26-0)" font-size="12px"><text x="300.5" y="203.5">...</text></g><path d="M 295 216 L 455 216" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="295" y="220" width="160" height="26" fill="none" stroke="none" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" clip-path="url(#mx-clip-299-225-152-26-0)" font-size="12px"><text x="300.5" y="237.5">...</text></g><path d="M 295 346 L 295 320 L 455 320 L 455 346" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 295 346 L 295 406 L 455 406 L 455 346" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><path d="M 295 346 L 455 346" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="374.5" y="337.5">Medikations-Verabreichung</text></g><rect x="295" y="346" width="160" height="26" fill="none" stroke="none" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" clip-path="url(#mx-clip-299-351-152-26-0)" font-size="12px"><text x="300.5" y="363.5">...</text></g><path d="M 295 376 L 455 376" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="295" y="380" width="160" height="26" fill="none" stroke="none" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" clip-path="url(#mx-clip-299-385-152-26-0)" font-size="12px"><text x="300.5" y="397.5">...</text></g><path d="M 454.68 172.04 L 454.68 200 L 592.76 200" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 586.88 203.5 L 593.88 200 L 586.88 196.5" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px"><text x="463.18" y="195.54">0..*</text></g><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="end" font-size="12px"><text x="573.22" y="195.5">1</text></g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 211px; margin-left: 525px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">bezieht sich auf</div></div></div></foreignObject><text x="525" y="214" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">bezieht sich auf</text></switch></g><path d="M 455 350 L 682.68 350 L 682.68 256.52" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 686.18 262.4 L 682.68 255.4 L 679.18 262.4" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px"><text x="463.5" y="345.5">0..*</text></g><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="end" font-size="12px"><text x="673.18" y="266.18">1</text></g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 340px; margin-left: 575px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">bezieht sich auf</div></div></div></foreignObject><text x="575" y="344" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">bezieht sich auf</text></switch></g><path d="M 95 90 L 95 120 L 95 157.76" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 91.5 151.88 L 95 158.88 L 98.5 151.88" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px"><text x="103.5" y="105.5">0..*</text></g><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="end" font-size="12px"><text x="113.5" y="155.5">1</text></g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 131px; margin-left: 116px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">gilt für</div></div></div></foreignObject><text x="116" y="134" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">gilt für</text></switch></g><path d="M 306.2 88.57 L 306.2 124 L 145 124 L 145 157.76" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 141.5 151.88 L 145 158.88 L 148.5 151.88" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px"><text x="314.7" y="104.07">0..*</text></g><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="end" font-size="12px"><text x="163.5" y="155.87">1</text></g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 110px; margin-left: 218px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">gilt für</div></div></div></foreignObject><text x="218" y="113" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">gilt für</text></switch></g><path d="M 295 205 L 255 205 L 177.24 205" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 183.12 201.5 L 176.12 205 L 183.12 208.5" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px"><text x="266.5" y="195.5">0..*</text></g><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="end" font-size="12px"><text x="193.5" y="195.5">1</text></g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 191px; margin-left: 236px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">gilt für</div></div></div></foreignObject><text x="236" y="194" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">gilt für</text></switch></g><path d="M 293.56 362.85 L 95 363 L 95 250.24" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 98.5 256.12 L 95 249.12 L 91.5 256.12" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px"><text x="265.21" y="353.5">0..*</text></g><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="end" font-size="12px"><text x="113.5" y="265.21">1</text></g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 351px; margin-left: 126px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">gilt für</div></div></div></foreignObject><text x="126" y="355" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">gilt für</text></switch></g><rect x="0" y="450" width="750" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 460px; margin-left: 375px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;"><b><i>Weitere Datenobjekte (z.B. Organisationen, Fachpersonen, Aufenthalte) sind hier zur besseren Übersichtlichkeit nicht dargestellt.</i></b></div></div></div></foreignObject><text x="375" y="464" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Weitere Datenobjekte (z.B. Organisationen, Fachpersonen, Aufenthalte) sind hier zur besseren Übersichtlichkeit nicht dargeste...</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.drawio.com/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg>
\ 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/docs/Medikation Abgleich bestehende Spezifikationen.ods b/Material/docs/Medikation Abgleich bestehende Spezifikationen.ods
new file mode 100644
index 0000000..48d45cf
Binary files /dev/null and b/Material/docs/Medikation Abgleich bestehende Spezifikationen.ods differ
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