Versions Compared

Key

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

...

Links til mere information

<Relevante links til andre dokumenter, herunder i forhold til de data services skal arbejde på, og den model de følger>

<Eventuel link til mere uddybende beskrivelse, intern på NSP og eksternt>

MHD standarden: https://profiles.ihe.net/ITI/MHD/index.html

...

Til redigering: https://mermaid.live/edit#pako:eNqFkcFOwzAMhl-l8rmbQrc2WQ6ToDmwwy6UA0K9RI27VTTJyBLEmPbuZCsDaYKRk_37d_zJ3kNjFQKHLb4GNA2KTq6c1LVJ4iv7Do0fzefLe1Ghe-sa5MnicTEq6GD40aNJiGqo3rChGoWL3idRJRq9VNLLX34Y5vFE2CboGD1gi-5I9R8Ou4YznfyFU4rbRNmX06wrOHedkW5Xm8ECKWh0WnYqrm1_1Grwa9RYA4-hwlaG3tdQm0O0yuBttTMNcO8CpuBsWK2Bt7Lfxixs4ibOO_9WN9I8W6vPLTEFvod34FPKxjQr8iwjhBFKWQo74Cwbz0hOyIxNclrMyPSQwsepn4wZzVNA1XnrlsOhT_dOYeWO_F9MaBS60gbjgU-K7PAJ-qelZw

Relevante use-cases

<Angiv use cases såfremt det er relevant>


Læsevejledning og forudsætninger

Dette dokument er henvendt til udviklere og arkitekter, der skal anvende MHD Service.

Det forventes at læseren har kendskab til <f.eks.: SOAP WebService, Den Gode WebService (DGWS) og Sercurity Token Service (STS), o.a.>

<Eventuel andre forudsætninger>

Sikkerhed

<Forudsætninger for anvendelse og krævede adgange, whitelistinger etc., Sikkerhedsniveau. Angiv krav til authentication for at kunne bruge servicen/komponenten.>

REST services, JWT / bearer token autentifikation og FHIR.

Sikkerhed

Service udstil typeREST service med JWT bearer token autentifikation. 
Krævede adgangeJWT token identificerer borgeren, der har adgang til egne dokumenter.
Whitelisting <Angiv eventuel nødvendig whitelisting>Nej
Krævet sikkerhedsniveau <Angiv krav til authentication for at kunne bruge servicen/komponenten>Data udstilles kun til borgerlogin, og kun borgerens egne dokumenter.
Forudsætninger for anvendelse <Angiv forudsæntninger som er nødvendige for at kunne bruge servicen/komponenten, eventuelle nødvendige kald til andre services, etc.>Ligesom ved brug af DDS er det anvenders ansvar kun at hente dokumenter via ITI-68, som kalder umiddelbart forinden har fået udleveret link til via ITI-67. Dette sikrer de udleverede dokumenters aktualitet. Da der kun er tale om borgertilgang til egne dokumenter er spærring ikke et problem, men dokumenter kan deprecates og erstattes af nye versioner på DDS.
LogningDer logges almindelig auditlog med kald-log jf. husreglerne. Logning<Angiv om og hvad der logges>
<evt. yderligere krav eller forhold>

<Eventuel nærmere introduktion>

<Eventuel yderligere beskrivelse af området / domænet som servicen/komponenten servicerer>.

<Samt yderligere information som er vigtigt for anvendelsen eller forståelsen>

Definitioner og referencer

ReferenceBeskrivelse






Adgang, brug og snitflader

Adgang

<Beskrivelse af hvordan service/komponent bruges, snitflade(r), endpoints, og andet relevant>

Tilgængelig<Angiv på hvilke(n) NSP-installation(er) servicen/komponenten er tilgængelig>
Endpoint(s)

<Angiv udstillede endpoint(s), og hvad de hedder.>

WSDL

<Angiv henvisning til WSDL(er). For ekstern anvendbare services typisk på https://wsdl.nspop.dk/>

Beskrivelse af services

<Beskrivelser af service(s) / actions på endpoint(s). I lægmands termer beskrive hvad man kan forvente af de enkelte services.>

Namespaces etc<Angiv eventuelt Namespaces, eksterne typer, ..>

Snitfladebeskrivelse og brug

Anvender skal kalde ITI-67 for at få udleveret en aktuel liste af links til dokumenter. Disse links kan umiddelbart derefter bruges i ITI-68 kald for at hente indholdet af dokumenterne. Links til dokumenter bør ikke lagres til senere anvendelse, da der status mm. kan skifte på dokumentdelingsservicen, fx deprecating af dokument ved erstatning med en ny version.

