<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="il-core-dosage" />
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
    <valueCode value="trial-use" />
  </extension>
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm">
    <valueInteger value="1" />
  </extension>
  <url value="http://fhir.health.gov.il/StructureDefinition/il-core-dosage" />
  <version value="0.21.0" />
  <name value="ILCoreDosage" />
  <title value="ILCore Dosage Profile" />
  <status value="active" />
  <date value="2026-03-23" />
  <publisher value="Israel Core Team" />
  <contact>
    <telecom>
      <system value="email" />
      <value value="tal.primak@moh.gov.il" />
      <use value="work" />
    </telecom>
  </contact>
  <description value="Adds several Israel-specific extensions and constraints to the Dosage datatype" />
  <jurisdiction>
    <coding>
      <system value="urn:iso:std:iso:3166" />
      <code value="IL" />
    </coding>
  </jurisdiction>
  <copyright value="Israeli Ministry of Health" />
  <fhirVersion value="4.0.1" />
  <kind value="complex-type" />
  <abstract value="false" />
  <type value="Dosage" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Dosage" />
  <derivation value="constraint" />
  <differential>
    <element id="Dosage">
      <path value="Dosage" />
      <constraint>
        <key value="il-core-dosage-ext" />
        <severity value="error" />
        <human value="If extension ext-sub-dosage-step is used, it must appear at least once" />
        <expression value="extension.where(url = 'http://fhir.health.gov.il/StructureDefinition/ext-sub-dosage-step').count() = 0 or extension.where(url = 'http://fhir.health.gov.il/StructureDefinition/ext-sub-dosage-step').count() &gt;= 1" />
        <source value="http://fhir.health.gov.il/StructureDefinition/il-core-dosage" />
      </constraint>
      <constraint>
        <key value="il-dosage-no-parent-dose-when-substeps" />
        <severity value="error" />
        <human value="If ext-sub-dosage-step extension is present on Dosage, doseAndRate SHALL NOT be present on the parent Dosage." />
        <expression value="extension.where(url = 'http://fhir.health.gov.il/StructureDefinition/ext-sub-dosage-step').exists()&#xD;&#xA;    implies&#xD;&#xA;  doseAndRate.empty()" />
        <source value="http://fhir.health.gov.il/StructureDefinition/il-core-dosage" />
      </constraint>
      <constraint>
        <key value="il-dosage-no-parent-asneeded-when-substeps-have" />
        <severity value="error" />
        <human value="If any sub-dosage step has asNeeded, the parent Dosage SHALL NOT define asNeeded." />
        <expression value="extension.where(url = 'http://fhir.health.gov.il/StructureDefinition/ext-sub-dosage-step').valueDosage.asNeeded.exists()&#xD;&#xA;    implies&#xD;&#xA;  asNeeded.empty()" />
        <source value="http://fhir.health.gov.il/StructureDefinition/il-core-dosage" />
      </constraint>
    </element>
    <element id="Dosage.text">
      <path value="Dosage.text" />
      <mustSupport value="true" />
    </element>
    <element id="Dosage.additionalInstruction">
      <path value="Dosage.additionalInstruction" />
      <binding>
        <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
          <valueString value="AdditionalInstruction" />
        </extension>
        <strength value="extensible" />
        <description value="A coded concept identifying additional instructions such as &quot;take with water&quot; or &quot;avoid operating heavy machinery&quot;." />
        <valueSet value="http://hl7.org/fhir/ValueSet/additional-instruction-codes" />
      </binding>
    </element>
    <element id="Dosage.asNeeded[x]">
      <path value="Dosage.asNeeded[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
    </element>
    <element id="Dosage.asNeeded[x]:asNeededCodeableConcept">
      <path value="Dosage.asNeeded[x]" />
      <sliceName value="asNeededCodeableConcept" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="CodeableConcept" />
      </type>
      <binding>
        <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
          <valueString value="MedicationAsNeededReason" />
        </extension>
        <strength value="extensible" />
        <description value="A coded concept identifying the precondition that should be met or evaluated prior to consuming or administering a medication dose.  For example &quot;pain&quot;, &quot;30 minutes prior to sexual intercourse&quot;, &quot;on flare-up&quot; etc." />
        <valueSet value="http://hl7.org/fhir/ValueSet/medication-as-needed-reason" />
      </binding>
    </element>
    <element id="Dosage.site">
      <path value="Dosage.site" />
      <binding>
        <strength value="extensible" />
        <valueSet value="http://hl7.org/fhir/ValueSet/body-site" />
      </binding>
    </element>
    <element id="Dosage.route">
      <path value="Dosage.route" />
      <binding>
        <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
          <valueString value="RouteOfAdministration" />
        </extension>
        <strength value="extensible" />
        <description value="A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject." />
        <valueSet value="http://hl7.org/fhir/ValueSet/route-codes" />
      </binding>
    </element>
    <element id="Dosage.method">
      <path value="Dosage.method" />
      <binding>
        <strength value="preferred" />
        <valueSet value="http://fhir.health.gov.il/ValueSet/il-core-medication-administration-code" />
      </binding>
    </element>
    <element id="Dosage.doseAndRate.type">
      <path value="Dosage.doseAndRate.type" />
      <binding>
        <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
          <valueString value="DoseAndRateType" />
        </extension>
        <strength value="extensible" />
        <description value="The kind of dose or rate specified." />
        <valueSet value="http://hl7.org/fhir/ValueSet/dose-rate-type" />
      </binding>
    </element>
    <element id="Dosage.doseAndRate.dose[x]">
      <path value="Dosage.doseAndRate.dose[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
    </element>
    <element id="Dosage.doseAndRate.dose[x]:doseQuantity">
      <path value="Dosage.doseAndRate.dose[x]" />
      <sliceName value="doseQuantity" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Quantity" />
        <profile value="http://hl7.org/fhir/StructureDefinition/SimpleQuantity" />
      </type>
      <binding>
        <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet">
          <valueCanonical value="http://fhir.health.gov.il/ValueSet/il-core-units-of-measure" />
        </extension>
        <strength value="extensible" />
        <valueSet value="http://fhir.health.gov.il/ValueSet/il-core-common-units-of-measure" />
      </binding>
    </element>
    <element id="Dosage.doseAndRate.dose[x]:doseRange">
      <path value="Dosage.doseAndRate.dose[x]" />
      <sliceName value="doseRange" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Range" />
      </type>
    </element>
    <element id="Dosage.doseAndRate.dose[x]:doseRange.low.code">
      <path value="Dosage.doseAndRate.dose[x].low.code" />
      <binding>
        <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet">
          <valueCanonical value="http://fhir.health.gov.il/ValueSet/il-core-units-of-measure" />
        </extension>
        <strength value="extensible" />
        <valueSet value="http://fhir.health.gov.il/ValueSet/il-core-common-units-of-measure" />
      </binding>
    </element>
    <element id="Dosage.doseAndRate.dose[x]:doseRange.high.code">
      <path value="Dosage.doseAndRate.dose[x].high.code" />
      <binding>
        <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet">
          <valueCanonical value="http://fhir.health.gov.il/ValueSet/il-core-units-of-measure" />
        </extension>
        <strength value="extensible" />
        <valueSet value="http://fhir.health.gov.il/ValueSet/il-core-common-units-of-measure" />
      </binding>
    </element>
    <element id="Dosage.maxDosePerAdministration">
      <path value="Dosage.maxDosePerAdministration" />
      <binding>
        <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet">
          <valueCanonical value="http://fhir.health.gov.il/ValueSet/il-core-units-of-measure" />
        </extension>
        <strength value="extensible" />
        <valueSet value="http://fhir.health.gov.il/ValueSet/il-core-common-units-of-measure" />
      </binding>
    </element>
    <element id="Dosage.maxDosePerLifetime">
      <path value="Dosage.maxDosePerLifetime" />
      <binding>
        <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet">
          <valueCanonical value="http://fhir.health.gov.il/ValueSet/il-core-units-of-measure" />
        </extension>
        <strength value="extensible" />
        <valueSet value="http://fhir.health.gov.il/ValueSet/il-core-common-units-of-measure" />
      </binding>
    </element>
  </differential>
</StructureDefinition>