Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Not Used

Expand
titleVersiegeschiedenis...

Versie

Datum

Status

Wijzigingen

1.0.5

8 mei 2024

definitief

Plaatje aangepast, Tracing en Ketenlogging. X-Correlation_ID niet overgenomen uit de bovenliggende Trace_ID. Verwijzing naar de w3c standaard is verwijderd. Het voorgestelde mechanisme voor koppeltaal komt niet overeen met deze standaard. Daarnaast aantal beschrijvingen voor Entity en Agent aanduiding verbeterd.

1.0.4

26 mar 2024

definitief

Comments Joris verwerkt, aantal zaken omgezet in Backlog items.
- Entity.query, Entity.role & Entity.name worden niet gebruikt in de meeste events. De overige voorgestelde wijzigingen zijn neergelegd in product backlog items.

1.0.3

definitief

verbeterde beschrijving van gehele pagina
- HTI.jti als X-Trace-Id gebruiken

1.0.2

definitief

Aanpassingen tbh IDP

1.0.1

AuditEvent User Authentication Auntication toegevoegd

1.0.0

 

definitief


...

Veld

Waarde

Event type

Delete

FHIR AuditEvent voor Koppeltaal

RESTful operatie

verantwoordelijke partij

FHIR Resource Provider

type

Code Block
{
 "system": "http://terminology.hl7.org/CodeSystem/audit-event-type"
 "code": "rest"
 "display": "RESTful Operation"
}

subtype

Code Block
{
 "system": "http://hl7.org/fhir/restful-interaction"
 "code": "delete"
 "display": "delete"
}

action

D

agent.who

De referentie naar de applicatie die de actie uitvoert, cq de applicatie die veroorzaker is van het Event

Code Block
{
 "reference": "Device/<id|client_id>"
}

agent.type

Code Block
{
 "coding" : {
  "system": "http://dicom.nema.org/resources/ontology/DCM "
  "code": "110153"   
  "display": "Source Role ID"
 }
}

agent.requestor

true

entity.type

Code Block
{
 "system": "http://hl7.org/fhir/resource-types"
 "code": "OperationOutcome"
 "display": "OperationOutCome"
}

The De OperationOutcome wordt alleen getoond in een fout situatie.

entity.what

Code Block
{
 "reference": "<ResourceType>/<id>/_history/<version>"
}

entity.name

Veld wordt alleen gevuld met de waarde “OperationOutcome” wanneer een fout optreedt bij het verwerken van een event (outcome <>0) Dit element komt te vervallen in de FHIR R5 Standaard en komt daarom ook in de huidige versie van Koppeltaal te vervallen

entity.role

entity.query

Query parameters in base64Binary formaat

source.site

Base URL van de applicatie waar de log wordt aangemaakt. In dit geval is dat de base URL van de fhir-service.

source.observer

De device reference van het device dat het event waarneemt. In dit geval is dat de fhir-resource service.

recorded

Timestamp van vastlegging, bijvoorbeeld: 2024-02-05T12:06:13+0000

...

Veld

Waarde

Event type

Status Change

FHIR AuditEvent voor Koppeltaal

Application Activity

verantwoordelijke partij

Applicatie

type

Code Block
{
 "system": "http://dicom.nema.org/resources/ontology/DCM"
 "code": "110100"   
 "display": "Application Activity"
}

subtype

Code Block
{
 "system": "http://dicom.nema.org/resources/ontology/DCM"
 "code": "110120" // of andere code
 "display": "Application Start" // of andere display waarde"
}

action

E

agent.who

De referentie van de applicatie die de status change verstuurt.

Code Block
{
 "reference": "Device/<id|client_id>"
}

agent.type

Code Block
{
 "coding" : {
  "system": "http://dicom.nema.org/resources/ontology/DCM"
  "code": "110150"   
  "display": "Application"
 }
}

agent.requestor

true

entity.type

Code Block
{
 "system": "http://hl7.org/fhir/resource-types",
 "code": "Device",
 "display": "Device"
}

entity.what

De referentie naar de applicatie:

Code Block
{
 "reference": "Device/<id|client_id>"
}

entity.name

