Versions Compared

Key

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

...

Table of Contents
excludeIndholdsfortegnelse

Releases SORUS WSDL

En oversigt over de forskellige releases, og eventuelle kommentarer omkring disse:

Release WSDL

Kommentar
1
3.
1
0

Release af version 3 af WSDL

WSDL version 1 og version 2 har aldrig været

- gældende version

2.0Release af version 2 - ikke tilgængelig
1.0Release af version 1
af WSDL
- ikke tilgængelig

Neden for kan dokumentationen for de aktive WSDL versioner findes.

...

Releases SORUS

Nyeste version af systemet.

Endpoint

Opdater servicen kan tilgås på adressen:

[miljø url]/sor-opdatering/v3/SOROpdateringService

Sti til  TEST1-miljøet:

http://test1-cnsp.ekstern-test.nspop.dk:8080/sor-opdatering/v3/SOROpdateringService

Sti til TEST2-miljøet:

http://test2-cnsp.ekstern-test.nspop.dk:8080/sor-opdatering/v3/SOROpdateringService

WSDL filen for servicen kan hentes ved at tilføje "?wsdl" til enden af URL'en.

Endpoint til produktion - for Regioner

https://cnsp.nsp.dsdn.dk:8443/sor-opdatering/v3/SOROpdateringService

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 typer defineret under namespacet:

http://sundhedsdatastyrelsen.dk/SOROpdateringService/2019/10/08/

Alle typer benyttet i parametre og resultater i disse kald er defineret under namespacet:

SOR.Services.SOAPServices.V3

Koder

Flere felter benytter koder frem for tekst strenge til at signalere over for servicen, hvilken type enhed der er ønsket at blive oprettet, eller hvor at enheden er placeret. Eksempel på sådan er SystemTypeIdentifier under EanLocationCodeEntityType.

For koderne til disse kan henvises til Klassifikationstabellen på KRS eller SorDataTypes.xml-filen som findes i SOR.zip her: https://sor-filer.sundhedsdata.dk/sor_produktion/data/sor/sorxml/

Gyldighed

I de kald hvor at SorEntityType 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). Dvs. det er muligt at se de ændringer som man har foretaget i kaldet eller den fremtidige enhed.

UserType

...

Liste af SOR-koder hvis træer som afsenderen har adgang til at redigere i. Indholdet bruges kun under autorisering af CreateSorEntity, EditSorEntity, MoveSorEntity, ReplaceSorEntities, CloseSorEntity og MoveEanLocationCode.

Benyttes ikke ved EDI operationer.

Release SORUSKommentar
1.2.3

Med rettelser efter QA v. Arosii. (SOR-429). 

SVN sendt til NSP d. 17.11.2022 - til TEST1 miljø. Godkendt v. Arosii.

Deployed på TEST1 miljø og deployed på TEST2 miljø d. 20.01.23.

Deploy til PROD miljø afventer at ekstern anvender har testet ok ved  hul-i-gennem-test (opdateret d. 23.1.23)

1.2.2

Med rettelser efter QA v. Arosii. (SOR-414). 

SVN sendt til NSP d. 11.10.2022 - til TEST1 miljø

Godkendt v. Arosii - sendt til Netic d. 13.10.22

1.2.1. 


Med rettelser efter QA v. Arosii. (SOR-414).

SVN sendt til NSP d. 21.9.2022 

1.2.0

Ændringer i forbindelse med overgang til Nemlogin3 og MitID (SOR-394)

1.1

Release af version 3 af WSDL

1.0Release af version 1 af WSDL

Endpoint

Endpoints til services på NSP er forskellige for kommuner/lægepraksissystemer  og regioner.

Kommunerne/lægepraksissystemer benytter den centrale NSP, cnsp, og regionerne bruger den decentrale NSP.


Opdater servicen kan tilgås på adressen:

[miljø url]/sor-opdatering/v3/SOROpdateringService

TEST1-miljøet

 https://test1-cnsp.ekstern-test.nspop.dk:8443/sor-opdatering/v3/SOROpdateringService

