samedi HL7gateway

Version 1.37.0

SIU

Scheduling Information Unsolicited

Terminupdates werden innerhalb weniger Sekunden nach der Buchung in samedi als HL7-Nachrichten von der Schnittstelle versendet.

Versendete Nachrichten

SIU^S12

Wird versandt, wenn ein neuer Termin in den samedi-Kalender gebucht wird.

Feld Inhalt Kommentar
SCH
SCH-2-1 (Placer Appointment ID) Termin-ID in samedi
SCH-8-1 (Appointment Type) Terminart-ID in samedi
SCH-8-2 Terminart-Name
SCH-8-4 Externe Referenz der Terminart (frei konfigurierbarer Identifier)
SCH-8-5 Externe Referenz der Terminart
SCH-24 (Parent Filler Appointment ID) Patient Portal Appointment ID
SCH-25-1 Terminstatus, Booked, Blocked, Cancelled, Complete,Deleted, Noshow, Dc, Deleted, Overbook, Pending, Started, Waitlist Pending wird gesendet, wenn der Termin den Buchungsstatus pending hat und send_pending_status nicht deaktiviert ist (siehe “Terminanfragen”); andernfalls der aus dem Wartelistenstatus abgeleitete Status.
TQ1
TQ1-7 (Start Date/Time) Startzeit des Termins
TQ1-8 (End Date/Time) Endzeit des Termins
TQ1-13 (Occurrence Duration) Dauer des Termins (z.B.: "45^min")
NTE Für jedes Kommentarfeld in samedi Terminen wird ein NTE-Segment gesendet. Zugangslinks zu Videosprechstunden werden ebenfalls als NTE-Segment aufgenommen.
NTE-2 Name des Kommentarfelds ("_default" für das Standard-Kommentarfeld) oder "PtVCLink" für Videosprechstunde Zugangslink.
NTE-3 Inhalt des Kommentarfelds.
RGS
RGS-1 Ressourcen-Gruppe; für gelöschte und hinzugefügte Ressourcen wird ein eigenes RGS-Segment gesendet.
RGS-2 (Segment Action Code) Aktion "A" (Deleted: "D", Updated: "U", Unchanged: "X")
AIG Für jeden Teiltermin des Termins wird ein AIG-Segment gesendet
AIG-1 (Set-ID) Set-ID; fortlaufend numeriert.
AIG-2 (Segment Action Code) Aktion "A" (Deleted: "D", Updated: "U", Unchanged: "X")
AIG-3-1 (Resource ID - Identifier) ID der Ressource in samedi
AIG-3-2 (Resource ID - Text) Name der Ressource in samedi
AIG-3-3 (Resource ID - Name of Coding System) 99SAMEDI-RESOURCE
AIG-3-4 (Resource ID - Alternate Identifier) Externe Referenz der Ressource (frei konfigurierbarer Identifier)
AIG-8 (Start Date/Time) Startzeitpunkt der Ressourcenbelegung
AIG-11 (Duration) Dauer der Ressourcenbelegung (in Sekunden)
AIG-12 (Duration Units) Wert "s"
AIL Das AIL-Segment wird für Ressourcen gesendet, die als location in mappings.resource_types konfiguriert sind
AIL-1 (Set-ID) Set-ID; fortlaufend numeriert.
AIL-2 (Segment Action Code) Aktion "A" (Deleted: "D", Updated: "U", Unchanged: "X")
AIL-3-1 (Resource ID - Identifier) ID der Ressource in samedi
AIL-3-1-10-1 (Resource ID - Identifier) ID der Ressource in samedi (wenn Zuweisende Autorität existiert)
AIL-3-2 (Resource ID - Text) Name der Ressource in samedi
AIL-3-3 (Resource ID - Name of Coding System) 99SAMEDI-RESOURCE
AIL-3-4 (Resource ID - Alternate Identifier) Externe Referenz der Ressource (frei konfigurierbarer Identifier)
AIL-3-10-1 (Resource ID - Identifier) ID der Ressource in samedi
AIL-3-10-2 (Assigning authority - Namespace id) 99SAMEDI-RESOURCE
AIL-3-10-3 (Assigning authority - Universal id) https://app.samedi.de/fhir/sid/calendar-resource-id
AIL-3-10-4 (Assigning authority - Universal type) URI
AIL-6 (Start Date/Time) Startzeitpunkt der Ressourcenbelegung
AIL-9 (Duration) Dauer der Ressourcenbelegung (in Sekunden)
AIL-10 (Duration Units) Wert "s"
AIP Das AIP-Segment wird für Ressourcen gesendet, die als person in mappings.resource_types konfiguriert sind
AIP-1 (Set-ID) Set-ID; fortlaufend numeriert.
AIP-2 (Segment Action Code) Aktion "A" (Deleted: "D", Updated: "U", Unchanged: "X")
AIP-3-1 (Resource ID - Identifier) ID der Ressource in samedi
AIP-3-2 (Resource ID - Text) Name der Ressource in samedi
AIP-3-3 (Resource ID - Name of Coding System) 99SAMEDI-RESOURCE
AIP-3-4 (Resource ID - Alternate Identifier) Externe Referenz der Ressource (frei konfigurierbarer Identifier)
AIP-3-9-1 (Assigning authority - Namespace id) 99SAMEDI-RESOURCE
AIP-3-9-2 (Assigning authority - Universal id) https://app.samedi.de/fhir/sid/calendar-resource-id
AIP-3-9-3 (Assigning authority - Universal type) URI
AIP-6 (Start Date/Time) Startzeitpunkt der Ressourcenbelegung
AIP-9 (Duration) Dauer der Ressourcenbelegung (in Sekunden)
AIP-10 (Duration Units) Wert "s"
AIS-10 (Filler Appointment Status) Wartelistenstatus des Termins (siehe “SRM AIS.10 Filler Status Mapping”) "s"
PID
PID-1 (Set-ID “1”)
PID-2-1 KIS-Patientennummer, sofern bekannt
PID-3-1 samedi-Patienten-ID
PID-5-1 Nachname
PID-5-2 Vorname
PID-5-5 (Prefix) Titel
PID-7 Geburtsdatum
PID-8 Geschlecht M, F, D
PID-11 Adresse (Straße, PLZ, Ort, Land (ISO-3166-1 ALPHA-2))
PID-13 Telefonnummern (Mobil: CP, Fax: FX, Festnetz: PH) und Email Adresse (NET, X.400) +49 171 1234567^^CP^^^^^^^^^+49 171 1234567 +49 89 12345-678^^PH^^^^^^^^^+49 89 12345-678 mail@example.org^NET^X.400^mail@example.org +49 89 12345-679^^FX^^^^^^^^^+49 89 12345-679

