<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="AmbulanterBesuch" />
  <url value="https://tiplu.de/fhir/StructureDefinition/AmbulanterBesuch" />
  <version value="2.0.2" />
  <name value="AmbulanterBesuch" />
  <title value="Ambulanter Besuch" />
  <status value="active" />
  <date value="2026-04-02" />
  <publisher value="Tiplu GmbH" />
  <contact>
    <name value="Tiplu GmbH" />
    <telecom>
      <system value="email" />
      <value value="fhir@tiplu.de" />
    </telecom>
  </contact>
  <description value="Profil zu Abbildung eines ambulanten Besuchs in einer Gesundheitseinrichtung." />
  <copyright value="Tiplu GmbH" />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Encounter" />
  <baseDefinition value="https://fhir.kbv.de/StructureDefinition/KBV_PR_Base_Encounter" />
  <derivation value="constraint" />
  <differential>
    <element id="Encounter.meta">
      <path value="Encounter.meta" />
      <mustSupport value="true" />
    </element>
    <element id="Encounter.meta.source">
      <path value="Encounter.meta.source" />
      <mustSupport value="true" />
    </element>
    <element id="Encounter.meta.profile">
      <path value="Encounter.meta.profile" />
      <mustSupport value="true" />
    </element>
    <element id="Encounter.identifier">
      <path value="Encounter.identifier" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="$this" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Encounter.identifier:Aufnahmenummer">
      <path value="Encounter.identifier" />
      <sliceName value="Aufnahmenummer" />
      <min value="0" />
      <max value="1" />
      <patternIdentifier>
        <type>
          <coding>
            <system value="http://terminology.hl7.org/CodeSystem/v2-0203" />
            <code value="VN" />
          </coding>
        </type>
      </patternIdentifier>
      <mustSupport value="true" />
    </element>
    <element id="Encounter.identifier:Aufnahmenummer.type">
      <path value="Encounter.identifier.type" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Encounter.identifier:Aufnahmenummer.type.coding">
      <path value="Encounter.identifier.type.coding" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="$this" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Encounter.identifier:Aufnahmenummer.type.coding:vn-type">
      <path value="Encounter.identifier.type.coding" />
      <sliceName value="vn-type" />
      <min value="1" />
      <max value="1" />
      <patternCoding>
        <system value="http://terminology.hl7.org/CodeSystem/v2-0203" />
        <code value="VN" />
      </patternCoding>
      <mustSupport value="true" />
    </element>
    <element id="Encounter.identifier:Aufnahmenummer.type.coding:vn-type.system">
      <path value="Encounter.identifier.type.coding.system" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Encounter.identifier:Aufnahmenummer.type.coding:vn-type.code">
      <path value="Encounter.identifier.type.coding.code" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Encounter.identifier:Aufnahmenummer.system">
      <path value="Encounter.identifier.system" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Encounter.identifier:Aufnahmenummer.value">
      <path value="Encounter.identifier.value" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Encounter.status">
      <path value="Encounter.status" />
      <mustSupport value="true" />
    </element>
    <element id="Encounter.type">
      <path value="Encounter.type" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="$this" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Encounter.type:Kontaktebene">
      <path value="Encounter.type" />
      <sliceName value="Kontaktebene" />
      <short value="Die Kontaktebene beschreibt den Kontakt zur Einrichtung, Abteilung oder Versorgungsstelle und wird ergänzt aus dem ISiK-Profil ISiKKontaktGesundheitseinrichtung" />
      <min value="1" />
      <max value="1" />
      <patternCodeableConcept>
        <coding>
          <system value="http://fhir.de/CodeSystem/Kontaktebene" />
          <code value="abteilungskontakt" />
        </coding>
      </patternCodeableConcept>
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <description value="Kontaktebene" />
        <valueSet value="http://fhir.de/ValueSet/kontaktebene-de" />
      </binding>
    </element>
    <element id="Encounter.type:KontaktArt">
      <path value="Encounter.type" />
      <sliceName value="KontaktArt" />
      <short value="Kontaktart beschreibt die Art des stationären Kontakts, der Untersuchung oder Behandlung und wird ergänzt aus dem ISiK-Profil ISiKKontaktGesundheitseinrichtung" />
      <min value="0" />
      <max value="1" />
      <patternCodeableConcept>
        <coding>
          <system value="http://fhir.de/CodeSystem/kontaktart-de" />
        </coding>
      </patternCodeableConcept>
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <valueSet value="http://fhir.de/ValueSet/kontaktart-de" />
      </binding>
    </element>
    <element id="Encounter.type:KontaktArtErweitert">
      <path value="Encounter.type" />
      <sliceName value="KontaktArtErweitert" />
      <short value="Die erweiterte Kontaktart definiert, ob es sich um einen ambulanten Kontakt/Schein handelt." />
      <min value="0" />
      <max value="1" />
      <patternCodeableConcept>
        <coding>
          <system value="http://fhir.de/CodeSystem/kontaktart-de-erweitert" />
        </coding>
      </patternCodeableConcept>
      <mustSupport value="true" />
      <binding>
        <strength value="extensible" />
        <valueSet value="https://tiplu.de/fhir/ValueSet/kontaktart-de-erweitert" />
      </binding>
    </element>
    <element id="Encounter.serviceType">
      <path value="Encounter.serviceType" />
      <short value="Fachabteilung" />
      <definition value="Die Fachdisziplin bzw. Fachabteilung wird durch einen vierstelligen Fachabteilungsschlüssel klassifiziert." />
      <mustSupport value="true" />
    </element>
    <element id="Encounter.serviceType.coding">
      <path value="Encounter.serviceType.coding" />
      <mustSupport value="true" />
    </element>
    <element id="Encounter.serviceType.coding:HL7-Fachabteilungsschluessel">
      <path value="Encounter.serviceType.coding" />
      <sliceName value="HL7-Fachabteilungsschluessel" />
      <mustSupport value="true" />
    </element>
    <element id="Encounter.serviceType.coding:HL7-Fachabteilungsschluessel.system">
      <path value="Encounter.serviceType.coding.system" />
      <mustSupport value="true" />
    </element>
    <element id="Encounter.serviceType.coding:HL7-Fachabteilungsschluessel.code">
      <path value="Encounter.serviceType.coding.code" />
      <mustSupport value="true" />
    </element>
    <element id="Encounter.serviceType.coding:HL7-Fachabteilungsschluessel-erweitert">
      <path value="Encounter.serviceType.coding" />
      <sliceName value="HL7-Fachabteilungsschluessel-erweitert" />
      <mustSupport value="true" />
    </element>
    <element id="Encounter.serviceType.coding:HL7-Fachabteilungsschluessel-erweitert.system">
      <path value="Encounter.serviceType.coding.system" />
      <mustSupport value="true" />
    </element>
    <element id="Encounter.serviceType.coding:HL7-Fachabteilungsschluessel-erweitert.code">
      <path value="Encounter.serviceType.coding.code" />
      <mustSupport value="true" />
    </element>
    <element id="Encounter.subject">
      <path value="Encounter.subject" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Encounter.basedOn">
      <path value="Encounter.basedOn" />
      <short value="Service-Anfrage, auf der dieser Besuch basiert (z.B. Überweisungsauftrag, Einweisungsauftrag)." />
      <type>
        <code value="Reference" />
        <targetProfile value="https://tiplu.de/fhir/StructureDefinition/TipluAuftragUeberweisung" />
        <targetProfile value="https://tiplu.de/fhir/StructureDefinition/TipluAuftragEinweisung" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/ServiceRequest" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Encounter.participant">
      <path value="Encounter.participant" />
      <mustSupport value="true" />
    </element>
    <element id="Encounter.participant.individual">
      <path value="Encounter.participant.individual" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://tiplu.de/fhir/StructureDefinition/BehandelndePerson" />
        <targetProfile value="https://tiplu.de/fhir/StructureDefinition/BehandelndePersonRolle" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Practitioner" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/PractitionerRole" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/RelatedPerson" />
        <targetProfile value="https://fhir.kbv.de/StructureDefinition/KBV_PR_Base_Practitioner" />
        <targetProfile value="https://fhir.kbv.de/StructureDefinition/KBV_PR_Base_PractitionerRole" />
        <targetProfile value="https://fhir.kbv.de/StructureDefinition/KBV_PR_Base_RelatedPerson" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Encounter.period">
      <path value="Encounter.period" />
      <short value="Zeitpunkt des Besuchs" />
      <mustSupport value="true" />
    </element>
    <element id="Encounter.period.start">
      <path value="Encounter.period.start" />
      <mustSupport value="true" />
    </element>
    <element id="Encounter.period.end">
      <path value="Encounter.period.end" />
      <mustSupport value="true" />
    </element>
    <element id="Encounter.diagnosis">
      <path value="Encounter.diagnosis" />
      <short value="Für den Encounter relevante Diagnosen, erweitert durch das Coding vom Diagnosetyp und Diagnosesubtyp im ISiK-Profil, um dahingehend kompatibel zu sein." />
      <mustSupport value="true" />
    </element>
    <element id="Encounter.diagnosis.condition">
      <path value="Encounter.diagnosis.condition" />
      <mustSupport value="true" />
    </element>
    <element id="Encounter.diagnosis.condition.reference">
      <path value="Encounter.diagnosis.condition.reference" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Encounter.diagnosis.use">
      <path value="Encounter.diagnosis.use" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Encounter.diagnosis.use.coding">
      <path value="Encounter.diagnosis.use.coding" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="$this" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Encounter.diagnosis.use.coding:Diagnosetyp">
      <path value="Encounter.diagnosis.use.coding" />
      <sliceName value="Diagnosetyp" />
      <short value="Einweisungs-/Überweisungsdiagnose oder behandlungsrelevante Diagnosen." />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <valueSet value="http://fhir.de/ValueSet/DiagnoseTyp" />
      </binding>
    </element>
    <element id="Encounter.diagnosis.use.coding:DiagnosesubTyp">
      <path value="Encounter.diagnosis.use.coding" />
      <sliceName value="DiagnosesubTyp" />
      <short value="Diagnosesubtyp aus KontaktDiagnoseProzedur und Aufnahme/Entlassdiagnose." />
      <min value="0" />
      <max value="1" />
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <valueSet value="http://fhir.de/ValueSet/Diagnosesubtyp" />
      </binding>
    </element>
    <element id="Encounter.diagnosis.use.coding:DiagnoseSubtypErweitert">
      <path value="Encounter.diagnosis.use.coding" />
      <sliceName value="DiagnoseSubtypErweitert" />
      <short value="Erweiterter Diagnosesubtyp." />
      <min value="0" />
      <max value="*" />
      <mustSupport value="true" />
      <binding>
        <strength value="extensible" />
        <valueSet value="https://tiplu.de/fhir/ValueSet/DiagnoseSubtyp" />
      </binding>
    </element>
    <element id="Encounter.diagnosis.rank">
      <path value="Encounter.diagnosis.rank" />
      <mustSupport value="true" />
    </element>
    <element id="Encounter.account">
      <path value="Encounter.account" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="$this" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="2" />
      <mustSupport value="true" />
    </element>
    <element id="Encounter.account:AmbulanterSchein">
      <path value="Encounter.account" />
      <sliceName value="AmbulanterSchein" />
      <short value="Referenz auf den zugehörigen Schein (Account)." />
      <min value="1" />
      <max value="*" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://tiplu.de/fhir/StructureDefinition/AmbulanterSchein" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Encounter.account:Fallnummer">
      <path value="Encounter.account" />
      <sliceName value="Fallnummer" />
      <short value="Zugehörige Fallnummer." />
      <min value="1" />
      <max value="*" />
      <mustSupport value="true" />
    </element>
    <element id="Encounter.account:Fallnummer.identifier">
      <path value="Encounter.account.identifier" />
      <min value="1" />
      <type>
        <code value="Identifier" />
        <profile value="http://fhir.de/StructureDefinition/identifier-aufnahmenummer" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Encounter.serviceProvider">
      <path value="Encounter.serviceProvider" />
      <short value="Referenz auf die Einrichtung, die verantwortlich für die Aufenthalt bzw. Besuch ist." />
      <mustSupport value="true" />
    </element>
    <element id="Encounter.partOf">
      <path value="Encounter.partOf" />
      <mustSupport value="true" />
    </element>
  </differential>
</StructureDefinition>