You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

Indledning

Denne vejledning beskriver de tekniske forretningsregler i forhold til at implementere Forløbsplaner i et lokalt fagsystem eller en patient/borgerportal. Vejledningen er tiltænkt forretningsarkitekter, systemarkitekter samt systemleverandører, således at disse kan vurdere hvordan Forløbspalnerne kan implementeres i systemerne.

På nationalt plan er der udarbejdes der en indholdsprofil ud fra HL7's Clinical Document Architecture  (CDA), som beskriver udvekslingsformatet for forløbsplanerne til KOL, diabetes og hjertelidelser. Indholdsprofilen er forankret hos MedCom.
CDA-dokumenterne for forløbsplaner forvaltes af Primærsektorens Leverandør Service Platform (PLSP), men udstilles via den nationale delingsinfrastruktur, således at borgerens forløbsplaner kan fremfindes af sundhedsvæsenets aktører. Aktører, som understøtter Forløbsplaner, kan via deres fagsystemer anvende de standardiserede IHE XDS snitflader til at hente borgernes forløbsplaner.

Den nationale delingsinfrastruktur udstilles gennem dokumentdeling- og dokumentregistreringsservices via standardiserede IHE XDS snitflader tilpasset den nationale sikkerhedsinfrastruktur, som bl.a. omhandler autorisation, samtykkekontrol, auditlogning etc.

Anden dokumentation

De overordnede forretningsregler til Digital Løsning til Graviditetsforløb kan ses i dokumentet: Indhold og forretningsregler

Udveksling af data om den gravides gravidtetsmappe foregår via den nationale delingsinfrastruktur. Denne understøtter referencearkitekturen for deling af dokumenter og billeder.

For generel introduktion til den nationale delingsinfrastruktur, se vejledningen ’Kom godt i gang med dokumentdeling’ til deling af dokumenter via Dokumentdelingsservice på NSP lavet af MedCom.

For detaljeret teknisk dokumentation omkring dokumentdeling via NSP, se beskrivelsen på Dokumentdeling på NSP (DROS, DDS, NXRG, OpenXDS)

Aktører

Figure giver et overblik over de aktører som er i spil i relation til deling af forløbsplaner.

Den praktiserende læge: Lægen udarbejder forløbsplanen, for henholdsvis KOL, diabetes og hjertelidelser i samarbejde med borgeren via eget fagsystem.
Forløbsplanen opbevares i forløbsplandatabasen som er forvaltet af PLSP.

Borgere (Patienter): Borgere har læseadgang til egne forløbsplaner via Sundhedsjournalen på sundhed.dk

Pårørende: Pårørende har læseadgang til borgerens forløbsplaner via Sundhedsjournalen på sundhed.dk, hvis borgeren har tildelt den pårørende en læsefuldmagt via den fælles-offentlige fuldmagsservice på borger.dk

Sundhedspersoner: Sundhedspersoner har adgang til borgeres forløbsplaner via Sundhedsjournalen på sundhed.dk, eller via eget fagsystem - afhængigt af lokal implementering

Sundhedsprofessionelle (uden sundhedsfaglig autorisation): Kan få adgang til borgerens forløbsplaner via lokal trustmodel, hvor parterne giver relevante medarbejdere adgang til at tilgå borgeres forløbsplaner via Sundhedsjournalen på sundhed.dk, eller via eget fagsystem - afhængigt af lokal implementering

PLSP Indeks udstiller ikke forløbsplaner på nuværende tidspunkt. På testmiljøet forventes tilkoblingen at ske ultimo 2023, i produktion Q1-2024


Overordnet oversigt

Teknisk oversigt

Indhold i Forløbsplaner

CDA standarden til forløbsplaner er under udarbejdelse, og ligger derfor i draft folderen. Testprotokoller og eksempler er endnu ikke udarbejdede


Først og fremmest skal man kende til det indholdsformat der benyttes til forløbsplansdokumenter. Formatet er XML og indholdet er specificeret som en dansk profil af CDA. Den danske profil for CDA Careplan (CPD-DK v2.0.0) er forankret hos MedCom der står for den danske profilering. Se under MedCom CPD-DK hvor både beskrivelse af standarden samt forskellige aftale eksempler opbevares, bemærk der findes eksempler til alle versioner af CPD-DK, eksempler til CPD-DK v2.0.0 findes i Eksempel folderen.

Et CDA dokument består af en header og en body, hvor headeren generelt beskriver en række metadata omkring dokumentets indhold, mens de dokumentspecifikke data placeres i body sektionen.

Indholdet i CDA headeren er fælles for alle danske CDA dokumenter, og er ligeledes forankret hos MedCom, se under MedCom CDA Header v. 1.4. I forbindelse med forløbbsplaner er der tilføjet en forløbslabel til CDA Headeren, som ikke er inkluderet i CDA Header v. 1,4 standarden - dette er beskrevet i CPD-DK v2.0.0 under afsnit 2.1.5.3

Systemer der tilsluttes Forløbsplaner, skal bl.a. godkendes af MedCom ud fra en certificering. Testprotokollerne for certificering til Forløbsplaner, kan findes på MedCom's hjemmeside under: Testprotokoller for modtagelse og afsendelse af careplaner.

Yderligere information om om hvordan CDA dokumenter er opbygget kan findes hos IHE, under: IHE - Hvad er HL7 CDA?

Tekniske forudsætninger

Se Administrative forudsætninger for at få adgang til NSP'en.

Forløbsplaner udstilles via services på NSP'en, disse skal tilgås gennem en afkoblingskomponent "DCC'en" DCC'en viderestiller kald til underliggende services, så der er ikke en WSDL for DCC'en. Se DCC Dokumentation for adgang til services gennem DCC'en.

