<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="SenaiteEncounter" />
  <url value="https://senaite.com/modeling/fhir/StructureDefinition/SenaiteEncounter" />
  <name value="SenaiteEncounter" />
  <status value="draft" />
  <fhirVersion value="4.3.0" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Encounter" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Encounter" />
  <derivation value="constraint" />
  <differential>
    <element id="Encounter.extension">
      <path value="Encounter.extension" />
      <max value="0" />
    </element>
    <element id="Encounter.modifierExtension">
      <path value="Encounter.modifierExtension" />
      <max value="0" />
    </element>
    <element id="Encounter.identifier">
      <path value="Encounter.identifier" />
      <max value="0" />
    </element>
    <element id="Encounter.status">
      <path value="Encounter.status" />
      <short value="finished" />
      <definition value="We only want to be informed about finished encounters" />
      <fixedCode value="finished" />
    </element>
    <element id="Encounter.statusHistory">
      <path value="Encounter.statusHistory" />
      <max value="0" />
    </element>
    <element id="Encounter.class.extension">
      <path value="Encounter.class.extension" />
      <max value="0" />
    </element>
    <element id="Encounter.class.system">
      <path value="Encounter.class.system" />
      <binding>
        <strength value="preferred" />
        <valueSet value="http://terminology.hl7.org/CodeSystem/v3-ActCode" />
      </binding>
    </element>
    <element id="Encounter.class.version">
      <path value="Encounter.class.version" />
      <max value="0" />
    </element>
    <element id="Encounter.class.userSelected">
      <path value="Encounter.class.userSelected" />
      <max value="0" />
    </element>
    <element id="Encounter.classHistory">
      <path value="Encounter.classHistory" />
      <max value="0" />
    </element>
    <element id="Encounter.type">
      <path value="Encounter.type" />
      <max value="0" />
    </element>
    <element id="Encounter.serviceType">
      <path value="Encounter.serviceType" />
      <max value="0" />
    </element>
    <element id="Encounter.priority">
      <path value="Encounter.priority" />
      <max value="0" />
    </element>
    <element id="Encounter.subject">
      <path value="Encounter.subject" />
      <max value="0" />
    </element>
    <element id="Encounter.episodeOfCare">
      <path value="Encounter.episodeOfCare" />
      <max value="0" />
    </element>
    <element id="Encounter.basedOn">
      <path value="Encounter.basedOn" />
      <max value="0" />
    </element>
    <element id="Encounter.participant">
      <path value="Encounter.participant" />
      <max value="0" />
    </element>
    <element id="Encounter.appointment">
      <path value="Encounter.appointment" />
      <max value="0" />
    </element>
    <element id="Encounter.period">
      <path value="Encounter.period" />
      <max value="0" />
    </element>
    <element id="Encounter.length">
      <path value="Encounter.length" />
      <max value="0" />
    </element>
    <element id="Encounter.reasonCode">
      <path value="Encounter.reasonCode" />
      <max value="0" />
    </element>
    <element id="Encounter.reasonReference">
      <path value="Encounter.reasonReference" />
      <max value="0" />
    </element>
    <element id="Encounter.diagnosis">
      <path value="Encounter.diagnosis" />
      <max value="0" />
    </element>
    <element id="Encounter.account">
      <path value="Encounter.account" />
      <max value="0" />
    </element>
    <element id="Encounter.hospitalization">
      <path value="Encounter.hospitalization" />
      <max value="0" />
    </element>
    <element id="Encounter.location.extension">
      <path value="Encounter.location.extension" />
      <max value="0" />
    </element>
    <element id="Encounter.location.modifierExtension">
      <path value="Encounter.location.modifierExtension" />
      <max value="0" />
    </element>
    <element id="Encounter.location.location">
      <path value="Encounter.location.location" />
      <definition value="The location where the encounter takes place. This will be used to determine where to send the results back to. If SENAITE does not recognise the location it will be created." />
    </element>
    <element id="Encounter.location.location.extension">
      <path value="Encounter.location.location.extension" />
      <max value="0" />
    </element>
    <element id="Encounter.location.physicalType.coding">
      <path value="Encounter.location.physicalType.coding" />
      <binding>
        <strength value="required" />
        <valueSet value="http://terminology.hl7.org/CodeSystem/location-physical-type" />
      </binding>
    </element>
    <element id="Encounter.location.physicalType.coding.system">
      <path value="Encounter.location.physicalType.coding.system" />
      <fixedUri value="http://terminology.hl7.org/CodeSystem/location-physical-type" />
    </element>
    <element id="Encounter.location.physicalType.coding.version">
      <path value="Encounter.location.physicalType.coding.version" />
      <max value="0" />
    </element>
    <element id="Encounter.serviceProvider.extension">
      <path value="Encounter.serviceProvider.extension" />
      <max value="0" />
    </element>
    <element id="Encounter.serviceProvider.type">
      <path value="Encounter.serviceProvider.type" />
      <fixedUri value="Organization" />
    </element>
    <element id="Encounter.serviceProvider.identifier">
      <path value="Encounter.serviceProvider.identifier" />
      <max value="0" />
    </element>
    <element id="Encounter.partOf">
      <path value="Encounter.partOf" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>