Page History
| Navitabs | ||||
|---|---|---|---|---|
| ||||
Introduktion
SOR Enkeltopslagsservice STS-UUID2CPR-PROXY er en støtte-service på NSP, der tillader enkelt-opslag af SOR enheder og SHAK-mapninger gennem en JSON-snitflade.
Snitfladen er designet med BRS, MinSpærring og graviditetsmappen in mente, men alle services, hvis behov opfyldes af de udstillede data, er velkomne til at kalde SORES's snitflade.
De udstillede data stammer fra SOR-databasen, der opdateres dagligt af SOR-importeren. En delmængde af data caches i memory og cachen refreshes i produktion af en særskilt cron-container, hvis der er opdatede data i databasen.
Snitfladebeskrivelsen indeholder - udover beskrivelse af selve snitfladen - et par eksempler på request og response.
Snitfladebeskrivelse
Generelt
Servletten udstiller et par funktioner via GET, mens selve opslags-funktionaliteten udstilles via en kommandostruktur sendt via POST.
Endpoints
SORES har to endpoints, hvor v2-udgaven medsender ejer-organisationens ID for SOR-entiteter.
...
Service
...
Endpoint
...
GET-funktioner
...
Funktion
...
Beskrivelse
...
POST-operationer
...
Operation
...
Parametre
...
MatchEntityName: Streng, der matches på som en del af enhedsnavnet
CVR: CVR-nummer på den enhed, hvis undersåtter udgør søgeområdet
EntityTypeNames: Liste af entitets-type-navne, der medtages
[Date]: Datagrundlags-dato
...
Returnerer information for et mindre antal SOR entiteter, hvis navn indeholder den angivne søgestreng begrænset af at entiteten:
- ligger i SOR-træet under en entitet med det givne CVR-nummer
- har en entitets-type, der findes i den givne liste af entitets-typer
- var gyldig på den angivne dato, eller dags dato, hvis ingen dato er angivet
Hvis intet CVR-nummer er angivet, søges i hele SOR-træet.
Hvis entitets-type listen ikke er angivet eller er tom, returneres entiteter uanset deres type.
Det anbefales på det kraftigste at anvende filtrering i videst mulige omfang.
Såfremt søgningen matcher flere SOR entiteter end servicen er konfigureret til at returnere, indkluderer responset json-markøren AdditionalRecordsExist med værdien True.
opslag i Digitaliseringsstyrelsens NemLog-in opslagstjenester. Servicen udstiller et simpelt REST-interface, og kræver ikke sikkerhedsbillet. Servicen består af følgende oprationer
- /service/lookup/{uuid}
- /service/lookup-pid-cpr/{pid}
/service/lookup-uuid-rid/{uuid}
Snitfladebeskrivelse
Generelt
Servicen udstiller 3 operationer via GET. Operationerne er beskrevet i en OpenAPI-specifikation, som kan hentes på stien /uuid2cpr-proxy-api/openapi. For nuværende version af servicen ser specifikationen ud som nedenfor.
| Code Block | ||
|---|---|---|
| ||
openapi: 3.0.0
info:
title: Uuid2Cpr Proxy service
description: Intern NSP service der kan anvendes til at kalde NemLogin opslags services.
version: "1.0.0"
servers:
- url: '%endpoint%'
paths:
/service/lookup/{uuid}:
get:
summary: Hent cpr-nummer ud fra uuid.
description: Hent cpr-nummer ud fra uuid.
parameters:
- in: path
name: uuid
schema: |
Eksempler
Herunder illustreres et par eksempel-requests og de tilhørende responses for operationerne.
GetSorEntity
| Expand | ||
|---|---|---|
| ||
|
GetSorEntity (v2)
| Expand | ||
|---|---|---|
| ||
|
GetSorEntityByProvider
| Expand | ||
|---|---|---|
| ||
|
GetSorEntityByProvider (v2)
| Expand | ||
|---|---|---|
| ||
|
SearchAllChildren
| Expand | ||
|---|---|---|
| ||
|
SearchAllChildren (v2)
| Expand | ||
|---|---|---|
| ||
|
IsSorEntityDescendantOfSorEntity (v1 og v2)
| Expand | ||
|---|---|---|
| ||
|
EntityNameLookup
| Expand | ||
|---|---|---|
| ||
|
EntityNameLookup (v2)
| Expand | ||
|---|---|---|
| ||
|
MapShakToSor (v1 og v2)
| Expand | ||
|---|---|---|
| ||
| No Format |
"sorId":245891000016009,type: string"from":"2019-04-16", required: true"healthInstitutionSorId":8041000016000 description: Uuid}, responses:{ 200: "sorId":246251000016008,description: Ok"from":"2018-12-07", content:"healthInstitutionSorId":8041000016000 application/json:}, schema:{ "sorId":245401000016001,
$ref: '#/components/schemas/cpr'"from":"2020-06-16", 404:"healthInstitutionSorId":8041000016000 }, description: Det givne uuid har intet cpr-nummer tilknyttet.{ 500:"sorId":8041000016000, "from":"2016-10-18", description: Der opstod en fejl under opslag af cpr-nummer. /service/lookup-pid-cpr/{pid}: get: summary:"healthInstitutionSorId":8041000016000 Hent cpr-nummer ud fra pid.}, description: Hent cpr-nummer ud fra pid.{ parameters: -"sorId":245771000016002, in: path"from":"2020-06-16", name: pid"healthInstitutionSorId" schema:8041000016000
},
{type: string"sorId":245641000016000, required: true"from":"2019-04-16", description: Pid responses:"healthInstitutionSorId":8041000016000 200:}, description: Ok{ content:"sorId":618901000016009, application/json:"from":"2019-02-27", schema:"healthInstitutionSorId":8041000016000 $ref: '#/components/schemas/cpr'}, 404:{ description: Det givne pid har intet cpr-nummer tilknyttet."sorId":244441000016004, 500: description:"from":"2018-04-11", Der opstod en fejl under opslag af cpr-nummer. /service/lookup-uuid-rid/{uuid}:"healthInstitutionSorId" get:8041000016000 summary: Hent}, rid ud fra uuid.{ description: Hent rid ud fra uuid."sorId" parameters:246311000016001, -"from":"2018-12-07", in: path"healthInstitutionSorId":8041000016000 name: uuid}, schema:{ type: string"sorId":618911000016006, required: true"from":"2016-08-09", description: Uuid"healthInstitutionSorId" responses:8041000016000
},200:{ description: Ok"sorId" content:245501000016002,
"from":"2013-02-28",application/json:"healthInstitutionSorId":8041000016000 schema:}, { $ref: '#/components/schemas/rid'"sorId":246361000016004, 404:"from":"2018-12-07", "healthInstitutionSorId":8041000016000 description: Det givne uuid har intet rid tilknyttet.}, 500:{ description: Der opstod en fejl under opslag af rid. components:"sorId" responses:246091000016006,
'404':"from" description:"2020-06-16", "Resource findes ikke." schemas: cpr:"healthInstitutionSorId":8041000016000 type: object required:}, - value{ properties:"sorId" value:318611000016008,
"from":"2019-04-16",type: string rid:"healthInstitutionSorId":8041000016000 type: object required:}, - value{ properties:"sorId" value:246321000016005, type: string |
Eksempler
Herunder illustreres et par eksempel-requests og de tilhørende responses for de forskellige services.
Service lookup
Cpr-nummer findes
Dette eksempel viser tilfældet hvor uuid'et har et matchende cpr-nummer.
Request:
| Code Block |
|---|
curl -i localhost:8080/uuid2cpr-proxy-api/service/lookup/UI:DK-E:G:2634ccc3-225a-44ee-94bc-565904f46ead |
Response:
| Code Block |
|---|
HTTP/1.1 200 OK
Connection: keep-alive
Content-Type: application/json
Content-Length: 22
Date: Wed, 09 Mar 2022 15:28:08 GMT
{"value":"2501879875"} |
Cpr-nummer findes ikke
Dette eksempel viser tilfældet hvor uuid'et ikke har et matchende cpr-nummer.
Request:
| Code Block |
|---|
curl -i localhost:8080/uuid2cpr-proxy-api/service/lookup/UI:DK-E:G:2634ccc3-225a-44ee-94bc-000000000000 |
Response:
| Code Block |
|---|
HTTP/1.1 404 Not Found
Connection: keep-alive
Content-Type: application/json
Content-Length: 74
Date: Wed, 08 Mar 2023 09:40:41 GMT
Uuid UI:DK-E:G:2634ccc3-225a-44ee-94bc-000000000000 has no associated cpr. |
Service lookup-pid-cpr
Cpr-nummer findes
Dette eksempel viser tilfældet hvor pid har et matchende cpr-nummer.
Request:
| Code Block |
|---|
curl -i localhost:8080/uuid2cpr-proxy-api/service/lookup-pid-cpr/9208-2002-2-199567135534 |
Response:
| Code Block |
|---|
HTTP/1.1 200 OK
Connection: keep-alive
Content-Type: application/json
Content-Length: 22
Date: Fri, 24 Feb 2023 12:26:53 GMT
{"value":"2501879875"} |
Cpr-nummer findes ikke
Dette eksempel viser tilfældet hvor pid ikke har et matchende cpr-nummer.
Request:
| Code Block |
|---|
curl -i localhost:8080/uuid2cpr-proxy-api/service/lookup-pid-cpr/9208-2002-2-000000000000 |
Response:
| Code Block |
|---|
HTTP/1.1 404 Not Found
Connection: keep-alive
Content-Type: application/json
Content-Length: 51
Date: Wed, 01 Mar 2023 05:43:12 GMT
Pid 9208-2002-2-000000000000 has no associated cpr. |
Service lookup-uuid-rid
Rid findes
Dette eksempel viser tilfældet hvor uuid har et matchende rid.
Request:
| Code Block |
|---|
curl -i localhost:8080/uuid2cpr-proxy-api/service/lookup-uuid-rid/UI:DK-E:G:2634ccc3-225a-44ee-94bc-565904f46ead |
Response:
| Code Block |
|---|
HTTP/1.1 200 OK
Connection: keep-alive
Content-Type: application/json
Content-Length: 20
Date: Fri, 24 Feb 2023 12:44:22 GMT
{"value":"72976780"} |
Rid findes ikke
Dette eksempel viser tilfældet hvor uuid ikke har et matchende rid.
Request:
| Code Block |
|---|
curl -i localhost:8080/uuid2cpr-proxy-api/service/lookup-uuid-rid/UI:DK-E:G:2634ccc3-225a-44ee-94bc-000000000000 |
Response:
| Code Block |
|---|
HTTP/1.1 404 Not Found
Connection: keep-alive
Content-Type: application/json
Content-Length: 74
Date: Wed, 01 Mar 2023 05:45:00 GMT
Uuid UI:DK-E:G:2634ccc3-225a-44ee-94bc-000000000000 has no associated rid. "from":"2018-04-20",
"healthInstitutionSorId":8041000016000
},
{
"sorId":246191000016005,
"from":"2020-06-16",
"healthInstitutionSorId":8041000016000
},
{
"sorId":246061000016002,
"from":"2019-04-16",
"healthInstitutionSorId":8041000016000
},
{
"sorId":390631000016000,
"from":"2018-12-07",
"healthInstitutionSorId":8041000016000
},
{
"sorId":245511000016000,
"from":"2013-02-28",
"healthInstitutionSorId":8041000016000
},
{
"sorId":246551000016006,
"from":"2018-12-07",
"healthInstitutionSorId":8041000016000
}
]
} |