Veld wordt alleen gevuld met de waarde “OperationOutcome” wanneer een fout optreedt bij het verwerken van een event (outcome <>0) Dit element komt te vervallen in de FHIR R5 Standaard en komt daarom ook in de huidige versie van Koppeltaal te vervallen

entity.role

Not Used

entity.query

Not Used

source.site

Base URL van de applicatie waar de log wordt aangemaakt.

source.observer

De device reference van het device dat het event waarneemt. Deze kan opgesteld worden op basis van de client_id:

Code Block
{
 "reference": "Device/<id|client_id>"
}

recorded

Timestamp van vastlegging, bijvoorbeeld: 2024-02-05T12:06:13+0000

User

...

Auntication

Veld

Waarde

Event type

User AuthenticationAuntication

FHIR AuditEvent voor Koppeltaal

User AuthenticationAuntication

verantwoordelijke partij

Authorization Service

type

Code Block
{
 "system": "http://dicom.nema.org/resources/ontology/DCM"
 "code": "110114"   
 "display": "User AuthenticationAuntication"
}

subtype

Code Block
{
 "system": "http://dicom.nema.org/resources/ontology/DCM"
 "code": "110122" // of andere code
 "display": "Login" // of andere display waarde"
}

action

E

agent.who

  1. De referentie naar de autorisatieserver die de authenticatie aunticatie aanvraagt,

    Code Block
    {
     "reference": "Device/<id|client_id>"
    }
  2. (optioneel) De referentie naar de IdP.

agent.type

  1. 110153

    Code Block
    {
     "coding" : {
      "system": "http://dicom.nema.org/resources/ontology/DCM"
      "code": "110153"   
      "display": "Source Role ID"
     }
    }
  2. 110152 (optioneel)

    Code Block
    {
     "coding" : {
      "system": "http://dicom.nema.org/resources/ontology/DCM"
      "code": "110152"   
      "display": "Destination Role ID"
     }
    }

agent.requestor

  1. true

  2. false (optioneel)

entity.type

Code Block
{
 "system": "http://hl7.org/fhir/resource-types"
 "code": "<ResourceType>"
 "display": "<ResourceType>"
}

entity.what

FHIR reference to Patient / Practitioner:

Code Block
{
 "reference" : <Patient | Practitioner>/<id>
}

entity.name

Veld wordt alleen gevuld met de waarde “OperationOutcome” wanneer een fout optreedt bij het verwerken van een event (outcome <>0) Dit element komt te vervallen in de FHIR R5 Standaard en komt daarom ook in de huidige versie van Koppeltaal te vervallen

entity.role

1 of 15 afhankelijk van Patient of Practioner

{

"system": "http://terminology.hl7.org/CodeSystem/object-role"

"code": "1"

"display": "Patient"

}

{

"system": "http://terminology.hl7.org/CodeSystem/object-role"

"code": "15"

"display": "Practitioner"

}

entity.query

Not Used

source.site

Base URL van de autorisatieserver waar de log wordt aangemaakt.

source.observer

De device reference van de autorisatieserver dat het event waarneemt. Deze kan opgesteld worden op basis van de client_id:

Code Block
{
 "reference": "Device/<id|client_id>"
}

recorded

Timestamp van vastlegging, bijvoorbeeld: 2024-02-05T12:06:13+0000

...

FHIR AuditEvent Resource


Element

Card

Omschrijving

extension.request-id

0..1

Om één interactie (request of response) eenduidig uniek te kunnen identificeren a.d.h.v. een identifier (X-Request-Id)

De waarde van het X-Request-Id veld, indien de waarde ontbreekt in het originele request moet deze zelf gegenereerd worden.

Code Block
"extension":  [
        {
            "url": "http://koppeltaal.nl/fhir/StructureDefinition/trace-id",
            "valueId": "8385f600-9bf7-4b96-8467-268070c27677"
        },
        {
            "url": "http://koppeltaal.nl/fhir/StructureDefinition/request-id",
            "valueId": "fd8f9c51-1807-43bf-ba08-fa55d4cba533"
        },
        {
            "url": "http://koppeltaal.nl/fhir/StructureDefinition/trace-id",
            "valueId": "71d21867-ed29-498d-913f-add467c09710"
        },
        {
            "url": "http://koppeltaal.nl/fhir/StructureDefinition/resource-origin",
            "valueReference": {
                "reference": "Device/67aca2ac-3ed3-4ec7-b912-640a5a88a883",
                "type": "Device"
            }
        }
    ]