SIU^S13

Wird versandt, wenn ein bestehender Termin verschoben wurde (d.h. die Startzeit oder die Dauer wurden verändert). Wenn gleichzeitig noch andere Attribute verändert wurden (Kommentare o.ä.), wird keine zusätzliche SIU^S14 gesendet.

Die Felddefinition ist analog zu SIU^S12.

SIU^S14

Wird versandt, wenn die Attribute eines bestehenden Termins verändert wurden, ohne dass der Termin dabei verschoben wurde (d.h. Startzeit und Dauer bleiben gleich).

Die Felddefinition ist analog zu SIU^S12.

SIU^S15

Wird versandt, wenn ein bestehender Termin abgesagt wurde.

Die Felddefinition ist analog zu SIU^S12.

Terminanfragen

Ein Termin, der in samedi angefragt, aber von der Institution noch nicht bestätigt wurde (Buchungsstatus pending), wird standardmäßig mit dem Filler Status Code Pending (HL7-Tabelle 0278) in SCH-25 gesendet. Der Termin erscheint damit im Kliniksystem bereits vor der Bestätigung als Anfrage.

Kliniksysteme, die Pending nicht verarbeiten können, weisen solche Nachrichten unter Umständen ab, so dass die Terminanfrage dort gar nicht ankommt. Für sie wird die Einstellung deaktiviert:

[mllp.sender]
send_pending_status = false

