# C_12513_Anlage

Bitte beachten:

Die folgende Änderung bezieht sich auf die Vorlage gemSpec_Aktensystem_ePAfueralle.

Im Zuge von Change C_12517 erfolgt die Verschiebung der Anforderungen des Audit Service aus der Spezifikation in den IG Basisfunktionalitäten. Das betrifft auch die folgend dargestellten Änderungen. Eine inhaltliche Änderung erfolgt dabei nicht, jedoch ergeben sich daraus geänderte Ids für die Anforderungen.

Änderung in gemSpec_Aktensystem_epAfueralle:

Präzisierung der Vorgaben für die Erstellung eines AuditEvent-Eintrags zur Protokollierung von Ereignissen der Operation RetrictedUpdateDocumentSet des XDS Document Service und der Befüllung von AuditEvent.entity und AuditEvent.entity.detail dazu.

alt:

A_24715-02 - XDS Document Service - Protokolleinträge für Zugriffe auf den XDS Document Service

Der XDS Document Service MUSS für die Operationen

- ProvideAndRegisterDocumentSet-b,
- RetrieveDocumentSet,
- RemoveMetadata,
- RestrictedUpdateDocumentSet,
- RegistryStoredQuery (entfällt, wenn Nutzung durch den Versicherten erfolgt)

Protokolleinträge gemäß A_24704* erzeugen und dabei folgende Wertebelegung berücksichtigen:

Tabelle 1: XDS Document Service Protokollierung

Strukturelement | Wert | Erläuterung
--- | --- | ---
AuditEvent.type | "document" |
AuditEvent.action | C | Für ProvideAndRegisterDocumentSet-b ohne Replace Option
U | Für ProvideAndRegisterDocumentSet-b mit Replace Option
U | Für RestrictedUpdateDocumentSet
R | Für RegistryStoredQuery
R | Für RetrieveDocumentSet
D | Für Zugriffe mit RemoveMetadata
AuditEvent.entity.name | "XDS Document Service" | Service Name
AuditEvent.entity.description | <Operation> | ein Wert aus {ProvideAndRegisterDocumentSet-b, RetrieveDocumentSet, RemoveMetadata, RestrictedUpdateDocumentSet, RegistryStoredQuery}

Parameterwerte für die Operationen ProvideAndRegisterDocumentSet-b, RetrieveDocumentSet und RemoveMetadata
AuditEvent.entity.detail | type | value[x] |
"DocumentFormatCode" | <DocumentEntry.formatCode> | wenn in der entity Struktur ein XDSDocument beschrieben wird. kodiert als Datentyp „Coded String“ gemäß [IHE-ITI- TF3]. Wenn es sich beim Wert von DocumentEntry.formatCode um den Code urn:ihe:iti:xds:2017:mimeTypeSufficient (Code System 1.3.6.1.4.1.19376.1.2.3) handelt, MUSS stattdessen der Wert von DocumentEntry.mimeType hier eingetragen werden.
"DocumentUniqueId" | <Document.uniqueId> | wenn in der entity Struktur ein XDSDocument beschrieben wird
"DocumentEntryTitle" | <DocumentEntry.title> | wenn in der entity Struktur ein XDSDocument beschrieben wird
"FolderTitle" | <Folder.title> | wenn in der entity Struktur ein XDSFolder beschrieben wird
"FolderCodeList" | <Folder.codeList> | wenn in der entity Struktur ein XDSFolder beschrieben wird kodiert als Datentyp „Coded String“ gemäß [IHE-ITI-TF3] z.B. "pregnancy_childbirth^^^&1.2.276.0.76.5.512&ISO"
"FolderEntryUUID" | <Folder.entryUUID> | wenn in der entity Struktur ein XDSFolder beschrieben wird

Parameterwerte für die Operation RegistryStoredQuery der Schnittstellen I_Document_Management und I_Document_Management_Insurant (nur Vertreter)
AuditEvent.entity.detail | type | value[x] |
"QueryId" | <Parameter Query ID> | Der Wert MUSS der Parameter Query ID gemäß [IHE-ITI-TF2]#3.18.4.1.2.4 und für das Aktensystem definierten Anfragetypen entsprechen.

Parameterwerte für die Operation RestrictedUpdateDocumentSet
Alle Metadaten, die geändert wurden, sind mit altem und neuem Wert mit den Parameternamen AuditEvent.entity.detail.type und .value[x] zu protokollieren. In A_15083* sind die Metadaten genannt, die geändert werden können. Der Parameter type ist ein Kompositum aus Objekt (Document) + Attribut in Groß/Kleinschreibung. Wird das geänderte Metadatum adressiert, wird noch der Präfix "prev" ergänzt. z.b.Metadatum: DocumentEntry.formatCode ->Parameter value type: DocumentFormatCode und prevDocumentFormatCode. Attributunterstrukturen werden ebenfalls in gemischter Groß/Kleinschreibung zusammengesetzt(z.b. author.Person -> AuthorPerson).

