<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="FinnishSchedulingAppointment" />
  <url value="http://hl7.fi/fhir/StructureDefinition/FinnishSchedulingAppointment" />
  <name value="FinnishSchedulingAppointment" />
  <status value="draft" />
  <description value="Profile for appointment (ajanvaraus) in Finnish Scheduling environment. The contents is based on the scheduling appointment spefication." />
  <fhirVersion value="4.0.0" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Appointment" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Appointment" />
  <derivation value="constraint" />
  <differential>
    <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:ServiceEvent">
      <path value="Appointment.extension" />
      <sliceName value="ServiceEvent" />
      <requirements value="22 Palvelutapahtuman tunniste" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.fi/fhir/StructureDefinition/ServiceEventExt" />
      </type>
    </element>
    <element id="Appointment.extension:TopicId">
      <path value="Appointment.extension" />
      <sliceName value="TopicId" />
      <requirements value="23 Asian tunniste" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.fi/fhir/StructureDefinition/TopicIdExt" />
      </type>
    </element>
    <element id="Appointment.extension:QueueNo">
      <path value="Appointment.extension" />
      <sliceName value="QueueNo" />
      <requirements value="82 Jonotusnumero" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.fi/fhir/StructureDefinition/QueueNoExt" />
      </type>
    </element>
    <element id="Appointment.extension:TicketNo">
      <path value="Appointment.extension" />
      <sliceName value="TicketNo" />
      <requirements value="101 Tikettinumero" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.fi/fhir/StructureDefinition/TicketNoExt" />
      </type>
    </element>
    <element id="Appointment.extension:VisibleToCustodian">
      <path value="Appointment.extension" />
      <sliceName value="VisibleToCustodian" />
      <requirements value="59 Ajanvarauksen tietojen näyttäminen huoltajalle" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.fi/fhir/StructureDefinition/VisibleToCustodian" />
      </type>
    </element>
    <element id="Appointment.extension:CustomerJourney">
      <path value="Appointment.extension" />
      <sliceName value="CustomerJourney" />
      <requirements value="20 Asiakaspolun tunniste&#xD;&#xA;20.1 Asiakaspolun nimi" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.fi/fhir/StructureDefinition/CustomerJourneyExtension" />
      </type>
    </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:SelfServiceExtension">
      <path value="Appointment.extension" />
      <sliceName value="SelfServiceExtension" />
      <requirements value="84 AsiointiURL&#xD;&#xA;84.1 Järjestelmä tukee alaikäisen puolesta asiointia&#xD;&#xA;84.2 Järjestelmä tukee puolesta-asiointia valtakirjalla täysi-ikäisen puolesta&#xD;&#xA;84.3 Järjestelmä tukee rekisteripohjaista puolesta-asiointia täysi-ikäisen puolesta" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.fi/fhir/StructureDefinition/SelfServiceExtension" />
      </type>
    </element>
    <element id="Appointment.extension:ResourceCalendar">
      <path value="Appointment.extension" />
      <sliceName value="ResourceCalendar" />
      <requirements value="74 Resurssin kalenteritunniste&#xD;&#xA;75 Resurssin nimi" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.fi/fhir/StructureDefinition/ResourceCalendarIdExtension" />
      </type>
    </element>
    <element id="Appointment.extension:ResourceCalendar.extension:ResourceCalendarName">
      <path value="Appointment.extension.extension" />
      <sliceName value="ResourceCalendarName" />
      <max value="1" />
    </element>
    <element id="Appointment.extension:ReferralId">
      <path value="Appointment.extension" />
      <sliceName value="ReferralId" />
      <requirements value="24 Ajanvaraukseen liittyvän lähetteen tai pyynnön tunniste" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.fi/fhir/StructureDefinition/ReferralIdExtension" />
      </type>
    </element>
    <element id="Appointment.extension:RequestedService">
      <path value="Appointment.extension" />
      <sliceName value="RequestedService" />
      <requirements value="73 Varaustuote&#xD;&#xA;73.1 Varaustuotteen nimi" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.fi/fhir/StructureDefinition/RequestedServiceExtension" />
      </type>
    </element>
    <element id="Appointment.extension:MiscAppointmentData">
      <path value="Appointment.extension" />
      <sliceName value="MiscAppointmentData" />
      <requirements value="91 Muu sisältö" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.fi/fhir/StructureDefinition/MiscAppointmentDataExtension" />
      </type>
    </element>
    <element id="Appointment.extension:PractitionerGender">
      <path value="Appointment.extension" />
      <sliceName value="PractitionerGender" />
      <requirements value="93 Palvelun toteuttajan sukupuoli" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.fi/fhir/StructureDefinition/PractitionerGenderExtension" />
      </type>
    </element>
    <element id="Appointment.extension:NotificationMedium">
      <path value="Appointment.extension" />
      <sliceName value="NotificationMedium" />
      <requirements value="94 Muistutuksen tapa" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.fi/fhir/StructureDefinition/NotificationMediumExtension" />
      </type>
    </element>
    <element id="Appointment.extension:CareGuarantee">
      <path value="Appointment.extension" />
      <sliceName value="CareGuarantee" />
      <requirements value="97 Hoitotakuu" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.fi/fhir/StructureDefinition/CareGuaranteeExtension" />
      </type>
    </element>
    <element id="Appointment.extension:AdditionalInformationURL">
      <path value="Appointment.extension" />
      <sliceName value="AdditionalInformationURL" />
      <requirements value="98 Lisätietojen osoite" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.fi/fhir/StructureDefinition/AdditionalInformationURLExtension" />
      </type>
    </element>
    <element id="Appointment.extension:CarePlan">
      <path value="Appointment.extension" />
      <sliceName value="CarePlan" />
      <requirements value="17 Ajanvaraukseen liittyvän suunnitelman tunniste" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.fi/fhir/StructureDefinition/CareplanIdentifierExtension" />
      </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.identifier">
      <path value="Appointment.identifier" />
      <definition value="hl7fi: 18 Ajanvarauksen tunniste - mandatory, not recurring&#xD;&#xA;&#xD;&#xA;This records identifiers associated with this appointment concern that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation)." />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Appointment.identifier.use">
      <path value="Appointment.identifier.use" />
      <max value="0" />
    </element>
    <element id="Appointment.identifier.type">
      <path value="Appointment.identifier.type" />
      <max value="0" />
    </element>
    <element id="Appointment.identifier.value">
      <path value="Appointment.identifier.value" />
      <min value="1" />
    </element>
    <element id="Appointment.identifier.period">
      <path value="Appointment.identifier.period" />
      <max value="0" />
    </element>
    <element id="Appointment.identifier.assigner">
      <path value="Appointment.identifier.assigner" />
      <max value="0" />
    </element>
    <element id="Appointment.status">
      <path value="Appointment.status" />
      <comment value="hl7fi: Requires mapping to Ajanvarauksen tila -koodistoon (1.2.246.537.6.881.201501). Other mappings ok apart from &quot;siirretty&quot; (entered-in-error?) ja &quot;suunniteltu&quot;. &#xD;&#xA;&#xD;&#xA;If the Appointment's status is &quot;cancelled&quot; then all participants are expected to have their calendars released for the appointment period, and as such any Slots that were marked as BUSY can be re-set to FREE.&#xA;&#xA;This element is labeled as a modifier because the status contains the code entered-in-error that mark the Appointment as not currently valid." />
      <requirements value="19 Ajanvarauksen tila" />
      <mapping>
        <identity value="finnishcodeset" />
        <map value="urn:oid:1.2.246.537.6.881.201501" />
        <comment value="not a direct mapping for &quot;siirretty&quot; and &quot;suunniteltu&quot;" />
      </mapping>
    </element>
    <element id="Appointment.cancelationReason">
      <path value="Appointment.cancelationReason" />
      <requirements value="19.1 Ajanvarauksen perumisen tai siirtämisen syy&#xD;&#xA;&#xD;&#xA;Mandatory, if cancellation status is equivalent to &quot;Siirretty&quot; or &quot;Peruttu&quot;" />
    </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" />
      <requirements value="71.1 Palvelun luokka" />
      <max value="1" />
    </element>
    <element id="Appointment.serviceCategory.coding.system">
      <path value="Appointment.serviceCategory.coding.system" />
      <short value="AR/YDIN - Palvelutapahtumaluokitus" />
      <definition value="hl7fi: koodilla ilmaistu tieto palveluluokasta, johon ajanvaraus kohdistuu Huom. Palveluluokka ilmaistaan THL - Sosiaali- ja terveyspalvelujen luokituksen avulla." />
      <fixedUri value="urn:oid:1.2.246.537.6.88.2008" />
    </element>
    <element id="Appointment.serviceType">
      <path value="Appointment.serviceType" />
      <requirements value="71 Palvelun nimi" />
      <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.specialty">
      <path value="Appointment.specialty" />
      <max value="0" />
    </element>
    <element id="Appointment.appointmentType">
      <path value="Appointment.appointmentType" />
      <requirements value="72 Asiointitapa" />
    </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.reasonCode">
      <path value="Appointment.reasonCode" />
      <slicing>
        <discriminator>
          <type value="exists" />
          <path value="coding" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Appointment.reasonCode:sliceSisaltotarkenne">
      <path value="Appointment.reasonCode" />
      <sliceName value="sliceSisaltotarkenne" />
      <definition value="hl7fi: 85 Varauksen sisältötarkenne, koodilla ilmaistu tarkentava tieto palvelun sisällöstä Huom. Tarkenteeksi voi valita useamman kuin yhden koodin, ja koodit voivat kuvata esimerkiksi sitä, mitä kuvantamis- tai laboratoriotutkimuksia tai toimenpiteitä suoritetaan." />
      <requirements value="85 Varauksen sisältötarkenne" />
    </element>
    <element id="Appointment.reasonCode:sliceSisaltotarkenne.coding">
      <path value="Appointment.reasonCode.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Appointment.reasonCode:sliceSisaltotarkenne.coding.version">
      <path value="Appointment.reasonCode.coding.version" />
      <max value="0" />
    </element>
    <element id="Appointment.reasonCode:sliceSisaltotarkenne.coding.userSelected">
      <path value="Appointment.reasonCode.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Appointment.reasonCode:sliceSisaltotarkenne.text">
      <path value="Appointment.reasonCode.text" />
      <max value="0" />
    </element>
    <element id="Appointment.reasonCode:slicePalvelutarve">
      <path value="Appointment.reasonCode" />
      <sliceName value="slicePalvelutarve" />
      <definition value="hl7fi: 76 Palvelutarve vapaamuotoisena tekstinä ilmaistu tieto asiakkaan palvelutarpeesta Huom. Palvelutarve kuvataan tasolla, jolla henkilön palveluiden tarve voidaan kuvata yhteisellä termillä, esim. raskausajan seuranta ja tuki." />
      <requirements value="76 Palvelutarve" />
      <max value="1" />
    </element>
    <element id="Appointment.reasonCode:slicePalvelutarve.coding">
      <path value="Appointment.reasonCode.coding" />
      <max value="0" />
    </element>
    <element id="Appointment.reasonCode:slicePalvelutarve.text">
      <path value="Appointment.reasonCode.text" />
      <min value="1" />
    </element>
    <element id="Appointment.reasonReference">
      <path value="Appointment.reasonReference" />
      <requirements value="56 kuvaus oireista/vaivasta ja &#xD;&#xA;57 riskitiedot (Condition/Note)" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Condition" />
        <aggregation value="contained" />
      </type>
    </element>
    <element id="Appointment.reasonReference.type">
      <path value="Appointment.reasonReference.type" />
      <fixedUri value="Condition" />
    </element>
    <element id="Appointment.reasonReference.identifier">
      <path value="Appointment.reasonReference.identifier" />
      <max value="0" />
    </element>
    <element id="Appointment.reasonReference.display">
      <path value="Appointment.reasonReference.display" />
      <max value="0" />
    </element>
    <element id="Appointment.priority">
      <path value="Appointment.priority" />
      <max value="0" />
    </element>
    <element id="Appointment.description">
      <path value="Appointment.description" />
      <max value="0" />
    </element>
    <element id="Appointment.supportingInformation">
      <path value="Appointment.supportingInformation" />
      <max value="0" />
    </element>
    <element id="Appointment.start">
      <path value="Appointment.start" />
      <requirements value="86 Aikaväli" />
    </element>
    <element id="Appointment.end">
      <path value="Appointment.end" />
      <requirements value="86 Aikaväli" />
    </element>
    <element id="Appointment.minutesDuration">
      <path value="Appointment.minutesDuration" />
      <max value="0" />
    </element>
    <element id="Appointment.created">
      <path value="Appointment.created" />
      <requirements value="38 Merkinnän kirjausaika" />
    </element>
    <element id="Appointment.comment">
      <path value="Appointment.comment" />
      <short value="hl7fi: asiakkaalle tai ajanvarauksen katselijalle tarkoitettu vapaamuotoinen lisätieto" />
      <definition value="hl7fi: asiakkaalle tai ajanvarauksen katselijalle tarkoitettu vapaamuotoinen lisätieto" />
      <requirements value="99 Huomautukset" />
    </element>
    <element id="Appointment.patientInstruction">
      <path value="Appointment.patientInstruction" />
      <short value="hl7fi: vapaamuotoisena tekstinä ilmaistu potilasohje" />
      <definition value="hl7fi: vapaamuotoisena tekstinä ilmaistu potilasohje, joka tarjoaa asiakkaalle tietoa esimerkiksi sairaudesta, tutkimuksista, hoidoista, toimenpiteisiin valmistautumisesta, jälkihoidosta, itsehoidosta, toipumisesta, sairauden kulusta ja sairauden ennusteesta Huom. Potilasohje voi olla esim. Käypä hoito -suositus tai yleinen sairaalan antama ohje, joka voi olla myös yksikkökohtainen." />
      <requirements value="100 Potilasohje" />
    </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" />
      <requirements value="100.1 Linkki potilasohjeeseen" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.fi/fhir/StructureDefinition/PatientInstructionURLExtension" />
      </type>
    </element>
    <element id="Appointment.basedOn">
      <path value="Appointment.basedOn" />
      <max value="0" />
    </element>
    <element id="Appointment.requestedPeriod">
      <path value="Appointment.requestedPeriod" />
      <requirements value="35 Ajankohta, jolloin ajanvaraus ohjeistettu tehtäväksi" />
      <max value="1" />
    </element>
  </differential>
</StructureDefinition>