<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="rdc-MedicationAdministration" />
  <url value="https://roche.com/fhir/iop/StructureDefinition/rdc-MedicationAdministration" />
  <name value="RdcMedicationAdministration" />
  <title value="RDC MedicationAdministration" />
  <status value="active" />
  <publisher value="F. Hoffmann-La Roche AG" />
  <description value="Represent the event of a patient consuming or otherwise being administered a medication. Medications are generally insulin, but are not limited to insulin (either manually reported or reported by an insulin pump)." />
  <copyright value="Copyright and related rights waived via CC0, https://creativecommons.org/publicdomain/zero/1.0/. This does not apply to information from third parties, for example a medical terminology system. The implementer alone is responsible for identifying and obtaining any necessary licenses or authorizations to utilize third party IP in connection with the specification or otherwise." />
  <fhirVersion value="5.0.0" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="MedicationAdministration" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/MedicationAdministration" />
  <derivation value="constraint" />
  <differential>
    <element id="MedicationAdministration.identifier">
      <path value="MedicationAdministration.identifier" />
      <max value="0" />
    </element>
    <element id="MedicationAdministration.basedOn">
      <path value="MedicationAdministration.basedOn" />
      <max value="0" />
    </element>
    <element id="MedicationAdministration.partOf">
      <path value="MedicationAdministration.partOf" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://roche.com/fhir/iop/StructureDefinition/rdc-MedicationAdministration" />
      </type>
    </element>
    <element id="MedicationAdministration.statusReason">
      <path value="MedicationAdministration.statusReason" />
      <max value="0" />
    </element>
    <element id="MedicationAdministration.category">
      <path value="MedicationAdministration.category" />
      <definition value="Bolus Delivery type" />
      <max value="1" />
      <binding>
        <strength value="required" />
        <valueSet value="https://roche.com/fhir/iop/ValueSet/insulin-codes" />
      </binding>
    </element>
    <element id="MedicationAdministration.medication.concept">
      <path value="MedicationAdministration.medication.concept" />
      <definition value="Informs the type of administration conducted (ex. Basal or Bolus)" />
      <binding>
        <strength value="required" />
        <valueSet value="https://roche.com/fhir/iop/ValueSet/insulin-codes" />
      </binding>
    </element>
    <element id="MedicationAdministration.medication.reference">
      <path value="MedicationAdministration.medication.reference" />
      <definition value="Reference to specific medication administered (applicable only for commerical drugs - future implemention)" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Medication" />
      </type>
    </element>
    <element id="MedicationAdministration.subject">
      <path value="MedicationAdministration.subject" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://roche.com/fhir/iop/StructureDefinition/rdc-Patient" />
      </type>
    </element>
    <element id="MedicationAdministration.encounter">
      <path value="MedicationAdministration.encounter" />
      <max value="0" />
    </element>
    <element id="MedicationAdministration.supportingInformation">
      <path value="MedicationAdministration.supportingInformation" />
      <max value="0" />
    </element>
    <element id="MedicationAdministration.occurence[x]">
      <path value="MedicationAdministration.occurence[x]" />
      <type>
        <code value="dateTime" />
      </type>
      <type>
        <code value="Period" />
      </type>
    </element>
    <element id="MedicationAdministration.recorded">
      <path value="MedicationAdministration.recorded" />
      <max value="0" />
    </element>
    <element id="MedicationAdministration.isSubPotent">
      <path value="MedicationAdministration.isSubPotent" />
      <max value="0" />
    </element>
    <element id="MedicationAdministration.subPotentReason">
      <path value="MedicationAdministration.subPotentReason" />
      <max value="0" />
    </element>
    <element id="MedicationAdministration.performer.actor">
      <path value="MedicationAdministration.performer.actor" />
      <type>
        <code value="CodeableReference" />
        <targetProfile value="https://roche.com/fhir/iop/StructureDefinition/rdc-Device-Instance" />
      </type>
    </element>
    <element id="MedicationAdministration.reason">
      <path value="MedicationAdministration.reason" />
      <max value="0" />
    </element>
    <element id="MedicationAdministration.request">
      <path value="MedicationAdministration.request" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://roche.com/fhir/iop/StructureDefinition/rdc-MedicationRequest" />
      </type>
    </element>
    <element id="MedicationAdministration.device">
      <path value="MedicationAdministration.device" />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="MedicationAdministration.note">
      <path value="MedicationAdministration.note" />
      <max value="0" />
    </element>
    <element id="MedicationAdministration.dosage.method">
      <path value="MedicationAdministration.dosage.method" />
      <binding>
        <strength value="required" />
        <valueSet value="https://roche.com/fhir/iop/ValueSet/insulin-codes" />
      </binding>
    </element>
    <element id="MedicationAdministration.eventHistory">
      <path value="MedicationAdministration.eventHistory" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>