1. Indhold

2. Indledning

Dette dokument indeholder beskrivelse af, hvordan løsningen anvendes.

2.1. Læsevejledning

Læseren forventes at have kendskab til National Sundheds-IT's platform NSP, samt generelt kendskab til webservices herunder xml. Dokumentation som falder udenfor dette dokuments område kan findes på:

https://www.nspop.dk/display/web/Dokumentation.

Man skal gennemlæse vejledningsdokumentet.

2.2. Dokumenthistorik

Version

Dato

Ansvarlig

Beskrivelse

1.1129-09-2023Arosii

Criticality på destination er påkrævet

1.1017-05-2021KvalitetsIT

Nyt skema hvor navne kun er 50 lange, ny wsdl og nyt endpoint.

1.913-11-2020LakesideAnbefaling af antal logenties i request
1.811-08-2020KvalitetsITPræciseret formulering for OnBehalfIdentifier
1.710-06-2020KvalitetsITTilføjet information om udløb af idkort. 
1.626-05-2020KvalitetsITTilrettet fejlkoder.
1.526-04-2019OpenmindsTilføjelse af MinLog1 lookup
1.407-09-2018OpenmindsYderligere specifikation af borgerservice

1.3

12-11-2017

Openminds

Ny service

1.2

04-10-2017

Openminds

Skemaændringer i forbindelse med PersonIdentifiers

1.1

26-06-2017

Openminds

Tilføjelse af skemabeskrivelse og flere xml eksempler

1.0

15-06-2017

Openminds



2.3. Definitioner og forkortelser

Definition

Beskrivelse

NSP

Den nationale service platform (inden for sundheds-IT)


3. Registration

Denne service anvendes til registrering af log hændelser.

3.1. Adresser

Servicen er kan findes på:
https://<host>:<port>/minlog2-registration/20230425/RegisterService

og wsdl'en på:
https://<host>:<port>/minlog2-registration/20230425/RegisterService?wsdl

3.1.1. Autentifikation og autorisation

RegisterService autentifikation sikres med IDCard i SOAP header, som det er standard på NSP. Beskrivelsen af dette ligger uden for dette dokuments område. For MinLog2 register snitfladen må ID kortet maksimalt være 9 timer gammelt. 
RegisterService kræver autentifikationsniveau niveau 3 (VOCES eller FOCES).

3.1.2. BeskedsID

Kaldere af servicen er forpligtet til at forsyne hvert kald med et unikt beskedsID (messageID) i medcom headeren. Dette er standard NSP og beskrivelsen ligger uden for nærværende dokuments område.

3.2. Skemabeskrivelse

Skemaet til Registration kan findes gennem servicen:

http:// <host>:<port>/minlog2-registration/20230425/RegisterService?xsd=minlog2-registration_20230425.xsd

Efterfølgende beskrives indholdet i body delen af soap beskeden.

3.2.1. Request

Følgende elementer anvendes i registreringen:

Navn

Beskrivelse

Definition

Kardinalitet

RegistrationRequest

Rod-element for forespørgslen. Indeholder 1 eller flere LogDataEntry-elementer


1

LogDataEntry

Indeholder data til registrering af en handling.


1-*

Source

Element der indeholder information omkring det kaldende system, kilde systemet.
Kildesystemet kan udelades i de tilfælde en bruger slår direkte op på systemet.


0-1

Source/Source[/...]

Source-elementet kan igen indeholde et source-element. Dette anvendes såfremt kildesystemet igen er kaldt af et andet system.


0-* Vær opmærksom på en tiltænkt begrænsning på 3.

Source/ SystemName

Navn, evt. forkortet, for det anvendte kilde-system

Streng med max længde på 25 tegn

0-1

Source/ CorrelationId

Et teknisk id, medsendt fra kildessytemetet. Værdien anvendes til at identificere den sammenhæng som handlingen er gennemført i, eksempelvis et id for behandlingen eller indlæggelsen (EPJ) eller kontakten (LPS).
Systemet skal være unikt for det anvendte system.

Streng med max længde på 46 tegn.

0-1

Destination

Element der indeholder information omkring og fra det kaldte system, destinations-systemet, dvs. det system der foretager logningen.


1

Destination/ SystemName

Navn, evt. forkortet, for det anvendte system, f.eks. "FMK".

Streng med max længde på 25 tegn

1

Destination/Activity

Tekst der beskriver den handling, som brugeren har udført eller forsøgt udført på kildesystemet.
Eksempelvis "hent medicinkort" på FMK.
Datasættet fastlægges endeligt i forbindelse med udarbejdelse af vejledninger og retningslinjer.

Streng, max længde på 75 tegn

1

Destination/ Reason

Optionel tekst der beskriver årsagen til den handling, som brugeren har udført eller forsøgt udført på kildesystemet.
Teksten anvendes kun i særlige tilfælde, hvor borgeren ikke har direkte kontakt til brugeren, eksempelvis ved support, fejlsøgning og tilskudsansøgninger.
Teksten udfyldes af systemet, som en eller få forud-definerede tekster, og må ikke være en fritekst udfyldt af brugeren.

