Versions Compared

Key

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

...

1.Verzamelingen van logregels worden in het JSON formaat bij MedMij aangeboden. De verzamelingen worden met een HTTP POST request naar de endpoint van MedMij gestuurd.

Anchor
core.logint.200
core.logint.200
core.logint.200

2.

Alle aan te leveren logregels bevatten een event-object met een vaste set aan attributen:

  • type
    een vaste code per gebeurtenis, te kiezen uit de lijst hierboven.
  • location
    De hostname van deelnemer die de logregel vastlegt.
  • datetime
    De datum, het tijdstip en de tijdzone van de gebeurtenis, vastgelegd in het formaat "2023-03-28T22:14:23.618+01:00".
  • session_id
    Het identificerende kenmerk van de sessie bij de deelnemer, bij voorkeur een UUID.
  • trace_id
    Het identificerende kenmerk van het proces waarbinnen de stap wordt uitgevoerd, vastgelegd als UUID. Deze waarde is eenzelfde en gelijk aan de waarde van de parameter X-Correlation-ID in het request, zoals beschreven in de interface specificaties voor deImage Removedde Authorization interface , Image RemovedToken interface en Image Removed en Resource interface .
Code Block
languagejs
themeEmacs
titleVoorbeeld event-object binnen logregel
linenumberstrue
collapsetrue
{
	"event": {
  		"type": "send_authorization_request",
  		"location": "mijn.pgo.nl",
  		"datetime": "2023-03-28T22:14:23.618+01:00",
  		"session_id": "c6a27d45-4316-464e-81e0-48d5dbccacbb",
  		"trace_id": "79dc6181-6239-4fdd-ad98-594312aeac71"
  	 }
 }


Anchor
core.logint.201
core.logint.201
core.logint.201

3.

De logregels van alle verzonden en ontvangen verzoeken bevatten een request-object met een vaste set aan attributen:

  • id
    Het unieke identificerende kenmerk (UUID) van het verzoek dat door versturende en ontvangende partij gebruikt wordt.
  • method
    De gebruikte http method.
  • client_id
    De hostname van de verzender van het verzoek.
  • server_id
    De hostname van de ontvanger van het verzoek.
  • uri
    De URI waar het verzoek naartoe wordt gestuurd.
Code Block
languagejs
themeEmacs
titleVoorbeeld request-object binnen logregel
linenumberstrue
collapsetrue
{
	"event": { 
		"type": "send_authorization_request", 
		"location": "mijn.pgo.nl", 
		"datetime": "2023-03-28T22:14:23.618+01:00", 
		"session_id": "c6a27d45-4316-464e-81e0-48d5dbccacbb", 
		"trace_id": "79dc6181-6239-4fdd-ad98-594312aeac71"
	}, 
	"request": { 
		"id": "8b5d6cb2-a2c0-4893-bd97-240621c3e488", 
		"method": "get", 
		"client_id": "mijn.pgo.nl", 
		"server_id": "as.dva.nl", 
		"uri": "https://api.as.dva.nl/2.0.0/authorize"
	 }
 }


Anchor
core.logint.202
core.logint.202
core.logint.202

4.

In aanvulling op core.logint.201 moeten bij een authorization request de volgende attributen aan het request-object worden toegevoegd:

  • provider_id
    Het identificerende kenmerk (MedMij Aanbiedersnaam) van de betrokken aanbieder.
  • response_type
    Deze heeft, zolang binnen het MedMij netwerk alleen gebruikgemaakt wordt van de OAuth2 Authorization Code Grant, altijd de waarde 'code'.
  • redirect_uri
    De URI waar het resultaat naartoe gestuurd moet worden. Deze wordt gebruikt voor de redirect terug naar de DVP.
  • state
    De OAuth2 state parameter.
Code Block
languagejs
themeEmacs
titleVoorbeeld Authorization request-object binnen logregel
linenumberstrue
collapsetrue
{
  "event": {
    "type": "send_authorization_request",
    "location": "mijn.pgo.nl",
    "datetime": "2023-03-28T22:14:23.618+01:00",
    "session_id": "c6a27d45-4316-464e-81e0-48d5dbccacbb",
    "trace_id": "79dc6181-6239-4fdd-ad98-594312aeac71"
  },
  "request": {
    "id": "8b5d6cb2-a2c0-4893-bd97-240621c3e488",
    "method": "get",
    "client_id": "mijn.pgo.nl",
    "server_id": "api.dva.nl",
    "uri": "https://api.dva.nl/2.0.0/authorize",
    "provider_id": "een.huisarts@medmij",
    "response_type": "code",
    "redirect_uri": "https://mijn.pgo.nl/medmij",
    "state": "ipcxyhlbjtvduydtneoaflwiismwxfmj"
  }
}


Anchor
core.logint.203
core.logint.203
core.logint.203

5.

