Den gode WSRM besked

WSRM beskeder anvendes til at underrette eksterne aftagere om hhv:

  1. Forretningshændelser - Eksempel: Der skal sendes et brev, borger har ikke nået en frist, borger har kvitteret for sin plan, osv.
  2. Replikering af forretningsentiteter - Eksempel: Der er registret sygdom, ferien er redigeret, plan er oprettet,..

Dataindhold

Ved ændring af en forretningsentitet udsendes hele eller væsentlige dele af den berørte entitet, inklusive entitetens unikke ID, så denne kan genfindes. Sammen med entiteten udsendes information om hvem der har foretaget kaldet og både organisationen/myndigheden og den person/system der er ansvarlig. Se mere under: Den gode WSRM besked#Metadata

Hvis flere entiteter berøres af en forretningsoperation udsendes en WSRM besked for hver berørt entitet.

Ved forretningshændelser udsendes tilstrækkelig information til at forretningshændelsen kan entydigt kan identificeres.

Store dataelementer som f.eks. PDF filer bør ikke udsendes som WSRM hændelser. Istedet kan GUID der entydigt referere til dokumentet udsendes.

Metadata i WSRM beskeden

Sammen med den enkelte WSRM besked udsendes følgende dataelementer (WSRMMetadataType):


RegistrationType (Created/Updated/Deleted) påføres ikke på WSRM'er da denne med tilkomsten af ophavs-system ID ikke længere er nødvendig for aftagerne

WSRMMetadataType

Navn

Type

Forekomst

Detaljer

MessageIdentifier

guid

1

ID på den specifikke WSRM

ClientSystemIdentifier

ClientSystemTypeIdentifierType

1

System ID på registrerende system (fx Planner/Opera/ Momentum/ Vitas). Se kodelisten: GetClientSystemTypeIdentifierTypeCodeList

RegisteringAuthority

ActiveOrganisationHeaderType

1

Registrerende myndighed. Dette er samme element som anvendes i STARs sikkerhedsmodel

RegisteringUser

RequestUserMetadataType

1

Registrerende bruger og dennes organisation (som ved fx Anden Aktør kan være forskellig fra ovenfor). Dette er samme element som anvendes i STARs sikkerhedsmodel

EnqueueDateTime

dateTime

1

Tidspunkt for hvornår beskeden er lagt på kø

SortKey

unsignedLong

1

Sorteringsnøgle. Stigende nummerrække der kan bruges til at sortere modtagne elementer. Element med lavest nummer behandles først. Der kan let være huller i nummerrækken.


Element
Type
Detaljer
Forekomst
Beskrivelse
-    -    BaseTypeWSRMMetadataBaseType
1
-    -    -    WSRMMetadataWSRMMetadataType
0 - 1
-    -    -    -    MessageIdentifierguid
Base: string
Pattern: [\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12}0 - 1
-    -    -    -    ClientSystemTypeIdentifierClientSystemTypeIdentifierType
0 - 1
-    -    -    -    RegisteringAuthorityActiveOrganisationHeaderType
0 - 1
-    -    -    -    -    OrganisationTypeIdentifierOrganisationTypeIdentifierType
Base: int
MinInclusive: 1
MaxInclusive: 100
1
Kodeliste med organisationstype / myndighedstype
-    -    -    -    -    OrganisationCodeOrganisationCodeType
Base: string
Length: 1-201
Identifikation af organisation / myndighed
-    -    -    -    RegisteringUserRequestUserMetadataType
0 - 1
-    -    -    -    -    RequestUserStructureRequestUserStructureType
1Information om den kaldende bruger.
-    -    -    -    -    -    UserFullNameUserFullNameType
Base: string
Length: 1-1401Sagsbehandlers fulde navn, ved systemkald angives systemets og jobbets navn her.
-    -    -    -    -    -    RequestUserTypeIdentifierRequestUserTypeIdentifierType
1Brugertype
-    -    -    -    -    -    UserIdentifierUserIdentifierType
Base: string
Length: 1-2551Unik identifikation af brugeren, f.eks. en GUID, et medarbejder ID, system ID, bruger ID, certifikat ID, cpr-nummer, email (hvis den er unik) o.l.
-    -    -    -    -    -    UserEmailEmailAddressIdentifierType
Base: string
Pattern: ([^>\(\)\[\]\\,;:@\s]{0,191}@[^>\(\)\[\]\\,;:@\s]{1,64})0 - 1Brugers e-mail.
-    -    -    -    -    RequestOrganisationStructureRequestOrganisationStructureType
1Den organisation som registrerende bruger tilhører.
-    -    -    -    -    -    OrganisationTypeIdentifierOrganisationTypeIdentifierType
1Kodeliste med organisationstype / myndighedstype for registrerende bruger.
-    -    -    -    -    -    OrganisationCodeOrganisationCodeType
Base: string
Pattern: [-][1]|[0-9]{1,8}1Organisationskode for den registrerende bruger.
-    -    -    -    -    DFDGRegistrationDateTimedateTime
1DFDG Registreringstidspunkt.
-    -    -    -    EnqueueDateTimedateTime
0 - 1
-    -    -    -    SortKeyunsignedLong
0 - 1

Gældende for WSRM beskeder, der er implementeret med WSRMMetadataType fra og med 2016-4, er, at WSRMMetadataType og dennes værdier udfyldes automatisk, når DFDG lægger WSRM-beskeden på køen, hvorfra WSRM beskeden kan hentes.

Opdeling i forretningsområder

WSRM hændelser placeres i selvstændige webservice snitflader - WSDL filer - som kun indeholder WSRM beskeder. WSRM snitfladerne opdeles efter forretningsområder.

Det er muligt for aftager at til-/fravælge hvilke services denne ønsker at modetage.

Navngivning

WSRM webservices navngives som almindelige webservices, dog følger alle webservice-operationer samme navngivning:

  • GetXYZVersionN()

Hvor XYZ er navnet på hændelsen/entiteten og N er versionen af operationen. Operationen returnerer en liste af den pågældende entitet.

Get operationen skal kun kaldes når man ekspilicit bliver bedt om det i forbindelse med WSRM afhentning. 

Versionsstyring af WSRM hændelser

Versioner styres som for almindelige webservices, med den tilføjelse at de enkelte webservice-operationer tilføjes et versionsnummer. Dette betyder at en WSRM webservice normalt ikke opgraderes når der tilføjes eller fjernes WSRM hændelser, da dette kan gøres uden at bryde kontrakten, dog efter et varsel.

Implementeringsnoter for DFDG

Se under udviklerhåndbøgerne: