<StructureDefinition xmlns="http://hl7.org/fhir">
  <url value="http://digen.nublar.de/fhir/StructureDefinition/StructureDefinition/DigenEncounter" />
  <name value="DigenEncounter" />
  <status value="draft" />
  <description value="This profile is used for a DiGeN encounter as being imported by the KKIS system. An encounter can be an inpatient/outpatient stay in a hospital or rehabilitation care." />
  <fhirVersion value="3.0.1" />
  <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/w5" />
    <name value="W5 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.meta.id">
      <path value="Encounter.meta.id" />
      <max value="0" />
    </element>
    <element id="Encounter.meta.security.id">
      <path value="Encounter.meta.security.id" />
      <max value="0" />
    </element>
    <element id="Encounter.meta.security.userSelected">
      <path value="Encounter.meta.security.userSelected" />
      <max value="0" />
    </element>
    <element id="Encounter.meta.tag">
      <path value="Encounter.meta.tag" />
      <max value="0" />
    </element>
    <element id="Encounter.implicitRules">
      <path value="Encounter.implicitRules" />
      <max value="0" />
    </element>
    <element id="Encounter.contained">
      <path value="Encounter.contained" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <short value="Über-/Einweisung für den Aufenthalt" />
      <definition value="Used to record and send details about a request for referral service or transfer of a patient to the care of another provider or provider organization. In DiGeN used for the requester of a rehabilation stay." />
      <max value="1" />
      <type>
        <code value="ReferralRequest" />
        <profile value="http://digen.nublar.de/fhir/StructureDefinition/DigenReferralRequest" />
      </type>
    </element>
    <element id="Encounter.contained.requester.agent.identifier">
      <path value="Encounter.contained.requester.agent.identifier" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="system" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Encounter.contained.requester.onBehalfOf.identifier">
      <path value="Encounter.contained.requester.onBehalfOf.identifier" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="system" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Encounter.contained:referralRequest">
      <path value="Encounter.contained" />
      <sliceName value="referralRequest" />
      <short value="Verordnung zur Reha" />
      <max value="1" />
      <type>
        <code value="ReferralRequest" />
        <profile value="http://digen.nublar.de/fhir/StructureDefinition/DigenReferralRequest" />
      </type>
    </element>
    <element id="Encounter.contained:referralRequest.requester.agent.identifier">
      <path value="Encounter.contained.requester.agent.identifier" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="system" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Encounter.contained:referralRequest.requester.onBehalfOf.identifier">
      <path value="Encounter.contained.requester.onBehalfOf.identifier" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="system" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Encounter.identifier">
      <path value="Encounter.identifier" />
      <short value="KKIS Schlüssel" />
      <definition value="Identifier(s) by which this encounter is known. In DiGeN the identifier is built using the identifiers from the KKIS system." />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Encounter.identifier.id">
      <path value="Encounter.identifier.id" />
      <max value="0" />
    </element>
    <element id="Encounter.identifier.use">
      <path value="Encounter.identifier.use" />
      <max value="0" />
    </element>
    <element id="Encounter.identifier.type">
      <path value="Encounter.identifier.type" />
      <max value="0" />
    </element>
    <element id="Encounter.identifier.system">
      <path value="Encounter.identifier.system" />
      <short value="DiGeN-spezifische KrankenkassenKIS -Fallidentifikation" />
      <definition value="Establishes the namespace for the value - that is, a URL that describes a set values that are unique.&#xD;&#xA;The namespace OID depends on and is specific for the AOK, the patient is insuree of. " />
      <comment value="Use the following OIDs:&#xD;&#xA;1.2.276.0.76.3.1.321.1.1.6.15  for DiGeN-spezifische Krankenkassenkis -Fallidentifikation (AOK Hessen)&#xD;&#xA;1.2.276.0.76.3.1.321.1.1.6.17 for DiGeN-spezifische Krankenkassenkis -Fallidentifikation (AOK Baden-Württemberg)&#xD;&#xA;1.2.276.0.76.3.1.321.1.1.6.18 for DiGeN-spezifische Krankenkassenkis -Fallidentifikation (AOK Bayern)&#xD;&#xA;1.2.276.0.76.3.1.321.1.1.6.19 for DiGeN-spezifische Krankenkassenkis -Fallidentifikation (AOK Bremen/Bremerhaven)&#xD;&#xA;1.2.276.0.76.3.1.321.1.1.6.20 for DiGeN-spezifische Krankenkassenkis -Fallidentifikation (AOK Niedersachsen)&#xD;&#xA;1.2.276.0.76.3.1.321.1.1.6.21 for DiGeN-spezifische Krankenkassenkis -Fallidentifikation (AOK Nordost)&#xD;&#xA;1.2.276.0.76.3.1.321.1.1.6.22 for DiGeN-spezifische Krankenkassenkis -Fallidentifikation (AOK NORDWEST)&#xD;&#xA;1.2.276.0.76.3.1.321.1.1.6.23 for DiGeN-spezifische Krankenkassenkis -Fallidentifikation (AOK Sachsen-Anhalt)&#xD;&#xA;1.2.276.0.76.3.1.321.1.1.6.24 for DiGeN-spezifische Krankenkassenkis -Fallidentifikation (AOK PLUS - Sachsen und Thüringen)&#xD;&#xA;1.2.276.0.76.3.1.321.1.1.6.25 for DiGeN-spezifische Krankenkassenkis -Fallidentifikation (AOK Rheinland/Hamburg)&#xD;&#xA;1.2.276.0.76.3.1.321.1.1.6.26 for DiGeN-spezifische Krankenkassenkis -Fallidentifikation (AOK Rheinland-Pfalz/Saarland)&#xD;&#xA;&#xD;&#xA;" />
      <min value="1" />
    </element>
    <element id="Encounter.identifier.value">
      <path value="Encounter.identifier.value" />
      <min value="1" />
    </element>
    <element id="Encounter.identifier.period">
      <path value="Encounter.identifier.period" />
      <max value="0" />
    </element>
    <element id="Encounter.identifier.assigner">
      <path value="Encounter.identifier.assigner" />
      <max value="0" />
    </element>
    <element id="Encounter.status">
      <path value="Encounter.status" />
      <fixedCode value="finished" />
    </element>
    <element id="Encounter.statusHistory">
      <path value="Encounter.statusHistory" />
      <max value="0" />
    </element>
    <element id="Encounter.class">
      <path value="Encounter.class" />
      <short value="Art des Aufenthalts" />
      <definition value="In DiGeN the following values are possible:&#xD;&#xA;AMB (code) / ambulant (display); IMP (code) / stationär (display); PRENC (code) / vorstationär (display); SS (code) / teilstationär (display)  and for rehabilitation stays: MOB / mobil; KOMB / Kombinationsbehandlung; GAMB / ganztägig ambulant." />
      <min value="1" />
      <binding>
        <strength value="required" />
        <description value="DiGeN ActEncounterCodes" />
        <valueSetReference>
          <reference value="http://digen.nublar.de/fhir/ValueSet/ActEncounterCodes" />
        </valueSetReference>
      </binding>
    </element>
    <element id="Encounter.class.id">
      <path value="Encounter.class.id" />
      <max value="0" />
    </element>
    <element id="Encounter.class.system">
      <path value="Encounter.class.system" />
      <min value="1" />
      <binding>
        <strength value="required" />
        <valueSetUri value="http://digen.nublar.de/fhir/ValueSet/ActEncounterCodes" />
      </binding>
    </element>
    <element id="Encounter.class.version">
      <path value="Encounter.class.version" />
      <max value="0" />
    </element>
    <element id="Encounter.class.code">
      <path value="Encounter.class.code" />
      <min value="1" />
    </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" />
      <short value="DiGeN Typ des Encounters" />
      <definition value="Specific type of encounter (e.g. e-mail consultation, surgical day-care, skilled nursing, rehabilitation). In DiGeN used for differentiating between KH and REHA encounters. For REHA encounters this field is also used for providing information about the &quot;Reha-Kostenträger&quot;." />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Encounter.type.id">
      <path value="Encounter.type.id" />
      <max value="0" />
    </element>
    <element id="Encounter.type.coding">
      <path value="Encounter.type.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Encounter.type.coding.id">
      <path value="Encounter.type.coding.id" />
      <max value="0" />
    </element>
    <element id="Encounter.type.coding.system">
      <path value="Encounter.type.coding.system" />
      <min value="1" />
      <fixedUri value="http://digen.nublar.de/fhir/CodeSystem/1.2.276.0.76.3.1.321.1.1.5.15" />
      <binding>
        <strength value="required" />
        <valueSetUri value="http://digen.nublar.de/fhir/ValueSet/EncounterType" />
      </binding>
    </element>
    <element id="Encounter.type.coding.version">
      <path value="Encounter.type.coding.version" />
      <max value="0" />
    </element>
    <element id="Encounter.type.coding.code">
      <path value="Encounter.type.coding.code" />
      <min value="1" />
    </element>
    <element id="Encounter.type.coding.userSelected">
      <path value="Encounter.type.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Encounter.type.text">
      <path value="Encounter.type.text" />
      <max value="0" />
    </element>
    <element id="Encounter.priority">
      <path value="Encounter.priority" />
      <max value="0" />
    </element>
    <element id="Encounter.subject">
      <path value="Encounter.subject" />
      <short value="Referenz zum Patienten" />
      <definition value="The patient present at the encounter." />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Patient" />
        <aggregation value="referenced" />
      </type>
    </element>
    <element id="Encounter.subject.id">
      <path value="Encounter.subject.id" />
      <max value="0" />
    </element>
    <element id="Encounter.subject.reference">
      <path value="Encounter.subject.reference" />
      <min value="1" />
    </element>
    <element id="Encounter.subject.identifier">
      <path value="Encounter.subject.identifier" />
      <max value="0" />
    </element>
    <element id="Encounter.subject.display">
      <path value="Encounter.subject.display" />
      <max value="0" />
    </element>
    <element id="Encounter.episodeOfCare">
      <path value="Encounter.episodeOfCare" />
      <max value="0" />
    </element>
    <element id="Encounter.incomingReferral">
      <path value="Encounter.incomingReferral" />
      <short value="Über-/Einweisung zum Aufenthalt" />
      <definition value="The referral request this encounter satisfies (incoming referral). In DiGeN used for the requester of a rehabilitation stay." />
      <type>
        <code value="Reference" />
        <targetProfile value="http://digen.nublar.de/fhir/StructureDefinition/DigenReferralRequest" />
        <aggregation value="contained" />
      </type>
    </element>
    <element id="Encounter.incomingReferral.id">
      <path value="Encounter.incomingReferral.id" />
      <max value="0" />
    </element>
    <element id="Encounter.incomingReferral.reference">
      <path value="Encounter.incomingReferral.reference" />
      <min value="1" />
    </element>
    <element id="Encounter.incomingReferral.identifier">
      <path value="Encounter.incomingReferral.identifier" />
      <max value="0" />
    </element>
    <element id="Encounter.incomingReferral.display">
      <path value="Encounter.incomingReferral.display" />
      <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" />
      <short value="Beginn/Ende des Aufenthalts" />
      <min value="1" />
    </element>
    <element id="Encounter.period.id">
      <path value="Encounter.period.id" />
      <max value="0" />
    </element>
    <element id="Encounter.period.start">
      <path value="Encounter.period.start" />
      <min value="1" />
    </element>
    <element id="Encounter.period.end">
      <path value="Encounter.period.end" />
      <min value="1" />
    </element>
    <element id="Encounter.length">
      <path value="Encounter.length" />
      <max value="0" />
    </element>
    <element id="Encounter.reason">
      <path value="Encounter.reason" />
      <max value="0" />
    </element>
    <element id="Encounter.diagnosis">
      <path value="Encounter.diagnosis" />
      <short value="Diagnosen und Prozeduren zum Aufenthalt" />
      <definition value="The list of diagnosis relevant to this encounter. This can be conditions and/or prcedures." />
    </element>
    <element id="Encounter.diagnosis.id">
      <path value="Encounter.diagnosis.id" />
      <max value="0" />
    </element>
    <element id="Encounter.diagnosis.condition">
      <path value="Encounter.diagnosis.condition" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://digen.nublar.de/fhir/StructureDefinition/DigenConditionAbrechnung" />
        <aggregation value="referenced" />
      </type>
      <type>
        <code value="Reference" />
        <targetProfile value="http://digen.nublar.de/fhir/StructureDefinition/DigenAbrechnungsProcedureHeilm" />
        <aggregation value="referenced" />
      </type>
      <type>
        <code value="Reference" />
        <targetProfile value="http://digen.nublar.de/fhir/StructureDefinition/DigenAbrechnungsProcedureOPS" />
        <aggregation value="referenced" />
      </type>
    </element>
    <element id="Encounter.diagnosis.condition.id">
      <path value="Encounter.diagnosis.condition.id" />
      <max value="0" />
    </element>
    <element id="Encounter.diagnosis.condition.reference">
      <path value="Encounter.diagnosis.condition.reference" />
      <min value="1" />
    </element>
    <element id="Encounter.diagnosis.condition.identifier">
      <path value="Encounter.diagnosis.condition.identifier" />
      <max value="0" />
    </element>
    <element id="Encounter.diagnosis.condition.display">
      <path value="Encounter.diagnosis.condition.display" />
      <max value="0" />
    </element>
    <element id="Encounter.diagnosis.role.id">
      <path value="Encounter.diagnosis.role.id" />
      <max value="0" />
    </element>
    <element id="Encounter.diagnosis.role.coding">
      <path value="Encounter.diagnosis.role.coding" />
      <short value="DiGeN-spezifischer Diagnosen-Fallkontext" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Encounter.diagnosis.role.coding.id">
      <path value="Encounter.diagnosis.role.coding.id" />
      <max value="0" />
    </element>
    <element id="Encounter.diagnosis.role.coding.system">
      <path value="Encounter.diagnosis.role.coding.system" />
      <min value="1" />
      <fixedUri value="http://digen.nublar.de/fhir/CodeSystem/1.2.276.0.76.3.1.321.1.1.5.14" />
    </element>
    <element id="Encounter.diagnosis.role.coding.version">
      <path value="Encounter.diagnosis.role.coding.version" />
      <max value="0" />
    </element>
    <element id="Encounter.diagnosis.role.coding.code">
      <path value="Encounter.diagnosis.role.coding.code" />
      <min value="1" />
    </element>
    <element id="Encounter.diagnosis.role.coding.userSelected">
      <path value="Encounter.diagnosis.role.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Encounter.diagnosis.role.text">
      <path value="Encounter.diagnosis.role.text" />
      <max value="0" />
    </element>
    <element id="Encounter.diagnosis.rank">
      <path value="Encounter.diagnosis.rank" />
      <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">
      <path value="Encounter.location" />
      <max value="0" />
    </element>
    <element id="Encounter.serviceProvider">
      <path value="Encounter.serviceProvider" />
      <short value="Aufenthalt ServiceProvider" />
      <definition value="An organization that is in charge of maintaining the information of this Encounter (e.g. who maintains the report or the master service catalog item, etc.). This MAY be the same as the organization on the Patient record, however it could be different. This MAY not be not the Service Delivery Location's Organization. In DiGeN the service provider is transmitted from the KKIS as &quot;healthServiceProviderIk&quot;." />
    </element>
    <element id="Encounter.serviceProvider.id">
      <path value="Encounter.serviceProvider.id" />
      <max value="0" />
    </element>
    <element id="Encounter.serviceProvider.reference">
      <path value="Encounter.serviceProvider.reference" />
      <max value="0" />
    </element>
    <element id="Encounter.serviceProvider.identifier">
      <path value="Encounter.serviceProvider.identifier" />
      <short value="IK Nummer des ServiceProviders" />
      <min value="1" />
    </element>
    <element id="Encounter.serviceProvider.identifier.id">
      <path value="Encounter.serviceProvider.identifier.id" />
      <max value="0" />
    </element>
    <element id="Encounter.serviceProvider.identifier.use">
      <path value="Encounter.serviceProvider.identifier.use" />
      <max value="0" />
    </element>
    <element id="Encounter.serviceProvider.identifier.type">
      <path value="Encounter.serviceProvider.identifier.type" />
      <max value="0" />
    </element>
    <element id="Encounter.serviceProvider.identifier.system">
      <path value="Encounter.serviceProvider.identifier.system" />
      <short value="IK Nummer Namensraum" />
      <definition value="Establishes the namespace for the value - that is, a URL that describes a set values that are unique.&#xD;&#xA;(http://fhir.de/NamingSystem/arge-ik/iknr)" />
      <min value="1" />
      <fixedUri value="urn:oid:1.2.276.0.76.4.5" />
    </element>
    <element id="Encounter.serviceProvider.identifier.value">
      <path value="Encounter.serviceProvider.identifier.value" />
      <min value="1" />
    </element>
    <element id="Encounter.serviceProvider.identifier.period">
      <path value="Encounter.serviceProvider.identifier.period" />
      <max value="0" />
    </element>
    <element id="Encounter.serviceProvider.identifier.assigner">
      <path value="Encounter.serviceProvider.identifier.assigner" />
      <max value="0" />
    </element>
    <element id="Encounter.serviceProvider.display">
      <path value="Encounter.serviceProvider.display" />
      <max value="0" />
    </element>
    <element id="Encounter.partOf">
      <path value="Encounter.partOf" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>