In aanvulling op core.logint.201 wordt bij een Artifact resolution request het volgende attribuut aan het request-object toegevoegd:

  • request_type
    Altijd de waarde 'SAML_assertion'
Code Block
languagejs
themeEmacs
titleVoorbeeld Authentication request-object binnen logregel
linenumberstrue
collapsetrue
{
  "event": {
    "type": "send_artifact_resolution_request",
    "location": "api.dva.nl",
    "datetime": "2023-03-28T22:14:23.618+01:00",
    "session_id": "c6a27d45-4316-464e-81e0-48d5dbccacbb",
    "trace_id": "79dc6181-6239-4fdd-ad98-594312aeac71"
  },
  "request": {
    "id": "8b5d6cb2-a2c0-4893-bd97-240621c3e488",
    "method": "get",
    "client_id": "api.dva.nl",
    "server_id": "digid.nl",
    "uri": "https://api.as.dva.nl/2.0.0/authorize",
    "request_type": "SAML_assertion"
  }
}


Anchor
core.logint.204
core.logint.204
core.logint.204

6.

In aanvulling op core.logint.201 worden bij een token request de volgende attributen aan het request-object toegevoegd:

  • grant_type
    De waarde moet 'authorization_code' of 'refresh_token' zijn, waarbij de laatste alleen gebruikt mag worden bij het uitvoeren van een langdurige toestemming.

Aanvullend legt alleen de DVP bij token requests de onderstaande attribuut vast:

  • initiated_by
    De waarde moet 'person' of 'machine' zijn, waarbij de laatste alleen gebruikt mag worden bij automatisch verzamelen.
Code Block
languagejs
themeEmacs
titleVoorbeeld Token request-object voor DVP binnen logregel
linenumberstrue
collapsetrue
{
  "event": {
    "type": "send_token_request",
    "location": "mijn.pgo.nl",
    "datetime": "2023-03-28T22:14:23.618+01:00",
    "session_id": "c6a27d45-4316-464e-81e0-48d5dbccacbb",
    "trace_id": "79dc6181-6239-4fdd-ad98-594312aeac71"
  },
  "request": {
    "id": "8b5d6cb2-a2c0-4893-bd97-240621c3e488",
    "method": "get",
    "client_id": "mijn.pgo.nl",
    "server_id": "api.dva.nl", 
    "uri": "https://api.dva.nl/2.0.0/authorize",
    "grant_type": "authorization_code",
    "initiated_by": "person"
  }
}


Code Block
languagejs
themeEmacs
title Voorbeeld Token request-object voor DVA binnen logregel
linenumberstrue
collapsetrue
{
  "event": {
    "type": "receive_token_request",
    "location": "api.dva.nl",
    "datetime": "2023-09-28T22:14:36.618+01:00",
    "session_id": "d7382884-865e-4185-8347-2c4922d8ef73",
    "trace_id": "79dc6181-6239-4fdd-ad98-594312aeac71"
  },
  "request": {
    "id": "1p5d6cb2-a2c0-4893-bd97-240621c3e582",
    "method": "get",
    "client_id": "mijn.pgo.nl",
    "server_id": "api.dva.nl",
    "uri": "https://api.dva.nl/2.0.0/token",
    "grant_type": "authorization_code",
  }
}


Anchor
core.logint.205
core.logint.205
core.logint.205

7.

In aanvulling op core.logint.201 worden bij een resource request de volgende attributen aan het request-object toegevoegd:

  • provider_id
    Het identificerende kenmerk (MedMij Aanbiedersnaam) van de betrokken aanbieder.
  • service_id
    Het identificerende kenmerk (nummer) van de opgevraagde gegevensdienst. Het identificerende kenmerk (nummer) is afkomstig uit de GegevensdienstNamenLijst (GNL), namelijk uit het veld GegevensdienstId binnen het object Gegevensdienst. Onderstaand voorbeeld komt uit de GegevensdienstNamenLijst:


Code Block
titleVoorbeeld uit de GegevensdienstNamenLijst
<Gegevensdienstnamenlijst xmlns="xmlns://afsprakenstelsel.medmij.nl/gegevensdienstnamenlijst/release1/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="xmlns://afsprakenstelsel.medmij.nl/gegevensdienstnamenlijst/release1/">
     <Tijdstempel>2020-05-04T18:13:51.0+01:00</Tijdstempel>
          <Volgnummer>50</Volgnummer>
          <Gegevensdiensten>
            <Gegevensdienst>
              <GegevensdienstId>1</GegevensdienstId>
              <Weergavenaam>Basisgegevens Zorg</Weergavenaam></Gegevensdienst>
            </Gegevensdiensten>
</Gegevensdienstnamenlijst>


