<StructureDefinition xmlns="http://hl7.org/fhir">
  <url value="http://apiframework.dedalus.eu/fhir/StructureDefinition/Encounter-ForADT-Master" />
  <name value="Encounter-ForADT-Master" />
  <status value="active" />
  <description value="Dedalus API Framework core profile for Encounter-Master for ADT transactions" />
  <fhirVersion value="3.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Encounter" />
  <baseDefinition value="http://apiframework.dedalus.eu/fhir/StructureDefinition/Encounter" />
  <derivation value="constraint" />
  <differential>
    <element id="Encounter.meta">
      <path value="Encounter.meta" />
      <min value="1" />
    </element>
    <element id="Encounter.extension">
      <path value="Encounter.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Encounter.extension:healthCharge">
      <path value="Encounter.extension" />
      <sliceName value="healthCharge" />
      <short value="healthCharge" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://apiframework.dedalus.eu/fhir/StructureDefinition/extension-encounter-heathcharge" />
      </type>
      <binding>
        <strength value="extensible" />
        <valueSetUri value="http://apiframework.dedalus.eu/fhir/ValueSet/HealthChargeCodes-ForADT" />
      </binding>
    </element>
    <element id="Encounter.extension:haveAutopsy">
      <path value="Encounter.extension" />
      <sliceName value="haveAutopsy" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://apiframework.dedalus.eu/fhir/StructureDefinition/extension-encounter-haveAutopsy" />
      </type>
    </element>
    <element id="Encounter.class">
      <path value="Encounter.class" />
      <short value="IMP | SS" />
      <definition value="inpatient | short stay" />
      <comment value="Use code: &quot;IMP&quot;, display: &quot;inpatient&quot; for inpatient admissions, code: &quot;SS&quot;, display: &quot;short stay&quot; for outpatient admissions" />
      <min value="1" />
      <binding>
        <strength value="extensible" />
        <valueSetReference>
          <reference value="http://hl7.org/fhir/ValueSet/v3-ActCode" />
        </valueSetReference>
      </binding>
    </element>
    <element id="Encounter.class.code">
      <path value="Encounter.class.code" />
      <min value="1" />
    </element>
    <element id="Encounter.type">
      <path value="Encounter.type" />
      <min value="1" />
      <max value="1" />
      <fixedCodeableConcept>
        <coding>
          <system value="http://apiframework.dedalus.eu/fhir/CodeSystem/EncounterType" />
          <code value="MA" />
          <display value="Encounter MASTER" />
        </coding>
        <text value="MASTER" />
      </fixedCodeableConcept>
      <binding>
        <strength value="required" />
        <description value="The type of Encounter" />
      </binding>
    </element>
    <element id="Encounter.priority">
      <path value="Encounter.priority" />
      <binding>
        <strength value="required" />
        <valueSetReference>
          <reference value="http://apiframework.dedalus.eu/fhir/ValueSet/AdmissionTypeCodes-ForADT" />
        </valueSetReference>
      </binding>
    </element>
    <element id="Encounter.subject">
      <path value="Encounter.subject" />
      <short value="The patient or group present at the encounter" />
      <definition value="The patient or group present at the encounter." />
      <type>
        <code value="Reference" />
        <targetProfile value="http://apiframework.dedalus.eu/fhir/StructureDefinition/Patient" />
      </type>
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Group" />
      </type>
    </element>
    <element id="Encounter.period">
      <path value="Encounter.period" />
      <min value="1" />
    </element>
    <element id="Encounter.period.start">
      <path value="Encounter.period.start" />
      <min value="1" />
    </element>
    <element id="Encounter.reason">
      <path value="Encounter.reason" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="id" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Encounter.reason.coding">
      <path value="Encounter.reason.coding" />
      <mustSupport value="true" />
      <binding>
        <strength value="extensible" />
        <valueSetUri value="http://apiframework.dedalus.eu/fhir/ValueSet/EncounterReasonCodes-ForADT" />
      </binding>
    </element>
    <element id="Encounter.reason:cancelReason">
      <path value="Encounter.reason" />
      <sliceName value="cancelReason" />
      <short value="Reason why the encounter is cancelled" />
      <definition value="Reason why the encounter is cancelled" />
      <binding>
        <strength value="preferred" />
        <description value="Reason why the encounter is cancelled." />
        <valueSetReference>
          <reference value="http://hl7.org/fhir/ValueSet/EncounterCancelReasonCodes-ForADT" />
        </valueSetReference>
      </binding>
    </element>
    <element id="Encounter.reason:cancelReason.id">
      <path value="Encounter.reason.id" />
      <fixedString value="cancelReason" />
    </element>
    <element id="Encounter.diagnosis.condition">
      <path value="Encounter.diagnosis.condition" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://apiframework.dedalus.eu/fhir/StructureDefinition/Procedure-ForADT" />
      </type>
      <type>
        <code value="Reference" />
        <targetProfile value="http://apiframework.dedalus.eu/fhir/StructureDefinition/Condition-ForADT" />
      </type>
    </element>
    <element id="Encounter.diagnosis.role">
      <path value="Encounter.diagnosis.role" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Encounter.diagnosis.rank">
      <path value="Encounter.diagnosis.rank" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Encounter.account">
      <path value="Encounter.account" />
      <mustSupport value="true" />
    </element>
    <element id="Encounter.hospitalization">
      <path value="Encounter.hospitalization" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Encounter.hospitalization.admitSource">
      <path value="Encounter.hospitalization.admitSource" />
      <min value="1" />
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <valueSetReference>
          <reference value="http://apiframework.dedalus.eu/fhir/ValueSet/AdmissionSourceCodes-ForADT" />
        </valueSetReference>
      </binding>
    </element>
    <element id="Encounter.hospitalization.dischargeDisposition">
      <path value="Encounter.hospitalization.dischargeDisposition" />
      <binding>
        <strength value="extensible" />
        <valueSetReference>
          <reference value="http://apiframework.dedalus.eu/fhir/ValueSet/EncounterDischargeDispositionCodes-ForADT" />
        </valueSetReference>
      </binding>
    </element>
    <element id="Encounter.serviceProvider">
      <path value="Encounter.serviceProvider" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://apiframework.dedalus.eu/fhir/StructureDefinition/Organization" />
        <aggregation value="referenced" />
      </type>
    </element>
    <element id="Encounter.partOf">
      <path value="Encounter.partOf" />
      <comment value="This is also used for associating a child's encounter back to the mother's encounter.&#xD;Refer to the Notes section in the Patient resource for further details." />
      <type>
        <code value="Reference" />
        <targetProfile value="http://apiframework.dedalus.eu/fhir/StructureDefinition/EpisodeOfCare" />
        <aggregation value="referenced" />
      </type>
    </element>
  </differential>
</StructureDefinition>