Introduktion

SOR Enkeltopslagsservice er en støtte-service på NSP, der tillader enkelt-opslag af SOR enheder og SHAK-, CVR-mapninger gennem en JSON-snitflade.
Snitfladen er designet med BRS, MinSpærring, IDSAS og graviditetsmappen in mente, men alle NSP services, hvis behov opfyldes af de udstillede data, er velkomne til at kalde SORES's snitflade.

De udstillede data stammer fra den XML fil som SOR stiller til rådighed på deres hjemmeide. 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

SORES/sores
SORESv2/sores/v2

GET-funktioner

Funktion

Beskrivelse

/statusHTTP-response-code angiver servicens tilgængelighed
/versionVersions-nummeret sendes som response-text
/reloadGenindlæser data fra databasen

POST-operationer

Operation

Parametre

Beskrivelse
GetSorEntitySorIds: Array af SOR-Id'er, der ønskes fremsøgt
[Date]: Datagrundlags-dato
Returnerer information for hver af de forespurgte SOR entiteter, der gjaldt på den angivne dato*
Operationen hed i første udgave af servicen BRSGetSorEntity, hvilket stadig understøttes som alias.
SearchAllChildrenSorIds: Array af SOR-Id'er, hvis under-entiteter ønskes fremsøgt
[Date]: Datagrundlags-dato
Returnerer information for alle under-entiteter for hver af de forespurgte SOR entiteter, der gjaldt på den angivne dato*
Operationen hed i første udgave af servicen BRSSearchAllChildren, hvilket stadig understøttes som alias.
MapShakToSorShakId: SHAK id, der ønskes mappet
[Date]: Datagrundlags-dato
Returnerer information for de SOR-entiteter, der på den angivne dato* havde det forespurgte SHAK id.
Operationen hed i første udgave af servicen BRSMapShakToSor, hvilket stadig understøttes som alias.
GetSorEntityByProviderProviderIds: Array af ydernumre
[Date]: Datagrundlags-dato
Returnerer information for (en liste af) alle SOR entiteter, der var tildelt det angivne ydernummer på den angivne dato*
IsSorEntityDescendantOfSorEntitySorIdAndParentSorIdPairs: Todimensionelt array af SOR-Id-par 
[Date]: Datagrundlags-dato
Returnerer et array af booleans - for hvert par af id'er [id, mulig forælder] - om den pågældende enhed hørte under den mulige forælder i hierarkiet på den angivne dato*
EntityNameLookup

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.

InstitutionOwnerCvrNumber

SorIds: Array af SOR-Id'er, der ønskes fremsøgt
[Date]: Datagrundlags-dato

Returnerer CVR nummeret på den Institutionsejer som den forespurgte SOR enhed hørte under på den angivne dato*

InstitutionOwnerCvrNumberByShak

ShakIds: Array af SHAK-Id'er, der ønskes fremsøgt

Returnerer CVR nummeret på den Institutionsejer som den forespurgte SHAK enhed hører under. Der tjekkes udelukkende på de fire første cifre af SHAK-id'et


Eksempler

Herunder illustreres et par eksempel-requests og de tilhørende responses for operationerne.

GetSorEntity

HTTP/1.1 200 OK
Connection: keep-alive
X-Powered-By: Undertow/1
Server: WildFly/8
Transfer-Encoding: chunked
Content-Type: application/json;charset=utf-8


{
    "8041000016000":{
        "sorId":8041000016000,
        "from":"2016-10-18",
        "name":"Sydvestjysk Sygehus",
        "healthInstitutionSorId":8041000016000,
        "shakId":"5501",
        "parentSorId":6101000016001
    },
    "6101000016001":{
        "sorId":6101000016001,
        "from":"2015-07-30",
        "name":"Region Syddanmark",
    },
    "91331000016003":{
        "sorId":91331000016003,
        "from":"2012-10-12",
        "name":"Jørn Bøgh ApS",
        "healthInstitutionSorId":91321000016000,
        "providerId":"097926",
        "shakId":"7034010",
        "parentSorId":91321000016000
    }
}

GetSorEntity (v2)

HTTP/1.1 200 OK
Connection: keep-alive
X-Powered-By: Undertow/1
Server: WildFly/8
Transfer-Encoding: chunked
Content-Type: application/json;charset=utf-8


