{
  "resourceType": "StructureDefinition",
  "id": "medication-statement",
  "url": "https://www.vision-zero-oncology.de/fhir/StructureDefinition/medication-statement",
  "name": "PR_MedicationStatement",
  "title": "Profile MedicationStatement",
  "status": "draft",
  "publisher": "VISION ZERO E.V.",
  "contact": [
    {
      "telecom": [
        {
          "system": "url",
          "value": "https://www.vision-zero-oncology.de/"
        }
      ]
    }
  ],
  "description": "Profile to capture a record of a medication that is being consumed by a patient. A MedicationStatement may indicate that the patient may be taking the medication now or has taken the medication in the past or will be taking the medication in the future.",
  "fhirVersion": "4.0.1",
  "mapping": [
    {
      "identity": "workflow",
      "uri": "http://hl7.org/fhir/workflow",
      "name": "Workflow Pattern"
    },
    {
      "identity": "rim",
      "uri": "http://hl7.org/v3",
      "name": "RIM Mapping"
    },
    {
      "identity": "w5",
      "uri": "http://hl7.org/fhir/fivews",
      "name": "FiveWs Pattern Mapping"
    },
    {
      "identity": "v2",
      "uri": "http://hl7.org/v2",
      "name": "HL7 v2 Mapping"
    }
  ],
  "kind": "resource",
  "abstract": false,
  "type": "MedicationStatement",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/MedicationStatement",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "MedicationStatement.id",
        "path": "MedicationStatement.id",
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.meta",
        "path": "MedicationStatement.meta",
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.meta.source",
        "path": "MedicationStatement.meta.source",
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.meta.profile",
        "path": "MedicationStatement.meta.profile",
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.identifier",
        "path": "MedicationStatement.identifier",
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.basedOn",
        "path": "MedicationStatement.basedOn",
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.partOf",
        "path": "MedicationStatement.partOf",
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.status",
        "path": "MedicationStatement.status",
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.category",
        "path": "MedicationStatement.category",
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.category.coding",
        "path": "MedicationStatement.category.coding",
        "slicing": {
          "discriminator": [
            {
              "type": "pattern",
              "path": "$this"
            }
          ],
          "rules": "open"
        }
      },
      {
        "id": "MedicationStatement.category.coding:usageCategory",
        "path": "MedicationStatement.category.coding",
        "sliceName": "usageCategory",
        "min": 0,
        "max": "*",
        "patternCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/medication-statement-category"
        },
        "binding": {
          "strength": "required",
          "valueSet": "http://hl7.org/fhir/ValueSet/medication-statement-category"
        }
      },
      {
        "id": "MedicationStatement.medication[x]",
        "path": "MedicationStatement.medication[x]",
        "slicing": {
          "discriminator": [
            {
              "type": "type",
              "path": "$this"
            }
          ],
          "ordered": false,
          "rules": "open"
        },
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.medication[x]:medicationReference",
        "path": "MedicationStatement.medication[x]",
        "sliceName": "medicationReference",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Medication"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.medication[x]:medicationCodeableConcept",
        "path": "MedicationStatement.medication[x]",
        "sliceName": "medicationCodeableConcept",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.medication[x]:medicationCodeableConcept.coding",
        "path": "MedicationStatement.medication[x].coding",
        "slicing": {
          "discriminator": [
            {
              "type": "pattern",
              "path": "$this"
            }
          ],
          "rules": "open"
        },
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.medication[x]:medicationCodeableConcept.coding:Pharmazentralnummer",
        "path": "MedicationStatement.medication[x].coding",
        "sliceName": "Pharmazentralnummer",
        "min": 0,
        "max": "*",
        "patternCoding": {
          "system": "http://fhir.de/CodeSystem/ifa/pzn"
        },
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.medication[x]:medicationCodeableConcept.coding:Pharmazentralnummer.system",
        "path": "MedicationStatement.medication[x].coding.system",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.medication[x]:medicationCodeableConcept.coding:Pharmazentralnummer.code",
        "path": "MedicationStatement.medication[x].coding.code",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.medication[x]:medicationCodeableConcept.coding:atcClassDe",
        "path": "MedicationStatement.medication[x].coding",
        "sliceName": "atcClassDe",
        "short": "ATC Klassifikation deutsche Version",
        "definition": "ATC-Codes für Fertigarzneimittel bspw. von Kombiprodukten",
        "min": 0,
        "max": "*",
        "patternCoding": {
          "system": "http://fhir.de/CodeSystem/bfarm/atc"
        },
        "mustSupport": true,
        "binding": {
          "strength": "required",
          "valueSet": "http://fhir.de/ValueSet/bfarm/atc"
        }
      },
      {
        "id": "MedicationStatement.medication[x]:medicationCodeableConcept.coding:atcClassDe.system",
        "path": "MedicationStatement.medication[x].coding.system",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.medication[x]:medicationCodeableConcept.coding:atcClassDe.code",
        "path": "MedicationStatement.medication[x].coding.code",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.medication[x]:medicationCodeableConcept.coding:atcClassEn",
        "path": "MedicationStatement.medication[x].coding",
        "sliceName": "atcClassEn",
        "short": "Anatomical Therapeutic Chemical Classification System",
        "definition": "ATC Classification International WHO Version",
        "min": 0,
        "max": "*",
        "patternCoding": {
          "system": "http://www.whocc.no/atc"
        },
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.medication[x]:medicationCodeableConcept.coding:atcClassEn.system",
        "path": "MedicationStatement.medication[x].coding.system",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.medication[x]:medicationCodeableConcept.coding:atcClassEn.code",
        "path": "MedicationStatement.medication[x].coding.code",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.medication[x]:medicationCodeableConcept.text",
        "path": "MedicationStatement.medication[x].text",
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.subject",
        "path": "MedicationStatement.subject",
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.context",
        "path": "MedicationStatement.context",
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.effective[x]",
        "path": "MedicationStatement.effective[x]",
        "slicing": {
          "discriminator": [
            {
              "type": "type",
              "path": "$this"
            }
          ],
          "ordered": false,
          "rules": "open"
        },
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.effective[x]:effectiveDateTime",
        "path": "MedicationStatement.effective[x]",
        "sliceName": "effectiveDateTime",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "dateTime"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.effective[x]:effectivePeriod",
        "path": "MedicationStatement.effective[x]",
        "sliceName": "effectivePeriod",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Period"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dateAsserted",
        "path": "MedicationStatement.dateAsserted",
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.informationSource",
        "path": "MedicationStatement.informationSource",
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.derivedFrom",
        "path": "MedicationStatement.derivedFrom",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "https://www.vision-zero-oncology.de/fhir/StructureDefinition/tumor"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.reasonCode",
        "path": "MedicationStatement.reasonCode",
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.reasonReference",
        "path": "MedicationStatement.reasonReference",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "https://www.vision-zero-oncology.de/fhir/StructureDefinition/tumor-disorder"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.note",
        "path": "MedicationStatement.note",
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage",
        "path": "MedicationStatement.dosage",
        "constraint": [
          {
            "key": "dsg-1",
            "severity": "error",
            "human": "If present, dosage must include free text or structured data",
            "expression": "text.exists() or doseAndRate.exists()",
            "source": "https://www.vision-zero-oncology.de/fhir/StructureDefinition/medication-statement"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.sequence",
        "path": "MedicationStatement.dosage.sequence",
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.text",
        "path": "MedicationStatement.dosage.text",
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.timing",
        "path": "MedicationStatement.dosage.timing",
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.timing.event",
        "path": "MedicationStatement.dosage.timing.event",
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.timing.repeat",
        "path": "MedicationStatement.dosage.timing.repeat",
        "mustSupport": true
      },
      {
        "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",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Duration"
          }
        ],
        "patternDuration": {
          "system": "http://unitsofmeasure.org"
        },
        "mustSupport": true
      },
      {
        "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.bounds[x]:boundsDuration.unit",
        "path": "MedicationStatement.dosage.timing.repeat.bounds[x].unit",
        "mustSupport": true
      },
      {
        "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.bounds[x]:boundsDuration.code",
        "path": "MedicationStatement.dosage.timing.repeat.bounds[x].code",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.timing.repeat.bounds[x]:boundsRange",
        "path": "MedicationStatement.dosage.timing.repeat.bounds[x]",
        "sliceName": "boundsRange",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Range"
          }
        ],
        "mustSupport": true
      },
      {
        "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.bounds[x]:boundsRange.low.value",
        "path": "MedicationStatement.dosage.timing.repeat.bounds[x].low.value",
        "min": 1,
        "mustSupport": true
      },
      {
        "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.bounds[x]:boundsRange.low.system",
        "path": "MedicationStatement.dosage.timing.repeat.bounds[x].low.system",
        "min": 1,
        "mustSupport": true
      },
      {
        "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.bounds[x]:boundsRange.high",
        "path": "MedicationStatement.dosage.timing.repeat.bounds[x].high",
        "patternQuantity": {
          "system": "http://unitsofmeasure.org"
        },
        "mustSupport": true
      },
      {
        "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.bounds[x]:boundsRange.high.unit",
        "path": "MedicationStatement.dosage.timing.repeat.bounds[x].high.unit",
        "mustSupport": true
      },
      {
        "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.bounds[x]:boundsRange.high.code",
        "path": "MedicationStatement.dosage.timing.repeat.bounds[x].high.code",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.timing.repeat.bounds[x]:boundsPeriod",
        "path": "MedicationStatement.dosage.timing.repeat.bounds[x]",
        "sliceName": "boundsPeriod",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Period"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.timing.repeat.bounds[x]:boundsPeriod.start",
        "path": "MedicationStatement.dosage.timing.repeat.bounds[x].start",
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.timing.repeat.bounds[x]:boundsPeriod.end",
        "path": "MedicationStatement.dosage.timing.repeat.bounds[x].end",
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.timing.repeat.count",
        "path": "MedicationStatement.dosage.timing.repeat.count",
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.timing.repeat.countMax",
        "path": "MedicationStatement.dosage.timing.repeat.countMax",
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.timing.repeat.duration",
        "path": "MedicationStatement.dosage.timing.repeat.duration",
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.timing.repeat.durationMax",
        "path": "MedicationStatement.dosage.timing.repeat.durationMax",
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.timing.repeat.durationUnit",
        "path": "MedicationStatement.dosage.timing.repeat.durationUnit",
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.timing.repeat.frequency",
        "path": "MedicationStatement.dosage.timing.repeat.frequency",
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.timing.repeat.frequencyMax",
        "path": "MedicationStatement.dosage.timing.repeat.frequencyMax",
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.timing.repeat.period",
        "path": "MedicationStatement.dosage.timing.repeat.period",
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.timing.repeat.periodMax",
        "path": "MedicationStatement.dosage.timing.repeat.periodMax",
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.timing.repeat.periodUnit",
        "path": "MedicationStatement.dosage.timing.repeat.periodUnit",
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.timing.repeat.dayOfWeek",
        "path": "MedicationStatement.dosage.timing.repeat.dayOfWeek",
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.timing.repeat.timeOfDay",
        "path": "MedicationStatement.dosage.timing.repeat.timeOfDay",
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.timing.repeat.when",
        "path": "MedicationStatement.dosage.timing.repeat.when",
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.timing.repeat.offset",
        "path": "MedicationStatement.dosage.timing.repeat.offset",
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.asNeeded[x]",
        "path": "MedicationStatement.dosage.asNeeded[x]",
        "slicing": {
          "discriminator": [
            {
              "type": "type",
              "path": "$this"
            }
          ],
          "ordered": false,
          "rules": "open"
        },
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.asNeeded[x]:asNeededBoolean",
        "path": "MedicationStatement.dosage.asNeeded[x]",
        "sliceName": "asNeededBoolean",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "boolean"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.asNeeded[x]:asNeededCodeableConcept",
        "path": "MedicationStatement.dosage.asNeeded[x]",
        "sliceName": "asNeededCodeableConcept",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.site",
        "path": "MedicationStatement.dosage.site",
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.site.coding",
        "path": "MedicationStatement.dosage.site.coding",
        "slicing": {
          "discriminator": [
            {
              "type": "pattern",
              "path": "$this"
            }
          ],
          "rules": "open"
        },
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.site.coding:SNOMED",
        "path": "MedicationStatement.dosage.site.coding",
        "sliceName": "SNOMED",
        "min": 0,
        "max": "*",
        "patternCoding": {
          "system": "http://snomed.info/sct"
        },
        "mustSupport": true,
        "binding": {
          "strength": "example",
          "valueSet": "http://hl7.org/fhir/uv/ips/ValueSet/target-site-uv-ips",
          "description": "target site IPS"
        }
      },
      {
        "id": "MedicationStatement.dosage.site.coding:SNOMED.system",
        "path": "MedicationStatement.dosage.site.coding.system",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.site.coding:SNOMED.code",
        "path": "MedicationStatement.dosage.site.coding.code",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.route",
        "path": "MedicationStatement.dosage.route",
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.route.coding",
        "path": "MedicationStatement.dosage.route.coding",
        "slicing": {
          "discriminator": [
            {
              "type": "pattern",
              "path": "$this"
            }
          ],
          "rules": "open"
        },
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.route.coding:EDQM",
        "path": "MedicationStatement.dosage.route.coding",
        "sliceName": "EDQM",
        "min": 0,
        "max": "1",
        "patternCoding": {
          "system": "http://standardterms.edqm.eu"
        },
        "mustSupport": true,
        "binding": {
          "strength": "preferred",
          "valueSet": "http://hl7.org/fhir/uv/ips/ValueSet/medicine-route-of-administration",
          "description": "EDQM Standard Terms"
        }
      },
      {
        "id": "MedicationStatement.dosage.route.coding:EDQM.system",
        "path": "MedicationStatement.dosage.route.coding.system",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.route.coding:EDQM.code",
        "path": "MedicationStatement.dosage.route.coding.code",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.route.coding:SNOMED",
        "path": "MedicationStatement.dosage.route.coding",
        "sliceName": "SNOMED",
        "min": 0,
        "max": "1",
        "patternCoding": {
          "system": "http://snomed.info/sct"
        },
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.route.coding:SNOMED.system",
        "path": "MedicationStatement.dosage.route.coding.system",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.route.coding:SNOMED.code",
        "path": "MedicationStatement.dosage.route.coding.code",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.doseAndRate",
        "path": "MedicationStatement.dosage.doseAndRate",
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.doseAndRate.dose[x]",
        "path": "MedicationStatement.dosage.doseAndRate.dose[x]",
        "slicing": {
          "discriminator": [
            {
              "type": "type",
              "path": "$this"
            }
          ],
          "ordered": false,
          "rules": "open"
        },
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.doseAndRate.dose[x]:doseRange",
        "path": "MedicationStatement.dosage.doseAndRate.dose[x]",
        "sliceName": "doseRange",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Range"
          }
        ],
        "mustSupport": true
      },
      {
        "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.dose[x]:doseRange.low.value",
        "path": "MedicationStatement.dosage.doseAndRate.dose[x].low.value",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.doseAndRate.dose[x]:doseRange.low.unit",
        "path": "MedicationStatement.dosage.doseAndRate.dose[x].low.unit",
        "mustSupport": true
      },
      {
        "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.dose[x]:doseRange.low.code",
        "path": "MedicationStatement.dosage.doseAndRate.dose[x].low.code",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.doseAndRate.dose[x]:doseRange.high",
        "path": "MedicationStatement.dosage.doseAndRate.dose[x].high",
        "patternQuantity": {
          "system": "http://unitsofmeasure.org"
        }
      },
      {
        "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.dose[x]:doseRange.high.unit",
        "path": "MedicationStatement.dosage.doseAndRate.dose[x].high.unit",
        "mustSupport": true
      },
      {
        "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.dose[x]:doseRange.high.code",
        "path": "MedicationStatement.dosage.doseAndRate.dose[x].high.code",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.doseAndRate.dose[x]:doseQuantity",
        "path": "MedicationStatement.dosage.doseAndRate.dose[x]",
        "sliceName": "doseQuantity",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Quantity",
            "profile": [
              "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
            ]
          }
        ],
        "patternQuantity": {
          "system": "http://unitsofmeasure.org"
        },
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.doseAndRate.dose[x]:doseQuantity.value",
        "path": "MedicationStatement.dosage.doseAndRate.dose[x].value",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.doseAndRate.dose[x]:doseQuantity.unit",
        "path": "MedicationStatement.dosage.doseAndRate.dose[x].unit",
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.doseAndRate.dose[x]:doseQuantity.system",
        "path": "MedicationStatement.dosage.doseAndRate.dose[x].system",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.doseAndRate.dose[x]:doseQuantity.code",
        "path": "MedicationStatement.dosage.doseAndRate.dose[x].code",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.doseAndRate.rate[x]",
        "path": "MedicationStatement.dosage.doseAndRate.rate[x]",
        "slicing": {
          "discriminator": [
            {
              "type": "type",
              "path": "$this"
            }
          ],
          "ordered": false,
          "rules": "open"
        },
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.doseAndRate.rate[x]:rateRatio",
        "path": "MedicationStatement.dosage.doseAndRate.rate[x]",
        "sliceName": "rateRatio",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Ratio"
          }
        ],
        "mustSupport": true
      },
      {
        "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.rate[x]:rateRatio.numerator.value",
        "path": "MedicationStatement.dosage.doseAndRate.rate[x].numerator.value",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.doseAndRate.rate[x]:rateRatio.numerator.unit",
        "path": "MedicationStatement.dosage.doseAndRate.rate[x].numerator.unit",
        "mustSupport": true
      },
      {
        "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.rate[x]:rateRatio.numerator.code",
        "path": "MedicationStatement.dosage.doseAndRate.rate[x].numerator.code",
        "min": 1,
        "mustSupport": true
      },
      {
        "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.rate[x]:rateRatio.denominator.value",
        "path": "MedicationStatement.dosage.doseAndRate.rate[x].denominator.value",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.doseAndRate.rate[x]:rateRatio.denominator.unit",
        "path": "MedicationStatement.dosage.doseAndRate.rate[x].denominator.unit",
        "mustSupport": true
      },
      {
        "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.rate[x]:rateRatio.denominator.code",
        "path": "MedicationStatement.dosage.doseAndRate.rate[x].denominator.code",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.doseAndRate.rate[x]:rateRange",
        "path": "MedicationStatement.dosage.doseAndRate.rate[x]",
        "sliceName": "rateRange",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Range"
          }
        ],
        "mustSupport": true
      },
      {
        "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.rate[x]:rateRange.low.value",
        "path": "MedicationStatement.dosage.doseAndRate.rate[x].low.value",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.doseAndRate.rate[x]:rateRange.low.unit",
        "path": "MedicationStatement.dosage.doseAndRate.rate[x].low.unit",
        "mustSupport": true
      },
      {
        "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.rate[x]:rateRange.low.code",
        "path": "MedicationStatement.dosage.doseAndRate.rate[x].low.code",
        "min": 1,
        "mustSupport": true
      },
      {
        "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.rate[x]:rateRange.high.value",
        "path": "MedicationStatement.dosage.doseAndRate.rate[x].high.value",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.doseAndRate.rate[x]:rateRange.high.unit",
        "path": "MedicationStatement.dosage.doseAndRate.rate[x].high.unit",
        "mustSupport": true
      },
      {
        "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.rate[x]:rateRange.high.code",
        "path": "MedicationStatement.dosage.doseAndRate.rate[x].high.code",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.doseAndRate.rate[x]:rateQuantity",
        "path": "MedicationStatement.dosage.doseAndRate.rate[x]",
        "sliceName": "rateQuantity",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Quantity",
            "profile": [
              "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
            ]
          }
        ],
        "patternQuantity": {
          "system": "http://unitsofmeasure.org"
        },
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.doseAndRate.rate[x]:rateQuantity.value",
        "path": "MedicationStatement.dosage.doseAndRate.rate[x].value",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.doseAndRate.rate[x]:rateQuantity.unit",
        "path": "MedicationStatement.dosage.doseAndRate.rate[x].unit",
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.doseAndRate.rate[x]:rateQuantity.system",
        "path": "MedicationStatement.dosage.doseAndRate.rate[x].system",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.doseAndRate.rate[x]:rateQuantity.code",
        "path": "MedicationStatement.dosage.doseAndRate.rate[x].code",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.maxDosePerPeriod",
        "path": "MedicationStatement.dosage.maxDosePerPeriod",
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.maxDosePerPeriod.numerator",
        "path": "MedicationStatement.dosage.maxDosePerPeriod.numerator",
        "patternQuantity": {
          "system": "http://unitsofmeasure.org"
        },
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.maxDosePerPeriod.numerator.value",
        "path": "MedicationStatement.dosage.maxDosePerPeriod.numerator.value",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.maxDosePerPeriod.numerator.unit",
        "path": "MedicationStatement.dosage.maxDosePerPeriod.numerator.unit",
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.maxDosePerPeriod.numerator.system",
        "path": "MedicationStatement.dosage.maxDosePerPeriod.numerator.system",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.maxDosePerPeriod.numerator.code",
        "path": "MedicationStatement.dosage.maxDosePerPeriod.numerator.code",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.maxDosePerPeriod.denominator",
        "path": "MedicationStatement.dosage.maxDosePerPeriod.denominator",
        "patternQuantity": {
          "system": "http://unitsofmeasure.org"
        },
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.maxDosePerPeriod.denominator.value",
        "path": "MedicationStatement.dosage.maxDosePerPeriod.denominator.value",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.maxDosePerPeriod.denominator.unit",
        "path": "MedicationStatement.dosage.maxDosePerPeriod.denominator.unit",
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.maxDosePerPeriod.denominator.system",
        "path": "MedicationStatement.dosage.maxDosePerPeriod.denominator.system",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.maxDosePerPeriod.denominator.code",
        "path": "MedicationStatement.dosage.maxDosePerPeriod.denominator.code",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.maxDosePerAdministration",
        "path": "MedicationStatement.dosage.maxDosePerAdministration",
        "patternQuantity": {
          "system": "http://unitsofmeasure.org"
        },
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.maxDosePerAdministration.value",
        "path": "MedicationStatement.dosage.maxDosePerAdministration.value",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.maxDosePerAdministration.unit",
        "path": "MedicationStatement.dosage.maxDosePerAdministration.unit",
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.maxDosePerAdministration.system",
        "path": "MedicationStatement.dosage.maxDosePerAdministration.system",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "MedicationStatement.dosage.maxDosePerAdministration.code",
        "path": "MedicationStatement.dosage.maxDosePerAdministration.code",
        "min": 1,
        "mustSupport": true
      }
    ]
  }
}