Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Navitabs
rootweb:SOR Opdater Service (SORUS) - Leverancebeskrivelse
includeroottrue


...

SOR Opdatering Servicen (SORUS) er en del af en række opdateringer vedrørende Sundhedsvæsenets Organisationsregister (SOR). Denne service forbedre server-to-server integration med registeret, gør det lettere at automatisere opdateringer af dette. 

SOR interne services eksisterer allerede, men kan ikke udstilles direkte til brug for regioner, kommuner, og andre interessenter. Derfor bliver der udstillet en Opdater Webservice i SOR miljøet, som kan nåes nås fra NSP, og ligeledes bliver der udstillet en service i NSP, som kan nåes nås udefra.

SORUS' primære funktionalitet er derfor at håndtere autentificere håndtere autentificering af brugerne af systemet, og tillade gennemstilning gennemstilling af opdatering forespørgelselser ned opdateringsforespørgsler til SOR miljøet. Opdater Webservicen i SOR miljøet sørger så for adgangskontrol til den/de specifikke resurseressource(r) som bliver berørt af forespørgelsenforespørgslen, samt transformationen af forespørgelserne forespørgslerne til interne formater.

Gliffy Diagram
nameOpdatering arkitektur
pagePin21

Design

Teknologi og design i forhold til NSP's Husregler

For at lægge en service på NSP, så skal Husregler for udvikling til NSP overholdes. I projektet er der gået ud fra version 2.1 af disse.

Audit logning

For audit logning bliver følgende logget specifikt:

...

SORUS forbedrer server-to-server integration med SOR registeret, og gør det lettere at automatisere opdateringer.


HTML
<iframe src="https://archi.nspop.dk/NSP/570928ca/views/d3405ceb-bae0-4abf-a73b-36edb3d49c35.html" name="test" height="670" width="800">You need a Frames Capable browser to view this content.</iframe>   

* Hver kasse i ovenstående diagram har en kort forklaring, som kommer frem i et nyt browservindue, når der klikkes på kassen.

Dynamisk konfiguration i database

SORUS bruger kun dynamisk konfiguration et enkelt sted, og det er i forbindelse af autorisering af forespørgsler. CVR numre skal kunne tilføjes og fjernes løbende imens at servicen kører, uden at en genstart er nødvendig. Denne database bliver udelukkende brugt til CVR whitelisting af forespørgsler.

Servicen forventer at datasource til denne database er sat op igennem Wildfly, og er tilgængelig via Java Naming and Directory Interface (JNDI).


HTML
<iframe src="https://archi.nspop.dk/NSP/570928ca/views/id-253dbdc0-bcfa-475e-b8b5-478ae14236e2.html" name="test" height="180" width="800">You need a Frames Capable browser to view this content.</iframe>   

* Hver kasse i ovenstående diagram har en kort forklaring, som kommer frem i et nyt browservindue, når der klikkes på kassen.

...


Statisk konfiguration i property fil

...

Logning konfigurationen sørger for alt fejl- og info-logning kommer ned i en enkelt fil.

Der benyttes biblioteket Log4J til logning, og er indstillet i forhold ud fra version 2.1 af Husregler for udvikling til NSP's husorden.

Dynamisk konfiguration i database

SORUS bruger kun dynamisk konfiguration et enkelt sted, og det er i forbindelse af autorisering af forespørgelser. CVR numre skal kunne tilføjes og fjernes løbende imens at servicen kører, uden at en genstart er nødvendig. Denne database bliver udelukkende brugt til CVR whitelisting af forespørgelser.

...

.

Audit logning

For audit logning bliver følgende logget specifikt:

  • MessageID - som listet i standard DGWS headers
  • Operation - navnet på den SOAP operation der er kaldt
  • ActingUserType - system user eller healthcare professional user
  • OrganisationName - organisationens navn på det certifikat, som er brugt til at signere forespørgslen
  • OrganisationIdentifier - typisk organisationens CVR
  • OrganisationIdentifierFormat - format for organisationens identifier
  • ClientName - klientens navn
  • ClientPersistentUniqueKey - typisk CVR-FID/UID
  • Roles - listen af roller forespørgslen har tilladelse til at bruge, som sendt med i User elementet i forespørgslen
  • Entities - listen af SOR ID'er forespørgslen har tilladelse til at redigere i/under, som sendt med i User elementet i forespørgslen

Yderligere logges for ikke-systembrugere:

  • ActingUserIdentifier - typisk CPR
  • ActingUserIdentifierFormat - format for user identifier
  • ActingUserGivenName - fornavn
  • ActingUserSurName - efternavn
  • UserPersistentUniqueKey - typisk CVR-RID


Brug af Docker under udvikling

NSP har et fremtidig ønske om, at kunne benytte Docker til fremtidige deployments af services på platformen. Der er allerede udstillet nogle images, således at serviceudviklere kan opstille et miljø der ligner produktion, til test og udvikling af deres services. For at understøtte denne retning, så er der blevet lavet et Docker image af SORUS, baseret på images leveret af NSP.

Ikke tillade virksomheds OCES-certifikater

Adgang

Servicen tillader På trods af, at servicen skal tillade niveau 3 og 4 forespørgelser, så er det kun funktions OCES-certifikater fra niveau 3 som er tilladt. Der har været ønske om ikke at tillade virksomheds OCES-certifikaterforespørgsler for både OCES2 og OCES3. 'På vegne af' for MOCES tillades ikke adgang.

Flowchart

Nedenfor ses et succesfuldt kald igennem servicen for operationen CreateSorEntity. Flowet vil være det samme for alle operationer, hvor udelukkende kald og svar for SORUpdateServiceClient er anderledes.

Gliffy Diagram
displayNameSekvensdiagram
nameSekvensdiagram
pagePin511

Klasserne SorDBClient og SORUpdateServiceClient begge laver kald til eksterne systemer, som ikke er tegnet med.