{
    "8041000016000":{
        "sorId":8041000016000,
        "from":"2016-10-18",
        "name":"Sydvestjysk Sygehus",
        "institutionOwnerSorId":6101000016001,
        "healthInstitutionSorId":8041000016000,
        "shakId":"5501",
        "parentSorId":6101000016001
    },
    "6101000016001":{
        "sorId":6101000016001,
        "from":"2015-07-30",
        "name":"Region Syddanmark",
        "institutionOwnerSorId":6101000016001
    },
    "91331000016003":{
        "sorId":91331000016003,
        "from":"2012-10-12",
        "name":"Jørn Bøgh ApS",
        "institutionOwnerSorId":91311000016009,
        "healthInstitutionSorId":91321000016000,
        "providerId":"097926",
        "shakId":"7034010",
        "parentSorId":91321000016000
    }
}

GetSorEntityByProvider

HTTP/1.1 200 OK
Connection: keep-alive
X-Powered-By: Undertow/1
Server: WildFly/8
Transfer-Encoding: chunked
Content-Type: application/json;charset=utf-8


{
    "303712":[
        {
            "sorId":709251000016004,
            "from":"2018-08-18",
            "name":"Fodterapeut Mette Nielsen",
            "healthInstitutionSorId":399351000016009,
            "providerId":"303712",
            "parentSorId":399351000016009
        },
        {
            "sorId":842311000016008,
            "from":"2018-08-18",
            "name":"Hanne Møller-San Pedro",
            "healthInstitutionSorId":842301000016006,
            "providerId":"303712",
            "parentSorId":842301000016006
        },
        {
            "sorId":701371000016004,
            "from":"2018-08-18",
            "name":"Annette Steen Nielsen",
            "healthInstitutionSorId":701361000016009,
            "providerId":"303712",
            "parentSorId":701361000016009
        }
    ]
}

GetSorEntityByProvider (v2)

HTTP/1.1 200 OK
Connection: keep-alive
X-Powered-By: Undertow/1
Server: WildFly/8
Transfer-Encoding: chunked
Content-Type: application/json;charset=utf-8


{
    "303712":[
        {
            "sorId":709251000016004,
            "from":"2018-08-18",
            "name":"Fodterapeut Mette Nielsen",
            "institutionOwnerSorId":399341000016006,
            "healthInstitutionSorId":399351000016009,
            "providerId":"303712",
            "parentSorId":399351000016009
        },
        {
            "sorId":842311000016008,
            "from":"2018-08-18",
            "name":"Hanne Møller-San Pedro",
            "institutionOwnerSorId":842291000016007,
            "healthInstitutionSorId":842301000016006,
            "providerId":"303712",
            "parentSorId":842301000016006
        },
        {
            "sorId":701371000016004,
            "from":"2018-08-18",
            "name":"Annette Steen Nielsen",
            "institutionOwnerSorId":701351000016006,
            "healthInstitutionSorId":701361000016009,
            "providerId":"303712",
            "parentSorId":701361000016009
        }
    ]
}

SearchAllChildren

HTTP/1.1 200 OK
Connection: keep-alive
X-Powered-By: Undertow/1
Server: WildFly/8
Transfer-Encoding: chunked
Content-Type: application/json;charset=utf-8


{
    "246061000016002":[
        {
            "sorId":246071000016007,
            "from":"2020-06-16",
            "name":"SVS Kæbekirurgisk ambulatorium (Esbjerg)",
            "healthInstitutionSorId":8041000016000,
            "shakId":"550108T",
            "parentSorId":246061000016002
        },
        {
            "sorId":452041000016004,
            "from":"2020-06-16",
            "name":"SVS kæbekirurgisk amb. (Esbjerg)",
            "healthInstitutionSorId":8041000016000,
            "shakId":"550108T",
            "parentSorId":246071000016007
        },
        {
            "sorId":246081000016009,
            "from":"2020-06-16",
            "name":"SVS Kæbekirurgisk afsnit (Esbjerg)",
            "healthInstitutionSorId":8041000016000,
            "shakId":"5501081",
            "parentSorId":246061000016002
        }
    ]
}

SearchAllChildren (v2)

HTTP/1.1 200 OK
Connection: keep-alive
X-Powered-By: Undertow/1
Server: WildFly/8
Transfer-Encoding: chunked
Content-Type: application/json;charset=utf-8


{
    "246061000016002":[
        {
            "sorId":246071000016007,
            "from":"2020-06-16",
            "name":"SVS Kæbekirurgisk ambulatorium (Esbjerg)",
            "institutionOwnerSorId":6101000016001,
            "healthInstitutionSorId":8041000016000,
            "shakId":"550108T",
            "parentSorId":246061000016002
        },
        {
            "sorId":452041000016004,
            "from":"2020-06-16",
            "name":"SVS kæbekirurgisk amb. (Esbjerg)",
            "institutionOwnerSorId":6101000016001,
            "healthInstitutionSorId":8041000016000,
            "shakId":"550108T",
            "parentSorId":246071000016007
        },
        {
            "sorId":246081000016009,
            "from":"2020-06-16",
            "name":"SVS Kæbekirurgisk afsnit (Esbjerg)",
            "institutionOwnerSorId":6101000016001,
            "healthInstitutionSorId":8041000016000,
            "shakId":"5501081",
            "parentSorId":246061000016002
        }
    ]
}

IsSorEntityDescendantOfSorEntity (v1 og v2)

HTTP/1.1 200 OK
Connection: keep-alive
X-Powered-By: Undertow/1
Server: WildFly/8
Transfer-Encoding: chunked
Content-Type: application/json;charset=utf-8


{
    "child=246061000016002, possibleAncestor=246081000016009":false,
    "child=246081000016009, possibleAncestor=246061000016002":true
}

EntityNameLookup

HTTP/1.1 200 OK
Connection: keep-alive
X-Powered-By: Undertow/1
Server: WildFly/8
Transfer-Encoding: chunked
Content-Type: application/json;charset=utf-8


{
    "stor":[
        {
            "sorId":644451000016003,
            "from":"2016-10-17",
            "name":"Storkereden Holbæk",
            "healthInstitutionSorId":644421000016006,
            "parentSorId":644421000016006
        },
        {
            "sorId":644421000016006,
            "from":"2019-03-28",
            "name":"Storkereden",
            "healthInstitutionSorId":644421000016006,
            "parentSorId":644411000016002
        },
        {
            "sorId":644431000016008,
            "from":"2016-10-17",
            "name":"Storkereden Slagelse",
            "healthInstitutionSorId":644421000016006,
            "parentSorId":644421000016006
        },
        {
            "sorId":644441000016001,
            "from":"2016-10-17",
            "name":"Storkereden Roskilde",
            "healthInstitutionSorId":644421000016006,
            "parentSorId":644421000016006
        }
    ],
    "AdditionalRecordsExist":false
}

EntityNameLookup (v2)

HTTP/1.1 200 OK
Connection: keep-alive
X-Powered-By: Undertow/1
Server: WildFly/8
Transfer-Encoding: chunked
Content-Type: application/json;charset=utf-8


{
    "stor":[
        {
            "sorId":644451000016003,
            "from":"2016-10-17",
            "name":"Storkereden Holbæk",
            "institutionOwnerSorId":644411000016002,
            "healthInstitutionSorId":644421000016006,
            "parentSorId":644421000016006
        },
        {
            "sorId":644421000016006,
            "from":"2019-03-28",
            "name":"Storkereden",
            "institutionOwnerSorId":644411000016002,
            "healthInstitutionSorId":644421000016006,
            "parentSorId":644411000016002
        },
        {
            "sorId":644431000016008,
            "from":"2016-10-17",
            "name":"Storkereden Slagelse",
            "institutionOwnerSorId":644411000016002,
            "healthInstitutionSorId":644421000016006,
            "parentSorId":644421000016006
        },
        {
            "sorId":644441000016001,
            "from":"2016-10-17",
            "name":"Storkereden Roskilde",
            "institutionOwnerSorId":644411000016002,
            "healthInstitutionSorId":644421000016006,
            "parentSorId":644421000016006
        }
    ],
    "AdditionalRecordsExist":false
}

MapShakToSor (v1 og v2)

HTTP/1.1 200 OK
Connection: keep-alive
X-Powered-By: Undertow/1
Server: WildFly/8
Transfer-Encoding: chunked
Content-Type: application/json;charset=utf-8


{
    "5501":[
        {
            "sorId":245531000016006,
            "from":"2013-02-28",
            "healthInstitutionSorId":8041000016000
        },
        {
            "sorId":245271000016006,
            "from":"2020-06-16",
            "healthInstitutionSorId":8041000016000
        },
        {
            "sorId":245601000016003,
            "from":"2020-06-16",
            "healthInstitutionSorId":8041000016000
        },
        {
            "sorId":245011000016008,
            "from":"2019-04-16",
            "healthInstitutionSorId":8041000016000
        },
        {
            "sorId":246271000016001,
            "from":"2018-12-07",
            "healthInstitutionSorId":8041000016000
        },
        {
            "sorId":244461000016003,
            "from":"2019-04-11",
            "healthInstitutionSorId":8041000016000
        },
        {
            "sorId":245141000016005,
            "from":"2020-06-16",
            "healthInstitutionSorId":8041000016000
        },
        {
            "sorId":245931000016001,
            "from":"2020-06-16",
            "healthInstitutionSorId":8041000016000
        },
        {
            "sorId":618861000016004,
            "from":"2020-06-16",
            "healthInstitutionSorId":8041000016000
        },
        {
            "sorId":246331000016007,
            "from":"2012-01-11",
            "healthInstitutionSorId":8041000016000
        },
        {
            "sorId":245731000016004,
            "from":"2020-06-16",
            "healthInstitutionSorId":8041000016000
        },
        {
            "sorId":246221000016000,
            "from":"2019-04-16",
            "healthInstitutionSorId":8041000016000
        },
        {
            "sorId":246291000016002,
            "from":"2018-12-07",
            "healthInstitutionSorId":8041000016000
        },
        {
            "sorId":244851000016004,
            "from":"2020-06-16",
            "healthInstitutionSorId":8041000016000
        },
        {
            "sorId":244811000016003,
            "from":"2020-06-16",
            "healthInstitutionSorId":8041000016000
        },
        {
            "sorId":244721000016002,
            "from":"2020-06-16",
            "healthInstitutionSorId":8041000016000
        },
        {
            "sorId":245451000016000,
            "from":"2020-06-16",
            "healthInstitutionSorId":8041000016000
        },
        {
            "sorId":244591000016008,
            "from":"2020-06-16",
            "healthInstitutionSorId":8041000016000
        },
        {
            "sorId":246531000016001,
            "from":"2018-12-07",
            "healthInstitutionSorId":8041000016000
        },
        {
            "sorId":244681000016007,
            "from":"2020-06-16",
            "healthInstitutionSorId":8041000016000
        },
        {
            "sorId":245221000016007,
            "from":"2020-06-16",
            "healthInstitutionSorId":8041000016000
        },
        {
            "sorId":245581000016005,
            "from":"2018-04-12",
            "healthInstitutionSorId":8041000016000
        },
        {
            "sorId":246571000016004,
            "from":"2018-12-07",
            "healthInstitutionSorId":8041000016000
        },
        {
            "sorId":245851000016003,
            "from":"2020-06-16",
            "healthInstitutionSorId":8041000016000
        },
        {
            "sorId":245891000016009,
            "from":"2019-04-16",
            "healthInstitutionSorId":8041000016000
        },
        {
            "sorId":246251000016008,
            "from":"2018-12-07",
            "healthInstitutionSorId":8041000016000
        },
        {
            "sorId":245401000016001,
            "from":"2020-06-16",
            "healthInstitutionSorId":8041000016000
        },
        {
            "sorId":8041000016000,
            "from":"2016-10-18",
            "healthInstitutionSorId":8041000016000
        },
        {
            "sorId":245771000016002,
            "from":"2020-06-16",
            "healthInstitutionSorId":8041000016000
        },
        {
            "sorId":245641000016000,
            "from":"2019-04-16",
            "healthInstitutionSorId":8041000016000
        },
        {
            "sorId":618901000016009,
            "from":"2019-02-27",
            "healthInstitutionSorId":8041000016000
        },
        {
            "sorId":244441000016004,
            "from":"2018-04-11",
            "healthInstitutionSorId":8041000016000
        },
        {
            "sorId":246311000016001,
            "from":"2018-12-07",
            "healthInstitutionSorId":8041000016000
        },
        {
            "sorId":618911000016006,
            "from":"2016-08-09",
            "healthInstitutionSorId":8041000016000
        },
        {
            "sorId":245501000016002,
            "from":"2013-02-28",
            "healthInstitutionSorId":8041000016000
        },
        {
            "sorId":246361000016004,
            "from":"2018-12-07",
            "healthInstitutionSorId":8041000016000
        },
        {
            "sorId":246091000016006,
            "from":"2020-06-16",
            "healthInstitutionSorId":8041000016000
        },
        {
            "sorId":318611000016008,
            "from":"2019-04-16",
            "healthInstitutionSorId":8041000016000
        },
        {
            "sorId":246321000016005,
            "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
        }
    ]
}

InstitutionOwnerCvrNumber (v1 og v2)

HTTP/1.1 200 OK
Connection: keep-alive
X-Powered-By: Undertow/1
Server: WildFly/8
Transfer-Encoding: chunked
Content-Type: application/json;charset=utf-8


{
    "8041000016000":"29190909",
    "6101000016001":"29190909",
    "91331000016003":""
}


InstitutionOwnerCvrNumberByShak (v1 og v2)

HTTP/1.1 200 OK
Connection: keep-alive
X-Powered-By: Undertow/1
Server: WildFly/8
Transfer-Encoding: chunked
Content-Type: application/json;charset=utf-8


{
    "1301":"29190623",
    "6610123":"29190925",
    "9999":""
}


  • No labels