Det er et krav at dokumentdelingsservicen skal tilgås gennem afkoblingskomponenten

NSP services kan tilgås enten via Den Gode Webservice (DGWS) eller via OIO-IDWS (Udelukkende borger adgang). 
Den Gode WebService (DGWS) benytter XMLDSIG til at signere SAML assertions ud fra X.509 certifikater/nøgler - for adgang til Forløbsplaner skal sundhedspersoner have et STS-underskrevet SOSI-ID kort på niveau 4 (medarbejder), hvilket også er beskrevet under administrative forudsætninger, således at borgeren har mulighed fat lave en spærring for at forløbsplaner kan deles med specifikke sundhedspersoner, samt at patienten har mulighed for at se hvem der har haft adgang til patientens Aftaleoversigt via Minlog.
For mere information om den gode webservice, se: https://www.medcom.dk/standarder/webservice-standarder/den-gode-webservice

Sundhedsdatastyrelsen har beskrevet hvordan et SOSI-ID kort kan skabes og anvendes under STS Dokumentationen

De servicesnitflader der udstilles til Forløbsplaner er alle baseret på SOAP kald der understøtter DGWS.
Indholdsdelen af den enkelte servicekald (SOAP body) er den del der er specificeret af IHE XDS snitfladerne, dvs. for eksempel ITI-18 og ITI-43, se nærmere beskrivelse under: Dokumentdeling på NSP (DROS, DDS, NXRG, OpenXDS)

De detaljerede beskrivelser af snitfladerne findes i IHE IT Infrastructure Technical Framework dokumenterne volume 1, 2a, 2b, 2x og 3.

Beskrivelserne i de officielle dokumenter fra IHE er relativt komplicerede, og det kan være svært at opnå et godt overblik over hvordan specifikke kald sættes sammen. Der findes en række generelle og praktiske eksempler og programmer på IPF Open eHealth Integration Platform siderne. Se for eksempel:

Søgning på Forløbsplaner

For at søge på en patients Aftaleoversigt, skal der laves en ITI-18 forespørgsel via NSP'ens dokumentdelingsservice.

WSDL til DDS Registry findes her: https://wsdl.nspop.dk/ddsregistry?wsdl

Når der søges på Aftaleoversigten, kan der søges på de værdier der er angivet i dokument metadata. Aftaleoversigten benytter MedCom's metadata profil version 0.96, der kan hentes på https://svn.medcom.dk/svn/releases/Standarder/IHE/DK_profil_metadata/

Typisk angives patientens CPR nummer, samt en typecode - for APD er typecode 39289-4, bemærk at aftaledokumenter både udstilles som statiske dokumenter, og on-demand dokumenter hvorfor DocumentEntryType for begge typer skal angives. Se følgende eksempel.

En søgning efter en patients aftale dokumenter baserer sig typisk på et tidsinterval. For Aftaler er det parametrene ServiceStartTime og ServiceStopTime, der angiver hvornår en aftale begynder og slutter.
For parametre med tidsangivelser gælder følgende søgeregel, således alle tidspunkter der angives inden for dette interval inkluderet. (eksempel med ServiceStartTime):

$XDSDocumentEntryServiceStartTimeFrom <= XDSDocumentEntry.serviceStartTime < $XDSDocumentEntryServiceStartTimeTo

Der er specielle regler for søgninger, hvor ServiceStopTime ikke er angivet. Konkret betyder det følgende:
Hvis DocumentEntry.serviceStopTime ikke er angivet, og hvis søge paramtrerne inkluderer en værdi for enten $XDSDocumentEntryServiceStopTimeFrom eller $XDSDocumentEntryServiceStopTimeTo. Så vil disse parametre ikke blive benyttet for udsøgning af det konkrete dokument.

For henholdsvis AND og OR søgninger gælder det at angives der flere søgeværdier i samme <slot> så tæller det som en OR søgning for disse værdier. Hvor der mellem de forskellige <slot> tæller som en AND søgning.

De detaljerede tekniske informationer om ITI-18 og angivelse af søgeparametre, kan ses i IHE ITI dokumentation volume 2

Specifikt for Aftaler der løber over flere dage, gælder det at søgningen skal inkludere de tidspunkter Aftalen har angivet. Hvis ServiceStartTime angives til 1/1-2021 og ServiceStopTime angives til 3/1-2021 vil det ikke returnere en aftale der har sat ServiceStartTime til 31/12-2020, og ServiceStopTime til 2/1-2021, da ServiceStartTime og ServiceStopTime er angivet i hvert deres <slot> og det derfor er en AND søgning mellem parametrene. I dette tilfælde skal anvendersystemerne stå for filtreringen selv hvis denne funktionalitet ønskes (evt. med flere søgninger, eller udvide angivelserne for søgetidsrum).

Specifikt for Aftaler hvor sluttidspunktet ikke er defineret, kan det ikke afgøres om Aftalen løber over flere dage. Der vil søgningen gælde som om ServiceStopTime ikke er angivet (som specificeret ovenfor)

ITI-18 AdhocQueryRequest
		<AdhocQueryRequest xmlns="urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0">
			<ResponseOption returnType="LeafClass" returnComposedObjects="true"/>
			<AdhocQuery xmlns="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0" id="urn:uuid:14d4debf-8f97-4251-9a74-a90016b0af0d">
				<Slot name="$XDSDocumentEntryPatientId">
					<ValueList>
						<Value>'2512489996^^^&1.2.208.176.1.2&ISO'</Value>
					</ValueList>
				</Slot>
				<Slot name="$XDSDocumentEntryStatus">
					<ValueList>
						<Value>('urn:oasis:names:tc:ebxml-regrep:StatusType:Approved')</Value>
					</ValueList>
				</Slot>
				<Slot name="$XDSDocumentEntryTypeCode">
					<ValueList>
						<Value>('39289-4^^2.16.840.1.113883.6.1')</Value>
					</ValueList>
				</Slot>
				<Slot name="$XDSDocumentEntryServiceStartTimeFrom">
					<ValueList>
						<Value>20171231000000</Value>
					</ValueList>
				</Slot>
				<Slot name="$XDSDocumentEntryServiceStopTimeTo">
					<ValueList>
						<Value>20181231000000</Value>
					</ValueList>
				</Slot>
				<Slot name="$XDSDocumentEntryType">
					<ValueList>
						<Value>('urn:uuid:7edca82f-054d-47f2-a032-9b2a5b5186c1')</Value>
						<Value>('urn:uuid:34268e47-fdf5-41a6-ba33-82133c465248')</Value>
					</ValueList>
				</Slot>
			</AdhocQuery>
		</AdhocQueryRequest>

Svaret indeholder referencerne til Aftale dokumenterne, der skal benyttes efterfølgende til at udtrække Aftaleoversigten