TEST2-miljøet:

 https://test2-cnsp.ekstern-test.nspop.dk:8443/sor-opdatering/v3/SOROpdateringService

WSDL filen for servicen kan hentes ved at tilføje "?wsdl" til enden af URL'en.

Produktionsmiljø:

https://cnsp.nsp.dsdn.dk:8443/sor-opdatering/v3/SOROpdateringService

Via SDN - Kræver aftale med SDN.

Snitfladebeskrivelser

Fælles

Sikkerhed

Succesfuld anvendelse af SORUS service kræver, at der medsendes gyldig sikkerhedsbillet (SOSI Idkort) fra STS i kaldet.

Valideringen af de indkommende sikkerhedsbilletter foretages vha NSP Security API.

Sikkerhedsbillletter på niveau 3 og 4 (FOCES, VOCES, MOCES og lokale identifikationsmidler) tillades. 'På vegne af' understøttes ikke.

Namespaces

Alle kald til servicen vil benytte typer defineret under namespacet:

http://sundhedsdatastyrelsen.dk/SOROpdateringService/2019/10/08/

Alle typer benyttet i parametre og resultater i disse kald er defineret under namespacet:

SOR.Services.SOAPServices.V3

Koder

Flere felter benytter koder frem for tekst strenge til at signalere over for servicen, hvilken type enhed der er ønsket at blive oprettet, eller hvor at enheden er placeret. Eksempel på sådan er SystemTypeIdentifier under EanLocationCodeEntityType.

For koderne til disse kan henvises til Klassifikationstabellen på KRS eller SorDataTypes.xml-filen som findes i SOR.zip her: https://sor-filer.sundhedsdata.dk/sor_produktion/data/sor/sorxml/

Gyldighed

I de kald hvor at SorEntityType 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). Dvs. det er muligt at se de ændringer som man har foretaget i kaldet eller den fremtidige enhed.

UserType

ElementData typeBeskrivelse
RolesArrayOfSorSecurityGroupExternalTypeListe af sikkerheds grupper som skal bruges under autoriseringen af et kald. Hvert type af kald har sin type som er nødvendigt, for at kunne udføre operationen. Afsenders CVR nummer skal være knyttet til den afsendte gruppe.
EntitiesSorIdentifierCollectionType

Liste af SOR-koder hvis træer som afsenderen har adgang til at redigere i. Indholdet bruges kun under autorisering af CreateSorEntity, EditSorEntity, MoveSorEntity, ReplaceSorEntities, CloseSorEntity og MoveEanLocationCode.

Benyttes ikke ved EDI operationer.

AddressInformationType

ElementData typeBeskrivelse
AdditionalAddressInformationTextStringYderligere oplysninger om adressen
AddressPostalAddressPostalTypeIndeholder yderligere adresse informationer
InheritanceIndicatorBooleanIndikerer om adressen er nedarvet eller ej ("TRUE" = Ja)
SkipAddressValidationBooleanIndikerer om den indtastede adresse skal valideres. Kun til input. Er altid sat til false i retur objektet.
MunicipalityCodeStringKommunekode
StreetCodeString

Vejkodefeltet bruges kun til output - input i feltet bliver ignoreret.

RegionNameStringIndeholder navnet på den valgte regionskode. Feltet bruges kun til output - input i feltet bliver ignoreret.
RegionCodeStringFeltet bruges ikke - input i feltet bliver ignoreret.
CoordETRS89z32NMeasureDecimalNorthing koordinater i UTM zone 32 (ETRS89, North). Feltet bruges kun til output - input i feltet bliver ignoreret.
CoordETRS89z32EMeasuredecimalEasting koordinater i UTM zone 32 (ETRS89, East). Feltet bruges kun til output - input i feltet bliver ignoreret.

AddressPostalType

