ISiKTermin (Appointment)


Motivation

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


Kompabilität

Siehe Kompabilität.


FHIR-Profil

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

versionIdΣ0..1id
lastUpdatedΣ0..1instant
sourceΣ0..1uri
profileΣ0..*canonical(StructureDefinition)
securityΣ0..*CodingBinding
SourceS Σ0..1CodingBinding
NachrichtS I0..*Extension(Reference(ISiKNachricht))
replacesS I0..1Extension(Reference(Appointment))
identifierΣ0..*Identifier
statusS Σ ?!1..1codeBinding
cancelationReasonS Σ0..1CodeableConceptBinding
serviceCategoryΣ0..*CodeableConcept
serviceTypeS Σ1..*CodeableConcept
FachrichtungS Σ1..1CodeableConceptBinding
appointmentTypeΣ0..1CodeableConceptBinding
reasonCodeΣ0..*CodeableConceptBinding
reasonReferenceI0..*Reference(Condition | Procedure | Observation | ImmunizationRecommendation)
PriorityS I0..1Extension(CodeableConcept)
description0..1string
supportingInformationI0..*Reference(Resource)
startS Σ1..1instant
endS Σ1..1instant
minutesDuration0..1positiveInt
slotS I0..*Reference(Slot)
created0..1dateTime
comment0..1string
patientInstructionS0..1string
basedOnI0..*Reference(ServiceRequest)
typeΣ0..*CodeableConceptBinding
referenceΣ I0..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayS Σ1..1string
requiredΣ0..1codeBinding
statusS Σ1..1codeBinding
periodI0..1Period
typeΣ0..*CodeableConceptBinding
referenceS Σ I1..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
requiredΣ0..1codeBinding
statusΣ1..1codeBinding
periodI0..1Period
typeΣ0..*CodeableConceptBinding
referenceS Σ I1..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
requiredΣ0..1codeBinding
statusΣ1..1codeBinding
periodI0..1Period
typeΣ0..*CodeableConceptBinding
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 sollte 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.specialtyhe-d.de/ValueSets/IHEXDSauthorSpecialityrequiredhttp://ihe-d.de/ValueSets/IHEXDSauthorSpeciality

Anmerkungen zu Must-Support-Feldern

Appointment.meta.tag

Bedeutung: Herkunft der Termnins

Hinweis: Angabe, ob der Termin durch einen externen Termin Requestor eingestellt wurde. Falls das Datenobjekt dauerhaft in das Termin Repository gespeichert wird, MUSS der Tag entfernt werden. 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 Patien: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 Terminrepository anzupassen.

Alle Statuswerte MÜSSEN durch ein bestätigungsrelevantes System unterstüzt 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. Granularere Differenzierungen 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 MUSS die REST-Interaktion "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".

  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".

  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".

  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".

  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".

  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".

  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".


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-10T11:00:00Z",
    "slot":  [
        {
            "reference": "ISiKSlotExample"
        }
    ],
    "comment": "Dies ist ein Test Kommentar!",
    "serviceType":  [
        {
            "coding":  [
                {
                    "code": "124",
                    "system": "http://terminology.hl7.org/CodeSystem/service-type"
                }
            ]
        }
    ],
    "specialty":  [
        {
            "coding":  [
                {
                    "code": "010",
                    "system": "urn:oid:1.2.276.0.76.5.114"
                }
            ]
        }
    ],
    "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"
                        }
                    ]
                }
            }
        ]
    }
}