ISiKTermin [(Appointment)]https://hl7.org/fhir/R4/appointment.html)


Motivation

Das Datenobjekte ISiKTermin repräsentiert einen gebuchten Termin, sowie einen Terminvorschlag.


Kompatibilität

Siehe Kompatibilität.


FHIR-Profil

NameCanonical
ISiKTerminhttps://gematik.de/fhir/isik/v2/Terminplanung/StructureDefinition/ISiKTermin

idΣ0..1string
id0..1string
extensionI0..*Extension
versionIdΣ0..1id
lastUpdatedΣ0..1instant
sourceΣ0..1uri
profileΣ0..*canonical(StructureDefinition)
securityΣ0..*CodingBinding
SourceS Σ0..1CodingBinding
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
NachrichtS I0..*Extension(Reference(ISiKNachricht))
replacesS I0..1Extension(Reference(Appointment))
modifierExtension?! I0..*Extension
identifierΣ0..*Identifier
statusS Σ ?!1..1codeBinding
cancelationReasonS Σ0..1CodeableConceptBinding
serviceCategoryΣ0..*CodeableConcept
id0..1string
extensionI0..*Extension
codingΣ0..*Coding
textS Σ0..1string
id0..1string
extensionI0..*Extension
FachrichtungS Σ0..1CodingBinding
FachspezialisierungΣ0..1CodingBinding
ErweiterterFachabteilungsschluesselΣ0..1CodingBinding
textΣ0..1string
appointmentTypeΣ0..1CodeableConceptBinding
reasonCodeΣ0..*CodeableConceptBinding
reasonReferenceI0..*Reference(Condition | Procedure | Observation | ImmunizationRecommendation)
id0..1string
PriorityS I0..1Extension(CodeableConcept)
value0..1System.String
description0..1string
supportingInformationI0..*Reference(Resource)
startS Σ1..1instant
endS Σ1..1instant
minutesDuration0..1positiveInt
id0..1string
extensionI0..*Extension
referenceS Σ I1..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
created0..1dateTime
comment0..1string
patientInstructionS0..1string
basedOnI0..*Reference(ServiceRequest)
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
typeΣ0..*CodeableConceptBinding
id0..1string
extensionI0..*Extension
referenceΣ I0..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayS Σ1..1string
requiredΣ0..1codeBinding
statusS Σ1..1codeBinding
periodI0..1Period
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
typeΣ0..*CodeableConceptBinding
id0..1string
extensionI0..*Extension
referenceS Σ I1..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
requiredΣ0..1codeBinding
statusΣ1..1codeBinding
periodI0..1Period
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
typeΣ0..*CodeableConceptBinding
id0..1string
extensionI0..*Extension
referenceS Σ I1..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
requiredΣ0..1codeBinding
statusΣ1..1codeBinding
periodI0..1Period
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
typeΣ0..*CodeableConceptBinding
id0..1string
extensionI0..*Extension
referenceS Σ I1..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
requiredΣ0..1codeBinding
statusΣ1..1codeBinding
periodI0..1Period
requestedPeriodI0..*Period

Folgende FHIRPath-Constraints sind im Profil zu beachten:

keyseverityhumanexpression
ISiK-app-1errorDer Endzeitpunkt eines Termins MUSS nach dem Startzeitpunkt liegenstart <= end

Terminology Bindings

PathNameStrengthURL
Appointment.meta.tagcommon-meta-tag-derequiredhttp://fhir.de/ValueSet/common-meta-tag-de
Appointment.cancelationReasonISiKTerminCancelationReasonrequiredhttps://gematik.de/fhir/isik/v2/Terminplanung/ValueSet/ISiKTerminCancelationReason
Appointment.specialty.codinghe-d.de/ValueSets/IHEXDSpracticeSettingCoderequiredhttp://ihe-d.de/ValueSets/IHEXDSpracticeSettingCode
Appointment.specialty.codinghe-d.de/ValueSets/IHEXDSauthorSpecialityrequiredhttp://ihe-d.de/ValueSets/IHEXDSauthorSpeciality
Appointment.specialty.codingdkgev/Fachabteilungsschluessel-erweitertrequiredhttp://fhir.de/ValueSet/dkgev/Fachabteilungsschluessel-erweitert

Anmerkungen zu Must-Support-Feldern

Appointment.meta.tag

Bedeutung: Herkunft der Termins