ElementData typeBeskrivelse
StreetNameStringVejnavn
StreetBuildingIdentifierStringHusnummer
FloorIdentifierStringEtage
SuiteIdentifierStringAdressens dør eller til højre, til venstre eller midt for
PostOfficeBoxIdentifierIntegerPostboks. Feltet bruges ikke i dag - input i feltet bliver ignoreret
PostCodeIdentifierStringPostnummer
DistrictNameStringPostdistrikt - input i feltet bliver ignoreret.
CountryIdentificationCodeCountryIdentificationCodeTypePostadressens landekode

SorIdentifierCollectionType

ElementData typeBeskrivelse
SorIdentifierListe af longListe af SOR-koder

ArrayOfEanLocationCodeType

ElementData typeBeskrivelse
EanLocationCodeListe af longListe af lokationsnumre

ArrayOfEdiIdentifierType

ElementData typeBeskrivelse
EdiIdentifierListe af longListe af EDI meddelelsestyper

ArrayOfSorIdentifierType

ElementData typeBeskrivelse
SorIdentifierListe af longListe af SOR-koder

ArrayOfPrioritizedEntitySpecialityType

ElementData typeBeskrivelse
PrioritizedEntitySpecialityListe af PrioritizedEntitySpecialityTypeListe af SOR-enhedens kliniske specialer. Der kan angives op til 8, hvoraf nr. 1 er hoved specialet.

ArrayOfReplacingInfoType

ElementData typeBeskrivelse
ReplacingInfoTypeListe af ReplacingInfoTypeListe af SOR-enheder

ArrayOfSorSecurityGroupExternalType

ElementData typeBeskrivelse
SorSecurityGroupExternalListe af SorSecurityGroupExternalTypeSecurity groups

CountryIdentificationCodeType

ElementData typeBeskrivelse
SchemeCountryIdentificationSchemeTypeLandekode identifikations system
ValueStringLandekode

CountryIdentificationSchemeType

ElementData typeBeskrivelse

String

Enumeration af landekode identifikations systemer. Kan have en af følgende værdier:

  • iso3166-alpha2
  • iso3166-alpha3
  • un-numeric3
  • imk

EanLocationCodeEntityType

ElementData typeBeskrivelse
EanLocationCodeLongLokationsnummer
OnlyInternalIndicatorBooleanAngiver om lokationsnummeret er til internt brug
NonActiveIndicatorBooleanAngiver om lokationsnummeret er ikke-aktivt
SystemSupplierIdentifierLongSystemleverandør-id
CommunicationSupplierIdentifierLongNetoperatør-id
SystemTypeIdentifierLongEDB-system-id
EdiAdministratorIdentifierLongEDI-Administrator-id
SorNoteStringAngiver eventuelle bemærkninger til lokationsnummeret
SorStatusSorStatusTypeAngiver SOR enhedens status. Kun output. Input bliver ignoreret.
RegionCodeStringRegionens kode, f.eks. 1084 for RegionHovedstaden

EanLocationCodeStateType

ElementData typeBeskrivelse

String

Enumeration af nedarving status for lokationsnumre. Kan have en af følgende værdier:

  • Undefined
  • None
  • Inherited
  • Own

LocalAttributeCollectionType

ElementData typeBeskrivelse
LocalAttribute1StringLokal attribut 1
LocalAttribute2StringLokal attribut 2
LocalAttribute3StringLokal attribut 3
LocalAttribute4StringLokal attribut 4
LocalAttribute5StringLokal attribut 5

PrioritizedEntitySpecialityType

ElementData typeBeskrivelse
SpecialityIdentifierLong 

AddressInformationType

...

Vejkodefeltet bruges kun til output - input i feltet bliver ignoreret.

...

AddressPostalType

...

SorIdentifierCollectionType

...

ArrayOfEanLocationCodeType

...

ArrayOfEdiIdentifierType

...

ArrayOfSorIdentifierType

...

ArrayOfPrioritizedEntitySpecialityType

...

ArrayOfReplacingInfoType

...

ArrayOfSorSecurityGroupExternalType

...

CountryIdentificationCodeType

...

CountryIdentificationSchemeType

...

Enumeration af landekode identifikations systemer. Kan have en af følgende værdier:

  • iso3166-alpha2
  • iso3166-alpha3
  • un-numeric3
  • imk

