<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="EPLabMedicationStatement-1b57509e-e344-4561-8092-93386c21bdc4" />
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-category">
    <valueString value="Clinical.Medications" />
  </extension>
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-security-category">
    <valueCode value="patient" />
  </extension>
  <url value="https://www.esante.lu/fhir-spec/StructureDefinition/EPLabMedicationStatement" />
  <version value="0.1.0" />
  <name value="EPLabMedicationStatement" />
  <status value="draft" />
  <fhirVersion value="4.0.1" />
  <mapping>
    <identity value="workflow" />
    <uri value="http://hl7.org/fhir/workflow" />
    <name value="Workflow Pattern" />
  </mapping>
  <mapping>
    <identity value="rim" />
    <uri value="http://hl7.org/v3" />
    <name value="RIM Mapping" />
  </mapping>
  <mapping>
    <identity value="w5" />
    <uri value="http://hl7.org/fhir/fivews" />
    <name value="FiveWs Pattern Mapping" />
  </mapping>
  <mapping>
    <identity value="v2" />
    <uri value="http://hl7.org/v2" />
    <name value="HL7 v2 Mapping" />
  </mapping>
  <kind value="resource" />
  <abstract value="false" />
  <type value="MedicationStatement" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/MedicationStatement" />
  <derivation value="constraint" />
  <differential>
    <element id="MedicationStatement.id">
      <path value="MedicationStatement.id" />
      <definition value="The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.&#xD;&#xA;Is assigned by the server, do not provide a value." />
    </element>
    <element id="MedicationStatement.meta">
      <path value="MedicationStatement.meta" />
      <min value="1" />
    </element>
    <element id="MedicationStatement.meta.id">
      <path value="MedicationStatement.meta.id" />
      <max value="0" />
    </element>
    <element id="MedicationStatement.meta.versionId">
      <path value="MedicationStatement.meta.versionId" />
      <max value="0" />
    </element>
    <element id="MedicationStatement.meta.lastUpdated">
      <path value="MedicationStatement.meta.lastUpdated" />
      <max value="0" />
    </element>
    <element id="MedicationStatement.meta.source">
      <path value="MedicationStatement.meta.source" />
      <max value="0" />
    </element>
    <element id="MedicationStatement.meta.profile">
      <path value="MedicationStatement.meta.profile" />
      <min value="1" />
      <max value="1" />
      <fixedCanonical value="https://www.esante.lu/fhir-spec/StructureDefinition/EPLabMedicationStatement" />
    </element>
    <element id="MedicationStatement.meta.security">
      <path value="MedicationStatement.meta.security" />
      <max value="0" />
    </element>
    <element id="MedicationStatement.meta.tag">
      <path value="MedicationStatement.meta.tag" />
      <max value="0" />
    </element>
    <element id="MedicationStatement.implicitRules">
      <path value="MedicationStatement.implicitRules" />
      <max value="0" />
    </element>
    <element id="MedicationStatement.language">
      <path value="MedicationStatement.language" />
      <max value="0" />
    </element>
    <element id="MedicationStatement.text">
      <path value="MedicationStatement.text" />
      <max value="0" />
    </element>
    <element id="MedicationStatement.contained">
      <path value="MedicationStatement.contained" />
      <max value="0" />
    </element>
    <element id="MedicationStatement.identifier">
      <path value="MedicationStatement.identifier" />
      <max value="0" />
    </element>
    <element id="MedicationStatement.basedOn">
      <path value="MedicationStatement.basedOn" />
      <max value="0" />
    </element>
    <element id="MedicationStatement.partOf">
      <path value="MedicationStatement.partOf" />
      <max value="0" />
    </element>
    <element id="MedicationStatement.status">
      <path value="MedicationStatement.status" />
      <definition value="A code representing the patient or other source's judgment about the state of the medication used that this statement is about." />
      <comment value="In the context of ePrescription, we are only interested in medication relevant for the dispenser, i.e. that still have an effect. As such, we consider the status as being active (even though this MedicationStatement could be for the last intake of a treatment)." />
      <fixedCode value="active" />
    </element>
    <element id="MedicationStatement.statusReason">
      <path value="MedicationStatement.statusReason" />
      <max value="0" />
    </element>
    <element id="MedicationStatement.category">
      <path value="MedicationStatement.category" />
      <max value="0" />
    </element>
    <element id="MedicationStatement.medication[x]">
      <path value="MedicationStatement.medication[x]" />
      <short value="The medication stated" />
      <definition value="It is linked in the referential with &quot;CurrentTreatements&quot;" />
      <type>
        <code value="CodeableConcept" />
        <profile value="https://www.esante.lu/fhir-spec/StructureDefinition/EPCodeableConcept" />
      </type>
      <example>
        <label value="Example" />
        <valueCodeableConcept>
          <coding>
            <system value="urn:oid:1.3.182.5.54" />
            <code value="161" />
          </coding>
        </valueCodeableConcept>
      </example>
      <binding>
        <strength value="required" />
        <valueSet value="https://www.esante.lu/fhir-spec/ValueSet/BioPrescQualifiers" />
      </binding>
    </element>
    <element id="MedicationStatement.medication[x].coding">
      <path value="MedicationStatement.medication[x].coding" />
      <binding>
        <strength value="required" />
        <valueSet value="https://www.esante.lu/fhir-spec/ValueSet/BioPrescQualifiers" />
      </binding>
    </element>
    <element id="MedicationStatement.subject">
      <path value="MedicationStatement.subject" />
      <short value="The patient" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://www.esante.lu/fhir-spec/StructureDefinition/EPPatient" />
        <aggregation value="referenced" />
      </type>
    </element>
    <element id="MedicationStatement.subject.id">
      <path value="MedicationStatement.subject.id" />
      <max value="0" />
    </element>
    <element id="MedicationStatement.subject.reference">
      <path value="MedicationStatement.subject.reference" />
      <short value="Reference to the patient with its matricule" />
      <min value="1" />
      <example>
        <label value="Example" />
        <valueString value="Patient?identifier=urn:oid:1.3.182.4.4|1904112000166" />
      </example>
      <condition value="val-patByMatricule" />
      <constraint>
        <key value="val-patByMatricule" />
        <severity value="error" />
        <human value="The Patient SHALL be referenced by its matricule" />
        <expression value="startsWith('Patient?identifier=urn:oid:1.3.182.4.4|') and length()=52" />
        <source value="https://www.esante.lu/fhir-spec/StructureDefinition/EPLabMedicationStatement" />
      </constraint>
    </element>
    <element id="MedicationStatement.subject.type">
      <path value="MedicationStatement.subject.type" />
      <max value="0" />
    </element>
    <element id="MedicationStatement.subject.identifier">
      <path value="MedicationStatement.subject.identifier" />
      <max value="0" />
    </element>
    <element id="MedicationStatement.subject.display">
      <path value="MedicationStatement.subject.display" />
      <max value="0" />
    </element>
    <element id="MedicationStatement.context">
      <path value="MedicationStatement.context" />
      <max value="0" />
    </element>
    <element id="MedicationStatement.effective[x]">
      <path value="MedicationStatement.effective[x]" />
      <max value="0" />
    </element>
    <element id="MedicationStatement.dateAsserted">
      <path value="MedicationStatement.dateAsserted" />
      <definition value="The date when the medication statement was asserted by the information source. Normally the same as the prescription date. Shall be precise to the day." />
      <min value="1" />
      <example>
        <label value="Example" />
        <valueDateTime value="2022-03-01" />
      </example>
      <condition value="val-dateDayPrecision" />
      <constraint>
        <key value="val-dateDayPrecision" />
        <severity value="error" />
        <human value="Shall be precise to the day" />
        <expression value="toString().length()=10" />
        <source value="https://www.esante.lu/fhir-spec/StructureDefinition/EPLabMedicationStatement" />
      </constraint>
    </element>
    <element id="MedicationStatement.informationSource">
      <path value="MedicationStatement.informationSource" />
      <short value="The health professional stating this" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Practitioner" />
        <aggregation value="referenced" />
      </type>
    </element>
    <element id="MedicationStatement.informationSource.id">
      <path value="MedicationStatement.informationSource.id" />
      <max value="0" />
    </element>
    <element id="MedicationStatement.informationSource.reference">
      <path value="MedicationStatement.informationSource.reference" />
      <short value="A reference to the health professional" />
      <min value="1" />
      <example>
        <label value="Example" />
        <valueString value="Practitioner?identifier=urn:oid:1.3.182.4.1|2777777717" />
      </example>
      <condition value="val-1" />
      <constraint>
        <key value="val-1" />
        <severity value="error" />
        <human value="A Practitioner SHALL be referenced by its eHealthID" />
        <expression value="startsWith('Practitioner?identifier=urn:oid:1.3.182.4.1|2') and length()=54" />
        <source value="https://www.esante.lu/fhir-spec/StructureDefinition/EPLabMedicationStatement" />
      </constraint>
    </element>
    <element id="MedicationStatement.informationSource.type">
      <path value="MedicationStatement.informationSource.type" />
      <max value="0" />
    </element>
    <element id="MedicationStatement.informationSource.identifier">
      <path value="MedicationStatement.informationSource.identifier" />
      <max value="0" />
    </element>
    <element id="MedicationStatement.informationSource.display">
      <path value="MedicationStatement.informationSource.display" />
      <max value="0" />
    </element>
    <element id="MedicationStatement.derivedFrom">
      <path value="MedicationStatement.derivedFrom" />
      <max value="0" />
    </element>
    <element id="MedicationStatement.reasonCode">
      <path value="MedicationStatement.reasonCode" />
      <max value="0" />
    </element>
    <element id="MedicationStatement.reasonReference">
      <path value="MedicationStatement.reasonReference" />
      <max value="0" />
    </element>
    <element id="MedicationStatement.note">
      <path value="MedicationStatement.note" />
      <max value="0" />
    </element>
    <element id="MedicationStatement.dosage">
      <path value="MedicationStatement.dosage" />
      <short value="Details of how medication was last taken" />
      <comment value="If the referential contains CurrentTreatements.IndicateTimeLastTaken = true, please provide a value" />
      <max value="1" />
    </element>
    <element id="MedicationStatement.dosage.id">
      <path value="MedicationStatement.dosage.id" />
      <max value="0" />
    </element>
    <element id="MedicationStatement.dosage.sequence">
      <path value="MedicationStatement.dosage.sequence" />
      <max value="0" />
    </element>
    <element id="MedicationStatement.dosage.text">
      <path value="MedicationStatement.dosage.text" />
      <short value="Free text for the last dose taken" />
      <example>
        <label value="Example" />
        <valueString value="75mg" />
      </example>
    </element>
    <element id="MedicationStatement.dosage.additionalInstruction">
      <path value="MedicationStatement.dosage.additionalInstruction" />
      <max value="0" />
    </element>
    <element id="MedicationStatement.dosage.patientInstruction">
      <path value="MedicationStatement.dosage.patientInstruction" />
      <max value="0" />
    </element>
    <element id="MedicationStatement.dosage.timing">
      <path value="MedicationStatement.dosage.timing" />
      <short value="Date last taken" />
    </element>
    <element id="MedicationStatement.dosage.timing.id">
      <path value="MedicationStatement.dosage.timing.id" />
      <max value="0" />
    </element>
    <element id="MedicationStatement.dosage.timing.event">
      <path value="MedicationStatement.dosage.timing.event" />
      <short value="Date last taken" />
      <definition value="Shall have the format : 2022-01-02T13:00:00+01:00&#xD;&#xA;If time is not known, try to estimate it. If not, put 00:00:00" />
      <max value="1" />
      <condition value="val-size25" />
      <constraint>
        <key value="val-size25" />
        <severity value="error" />
        <human value="Shall have the right format" />
        <expression value="toString().length()=25" />
        <source value="https://www.esante.lu/fhir-spec/StructureDefinition/EPLabMedicationStatement" />
      </constraint>
    </element>
    <element id="MedicationStatement.dosage.timing.repeat">
      <path value="MedicationStatement.dosage.timing.repeat" />
      <max value="0" />
    </element>
    <element id="MedicationStatement.dosage.timing.code">
      <path value="MedicationStatement.dosage.timing.code" />
      <max value="0" />
    </element>
    <element id="MedicationStatement.dosage.asNeeded[x]">
      <path value="MedicationStatement.dosage.asNeeded[x]" />
      <max value="0" />
    </element>
    <element id="MedicationStatement.dosage.site">
      <path value="MedicationStatement.dosage.site" />
      <max value="0" />
    </element>
    <element id="MedicationStatement.dosage.route">
      <path value="MedicationStatement.dosage.route" />
      <max value="0" />
    </element>
    <element id="MedicationStatement.dosage.method">
      <path value="MedicationStatement.dosage.method" />
      <max value="0" />
    </element>
    <element id="MedicationStatement.dosage.doseAndRate">
      <path value="MedicationStatement.dosage.doseAndRate" />
      <max value="0" />
    </element>
    <element id="MedicationStatement.dosage.maxDosePerPeriod">
      <path value="MedicationStatement.dosage.maxDosePerPeriod" />
      <max value="0" />
    </element>
    <element id="MedicationStatement.dosage.maxDosePerAdministration">
      <path value="MedicationStatement.dosage.maxDosePerAdministration" />
      <max value="0" />
    </element>
    <element id="MedicationStatement.dosage.maxDosePerLifetime">
      <path value="MedicationStatement.dosage.maxDosePerLifetime" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>