<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="test-digidot-Encounter-no" />
  <url value="http://novari.no/fhir/digidot/StructureDefinition/test-digidot-Encounter-no" />
  <version value="0.1.0-test" />
  <name value="TestDigidotEncounterNo" />
  <title value="TEST DigiDot Encounter (NO)" />
  <status value="draft" />
  <date value="2026-05-19" />
  <publisher value="Novari AS - DigiDOT" />
  <description value="TEST comparison draft. Not for production use. DigiDOT profile for actual dental contacts. The profile connects clinical activity to patient, provider, location, optional appointment, optional planned service and the health group snapshot used for payment context." />
  <purpose value="Use this profile as the anchor for actual dental contacts. It connects patient, actors, location, organization, appointment, plan or recall, episode and the health group/payment category snapshot." />
  <fhirVersion value="4.0.1" />
  <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" />
      <constraint>
        <key value="enc-participant-pprf-one" />
        <severity value="warning" />
        <human value="At least one participant should have type PPRF." />
        <expression value="participant.where(type.coding.where(system='http://terminology.hl7.org/CodeSystem/v3-ParticipationType' and code='PPRF').exists()).exists()" />
      </constraint>
      <constraint>
        <key value="enc-participant-individual-one" />
        <severity value="error" />
        <human value="At least one participant should have individual (Practitioner or PractitionerRole)." />
        <expression value="participant.where(individual.exists()).exists()" />
      </constraint>
    </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:helsegruppe">
      <path value="Encounter.extension" />
      <sliceName value="helsegruppe" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://novari.no/fhir/digidot/StructureDefinition/test-digidot-Helsegruppe-no" />
      </type>
    </element>
    <element id="Encounter.extension:helsegruppe.url">
      <path value="Encounter.extension.url" />
      <fixedUri value="http://novari.no/fhir/digidot/StructureDefinition/test-digidot-Helsegruppe-no" />
    </element>
    <element id="Encounter.identifier">
      <path value="Encounter.identifier" />
      <min value="1" />
    </element>
    <element id="Encounter.type">
      <path value="Encounter.type" />
      <max value="1" />
      <binding>
        <strength value="preferred" />
        <description value="Use DigiDOT contact type codes when a suitable concept exists. Keep this preferred while county and supplier contact type semantics are still being clarified." />
        <valueSet value="http://novari.no/fhir/digidot/ValueSet/test-digidot-contact-type" />
      </binding>
    </element>
    <element id="Encounter.subject">
      <path value="Encounter.subject" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.no/fhir/StructureDefinition/no-basis-Patient" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Patient" />
      </type>
    </element>
    <element id="Encounter.episodeOfCare">
      <path value="Encounter.episodeOfCare" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://novari.no/fhir/digidot/StructureDefinition/test-digidot-EpisodeOfCare-no" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/EpisodeOfCare" />
      </type>
    </element>
    <element id="Encounter.basedOn">
      <path value="Encounter.basedOn" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://novari.no/fhir/digidot/StructureDefinition/test-digidot-RecallServiceRequest-no" />
        <targetProfile value="http://novari.no/fhir/digidot/StructureDefinition/test-digidot-ServiceRequest-no" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/ServiceRequest" />
      </type>
    </element>
    <element id="Encounter.participant">
      <path value="Encounter.participant" />
      <min value="1" />
    </element>
    <element id="Encounter.participant.individual">
      <path value="Encounter.participant.individual" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.no/fhir/StructureDefinition/no-basis-Practitioner" />
        <targetProfile value="http://hl7.no/fhir/StructureDefinition/no-basis-PractitionerRole" />
        <targetProfile value="http://hl7.no/fhir/StructureDefinition/no-basis-RelatedPerson" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Practitioner" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/PractitionerRole" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/RelatedPerson" />
      </type>
    </element>
    <element id="Encounter.appointment">
      <path value="Encounter.appointment" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.no/fhir/StructureDefinition/no-basis-Appointment" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Appointment" />
      </type>
    </element>
    <element id="Encounter.reasonReference">
      <path value="Encounter.reasonReference" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://novari.no/fhir/digidot/StructureDefinition/test-digidot-Condition-no" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Condition" />
        <targetProfile value="http://novari.no/fhir/digidot/StructureDefinition/test-digidot-Procedure-no" />
        <targetProfile value="http://hl7.no/fhir/StructureDefinition/no-basis-Procedure" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Procedure" />
        <targetProfile value="http://novari.no/fhir/digidot/StructureDefinition/test-digidot-Observation-no" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Observation" />
      </type>
    </element>
    <element id="Encounter.location">
      <path value="Encounter.location" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Encounter.location.location">
      <path value="Encounter.location.location" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.no/fhir/StructureDefinition/no-basis-Location" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Location" />
      </type>
    </element>
    <element id="Encounter.serviceProvider">
      <path value="Encounter.serviceProvider" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.no/fhir/StructureDefinition/no-basis-Organization" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization" />
      </type>
    </element>
    <element id="Encounter.partOf">
      <path value="Encounter.partOf" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://novari.no/fhir/digidot/StructureDefinition/test-digidot-Encounter-no" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Encounter" />
      </type>
    </element>
  </differential>
</StructureDefinition>