Hinweis: Angabe, ob der Termin durch einen externen Termin Requestor eingestellt wurde. Falls das Datenobjekt dauerhaft in das Termin Repository gespeichert wird, KANN der Tag entfernt werden. Für die weitere Prozesssteuerung kann eine Unterscheidung, ob es sich um einen intern oder extern erstellten Termin handelt, notwendig sein, sodass aus Gründen der Nachvollziehbarkeit der Tag bestehen bleiben sollte. Des Weiteren gelten die Vorgaben des ISiK Basismoduls zur CREATE-Interaktion.

Appointment.extension:Nachricht

Bedeutung: Kommunikation mit dem Patienten

Hinweis: Für die Kommunikation mit dem Patienten sind Communication-Ressourcen zu verwenden. Für den Termin relevante Kommentare oder Anhänge MÜSSEN angegeben werden. Zudem kann die Communication-Ressource auch für die Kommunikation zwischen Leistungserbringer verwendet werden. Es ist zu beachten, dass in diesem Fall Kommentare vor der Herausgabe an die Patient:in gefiltert werden sollten.

Appointment.extension:replaces

Bedeutung: Angabe eines abgesagten / verschobenen Termins

Hinweis: Im Falle, dass per $book-Operation ein verschobener / abgesagter Termin angegeben wird, MUSS dieser für die Rückverfolgbarkeit referenziert werden.

Appointment.status

Bedeutung: Differenzierung zwischen Terminwunsch und gebuchten Termin

Hinweis: Ein Termin Requestor kann im Status entsprechend wählen, sodass der Termin als Terminwunsch zu interpretieren ist. Nachdem der Termin bestätigt wurde, ist der Terminstatus durch das Termin-Repository anzupassen.

Alle Statuswerte MÜSSEN durch ein bestätigungsrelevantes System unterstützt werden, insbesondere der Status "proposed" und "booked".

Appointment.cancelationReason

Bedeutung: Grund für die Absage eines Termins

Hinweis: Eine minimale Kodierung MUSS mittels des vorgeschlagenen Bindings vorliegen. Differenzierungen mit feinerer Granularität können durch weitere Codings erfolgen.

Appointment.serviceType

Bedeutung: Kodierung der Behandlungsleistung des Termins

Hinweis: Dies SOLLTE der Kodierung des serviceType eines Schedules entsprechen, der innerhalb des Termins gebucht wird.

Appointment.specialty

Bedeutung: Kodierung der Fachrichtung des Termins

Hinweis: Dies SOLLTE der Kodierung des specialty des Schedules entsprechend, der innerhalb des Termins gebucht wird.

Appointment.priority.extension:Priority

Bedeutung: Kodierte Angabe der Priorität des Termins

Hinweis: Anstelle der numerischen Priorität MUSS in ISiK eine kodierte Priorität angegeben werden.

Appointment.start

Bedeutung: Startzeitpunkt des Termins

Hinweis: Dies MUSS dem Startzeitpunkt des ersten Slots eines Termins entsprechen

Appointment.end

Bedeutung: Endzeitpunkt des Termins

Hinweis: Dies MUSS dem Endzeitpunkt des letzten Slots eines Termins entsprechen

Appointment.slot

Bedeutung: Referenzierung der Slots für die Verknüpfung des Termins mit einem Schedule

Hinweis: Die Referenzierung des Schedules kann durch einen oder mehrere Slots erfolgen. Falls mehrere Slots referenziert werden, MÜSSEN diese den gleichen Schedule referenzieren. Es kann keine Reihenfolge durch die Angabe der Slots abgeleitet werden.

Hinweis: In der Vergangenheit liegende Slots, welche nicht verknüpft wurden, dürfen nicht mehr abrufbar sein. Jegliche andere Slots müssen auch per id, herausgegeben werden. Sobald die id einmalig per Search herausgeben wurde, müssen diese gleichbleibend abrufbar sein.

Appointment.patientInstruction

Bedeutung: Handlungsanweisungen für die Patienten in Vorbereitung auf den Termin

Appointment.participant

Bedeutung: TeilnehmerInnen des Termins

Hinweis: Mindestens eine Patient-Referenz MUSS angegeben werden. Dies MUSS durch das Termin-Repository während der Buchung des Termins geprüft werden. Weitere Leistungserbringer KÖNNEN angegeben werden.


Interaktionen

