<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="il-core-encounter" />
  <url value="http://fhir.health.gov.il/StructureDefinition/il-core-encounter" />
  <version value="0.13.0" />
  <name value="ILCoreEncounter" />
  <title value="ILCore Encounter Profile" />
  <status value="draft" />
  <date value="2021-05-02" />
  <publisher value="Israel Core Team" />
  <contact>
    <telecom>
      <system value="email" />
      <value value="ido.levin@moh.gov.il" />
    </telecom>
  </contact>
  <description value="Israel Core proposed constraints and extensions on the Encounter Resource" />
  <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="Encounter" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Encounter" />
  <derivation value="constraint" />
  <differential>
    <element id="Encounter">
      <path value="Encounter" />
      <short value="ILCore Encounter Profile" />
      <definition value="Definitions for the profile-Encounter resource profile." />
    </element>
    <element id="Encounter.extension">
      <path value="Encounter.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
    </element>
    <element id="Encounter.extension:modeOfArrival">
      <path value="Encounter.extension" />
      <sliceName value="modeOfArrival" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.org/fhir/StructureDefinition/encounter-modeOfArrival" />
      </type>
    </element>
    <element id="Encounter.extension:modeOfArrival.value[x]">
      <path value="Encounter.extension.value[x]" />
      <binding>
        <strength value="example" />
        <valueSet value="http://fhir.health.gov.il/ValueSet/patient-mode-of-arrival-moh" />
      </binding>
    </element>
    <element id="Encounter.extension:paying-entity">
      <path value="Encounter.extension" />
      <sliceName value="paying-entity" />
      <short value="Extension: Encounter Paying Entity" />
      <definition value="Paying Entity for the Encounter" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Extension" />
        <profile value="http://fhir.health.gov.il/StructureDefinition/ext-encounter-paying-entity" />
      </type>
    </element>
    <element id="Encounter.extension:movement-number">
      <path value="Encounter.extension" />
      <sliceName value="movement-number" />
      <short value="Ext: Movement Sequence-Number" />
      <definition value="Extension: Movement Sequence-Number" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://fhir.health.gov.il/StructureDefinition/ext-movement-number" />
      </type>
    </element>
    <element id="Encounter.identifier">
      <path value="Encounter.identifier" />
      <definition value="Must support - &lt;b&gt;receiving system SHOULD store the value&lt;/b&gt;" />
      <mustSupport value="true" />
    </element>
    <element id="Encounter.status">
      <path value="Encounter.status" />
      <definition value="Must support - &lt;b&gt;receiving system SHALL either store the value as-is or SHALL be able to translate it into internal state and SHALL be able to reconstruct the value when requested to retrieve data&lt;/b&gt;" />
      <mustSupport value="true" />
    </element>
    <element id="Encounter.class">
      <path value="Encounter.class" />
      <definition value="Must support - &lt;b&gt;receiving system SHALL either store the value as-is or SHALL be able to translate it into internal state and SHALL be able to reconstruct the value when requested to retrieve data&lt;/b&gt;" />
      <mustSupport value="true" />
      <binding>
        <strength value="extensible" />
        <valueSet value="http://fhir.health.gov.il/ValueSet/il-core-encounter-class" />
      </binding>
    </element>
    <element id="Encounter.classHistory.class">
      <path value="Encounter.classHistory.class" />
      <binding>
        <strength value="extensible" />
        <valueSet value="http://fhir.health.gov.il/ValueSet/il-core-encounter-class" />
      </binding>
    </element>
    <element id="Encounter.type">
      <path value="Encounter.type" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="$this" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <definition value="Specific type of encounter that is orthogonal to class and serviceType (e.g. e-mail consultation)" />
    </element>
    <element id="Encounter.type:virtual-encounters">
      <path value="Encounter.type" />
      <sliceName value="virtual-encounters" />
      <min value="0" />
      <max value="*" />
      <binding>
        <strength value="required" />
        <valueSet value="http://fhir.health.gov.il/ValueSet/il-core-virtual-type" />
      </binding>
    </element>
    <element id="Encounter.type:doctor-to-doctor-consultation">
      <path value="Encounter.type" />
      <sliceName value="doctor-to-doctor-consultation" />
      <min value="0" />
      <max value="*" />
      <binding>
        <strength value="required" />
        <valueSet value="http://fhir.health.gov.il/ValueSet/il-core-doctor-to-doctor" />
      </binding>
    </element>
    <element id="Encounter.serviceType">
      <path value="Encounter.serviceType" />
      <binding>
        <strength value="extensible" />
        <valueSet value="http://fhir.health.gov.il/ValueSet/il-core-service-type" />
      </binding>
    </element>
    <element id="Encounter.subject">
      <path value="Encounter.subject" />
      <definition value="Must support - &lt;b&gt;receiving system SHALL either store the value as-is or SHALL be able to translate it into internal state and SHALL be able to reconstruct the value when requested to retrieve data&lt;/b&gt;" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://fhir.health.gov.il/StructureDefinition/il-core-patient" />
        <targetProfile value="http://fhir.health.gov.il/StructureDefinition/il-core-group" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Encounter.subject.extension:visitor-type">
      <path value="Encounter.subject.extension" />
      <sliceName value="visitor-type" />
      <short value="Extension: Israeli CORE Encounter Visitor Type" />
      <definition value="Classification of the visitor type (סוג מבקר/סוג כניסה) for the Encounter" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://fhir.health.gov.il/StructureDefinition/ext-encounter-visitor-type" />
      </type>
    </element>
    <element id="Encounter.basedOn">
      <path value="Encounter.basedOn" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://fhir.health.gov.il/StructureDefinition/il-core-service-request" />
      </type>
    </element>
    <element id="Encounter.participant">
      <path value="Encounter.participant" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="type" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Encounter.participant.individual">
      <path value="Encounter.participant.individual" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://fhir.health.gov.il/StructureDefinition/il-core-practitioner" />
        <targetProfile value="http://fhir.health.gov.il/StructureDefinition/il-core-practitioner-role" />
        <targetProfile value="http://fhir.health.gov.il/StructureDefinition/il-core-related-person" />
      </type>
    </element>
    <element id="Encounter.participant:primary-performer">
      <path value="Encounter.participant" />
      <sliceName value="primary-performer" />
      <definition value="Must support - &lt;b&gt;receiving system SHALL either store the value as-is or SHALL be able to translate it into internal state and SHALL be able to reconstruct the value when requested to retrieve data&lt;/b&gt;" />
      <min value="0" />
      <max value="*" />
      <mustSupport value="true" />
    </element>
    <element id="Encounter.participant:primary-performer.type">
      <path value="Encounter.participant.type" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Encounter.participant:primary-performer.type.coding.system">
      <path value="Encounter.participant.type.coding.system" />
      <fixedUri value="http://terminology.hl7.org/CodeSystem/v3-ParticipationType" />
    </element>
    <element id="Encounter.participant:primary-performer.type.coding.code">
      <path value="Encounter.participant.type.coding.code" />
      <fixedCode value="PPRF" />
    </element>
    <element id="Encounter.participant:primary-performer.period">
      <path value="Encounter.participant.period" />
      <mustSupport value="true" />
    </element>
    <element id="Encounter.participant:primary-performer.individual">
      <path value="Encounter.participant.individual" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://fhir.health.gov.il/StructureDefinition/il-core-practitioner" />
        <targetProfile value="http://fhir.health.gov.il/StructureDefinition/il-core-practitioner-role" />
        <targetProfile value="http://fhir.health.gov.il/StructureDefinition/il-core-related-person" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Encounter.period">
      <path value="Encounter.period" />
      <definition value="Must support - &lt;b&gt;receiving system SHALL either store the value as-is or SHALL be able to translate it into internal state and SHALL be able to reconstruct the value when requested to retrieve data&lt;/b&gt;" />
      <mustSupport value="true" />
    </element>
    <element id="Encounter.reasonCode">
      <path value="Encounter.reasonCode" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="$this" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Encounter.reasonCode:moh-reason-code">
      <path value="Encounter.reasonCode" />
      <sliceName value="moh-reason-code" />
      <min value="0" />
      <max value="*" />
      <binding>
        <strength value="preferred" />
        <valueSet value="http://fhir.health.gov.il/ValueSet/patient-visit-reason-moh" />
      </binding>
    </element>
    <element id="Encounter.reasonReference">
      <path value="Encounter.reasonReference" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://fhir.health.gov.il/StructureDefinition/il-core-condition" />
        <targetProfile value="http://fhir.health.gov.il/StructureDefinition/il-core-procedure" />
        <targetProfile value="http://fhir.health.gov.il/StructureDefinition/il-core-observation" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/ImmunizationRecommendation" />
      </type>
    </element>
    <element id="Encounter.diagnosis.condition">
      <path value="Encounter.diagnosis.condition" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://fhir.health.gov.il/StructureDefinition/il-core-condition" />
        <targetProfile value="http://fhir.health.gov.il/StructureDefinition/il-core-procedure" />
      </type>
    </element>
    <element id="Encounter.hospitalization.origin">
      <path value="Encounter.hospitalization.origin" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://fhir.health.gov.il/StructureDefinition/il-core-location" />
        <targetProfile value="http://fhir.health.gov.il/StructureDefinition/il-core-organization" />
      </type>
    </element>
    <element id="Encounter.hospitalization.admitSource">
      <path value="Encounter.hospitalization.admitSource" />
      <binding>
        <strength value="preferred" />
        <valueSet value="http://fhir.health.gov.il/ValueSet/patient-admit-source-moh" />
      </binding>
    </element>
    <element id="Encounter.hospitalization.destination">
      <path value="Encounter.hospitalization.destination" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://fhir.health.gov.il/StructureDefinition/il-core-location" />
        <targetProfile value="http://fhir.health.gov.il/StructureDefinition/il-core-organization" />
      </type>
    </element>
    <element id="Encounter.hospitalization.dischargeDisposition">
      <path value="Encounter.hospitalization.dischargeDisposition" />
      <binding>
        <strength value="example" />
        <valueSet value="http://fhir.health.gov.il/ValueSet/patient-release-type-moh" />
      </binding>
    </element>
    <element id="Encounter.location.location">
      <path value="Encounter.location.location" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://fhir.health.gov.il/StructureDefinition/il-core-location" />
      </type>
    </element>
    <element id="Encounter.serviceProvider">
      <path value="Encounter.serviceProvider" />
      <definition value="Must support - &lt;b&gt;receiving system SHALL either store the value as-is or SHALL be able to translate it into internal state and SHALL be able to reconstruct the value when requested to retrieve data&lt;/b&gt;" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://fhir.health.gov.il/StructureDefinition/il-core-organization" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Encounter.partOf">
      <path value="Encounter.partOf" />
      <type>
        <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-hierarchy">
          <valueBoolean value="true" />
        </extension>
        <code value="Reference" />
        <targetProfile value="http://fhir.health.gov.il/StructureDefinition/il-core-encounter" />
      </type>
    </element>
  </differential>
</StructureDefinition>