Dann wird für Terminanfragen der aus dem Wartelistenstatus abgeleitete Terminstatus gesendet — für eine Terminanfrage ist das Booked.

Die Einstellung betrifft nur ausgehende Nachrichten. Eingehende SCH-25-Werte werden unabhängig davon ausgewertet (siehe “Akzeptierte Nachrichten”).

Akzeptierte Nachrichten

Von der samedi HL7-Schnittstelle verarbeitete SIU-Nachrichten aus dem Kliniksystem.

Unterstützt werden

  • SIU^S12 - Notification of New Appointment Booking
  • SIU^S13 - Notification of Appointment Rescheduling
  • SIU^S14 - Notification of Appointment Modification
  • SIU^S15 - Notification of Appointment Cancellation

Struktur

Feld Inhalt Kommentar
SCH
SCH-2-1 (Placer Appointment ID) Externe Termin-ID-Referenz muss angegeben werden
SCH-8-1 Titel des Termins in samedi
SCH-8-4 externe Referez der Terminart in samedi (wenn gesetzt wird SCH-8-1 ignoriert)
SCH-25-1 (Filler Status Code) Terminstatus (HL7 Tabelle 0278) Pending legt den Termin als ausstehend an (Institutions-Teilnahmestatus needs_action); Booked, Started, Complete und Noshow als bestätigt (accepted) — jeweils unabhängig von der Konfiguration der Terminart. Bei allen anderen Werten (z. B. Waitlist) und einem fehlenden SCH-25 wird der Institutions-Teilnahmestatus nicht aus der Nachricht gesetzt; er richtet sich dann nach der Konfiguration der Terminart.
TQ1
TQ1-7 Start Time
TQ1-8 End Time
PID Patientendaten Parsing ist analog zu eingehenden ADT-A08-Nachrichten
PV1 Falldaten
PV1-19 Fallnummer Wenn hier eine Fallnummer angegeben ist, wird sie dem Termin zugeordnet
RGS
NTE-2 Titel des Terminkommentars in samedi
NTE-3 Text des Terminkommentars in samedi
RGS-2 “D”: Terminabsage, “A”: Neuer Termin, “U”: Terminänderung
AIG
AIG-3-1 Ressourcen-Referenz oder Ressourcen-ID in samedi
AIG-3-3 wenn dieses Feld den Wert 99SAMEDI-RESOURCE hat ist AIG-3-1 eine samedi Ressourcen-ID
AIG-3-4 Ressourcen-Referenz in samedi. Wenn dieses Feld einen Wert hat, überschreibt es die Ressourcen-Referenz aus AIG-3-1
AIG-8 Start Time benutzt Zeit aus dem TQ1-Segment, falls hier keine Zeit angegeben ist
AIG-11 Duration Dauer der Ressourcenbelegung
AIG-12 Duration Unit "min"
AIL
AIL-3-1 (Resource ID - Identifier) ID der Ressource in samedi
AIL-3-1-10-1 (Ressourcen-Referenz) Ressourcen-Referenz in samedi (wenn Zuweisende Autorität angegeben ist - Sehe: AIL-3-10-2, AIL-3-10-3, AIL-3-10-4)
AIL-3-2 (Resource ID - Text) Name der Ressource in samedi
AIL-3-3 (Resource ID - Name of Coding System) 99SAMEDI-RESOURCE
AIL-3-4 (Resource ID - Alternate Identifier) Externe Referenz der Ressource (frei konfigurierbarer Identifier)
AIL-3-10-1 (Resource ID - Identifier) ID der Ressource in samedi
AIL-3-10-2 (Assigning authority - Namespace id) 99SAMEDI-RESOURCE
AIL-3-10-3 (Assigning authority - Universal id) https://app.samedi.de/fhir/sid/calendar-resource-id
AIL-3-10-4 (Assigning authority - Universal type) URI
AIL-6 Start Time benutzt Zeit aus dem TQ1-Segment, falls hier keine Zeit angegeben ist
AIL-9 Duration Dauer der Ressourcenbelegung
AIL-10 Duration Unit "min"
AIP
AIP-3-1 (Resource ID - Identifier) ID der Ressource in samedi
AIP-3-2 (Resource ID - Text) Name der Ressource in samedi
AIP-3-3 (Resource ID - Name of Coding System) 99SAMEDI-RESOURCE
AIP-3-4 (Resource ID - Alternate Identifier) Externe Referenz der Ressource (frei konfigurierbarer Identifier)
AIP-3-9-1 (Assigning authority - Namespace id) 99SAMEDI-RESOURCE
AIP-3-9-2 (Assigning authority - Universal id) https://app.samedi.de/fhir/sid/calendar-resource-id
AIP-3-9-3 (Assigning authority - Universal type) URI
AIP-6 Start Time benutzt Zeit aus dem TQ1-Segment, falls hier keine Zeit angegeben ist
AIP-9 Duration Dauer der Ressourcenbelegung
AIP-10 Duration Unit "min"
AIS-12 Patientenbenachrichtigung "notify^true" oder "notify^false", default false