[<=]

neu (RestrictedUpdateDacumentSet entfernt):

(neue ID im IG Basisfunktionalitäten: IG-EPA81505MFF)

A_24715-03 - XDS Document Service - Protokolleinträge für Zugriffe auf den XDS Document Service

Der XDS Document Service MUSS für die Operationen

- ProvideAndRegisterDocumentSet-b,
- RetrieveDocumentSet,
- RemoveMetadata,
- RegistryStoredQuery (entfällt, wenn Nutzung durch den Versicherten erfolgt)

Protokolleinträge gemäß A_24704* erzeugen und dabei folgende Wertebelegung berücksichtigen:

Tabelle 2: XDS Document Service Protokollierung

Strukturelement | Wert | Erläuterung
--- | --- | ---
AuditEvent.type | "document" |
AuditEvent.action | C | Für ProvideAndRegisterDocumentSet-b ohne Replace Option
U | Für ProvideAndRegisterDocumentSet-b mit Replace Option
R | Für RegistryStoredQuery
R | Für RetrieveDocumentSet
D | Für Zugriffe mit RemoveMetadata
AuditEvent.entity.name | "XDS Document Service" | Service Name
AuditEvent.entity.description | <Operation> | ein Wert aus {ProvideAndRegisterDocumentSet-b, RetrieveDocumentSet, RemoveMetadata, RegistryStoredQuery}

Parameterwerte für die Operationen ProvideAndRegisterDocumentSet-b, RetrieveDocumentSet und RemoveMetadata
AuditEvent.entity.detail | type | value[x] |
"DocumentFormatCode" | <DocumentEntry.formatCode> | wenn in der entity Struktur ein XDSDocument beschrieben wird. kodiert als Datentyp „Coded String“ gemäß [IHE-ITI- TF3]. Wenn es sich beim Wert von DocumentEntry.formatCode um den Code urn:ihe:iti:xds:2017:mimeTypeSufficient (Code System 1.3.6.1.4.1.19376.1.2.3) handelt, MUSS stattdessen der Wert von DocumentEntry.mimeType hier eingetragen werden.
"DocumentUniqueId" | <Document.uniqueId> | wenn in der entity Struktur ein XDSDocument beschrieben wird
"DocumentEntryTitle" | <DocumentEntry.title> | wenn in der entity Struktur ein XDSDocument beschrieben wird
"FolderTitle" | <Folder.title> | wenn in der entity Struktur ein XDSFolder beschrieben wird
"FolderCodeList" | <Folder.codeList> | wenn in der entity Struktur ein XDSFolder beschrieben wird kodiert als Datentyp „Coded String“ gemäß [IHE-ITI-TF3] z.B. "pregnancy_childbirth^^^&1.2.276.0.76.5.512&ISO"
"FolderEntryUUID" | <Folder.entryUUID> | wenn in der entity Struktur ein XDSFolder beschrieben wird

Parameterwerte für die Operation RegistryStoredQuery der Schnittstellen I_Document_Management und I_Document_Management_Insurant (nur Vertreter)
AuditEvent.entity.detail | type | value[x] |
"QueryId" | <Parameter Query ID> | Der Wert MUSS der Parameter Query ID gemäß [IHE-ITI-TF2]#3.18.4.1.2.4 und für das Aktensystem definierten Anfragetypen entsprechen.

[<=]

neue Anforderung für RestrictedUpdateDocumentSet:

(neue ID im IG Basisfunktionalitäten: IG-EPA60678PVT)

A_28498 - XDS Document Service - Protokolleinträge für RestrictedUpdateDocumentSet

Der XDS Document Service MUSS für die Operationen RestrictedUpdateDocumentSet Protokolleinträge gemäß A_24704* erzeugen und dabei folgende Regeln und Wertebelegung berücksichtigen:

Strukturelement | Wert | Erläuterung
--- | --- | ---
AuditEvent.type | "document" |
AuditEvent.action | U |
AuditEvent.entity |  |  | Kann gemäß folgender Regeln mehrfach vorhanden sein
AuditEvent.entity.name | "XDS Document Service" | Service Name
AuditEvent.entity.description | "RestrictedUpdateDocumentSet" | Id der Operation
AuditEvent.entity.detail | type | value[x] |
| "DocumentTitle" | <Titel des Dokuments> | Titel des betroffenen Dokuments. Dieser Eintrag ist pro entity einmal vorhanden und identisch in allen verwendeten entity des AuditEvents
| geänderte Metadaten als Liste von (type | value[x])-Pärchen | die geänderten Metadaten gemäß folgender Regeln