ITI-18 AdhocQueryResponse
<ns3:AdhocQueryResponse totalResultCount="20" status="urn:ihe:iti:2007:ResponseStatusType:PartialSuccess" xmlns="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0" xmlns:ns2="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0" xmlns:ns3="urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0" xmlns:ns4="urn:oasis:names:tc:ebxml-regrep:xsd:cms:3.0" xmlns:ns5="urn:oasis:names:tc:ebxml-regrep:xsd:lcm:3.0" xmlns:ns6="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns7="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns8="http://www.w3.org/2000/09/xmldsig#" xmlns:ns9="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns10="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:ns11="http://www.nsi.dk/hsuid/2016/08/hsuid-1.1.xsd">
         <ns2:RegistryErrorList highestSeverity="urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Error">
            <ns2:RegistryError codeContext="[Document Unique Id: null, Home Community Id: null, Repository Unique Id: null]" errorCode="dk.nsi.dds.projects.ao.documentmetadataprovider.exceptions.InvokerCallException: dk.nsi.dds.projects.ao.documentmetadataprovider.exceptions.InvokerCallException: Bookplan server returned error: Forbidden" severity="urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Error"/>
         </ns2:RegistryErrorList>
         <RegistryObjectList>
            <ExtrinsicObject mimeType="text/xml" lid="urn:uuid:f39c1380-4d8f-4e27-9376-398b39791067" objectType="urn:uuid:7edca82f-054d-47f2-a032-9b2a5b5186c1" status="urn:oasis:names:tc:ebxml-regrep:StatusType:Approved" id="urn:uuid:f39c1380-4d8f-4e27-9376-398b39791067">
               <Slot name="creationTime">
                  <ValueList>
                     <Value>20180607</Value>
                  </ValueList>
               </Slot>
               <Slot name="hash">
                  <ValueList>
                     <Value>da39a3ee5e6b4b0d3255bfef95601890afd80709</Value>
                  </ValueList>
               </Slot>
               <Slot name="languageCode">
                  <ValueList>
                     <Value>da-DK</Value>
                  </ValueList>
               </Slot>
               <Slot name="serviceStartTime">
                  <ValueList>
                     <Value>2018083110</Value>
                  </ValueList>
               </Slot>
               <Slot name="serviceStopTime">
                  <ValueList>
                     <Value>2018083111</Value>
                  </ValueList>
               </Slot>
               <Slot name="repositoryUniqueId">
                  <ValueList>
                     <Value>1.2.208.176.43210.8.20.11</Value>
                  </ValueList>
               </Slot>
               <Slot name="size">
                  <ValueList>
                     <Value>8689</Value>
                  </ValueList>
               </Slot>
               <Slot name="sourcePatientId">
                  <ValueList>
                     <Value>2512489996^^^&1.2.208.176.1.2&ISO</Value>
                  </ValueList>
               </Slot>
               <VersionInfo versionName="1"/>
               <Classification classificationScheme="urn:uuid:93606bcf-9494-43ec-9b4e-a7748d1a838d" classifiedObject="urn:uuid:f39c1380-4d8f-4e27-9376-398b39791067" nodeRepresentation="" id="urn:uuid:1c3664df-c061-4f0b-b3ac-5a2a39f09f1a">
                  <Slot name="authorInstitution">
                     <ValueList>
                        <Value>OUH Radiologisk Afdeling (Svendborg)^^^^^&1.2.208.176.1.1&ISO^^^^242621000016001</Value>
                     </ValueList>
                  </Slot>
               </Classification>
               <Classification classificationScheme="urn:uuid:41a5887f-8865-4c09-adf7-e362475b143a" classifiedObject="urn:uuid:f39c1380-4d8f-4e27-9376-398b39791067" nodeRepresentation="001" id="urn:uuid:b6079de8-8a21-4878-9a8d-f2ad9bf9a868">
                  <Slot name="codingScheme">
                     <ValueList>
                        <Value>1.2.208.184.100.9</Value>
                     </ValueList>
                  </Slot>
                  <Name>
                     <LocalizedString xml:lang="en-US" charset="UTF-8" value="Klinisk rapport"/>
                  </Name>
               </Classification>
               <Classification classificationScheme="urn:uuid:a09d5840-386c-46f2-b5ad-9c3699a4309d" classifiedObject="urn:uuid:f39c1380-4d8f-4e27-9376-398b39791067" nodeRepresentation="urn:ad:dk:medcom:appointment" id="urn:uuid:c9783e44-fa81-442b-a710-7a2598081167">
                  <Slot name="codingScheme">
                     <ValueList>
                        <Value>1.2.208.184.14.1</Value>
                     </ValueList>
                  </Slot>
                  <Name>
                     <LocalizedString xml:lang="en-US" charset="UTF-8" value="DK CDA APD"/>
                  </Name>
               </Classification>
               <Classification classificationScheme="urn:uuid:f33fb8ac-18af-42cc-ae0e-ed0b0bdb91e1" classifiedObject="urn:uuid:f39c1380-4d8f-4e27-9376-398b39791067" nodeRepresentation="22232009" id="urn:uuid:552eae07-cc8c-4afa-a93e-306b0349cda5">
                  <Slot name="codingScheme">
                     <ValueList>
                        <Value>2.16.840.1.113883.6.96</Value>
                     </ValueList>
                  </Slot>
                  <Name>
                     <LocalizedString xml:lang="en-US" charset="UTF-8" value="hospital"/>
                  </Name>
               </Classification>
               <Classification classificationScheme="urn:uuid:cccf5598-8b07-4b77-a05e-ae952c785ead" classifiedObject="urn:uuid:f39c1380-4d8f-4e27-9376-398b39791067" nodeRepresentation="408443003" id="urn:uuid:fe772f97-377b-43a5-9478-de63e82ed911">
                  <Slot name="codingScheme">
                     <ValueList>
                        <Value>2.16.840.1.113883.6.96</Value>
                     </ValueList>
                  </Slot>
                  <Name>
                     <LocalizedString xml:lang="en-US" charset="UTF-8" value="almen medicin"/>
                  </Name>
               </Classification>
               <Classification classificationScheme="urn:uuid:f0306f51-975f-434e-a61c-c59651d33983" classifiedObject="urn:uuid:f39c1380-4d8f-4e27-9376-398b39791067" nodeRepresentation="39289-4" id="urn:uuid:033e3218-1987-4570-a2a7-5f8e297422b9">
                  <Slot name="codingScheme">
                     <ValueList>
                        <Value>2.16.840.1.113883.6.1</Value>
                     </ValueList>
                  </Slot>
                  <Name>
                     <LocalizedString xml:lang="en-US" charset="UTF-8" value="Dato og tidspunkt for møde mellem patient og sundhedsperson"/>
                  </Name>
               </Classification>
               <Classification classificationScheme="urn:uuid:f4f85eac-e6cb-4883-b524-f2705394840f" classifiedObject="urn:uuid:f39c1380-4d8f-4e27-9376-398b39791067" nodeRepresentation="N" id="urn:uuid:7505668a-de96-4df0-9c1d-8cf847f8d87c">
                  <Slot name="codingScheme">
                     <ValueList>
                        <Value>2.16.840.1.113883.5.25</Value>
                     </ValueList>
                  </Slot>
                  <Name>
                     <LocalizedString xml:lang="en-US" charset="UTF-8" value="Normal"/>
                  </Name>
               </Classification>
               <ExternalIdentifier registryObject="urn:uuid:f39c1380-4d8f-4e27-9376-398b39791067" identificationScheme="urn:uuid:58a6f841-87b3-4a3e-92fd-a8ffeff98427" value="2512489996^^^&1.2.208.176.1.2&ISO" id="urn:uuid:43a5db59-bf47-4fe9-ad87-5bcd38f4c5cd">
                  <Name>
                     <LocalizedString value="XDSDocumentEntry.patientId"/>
                  </Name>
               </ExternalIdentifier>
               <ExternalIdentifier registryObject="urn:uuid:f39c1380-4d8f-4e27-9376-398b39791067" identificationScheme="urn:uuid:2e82c1f6-a085-4c72-9da3-8640a32e42ab" value="8353399289394569667.5264237518200418635.1528403737836" id="urn:uuid:fe083081-c2b1-4e4c-b550-4d852a60c18f">
                  <Name>
                     <LocalizedString value="XDSDocumentEntry.uniqueId"/>
                  </Name>
               </ExternalIdentifier>
            </ExtrinsicObject>
            <ExtrinsicObject mimeType="text/xml" lid="urn:uuid:72c193ba-5d30-4ebe-b325-5058cc314b6c" objectType="urn:uuid:7edca82f-054d-47f2-a032-9b2a5b5186c1" status="urn:oasis:names:tc:ebxml-regrep:StatusType:Approved" id="urn:uuid:72c193ba-5d30-4ebe-b325-5058cc314b6c">
               <Slot name="creationTime">
                  <ValueList>
                     <Value>20180608</Value>
                  </ValueList>
               </Slot>
               <Slot name="hash">
                  <ValueList>
                     <Value>da39a3ee5e6b4b0d3255bfef95601890afd80709</Value>
                  </ValueList>
               </Slot>
               <Slot name="languageCode">
                  <ValueList>
                     <Value>da-DK</Value>
                  </ValueList>
               </Slot>
               <Slot name="serviceStartTime">
                  <ValueList>
                     <Value>2018083110</Value>
                  </ValueList>
               </Slot>
               <Slot name="serviceStopTime">
                  <ValueList>
                     <Value>2018083111</Value>
                  </ValueList>
               </Slot>
               <Slot name="repositoryUniqueId">
                  <ValueList>
                     <Value>1.2.208.176.43210.8.20.11</Value>
                  </ValueList>
               </Slot>
               <Slot name="size">
                  <ValueList>
                     <Value>8689</Value>
                  </ValueList>
               </Slot>
               <Slot name="sourcePatientId">
                  <ValueList>
                     <Value>2512489996^^^&1.2.208.176.1.2&ISO</Value>
                  </ValueList>
               </Slot>
               <VersionInfo versionName="1"/>
               <Classification classificationScheme="urn:uuid:93606bcf-9494-43ec-9b4e-a7748d1a838d" classifiedObject="urn:uuid:72c193ba-5d30-4ebe-b325-5058cc314b6c" nodeRepresentation="" id="urn:uuid:4ea2ae71-9249-4796-b8ef-a3285f82a0a1">
                  <Slot name="authorInstitution">
                     <ValueList>
                        <Value>OUH Radiologisk Afdeling (Svendborg)^^^^^&1.2.208.176.1.1&ISO^^^^242621000016001</Value>
                     </ValueList>
                  </Slot>
               </Classification>
               <Classification classificationScheme="urn:uuid:41a5887f-8865-4c09-adf7-e362475b143a" classifiedObject="urn:uuid:72c193ba-5d30-4ebe-b325-5058cc314b6c" nodeRepresentation="001" id="urn:uuid:b2b8499e-f7f2-41df-98e1-27f0d2f4d73b">
                  <Slot name="codingScheme">
                     <ValueList>
                        <Value>1.2.208.184.100.9</Value>
                     </ValueList>
                  </Slot>
                  <Name>
                     <LocalizedString xml:lang="en-US" charset="UTF-8" value="Klinisk rapport"/>
                  </Name>
               </Classification>
               <Classification classificationScheme="urn:uuid:a09d5840-386c-46f2-b5ad-9c3699a4309d" classifiedObject="urn:uuid:72c193ba-5d30-4ebe-b325-5058cc314b6c" nodeRepresentation="urn:ad:dk:medcom:appointment" id="urn:uuid:8a3337dd-8219-4dd4-b5a2-e86166940b70">
                  <Slot name="codingScheme">
                     <ValueList>
                        <Value>1.2.208.184.14.1</Value>
                     </ValueList>
                  </Slot>
                  <Name>
                     <LocalizedString xml:lang="en-US" charset="UTF-8" value="DK CDA APD"/>
                  </Name>
               </Classification>
               <Classification classificationScheme="urn:uuid:f33fb8ac-18af-42cc-ae0e-ed0b0bdb91e1" classifiedObject="urn:uuid:72c193ba-5d30-4ebe-b325-5058cc314b6c" nodeRepresentation="22232009" id="urn:uuid:a0e57848-74a4-452e-a46b-a09705d62735">
                  <Slot name="codingScheme">
                     <ValueList>
                        <Value>2.16.840.1.113883.6.96</Value>
                     </ValueList>
                  </Slot>
                  <Name>
                     <LocalizedString xml:lang="en-US" charset="UTF-8" value="hospital"/>
                  </Name>
               </Classification>
               <Classification classificationScheme="urn:uuid:cccf5598-8b07-4b77-a05e-ae952c785ead" classifiedObject="urn:uuid:72c193ba-5d30-4ebe-b325-5058cc314b6c" nodeRepresentation="408443003" id="urn:uuid:787e7195-f375-4c15-b583-88a4c0f9d03e">
                  <Slot name="codingScheme">
                     <ValueList>
                        <Value>2.16.840.1.113883.6.96</Value>
                     </ValueList>
                  </Slot>
                  <Name>
                     <LocalizedString xml:lang="en-US" charset="UTF-8" value="almen medicin"/>
                  </Name>
               </Classification>
               <Classification classificationScheme="urn:uuid:f0306f51-975f-434e-a61c-c59651d33983" classifiedObject="urn:uuid:72c193ba-5d30-4ebe-b325-5058cc314b6c" nodeRepresentation="39289-4" id="urn:uuid:374a1168-4783-46c8-a021-e77758185869">
                  <Slot name="codingScheme">
                     <ValueList>
                        <Value>2.16.840.1.113883.6.1</Value>
                     </ValueList>
                  </Slot>
                  <Name>
                     <LocalizedString xml:lang="en-US" charset="UTF-8" value="Dato og tidspunkt for møde mellem patient og sundhedsperson"/>
                  </Name>
               </Classification>
               <Classification classificationScheme="urn:uuid:f4f85eac-e6cb-4883-b524-f2705394840f" classifiedObject="urn:uuid:72c193ba-5d30-4ebe-b325-5058cc314b6c" nodeRepresentation="N" id="urn:uuid:e5d4507a-0b78-42e7-a7e0-93a6cf163f8d">
                  <Slot name="codingScheme">
                     <ValueList>
                        <Value>2.16.840.1.113883.5.25</Value>
                     </ValueList>
                  </Slot>
                  <Name>
                     <LocalizedString xml:lang="en-US" charset="UTF-8" value="Normal"/>
                  </Name>
               </Classification>
               <ExternalIdentifier registryObject="urn:uuid:72c193ba-5d30-4ebe-b325-5058cc314b6c" identificationScheme="urn:uuid:58a6f841-87b3-4a3e-92fd-a8ffeff98427" value="2512489996^^^&1.2.208.176.1.2&ISO" id="urn:uuid:6e9a8799-949e-46ce-99c4-bb392da42ef2">
                  <Name>
                     <LocalizedString value="XDSDocumentEntry.patientId"/>
                  </Name>
               </ExternalIdentifier>
               <ExternalIdentifier registryObject="urn:uuid:72c193ba-5d30-4ebe-b325-5058cc314b6c" identificationScheme="urn:uuid:2e82c1f6-a085-4c72-9da3-8640a32e42ab" value="4626988570895596169.1706949989627285041.1528441530671" id="urn:uuid:86d5cf9d-e459-402e-9a0a-8326d581c425">
                  <Name>
                     <LocalizedString value="XDSDocumentEntry.uniqueId"/>
                  </Name>
               </ExternalIdentifier>
            </ExtrinsicObject>
         </RegistryObjectList>
      </ns3:AdhocQueryResponse>

