Versions Compared

Key

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

...

SOR Opdatering Servicen (SORUS) er en del af en række opdateringer vedrørende Sundhedsvæsenets Organisationsregister (SOR). Denne service forbedrer server-to-server integration med registeret, og 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ås fra NSP, og ligeledes bliver der udstillet en service i NSP, som kan nås udefra.

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

Gliffy Diagram
nameOpdatering arkitektur
pagePin1

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:

  • 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

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ø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.

...

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

...