Für die Ressource Appointment MÜSSEN die REST-Interaktionen "READ" und "PATCH" implementiert werden.

  1. Der Suchparameter "_id" MUSS unterstützt werden:

    Beispiele:

    GET [base]/Appointment?_id=103270

    Anwendungshinweise: Weitere Informationen zur Suche nach "_id" finden sich in der [FHIR-Basisspezifikation - Abschnitt "Parameters for all resources"]https://hl7.org/fhir/R4/search.html#all).

  2. Der Suchparameter "status" MUSS unterstützt werden:

    Beispiele:

    GET [base]/Appointment?status=booked

    Anwendungshinweise: Weitere Informationen zur Suche nach "Appointment.status" finden sich in der [FHIR-Basisspezifikation - Abschnitt "Token Search"]https://hl7.org/fhir/R4/search.html#token).

  3. Der Suchparameter "service-type" MUSS unterstützt werden:

    Beispiele:

    GET [base]/Appointment?service-type=http://example.org/fhir/CodeSystem/ScheduleServiceType|CT

    Anwendungshinweise: Weitere Informationen zur Suche nach "Schedule.serviceType" finden sich in der [FHIR-Basisspezifikation - Abschnitt "Token Search"]https://hl7.org/fhir/R4/search.html#token).

  4. Der Suchparameter "specialty" MUSS unterstützt werden:

    Beispiele:

    GET [base]/Appointment?specialty=urn:oid:1.2.276.0.76.5.114|535

    Anwendungshinweise: Weitere Informationen zur Suche nach "Appointment.specialty" finden sich in der [FHIR-Basisspezifikation - Abschnitt "Token Search"]https://hl7.org/fhir/R4/search.html#token).

  5. Der Suchparameter "date" MUSS unterstützt werden:

    Beispiele:

    GET [base]/Appointment?date=2022-12-10T09:00:00Z

    Anwendungshinweise: Weitere Informationen zur Suche nach "Appointment.start" finden sich in der [FHIR-Basisspezifikation - Abschnitt "Date Search"]https://hl7.org/fhir/R4/search.html#date).

  6. Der Suchparameter "slot" MUSS unterstützt werden:

    Beispiele:

    GET [base]/Appointment?slot=Slot/ISiKSlotExample

    Anwendungshinweise: Weitere Informationen zur Suche nach "Appointment.slot" finden sich in der [FHIR-Basisspezifikation - Abschnitt "reference"]https://hl7.org/fhir/R4/search.html#reference).

  7. Der Suchparameter "actor" MUSS unterstützt werden:

    Beispiele:

    GET [base]/Appointment?actor=Patient/ISiKPatientExample

    Anwendungshinweise: Weitere Informationen zur Suche nach "Appointment.participant.actor" finden sich in der [FHIR-Basisspezifikation - Abschnitt "reference"]https://hl7.org/fhir/R4/search.html#reference).


Beispiele

{
    "resourceType": "Appointment",
    "id": "ISiKTerminExample",
    "meta": {
        "tag":  [
            {
                "code": "external",
                "system": "http://fhir.de/CodeSystem/common-meta-tag-de"
            }
        ],
        "profile":  [
            "https://gematik.de/fhir/isik/v2/Terminplanung/StructureDefinition/ISiKTermin"
        ]
    },
    "extension":  [
        {
            "url": "https://gematik.de/fhir/isik/v2/Terminplanung/StructureDefinition/ISiKNachrichtExtension",
            "valueReference": {
                "reference": "Communication/ISiKNachrichtExample"
            }
        }
    ],
    "status": "proposed",
    "start": "2022-12-10T09:00:00Z",
    "end": "2022-12-10T09:30:00Z",
    "slot":  [
        {
            "reference": "Slot/ISiKTerminblockExample"
        }
    ],
    "serviceType":  [
        {
            "coding":  [
                {
                    "code": "124",
                    "system": "http://terminology.hl7.org/CodeSystem/service-type"
                }
            ]
        }
    ],
    "specialty":  [
        {
            "coding":  [
                {
                    "code": "ALLG",
                    "system": "http://ihe-d.de/CodeSystems/AerztlicheFachrichtungen"
                }
            ]
        }
    ],
    "participant":  [
        {
            "actor": {
                "display": "Test Patient",
                "reference": "Patient/example"
            },
            "status": "accepted"
        }
    ],
    "_priority": {
        "extension":  [
            {
                "url": "https://gematik.de/fhir/isik/v2/Terminplanung/StructureDefinition/ISiKTerminPriorityExtension",
                "valueCodeableConcept": {
                    "coding":  [
                        {
                            "code": "25876001",
                            "system": "http://snomed.info/sct"
                        }
                    ]
                }
            }
        ]
    }
}