Der er tre værdier der skal benyttes:

  1. HomeCommunityId - der beskriver det domæne dokumentet befinder sig i.

    Værdien hentes ud fra ...ExtrinsicObject/@home

  2. RepositoryUniqueId - der bekriver den kilde under domænet der opbevarer dokumentet
    Værdien hentes ud fra ...ExtrinsicObject/Slot[@name=’repositoryUniqueId’]/Value List/Value

  3. DocumentUniqueId - der identificerer selve dokumentet
    Værdien hentes ud fra ...ExtrinsicObject/ExternalIdentifier[@identificationScheme=’urn:uuid:2e82c1f6-a085-4c72-9da3-8640a32e42ab]/@value

Yderligere information omkring forespørgsler via dokumentdeling kan ses i Brugervejledning til forespørgsler via DDS

Hentning af Forløbsplaner

For at hente en patients Aftaleoversigt, skal der laves en ITI-43 forespørgsel via NSP'ens dokumentdelingsservice.

Som beskrevet ovenfor benyttes de tre værdier: HomeCommunityId, RepositoryUniqueId og DocumentUniqueId til at hente dokumenterne.

WSDL til DDS Repository findes her: https://wsdl.nspop.dk/ddsrepository?wsdl

ITI-43 RetrieveDocumentSetRequest
        <RetrieveDocumentSetRequest xmlns="urn:ihe:iti:xds-b:2007">
            <DocumentRequest>
                <HomeCommunityId>urn:oid:1.2.208.176.43210.8.20.11</HomeCommunityId>
                <RepositoryUniqueId>1.2.208.176.43210.8.20.11</RepositoryUniqueId>
                <DocumentUniqueId>6946778998876148702.7192223840203720416.1528441845022</DocumentUniqueId>
            </DocumentRequest>
        </RetrieveDocumentSetRequest>