EanLocationCodeEntityType

...

EanLocationCodeStateType

...

Enumeration af nedarving status for lokationsnumre. Kan have en af følgende værdier:

  • Undefined
  • None
  • Inherited
  • Own

LocalAttributeCollectionType

...

PrioritizedEntitySpecialityType

ElementData typeBeskrivelse
SpecialityIdentifierLong Speciale-id: Identifikationskode der identificerer et lægefagligt speciale. Kommentar: Identifikationskoden er et begrebs-id fra SNOMED CT.
SpecialityPriorityIdentifierLongPrioriteten af specialet. Hoved-/bi-speciale: Markerer om det er et hoved- eller bi-speciale.

...

ElementData typeBeskrivelse
SorIdentifierLongUnik nøgle der identificerer en SOR enhed. Genereres automatisk. En SOR-kode består af fire komponenter: - Fortløbende nummer - Namespace (7 cifre: "1000016") - Partition-ID (2 cifre) - Checksum-ciffer (1 cifre). Den første mulige SOR-kode er dermed '11000016002'.
SorTypeSorTypeTypeSOR-type. Angiver SOR-typen. Fx. "Institutionsejer" eller "Sundhedsinstitution".
SorStatusSorStatusTypeAngiver SOR enhedens status. Overbegreb - indeholder dato og opdateringsoplysninger.
GeographicalLocalisationIdentifierLongId på den geografiske lokation. Bruges kun til output. Må kikke angives i input.
GeographicalLocalisationNameStringNavn på den geografiske lokation. Bruges kun til output. Må ikke angives i input
HasGeographicalLocalisationBooleanAngiver om SOR enheden har en geografisk lokation, skal være false eller tom hvis SOR typen er IO. Vil altid returneres som false.
ParentSorIdentifierLongForældre SOR-id, må ikke udfyldes hvis SOR typen er IO. Ved Edit må feltet ikke udfyldes. Benyttes som input til CreateSorIntity operationen. Benyttes som output fra begge.
ActivityAddressInformationAddressInformationTypeAktivitetsadressen, skal være tom hvis SOR typen er IO eller HI. Hvis en OU oprettes/redigeres uden en aktivitetsadresse, nedarves den fra egen besøgsadresse.
VisitingAddressInformationAddressInformationTypeBesøgsadressen, skal være tom hvis SOR typen er IO. Hvis HI/OU oprettes/redigeres uden en besøgsadresse, nedarves den fra enhedens egen postadresse.
PostalAddressInformationAddressInformationTypePostadressen, skal være udfyldt vis SOR typen er IO. For HI og OU gælder det, hvis enheden oprettes/redigeres uden en postadresse, nedarves den fra forældre enhedens postadresse.
PharmacyIdentifierStringSOR-enhedens apoteksnummer, skal være tom hvis SOR typen er IO, og hvis enheden ikke er en apoteksenhed
EntityNameStringSOR Enhedens navn
EntityTypeIdentifierLongTeknisk nøgle for EntityType (SNOMED Concept Id)
VirtualAddressInformationVirtualAddressInformationTypeAngiver enhedens hjemmesideadresse, email, telefonnummer og faxnummer. Er obligatorisk for IO. For HI/OU gælder: Hvis objektet er null, så bliver VirtualAddress autoamtisk nedarvet fra parent-enheden
ReportingLevelIndicatorBooleanAngiver om enheden er indberetningsniveau til Landspatientregisteret (LPR2). Kun OU under HI med typen hospital kan have en. Feltet skal være false eller tom hvis SOR typen er IO eller HI, og hvis det ikke er en OU under en HI med typen hospital.
LocalAttributeCollectionLocalAttributeCollectionTypeDer kan være op til 5 lokale attributter, skal være tom hvis SOR typen er IO eller HI
LocalCodestringSOR-enhedens lokale kode. Kun OU under HI med typen hospital kan have en. Feltet skal være tom hvis SOR typen er IO eller HI, og hvis det er en OU som ikke er under en HI med typen hospital. Attribut der frit kan benyttes af anvender organisationen.
EanLocationCodeStateEanLocationCodeStateTypeAngiver om lokationsnummer er nedarvet fra den hierarkiske mor. Kan være 'own', 'inherited' eller 'none'.
EanLocationCodeEntityEanLocationCodeEntityTypeAngiver lokationsnummeroplysninger på SOR enheden
PatientsAdmittedIndicatorbooleanAngiver om enheden er et sengeafsnit. Kun OU under HI med typen hospital kan have en. Feltet skal være false eller tom hvis SOR typen er IO eller HI, og hvis det ikke er en OU under en HI med typen hospital.
AmbulantActivityIndicatorbooleanAngiver om enheden er et ambulatorie. Kun OU under HI med typen hospital kan have en. Feltet skal være false eller tom hvis SOR typen er IO eller HI, og hvis det ikke er en OU under en HI med typen hospital.
ShakIdentifierStringAngiver hvilken sygehusafdelingskode, der er knyttet til SOR-enheden. Den samme sygehusafdelingskode kan være knyttet til mere end én SORenhed. Der kan kun registreres officielle sygehusafdelingskoder. Skal være tom hvis SOR typen er IO.
PrioritizedEntitySpecialityCollectionArrayOfPrioritizedEntitySpecialityTypeListe af SOR-enhedens kliniske specialer. Der kan angives op til 8, hvoraf nr. 1 er hovedspecialet. Skal være tom hvis SOR typen er IO eller HI.
ProviderIdentifierStringSOR-enhedens ydernummer feltet skal være tom, hvis SOR typen er IO eller HI eller det er en OU som ikke er under en HI med typen "hospital". Kun OU ikke under HI med typen hospital kan have en. Input i feltet bliver ignoreret uden varsel hvis der er tale om en hospital OU.
CVRNumberIdentifierstringCVR nummer for SOR-enheden. Obligatorisk hvis SOR typen er IO.
ProductionUnitIdentifierStringP nummer for SOR-enheden, skal være tom hvis SOR typen er IO, eller hvis det er en OU under en HI med typen hospital
ReplacedByEntityCollectionArrayOfReplacingInfoTypeListe af SOR-enheder denne enhed er blevet erstattet af
ReplacesEntityCollectionArrayOfReplacingInfoTypeListe af SOR-enheder denne enhed erstatter