Nr. | Regeln für die Befüllung | Beispiel
--- | --- | ---
1 | Alle geänderten Metadaten MÜSSEN mit altem und neuem Wert in je einem AuditEvent.entity.detail protokolliert werden. Der Parameter detail.type enthält ein Kompositum aus Objekt (Document) und Attribut in Groß/Kleinschreibung (CamelCase). Einem alten Wert wird zusätzlich der Präfix "prev" vorangestellt. | DocumentEntry.formatCode wird zu "DocumentFormatCode", bzw. "prevDocumentFormatCode"
2 | Attributunterstrukturen werden ebenfalls in Groß/Kleinschreibung (CamelCase) erstellt. | DocumentEntry.authorPerson wird zu "DocumentAuthorPerson", bzw. "prevDocumentAuthorPerson"
3 | Das detail.value[x] (valueString) ist mit dem jeweiligen Wert zu belegen. Das Format der Zeichenkette entspricht der des Metadatums |
4 | Jede AuditEvent.entity MUSS ein detail mit dem Titel des betroffenen Dokuments enthalten ("DocumentTitle"), um den Bezug der Metadatenänderungen in den folgenden details zu diesem Dokument zu erfassen. | "DocumentTitle" | "Titel des Dokuments"
5 | Ist der Dokumententitel selbst Bestandteil der Änderung der Metadaten, MUSS dieses detail den neuen Titel des Dokuments enthalten (Das detail zu "DocumentTitle" wird innerhalb einer entity nicht mehrfach aufgeführt). |
6 | Werden mehrere gleichartige Metadaten geändert, so MÜSSEN diese in jeweils einem eigenen detail erfasst werden. |
7 | Eine geänderte Reihenfolge gleichartiger Metadaten ist keine Änderung der Metadaten und wird nicht protokolliert. |
8 | Erfolgen Änderungen an Attributunterstrukturen, deren übergreifendes Attribut eine Kardinalität (u .. v) mit v-u > 1 aufweist, so MÜSSEN die einzelnen Instanzen des übergreifenden Attributs in jeweils einer eigenen AuditEvent.entity erfasst werden. | Diese Regel ist bei Änderungen an Unterstrukturen zu author anzuwenden
9 | Werden mehrere AuditEvent.entity zur Separation von Instanzen übergreifender Attribute für die Protokollierung verwendet, dann MUSS in jeder dieser AuditEvent.entity die gleiche Angabe zu name und description enthalten sein |
10 | Werden mehrere AuditEvent.entity zur Separation von Instanzen übergreifender Attribute für die Protokollierung verwendet, dann MÜSSEN alle Änderungen an Metadaten (detail) ohne Bezug auf das übergreifende Attribut innerhalb der gleichen AuditEvent.entity aufgeführt werden. |
11 | Werden durch eine Operation die Metadaten mehrerer Dokumente verändert, dann MUSS pro Dokument mindestens eine AuditEvent.entity, im Bedarfsfall aufgrund von Änderungen an übergreifenden Attributen auch mehrere (siehe Regel Nr. 8), angelegt werden. AuditEvent.entity des gleichen Dokuments MÜSSEN im AuditEvent aufeinanderfolgen. |

[<=]

Hinweis zu A_28498-*:

Ein Protokolleintrag für eine RestrictedUpdateDocumentSet-Operation enthält in der Regel genau einen "entity" Eintrag und darin die Liste der (type | value)-Pärchen mit den Änderungen an Metadaten in "detail", inklusive eines Eintrags für den Dokumententitel des betroffenen Dokuments. Als übergreifendes Attribut gibt es derzeit unter den änderbaren Metadaten nur das Attribut "author". Dieses ist selbst kein änderbares Metadatum, sonder dient der Gruppierung der untergeordneten Metadaten (beispielsweise "authorPerson" oder "authorSpeciality"). Hat ein Dokument mehr als einen "author" (Instanz) zugeordnet, so muss im Protokoll der Bezug der Metadatenänderung eines "author" zu seiner Instanz erkennbar sein. Dieses wird durch die Verwendung einer jeweils eigenen "entity" zu Separation ermöglicht.

Hinweis zu A_28498-*

Bei Änderungen von Metadaten eines übergreifenden Attributs (hier "author") wird immer der vollständige Satz der resultierenden Attributunterstrukturen in der Operation angegeben (beispielsweise "authorPerson", "authorSpeciality" und andere), auch wenn diese bisher schon vorhanden sind. Ein AuditEvent kann dann in zwei Varianten erstellt werden:

- Kurzform: In der ".entity" für die betroffene "author"-Instanz sind nur die tatsächlich geänderten Metadaten aufgeführt (Metadatum + prevMetadatum).
- Langform: Die Operation wird als vollständiger Austausch eines oder mehrerer "author"-Instanzen betrachtet. Es sind dann je eine "entity" pro bisherigem "author" zu verwenden (nur prevMetadatum, alle Metadaten zu dieser "author"-Instanz werden entfernt) und je eine "entity" pro "author" aus der Operation (nur Metadaten, alle Metadaten zu dieser "author"-Instanz kommen neu hinzu).

Die Auswahl der Variante obliegt dem realisierenden System.