Det svar der returneres er patientens Aftaleoversigt, indeholdende de dataelementer der er beskrevet under indhold.

Bemærk at selve body delen af aftalen skal hentes ud som en mime attachement

ITI-43 RetrieveDocumentSetResponse
<RetrieveDocumentSetResponse xmlns="urn:ihe:iti:xds-b:2007" xmlns:ns2="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ns3="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns4="http://www.w3.org/2000/09/xmldsig#" xmlns:ns5="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns6="http://www.medcom.dk/dgws/2006/04/dgws-1.0.xsd" xmlns:ns7="http://www.nsi.dk/hsuid/2016/08/hsuid-1.1.xsd" xmlns:ns8="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0" xmlns:ns9="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0" xmlns:ns10="urn:oasis:names:tc:ebxml-regrep:xsd:cms:3.0" xmlns:ns11="urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0" xmlns:ns12="urn:oasis:names:tc:ebxml-regrep:xsd:lcm:3.0"><ns9:RegistryResponse status="urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success"/><DocumentResponse><HomeCommunityId>urn:oid:1.2.208.176.43210.8.20.11</HomeCommunityId><RepositoryUniqueId>1.2.208.176.43210.8.20.11</RepositoryUniqueId><DocumentUniqueId>6946778998876148702.7192223840203720416.1528441845022</DocumentUniqueId><mimeType>text/xml</mimeType><Document><xop:Include xmlns:xop="http://www.w3.org/2004/08/xop/include" href="cid:8110ae30-37ff-4306-9c98-0ec153181a9f-68078@urn%3Aihe%3Aiti%3Axds-b%3A2007"/></Document></DocumentResponse></RetrieveDocumentSetResponse></soap:Body></soap:Envelope>
--uuid:52a6c54a-20db-4aba-bf36-2ac132997b00
Content-Type: application/octet-stream
Content-Transfer-Encoding: binary
Content-ID: <8110ae30-37ff-4306-9c98-0ec153181a9f-68078@urn:ihe:iti:xds-b:2007>

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<ClinicalDocument
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="urn:hl7-org:v3 ../../PHMR/Schema/CDA_SDTC.xsd"
	xmlns="urn:hl7-org:v3" classCode="DOCCLIN" moodCode="EVN">
	<realmCode code="DK" />
	<typeId root="2.16.840.1.113883.1.3" extension="POCD_HD000040" />
	<!-- MedCom DK CDA APD profile OID -->
	<templateId root="1.2.208.184.14.1" />
	<id extension="aa2386d0-79ea-11e3-981f-0800200c9a66"
		root="1.2.208.184" assigningAuthorityName="MedCom" />
	<!-- LOINC code for appointment date -->
	<code code="39289-4" codeSystem="2.16.840.1.113883.6.1"
		codeSystemName="LOINC"
		displayName="Dato og tidspunkt for møde mellem patient og sundhedsperson" />
	<!-- title = "Aftale for" + patient id -->
	<title>Aftale for 2512489996</title>
	<effectiveTime value="20170113100000+0100" />
	<confidentialityCode code="N"
		codeSystem="2.16.840.1.113883.5.25" />
	<languageCode code="da-DK" />

	<!-- information about the patient -->
	<recordTarget typeCode="RCT" contextControlCode="OP">
		<patientRole classCode="PAT">
			<id extension="2512489996" root="1.2.208.176.1.2"
				assigningAuthorityName="CPR" />
			<addr use="H">
				<streetAddressLine>Skovvejen 12</streetAddressLine>
				<streetAddressLine>Landet</streetAddressLine>
				<postalCode>5700</postalCode>
				<city>Svendborg</city>
				<country>Danmark</country>
			</addr>
			<telecom value="tel:65123456" use="H" />
			<telecom value="mailto:nab@udkantsdanmark.dk" use="WP" />
			<patient classCode="PSN" determinerCode="INSTANCE">
				<name>
					<given>Nancy</given>
					<given>Ann</given>
					<family>Berggren</family>
				</name>
				<administrativeGenderCode code="F"
					codeSystem="2.16.840.1.113883.5.1" />
				<birthTime value="19481225000000+0000" />
			</patient>
		</patientRole>
	</recordTarget>

	<!-- the health care organisation and person responsible for the appointment -->
	<author typeCode="AUT" contextControlCode="OP">
		<time value="20170216100000+0100" />
		<assignedAuthor classCode="ASSIGNED">
			<id extension="242621000016001" root="1.2.208.176.1.1"
				assigningAuthorityName="SOR" />
			<addr use="WP">
				<streetAddressLine>Valdemarsgade 53</streetAddressLine>
				<postalCode>5700</postalCode>
				<city>Svendborg</city>
				<country>Danmark</country>
			</addr>
			<telecom value="tel:65113333-1" use="WP" />
			<assignedPerson classCode="PSN"
				determinerCode="INSTANCE">
				<name>
					<prefix>Læge</prefix>
					<given>Jens</given>
					<family>Jensen</family>
				</name>
			</assignedPerson>
			<representedOrganization classCode="ORG"
				determinerCode="INSTANCE">
				<name>OUH Radiologisk Afdeling (Svendborg)</name>
				<telecom nullFlavor="NI" />
				<addr use="WP">
					<streetAddressLine nullFlavor="NI" />
				</addr>
			</representedOrganization>
		</assignedAuthor>
	</author>

	<!-- the organisation responsible for maintaing the CDA document -->
	<custodian typeCode="CST">
		<assignedCustodian classCode="ASSIGNED">
			<representedCustodianOrganization
				classCode="ORG" determinerCode="INSTANCE">
				<id extension="515361000016007" root="1.2.208.176.1.1"
					assigningAuthorityName="SOR" />
				<name>OUH Klinisk IT (Odense)</name>
				<telecom value="tel:66113333-2" use="WP" />
				<addr use="WP">
					<streetAddressLine>J. B. Winsløwsvej 4 1</streetAddressLine>
					<postalCode>5000</postalCode>
					<city>Odense C</city>
					<country>Danmark</country>
				</addr>
			</representedCustodianOrganization>
		</assignedCustodian>
	</custodian>

	<!-- the date and time for when the service event will take place -->
	<documentationOf typeCode="DOC">
		<serviceEvent classCode="MPROT" moodCode="EVN">
			<effectiveTime>
				<low value="20180831110000+0100" />
				<high value="20180831120000+0100" />
			</effectiveTime>
		</serviceEvent>
	</documentationOf>

	<!-- CDA Body -->
	<component typeCode="COMP" contextConductionInd="true">
		<structuredBody classCode="DOCBODY" moodCode="EVN">

			<component typeCode="COMP" contextConductionInd="true">

				<section classCode="DOCSECT" moodCode="EVN">
					<!-- DK APD Plan of treatment section template -->
					<templateId root="1.2.208.184.14.11.1"
						extension="2017-03-10" />
					<code code="18776-5" codeSystem="2.16.840.1.113883.6.1"
						codeSystemName="LOINC" displayName="Plan of care note" />
					<title>Aftale</title>
					<text>Aftale-tekst-her</text>

					<entry>
						<encounter moodCode="APT" classCode="ENC">
							<!-- DK APD Planned Encounter template -->
							<templateId root="1.2.208.184.14.11.2"
								extension="2017-03-10" />

							<id root="1.2.208.184"
								extension="9a6d1bac-17d3-4195-89a4-1121bc809b4d"
								assigningAuthorityName="MedCom" />
							<code code="185353001" displayName="Aftale dato"
								codeSystemName="SNOMED CT" codeSystem="2.16.840.1.113883.6.96">
							</code>
							<statusCode code="active" />

							<!-- time period for the planned health care service -->
							<effectiveTime>
								<low value="20170531110000+0100" />
								<high value="20170531120000+0100" />
							</effectiveTime>

							<!-- responsible organisation/person for the health care service -->
							<performer typeCode="PRF">
								<assignedEntity classCode="ASSIGNED">
									<id extension="320161000016005" root="1.2.208.176.1.1"
										assigningAuthorityName="SOR" />
									<addr use="WP">
										<streetAddressLine>Valdemarsgade 53</streetAddressLine>
										<postalCode>5700</postalCode>
										<city>Svendborg</city>
										<country>Danmark</country>
									</addr>
									<telecom value="tel:66113333-3" use="WP" />
									<assignedPerson classCode="PSN"
										determinerCode="INSTANCE">
										<name>
											<prefix>Læge</prefix>
											<given>Anders</given>
											<family>Andersen</family>
										</name>
									</assignedPerson>
									<representedOrganization
										classCode="ORG" determinerCode="INSTANCE">
										<name>OUH Radiologisk Ambulatorium (Nyborg)</name>
										<telecom nullFlavor="NI" />
										<addr use="WP">
											<streetAddressLine nullFlavor="NI" />
										</addr>
									</representedOrganization>
								</assignedEntity>
							</performer>

							<!-- organisation/person who are requesting the appointment (placer) -->
							<author typeCode="AUT" contextControlCode="OP">
								<time value="20170216100000+0100" />
								<assignedAuthor classCode="ASSIGNED">
									<id extension="48681000016007" root="1.2.208.176.1.1"
										assigningAuthorityName="SOR" />
									<addr use="WP">
										<streetAddressLine>Toldbodvej 9</streetAddressLine>
										<postalCode>5700</postalCode>
										<city>Svendborg</city>
										<country>Danmark</country>
									</addr>
									<telecom value="tel:62214518" use="WP" />
									<assignedPerson classCode="PSN"
										determinerCode="INSTANCE">
										<name>
											<given>Anders</given>
											<family>Andersen</family>
										</name>
									</assignedPerson>
									<representedOrganization
										classCode="ORG" determinerCode="INSTANCE">
										<name>Lægerne Toldbodvej</name>
										<telecom nullFlavor="NI" />
										<addr use="WP">
											<streetAddressLine nullFlavor="NI" />
										</addr>
									</representedOrganization>
								</assignedAuthor>
							</author>

							<!-- location for the planned health care service -->
							<participant typeCode="LOC">
								<participantRole classCode="SDLOC">
									<!-- DK Service Delivery Location template -->
									<templateId root="1.2.208.184.14.11.3"
										extension="2017-03-10" />
									<id extension="320161000016005" root="1.2.208.176.1.1"
										assigningAuthorityName="SOR" />
									<addr use="WP">
										<streetAddressLine>Vestergade 17</streetAddressLine>
										<postalCode>5800</postalCode>
										<city>Nyborg</city>
										<country>Danmark</country>
									</addr>
									<telecom value="tel:66113333-4" use="WP" />
									<playingEntity classCode="PLC">
										<name>OUH Radiologisk Ambulatorium (Nyborg)</name>
									</playingEntity>
								</participantRole>
							</participant>

							<!-- reason for the planned health care service -->
							<entryRelationship typeCode="RSON">
								<observation classCode="OBS" moodCode="RQO">
									<code code="NI"
										displayName="Ekkokardiografi (Ultralydsundersøgelse af hjertet)" />
								</observation>
							</entryRelationship>
						</encounter>
					</entry>

				</section>

			</component>

		</structuredBody>
	</component>
