labcomplete AIS-Schnittstelle
0.1.0 - ci-build Österreich

labcomplete AIS-Schnittstelle - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Regeln

Ordination und Benutzer

  • Die Ordination ist eine Organization im Bundle, auf die eine PractitionerRole verweist: in request-create die des requester, in session-create die jedes Zuweisers. labcomplete gleicht ihre Kennung im Zuweiser-System des AIS mit der AIS-Verknüpfung in labcomplete ab, die medcom einrichtet; ohne Verknüpfung organization-unknown. Weitere Kennungen (VPNR, GDA-OID) liest labcomplete nicht.
  • Der Benutzer ist der requester der Sitzung. Er braucht seine Kennung im Personensystem des AIS (1 bis 180 Zeichen A-Z a-z 0-9 . _ @ + -, ohne Unterschied der Groß- und Kleinschreibung) und eine E-Mail-Adresse. female und male ergeben die Anrede Frau und Herr, sonst keine.
  • Darf der Benutzer für mehrere Zuweiser anfordern, nennt die Sitzung jeden als eigenes input practitioner-role: je Zuweiser eine PractitionerRole mit ihrer Ordination und deren Kennung (Beispiel). Höchstens einer trägt die Erweiterung primary, sonst practitioner-role-ambiguous; trägt sie keiner, ist der Zuweiser der Anforderung der primäre. Nennt die Sitzung Zuweiser, muss der der Anforderung darunter sein, sonst practitioner-role-missing.

Patient

  • Der Patient braucht seine Kennung im Patientensystem des AIS, mit Typ PI. Die SVNR steht unter urn:oid:1.2.40.0.10.1.4.3.1 mit Typ SS, wie HL7 Austria AT Core sie erkennt.
  • Es braucht einen amtlichen Namen (use official, usual oder ohne use) mit family und mindestens einem given; prefix wird der Titel. Weitere Namen, etwa maiden, liest labcomplete nicht.
  • gender ist Pflicht, wie HL7 Austria AT Core es verlangt; kennt das AIS das Geschlecht nicht, schickt es unknown. labcomplete kennt nur weibliches und männliches Geschlecht; other und unknown gelten als nicht angegeben: Führt das AIS die Patientendaten, folgt patient-incomplete, sonst ergänzt der Benutzer es in labcomplete.
  • Gehören die Patientendaten dem AIS (bei der Einrichtung festgelegt), prüft labcomplete vorab Name, Geschlecht, Geburtsdatum, die Prüfziffern der SVNR, E-Mail-Adressen und den Trägercode; sonst patient-incomplete, mit den Feldern, nie ihren Werten.

Versicherung

Die Versicherung ist eine Coverage, wie ELGA MOPED sie zeigt:

  • kind insurance mit der Kasse in insurer. Die Kasse trägt ihren Trägercode im CodeSystem der SVC: identifier.system http://svc.co.at/CodeSystem/ecard-svt-cs, value der Code (etwa 11 für die ÖGK Wien).
  • Die Versichertenkategorie der e-card steht in class mit type group, value.system http://svc.co.at/CodeSystem/ecard-versichertenkategorie-cs, value.value der zweistellige Code.
  • Privatverrechnung ist kind self-pay, ohne insurer. Wer zahlt, wählt der Arzt in labcomplete; paymentBy darf es nennen, labcomplete liest es noch nicht.
  • Ist die versicherte Person nicht der Patient, steht sie als RelatedPerson in subscriber, mit ihrer SVNR; relationship sagt, was der Patient ihr ist.

Vorauswahl

preset-profile wählt ein Profil der Ordination in labcomplete vor, über seinen Namen. preset-parameter wählt einen Parameter vor: ein Coding im CodeSystem seines Labors, https://fhir.labcomplete.at/ais/v1/CodeSystem/lab-parameter/<GDA-OID>, der Code ist der Kurzname. Die Kurznamen und die GDA-OIDs der Labors stammen aus deren Katalogen; welche eine Ordination nutzen kann, nennt medcom bei der Einrichtung. Ein unbekanntes Profil oder ein Parameter eines unbekannten Labors zeigt labcomplete als nicht verfügbar an; was gilt, entscheidet der Benutzer.

priority außer routine belegt „Akut“ vor, note die Informationen ans Labor, reason die Diagnose (Text oder erster Code), elga-opt-out den ELGA-Opt-out. Im Rückschrieb steht der ELGA-Opt-out am Auftrag, so wie labcomplete ihn an das Labor gesendet hat.

Zustände

Der Zustand gehört der Anforderung; jeder Auftrag und jeder Parameter trägt denselben.

status Bedeutung
draft gespeichert, noch nicht gesendet
active gesendet
revoked verworfen; der Grund steht in der Erweiterung request-statusReason (deleted)

Wann ein einzelner Auftrag an sein Labor ging, sagt seine Erweiterung sent-at. completed verwendet die Schnittstelle nicht; ob ein Labor fertig ist, sagen die Befunde. labcomplete leitet die Zustände ab, das AIS rechnet nichts nach.

Sitzungen

Eine Sitzung nimmt labcomplete bis 30 Tage nach dem letzten request-create der requestId an, danach request-unknown. Ist das request-create abgelehnt, antwortet die Sitzung mit demselben Fehler; eines, das gegen die Profile verstößt, hat labcomplete nie gespeichert, die Sitzung dazu antwortet request-unknown. Eine gespeicherte Anforderung öffnet so, wie sie gespeichert ist; ein neueres request-create ersetzt nur die Vorlage. Gedruckt wird an die Sitzung des zuletzt eingelösten Links.

Je Öffnen schickt das AIS eine neue session-create, nach der Quittung des request-create. Kommt binnen 60 s weder Link noch Fehler, gilt die Sitzung als gescheitert. Den Einmal-Link (https://<host>/<pfad>#token=<token>) öffnet das AIS unverändert im Browser: binnen 60 s, nur einmal, aus einer bei der Einrichtung genannten Web-Origin und mit Referrer. Die Anmeldung in labcomplete hält dann höchstens 3 Tage, ohne offenen Tab 1 Tag.

Drucker

In session-create nennt jedes input printer einen Drucker (Device) des Arbeitsplatzes: seine Kennung im AIS, seine Art (label, special-label, a4) und den Namen, den der Benutzer kennt (user-friendly-name). In print-job nennt input printer nur die Art; das AIS druckt auf dem Drucker dieser Art, den die Sitzung genannt hat. Etiketten kommen als application/zpl, ein zwischen labcomplete und den AIS vereinbarter Medientyp, Dokumente als application/pdf. Das AIS druckt so oft, wie input copies sagt, und nicht mehr nach requestedPeriod.end.

Zeiten

Alle Zeitpunkte sind in UTC (Z).