<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="a5f4b52f-896d-4c6c-b8d2-8467617f60f7" />
  <meta>
    <lastUpdated value="2021-03-08T11:46:16.290+00:00" />
  </meta>
  <url value="http://hl7.fi/fhir/StructureDefinition/FinnishAppointmentAppointment" />
  <name value="FinnishAppointmentAppointment" />
  <status value="draft" />
  <date value="2021-03-08T11:24:08.3858157+00:00" />
  <description value="Profile for appointment (ajanvaraus) in Finnish Scheduling environment. The contents is based on the scheduling appointment spefication." />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Appointment" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Appointment" />
  <derivation value="constraint" />
  <differential>
    <element id="Appointment">
      <path value="Appointment" />
      <constraint>
        <key value="app-4" />
        <severity value="error" />
        <human value="Cancel reason is mandatory, if status is &quot;siirretty&quot; or &quot;peruttu&quot;" />
        <expression value="(Appointment.status='siirretty' or Appointment.status='peruttu') implies Appointment.cancelationReason.exists()" />
        <source value="http://hl7.fi/fhir/StructureDefinition/FinnishAppointmentAppointment" />
      </constraint>
    </element>
    <element id="Appointment.extension">
      <path value="Appointment.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Appointment.extension:ParentAppointment">
      <path value="Appointment.extension" />
      <sliceName value="ParentAppointment" />
      <requirements value="12 Pääajanvaraus" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.fi/fhir/StructureDefinition/ParentAppointment" />
      </type>
    </element>
    <element id="Appointment.extension:AppointmentMutability">
      <path value="Appointment.extension" />
      <sliceName value="AppointmentMutability" />
      <requirements value="95 Peruttavissa&#xD;&#xA;96 Siirrettävissä&#xD;&#xA;96.1 Peruutuksen tai siirron aikaraja" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.fi/fhir/StructureDefinition/AppointmentMutabilityExtension" />
      </type>
    </element>
    <element id="Appointment.extension:NotificationInfoExtension">
      <path value="Appointment.extension" />
      <sliceName value="NotificationInfoExtension" />
      <type>
        <code value="Extension" />
        <profile value="http://example.org/fhir/StructureDefinition/NotificationInfoExtension" />
      </type>
    </element>
    <element id="Appointment.extension:ChildAppointment">
      <path value="Appointment.extension" />
      <sliceName value="ChildAppointment" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.fi/fhir/StructureDefinition/ChildAppointment" />
      </type>
    </element>
    <element id="Appointment.status">
      <path value="Appointment.status" />
      <short value="suunniteltu | tilattu | varattu | peruttu | siirretty | alkanut | toteutunut | ehdotettu | saapumatta" />
      <binding>
        <strength value="required" />
        <valueSet value="https://koodistopalvelu.kanta.fi/codeserver/pages/classification-view-page.xhtml?classificationKey=1943&amp;versionKey=2203" />
      </binding>
    </element>
    <element id="Appointment.cancelationReason.coding.system">
      <path value="Appointment.cancelationReason.coding.system" />
      <short value="THL - Palvelutapahtuman peruuntumisen tai siirtymisen syy" />
      <fixedUri value="urn:oid:1.2.246.537.6.126.2008" />
    </element>
    <element id="Appointment.serviceCategory">
      <path value="Appointment.serviceCategory" />
      <max value="1" />
    </element>
    <element id="Appointment.serviceCategory.coding.system">
      <path value="Appointment.serviceCategory.coding.system" />
      <short value="THL - Sosiaali- ja terveyspalvelujen luokitus" />
      <fixedUri value="urn:oid:1.2.246.537.6.50.201801" />
    </element>
    <element id="Appointment.serviceType">
      <path value="Appointment.serviceType" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Appointment.serviceType.coding.system">
      <path value="Appointment.serviceType.coding.system" />
      <short value="THL - Sosiaali- ja terveysalan palvelunimikkeistö" />
      <comment value="hl7fi: koodilla ilmaistu tieto palvelusta, johon ajanvaraus kohdistuu Huom. Palvelun nimi ilmaistaan THL - Sosiaali- ja terveysalan palvelunimikkeistön avulla.&#xD;&#xA;&#xD;&#xA;The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...).  OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should reference to some definition that establishes the system clearly and unambiguously." />
      <requirements value="71 Palvelun nimi" />
      <fixedUri value="urn:oid:1.2.246.537.6.49.201501" />
    </element>
    <element id="Appointment.appointmentType.coding.system">
      <path value="Appointment.appointmentType.coding.system" />
      <short value="hl7fi: asiointitapa" />
      <definition value="hl7fi: koodilla ilmaistu tieto ammattihenkilön ja asiakkaan välisen asioinnin tavasta" />
      <fixedUri value="1.2.246.537.6.884.2015" />
    </element>
    <element id="Appointment.patientInstruction.extension">
      <path value="Appointment.patientInstruction.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Appointment.patientInstruction.extension:PatientInstructionURL">
      <path value="Appointment.patientInstruction.extension" />
      <sliceName value="PatientInstructionURL" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.fi/fhir/StructureDefinition/PatientInstructionURLExtension" />
      </type>
    </element>
    <element id="Appointment.participant">
      <path value="Appointment.participant" />
      <label value="Patient" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="actor.type" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Appointment.participant:patientParticipant">
      <path value="Appointment.participant" />
      <sliceName value="patientParticipant" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Appointment.participant:patientParticipant.type">
      <path value="Appointment.participant.type" />
      <fixedCodeableConcept>
        <coding>
          <system value="http://terminology.hl7.org/CodeSystem/v3-ParticipationType" />
          <code value="SBJ" />
        </coding>
      </fixedCodeableConcept>
    </element>
    <element id="Appointment.participant:patientParticipant.actor.type">
      <path value="Appointment.participant.actor.type" />
      <fixedUri value="Patient" />
    </element>
    <element id="Appointment.requestedPeriod">
      <path value="Appointment.requestedPeriod" />
      <max value="1" />
    </element>
  </differential>
</StructureDefinition>