...

ElementData typeBeskrivelse
EdiIdentifiersArrayOfEdiIdentifierTypeListe af EDI-meddelelsestyper som skal tilføjes til lokationsnumre som skal opdateres. Ved tom liste slettes alle EDI numre fra lokationsnumre som skal opdateres.
EanLocationCodeEntitiesArrayOfEanLocationCodeTypeListe af lokationsnumre som skal opdateres

UpdateEdiTypesResponseResultType

...

som skal opdateres. Ved tom liste slettes alle EDI numre fra lokationsnumre som skal opdateres.
EanLocationCodeEntitiesArrayOfEanLocationCodeTypeListe af lokationsnumre som skal opdateres

UpdateEdiTypesResponseResultType

ElementData typeBeskrivelse
Tomt objekt

Fejlkoder

Alle operationer vil som udgangspunkt returnere et Status objekt som en del af svaret. Dette object indeholder altid to felter, ErrorCode og Message. Hvis ErrorCode er 0, så var kaldet en succes, ellers skete der en fejl i løbet af kaldet.

Positive værdier er validerings fejl fra SOR's interne systemer, og Message vil have en beskrivelse af fejlen.

Mere tekniske fejl vil blive lavet som en SOAP fault.

De nedenstående er hvilke denne applikation definerer:

