Indholdsfortegnelse
Releases
En oversigt over de forskellige releases, og eventuelle kommentarer omkring disse:
Release | Kommentar |
---|
1.1 | Release af version 3 af WSDL WSDL version 1 og version 2 har aldrig været tilgængelig |
1.0 | Release af version 1 af WSDL |
Neden for kan dokumentationen for de aktive WSDL versioner findes.
Version 3
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.
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
Element | Data type | Beskrivelse |
---|
Roles | ArrayOfSorSecurityGroupExternalType | Liste 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. |
Entities | SorIdentifierCollectionType | Liste af SOR-ID'er hvis træer som afsenderen har adgang til at redigere i. Indholdet bruges kun under autorisering af CreateSorEntity, EditSorEntity, MoveSorEntity, ReplaceSorEntities, og CloseSorEntity. |
AddressInformationType
Element | Data type | Beskrivelse |
---|
AdditionalAddressInformationText | String | Yderligere oplysninger om adressen |
AddressPostal | AddressPostalType | Indeholder yderligere adresse informationer |
InheritanceIndicator | Boolean | Indikerer om adressen er nedarvet eller ej ("TRUE" = Ja) |
SkipAddressValidation | Boolean | Indikerer om den indtastede adresse skal valideres. Kun til input. Er altid sat til false i retur objektet. |
MunicipalityCode | String | Kommunekode |
StreetCode | String | Vejkodefeltet bruges kun til output - input i feltet bliver ignoreret. |
RegionName | String | Indeholder navnet på den valgte regionskode. Feltet bruges kun til output - input i feltet bliver ignoreret. |
RegionCode | String | Feltet bruges ikke - input i feltet bliver ignoreret. |
CoordETRS89z32NMeasure | Decimal | Feltet bruges kun til output - input i feltet bliver ignoreret. |
CoordETRS89z32EMeasure | decimal | Feltet bruges kun til output - input i feltet bliver ignoreret. |
AddressPostalType
Element | Data type | Beskrivelse |
---|
StreetName | String | Vejnavn |
StreetBuildingIdentifier | String | Vejnummer |
FloorIdentifier | String | Etage |
SuiteIdentifier | String | Lokale |
PostOfficeBoxIdentifier | Integer | Postboks. Feltet bruges ikke i dag - input i feltet bliver ignoreret. |
PostCodeIdentifier | String | Postkode |
DistrictName | String | Område navn - input i feltet bliver ignoreret. |
CountryIdentificationCode | CountryIdentificationCodeType | Land |
SorIdentifierCollectionType
Element | Data type | Beskrivelse |
---|
SorIdentifier | Liste af long | Liste af SOR numre |
ArrayOfEanLocationCodeType
Element | Data type | Beskrivelse |
---|
EanLocationCode | Liste af long | Liste af lokationskoder |
ArrayOfEdiIdentifierType
Element | Data type | Beskrivelse |
---|
EdiIdentifier | Liste af long | Liste af EDI numre |
ArrayOfSorIdentifierType
Element | Data type | Beskrivelse |
---|
SorIdentifier | Liste af long | Liste af SOR numre |
ArrayOfPrioritizedEntitySpecialityType
Element | Data type | Beskrivelse |
---|
PrioritizedEntitySpeciality | Liste af PrioritizedEntitySpecialityType | Liste af SOR enhedens kliniske specialer. Der kan angives op til 8, hvoraf nr. 1 er hovedspecialet. |
ArrayOfReplacingInfoType
Element | Data type | Beskrivelse |
---|
ReplacingInfoType | Liste af ReplacingInfoType | SOR enhed erstatning information |
ArrayOfSorSecurityGroupExternalType
CountryIdentificationCodeType
CountryIdentificationSchemeType
Element | Data type | Beskrivelse |
---|
| String | Enumeration af landekode identifikations systemer. Kan have en af følgende værdier: - iso3166-alpha2
- iso3166-alpha3
- un-numeric3
- imk
|
EanLocationCodeEntityType
Element | Data type | Beskrivelse |
---|
EanLocationCode | Long | Lokationsnummer |
OnlyInternalIndicator | Boolean | Angiver om lokationsnummeret er til internt brug |
NonActiveIndicator | Boolean | Angiver om lokationsnummeret er ikke-aktivt |
SystemSupplierIdentifier | Long | Systemleverandør-id |
CommunicationSupplierIdentifier | Long | Netoperatør-id |
SystemTypeIdentifier | Long | EDB-system-id |
EdiAdministratorIdentifier | Long | EDI-Administrator-id |
SorNote | String | Angiver eventuelle bemærkninger til lokationsnummeret |
SorStatus | SorStatusType | Angiver SOR enhedens status. Kun output. Input bliver ignoreret. |
RegionCode | String | Regionens kode, f.eks. 1084 for RegionHovedstaden |
EanLocationCodeStateType
Element | Data type | Beskrivelse |
---|
| String | Enumeration af nedarving status for lokationsnumre. Kan have en af følgende værdier: - Undefined
- None
- Inherited
- Own
|
LocalAttributeCollectionType
Element | Data type | Beskrivelse |
---|
LocalAttribute1 | String | Lokal attribut 1 |
LocalAttribute2 | String | Lokal attribut 2 |
LocalAttribute3 | String | Lokal attribut 3 |
LocalAttribute4 | String | Lokal attribut 4 |
LocalAttribute5 | String | Lokal attribut 5 |
PrioritizedEntitySpecialityType
Element | Data type | Beskrivelse |
---|
SpecialityIdentifier | Long | Speciale nummer |
SpecialityPriorityIdentifier | Long | Prioriteten af specialet |
ReplacingInfoType
Element | Data type | Beskrivelse |
---|
Name | String | Enhedens navn |
SorId | Long | Enhedens ID |
Date | Date | Dato for ændringen |
SorEntityType
Element | Data type | Beskrivelse |
---|
SorIdentifier | Long | Unik nøgle der identificerer en SOR enhed |
SorType | SorTypeType | SOR-type |
SorStatus | SorStatusType | Angiver SOR enhedens status |
GeographicalLocalisationIdentifier | Long | Id på den geografiske lokation. Bruges kun til output. |
GeographicalLocalisationName | String | Navn på den geografiske lokation. Bruges kun til output. |
HasGeographicalLocalisation | Boolean | Angiver om SOR enheden har en geografisk lokation, skal være false eller tom hvis SOR typen er IO. Vil altid returneres som false. |
ParentSorIdentifier | Long | Forældre SOR-id, må ikke udfyldes hvis SOR typen er IO. Ved Edit må feltet ikke udfyldes. |
ActivityAddressInformation | AddressInformationType | Aktivitetsadressen, skal være tom hvis SOR typen er IO eller HI. Hvis enheden oprettes uden en aktivitetsadresse, nedarves den fra forældre enheden.
|
VisitingAddressInformation | AddressInformationType | Besøgsadressen, skal være tom hvis SOR typen er IO. Hvis enheden oprettes uden en besøgsadresse, nedarves den fra forældre enheden. |
PostalAddressInformation | AddressInformationType | Postadressen, skal være udfyldt vis SOR typen er IO. For HI og OU gælder det, hvis enheden oprettes uden en postadresse, nedarves den fra forældre enheden. |
PharmacyIdentifier | String | SOR-enhedens apoteksnummer, skal være tom hvis SOR typen er IO, og hvis enheden ikke er en apoteksenhed |
EntityName | String | SOR Enhedens navn |
EntityTypeIdentifier | Long | Teknisk nøgle for EntityType (SNOMED Concept Id) |
VirtualAddressInformation | VirtualAddressInformationType | Angiver 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 |
ReportingLevelIndicator | Boolean | Angiver 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 er en OU som ikke er under en HI med typen hospital. |
LocalAttributeCollection | LocalAttributeCollectionType | Der kan være op til 5 lokale attributter, skal være tom hvis SOR typen er IO eller HI |
LocalCode | string | SOR-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. |
EanLocationCodeState | EanLocationCodeStateType | Angiver om lokationsnummer er nedarvet fra den hierarkiske mor. Kan være 'own', 'inherited' eller 'none'. |
EanLocationCodeEntity | EanLocationCodeEntityType | Angiver lokationsnummeret på SOR enheden |
PatientsAdmittedIndicator | boolean | Angiver 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 er en OU som ikke er under en HI med typen hospital. |
AmbulantActivityIndicator | boolean | Angiver 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 er en OU som ikke er under en HI med typen hospital. |
ShakIdentifier | String | 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. Skal være tom hvis SOR typen er IO. |
PrioritizedEntitySpecialityCollection | ArrayOfPrioritizedEntitySpecialityType | Liste 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. |
ProviderIdentifier | String | SOR-enhedens ydernummer. Kun OU ikke 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 er under en HI med typen hospital. Input i feltet bliver ignoreret uden varsel hvis der er tale om en hospital OU. |
CVRNumberIdentifier | string | CVR nummer for SOR-enheden. Obligatorisk hvis SOR typen er IO. Skal være tom hvis SOR typen er HI eller OU. |
ProductionUnitIdentifier | String | P 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
|
ReplacedByEntityCollection | ArrayOfReplacingInfoType | Liste af SOR enheder denne enhed er blevet erstattet af |
ReplacesEntityCollection | ArrayOfReplacingInfoType | Liste af SOR enheder denne enhed erstatter |
SorSecurityGroupExternalType
Element | Data type | Beskrivelse |
---|
| String | Enumeration af security groups. Kan have en af følgende værdier: - SorDecentralRole
- SorEditorRole
- SorGeoRole
- SorShakRole
- SorMoveEanRole
- SorEdiAdminRole
|
SorStatusType
Element | Data type | Beskrivelse |
---|
FromDate | Date | CreateSorEntity: Første dag enheden er aktiv. EditSorEntity: Dato for dagen ændringen gælder fra. Kun output-felt. Input i feltet bliver ignoreret. FromDate bliver default set til i dag+1 dag. Dvs. ændringer gælder altid fra i morgen. |
ToDate | Date | Sidste dag enheden er aktiv. Kun output-felt. Input i feltet bliver ignoreret. Brug CloseSorEntity() til at lukke en enhed. |
UpdatedAt | Date | Dato hvornår enheden sidst er opdateret. Kun output-felt. Input I feltet bliver ignoreret. |
FirstFromDate | Date | Dato for hvornår enheden første gang var aktiv. Bliver kun brugt til output. Input i feltet bliver ignoreret. |
SorTypeType
Element | Date type | Beskrivelse |
---|
| String | Enumeration af SOR typer. Kan have en af følgende værdier: |
StatusType
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. |
ErrorMessage | String | Hvis ErrorCode er 0, er dette felt tomt. Ellers indeholder den en kort beskrivelse af, hvilken fejl der skete. |
VirtualAddressInformationType
Element | Data type | Beskrivelse |
---|
InheritanceIndicator | Boolean | Indikerer om informationerne er nedarvet eller ej |
EmailAddressIdentifier | String | Email adresse |
Website | String | Hjemmeside adresse |
TelephoneNumberIdentifier | String | Telefonnummer |
FaxNumberIdentifier | String | Fax nummer |
CreateSorEntity
Security gruppe påkrævet: SorCentralRole, SorDecentralRole
CreateSorEntityRequestParameterType
Element | Data type | Beskrivelse |
---|
SorEntity | SorEntityType | Det SOR objekt som skal oprettes |
CreateSorEntityResponseResultType
Element | Data type | Beskrivelse |
---|
SorEntity | SorEntityType | Det SOR objekt som blev oprettet i systemet |
EditSorEntity
Security gruppe påkrævet: SorCentralRole, SorDecentralRole
EditSorEntityRequestParameterType
Element | Data type | Beskrivelse |
---|
SorEntity | SorEntityType | Det SOR objekt som skal redigeres |
EditSorEntityResponseResultType
Element | Data type | Beskrivelse |
---|
SorEntity | SorEntityType | SOR objektet som det ser ud efter redigering |
MoveSorEntity
Security gruppe påkrævet: SorCentralRole, SorDecentralRole
MoveSorEntityRequestParameterType
Element | Data type | Beskrivelse |
---|
SorIdentifier | Long | ID på det SOR objekt som skal flyttes |
ParentSorIdentifier | Long | ID på det SOR object der skal være den nye parent |
FromDate | Date | Dato for hvornår at flytningen skal træde i kraft |
MoveSorEntityResponseResultType
Element | Data type | Beskrivelse |
---|
Tomt objekt |
ReplaceSorEntities
Security gruppe påkrævet: SorCentralRole, SorDecentralRole
ReplaceSorEntitiesRequestParameterType
Element | Data type | Beskrivelse |
---|
SorIdentifier | Long | ID på det SOR objekt som skal flyttes |
FromDate | Date | Dato for hvornår at erstatningen skal træde i kraft |
ReplacesEntityCollection | ArrayOfSorIdentifierType | Liste af SOR ID'er på de enheder som skal erstattes |
ReplaceSorEntitiesResponseResultType
Element | Data type | Beskrivelse |
---|
Tomt objekt |
CloseSorEntity
Security gruppe påkrævet: SorCentralRole, SorDecentralRole
CloseSorEntityRequestParameterType
Element | Data type | Beskrivelse |
---|
SorIdentifier | Long | ID på det SOR objekt som skal lukkes |
ToDate | Date | Sidste dato for hvornår at enheden er aktiv |
CloseSorEntityResponseResultType
Element | Data type | Beskrivelse |
---|
Tomt objekt |
EditEanLocationCodeSystemType
Security gruppe påkrævet: SorEdiCentralRole, SorEdiAdminRole
EditEanLocationCodeSystemTypeRequestParameterType
Element | Data type | Beskrivelse |
---|
SystemTypeIdentifier | Long | EDB-system-id |
EanLocationCodeEntities | ArrayOfEanLocationCodeType | Liste af lokationsnumre som skal opdateres |
EditEanLocationCodeSystemTypeResponseResultType
Element | Data type | Beskrivelse |
---|
Tomt objekt |
EditEanLocationCodeCommunicationSupplier
Security gruppe påkrævet: SorEdiCentralRole, SorEdiAdminRole
EditEanLocationCodeCommunicationSupplierRequestParameterType
Element | Data type | Beskrivelse |
---|
CommunicationSupplierIdentifier | Long | VANS leverandør (ID) |
EanLocationCodeEntities | ArrayOfEanLocationCodeType | Liste af lokationsnumre som skal opdateres |
EditEanLocationCodeCommunicationSupplierResponseResultType
Element | Data type | Beskrivelse |
---|
Tomt objekt |
EditEanLocationCodeEdiAdministrator
Security gruppe påkrævet: SorEdiCentralRole
EditEanLocationCodeEdiAdministratorRequestParameterType
Element | Data type | Beskrivelse |
---|
EdiAdministratorIdentifier | Long | EDI-Administrator-id |
EanLocationCodeEntities | ArrayOfEanLocationCodeType | Liste af lokationsnumre som skal opdateres |
EditEanLocationCodeEdiAdministratorResponseResultType
Element | Data type | Beskrivelse |
---|
Tomt objekt |
EditEanLocationCodeRegion
Security gruppe påkrævet: SorEdiCentralRole, SorEdiAdminRole
EditEanLocationCodeRegionRequestParameterType
Element | Data type | Beskrivelse |
---|
RegionCode | Long | Region |
EanLocationCodeEntities | ArrayOfEanLocationCodeType | Liste af lokationsnumre som skal opdateres |
EditEanLocationCodeRegionResponseResultType
Element | Data type | Beskrivelse |
---|
Tomt objekt |
EditEanLocationCodeSystemSupplier
Security gruppe påkrævet: SorEdiCentralRole
EditEanLocationCodeSystemSupplierRequestParameterType
Element | Data type | Beskrivelse |
---|
SystemSupplierIdentifier | Long | Systemleverandør-id |
EanLocationCodeEntities | ArrayOfEanLocationCodeType | Liste af lokationsnumre som skal opdateres |
EditEanLocationCodeSystemSupplierResponseResultType
Element | Data type | Beskrivelse |
---|
Tomt objekt |
MoveEanLocationCode
Security gruppe påkrævet: SorEdiCentralRole, SorDecentralRole
MoveEanLocationCodeRequestParameterType
Element | Data type | Beskrivelse |
---|
SorIdentifier | Long | SOR-kode for den nye enhed, som den skal knyttes til |
EanLocationCode | Long | Angiver lokationsnummeret for enheden |
MoveEanLocationCodeResponseResultType
Element | Data type | Beskrivelse |
---|
Tomt objekt |
UpdateEdiTypes
Security gruppe påkrævet: SorEdiCentralRole, SorDecentralRole
UpdateEdiTypesRequestParameterType
Element | Data type | Beskrivelse |
---|
EdiIdentifiers | ArrayOfEdiIdentifierType | Liste af EDI numre som skal tilføjes til lokationsnumre som skal opdateres. Ved tom liste slettes alle EDI numre fra lokationsnumre som skal opdateres. |
EanLocationCodeEntities | ArrayOfEanLocationCodeType | Liste af lokationsnumre som skal opdateres |
UpdateEdiTypesResponseResultType
Element | Data type | Beskrivelse |
---|
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 code | Fault string | Beskrivelse |
---|
invalid_signature | Invalid signature | Autentifikations fejl, invalid signatur |
missing_required_header | Unable to read request | Autentifikations fejl, kan ikke læse forespørgelsen |
security_level_failed | Invalid authentication level, level 3 or 4 required | Autorisations fejl, kun certifikat niveau 3 eller 4 er tilladt |
expired_idcard | Current time is outside of valid period | Autorisations fejl, uden for gyldighedsperioden for sikkerheds headeren |
invalid_certificate | The type of certificate used is invalid, FOCES or MOCES required | Autorisations fejl, ugyldig type af certifikat brugt, kun FOCES og MOCES er tilladt |
not_authorized | CVR not whitelisted | Autorisations fejl, CVR er ikke whitelisted |
processing_problem | Error happened while contacting SOR database | Fejl under forespørgelse mod databasen |
syntax_error | Unable to parse body | Fejl under transformeringen af SOAP body til et objekt |
processing_problem | Unable to marshal object | Fejl under transformeringen af object til XML |
processing_problem | Unable to write body | Fejl under at skrive det transformerede objekt til klienten |
processing_problem | Error happened while contacting SOR backend | Fejl under forespørgelse mod backenden |
processing_problem | Invalid request type | Ukendt operation mod backenden |
Andre fejlkoder kan forekomme, men disse kommer fra backenden, eller dens underliggende services.
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".
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/sorus/trunk/SorUpdateService/src/test/java/dk/sds/nsp/sor/sorus/servlet/SorusV3ServletIT.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.