{
  "resourceType": "StructureDefinition",
  "id": "de-dosage",
  "url": "http://fhir.de/StructureDefinition/de-dosage",
  "name": "DE_DOSAGE",
  "title": "DE DOSAGE",
  "status": "draft",
  "fhirVersion": "4.0.1",
  "kind": "complex-type",
  "abstract": true,
  "type": "Dosage",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Dosage",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Dosage",
        "path": "Dosage",
        "constraint": [
          {
            "key": "if-sequence-then-boundsDuration",
            "severity": "error",
            "human": "If a sequence is given the duration must be stated",
            "expression": "sequence.exists() implies timing.repeat.boundsDuration.exists()",
            "source": "http://fhir.de/StructureDefinition/de-dosage"
          }
        ]
      },
      {
        "id": "Dosage.extension",
        "path": "Dosage.extension",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Dosage.extension:dosage_category",
        "path": "Dosage.extension",
        "sliceName": "dosage_category",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "http://fhir.de/StructureDefinition/dosage-category-ex"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Dosage.sequence",
        "path": "Dosage.sequence",
        "mustSupport": true
      },
      {
        "id": "Dosage.additionalInstruction",
        "path": "Dosage.additionalInstruction",
        "mustSupport": true
      },
      {
        "id": "Dosage.patientInstruction",
        "path": "Dosage.patientInstruction",
        "mustSupport": true
      },
      {
        "id": "Dosage.timing.event",
        "path": "Dosage.timing.event",
        "max": "0"
      },
      {
        "id": "Dosage.timing.repeat",
        "path": "Dosage.timing.repeat",
        "min": 1
      },
      {
        "id": "Dosage.timing.repeat.bounds[x]",
        "path": "Dosage.timing.repeat.bounds[x]",
        "type": [
          {
            "code": "Duration"
          }
        ]
      },
      {
        "id": "Dosage.timing.repeat.count",
        "path": "Dosage.timing.repeat.count",
        "max": "0"
      },
      {
        "id": "Dosage.timing.repeat.countMax",
        "path": "Dosage.timing.repeat.countMax",
        "max": "0"
      },
      {
        "id": "Dosage.timing.repeat.duration",
        "path": "Dosage.timing.repeat.duration",
        "max": "0"
      },
      {
        "id": "Dosage.timing.repeat.durationMax",
        "path": "Dosage.timing.repeat.durationMax",
        "max": "0"
      },
      {
        "id": "Dosage.timing.repeat.durationUnit",
        "path": "Dosage.timing.repeat.durationUnit",
        "max": "0"
      },
      {
        "id": "Dosage.timing.repeat.frequencyMax",
        "path": "Dosage.timing.repeat.frequencyMax",
        "max": "0"
      },
      {
        "id": "Dosage.timing.repeat.periodMax",
        "path": "Dosage.timing.repeat.periodMax",
        "max": "0"
      },
      {
        "id": "Dosage.timing.repeat.offset",
        "path": "Dosage.timing.repeat.offset",
        "max": "0"
      },
      {
        "id": "Dosage.timing.code",
        "path": "Dosage.timing.code",
        "max": "0"
      },
      {
        "id": "Dosage.asNeeded[x]",
        "path": "Dosage.asNeeded[x]",
        "max": "0"
      },
      {
        "id": "Dosage.site",
        "path": "Dosage.site",
        "max": "0"
      },
      {
        "id": "Dosage.route",
        "path": "Dosage.route",
        "max": "0"
      },
      {
        "id": "Dosage.method",
        "path": "Dosage.method",
        "max": "0"
      },
      {
        "id": "Dosage.doseAndRate",
        "path": "Dosage.doseAndRate",
        "mustSupport": true
      },
      {
        "id": "Dosage.doseAndRate.type",
        "path": "Dosage.doseAndRate.type",
        "max": "0"
      },
      {
        "id": "Dosage.doseAndRate.dose[x]",
        "path": "Dosage.doseAndRate.dose[x]",
        "type": [
          {
            "code": "Quantity",
            "profile": [
              "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Dosage.doseAndRate.rate[x]",
        "path": "Dosage.doseAndRate.rate[x]",
        "max": "0"
      },
      {
        "id": "Dosage.maxDosePerPeriod",
        "path": "Dosage.maxDosePerPeriod",
        "max": "0"
      },
      {
        "id": "Dosage.maxDosePerAdministration",
        "path": "Dosage.maxDosePerAdministration",
        "max": "0"
      },
      {
        "id": "Dosage.maxDosePerLifetime",
        "path": "Dosage.maxDosePerLifetime",
        "max": "0"
      }
    ]
  }
}