</ClinicalDocument>


Oprettelse af Forløbsplaner

Ændring af Forløbsplaner

Sletning af Forløbsplaner

Der er ikke udstillet funktionalitet til at slette aftaler for fagsystemerne.
Aftaler bliver automatisk slettet 2 år efter udførelsestidspunktet, hvilket er fastsat lovgivningsmæssigt.

Fagsystemer skal istedet ændre aftalen, og give den status "deprecated". Det kan gøres ved at benytte ITI-57 UpdateDocumentSet, hvorved AvailabilityStatus stættes til "deprecated" istedet for "approved"

Arbejdsgangene omkring sletning af en aftale med patienten, og derved stoppe deling af aftalen foregår ofte som automatiske processer og system til system kommunikation, derfor kan der både benyttes et medarbejdercertifikat (MOCES) eller et Funktionscertifikat (FOCES).

Sikkerhed, roller og rettigheder

For adgang til Aftaleoversigten skal der for sundhedspersoner eksistere et gyldigt SOSI-ID kort som er signeret af NSP'ens Secure Token Service, dokumentationen for SOSI-ID kort og STS ligger under: Anvenderguide til STS

Sundhedspersoner, med en sundhedsfaglig autorisation har adgang til Aftaleoversigten. Sundhedspersoner uden sundhedsfaglig autorisation skal have tilknyttet en rettighed før disse kan få adgang. Lokale organisationer kan enten tilknytte disse rettigheder via Sundhedsstyrelsens Elektroniske Brugerstyring (SEB), eller give rettigheden via den lokale identifikations- og rettighedsstyring.