Streng, max længde på 50 tegn

0-1

Destination/ Criticality

Niveau for kritikalitet, aktuelt kun "Privatmarkeret"

Streng, defineret som en union af en enumeration af niveau for kritikalitet, og en Streng med max længde 50 tegn

1

Destination/Addition

Angivelse af type af opslag som tilføjelse til kritikalitet, aktuelt "Samtykke" eller "Værdispring"

Streng med max længde 50 tegn

0-1

Destination/ DateTime

DateTime-elementet indeholder en tidsangivelse for opslag på eller forsøg på handling på borgerens data.
Dato og tid skal angives i zulu tid / UTC. I praksis gøres dette ved at tilføje Z efter tidsangivelsen, samt at korrigere for de 1-2 timers forskel (henholdsvis vinter- og sommertid) der er mellem dansk tid og UTC. Tiden angives med en præcision i sekunder.

DateTime

0-1
Enten skal DateTime eller (FromDateTime og ToDateTime) forekomme.

Destination/ FromDateTime

Som alternativ til DateTime herover kan der være foretaget en gruppering af f.eks. FMK inden data er afleveret til MinLog 2. I så fald kan FromDateTime og ToDateTime angive det interval hvor hændelserne er sket.

DateTime

0-1
Enten skal DateTime eller (FromDateTime og ToDateTime) forekomme.

Destination/ ToDateTime

Se FromDateTime herover.

DateTime

0-1
Enten skal DateTime eller (FromDateTime og ToDateTime) forekomme.

Destination/ OrganisationId

ID for brugerens organisation.
Elementet skal forekomme for alt andet end private borgeres opslag.

Streng på max 200 tegn

0-1

Destination/ OrganisationId attribut source

Kilde til ID for brugerens organisation, defineret som en attribut på OrganisationId-elementet.

SOR, SKS, Yder, CVR-P, CVR, Kommunekode og en Streng med max længde 200

1

Destination/ OrganisationName

Navn på brugens organisation ,
Elementet skal forekomme for alt andet end private borgeres opslag.

Streng med max længde 200

0-1

Destination/ PersonIdentifier

CPR-nummer eller evt. erstatnings-CPR-nummer på borgeren.

Streng af længde 50

1

Destination/ PersonIdentifier attribut source

Kilde til ID for borgerens CPR-nummer eller erstatnings-CPR-nummer.
F.eks. "CPR" for almindelige CPR-numre i CPR-registret.

CPR eller E-CPR

1

Destination/ PersonName

Borgerens navn. Optionelt men krævet af anvendersystemet hvor source ikke er CPR.

Streng med max længde 50 tegn

0

Destination/ CorrelationId

Et teknisk id, medsendt fra kildessytemetet. Værdien anvendes til at identificere den sammenhæng som handlingen er gennemført i, eksempelvis et id for behandlingen eller indlæggelsen (EPJ) eller kontakten (LPS).
Værdien skal være unik for det anvendte system.

Streng med max længde på 46 tegn

0-1

Destination/ SequenceNumber

Et teknisk sekvens-nummer, angivet af afsender, der anvendes i forbindelse med fejlhåndtering. F.eks. et fortløbende nummer eller et uuid.
Værdien skal være unikt i kaldet.

Streng med max længde på 36 tegn

0-1

Destination/ UserPersonIdentifier

CPR-nummer eller evt. erstatnings-CPR-nummer på brugeren der har udført handlingen. En forekomst af CPR-nummer eller erstatnings-CPR-nummer er som udgangspunkt obligatorisk og valideres af registreringsservicen.

Af hensyn til bagudkompatibilitet er det muligt at angive '0000000000' som CPR-nummer - dette virker kun på en særskilt registreringssnitflade, der er under udfasning. Anvendelse af denne snitflade vil kræve en separat aftale.

Streng af længde 50

1-*

Destination/ UserPersonIdentifier attribut source

Kilde til UserPersonIndentifier.
F.eks. "CPR" for almindelige CPR-numre i CPR-registret.

CPR eller Autorisation

1

Destination/ UserPersonName

Brugerens navn. Optionelt men krævet af anvendersystemet hvor source ikke er CPR, Autorisation m.v.

Hvis CPR-nummer '0000000000' er angivet som UserPersonIdentifier, indsættes teksten 'Apoteksmedarbejder' af systemet.

Streng med max længde 50 tegn

0

Destination/ UserRole

Brugerens rolle.
Der vil være en sammenhæng til et evt. angivet autorisationsnummer, det er op til systemet der kalder registreringsservicen at sikre sammenhængen er korrekt.