extension.correlation-id

0..1

De waarde van het X-Correlation-Id veld in het voorgaande request, indien van toepassing.

extension.trace-id

0..1

Om een set interacties te groeperen en eenduidig uniek te kunnen identificeren onder een bepaalde (initiërende) type gebeurtenis a.d.h.v. een traceer identifier (X-Trace-Id).

De waarde van het X-Trace-id veld, indien van toepassing.

extension.resource-origin

0..1

De referentie naar de device van de aanvrager van het request. In het geval van de FHIR resource service wordt dit veld automatisch gevuld door de aanvrager van het request voor alle REST operaties op alle resources. 



Beschrijving van een gebeurtenis.

type

1..1

Identificatie van het type gebeurtenis. Coding met als waardeset het audit-event-type, waarvan met name de volgende sets (of een deel daarvan) worden gebruikt:

Code Block
"type": {
        "system": "http://terminology.hl7.org/CodeSystem/audit-event-type",
        "code": "rest",
        "display": "Restful Operation"
    }

subtype

0..*

Gedetailleerde beschrijving van het type gebeurtenis. Coding met als waardeset AuditEventSub-Type.

Afhankelijk van type gebeurtenis kan dit zijn:

Code Block
"subtype":  [
        {
            "system": "http://hl7.org/fhir/restful-interaction",
            "code": "create",
            "display": "create"
        }
    ]

action

0..1

Aanduiding van de AuditEventAction bij deze gebeurtenis.

  • C - Creëren van data 

  • R - Lezen van data

  • U - Wijzigen van data

  • D - Verwijderen van Data

  • E - Starten of stoppen van een proces

Code Block
"action": "C"

period

0..1

De periode waarbinnen de gebeurtenis plaatsvond. Het datatype is Period.

Code Block
"period": {
        "start": "2023-06-12T10:27:31.389+00:00",
        "end": "2023-06-12T10:27:33.456+00:00"
    }
  

recorded

1..1

Het tijdstip van de gebeurtenis wordt eenduidig en aan het begin van de gebeurtenis vastgelegd, het tijdstip wordt vastgelegd in de UTC tijdzone.

Code Block
"recorded": "2023-06-12T10:27:31.389+00:00"

outcome

0..1

Indicatie van het resultaat van de gebeurtenis van het type AuditEventOutcome

  • 0: Succes

  • 4: Kleine fout

  • 8: Serieuze fout

  • 12: Fataal

Code Block
"outcome": "4"

outcomeDesc

0..1

Beschrijving van de melding, indien een foutmelding.

Code Block
"outcomeDesc" : "Invalid value for recorded"




agent

1..*

Identificatie van een gebruiker. Dit kan een persoon, organisatie of applicatie instantie in een informatie systeem representeren. Bij elke gebeurtenis MOET tenminste één gebruiker geïdentificeerd worden.