Beispielnachrichten

SIU-Nachrichten aus samedi

Neuer Termin (S12)

  • “radiologist” und “room-1” sind externe Ressourcenreferenzen und lassen sich in samedi frei konfigurieren. (samedi sendet stets “AIG”-Segmente für Ressourcen)
  • “p9088cd2903” ist die samedi Patienten-ID
MSH|^~\&|samedi-hl7gateway|samedi|system|clinic|20180207130859+0100||SIU^S12^SIU_S12|7504504064263669287|P|2.5||||||UNICODE UTF-8
SCH||9-dpcdk6gvsbetzd3v||||BOOKED||1^MRT|1800||^^M30^20180516130000+0200^20180516133000+0200||||||||||||||Booked
TQ1|1||||||20180516130000+0200|20180516133000+0200|||||30^min
NTE||_default|Comment
NTE||Affected body parts|arm~left leg~head
NTE||Kommentar zum Patienten|patient comment, patient without external patient number
PID|1||p9088cd2903^^^&www.samedi.de&DNS^PI~^^^^PT||Müller^Peter||19751024|M|||Bahnhofstrasse 12^^Berlin^^12345^DE||+49 171 1234567^^CP^^^^^^^^^+49 171 1234567~+49 89 12345-678^^PH^^^^^^^^^+49 89 12345-678~mail@example.org^NET^X.400^mail@example.org~+49 89 12345-679^^FX^^^^^^^^^+49 89 12345-679
RGS|1|A
AIG|1|A|2^Peter Koch^99SAMEDI-RESOURCE^radiologist|||||20180516130000+0200|||1800|s
AIG|2|A|1^Sprechzimmer^99SAMEDI-RESOURCE^room-1|||||20180516130000+0200|||1800|s

Termin verschieben (S13)

MSH|^~\&|samedi-hl7gateway|samedi|system|clinic|20180207131000+0100||SIU^S13^SIU_S12|11199607447739267382|P|2.5||||||UNICODE UTF-8
SCH||9-dpcdk6gvsbetzd3v||||BOOKED||^Test|1800||^^M30^20180410135000+0200^20180410142000+0200||||||||||||||Booked
TQ1|1||||||20180410135000+0200|20180410142000+0200|||||30^min
RGS|1|D
AIG|1|D|1^Sprechzimmer^99SAMEDI-RESOURCE^c2|||||20180410125500+0200|||1800|s
RGS|2|A
AIG|2|A|2^Doc^99SAMEDI-RESOURCE^c1|||||20180410135000+0200|||1800|s

Termin aktualisieren (S14)

MSH|^~\&|samedi-hl7gateway|samedi|system|clinic|20180207131202+0100||SIU^S14^SIU_S12|12156940908066221323|P|2.5||||||UNICODE UTF-8
SCH||9-dpcdk6gvsbetzd3v||||BOOKED||1^MRT|1800||^^M30^20180516140000+0200^20180516143000+0200||||||||||||||Booked
TQ1|1||||||20180516140000+0200|20180516143000+0200|||||30^min
NTE||_default|updated comment
NTE||Kommentar zum Patienten|patient comment, patient without external patient number
PID|1||p9088cd2903^^^&www.samedi.de&DNS^PI~^^^^PT||Müller^Peter||19751024|M
RGS|1|X
AIG|1|X|2^Peter Koch^99SAMEDI-RESOURCE^radiologist|||||20180516140000+0200|||1800|s
AIG|2|X|1^Sprechzimmer^99SAMEDI-RESOURCE^room-1|||||20180516140000+0200|||1800|s