Streng af længde 200 (evt. kan FMK's RequestedRole bruges som inspiration)

0-1

Destination/ OnBehalfOfPersonIdentifier

CPR-nummer eller autorisation på brugeren handlingen er udført på vegne af.

Streng med max længde 50

0-1

Destination/ OnBehalfOfPersonIdentifier attribut source

Kilde til OnBehalfOfPersonIdentifier.
F.eks. "CPR" for almindelige CPR-numre i CPR-registret.

CPR eller Autorisation

1

Destination/ OnBehalfOfPersonName

Navn svarende til "på vegne af". Optionelt men krævet af anvendersystemet hvor source ikke er CPR, Autorisation m.v.

Streng med max længde 50 tegn

0

Destination/ OnBehalfOfUserRole

På vegne af brugerens rolle.

Streng af længde 200

0-1

Destination/Filter

Et eller flere felter der anvendes til angivelse af hvilken målgruppe logningen skal filtreres fra for.
Udelades feltet er der underforstået at logningen er relevant for alle.

Streng, aktuelt defineret som en union af en enumeration aktuelt indeholdende " Ikke borger" , "Ikke forældremyndigheds-indehaver" og en Streng med max længde 50 tegn.

0-*


3.2.2. Response

Følgende elementer returneres i svaret:

Navn

Beskrivelse

Definition

Kardinalitet

RegistrationResponse

Rod-element for svaret.


1

NumberAdded

Antal LogDataEntry registreret med succes

Integer

1

NumberFailed

Antal LogDataEntry registreret med med fejl

Integer

1

FailedLogDataEntry

Såfremt en registrering er fejlet indeholder elementet information herom


0-*

FailedLogDataEntry/ SequenceNumber

Svarer til teknisk sekvens-nummer, angivet af afsender.

Streng med max længde på 36 tegn

1

FailedLogDataEntry/ FaultCode

Fejlkode:
GENERAL_ERROR = "101"; VALIDATION_ERROR = "102"; UNKNOWN_IDENTIFIER_SRC = "103"; DUPLICATE = "104";

...

1

FailedLogDataEntry/ FaultText

Fejltekst.

...

0-1

3.3. Operationer

Nedenfor følger en oversigt over den eneste tilgængelige operation. Denne operation anvendes også til at sende flere logentries i samme request.

Det anbefalede antal logentries er 500 entries pr. request.

3.3.1. AddRegistrations

Denne operation anvendes når der skal foretages en log registrering. Headerdelen håndterer IDCard og Medcom - se evt. nsop.dk. Efterfølgende fokuseres på body-delen af soap requestet. Check evt. integrationtest BasicRegistrationTest for komplet soaprequest.

3.3.1.1. Eksempel-Request

…….
…….
<ml2:RegistrationRequest xmlns:ml2="http://www.sundhedsdatastyrelsen.dk/minlog/xml.schema/2023/04/25/minlog2-registration.xsd">
<LogDataEntry>
<Source>
<CorrelationId>40075148-7b1b-476c-b5c3-4181a39650c5</CorrelationId>
<SystemName>TestSystem</SystemName>
<Source>
<CorrelationId>40075148-7b1b-476c-b5c3-4181a39650c5</CorrelationId>
<SystemName>TestSubSystem</SystemName>
</Source>
</Source>
<Destination>
<SystemName>Integrationtest</SystemName>
<Activity>Inserting</Activity>
<Reason>h</Reason>
<Criticality>Ingen</Criticality>
<DateTime>2017-04-03T19:20:14.000+01:00</DateTime>
<OrganisationId source="SOR">240971000016006</OrganisationId>
<OrganisationName>Openminds</OrganisationName>
<PersonIdentifier source="CPR">2412752045</PersonIdentifier>
<PersonName>Test Tester</PersonName>
<CorrelationId>40075148-7b1b-476c-b5c3-4181a39650c5</CorrelationId>
<SequenceNumber>1</SequenceNumber>
<UserPersonIdentifier source="CPR">2412751044</UserPersonIdentifier>
<UserPersonName>Sygeplejerske Jensen</UserPersonName>
<UserRole>UserRole</UserRole>
<OnBehalfOfPersonIdentifier source="CPR">2412751946</OnBehalfOfPersonIdentifier>
<OnBehalfOfPersonName>Læge Olsen</OnBehalfOfPersonName>
<OnBehalfOfUserRole>OnBehalfOfUserRole</OnBehalfOfUserRole>
<Filter>Ikke borger</Filter>
<Filter>Ikke forældremyndigheds-indehaver</Filter>
</Destination>
</LogDataEntry>
</ml2:RegistrationRequest>
…….
…….


3.3.1.2. Eksempel-Response

…….
…….
        <ns7:RegistrationResponse xmlns:ns7="http://www.sundhedsdatastyrelsen.dk/minlog/xml.schema/2023/04/25/minlog2-registration.xsd">            <NumberAdded>1</NumberAdded>            <NumberFailed>0</NumberFailed>        </ns7:RegistrationResponse>
…….
…….



  • No labels