Code Block
languagejs
themeEmacs
titleVoorbeeld Resource request-object binnen logregel
linenumberstrue
collapsetrue
{
  "event": {
    "type": "send_resource_request",
    "location": "mijn.pgo.nl",
    "datetime": "2023-03-28T22:14:23.618+01:00",
    "session_id": "c6a27d45-4316-464e-81e0-48d5dbccacbb",
    "trace_id": "79dc6181-6239-4fdd-ad98-594312aeac71"
  },
  "request": {
    "id": "8b5d6cb2-a2c0-4893-bd97-240621c3e488",
    "method": "get",
    "client_id": "mijn.pgo.nl",
    "server_id": "api.dva.nl",
    "uri": "https://api.dva.nl/2.0.0/authorize",
    "provider_id": "een.huisarts@medmij",
    "service_id": 49
  }
}


Anchor
core.logint.206
core.logint.206
core.logint.206

8.

De logregels van alle verzonden en ontvangen antwoorden bevatten een response-object met een vaste set aan attributen:

  • request_id
    De id van het request waar het antwoord bij hoort.
  • status
    De HTTP status code.
Code Block
languagejs
themeEmacs
titleVoorbeeld response-object binnen logregel
linenumberstrue
collapsetrue
{
  "event": {
    "type": "send_authorization_response",
    "location": "as.dva.nl",
    "datetime": "2023-03-28T22:14:23.618+01:00",
    "session_id": "c6a27d45-4316-464e-81e0-48d5dbccacbb",
    "trace_id": "79dc6181-6239-4fdd-ad98-594312aeac71"
  },
  "response": {
    "request_id": "8b5d6cb2-a2c0-4893-bd97-240621c3e488",
    "status": 200
  }
}


Anchor
core.logint.207
core.logint.207
core.logint.207

9.

De logregels van alle fouten in het proces bevatten een error-object met een vaste set aan attributen:

  • code
    • Als het een OAuth2.0 fout betreft:

      • dan moet de waarde van het OAuth2.0 attribuut ‘error' overgenomen worden.

    • Aanbevolen wordt als het geen OAuth2.0 fout betreft:

      • dan het attribuut code met de waarde 'Other’ te vullen.

  • description
    Omschrijving van de geregistreerde fout. Bij de problemen in de beschikbaarheids- of ontvankelijkheidstoets moeten de waarden no_information_available (bij geen behandelrelatie), invalid_age of blocked worden gebruikt.
Code Block
languagejs
themeEmacs
titleVoorbeeld error-object binnen logregel
linenumberstrue
collapsetrue
{
  "event": {
    "type": "availability_check_error",
    "location": "as.dva.nl",
    "datetime": "2023-03-28T22:14:23.618+01:00",
    "session_id": "c6a27d45-4316-464e-81e0-48d5dbccacbb",
    "trace_id": "79dc6181-6239-4fdd-ad98-594312aeac71"
  },
  "error": {
    "code": "access_denied",
    "description": "no_information_available"
  }
}


Anchor
core.logint.208
core.logint.208
core.logint.208

10.

In aanvulling op core.logint.208 worden bij request errors de volgende attributen aan het error-object toegevoegd:

  • request_id
    De id van het request waar het antwoord bij hoort.
  • status
    De HTTP status code.
Code Block
languagejs
themeEmacs
titleVoorbeeld request-error-object binnen logregel
linenumberstrue
collapsetrue
{
  "event": {
    "type": "send_availability_check_error",
    "location": "api.dva.nl",
    "datetime": "2023-03-28T22:14:23.618+01:00",
    "session_id": "c6a27d45-4316-464e-81e0-48d5dbccacbb",
    "trace_id": "79dc6181-6239-4fdd-ad98-594312aeac71"
  },
  "error": {
    "code": "access_denied",
    "description": "no_information_available",
    "request_id": "8b5d6cb2-a2c0-4893-bd97-240621c3e488",
    "status": 403
  }
}


Anchor
core.logint.209
core.logint.209
core.logint.209

11.

De logregels van het type result_gathering_information bevatten een information-object met met daarin een lijst de namen van succesvol opgehaalde data-objecten, een lijst van opgehaalde data-objecten waarvan de waarde leeg is en een lijst van onsuccesvol opgehaalde data-objecten:

Expand
titleToelichting

In het zorg domein worden de namen van de FHIR resources gebruikt voor de data-objecten. De FHIR Resources worden per gegevensdienst beschreven in technische uitwerkingen die via de Catalogus te vinden zijn.


Code Block
languagejs
themeEmacs
titleVoorbeeld information-object binnen logregel
linenumberstrue
collapsetrue
{
  "event": {
    "type": "result_gathering_information",
    "location": "api.dva.nl",
    "datetime": "2023-03-28T22:14:23.618+01:00",
    "session_id": "c6a27d45-4316-464e-81e0-48d5dbccacbb",
    "trace_id": "79dc6181-6239-4fdd-ad98-594312aeac71"
  },
  "information": {
    "successful": ["name1", "name2"],
    "empty":  ["name3", "name4"],
    "unsuccessful": ["name5", "name6"]
  }
}


Anchor
core.logint.210
core.logint.210
core.logint.210

...