Søk etter ressurs med personidentifikator som feiler

Søk på ressurser med personidentifikator Person.identifier i en GET-request !skal! ALLTID feile i Persontjenesten. Dette gjelder begge FHIR-ressurser, både Person og RelatedPerson

Med hensynn til sikkerhet vil Persontjenesten ikke tillatte bruk av personidentifikator som en del av URL-parameter. Alle forespørsler til tjenesten blir med stor sannsynlighet logget både på avsenders side og i tillegg av våre overvåkningstjenester. Det er ikke ønskelig å lagre personidentifikatorer i nettverksloggene.

Bruk POST-metoden i stedet!

Enkel sjekkliste:

  • sjekk at Authorization-detaljer er tilstedet (Oauth2.0 - HelseID)
  • sjekk at nødvendige headers Content-Type og Accept er definert
  • sjekk at _elements-parameter er definert
  • sjekk at resultatsettet Bundle for potensielle OperationOutcome med advarsler
HEADERS
Header Eksempel på verdi Beskrivelse
Accept application/fhir+xml;fhirVersion=4.0 Accept-header spesifiserer formatet av responsen (JSON/XML)
Content-Type application/fhir+xml;fhirVersion=4.0 Content-Type-header kreves ved request
Authorization "Bearer <jwt_token>" En Autorization-header med gyldig JWT-token fra HelseID
PARAMS
Parameter Eksempel på verdi Beskrivelse
_elements identifier,name,address,extension Det kreves dataminimerings _elements for å spesifisere deler av responsen som skal returneres
Request

Eksempel-spørring forsøker hente detaljer for en konkret relasjon til en konkret person (oppslag på RelatedPerson)

GET /persontjenesten/fhir/RelatedPerson?identifier=25100350214&_elements=identifier,relationship HTTP/1.1
Host: api.et.grunndata.helsepunkt.no
Accept: application/fhir+json; fhirVersion=4.0
Content-Type: application/fhir+json; fhirVersion=4.0
Respons
Statuscode: 400 Identifier not allowed as part of Query string parameters in any request

Tjenesten returnerer HTTP-400 Forbidden med custom melding. Det er ikke lov å sende personidentifikatorer Person.identifier som en del av URL i en GET-kall, kun ved bruk body-parametere i et POST-kall.