Følgende roller anvendes i forbindelse med Et samlet patientoverblik.

Rollenavn

Rettighed

Notation som indsættes i SOSI IdKort ved udstedelse

nspSundAssistR2

Giver ret til at læse til Forløbsplaner

urn:dk:healthcare:national-federation-role:code:41002:value:SundAssistR2

 

En sundhedsperson kan ikke have tilknyttet flere roller på samme tid - dette skal administreres via den lokale identifikations- og rettighedsstyring, eller via SEB

Bemærk: SEB-dokumentationen samt vejledningen ved oprettelse af en rolle er ved at blive tilrettet, så rettigheden for nspSundAsisstR2 afspejler ovenstående.

Håndtering af Spærring og Fuldmagt

Spærring

Patienten kan have spærret for at data fra Aftaleoversigten må deles med andre parter i sundhedssektoren, i det tilfælde vil fejlkoden "Consent Filter Applied” blive returneret (se nedenstående xml eksempel for ITI-18 spærrede dokumenter). Det betyder at borgeren enten har spærret for deling af Aftaler til den specifikke sundhedsperson, for Aftaler i et givet tidsrum, for Aftaler fra bestemte organisationer, eller i en kombination af disse. Klienten skal håndtere at der er angivet en spærring, og give sundhedspersonen mulighed for at få adgang til den fulde Aftaleoversigt under specielle vilkår. 

For adgang til spærrede Aftaler kan klienten enten angive et værdispring, eller angive at der ligger et explicit samtykke til at se data, og så sende forespørgslen igen med “ConsentOverride” flaget sat til “True”. Der laves logning i dokumentdelingsinfrastrukturen der angiver at en spærring er tilsidesat. Klienten skal samtidig angive årsagen (Eksempelvis: eksplicit samtykke fra patienten for at få adgang til data) til at spærringen er tilsidesat i eget journalsystem, da der kan forventes at være opfølgning på tilsidesatte spærringer.

Yderligere information omkring spærring og forespørgsler via dokumentdeling kan ses i Brugervejledning til forespørgsler via DDS

ITI-18 Spærrede dokumenter
<rs:RegistryError codeContext="urn:dk:nsi:Consent Filter Applied" errorCode="XDSRegistryError" severity="urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Error"/>

Fuldmagt

Patientportaler kan give patienternes pårørende adgang via den Fælles Offentlige Fuldmagtsservice, hvortil der er tilknyttet en brugergrænseflade på Borger.dk.

Bevis for fuldmagter er understøttet i OIO-IDWS identitytokens signeret af STS'en, dog understøtter dokumentdelingsservicen ikke OIO-IDWS - så fuldmagter er i stedet etableret via en trust-løsning hvor patientportalen selv håndterer kontrol af fuldmagter.

Information angående angivelse af fuldmagter via dokumentdelingsservicen, kan ses i HSUID header dokumentation.

  • No labels