MHDService-instansen henter dokumenter for den angivne patient i det dokument repository den enkelte instans er konfigureret op til. Man kan fx kun hente dokumenter fra graviditetsmappens repository med graviditetsmappe-instansen af MHDService.<Beskrivelse af Snitfladerne, samt den logik og de regler, der skal følges for den måde servicen anvendes på, og som servicen selv efterlever.

ITI-67

ITI-67 (registry opslag) udstiller søgning efter dokumenter i graviditetsmappen for en specifik patient baseret på søgeparameteren "patient.identifier". MHD standarden tilbyder en række yderligere søgeparametre, men disse er ikke supporteret endnu.

ITI-67 Request

Request til ITI-67 er et GET eller POST kald til "<MHDService instance base URL>/DocumentReference" med parameteren "patient.identifier" angivet som url-parameter eller i body'en. Parameteren angiver patientens CPR nummer.

...

ITI-67 parametre
ParameterBeskrivelsePåkrævet
patient.identifierPatientens CPR nummerJa


ITI-67 Response

Response er et FHIR searchset Bundle med MedComDocumentReference ressourcer for de fundne dokumenter.

ITI-68

ITI-68 (repository opslag) udstiller opslag efter dokumenter i graviditetsmappen. I ITI-67 kaldet er givet et antal MedComDocumentReferences der har en URL til hvert enkelt dokument. På denne URL findes ITI-68 opslaget efter dokumentet.

URL'en for hvert dokument vil være på formen "<MHDService instance base URL>/Binary/<documentId>", og vil returnere objektet i form af en Binary FHIR ressource, med CDA'en som "data".

ITI-68 Request

Request til ITI-68 er et GET kald til "<MHDService instance base URL>/Binary/<documentId>", hvor værdien af "documentId" angiver dokumentets "DocumentUniqueId".


ITI-67 parametre
ParameterBeskrivelsePåkrævet
documentIdDokumentets DocumentUniqueIdJa


ITI-68 Response

Response er en FHIR Binary ressource hvor dokumentet er base 64 encoded i "data" elementet.

Fejlbeskeder

<Beskrivelse af  fejlbeskeder, og i hvilke situationer man kan forvente at se disse i.

...

Eksempler på request og response til de operationer der udstilles. De enkelte elementer er beskrevet under snitfladebeskrivelse. Klient proxier kan genereres udfra WSDL'en.

ITI-67 efterfulgt af ITI-68

Et kald til ITI-67 kunne se ud som

GET <baseurl>/DocumentReference?patient.

...

identifier=<cpr>

og give et Bundle af DocumentReferences med URL'er til at hente de enkelte dokumenter. Herunder er vist et eksempel med et enkelt og dokument. Der er skåret en masse fra for at vise hvordan selve linket er indfanget.

Code Block
languagexmljs
titleEksempel request/responseBundle med DocumentReference FHIR ressourcer
collapsetrue
<eksempel her>

<mere eksempel>

Test

<beskriv Test muligheder, test-systemer og eventuelle testdata>

Eksempel kode og klient

Eksempel kode

<Eksempel kode. Det er meget lettere at lave sin egen implementering, hvis man kan kigge efter en anden ....>

Code Block
languagexml
titleEksempel kode
collapsetrue
<eksempel her, eller reference andet steds>

Eksempel klient

{
	"resourceType": "Bundle",
	"type": "searchset",
	"entry": [
		{
			"resource": {
				"resourceType": "DocumentReference",
				"meta": {
					"profile": [
						"http://medcomfhir.dk/ig/coredocument/StructureDefinition/medcom-documentreference"
					]
				},
                ...
                "content": [
					{
						"attachment": {
							"contentType": "application/fhir+json",
							...
							"url": "<baseurl>/Binary/<documentId>",
							...
						},
						...
					}
				],
				...
			}
		}
	]
}

Denne URL bruges derefter i et ITI-68 kald. ála

GET <baseurl>/Binary/<documentId>

som vil give dokumentet indpakket i en Binary ressource.

Code Block
languagejs
titleBinary FHIR ressource
{
  "resourceType": "Binary",
  "contentType": "text/xml",
  "data": "<base64 encodet CDA dokument>"
}


Test

<beskriv Test muligheder, test-systemer og eventuelle testdata><og hvor det giver mening angiv eventuel eksempel klient, samt hvordan og hvor det eventuelt kan eksekveres>

Dokument Historik

3/4 2025Martin Henriksen/SDSEtablering af dokumentation
10/4 2025Anders Ringsmose/TriforkForslag til API