Akteure und Interaktionen
Akteure
Dokumentenserver
Das bestätigungsrelevante System nimmt die Rolle des Dokumentenservers ein. Ein Dokumentenserver nimmt Dokumente von Clients zur Speicherung/Archivierung/Verwaltung entgegen und erlaubt Clients die Suche nach und den Abruf von Dokumenten.
Der Dokumentenserver nimmt im IHE-MHD-Kontext die Rollen Document Recipient und Document Responder ein und implementiert die IHE-MHD-Interaktionen
- Simplified Publish [ITI-105] (verpflichtend)
- Generate Metadata [ITI-106] (optional)
- Find Document References [ITI-67] (verpflichtend)
- Retrieve Document [ITI-68] (verpflichtend)
(Webbasierter/Mobiler) Client
Clients können Dokumente von einem Dokumentenserver abfragen, um sie z.B. einem Anwender anzuzeigen. Dabei können sie die für die Server verpflichtend festgelegten Suchkriterien beliebig kombinieren. Clients sind nicht verpflichtet, alle von den Servern geforderten Suchkriterien zu unterstützen. Weiterhin können Clients neu erstellte, geänderte oder erweiterte Dokumente an einen Dokumentenserver übermitteln. Dabei müssen sie jedoch mindestens die in diesem Modul verpflichtend festgelegten Metadaten zu den Dokumenten bereitstellen. Sowohl die Implementierung der Interaktion "Dokumentenabfrage" als auch "Dokumentenbereitstellung" sind für Clients optional.
Der Client nimmt im IHE-MHD-Kontext die Rollen Document Source und Document Consumer ein und implementiert die IHE-MHD-Interaktionen
- Simplified Publish [ITI-105] (optional)
- Generate Metadata [ITI-106] (optional)
- Find Document References [ITI-67] (optional)
- Retrieve Document [ITI-68] (optional)
Interaktionen
Dokumentenabfrage und -Zugriff (bestätigungsrelevant)
UseCase: Ein (webbasierter/mobiler) Client möchte Dokumente anhand definierter Kriterien abfragen. Zur Dokumenten(-Metadaten)abfrage nutzt diese Spezifikation die SEARCH-Interaktionen auf der DocumentReference-Ressource gemäß der FHIR-Spezifikation. Dabei MÜSSEN ausgewählte Suchparameter von Dokumentenservern verpflichtend unterstützt werden. Die Selektion erfolgt anhand der Relevanz der Parameter für die identifizierten UseCases. Der Zugriff auf die von den DocumentReferences verlinkten Dokumente (z.B. im PDF-Format) MUSS per READ-Interaktion auf der Binary-Ressource gemäß ISIK-Spezifikation erfolgen.
Dokumentenbereitstellung (bestätigungsrelevant)
UseCase: Ein (webbasierter/mobiler) Client möchte neu erstellte, geänderte oder erweiterte Dokumente an einen Dokumentenserver übermitteln. Der Server MUSS Dokument und Metadaten entgegennehmen, diese persistieren und anschließend für die Dokumentabfrage und den -zugriff bereitstellen.
Update von Dokumentenmetadaten (optional)
UseCase: Ein Client möchte die Metadaten eines Dokumentes ändern, ohne den Inhalt des Dokumentes selbst zu beeinflussen oder eine neue Version des Dokumentes hochladen zu müssen. Dies ist nur für eine stark eingeschränkte Menge von Elementen möglich. Der Server stellt dafür eine Operation zur Verfügung, deren Parameter den änderbaren Elementen entsprechen.
Erzeugen von Dokumentenmetadaten (optional)
UseCase: Ein Client möchte ein gem. ISiK Basismodul Stufe 4 erzeugtes, strukturiertes, FHIR-basiertes Dokument an einen Dokumentenserver übermitteln.
Der Server stellt dazu eine Operation zur Verfügung, die aus den strukturierten Daten des Dokumentes die erforderlichen Metadaten extrahiert und dem Client eine entsprechend ausgefüllte DocumentReference
-Ressource zurückgibt. Diese Operation kann von einem Dokumentenserver aber auch einem Drittsystem bereitgestellt werden.
Interaktion: Dokumentenbereitstellung
Dokumentenübermittlung (IHE MHD ITI-105 (Simplified Publish))
Die Dokumentenübermittlung erfolgt mittels IHE MHD ITI-105 (Simplified Publish)
Die Übermittlung des Dokumentes vom Client an den Server erfolgt mittels einer CREATE-Interaktion auf dem Ressourcentyp DocumentReference. Das anzulegende Dokument wird im Body der Interaktion übermittelt. Es gelten die Vorgaben der FHIR-Kernspezifikation für den Rückgabewert der Create-Interaktion, siehe Managing Return Content.
Hinweise und Anmerkungen zur Implementierung von ITI-105 (Simplified Publish) im Kontext von ISiK
Für die Implementierung der Interaktion "Dokumentenbereitstellung" gelten die in IHE MHD festgelegten Vereinbarungen zu ITI-105 gemäß der unten aufgelisteten Kapitel. Abweichungen bzw. zusätzliche Festlegungen im Kontext von ISiK sind im Folgenden zu den einzelnen Kapiteln vermerkt.
2:3.105.4.1 Simplified Publish Request Message
2:3.105.4.1.1 Trigger Events
Die Vereinbarungen gelten uneingeschränkt.
2:3.105.4.1.2 Message Semantics
- Die übermittelte Ressource muss nur gegen das Profil "ISiKDokumentenMetadaten" valide sein, nicht gegen die IHE-DocumentReference-Profile, da die Übermittlung des Elementes
DocumentReference.docStatus
im ISiK-Kontext erlaubt, im IHE-Kontext jedoch verboten ist. - Für Clients ist es ausreichend, das Dokument mit Hilfe eines KDL-Codes in DocumentReference.type zu klassifizieren. Die entsprechenden XDS-Class- und -Type-Codes müssen vom Server bei der Verarbeitung ergänzt werden. DocumentReference.category kann bei der Dokumentenbereitstellung leer bleiben.
2:3.105.4.1.2.1 DocumentReference Resources
- Die DocumentReference-Ressoucen müssen im ISiK-Kontext auf Basis des Profils "ISiKDokumentenMetadaten" und den dort vereinbarten Kardinalitäten bzw. MustSupport-Flags erstellt werden.
- Die Verwendung von Contained-Ressourcen ist im ISiK-Kontext nicht erlaubt
2:3.105.4.1.2.2 Patient Identity
- Der Client MUSS eine der im Kapitel "Herstellung von Patient- und Enocunterkontext" beschriebenen Optionen verwenden, um den Patienten- und Encounter-Kontext zu etablieren.
- Logische Referenzen für Patient und Encounter sind im ISiK-Kontext nicht erlaubt
DocumentReference.sourcePatientInfo
wird im ISiK-Kontext nicht verwendet
2:3.105.4.1.2.3 Replace, Transform, Signs, and Append Associations
Die Vereinbarungen gelten uneingeschränkt.
Hinweis: Dies bedeutet, dass inhaltliche Updates von Dokumenten, in Abgrenzung zu Updates von Dokumentenmetadaten, durch den Client als neue Create-Interaktion durchgeführt werden muss. Update-Interaktionen sind in diesem Kontext undefiniert. Das Dokument, welches das Update repräsentiert, muss eine entsprechende relatesTo-Relation zum vorherigen Dokument aufweisen. Der Status des vorherigen Dokumentes MUSS durch den Server auf superseded
gesetzt werden.
2:3.105.4.1.3 Expected Actions
- Die Erzeugung einer SubmissionSet Ressource durch den Server ist im ISiK-Kontext nicht erforderlich.
- Der Server muss ggf. fehlende XDS-Class- und -Type-Codes anhand des übermittelten KDL-Codes ergänzen und in DocumentReference.type bzw. DocumentReference.category zurückliefern. Die XDS-Codes können über die im Rahmen der KDL-Spezifikation publizierten ConceptMaps aus dem KDL-Code ermittelt werden. Die XDS-Codes werden für den einrichtungsübergreifenden Dokumentenaustausch über IHE XDS, bzw. MHD oder für die Übermittlung der Dokumente an die ePA des Patienten benötigt.
2:3.105.4.1.3.1 Grouping with Actors in other Document Sharing Profiles
Das Kapitel ist für den ISiK-Kontext nicht relevant.
2:3.105.4.2 Simplified Publish Response Message
2:3.105.4.2.1 Trigger Events
Die Vereinbarungen gelten uneingeschränkt.
2:3.105.4.2.2 Message Semantics
Die Vereinbarungen gelten uneingeschränkt.
2:3.105.4.2.3 Expected Actions
Die Vereinbarungen gelten uneingeschränkt.
2:3.105.4.3 CapabilityStatement Resource
Es gelten die Vereinbarungen gemäß CapabilityStatement
2:3.105.5 Security Considerations
Für Hinweise zur Implementierung von Autorisation und Authentifikation im ISiK-Kontext, siehe Modul ISiK-Sicherheit
Herstellung von Patient- und Encounterkontext
Vor der Bereitstellung von Dokumenten muss ein Client einen Patienten- und Encounterkontext herstellen, damit das Dokument serverseitig anhand der Patient- und Encounter-Verlinkungen in der DocumentReference korrekt zugeordnet werden kann. Zur Herstellung des Kontextes sind folgende Verfahren möglich:
- SMARTApp Launch: Wenn der Aufruf der App im Rahmen des SMART-Frameworks erfolgt, kennt der Client bereits beim Start den aktuellen Patienten- und ggf. den Encounterkontext. Dabei wählt ein Anwender im Primärsystem (Server) einen Patienten und Fall aus und startet in diesem Kontext die App. Referenzen auf Patient und Encounter werden im Zuge der Autorisierung vom Server an Client übermittelt. (Siehe Modul Sicherheit - Launch Context und Scopes).
- Bekannte Fallnummer: Der Client kennt die (Abrechnungs-)Fallnummer (z.B. durch das Einscannen eines Barcodes, oder beim Mapping von V2 auf FHIR aus PV1.#19). Der Client sucht den Encounter im Patienten-führenden System anhand der Fallnummer (
[base]/Encounter?account:identifier=<Fallnummer>
). Da unter einer Abrechnungs-Fallnummer mehrere Encounter (Besuche) zusammengefasst werden können (z.B. vorstationär + stationär + nachstationär), sollte als zusätzliches Suchkriterium entweder ein Datum/Zeitraum oder eine Selektion aufEncounter.status
verwendet werden. Wenn ein zutreffender Encounter gefunden wurde, kann der Patientenkontext aus der subject-Referenz des Encounters entnommen werden. - Arbeitsliste: Der Client ruft auf dem Server eine Arbeitsliste ab (z.B. Liste aller Encounter, die aktuell auf einer bestimmten Station/Ambulanz stattfinden, Liste aller ServiceRequests/Tasks, die durch den Client abgearbeitet werden müssen (aktuell noch nicht im Scope der ISiK-Spezifikationen!) und etabliert den Kontext, nachdem der Benutzer einen Eintrag der Liste ausgewählt hat.
- Manuelle Auswahl. Nach dem Start des Clients verwendet der Benutzer eine Suchmaske, in der anhand von Patientennummer oder anderer demografischer Daten gesucht werden kann. Der Client verwendet die Patient-Interaktionen des ISiK-Basismoduls, um auf dem Server nach zutreffenden Patienten zu suchen. Der Anwender wählt den gesuchten Patienten aus der Liste der Suchtreffer aus. Im Anschluss listet der Client, mithilfe der Encounter-Interaktionen des ISiK-Basismoduls, die relevanten Besuche des ausgewählten Patienten auf. (Anm.: Welche Besuche als "relevant" erachtet werden, liegt im Ermessen des Clients. Es könnte z.B. anhand von
Encounter.period
,Encounter.class
und/oderEncounter.status
gefiltert werden). Der Anwender wählt den zutreffenden Encounter aus.
Hinweis | Gefahr fehlerhafter Zuordnung! |
---|---|
Die manuelle Auswahl von Patienten- und Fallkontext durch einen Benutzer ist fehleranfällig. Clients müssen geeignete Vorkehrungen und Plausibilitätsprüfungen implementieren um Falschzuordnungen zu verhindern. |
Änderungen zu ISiK Stufe 2
Hinweis | Breaking Change! |
---|---|
Die in der Stufe 3 erfolgte Umstellung der Interaktion von der $submit-document-Operation auf eine REST-basierte CREATE-Interaktion ist nicht kompatibel zu den Festlegungen dieses Moduls in Stufe 2! Die Änderung dient dem Zweck der Harmonisierung mit der IHE-MHD-Interaktion ITI-105 (Simplified Publish), die zum Zeitpunkt des Releases von Stufe 2 noch nicht zur Verfügung stand. |
Maßgebliche Änderungen gegenüber Stufe 2 für den Client
- Der Client muss das eigentliche Dokument (PDF, JPEG o.ä.) base64-codiert in
DocumentReference.content.attachment.data
einbetten und den Mime-Type des Dokumentes inDocumentReference.content.attachment.contentType
adäquat setzen - Die Übermittlung erfolgt mittels POST auf den Endpunkt
[base]/DocumentReference
anstatt wie bisher mittels POST auf den Endpunkt[base]\DocumentReference\$submit-document
- Die DocumentReference-Ressource mit den eingebetteten Binärdaten wird nun unmittelbar im Body der Interaktion gesendet. Die Notwendigkeit, DocumentReference und Binary in eine Parameters-Ressource zu wrappen, entfällt damit.
- Die Antwort des Servers erfolgt in Form einer DocumentReference-Ressource (im Erfolgsfall) bzw. einer OperationOutcome-Ressource im Fehlerfall anstelle wie bisher einer Parameters-Ressource.
Maßgebliche Änderungen gegenüber Stufe 2 für den Server
- Die DocumentReference-Ressource mit den eingebetteten Binärdaten wird nun unmittelbar im Body der Interaktion gesendet. Die Notwendigkeit, DocumentReference und Binary aus der Parameters-Ressource zu extrahieren, entfällt damit.
- Die Übermittlung erfolgt mittels POST auf den Endpunkt
[base]/DocumentReference
anstatt wie bisher mittels POST auf den Endpunkt[base]\DocumentReference\$submit-document
- Der Server MUSS das eingebettete Dokument aus der DocumentReference herauslösen, separat persistieren und in
DocumentReference.content.attachemnt.url
auf das separierte Dokument verweisen. Beim Abruf einer DocumentReference, bzw. bei der Suche nach DocumentReference-Ressourcen darf das Dokument niemals eingebettet an den Client zurückgegeben werden. Das Dokument muss über den Binary-Endpunkt der API abrufbar gemacht werden. - Die Antwort des Servers erfolgt in Form einer DocumentReference-Ressource (im Erfolgsfall) bzw. einer OperationOutcome-Ressource im Fehlerfall anstelle wie bisher einer Parameters-Ressource.
Beispiel
POST [base]/DocumentReference
{ "resourceType": "DocumentReference", "id": "dok-beispiel-client-with-binary-jpeg-example-short", "meta": { "security": [ { "code": "HTEST", "system": "http://terminology.hl7.org/CodeSystem/v3-ActReason" } ], "profile": [ "https://gematik.de/fhir/isik/StructureDefinition/ISiKDokumentenMetadaten" ] }, "masterIdentifier": { "system": "urn:ietf:rfc:3986", "value": "urn:oid:1.2.840.113556.1.8000.2554.58783.21864.3474.19410.44358.58254.41281.46340" }, "type": { "coding": [ { "system": "http://dvmd.de/fhir/CodeSystem/kdl", "code": "ED020101", "display": "Fotodokumentation Operation" } ] }, "status": "current", "description": "Fotodokumentation Operation vom 31.12.21", "subject": { "reference": "Patient/PatientinMusterfrau" }, "securityLabel": [ { "coding": [ { "code": "N", "system": "http://terminology.hl7.org/CodeSystem/v3-Confidentiality" } ] } ], "content": [ { "attachment": { "contentType": "image/jpeg", "data": "4AAQSkZJRgABAQEB", "language": "de", "creation": "2020-12-31T23:50:50-05:00" }, "format": { "code": "urn:ihe:iti:xds:2017:mimeTypeSufficient", "system": "http://ihe.net/fhir/ihe.formatcode.fhir/CodeSystem/formatcode", "display": "mimeType Sufficient" } } ], "context": { "facilityType": { "coding": [ { "code": "KHS", "system": "http://ihe-d.de/CodeSystems/PatientBezogenenGesundheitsversorgung", "display": "Krankenhaus" } ] }, "practiceSetting": { "coding": [ { "code": "ALLG", "system": "http://ihe-d.de/CodeSystems/AerztlicheFachrichtungen" } ] }, "encounter": [ { "reference": "Encounter/BeispielBesuch" } ] } }
Hinweis: Die Binary-Ressourcen sind der Lesbarkeit halber verkürzt dargestellt!
Dokumentenabfrage und -zugriff
Dokumentenabfrage (IHE MHD ITI-67 (Find DocumentReferences))
Dokumente können anhand ihrer Metadaten gesucht werden. Im Rahmen der ISiK-Spezifikation müssen mindestens die im Kapitel Interaktionen
mit MUSS
gekennzeichneten Suchparameter unterstützt werden. Einzelnen Systemen steht es frei, darüber hinaus weitere FHIR-konforme Suchparameter zu implementieren.
Die Ergebnisse einer Suchanfrage werden in Form eines Bundles zurückgegeben:
ISiKDokumentenSuchergebnisse (Bundle) | I | Bundle | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
identifier | Σ | 0..1 | Identifier |
type | Σ | 1..1 | codeBindingFixed Value |
timestamp | Σ | 0..1 | instant |
total | Σ I | 1..1 | unsignedInt |
link | Σ | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
relation | Σ | 1..1 | string |
url | Σ | 1..1 | uri |
entry | Σ I | 0..* | BackboneElement |
(All Slices) | |||
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
link | Σ | 0..* | see (link) |
fullUrl | Σ | 1..1 | uri |
resource | Σ | 0..1 | Resource |
search | Σ I | 0..1 | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
mode | Σ | 0..1 | codeBinding |
score | Σ | 0..1 | decimal |
request | Σ I | 0..1 | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
method | Σ | 1..1 | codeBinding |
url | Σ | 1..1 | uri |
ifNoneMatch | Σ | 0..1 | string |
ifModifiedSince | Σ | 0..1 | instant |
ifMatch | Σ | 0..1 | string |
ifNoneExist | Σ | 0..1 | string |
response | Σ I | 0..1 | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
status | Σ | 1..1 | string |
location | Σ | 0..1 | uri |
etag | Σ | 0..1 | string |
lastModified | Σ | 0..1 | instant |
outcome | Σ | 0..1 | Resource |
DocumentReference | Σ I | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
link | Σ | 0..* | see (link) |
fullUrl | Σ | 0..1 | uri |
resource | Σ I | 1..1 | ISiKDokumentenMetadaten |
search | Σ I | 0..1 | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
mode | Σ | 0..1 | codeBinding |
score | Σ | 0..1 | decimal |
request | Σ I | 0..1 | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
method | Σ | 1..1 | codeBinding |
url | Σ | 1..1 | uri |
ifNoneMatch | Σ | 0..1 | string |
ifModifiedSince | Σ | 0..1 | instant |
ifMatch | Σ | 0..1 | string |
ifNoneExist | Σ | 0..1 | string |
response | Σ I | 0..1 | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
status | Σ | 1..1 | string |
location | Σ | 0..1 | uri |
etag | Σ | 0..1 | string |
lastModified | Σ | 0..1 | instant |
outcome | Σ | 0..1 | Resource |
signature | Σ | 0..1 | Signature |
Suchergebnisse können zahlreich sein. Server MÜSSEN daher FHIR-konformes Paging unterstützen. Server KÖNNEN im SearchSet-Bundle auch Ressourcen vom Typ OperationOutcome mit Informationen über die Suchergebnisse zurückgeben. Diese müssen in Bundle.entry.search.mode
mit dem Wert outcome
gekennzeichnet sein. Die Issues im OperationOutcome dürfen nur dem Schweregrad information
oder warning
entsprechen.
Issues vom Schweregrad error
oder fatal
sind unzulässig.
Hinweise und Anmerkungen zur Implementierung von IHE MHD ITI-67 (Find DocumentReferences)
Für die Implementierung der Interaktion "Dokumentenabfrage" gelten die in IHE MHD festgelegten Vereinbarungen zu ITI-67 (Find DocumentReferences) gemäß der unten aufgelisteten Kapitel. Abweichungen bzw. zusätzliche Festlegungen im Kontext von ISiK sind im Folgenden zu den einzelnen Kapiteln vermerkt.
2:3.67.4.1 Find Document References Request Message
2:3.67.4.1.1 Trigger Events
Die Vereinbarungen gelten uneingeschränkt.
2:3.67.4.1.2 Message Semantics
Es gelten darüber hinaus die allgemeinen Festlegungen zu Suchparametern gemäß ISiK Basisprofil Stufe 4
2:3.67.4.1.2.1 Query Search Parameters
Im Rahmen der ISiK-Spezifikation müssen mindestens die im Kapitel Interaktionen
mit MUSS
gekennzeichneten Suchparameter unterstützt werden. Einzelnen Systemen steht es frei, darüber hinaus weitere FHIR-konforme bzw in IHE MHD geforderte Suchparameter zu implementieren.
Die in IHE bestehende Verpflichtung für Clients, bei jeder Query mindestens einen der Parameter patient
oder patient.identifier
verwenden zu müssen, besteht im ISiK-Kontext nicht. Patientenübergreifende Suchanfragen sind zulässig.
2:3.67.4.1.2.2 Populating Expected Response Format
Die Vereinbarungen gelten uneingeschränkt.
2:3.67.4.1.3 Expected Actions
Die Vereinbarungen gelten uneingeschränkt.
2:3.67.4.1.3.1 XDS on FHIR Option
Die Implementierung der "XDS on FHIR"-Option ist im ISiK-Kontext nicht gefordert.
2:3.67.4.2 Find Document References Response Message
2:3.67.4.2.1 Trigger Events
Die Vereinbarungen gelten uneingeschränkt.
2:3.67.4.2.2 Message Semantics
- Suchergebnisse können zahlreich sein. Server MÜSSEN daher FHIR-konformes Paging unterstützen. Server KÖNNEN im * SearchSet-Bundle auch Ressourcen vom Typ OperationOutcome mit Informationen über die Suchergebnisse zurückgeben. Diese müssen in
Bundle.entry.search.mode
mit dem Wertoutcome
gekennzeichnet sein. Die Issues im OperationOutcome dürfen nur dem Schweregradinformation
oderwarning
entsprechen. Issues vom Schweregraderror
oderfatal
sind unzulässig. - Das Ergebnis-Bundle der Suche muss konform sein zum Profil "ISiKDokumentenSuchergebnisse"
ISiKDokumentenSuchergebnisse (Bundle) I Bundle id Σ 0..1 string meta Σ 0..1 Meta implicitRules Σ ?! 0..1 uri language 0..1 codeBinding identifier Σ 0..1 Identifier type Σ 1..1 codeBindingFixed Value timestamp Σ 0..1 instant total Σ I 1..1 unsignedInt link Σ 0..* BackboneElement id 0..1 string extension I 0..* Extension modifierExtension Σ ?! I 0..* Extension relation Σ 1..1 string url Σ 1..1 uri entry Σ I 0..* BackboneElement (All Slices) id 0..1 string extension I 0..* Extension modifierExtension Σ ?! I 0..* Extension link Σ 0..* see (link) fullUrl Σ 1..1 uri resource Σ 0..1 Resource search Σ I 0..1 BackboneElement id 0..1 string extension I 0..* Extension modifierExtension Σ ?! I 0..* Extension mode Σ 0..1 codeBinding score Σ 0..1 decimal request Σ I 0..1 BackboneElement id 0..1 string extension I 0..* Extension modifierExtension Σ ?! I 0..* Extension method Σ 1..1 codeBinding url Σ 1..1 uri ifNoneMatch Σ 0..1 string ifModifiedSince Σ 0..1 instant ifMatch Σ 0..1 string ifNoneExist Σ 0..1 string response Σ I 0..1 BackboneElement id 0..1 string extension I 0..* Extension modifierExtension Σ ?! I 0..* Extension status Σ 1..1 string location Σ 0..1 uri etag Σ 0..1 string lastModified Σ 0..1 instant outcome Σ 0..1 Resource DocumentReference Σ I 0..* BackboneElement id 0..1 string extension I 0..* Extension modifierExtension Σ ?! I 0..* Extension link Σ 0..* see (link) fullUrl Σ 0..1 uri resource Σ I 1..1 ISiKDokumentenMetadaten search Σ I 0..1 BackboneElement id 0..1 string extension I 0..* Extension modifierExtension Σ ?! I 0..* Extension mode Σ 0..1 codeBinding score Σ 0..1 decimal request Σ I 0..1 BackboneElement id 0..1 string extension I 0..* Extension modifierExtension Σ ?! I 0..* Extension method Σ 1..1 codeBinding url Σ 1..1 uri ifNoneMatch Σ 0..1 string ifModifiedSince Σ 0..1 instant ifMatch Σ 0..1 string ifNoneExist Σ 0..1 string response Σ I 0..1 BackboneElement id 0..1 string extension I 0..* Extension modifierExtension Σ ?! I 0..* Extension status Σ 1..1 string location Σ 0..1 uri etag Σ 0..1 string lastModified Σ 0..1 instant outcome Σ 0..1 Resource signature Σ 0..1 Signature
2:3.67.4.2.2.1 DocumentReference Resource Contents
- Die DocumentReference-Ressoucen müssen im ISiK-Kontext auf Basis des Profils "ISiKDokumentenMetadaten" und den dort vereinbarten Kardinalitäten bzw. MustSupport-Flags erstellt werden.
2:3.67.4.2.2.1.1 Document Location
Die Vereinbarungen gelten uneingeschränkt.
Alle weiteren Unterkapitel von 2:3.67.4.2.2.1 DocumentReference Resource Contents sind für den ISiK-Kontext nicht relevant.
2:3.67.4.3 Expected Actions
Die Vereinbarungen gelten uneingeschränkt.
2:3.67.4.4 CapabilityStatement Resource
Es gelten die Vereinbarungen gemäß CapabilityStatement
2:3.67.5 Security Considerations
Für Hinweise zur Implementierung von Autorisation und Authentifikation im ISiK-Kontext, siehe Modul ISiK-Sicherheit.
Dokumentenzugriff (IHE MHD ITI-68 (Retrieve Document))
Das den Metadaten zugeordnete Dokument kann jeweils unter DocumentReference.content.attachment.url
vom Server abgerufen werden.
Hinweise und Anmerkungen zur Implementierung von IHE MHD ITI-68 (Retrieve Document)
Für die Implementierung der Interaktion "Dokumentenzugriff" gelten die in IHE MHD festgelegten Vereinbarungen zu ITI-68 (Retrieve Document) gemäß der unten aufgelisteten Kapitel. Abweichungen bzw. zusätzliche Festlegungen im Kontext von ISiK sind im Folgenden zu den einzelnen Kapiteln vermerkt.
2:3.68.4.1 Retrieve Document Request Message
2:3.68.4.1.1 Trigger Events
Die Vereinbarungen gelten uneingeschränkt.
2:3.68.4.1.2 Message Semantics
Der einzige MIME-Type, den alle Dokumentenserver verpflichtend zurückgeben können MÜSSEN, ist der MIME Type, der dem DocumentReference.content.attachment.contentType
entspricht.
Im ISiK-Kontext SOLLEN Dokumentenserver das Dokument darüber hinaus über einen Binary-Endpunkt bereitstellen können. Dieser verfügt über folgende Besonderheit:
- Wenn der Zugriff mit dem Accept-Header
application/fhir+xml
oderapplication/fhir+json
erfolgt, müssen die Daten als Binary-Ressource im angeforderten Format zurückgegeben werden. - Wenn der Zugriff mit einem anderen Accept-Header als
application/fhir+xml
oderapplication/fhir+json
erfolgt, so soll das Dokument im angeforderten Format zurückgegeben werden, z.B. MUSS bei Zugriffen mit Accept-Headerapplication/pdf
das Dokument unmittelbar als PDF zurückgegeben werden, sofern dies dem Content-Type der Binary-Ressource entspricht.
2:3.68.4.1.3 Expected Actions
Die Vereinbarungen gelten uneingeschränkt.
2:3.68.4.2 Retrieve Document Response Message
Die Vereinbarungen dieses Kapitels und aller Unterkapitel gelten uneingeschränkt.
2:3.68.4.2.1 Trigger Events
Die Vereinbarungen gelten uneingeschränkt.
2:3.68.4.2.2 Message Semantics
Die Vereinbarungen gelten uneingeschränkt.
2:3.68.4.3 Expected Actions
Die Vereinbarungen gelten uneingeschränkt.
2:3.68.4.4 CapabilityStatement Resource
Es gelten die Vereinbarungen gemäß CapabilityStatement
2:3.68.5 Security Considerations
Für Hinweise zur Implementierung von Autorisation und Authentifikation im ISiK-Kontext, siehe Modul ISiK-Sicherheit
Interaktion: Update von Metadaten
Herstellung von Dokumentenkontext
Der Client muss zunächst die URL der DocumentReference ermitteln, auf die das Update angewendet werden soll. Hierzu kann die Interaktion Dokumentenabfrage verwendet werden.
Metadatenupdate
Das Update der Metadaten erfolgt mittels der $update-metadata
Operation.
Hinweis: Der zum Zeitpunkt der Erstellung dieser Spezifikation vorliegende IHE-MHD-Implementierungsleitfaden sieht kein Metadatenupdate vor. Hier müsste stets ein neues Dokument übermittelt werden.
Für den ISiK-Usecase als maßgeblich relevant und unkritisch in Bezug auf die Versionierung hat sich jedoch das Element docStatus
erwiesen, welches im IHE-Kontext keine Berücksichtigung findet. Im einrichtungsinternen Dokumentenaustausch kommt es häufig vor, dass sich der Status eines Dokumentes ändert (z.b. vorläufig -> final), ohne dass dies Auswirkungen auf den Inhalt hat. Die Anlage eines neuen Dokumentes wäre in diesem Kontext nicht effizient.
Daher spezifiziert ISiK eine geeignete Operation, die das gezielte Ändern des Dokumentenstatus ermöglicht.
OperationDefinition $update-metadata
Invocations
URL: [base]/DocumentReference/[id]/$update-metadata
Parameters (In)
Name | Cardinality | Type | Binding | Documentation |
docStatus | 1..1 | code | CompositionStatus (required) | new value for element |
Expected behaviour:
- Servers SHALL update the DocumentReference.docStatus with the submitted values
- Servers SHALL ensure that DocumentReference.text reflects this change
Beispiel
[base]/DocumentReference/example/$update-metadata?docStatus=final
Hinweis | Work in Progress! |
---|---|
Die hier vorliegende Definition der Operation dient als Vorschlag, der auf Basis von Implementierungserfahrungen weiterentwickelt werden soll. Kritik, Feedback und Verbesserungsvorschläge, insbesondere UseCases für das Update weiterer Metadaten-Elemente bitte im ISiK-Community-Chat diskutieren! |
Erzeugen von Metadaten (IHE MHD ITI-106 Generate Metadata)
Hinweis | Breaking Change! |
---|---|
Die in der Stufe 3 erfolgte Umstellung der Definition von $generate-metadata von der in ISiK Stufe 2 spezifizierten OperationDefinition auf die in IHE MHD ITI-106 spezifizierte Fassung ist nicht kompatibel zu den Festlegungen dieses Moduls in Stufe 2! Die Änderung dient dem Zweck der Harmonisierung mit der IHE-MHD-Interaktion ITI-106 (Generate Metadata), die zum Zeitpunkt des Releases von Stufe 2 noch nicht zur Verfügung stand. |
Hinweise und Anmerkungen zur Implementierung von IHE MHD ITI-106 (Generate Metadata)
Für die Implementierung der Interaktion "Erzeugen von Dokumentenmetadaten" gelten die in IHE MHD festgelegten Vereinbarungen zu ITI-106 (Generate Metadata) gemäß der unten aufgelisteten Kapitel. Abweichungen bzw. zusätzliche Festlegungen im Kontext von ISiK sind im Folgenden zu den einzelnen Kapiteln vermerkt.
2:3.106.4.1 Generate Metadata Request Message
2:3.106.4.1.1 Trigger Events
Die Vereinbarungen gelten uneingeschränkt.
2:3.106.4.1.2 Message Semantics
Die Vereinbarungen gelten uneingeschränkt.
2:3.106.4.1.3 Expected Actions
Der Fokus für die Implementierung der Operation ISiK-Kontext sollte auf dem Persistieren und Erzeugen von Metadaten für ISiK-konforme Bundles gemäß Interaktion ISiK Modul Basis Stufe 4: Bericht aus Subsystem liegen. Für die Implementierung kann das unten angegeben ISiK-Spezifische Mapping Composition -> DocumentReference als Anhaltspunkt verwendet werden.
Die Unterstützung weiterer Input-Formate (z.B. CDA oder andere FHIR-Dokumente, wie MIOs, eRezept, eAU etc.) ist optional.
Alle weiteren Unterkapitel von 2:3.106.4.1.3 Expected Actions sind für den ISiK-Kontext nicht relevant.
2:3.106.4.2 Generate Metadata Response Message
2:3.106.4.2.1 Trigger Events
Die Vereinbarungen gelten uneingeschränkt.
2:3.106.4.2.2 Message Semantics
Die Vereinbarungen gelten uneingeschränkt.
2:3.106.4.2.3 Expected Actions
Die Vereinbarungen gelten uneingeschränkt.
2:3.106.4.3 CapabilityStatement Resource
Es gelten die Vereinbarungen gemäß CapabilityStatement
2:3.106.5 Security Considerations
Für Hinweise zur Implementierung von Autorisation und Authentifikation im ISiK-Kontext, siehe Modul ISiK-Sicherheit
ISiK-Spezifisches Mapping Composition -> DocumentReference
Path | map | comment |
---|---|---|
DocumentReference.masterIdentifier | Bundle.identifier | |
DocumentReference.identifier | Composition.identifier | |
DocumentReference.status | =current | |
DocumentReference.docStatus | Composition.status | |
DocumentReference.type.coding:KDL | Composition.type.coding[KDL] | |
DocumentReference.type.coding:XDS | Composition.type.coding[XDS] | Kann mittels Lookup in den KDL->XDS ConceptMaps anhand des KDL-Type-Codes ermittelt werden |
DocumentReference.category.coding:XDS | Composition.category.coding[XDS] | Kann mittels Lookup in den KDL->XDS ConceptMaps anhand des KDL-Type-Codes ermittelt werden |
DocumentReference.subject | Lookup Composition.subject.resolve().identifier[PID] | Ermittlung des korrekten Patienten auf dem Server anhand des Identifiers (PID) und/oder weiterer Kriterien erforderlich |
DocumentReference.author | Composition.author | |
DocumentReference.relatesTo.code | Composition.relatesTo.code | |
DocumentReference.relatesTo.target | Lookup Composition.relatesTo.targetReference.resolve().identifier | Ermittlung der zu ersetzenden DocumentReference anhand des identifiers der referenzierten Composition erforderlich |
DocumentReference.description | Composition.title | |
DocumentReference.content.attachment.contentType | `application/html` für den extrahierten Narrative, `application/fhir+xml` oder `application/fhir+json` für das Bundle | |
DocumentReference.content.attachment.language | =de sofern keine abweichende Angabe in Composition.language | |
DocumentReference.content.attachment.url | vom Server festgelegter Speicherort des Bundles/Narratives | |
DocumentReference.content.attachment.creation | Composition.date | |
DocumentReference.content.format | =urn:ihe:iti:xds:2017:mimeTypeSufficient | |
DocumentReference.context.encounter | Lookup Composition.encounter.resolve().identifier | Ermittlung des korrekten Encounters auf dem Server anhand des Identifiers(Fallnummer) und/oder weiterer Kriterien erforderlich |
DocumentReference.context.facilityType | =KHS, sofern nichts anderes bekannt |
Abgrenzung zu ISiK Stufe 2 (Basis) bei der Kommunikation strukturierter Dokumente (FHIR-Document-Bundle)
Interaktion ISiK Modul Basis Stufe 2: Bericht aus Subsystem
- UseCase: Client übermittelt diverse strukturierte Informationen in Form eines Dokumentes an einen Empfänger. Der Empfänger (oder ggf. dessen Benutzer) kann selbst entscheiden, welche Informationen übernommen und ggf. weiterverarbeitet werden können/sollen. Als Minimum muss die Narrative (die HTML-Repräsentation des gesamten Dokumentes) übernommen werden.
- HTTP-verb: POST auf [base]
- Content: Bundle vom Typ
document
- erforderliches Verhalten: der Empfänger verarbeitet den Inhalt des Dokumentes (HTML + Ressourcen soweit möglich), das Original muss nicht zwingend persistiert werden. Es besteht kein zwingendes Erfordernis, dass das Dokument oder seine Inhalte über die API wieder bereitgestellt werden können.
Interaktion ISiK Modul Dokumentenaustausch Stufe 2: Dokumentenbereitstellung
- UseCase: Client übermittelt ein strukturiertes Dokument zur inhaltsagnostischen, dauerhaften, ggf. rechtssicheren Archivierung
- HTTP-verb: POST auf [base]/DocumentReference
- Content: DocumentReference mit Base64-codiertem Bundle vom Typ
document
eingebettet in DocumentReference.content.attachment.data) - erforderliches Verhalten: das Dokument sowie seine Metadaten werden persistiert und über die API mittels der Interaktionen "Dokumentenabfrage" und "Dokumentenzugriff" bereitgestellt.
Typische Szenarien mit Koexistenz beider Interaktionen:
Der Empfänger eines Subsystem-Berichtes gem. Modul "Basis" möchte vor der Verarbeitung des Dokumenteninhalts das Original zur Archivierung an einen Dokumentenserver gem. Modul "Dokumentenaustausch" übermitteln und die Herkunft der extrahierten Daten aus dem Dokument nachvollziehbar machen.
Empfohlenes Vorgehen:
- Erzeugen einer DocumentReference-Ressource (siehe dazu $generate-metadata)
- Übermittlung der DocumentReference sowie des Base64-codierten Bundles gemäß Interaktion ISiK Modul Dokumentenaustausch Stufe 2: Dokumentenbereitstellung
- Extraktion der verarbeitbaren Ressourcen aus dem Bundle
- Verlinkung zwischen den extrahierten Ressourcen und dem Original-Dokument mittels einer
Provenance
-Ressource.
Der Sender eines Subsystem-Berichtes gem. Modul "Basis" möchte parallel zur Übermittlung an z.B. ein KIS zur Weiterverarbeitung der Informationen das Dokument ebenfalls im Original archivieren lassen.
Empfohlenes Vorgehen:
- Erzeugen einer DocumentReference-Ressource (siehe dazu $generate-metadata)
- Übermittlung der DocumentReference sowie des Base64-codierten Bundles gemäß Interaktion ISiK Modul Dokumentenaustausch Stufe 2: Dokumentenbereitstellung
- Übermittlung des Dokumentes zur Verarbeitung gemäß Interaktion ISiK Modul Basis Stufe 4: Bericht aus Subsystem
Der Empfänger eines Dokumentes gem. Modul "Dokumentenaustausch" möchte neben der Archivierung des Dokumentes auch dessen Inhalte weiterverarbeiten.
Empfohlenes Vorgehen:
- Entgegennahme und Persistierung des Original-Dokumentes gemäß Interaktion ISiK Modul Dokumentenaustausch Stufe 2: Dokumentenbereitstellung
- Extraktion des Bundles aus den eingebetten Binärdaten
- Extraktion der verarbeitbaren Ressourcen aus dem Bundle
- Verlinkung zwischen den extrahierten Ressourcen und dem Original-Dokument mittels einer
Provenance
-Ressource.