Termin absagen (S15)

MSH|^~\&|samedi-hl7gateway|samedi|system|clinic|20180207131507+0100||SIU^S15^SIU_S12|6263450610539110790|P|2.5||||||UNICODE UTF-8
SCH||9-dpcdk6gvsbetzd3v||||BOOKED||1^MRT|1800||^^M30^20180516140000+0200^20180516143000+0200||||||||||||||Deleted
TQ1|1||||||20180516140000+0200|20180516143000+0200|||||30^min
NTE||_default|updated comment
NTE||Kommentar zum Patienten|patient comment, patient without external patient number
PID|1||p9088cd2903^^^&www.samedi.de&DNS^PI~^^^^PT||Müller^Peter||19751024|M
RGS|1|D
AIG|1|D|1^Sprechzimmer^99SAMEDI-RESOURCE^room-1|||||20180516140000+0200|||1800|s

Beispiel für einen Blocker-Termin (ohne Patient)

MSH|^~\&|samedi-hl7gateway|samedi|system|clinic|20180207123459+0100||SIU^S12^SIU_S12|5577006791947779410|P|2.5||||||UNICODE UTF-8
SCH||5-dpcdk6gvsbetzd3v||||BOOKED||^blocked time|1800||^^M30^20180514110000+0200^20180514113000+0200||||||||||||||Booked
TQ1|1||||||20180514110000+0200|20180514113000+0200|||||30^min
NTE||_default|this is a comment
RGS|1|A
AIG|1|A|2^Peter Koch^99SAMEDI-RESOURCE^radiologist|||||20180514110000+0200|||1800|s
AIG|2|A|1^Sprechzimmer^99SAMEDI-RESOURCE^room-1|||||20180514110000+0200|||1800|s

Beispiel für einen Termin eines Patienten mit externer Patientennummer (12345)

MSH|^~\&|samedi-hl7gateway|samedi|system|clinic|20180207124406+0100||SIU^S12^SIU_S12|3916589616287113937|P|2.5||||||UNICODE UTF-8
SCH||7-dpcdk6gvsbetzd3v||||BOOKED||1^MRT|1800||^^M30^20180516100000+0200^20180516103000+0200||||||||||||||Booked
TQ1|1||||||20180516100000+0200|20180516103000+0200|||||30^min
NTE||Kommentar zum Patienten|patient with an external patient ID
PID|1|12345|pb327b78324^^^&www.samedi.de&DNS^PI~12345^^^^PT||Schmitt^Julia|||F
RGS|1|A
AIG|1|A|2^Peter Koch^99SAMEDI-RESOURCE^radiologist|||||20180516100000+0200|||1800|s
AIG|2|A|1^Sprechzimmer^99SAMEDI-RESOURCE^room-1|||||20180516100000+0200|||1800|

Beispiel für einen Termin mit AIL, AIP und AIG gemäß Konfiguration

Angenommen, es gibt diese Konfiguration in der TOML-Datei:

[mappings]
resource_types = [
  { xref = 'maria_meier', type = 'person' },
  { xref = 'dr_koch', type = 'person' },
  { xref = 'sprechzimmer34', type = 'location' },
]

Die SIU-Nachricht könnte so aussehen:

MSH|^~\&|samedi-hl7gateway|samedi|system|clinic|20180207131202+0100||SIU^S14^SIU_S12|12156940908066221323|P|2.5||||||UNICODE UTF-8
SCH||9-dpcdk6gvsbetzd3v||||BOOKED||1^MRT|1800||^^M30^20180516140000+0200^20180516143000+0200||||||||||||||Booked
TQ1|1||||||20180516140000+0200|20180516143000+0200|||||30^min
NTE||\_default|updated comment
NTE||Kommentar zum Patienten|patient comment, patient without external patient number
PID|1||p9088cd2903^^^&www.samedi.de&DNS^PI~^^^^PT||Müller^Peter||19751024|M
RGS|1|D
AIP|1|D|maria_meier~2^^^^^^^^99SAMEDI-RESOURCE&https://app.samedi.de/fhir/sid/calendar-resource-id&URI|||20171211093000+0100|||1800|s",
AIG|1|D|4^General Resource^99SAMEDI-RESOURCE^34343|||||20171211093000+0100|||1800|s
RGS|2|A
AIP|2|A|dr_koch~3^^^^^^^^99SAMEDI-RESOURCE&https://app.samedi.de/fhir/sid/calendar-resource-id&URI^dr_koch|||20171211093000+0100|||1800|s",
AIG|2|A|5^General Resource 2^99SAMEDI-RESOURCE^878787878|||||20171211093000+0100|||1800|s
RGS|3|X
AIL|1|X|^^^^^^^^^sprechzimmer34~^^^^^^^^^1&99SAMEDI-RESOURCE&https://app.samedi.de/fhir/sid/calendar-resource-id&URI|||20171211093000+0100|||1800|s

Beachten Sie, dass wir Ressourcentypen für die Ressourcen maria_meier, dr_koch und sprechzimmer34 konfiguriert haben. Diese sind person, eine weitere person und location. Für diese Ressourcen senden wir die entsprechenden AIP- und AIL-Segmente. Die Ressourcen 34343 und 878787878 haben einen unbekannten Typ, daher senden wir für diese AIG-Segmente.

Beispiel für eingehende SIU-Nachrichten

Neuer Termin

MSH|^~\&|system|clinic|samedi-hl7gateway|samedi|20170101000000||SIU^S12^SIU_S12|76543|P|2.5||||||8859/1
SCH||456789^system||||||Sprechstunde, Peter Mueller|||||||||||||||||Booked
TQ1|1||||||201701150800|201701150830|||||30^min
RGS|1|A
AIG|1|A|room-1|||||201701150800^YYYYLLDDHHMM|||30|min
MSH|^~\&|system|clinic|samedi-hl7gateway|samedi|20170101000000||SIU^S12^SIU_S12|76543|P|2.5||||||8859/1
SCH||456789^system||||||Sprechstunde, Peter Mueller|||||||||||||||||Booked
TQ1|1||||||201701150800|201701150830|||||30^min
PID|1|12345|pb327b78324^^^&www.samedi.de&DNS^PI~12345^^^^PT||Schmitt^Julia|||F
RGS|1|A
AIL|1||room-1|||201701150800^YYYYLLDDHHMM|||30|min
AIP|1||radiologist|||201701150800^YYYYLLDDHHMM|||30|min

Einladungssteuerung via CON-Segment

Eingehende SIU-Nachrichten können ein optionales CON-Segment enthalten, um eine Patientenportal-Einladung oder Wiedereinladung auszulösen. Das Verhalten ist identisch mit dem CON-Segment in ADT-Nachrichten.

Code Verhalten
INV-INITIAL Löst eine initiale Patientenportal-Einladung aus
INV-REINVITE Sendet die Einladung bedingungslos erneut, unabhängig vom bisherigen Einladungsstatus

Unbekannte Codes werden stillschweigend ignoriert. Ist kein CON-Segment vorhanden, bleibt das bisherige Verhalten unverändert.

CON|1|INV-INITIAL^Initial Patient Portal Invitation^L
CON|1|INV-REINVITE^Patient Portal Re-invitation^L

Spezifikation einer Ressource über die samedi-ID

MSH|^~\&|system|clinic|samedi-hl7gateway|samedi|20170101000000||SIU^S12^SIU_S12|76543|P|2.5||||||8859/1
SCH||456789^system||||||Sprechstunde, Peter Mueller|||||||||||||||||Booked
TQ1|1||||||201701150800|201701150830|||||30^min
RGS|1|A
AIG|1|A|123456^^99SAMEDI-RESOURCE|||||201701150800^YYYYLLDDHHMM|||30|min