Code Block
"agent":  [
        {
            "who": {
                "reference": "Device/ba33314a-795a-4777-bef8-e6611f6be645"
            },
            "type": {
                "coding":  [
                    {
                        "system": "http://dicom.nema.org/resources/ontology/DCM",
                        "code": "110153"
                    }
                ]
            },
            "requestor": true
        }

agent.who

1..1

Identificator van de gebruiker die de gebeurtenis initieert voor de bron van logging. De gebruiker is bij Koppeltaal is dit altijd een Reference naar een Device.

agent.role

0..*

De veiligheidsrol van de agent, met als waardeset SecurityRoleType, waaronder:

  • 110150 - Application

  • 110151 - Application Launcher

  • 110152 - Destination Role ID

  • 110153 - Source Role ID

agent.type

1..1

Rol van de gebruiker bij de gebeurtenis van het type ParticipationRoleType, waaronder:

  • 110150 - Application

  • 110151 - Application Launcher

  • 110152 - Destination Role ID

  • 110153 - Source Role ID

agent.requestor

1..1

Aanduiding dat deze gebruikers de initiator is van de gebeurtenis.

agent.network

0..1

Dit veld heeft de waarde van Subscription.channel.endpoint

entity

1..*

Identificatie van de betrokken objecten en typen objecten bij deze gebeurtenis. Verschillende typen objecten worden op verschillende wijzen geïdentificeerd. Ter identificatie van de betrokken objecten MOETEN het Identificatortype en Identificator van het object bepaald worden.

Code Block
"entity":  [
        {
            "what": {
                "reference": "Patient/f89f5013-4552-40e8-b0de-b217b9c15080/_history/1",
                "type": "Patient"
            },
            "type": {
                "system": "http://hl7.org/fhir/resource-types",
                "code": "Patient",
                "display": "Patient"
            }
        }
    ]

entity.type

0..1

Geef het type identificator van het betrokken object weer. Coding met als waardeset AuditEventEntityType.

Dit veld kan gevuld worden met de ResourceType, zoals

  • Patient

  • Practitioner

  • Task

  • ....




entity.what

0..1

Geeft een unieke identificator van een bij de gebeurtenis betrokken object weer, afhankelijk van het Identificatortype van het object.

Dit veld kan gevuld worden met de entity referentie, zoals:

  • Patient/e7b5f229-8b28-46f7-afef-49cbec94943a

  • Practitioner/d86d79aa-8dea-4bfc-8ea2-a247b9e97a7b

  • Task/c97e2000-e423-401d-9c25-a1b7e65e5b6d

entity.name

0..1

Nadere aanduiding van het betrokken object. Dit element komt te vervallen in de FHIR R5 Standaard en komt daarom ook in de huidige versie van Koppeltaal te vervallen

entity.description

0..1

Tekst die de entiteit in verder detail beschrijft, in het geval van een OperationOutcome kan hier de beschrijving in gezet worden.

entity.securityLabel

0..*

Toegangscontrole beleid dat specifiek is voor Koppeltaal, dat wordt gebruikt om één of meer autorisatiebeleidsregels af te dwingen.

Code Block
"type":  [
    {
        "system": "http://terminology.hl7.org/CodeSystem/v3-Confidentiality",
        "code": "U",
        "display": "unrestricted",
        "version": "4.3.0"
    }
]

entity.role

0..1

Code die de categorie (of rol) van het betrokken object weergeeft.

We gebruiken hiervoor de volgende code systemen:

Voorbeeld: waarde "Query" De inhoud van een query. Dit wordt gebruikt om de inhoud van elke soort query vast te kunnen leggen. Voor beveiligingstoezicht doeleinden is het erg belangrijk om te weten welke vragen er worden gesteld.

entity.lifecycle

0..1

Code die het stadium van het betrokken object weergeeft voor die objecten die een bepaalde levenscyclus kennen.

We gebruiken hiervoor de volgende code systemen:

Code Block
"type":  [
    {
        "system": "http://terminology.hl7.org/CodeSystem/dicom-audit-lifecycle",
        "code": "14",
        "display": "Logical deletion"
    }
]

entity.query

0..1

De feitelijke formulering van een "Query" in geval het betrokken object als categorie "Query" is.

source



Code Block
"source": {
        "site": "https://modules.mijnzggz.nl",
        "observer": {
            "reference": "Device/ba33314a-795a-4777-bef8-e6611f6be645",
            "type": "Device"
        },
        "type":  [
            {
                "system": "http://terminology.hl7.org/CodeSystem/security-source-type",
                "code": "4",
                "display": "Application Server"
            }
        ]
    },

source.site

0..1

Domeinnaam van de locatie waar gelogd is.

source.observer

1..1

Unieke identificatie van de bron in het informatiedomein waar de gebeurtenis is gelogd. Een referentie naar het Device, bijvoorbeeld: Device/5aa804f8-0b03-4f02-bbfe-53889893a4bb

source.type

0..*

Type (device) van de bron waar de gebeurtenis gelogd is.

...