Page History
AFVENTER ENDELIG GODKENDELSE
Navitabs | ||||
---|---|---|---|---|
| ||||
Indholdsfortegnelse
Table of Contents | ||||
---|---|---|---|---|
|
Endpoint
Opslag servicen kan tilgås på adressen:
[miljø url]/sor-opslag/SORLookupService
For eksempel, på TEST1-miljøet vil det være:
http://test1.ekstern-test.nspop.dk:8080/sor-opslag/
WSDL filen for servicen kan hentes ved at tilføje "?wsdl" til enden af URL'en, eksampel;
http://test1.ekstern-test.nspop.dk:8080/sor-opslag/SORLookupService?wsdl
Snitfladebeskrivelser
Fælles
Sikkerhed
Fælles for hele servicen, er at der bliver benyttet Den Gode Webservice (DGWS) til authentifikering, og der accepteres kun niveau 3 (VOCES og FOCES) eller 4 (MOCES) ID kort udstedt af SOSI-STS. Selvom at niveau 3 både indeholder FOCES og VOCES, så er det kun FOCES som er tilladt.
Namespaces
Alle kald til servicen vil benytte request typer defineret under namespacet:
http://sundhedsdatastyrelsen.dk/SORLookupService/2018/09/06/
Der er type med samme navne under andre namespaces, så det er vigtigt at få valgt den rigtige.
Alle svar fra servicen vil benytte response typer defineret under namespacet:
http://sundhedsdatastyrelsen.dk/SORLookupService/2018/09/06/
Eksterne typer
Mange af de data typer som bliver benyttet, kan typisk findes her:
Typer under både v_1_0_0
og v_2_0_0
bliver benyttet.
Følgende lokationer bliver også inkluderet for typer:
http://digitaliser.dk/resource/1945/artefact/CVR_CVRnumberIdentifier.xsd
http://rep.oio.dk/kms.dk/xml/schemas/2007/05/23/
Alle typer hentet eksternt fra er ikke angivet i dette dokument, da listen så vil blive meget lang.
Gyldighed
I de kald hvor at SorEntity bliver returneret, der er den returnerede version ikke den gyldige version af enheden. Den returnerede version er hvad der vil blive gyldigt i fremtiden (tidligst dagen efter).
ArrayOfLong type
Element | Data type | Beskrivelse |
---|---|---|
long | long | En liste af tal værdier |
ArrayOfsorSecurityGroupsExternal type
Element | Data type | Beskrivelse |
---|---|---|
sorSecurityGroupsExternal | sorSecurityGroupsExternal | En liste af security groups |
sorSecurityGroupsExternal type
Element | Data type | Beskrivelse |
---|---|---|
string | Enumeration af security groups. Kan have en af følgende værdier:
|
EanLocationCodeState type
Element | Data type | Beskrivelse |
---|---|---|
string | Enumeration af stadier. Kan have en af følgende værdier:
|
EanLocationCodeEntityType type
Element | Data type | Beskrivelse |
---|---|---|
EanLocationCode | EanLocationCode (long) | Lokationsnummer |
OnlyInternalIndicator | OnlyInternalIndicator (boolean) | Angiver om lokationsnummeret er til internt brug |
NonActiveIndicator | NonActiveIndicator (boolean) | Angiver om lokationsnummeret er ikke-aktivt |
SystemSupplierIdentifier | long | Systemleverandør-id |
CommunicationSupplierIdentifier | long | Netoperatør-id |
SystemTypeIdentifier | SystemTypeIdentifier (long) | EDB-system-id |
EdiAdministratorIdentifier | EdiAdministratorIdentifier (long) | EDI-Administrator-id |
SorNote | SorNote (string, 254) | Angiver eventuelle bemærkninger til lokationsnummeret |
SorStatus | SorStatus | Angiver SOR enhedens status |
RegionCode | RegionCode (string, 4) | Regionens kode, f.eks. 1084 for RegionHovedstaden |
ArrayOfEanLocationCodes type
Element | Data type | Beskrivelse |
---|---|---|
eanLocationCode | long | En liste af lokationsnumre |
ArrayOfEdiIdentifiers type
Element | Data type | Beskrivelse |
---|---|---|
EdiIdentifier | long | En liste af EDI numre |
Status type
Element | Data type | Beskrivelse |
---|---|---|
ErrorCode | int | Hvis kaldet var en succes, så vil denne have værdien 0. Ved validerings fejl, så vil denne have en positiv værdi. Ved Tekniske og praktiske fejl, så vil denne have en negativ værdi. |
Message | string | Hvis ErrorCode er 0, er dette felt tomt. Ellers indeholder den en kort beskrivelse af, hvilken fejl der skete. |
SorEntity type
Element | Data type | Beskrivelse |
---|---|---|
SorIdentifier | SorIdentifier (long) | Unik nøgle der identificerer en SOR enhed |
SorType | string | Tekstværdi for SOR-type |
GeographicalLocalisationIdentifier | GeographicalLocalisationIdentifier (long) | Id på geografisklokalitet |
GeographicalLocalisationName | GeographicalLocalisationName (string, 40) | Navn på den geografiske lokalitet |
HasGeographicalLocalisation | boolean | Angiveer om SOR enheden har en grafisk lokation |
ParentSorIdentifier | string | Forældre SOR-id |
ActivityAddressInformation | ActivityAddressInformation | Aktivitetsadressen |
VisitingAddressInformation | VisitingAddressInformation | Besøgsadressen |
PostalAddressInformation | PostalAddressInformation | Postadressen |
PharmacyIdentifier | PharmacyIdentifier (string, 20) | SOR-enhedens apoteksnummer |
EntityName | EntityName (string, 60) | SOR Enhedens navn |
EntityTypeIdentifier | EntityTypeIdentifier (long) | Teknisk nøgle for EntityType (SNOMED Concept Id) |
VirtualAddressInformation | VirtualAddressInformation | Angiver enhedens hjemmesideadresse |
ReportingLevelIndicator | ReportingLevelIndicator (boolean) | Angiver om enheden er indberetningsniveau til Landspatientregisteret (LPR2) |
LocalAttributeCollection | LocalAttributeCollection | Der kan være op til 5 lokale attributter |
LocalCode | LocalCode (string, 20) | SOR-enhedens lokale kode. Attribut der frit kan benyttes af anvender organisationen. |
EanLocationCodeState | EanLocationCodeState | Angiver om lokationsnummer er nedarvet fra den hierarkiske mor. Kan være 'own', 'inherited' eller 'none'. |
EanLocationCodeEntity | EanLocationCodeEntityType | Angiver lokationsnummeret på SOR enheden |
CommunicationSupplier | CommunicationSupplier | Angiver netoperatør for lokationsnummeret. Obligatorisk hvis lokationsnummeret oprettes. |
PatientsAdmittedIndicator | PatientsAdmittedIndicator (boolean) | Angiver om enheden er et sengeafsnit |
AmbulantActivityIndicator | AmbulantActivityIndicator (boolean) | Angiver om enheden er et ambulatorie |
ShakIdentifier | ShakIdentifier (string, 7) | Angiver hvilken sygehusafdelingskode, der er knyttet til SORenheden. Den samme sygehusafdelingskode kan være knyttet til mere end én SORenhed. Der kan kun registreres officielle sygehusafdelingskoder. |
PrioritizedEntitySpecialityCollection | PrioritizedEntitySpecialityCollection | Liste af SOR enhedens kliniske specialer. Der kan angives op til 8, hvoraf nr. 1 er hovedspecialet. |
SystemSupplier | SystemSupplier | Angiver systemleverandøren for lokationsnummeret. Obligatorisk hvis lokationsnummer oprettes. |
ProviderIdentifier | ProviderIdentifier (string, 9) | SOR-enhedens ydernummer |
CVRnumberIdentifier | CVRnumberIdentifier (string, 8) | CVR nummer for SOR-enheden |
pNumber | ProductionUnitIdentifier (string, 10) | P nummer for SOR-enheden |
SearchParameters type
Element | Data type | Beskrivelse |
---|---|---|
SorIdentifier | integer | SOR entydig id |
EanLocationCode | integer | Lokationsnummer |
EanLocationCodeSystemSupplierId | integer | LocationCode System Supplier nummer |
EntityName | string60 | SOR Enhedens navn |
ProviderIdentifier | string9 | Providernummer |
PharmacyIdentifier | string20 | Apoteknummer |
LocalCode | string20 | SOR-enhedens lokale kode. Attribut der frit kan benyttes af anvender organisationen. |
CvrNumberIdentifier | string8 | CVR nummer for SOR-enheden |
GeographicalLocalisationId | integer | Id på geografisklokalitet |
SearchLimit type
Element | Data type | Beskrivelse |
---|---|---|
SearchScopeSorId | integer | SOR entydig søge nummer |
SearchScopeType | SearchScopeType | Search scope type |
SearchScope type
Element | Data type | Beskrivelse |
---|---|---|
All | string | Enum værdi som ALL(default værdi) |
All Children | string | Enum værdi som ALL_CHILDREN |
Direct Children | string | Enum værdi som DIRECT_CHILDREN |
DecimalTenThree
Element | Data type | Beskrivelse |
---|---|---|
decimal | decimal | total digits = 10 fraction digits = 3 |
string2
Element | Data type | Beskrivelse |
---|---|---|
string | string | max length = 2 |
string3
Element | Data type | Beskrivelse |
---|---|---|
string | string | max length = 3 |
string4
Element | Data type | Beskrivelse |
---|---|---|
string | string | max length = 4 |
string6
Element | Data type | Beskrivelse |
---|---|---|
string | string | max length = 6 |
string7
Element | Data type | Beskrivelse |
---|---|---|
string | string | max length = 7 |
string8
Element | Data type | Beskrivelse |
---|---|---|
string | string | max length = 8 |
string9
Element | Data type | Beskrivelse |
---|---|---|
string | string | max length = 9 |
string20
Element | Data type | Beskrivelse |
---|---|---|
string | string | max length = 20 |
string40
Element | Data type | Beskrivelse |
---|---|---|
string | string | max length = 40 |
string60
Element | Data type | Beskrivelse |
---|---|---|
string | string | max length = 60 |
string100
Element | Data type | Beskrivelse |
---|---|---|
string | string | max length = 100 |
string254
Element | Data type | Beskrivelse |
---|---|---|
string | string | max length = 254 |
string1000
Element | Data type | Beskrivelse |
---|---|---|
string | string | max length = 1000 |
ShakSorMap
Element | Data type | Beskrivelse |
---|---|---|
SorShakMapId | integer | Unik ID for mapningsrecord |
ShakId | string7 | Shak-kode der mappes |
SorId | integer | SorId der mappes. Shak/Sor-Id'er medtages kun i gyldighedsperioder, med mapning. |
IsDirectSorShakMapping | boolean | True, hvis SHAK-koden er knyttet direkte til SOR-id I SOR. False, hvis SHAK-koden kommer fra en ovenliggende SOR-enhed. |
ShakIdsDirectSorId | integer | SOR-id for den enhed, som SHAK-koden er direkte knyttet til. Kun angivet, hvis der er en indirekte mapning mellem "ShakId" og "SorId". Indeholder null, hvis der er en direkte mapning mellem "Shakid og SorId" |
FromDate | date | Mapping recorden er gældende fradato. Der er en ny record hver gang der enten er en ændring i SHAK eller SOR. Dvs, denne dato genereres ud fra SOR-fra-dato, SHAK-fra-dato eller nedarvede SOR-fra-datoer. |
ToDate | date | Mapping recorden gældende til dato. |
UpdatedAt | datetime | Tidspunkt for genereringen af mapnings recorden. |
SorType | string2 | Tekstværdi for SOR-type, enten IE, SI, OE |
SorEntityName | string60 | SOR Enhedens navn |
SorEntityTypeId | integer | Teknisk nøgle for EntityType (SNOMED Concept Id) |
SorEntityTypeName | string100 | Angiver hvilken type enheden har - fx privat, regional, tandlægepraksis, klinisk enhed, skadestue. Feltet kan indeholde enten en type af institutionsejer eller en type af sundhedsinstitution eller en type af organisatorisk enhed. |
SorFirstFromDate | date | Første dato hvorfra SOR enheden er gældende. |
SorFromDate | date | Fra dato for sidste ændring på SOR enheden. Hvis det er en ændring til en af attributterne på SOR enheden vil FromDate indeholde datoen for dagen efter ændringen til attributten. |
SorToDate | date | Situation 1: ændringer til SOR enhed og hvor SOR enhed ikke lukkes Situation 2: SOR enhed lukkes |
SorUpdatedAt | datetime | Ændringstidspunkt for SOR-enhed |
SorParentSorId | integer | Sor-Id for hierarkisk forælder entitet. Null for SorType institutionsejer (IE) |
SorInstitutionOwnerSorId | integer | Sor-Id der angiver institutionsejer (IE), dvs. øverste niveau i SOR hierarkiet for den enhed |
SorInstitutionOwnerEntityName | string60 | Angiver navnet på enhedens institutionsejer. Er altid udfyldt. |
SorInstitutionOwnerEntityTypeId | integer | Teknisk nøgle (SNOMED Concept Id) der angiver typen af institutionsejer. (OWNER_TYPE.SUNDTERM_ID i stedet for TYPE_CODE). |
SorInstitutionOwnerEntityTypeName | string60 | Angiver hvilken type enheden har - enten privat, regional, kommunal, stat. |
SorHealthInstitutionSorId | integer | Sor-Id der angiver enhedens sundhedsinstitution, dvs. næstøverste niveau i SOR hierarkiet for den enhed. Er udfyldt for sortyperne SI og OE. Null hvis det er en IE sortype. |
SorHealthInstitutionEntityName | string60 | Angiver navnet på enhedens sundhedsinstitution. Angives kun for organisatoriske enheder. |
SorHealthInstitutionEntityTypeId | integer | Teknisk Id (SNOMED Concept Id) der angiver typen af sundhedsinstitution. |
SorHealthInstitutionEntityTypeName | string60 | Angiver typen af sundhedsinstitution fx tandlæge klinik, plejehjem, hospital |
SorEanLocationCodeState | string20 | Angiver om lokationsnummer er nedarvet fra den hierarkiske mor. Kan være 'own', 'inherited' eller 'none'. Det er lige blevet ændret I SOR-opdater-webservice, derfor denne ændring her. |
SorEanLocationCode | integer | SOR-enhedens lokationsnummer |
SorGeographicalLocalisationId | integer | Id for geografisk lokalitet til opslag i tabellen GeoLocalisation |
SorGeographicalLocalisationName | string40 | Navn på den geografiske lokalitet |
SorVisitingAddressInheritanceIndicator | boolean | True hvis besøgsadressen er arvet via SOR-hierarkiet. Værdier: True/False. |
SorVisitingAddressStreetName | string40 | Besøgsadressens vejnavn |
SorVisitingAddressStreetCode | string4 | Besøgsadressens vejkode til vejregister i CPR |
SorVisitingAddressStreetBuildingId | string4 | Besøgsadressens husnummer |
SorVisitingAddressFloorId | string2 | Besøgsadressens etage |
SorVisitingAddressSuiteId | string4 | Besøgsadressens dør eller til højre, til venstre eller midt for |
SorVisitingAddressAdditionalAddressInfo | string40 | Besøgsadressens ekstra adresseinformation: Information der specificerer fysiske adresser. |
SorVisitingAddressPostCodeId | string4 | Besøgsadressens postnummer |
SorVisitingAddressDistrictName | string20 | Besøgsadressens postdistriktsnavn |
SorVisitingAddressMunicipalityCode | string4 | Besøgsadressens kommunekode, der identificerer en kommune i myndighedstabellerne i Det Centrale Personregister |
SorVisitingAddressRegionCode | string4 | Besøgsadressens regionskode |
SorVisitingAddressCountryIdCode | string6 | Besøgsadressens landekode. Pt kun er muligt at oprette danske adresser. |
SorVisitingAddressCoordETRS89z32NMeasure | DecimalTenThree | Besøgsadressens GPS koordinater (ETRS89, north) |
SorVisitingAddressCoordETRS89z32EMeasure | DecimalTenThree | Besøgsadressens GPS koordinater (ETRS89, east) |
SorPrioritizedEntitySpeciality1Id | integer | Teknisk (SNOMED Concept Id) nøgle til enhedens klinisk hovedspeciale |
SorPrioritizedEntitySpeciality1Name | string254 | Angiver enhedens hovedspeciale |
SorPrioritizedEntitySpeciality2Id | integer | Teknisk (SNOMED Concept Id) nøgle til klinisk speciale |
SorPrioritizedEntitySpeciality2Name | string254 | Angiver enhedens bispeciale |
SorPrioritizedEntitySpeciality3Id | integer | Teknisk (SNOMED Concept Id) nøgle til klinisk speciale |
SorPrioritizedEntitySpeciality3Name | string254 | Angiver enhedens bispeciale |
SorPrioritizedEntitySpeciality4Id | integer | Teknisk (SNOMED Concept Id) nøgle til klinisk speciale |
SorPrioritizedEntitySpeciality4Name | string254 | Angiver enhedens bispeciale |
SorPrioritizedEntitySpeciality5Id | integer | Teknisk (SNOMED Concept Id) nøgle til klinisk speciale |
SorPrioritizedEntitySpeciality5Name | string254 | Angiver enhedens bispeciale |
SorPrioritizedEntitySpeciality6Id | integer | Teknisk (SNOMED Concept Id) nøgle til klinisk speciale |
SorPrioritizedEntitySpeciality6Name | string254 | Angiver enhedens bispeciale |
SorPrioritizedEntitySpeciality7Id | integer | Teknisk (SNOMED Concept Id) nøgle til klinisk speciale |
SorPrioritizedEntitySpeciality7Name | string254 | Angiver enhedens bispeciale |
SorPrioritizedEntitySpeciality8Id | integer | Teknisk (SNOMED Concept Id) nøgle til klinisk speciale |
SorPrioritizedEntitySpeciality8Name | string254 | Angiver enhedens bispeciale |
ShakDateFrom | date | Gyldig fra dato for SHAK enhed |
ShakDateTo | datetime | Gyldig til dato for SHAK enhed |
ShakUpdatedAt | datetime | Ændringstid for SHAK enhed |
ShakName | string60 | Shak Navn |
ShakInstitutionTypeId | string3 | ID for SHAK institutiontype |
ShakInstitutionTypeName | string254 | SHAK institutionstype fra "sygehusniveau" |
ShakOwnerTypeId | string3 | ID for SHAK owner type |
ShakOwnerTypeName | string254 | SHAK owner type, f.eks. regional, privat, statslig... |
ShakMainSpecialityId | string3 | ID for SHAK hovedspeciale. |
ShakMainSpecialityName | string254 | SHAK hovedspeciale |
ShakSpeciality1Id | string3 | ID for Shak bispeciale 1 |
ShakSpeciality1Name | string254 | SHAK bispeciale 1 |
ShakSpeciality2Id | string3 | ID for Shak bispeciale 2 |
ShakSpeciality2Name | string254 | SHAK bispeciale 2 |
ShakSpeciality3Id | string3 | ID for Shak bispeciale 2 |
ShakSpeciality3Name | string254 | SHAK bispeciale 2 |
GetSorEntity Operation
Security gruppe påkrævet: SorCentralRole
Input | |||
Element | Data type | Optional | Beskrivelse |
---|---|---|---|
SorIdentifier | long | no | Sor entydig Id |
SnapshotDate | date | yes | SOR-enhedens data på en given dato. Hvis dato er tom vil der blive returneret gældende SOR enhed dagsdato. |
Output | ||
Element | Data type | Beskrivelse |
---|---|---|
SorEntity | SorEntity | Sor entity object svarende til sor entity record i SDM databasen |
Status | Status | Status for hvordan kaldet gik |
Search Operation
Security gruppe påkrævet: SorCentralRole
Input | |||
Element | Data type | Optional | Beskrivelse |
---|---|---|---|
Searchparameters | SearchParametersType | yes | Søge parameter |
SearchLimit | yes (default search scope = ALL) | Søge begrænsning |
Output | ||
Element | Data type | Beskrivelse |
---|---|---|
SorEntities | SorEntity list | En liste over de SOR enheder |
Status | Status | Status for hvordan kaldet gik |
SorShakMap Operation
Security gruppe påkrævet: SorCentralRole
Input | |||
Element | Data type | Optional | Beskrivelse |
---|---|---|---|
SorIdentifier | integer | no | SOR id |
date | date | yes | Hvis udfyldt returneres historisk mapning fra angivne dato. Hvis ikke udfyldt, så returneres data fra dagsdato. |
Output | ||
Element | Data type | Beskrivelse |
---|---|---|
SorShakMapResp | ShakSorMap | Shak sor map objekt type |
Status | Status | Status for hvordan kaldet gik |
ShakSorMap Operation
Security gruppe påkrævet: SorCentralRole
Input | |||
Element | Data type | Optional | Beskrivelse |
---|---|---|---|
ShakIdentifier | string7 | no | Shak id |
date | date | yes | Hvis udfyldt returneres historisk mapning fra angivne dato. Hvis ikke udfyldt, så returneres data fra dagsdato. |
Output | ||
Element | Data type | Beskrivelse |
---|---|---|
ShakSorMapResp | List of ShakSorMap | Shak sor map objekt type |
Status | Status | Status for hvordan kaldet gik |
Fejlkoder
Her er en kort liste over, nogle af de fejlkoder som kan forekomme, når servicen benyttes:
Kode | Beskrivelse |
---|---|
-13 | SOAP request er ugyldigt of kan ikke valideres |
-12 | Fejl når forsøger at konverter response object til SOAP |
-11 | Fejl under SOAP body transformation |
-10 | Fejl under konvertering af object til XML |
-9 | Fejl under paersering af SOAP besked body |
-8 | Fejl under connect til SOR databasen for whitelisting |
-7 | Fejl under connect/forespørgelse mod SDM databasen |
-6 | Autorisations fejl, CVR er ikke whitelisted |
-5 | Autorisations fejl, ugyldig type af certifikat brugt, kun FOCES og MOCES er tilladt |
-4 | Autorisations fejl, uden for gyldighedsperioden for sikkerheds headeren |
-3 | Autorisations fejl, kun certifikat niveau 3 eller 4 er tilladt |
-2 | Autentifikations fejl, kan ikke læse forespørgelsen |
-1 | Autentifikations fejl, invalid signatur |
Alle fejl kan forekomme i brugen af servicen, specielt fejlen fra -7 til -13. I alle tilfælde vil Message elementet i Status typen være sat.
Eksempel på kald
Java frameworks
For en eksempel implementation i Java, kan der med foredel tages udgangspunkt i servicens integrationstest:
https://svn.nspop.dk/svn/capgemini/SORServices/NSP/sorls/trunk/SorLookupService/src/test/java/dk/sds/nsp/sor/sorls/servlet/SorlsServletIT.java
Denne implementerer og bruge er JAX-WS klient for servicen, implementeret med Apache CXF. Klienten benytter også Seal.Java biblioteket til håndtering af SOSI ID kort og DGWS. Yderligere dokumentation på biblioteket kan findes her:
https://digitaliser.dk/group/374971
.NET frameworks
Seal.NET er .NET ekvivalenten til Seal.Java, og er dokumenteret her:
http://digitaliser.dk/group/375117
Der eksisterer ingen eksempel implementation i .NET, men bibliotek og WSDL er frit tilgængelig til at lave en sådan.