<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="medication-verto" />
  <url value="http://verto.ca/fhir/StructureDefinition/medication-custom" />
  <version value="1.0.0" />
  <name value="Medication" />
  <title value="Verto's Medication Profile" />
  <status value="active" />
  <experimental value="true" />
  <date value="2025-01-13" />
  <publisher value="Verto Health" />
  <description value="Simplified Medication Profile with core elements to power Verto's Digital Twin" />
  <fhirVersion value="5.0.0" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Medication" />
  <baseDefinition value="http://hl7.org/fhir/R4/StructureDefinition/Medication" />
  <derivation value="constraint" />
  <differential>
    <element id="Medication">
      <path value="Medication" />
      <short value="Verto's Medication Profile" />
      <definition value="Simplified Medication Profile with core elements to power Verto's Digital Twin." />
      <type>
        <code value="Medication" />
      </type>
    </element>
    <element id="Medication.identifier">
      <path value="Medication.identifier" />
      <short value="Business identifier for this medication" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Identifier" />
      </type>
      <mustSupport value="false" />
      <isSummary value="true" />
      <isModifier value="false" />
    </element>
    <element id="Medication.code">
      <path value="Medication.code" />
      <short value="Codes that identify this medication" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="CodeableConcept" />
      </type>
      <mustSupport value="true" />
      <isSummary value="true" />
      <isModifier value="false" />
    </element>
    <element id="Medication.status">
      <path value="Medication.status" />
      <short value="Medication status" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="code" />
      </type>
      <mustSupport value="false" />
      <isSummary value="true" />
      <isModifier value="true" />
    </element>
    <element id="Medication.manufacturer">
      <path value="Medication.manufacturer" />
      <short value="Manufacturer of the item" />
      <min value="0" />
      <max value="1" />
      <base>
        <path value="Medication.manufacturer" />
        <min value="0" />
        <max value="1" />
      </base>
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization" />
      </type>
      <mustSupport value="false" />
      <isSummary value="true" />
      <isModifier value="false" />
    </element>
    <element id="Medication.form">
      <path value="Medication.form" />
      <short value="Describes the form of the item.  Powder; tablets; capsule." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="CodeableConcept" />
      </type>
      <mustSupport value="true" />
      <isSummary value="false" />
      <isModifier value="false" />
      <binding>
        <strength value="preferred" />
        <valueSet value="http://hl7.org/fhir/uv/ips/ValueSet/medicine-doseform" />
      </binding>
    </element>
    <element id="Medication.amount">
      <path value="Medication.amount" />
      <short value="Amount of drug in package" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Ratio" />
      </type>
      <mustSupport value="false" />
      <isSummary value="true" />
      <isModifier value="false" />
    </element>
    <element id="Medication.ingredient">
      <path value="Medication.ingredient" />
      <short value="Active or inactive ingredient" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="BackboneElement" />
      </type>
      <mustSupport value="true" />
      <isSummary value="false" />
      <isModifier value="false" />
    </element>
    <element id="Medication.ingredient.item">
      <path value="Medication.ingredient.item" />
      <short value="The actual ingredient or content" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="CodeableReference" />
        <targetProfile value="https://hl7.org/fhir/R4/substance.html" />
        <targetProfile value="https://hl7.org/fhir/R4/medication.html" />
      </type>
      <mustSupport value="true" />
      <isSummary value="false" />
      <isModifier value="false" />
    </element>
    <element id="Medication.ingredient.isActive">
      <path value="Medication.ingredient.isActive" />
      <short value="Active ingredient indicator" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="boolean" />
      </type>
      <mustSupport value="false" />
      <isSummary value="false" />
      <isModifier value="false" />
    </element>
    <element id="Medication.ingredient.strength">
      <path value="Medication.ingredient.strength" />
      <short value="Quantity of ingredient present" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Ratio" />
      </type>
      <mustSupport value="true" />
      <isSummary value="false" />
      <isModifier value="false" />
    </element>
    <element id="Medication.batch">
      <path value="Medication.batch" />
      <short value="Details about packaged medications" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="BackboneElement" />
      </type>
      <mustSupport value="false" />
      <isSummary value="false" />
      <isModifier value="false" />
    </element>
    <element id="Medication.batch.lotNumber">
      <path value="Medication.batch.lotNumber" />
      <short value="Identifier assigned to batch" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
      <mustSupport value="false" />
      <isSummary value="false" />
      <isModifier value="false" />
    </element>
    <element id="Medication.batch.expirationDate">
      <path value="Medication.batch.expirationDate" />
      <short value="When batch will expire" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="dateTime" />
      </type>
      <mustSupport value="false" />
      <isSummary value="false" />
      <isModifier value="false" />
    </element>
  </differential>
</StructureDefinition>