MedCom fault codeFault stringBeskrivelse
missing_required_headerIkke muligt at læse forespørgslenAutentifikations fejl, kan ikke læse forespørgslen
ticket_missingDer opstod en fejl under autentificeringen: Manglende sikkerhedsbillet i forespørgselAutentifikations fejl, manglende sikkerhedsbillet i forespørgsel
ticket_not_validDer opstod en fejl under autentificeringen: Sikkerhedsbilletten er ikke gyldigAutentifikations fejl, ugyldig sikkerhedsbillet i forespørgsel
principal_user_presentDer opstod en fejl under autoriseringen: På vegne af understøttes ikkeAutorisations fejl, på vegne af tillades ikke adgang
organisation_missingDer opstod en fejl under autoriseringen: Manglende organisation i sikkerhedsbillettenAutorisations fejl, organisation ikke angivet
user_type_not_validDer opstod en fejl under autoriseringen: Brugertypen kan ikke autoriseresAutorisations fejl, brugertypen tillades ikke adgang
not_authorizedCVR er ikke whitelistetAutorisations fejl, manglende whitelisting
syntax_errorDet er ikke muligt at læse bodyFejl under transformeringen af SOAP body til et objekt
processing_problemUgyldig requesttypeRequest typen i SOAP action findes ikke
processing_problemDet er ikke muligt at læse forespørgslenRequest body kan ikke læses
processing_problemDer er sket en fejl i forsøget på at kontakte SOR databasenFejl under forespørgsel mod whitelistingdatabasen

Fejlkoder

Alle operationer vil som udgangspunkt returnere et Status objekt som en del af svaret. Dette object indeholder altid to felter, ErrorCode og Message. Hvis ErrorCode er 0, så var kaldet en succes, ellers skete der en fejl i løbet af kaldet.

Positive værdier er validerings fejl fra SOR's interne systemer, og Message vil have en beskrivelse af fejlen.

Mere tekniske fejl vil blive lavet som en SOAP fault.

De nedenstående er hvilke denne applikation definerer:

Autorisations fejl, CVR er ikke whitelisted database forespørgelse databasenUnable to write bodyError happened while contacting SOR backend forespørgelse mod backendenUkendt operation mod backenden
MedCom fault codeFault stringBeskrivelse
invalid_signatureInvalid signatureAutentifikations fejl, invalid signatur
missing_required_headerUnable to read requestAutentifikations fejl, kan ikke læse forespørgelsen
security_level_failedInvalid authentication level, level 3 or 4 requiredAutorisations fejl, kun certifikat niveau 3 eller 4 er tilladt
expired_idcardCurrent time is outside of valid periodAutorisations fejl, uden for gyldighedsperioden for sikkerheds headeren
invalid_certificateThe type of certificate used is invalid, FOCES or MOCES requiredAutorisations fejl, ugyldig type af certifikat brugt, kun FOCES og MOCES er tilladt
not_authorizedCVR not whitelisted
processing_problemError happened while contacting SOR backend

Fejl under

forespørgsel mod

syntax_errorUnable to parse bodyFejl under transformeringen af SOAP body til et objekt
processing_problemUnable to marshal objectFejl under transformeringen af object til XML

backenden

Supporten kan søge i SOR ekstern/SOR intern fejllogs

processing_problemDet er ikke muligt at skrive objektprocessing_problemFejl under at skrive det transformerede objekt til klienten
processing_problemDet er ikke muligt at skrive bodyFejl under transformeringen af object til XML
processing_problemInvalid request typeDet er ikke muligt at læse bodyFejl under transformeringen af SOAP body til et objekt

Andre fejlkoder kan forekomme, men disse kommer fra backenden, eller dens underliggende servicesSOR Ekstern eller SOR Intern.

Det skal pointeres, at MedCom's fault code kan findes under detail sektionen af den resulterende SOAP fault. Den påkrævede faultstring vil altid være "Server".

...

For et eksempel implementation i Java, kan der med fordel tages udgangspunkt i servicens integrationstest:

https://svn.nspop.dk/svnsrc/capgeminicomponents/SORServices/NSP/sorus/trunk/SorUpdateService/src/test/java/dk/sds/nsp/sor/sorus/servletservletintegration/SorusV3ServletIT.java

Denne implementerer og bruger 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 for seal biblioteket kan findes her:

...