1. Indledning

Dette dokument er en vejledning til brug for anvendere af AO XDS Adapter.

AO XDS Adapter er en read-only adapter til at hente Bookplan aftaledata i hhv Region Nord og Region Midt via Dokumentdelingsservicen (DDS) i et af følgende formater:

Da anvendelsen af AO XDS Adapter sker via DDS, starter dokumentet med et overblik over arkitekturen. Formålet med dette er at dokumentere, hvordan DDS, AO XDS Adapter og Bookplan hænger sammen, og hvilke opgaver de forskellige komponenter dækker hver især.

Da AO XDS Adapters primære opgave er at fortolke forespørgsler fra dokumentanvendere og levere konkrete svar på disse, indeholder dette dokument beskrivelser af:

  • Hvilke søgeparametre, AO XDS Adapter understøtter

Herefter dokumenteres det, hvordan et svar på en søgning mod AO XDS Adapter ser ud  - herunder sammenhæng aftale dokumenternes indhold og med Medcoms danske profilering: XDS Metadata for Document Sharing v. 0.95.

Derudover opbygger AO XDS Adapters aftaledokumenter. Dette dokument indeholder dokumentation af:

  • Hvordan de genererede aftaledokumenter ser ud - herunder sammenligning med Medcoms APD-DK profil
  • Hvordan dokumentanvendere får adgang aftaledokumenterne

1.1. Læsevejledning

Dette dokument antager, at læseren er bekendt med basale koncepter indenfor IHE XDS, Dokumentdelingsservicen og CDA Dokumenter.

Der kan blandt andet henvises til følgende:

KvalitetsITs introduktion til aftaledeling. Her gennemgås også generelle koncepter i forbindelse med XDS, CDA mv. 

MedComs brug af HL7 standarder

1.2.  Ordliste



AO XDS AdapterAftaleoversigt XDS adapter
DDSDokumentdelingsservice
BRSBehandlingsrelationsservice
XDSCross-Enterprise Document Sharing

2.  Overblik over løsningen

Fremsøgning af BookPlan aftaler sker via DDS (se DDS Registry - Querying User's Guide og DDS Registry Querying Interface Description).

AO XDS Adapter understøtter følgende user stories:

AO-SOEG-1

Som en dokumentanvender ønsker jeg at fremsøge dokumentreference til en borgers bookplan aftaler, så jeg kan få adgang til borgerens aftaledokumenter

AO XDS Adapter er således en kilde, som DDS anvender til at understøtte fremsøgingsforespørgsler fra anvendere. Den er installeret i to kørende udgaver: Een til Region Nord Bookplan og een til Region Midt Bookplan.

Nedenstående viser et eksempel, hvor en dokumentanvender (sundhedsfaglig) laver forespørgsel. For andre anvendertyper og brugsscenarier henvises til dokumentationen for Dokumentdelingsservicen.

AO-XDS-DDS

Således foregår en forespørgsel mod AO XDS Adapters på følgende måde:

  1. Dokumentanvender laver en forespørgsel med DDS Registry for at fremsøge dokumenter for patient
  2. DDS Registry konsulterer MinSpærring for at afvise forespørgsler, hvor der er spærringer (mod dokumentanvenderen)
  3. Tjek af behandlingsrelation (evt. opfølgning)
  4. Videredelegering af søgning til bagvedliggende registries (herunder både AO XDS Adapter RN og AO XDS Adapter RM). AO XDS Adapters kalder bagvedliggende Bookplan for at fremsøge borgerens aftaler, der er registreret her. AO XDS Adapter danner Metadata Entries (og tilhørende dokumenter) matchende dels det data, der returneres fra Bookplan og dels statisk konfiguration (typisk oplysninger vedr. dokumenttyper, Regionens adresse osv).
  5. Der foretages evt. en filtrering af resultaterne, hvis der for patienten findes dataspecifikke spærringer.
  6. DDS logger dataadgang til MinLog

DDS Registry forholder sig ikke til indholdet af den konkrete query, der kommer fra Dokumentanvenderen, men overlader til de bagvedliggende registre (herunder AO XDS Adapters) at fortolke og besvare den konkrete query. I næste afsnit findes en detaljeret oversigt over, hvorledes AO XDS Adapters fortolker indkommende queries.

Som en lidt speciel ting vil AO XDS Adapter danne et aftaledokument pr fremsøgt Bookplan aftale. Dette sker hver gang en dokumentanvender laver en søgning. Hver søgning giver derved anledning til et unikt sæt af dokumenter.

Alle tekniske detaljer vedr request og response i forbindelse med fremsøgning af DocumentEntries er beskrevet i afsnittet 3. AO XDS Adapters fortolkning af forespørgsler i forbindelse med søgning (AO-SOEG-1).

Når en dokumentanvender har fremsøgt dokumentreferencer til Bookplan aftaler kan de konkrete aftaledokumenter fremsøges. Dette giver anledning til følgende user story:

AO-HENT-1

Som en dokumentanvender ønsker jeg at hente en eller flere konkrete aftaledokumenter for en borger, så jeg kan få adgang til aftaledokumenternes indhold

OA-XDS-DDS-REP

I illustrationen ovenfor vises afhentning fra AO XDS Adapter RN. Afhentning fra AO XDS Adapter RM foregår på samme vis. En afhentning af et eller flere dokumenter forløber på følgende måde:

  1. Dokumentanvenderen laver en forespørgsel mod DDS Repository med en række dokumentid'er
  2. DDS Repository videredelegerer dokumentforespørgslen mod bagvedliggende XDS Repository (her AO XDS Adapter RN)
  3. AO XDA Adapter RN fremfinder dokumentet matchende det forespurgte id i sin database og returnerer dette
  4. DDS Repository logger dataadgang i MinLog

Som beskrevet i user story AO-SOEG-1, så genererer AO XDS Adapter det konkrete dokumentindhold ved hver søgning, som en anvender foretager. De genererede dokumenter opbevares (midlertidigt) i en lokal database. Dokumentanvendere kan ikke antage at genererede aftaledokumenter overlever i denne database i længere end få timer, så enhver afhentning skal ske på baggrund af en søgning.

3. AO XDS Adapters fortolkning af forespørgsler i forbindelse med søgning (AO-SOEG-1)

AO XDS Adapter implementerer transaktionen Registry Stored Query (ITI-18), som er beskrevet i IHE IT Infrastructure Technical Framework Volume 2a (ITI TF-2a) 10 Transactions Part A

ITI-18 query beskeder følger  ebXML Registry Information Mode Version (RIM) 3.0. Overordnet set findes der i en ITI-18 query 3 typer af parametre:

  1. Response Options: Mulighed for at angive to parametre, der definerer, hvilken type svar vi forventer
    1. ReturnComposedObjects: En boolsk værdi, der angiver, hvorvidt vi forventer et svar (default: true) 
    2. ReturnType: Definerer hvilken type af svar vi forventer
  2. QueryID (UUID): Definerer hvilken type af forespørgsel, vi laver
  3. Query Parameters: Hver type af query (defineret ved QueryID) giver anledning til en række required/optionelle søgeparametre

I det følgende afsnit vil vi gennemgå hver af disse 3 parameter-typer og angive, hvordan disse er understøttede/fortolkede i AO XDS Adapter. Gennemgangen vil indeholde eksempler på queries, hvor dette giver mening.

AO XDS Adapter melder tilbage til DDS med et response af DocumentEntries. Det dokumenteres, hvorledes en sådan DocumentEntry ser ud, og i hvor høj grad AO XDS Adapter lever op til de krav, der er sat i Medcoms danske profilering af XDS Metadata.

3.1. AO XDS Adapter Response Options

ReturnType kan som udgangspunkt antage een af følgende to værdier:

  1. LeafClass: Denne type returnerer en liste af XML elementer bestående af fuldt specificerede ebXML objekter, der matcher den modtagne query. Resultatlisten af objekter (ExtrinsicObject/XDSDocumentEntry) er helt selvindeholdt: Slots, external identifiers, classifications etc. Dvs alt, hvad der vides om de konkrete objekter returneres.
  2. ObjectRef: Denne type returnerer en liste af UUIDer som refererer objekter i et XDS Registry, der matcher den modtagne query.

AO XDS Adapter ignorerer ReturnCompoesedObjects parameteren. Alle queries besvarers, somom denne parameter er true - dvs vi forventer et response.

AO XDS Adapter ignorerer ReturnType parameteren. Alle queries besvares, somom denne parameter er sat til LeafClass dvs. fuldt sæt af metadata.

DDS bruger de returnerede metadata til evt. at foretage filtrering i forhold til dataspecifikke spærringer. For at dette kan lade sig gøre, har DDS brug for adgang til det fulde sæt af metadata (LeafClass) og ikke kun objekt-ider (ObjectRef).

3.2. AO XDS Adapter QueryID (UUID)

I IHE IT Infrastructure Technical Framework opereres med en række standard XDS Query identificeret med UUID'er. Nedenstående tabel viser den samlede oversigt over de definerede Query ID.

Kolonnen længst til højre viser, om AO XDS Adapter forstår/understøtter den specifikke Query.


Query Name


Query ID

AO XDS Adapter

understøttelse

FindDocumentsurn:uuid:14d4debf-8f97-4251-9a74-a90016b0af0dJa
FindSubmissionSetsurn:uuid:f26abbcb-ac74-4422-8a30-edb644bbc1a9Nej
FindFolders urn:uuid:958f3006-baad-4929-a4de-ff1114824431Nej
GetAll urn:uuid:10b545ea-725c-446d-9b95-8aeb444eddf3Nej
GetDocuments urn:uuid:5c4f972b-d56b-40ac-a5fc-c8ca9b40b9d4Nej
GetFoldersurn:uuid:5737b14c-8a1a-4539-b659-e03a34a5e1e4Nej
GetAssociationsurn:uuid:a7ae438b-4bc2-4642-93e9-be891f7bb155Nej
GetDocumentsAndAssociationsurn:uuid:bab9529a-4a10-40b3-a01f-f68a615d247aNej
GetSubmissionSetsurn:uuid:51224314-5390-4169-9b91-b1980040715aNej
GetSubmissionSetAndContentsurn:uuid:e8e3cb2c-e39c-46b9-99e4-c12f57260b83Nej
GetFolderAndContents urn:uuid:b909a503-523d-4517-8acf-8e5834dfc4c7Nej
GetFoldersForDocument urn:uuid:10cae35a-c7f9-4cf5-b61e-fc3278ffb578Nej
GetRelatedDocuments urn:uuid:d90e5407-b356-4d91-a89f-873917b4b0e6Nej
FindDocumentsByReferenceId 

urn:uuid:12941a89-e02e-4be5-967c-ce4bfc8fe492

Nej

AO XDS Adapter vil besvare en forespørgsel med ikke-understøttet Query ID med en fejl af typen 'XDSUnknownStoredQuery'.

3.3. AO XDS Adapter Parameters

De søgeparametre, der er kan anvendes er defineret udfra Query ID. Dette betyder at hver Query type (se tabellen ovenfor) medfører en liste af tvungne/optionelle søgeparametre. I de følgende afsnit gennemgås AO XDS Adapter understøttede Query typer, og for hver af disse angives søgeparametrene, som defineret i  IHE IT Infrastructure Technical Framework Volume 2a (ITI TF-2a) 10 Transactions Part A.

En kolonne udfor hver søgeparameter angiver AO XDS Adapters fortolkning (hvis nogen) af den medsendte parameter samt evt. valideringer.

3.3.1. AO XDS Adapter FindDocuments parametre

Som defineret i  IHE IT Infrastructure Technical Framework Volume 2a (ITI TF-2a) 10 Transactions Part A giver Querytypen FindDocuments anledning til en specificeret liste af søgeparametre. Nedenfor er denne tabel gengivet. 

Kolonnen "AO XDS Adapter understøttelse" beskriver for hver søgeparameter, hvordan AO XDS Adapter forholder sig til denne: Bliver søgeparameteren anvendt eller ignoreret af AO XDS Adapter? Og hvis den bliver anvendt af AO XDS Adapter, hvordan bliver den så anvendt?

Fra IHE IT Infrastructure Technical Framework for specifikation af parametre relevante for FindDocuments:

Find documents (XDSDocumentEntry objects) in the registry for a given patientID with a matching availabilityStatus attribute. The other parameters can be used to restrict the set of XDSDocumentEntry objects returned.


Parameter NameAttributeOpt

Multiple

(liste af værdier i request)

AO XDS Adapter understøttelse
$XDSDocumentEntryPatientIdXDSDocumentEntry.patientIdR--

Denne parameter skal angives. AO XDS Adapter anvender den medsendte værdi til at sende en forespørgsel videre til den bagvedliggende Bookplan service.

$XDSDocumentEntryReferenceIdList (5)XDSDocumentEntry.referenceIdList (3)RMIngen fortolkning
$XDSDocumentEntryClassCode (1)XDSDocumentEntry.classCodeOM

AO XDS Adapter matcher queries, der 

  • ikke angiver classCode

eller

  • parameterlisten er tom

eller

  • listen af classCodes includerer AO XDS Adapters opsætning for classCode (se afsnittet vedr. metadataopsætning nedenfor)
$XDSDocumentEntryTypeCode (1)XDSDocumentEntry.typeCodeOM

AO XDS Adapter matcher queries, der 

  • ikke angiver typeCode

eller

  • parameterlisten er tom

eller

  • listen af typeCodes includerer AO XDS Adapters opsætning for typeCode (se afsnittet vedr. metadataopsætning nedenfor)
$XDSDocumentEntryPracticeSettingCode (1)XDSDocumentEntry.practiceSettingCodeOMIngen fortolkning af AO XDS Adapter
$XDSDocumentEntryCreationTimeFromLower value of
XDSDocumentEntry.creationTime
O--

AO XDS Adapter matcher queries, hvor der

  • ikke er angivet en interval start for creationtime

$XDSDocumentEntryCreationTimeTo

Upper value of
XDSDocumentEntry.creationTime
O--

AO XDS Adapter matcher queries, hvor der

  • ikke er angivet en interval slut for creationtime
$XDSDocumentEntryServiceStartTimeFromLower value of
XDSDocumentEntry.serviceStartTime
O--

AO XDS Adapter returnerer en DocumentEntry pba Bookplan aftale,

  • hvis XDSDocumentEntry.serviceStartTimeFrom ikke er angivet i query eller
  • hvis Bookplan aftalens arrivalDateTime ligger efter XDSDocumentEntry.serviceStartTimeFrom
$XDSDocumentEntryServiceStartTimeToUpper value of
XDSDocumentEntry.serviceStartTime
O--

AO XDS Adapter returnerer en DocumentEntry pba Bookplan aftale,

  • hvis hverken XDSDocumentEntry.serviceStartTimeFrom eller XDSDocumentEntry.serviceStartTimeTo er angivet i query
  • eller XDSDocumentEntry.serviceStartTimeFrom ikke er angivet i query og Bookplan aftalens arrivalDateTime ligger efter XDSDocumentEntry.serviceStartTimeTo
$XDSDocumentEntryServiceStopTimeFromLower value of
XDSDocumentEntry.serviceStopTime
O--

AO XDS Adapter returnerer en DocumentEntry pba Bookplan aftale,

  • hvis hverken XDSDocumentEntry.serviceStopTimeFrom eller XDSDocumentEntry.serviceStopTimeTo er angivet i query eller
  • XDSDocumentEntry.serviceStopTimeTo ikke er angivet i query og Bookplan aftalens arrivalDateTime ligger før XDSDocumentEntry.serviceStopTimeFrom
$XDSDocumentEntryServiceStopTimeToUpper value of
XDSDocumentEntry.serviceStopTime
O--

AO XDS Adapter returnerer en DocumentEntry pba Bookplan aftale,

  • hvis hverken XDSDocumentEntry.serviceStopTimeFrom eller XDSDocumentEntry.serviceStopTimeTo er angivet i query eller
  • Bookplan aftalens arrivalDateTime ligger før XDSDocumentEntry.serviceStopTimeTo
$XDSDocumentEntryHealthcareFacilityTypeCode (1)XDSDocumentEntry.healthcareFacilityTypeCodeOMIngen fortolkning af AO XDS Adapter
$XDSDocumentEntryEventCodeList (1)XDSDocumentEntry.eventCodeList (3)OM

AO XDS Adapter matcher queries, der 

  • ikke angiver eventCodeList

eller

  • parameterlisten er tom

eller

  • listen af eventCodes includerer AO XDS Adapter opsætning for eventCodes (se afsnittet vedr. metadataopsætning nedenfor)
$XDSDocumentEntryConfidentialityCode (1)XDSDocumentEntry.confidentialityCode (3)OM

AO XDS Adapter matcher queries, der 

  • ikke angiver confidentialityCode

eller

  • parameterlisten er tom

eller

  • listen af eventCodes includerer AO XDS Adapter opsætning for eventCodes (se afsnittet vedr. metadataopsætning nedenfor)
$XDSDocumentEntryAuthorPerson (4) XDSDocumentEntry.authorOM

AO XDS Adapter matcher kun queries, der

  • ikke angiver author

eller

  • parameterlisten er tom.
$XDSDocumentEntryFormatCode (1) XDSDocumentEntry.formatCodeOM

Ingen fortolkning af AO XDS Adapter

$XDSDocumentEntryStatusXDSDocumentEntry.availabilityStatusRM

AO XDS Adapter matcher queries, der

  • ikke angiver denne parameter

eller

  • parameterlisten er tom

eller

  • parameterlisten indeholder availabilityStatus Approved (urn:oasis:names:tc:ebxml-regrep:StatusType:Approved)
$XDSDocumentEntryType (6) XDSDocumentEntry.objectTypeOM(1)

AO XDS Adapter matcher queries, hvor

  • ikke angiver objectType

eller

  • parameterlisten er tom

eller

  • listen af entryTypes inkluderer Stable dokumenter (urn:uuid:7edca82f-054d-47f2-a032-9b2a5b5186c1)

1) Shall be coded according to specification of Coding of Code/Code

3) 3 Supports AND/OR semantics

4) The value for this parameter is a pattern compatible with the SQL keyword LIKE which allows the use of the following wildcard characters: % to match any (or no) characters and _ to match a single character. The match shall be applied to the text contained in the Value elements of the authorPerson Slot on the author Classification (value strings of the authorPerson sub-attribute)

5) The value for this parameter is a pattern compatible with the SQL keyword LIKE which allows the use of the following wildcard characters: % to match any (or no) characters and _ to match a single character.

3.4. AO XDS Adapter Response

AO XDS Adapter er sat op med en række miljøspecifikke variable. De forskellige variable gennemgåes og deres anvendelse specificeres. Nogle af disse variable er miljøspecifikke (i disse tilfælde listes parametrene for de forskellige miljøer) mens andre er ens henover de forskellige miljøer (den nuværende konfiguration vises).

Som det fremgår af tabellen anvendes de forskellige metadata opsætningsvariable til filtrering af queries og/eller til indsættelse i de DocumentEntries, som AO XDS Adapter returnerer til dokumentanvender.

Udover opsætningsvariable indeholder både DocumentEntries (returneret i response på queries) og selve CDA dokumentet data, der stammer fra bookplan. Dokumentet indeholder et eksempel på bookplan aftaledata.

Der være en sammenhæng mellem det forventede indhold af de returnerede DocumentEntries og den af Medcom specifikcerede danske metadataprofil.

Gennem et konkret eksempel på svar fra AO XDS Adapter vil vi dokumentere sammenhængen med den danske metadataprofil. 

3.4.1. Bookplan aftaledata

I forbindelse med hver udførelse af user story AO-SOEG-1 kalder AO XDS Adapter en REST service i Bookplan. Givet et CPR nummer er denne service i stand til at give en liste af alle borgerens gældende aftaler (på forespørgselstidspunktet).

Formatet for en bookplan-aftale ser således ud:

BookplanAftale
[
	{
		"arrivalDateTime" : "2015-10-21T13:15:00.000+02:00",
		"serviceName": "Blodprøve", 
		"arrivalLocation": { 
			"postalCode": "8860", 
			"postalDistrict": "Skanderborg",
			"address": "Sygehusvej 7", 
			"site": "Skanderborg Sundhedscenter",
			"location": "Hovedindgangen, stueetagen"
		}, 
		"departmentName": "Ortopædkirurgisk Afdeling, HEH hospital"
	},
	{
                "arrivalDateTime" : "2013-09-17T09:00:00.000+02:00",
                "serviceName": "TRY Ambulant besøg 30min", 
                "arrivalLocation": { 
                        "postalCode": "", 
                        "postalDistrict": "",
                        "address": "", 
                        "site": "",
                        "location": ""
                }, 
                "departmentName": "Urinvejskirurgisk Ambulatorium - LADET"
        }
]

3.4.2. AO XDS Adapter Metadata Opsætning

Til filtrering af indkommende queries (se afsnit vedr. AO XDS Adapter Query Parameters) samt til generering af de udgående DocumentEntries i responses er AO XDS Adapter konfigureret med to XML dokumenter, der beskriver forskellige metadata- og filtreringsopsætninger for AO XDS Adapter. RN og RM udgaven adskiller sig bl.a. ved dette opsætningsdokument.

Nedenfor ses eksempler på disse XML opsætningsdokumenter. Tabellen nedenunder dokumenterer, hvordan de forskellige dele af XML'en anvendes i praksis i forhold til filtrering af queries, generering af DocumentEntries og det konkrete CDA aftaledokument, som DocumentEntries bskriver.

Eksempel på filtreringsdokument:

AOFilter
<filter>
  <classCodes/>
  <typeCodes>
    <codedValue>
      <code>39289-4</code>
      <codeSystem>2.16.840.1.113883.6.1</codeSystem>
      <description>Dato og tidspunkt for møde mellem patient og sundhedsperson</description>
    </codedValue>
  </typeCodes>
  <eventCodes/>
  <confidentialityCodes>
    <codedValue>
      <code>N</code>
      <codeSystem>2.16.840.1.113883.5.25</codeSystem>
      <description>Normal</description>
    </codedValue>
  </confidentialityCodes>
</filter>

Eksempel på metadataopsætning:

AOMetadata
<metadata>
	<classCode class="codedValue">
		<code>001</code>
		<codeSystem>1.2.208.184.100.9</codeSystem>
		<description>Klinisk rapport</description>
	</classCode>
	<confidentialityCode class="codedValue">
		<code>N</code>
		<codeSystem>2.16.840.1.113883.5.25</codeSystem>
		<description>Normal</description>
	</confidentialityCode>
	<formatCode class="codedValue">
		<code>urn:ad:dk:medcom:appointmentsummary:full</code>
		<codeSystem>1.2.208.184.100.10</codeSystem>
		<description>DK Appointment Summary Document schema</description>
	</formatCode>
	<languageCode>da-DK</languageCode>
	<mimeType>text/xml</mimeType>
	<practiceSettingCode class="codedValue">
		<code>408443003</code>
		<codeSystem>2.16.840.1.113883.6.96</codeSystem>
		<description>almen medicin</description>
	</practiceSettingCode>
	<typeCode class="codedValue">
		<code>39289-4</code>
		<codeSystem>2.16.840.1.113883.6.1</codeSystem>
		<description>Dato og tidspunkt for møde mellem patient og sundhedsperson</description>
	</typeCode>
	<homeCommunityId>1.2.3.7.8</homeCommunityId>
	<repositoryUniqueId>1.2.3.4.77.88</repositoryUniqueId>
	<uniqueIdRoot>1.2.3.4.77.88</uniqueIdRoot>
	<healthcareFacilityTypeCode class="codedValue">
		<code>22232009</code>
		<codeSystem>2.16.840.1.113883.6.96</codeSystem>
		<description>hospital</description>
	</healthcareFacilityTypeCode>
	<authorInstitution class="dk.nsi.dds.core.metadata.model.OrganisationImpl">
		<name>Region Test</name>
		<id class="valueWithAssigningAuthority">
			<value>291000016008</value>
			<assigningAuthority>1.2.208.176.1.1</assigningAuthority>
		</id>
		<address class="dk.nsi.dds.core.metadata.model.AddressImpl">
			<street>Skottenborg 26</street>
			<postalCode>8800</postalCode>
			<city>Viborg</city>
		</address>
		<telecom class="dk.nsi.dds.core.metadata.model.TelecomImpl">
			<telecom>87285000</telecom>
		</telecom>
	</authorInstitution>
</metadata>

Opsætningsvariablens navn

Beskrivelse

Miljø-specifik

Værdi for RN (nuværende opsætning)

Værdi for RM (nuværende opsætning)
repositoryIUniqueId (tag i AOMetadata linje 30)Anvendes til indsættelse i feltet $XDSDocumentEntry.repositoryUniqueId for de returnerede DocumentEntriesJ

?? (TEST1)

(TEST2)


1.2.208.176.99.180.99.98.1(TEST2)

mimeType (tag i AOMetadata linje 18)Anvendes til indsættelse i $XDSDocumentEntry.mimeType for de returnerede DocumentEntriesNtext/xml
languageCode (tag i AOMetadata linje 17)Anvendes til indsættelse i $XDSDocumentEntry.languageCode for de returnerede DocumentEntriesNda-DK
authorInstitution/id/assigningAuthority (i AOMetadata linje 41)

Anvendes til kvalificering af $XDSDocumentEntry.author (urn:uuid:93606bcf-9494-43ec-9b4e-a7748d1a838d) for de returnerede DocumentEntries

Anvendes også til at representere representedCustodianOrganization i det resulterende CDA dokument

N1.2.208.176.1.1
healthcareFacilityTypeCode (tag i AOMetadata linje 32-36)Anvendes til indsættelse i $XDSDocumentEntry.healthcareFacilityTypeCode (urn:uuid:f33fb8ac-18af-42cc-ae0e-ed0b0bdb91e1) for de returnerede DocumentEntriesN
<healthcareFacilityTypeCode class="codedValue">
<code>22232009</code>
<codeSystem>2.16.840.1.113883.6.96</codeSystem>
<description>hospital</description>
</healthcareFacilityTypeCode>

classCodes (tag i AOFilter linje 2)

classCode (tag i AOMetadata linje 2-6)

Værdien fra AOFilter anvendes til filtrering af queries (hvis sat).

Værdien fra AOMetadata anvendes til indsættelse i $XDSDocumentEntry.classCode (urn:uuid:41a5887f-8865-4c09-adf7-e362475b143a) for de returnerede DocumentEntries

N
AOFilter:
<classCodes/>

AOMetadata:
<classCode class="codedValue">
<code>001</code>
 <codeSystem>1.2.208.184.100.9</codeSystem>
 <description>Klinisk rapport</description>
</classCode>
formatCode (tag i AOMetadata linje 12-16)

Anvendes til indsættelse i $XDSDocumentEntry.formatCode (urn:uuid:a09d5840-386c-46f2-b5ad-9c3699a4309d) for de returnerede DocumentEntries

N
<formatCode class="codedValue">
<code>urn:ad:dk:medcom:appointmentsummary:full</code>
 <codeSystem>1.2.208.184.100.10</codeSystem>
 <description>DK Appointment Summary Document schema</description>
</formatCode>

typeCodes (tag i AOFilter linje 3-9)

typeCode (tag i AOMetadata 24-28)

Værdien fra AOFilter anvendes til filtrering af queries.

Værdien fra AOMetadata anvendes til indsættelse i $XDSDocumentEntry.typeCode (urn:uuid:f0306f51-975f-434e-a61c-c59651d33983) for de returnerede DocumentEntries

N
<typeCode class="codedValue">
 <code>39289-4</code>
<codeSystem>2.16.840.1.113883.6.1</codeSystem>
 <description>Dato og tidspunkt for møde mellem patient og sundhedsperson</description>
</typeCode>

authorInstitution/id/value (i AOMetadata linje 40)

Anvendes til indsættelse i $XDSDocumentEntry.author (urn:uuid:93606bcf-9494-43ec-9b4e-a7748d1a838d) for de returnerede DocumentEntries

Anvendes også til at representere representedCustodianOrganization i det resulterende CDA dokument

N
6081000016005
authorInstitution/name (i AOMetadata linje 38)Anvendes til indsættelse i $XDSDocumentEntry.author (urn:uuid:93606bcf-9494-43ec-9b4e-a7748d1a838d) for de returnerede DocumentEntriesN
Region Midt

confidentialityCodes (i AOFilter linje 17)

confidentialityCode (i AOMetadata linje 7-11)

Værdien i AOFilter anvendes til filtrering af queries hvis sat.

Værdien i AOMetadata anvendes til indsættelse i $XDSDocumentEntry.confidentialityCode (urn:uuid:f4f85eac-e6cb-4883-b524-f2705394840f) for de returnerede DocumentEntries.

N
AOFilter:
<confidentialityCodes>
<codedValue>
 <code>N</code>
 <codeSystem>2.16.840.1.113883.5.25</codeSystem>
 <description>Normal</description>
 </codedValue>
</confidentialityCodes>

AOMetadata:
<confidentialityCode>
 <code>N</code>
 <codeSystem>2.16.840.1.113883.5.25</codeSystem>
 <description>Normal</description>
</confidentialityCode>
practiceSettingCode (I AOMetadata linje 19-23)Anvendes til indsættelse i $XDSDocumentEntry.practiceSettingCode (urn:uuid:cccf5598-8b07-4b77-a05e-ae952c785ead) for de returnerede DocumentEntriesN
<practiceSettingCode class="codedValue">
 <code>408443003</code>
 <codeSystem>2.16.840.1.113883.6.96</codeSystem>
 <description>almen medicin</description>
</practiceSettingCode>

Som det fremgår af ovenstående tabel anvendes variablene til både:

  • Filtrering af queries
  • Generering af DocumentEntries i response.
  • Indsættelse i resulternde aftaledokumenter

3.4.3. Eksempel: Request og response fra AO XDS Adapter

Følgende request viser en fremsøgning af dokumenter på CPR nummeret 2512484916 via DDS (SOAP headers er fjernet for at gøre eksemplet mere læsevenligt).

Request DDS (AO XDS Adapter)
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <ns4:AdhocQueryRequest xmlns:ns6="urn:oasis:names:tc:ebxml-regrep:xsd:lcm:3.0" xmlns:ns5="urn:ihe:iti:xds-b:2007" xmlns:ns4="urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0" xmlns:ns3="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0" xmlns:ns2="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0">
      <ns4:ResponseOption returnType="LeafClass" returnComposedObjects="true"/>
      <ns2:AdhocQuery id="urn:uuid:14d4debf-8f97-4251-9a74-a90016b0af0d">
        <ns2:Slot name="$XDSDocumentEntryPatientId">
          <ns2:ValueList>
            <ns2:Value>'2512484916^^^&1.2.208.176.1.2&ISO'</ns2:Value>
          </ns2:ValueList>
        </ns2:Slot>
        <ns2:Slot name="$XDSDocumentEntryType">
          <ns2:ValueList>
            <ns2:Value>('urn:uuid:7edca82f-054d-47f2-a032-9b2a5b5186c1')</ns2:Value>
          </ns2:ValueList>
        </ns2:Slot>
        <ns2:Slot name="$XDSDocumentEntryStatus">
          <ns2:ValueList>
            <ns2:Value>('urn:oasis:names:tc:ebxml-regrep:StatusType:Approved')</ns2:Value>
          </ns2:ValueList>
        </ns2:Slot>
      </ns2:AdhocQuery>
    </ns4:AdhocQueryRequest>
  </soap:Body>
</soap:Envelope>

Som vist i overblikket delegerer DDS query videre til bl.a. AO XDS Adapter og samler kildernes svar i et samlet response til anvenderen. Følgende viser, hvordan response ser ud (SOAP headers er fjernet for at gøre eksemplet mere læsevenligt. Listen af resulterer er også reduceret for overblik).


Response DDS (AO XDS Adapter)
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <ns3:AdhocQueryResponse 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" totalResultCount="17" status="urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success">
      <RegistryObjectList>
        <ExtrinsicObject mimeType="text/xml" lid="urn:uuid:f69ea987-4d7f-41c4-ae19-616a84901806" objectType="urn:uuid:7edca82f-054d-47f2-a032-9b2a5b5186c1" status="urn:oasis:names:tc:ebxml-regrep:StatusType:Approved" id="be2ced7b-6b68-4c32-814b-f8ee819abbd1" home="1.2.208.176.99.180.99.98">
          <Slot name="creationTime">
            <ValueList>
              <Value>20180820084500</Value>
            </ValueList>
          </Slot>
          <Slot name="languageCode">
            <ValueList>
              <Value>da-DK</Value>
            </ValueList>
          </Slot>
          <Slot name="sourcePatientId">
            <ValueList>
              <Value>2512484916^^^&1.2.208.176.1.2&ISO</Value>
            </ValueList>
          </Slot>
          <Slot name="hash">
            <ValueList>
              <Value>0fbb262c3f2cb2a0598bc9547d26f1c8d782ab10</Value>
            </ValueList>
          </Slot>
          <Slot name="size">
            <ValueList>
              <Value>5805</Value>
            </ValueList>
          </Slot>
          <Slot name="repositoryUniqueId">
            <ValueList>
              <Value>1.2.208.176.99.180.99.98.1</Value>
            </ValueList>
          </Slot>
          <Slot name="serviceStartTime">
            <ValueList>
              <Value>20180820084500</Value>
            </ValueList>
          </Slot>
          <Name>
            <LocalizedString value="Aftale for 2512484916"/>
          </Name>
          <VersionInfo versionName="1.1"/>
          <Classification classificationScheme="urn:uuid:41a5887f-8865-4c09-adf7-e362475b143a" classifiedObject="urn:uuid:f69ea987-4d7f-41c4-ae19-616a84901806" nodeRepresentation="001" lid="urn:uuid:3f19f4b7-07b4-43b1-88c1-d99e7ba96c64" id="urn:uuid:3f19f4b7-07b4-43b1-88c1-d99e7ba96c64">
            <Slot name="codingScheme">
              <ValueList>
                <Value>2.16.840.1.113883.3.4208.100.9</Value>
              </ValueList>
            </Slot>
            <Name>
              <LocalizedString value="Klinisk rapport"/>
            </Name>
            <VersionInfo versionName="1.1"/>
          </Classification>
          <Classification classificationScheme="urn:uuid:a09d5840-386c-46f2-b5ad-9c3699a4309d" classifiedObject="urn:uuid:f69ea987-4d7f-41c4-ae19-616a84901806" nodeRepresentation="urn:ad:dk:medcom:appointmentsummary:full" lid="urn:uuid:e9fff511-a673-4f26-83f8-9a7fab4dc0e3" id="urn:uuid:e9fff511-a673-4f26-83f8-9a7fab4dc0e3">
            <Slot name="codingScheme">
              <ValueList>
                <Value>2.16.840.1.113883.3.4208.100.10</Value>
              </ValueList>
            </Slot>
            <Name>
              <LocalizedString value="DK Appointment Summary Document schema"/>
            </Name>
            <VersionInfo versionName="1.1"/>
          </Classification>
          <Classification classificationScheme="urn:uuid:f33fb8ac-18af-42cc-ae0e-ed0b0bdb91e1" classifiedObject="urn:uuid:f69ea987-4d7f-41c4-ae19-616a84901806" nodeRepresentation="22232009" lid="urn:uuid:b4b6c829-ae06-4a52-b20d-b7c46d545e26" id="urn:uuid:b4b6c829-ae06-4a52-b20d-b7c46d545e26">
            <Slot name="codingScheme">
              <ValueList>
                <Value>1.2.208.176.1.1.2</Value>
              </ValueList>
            </Slot>
            <Name>
              <LocalizedString value="hospital"/>
            </Name>
            <VersionInfo versionName="1.1"/>
          </Classification>
          <Classification classificationScheme="urn:uuid:cccf5598-8b07-4b77-a05e-ae952c785ead" classifiedObject="urn:uuid:f69ea987-4d7f-41c4-ae19-616a84901806" nodeRepresentation="Unknown" lid="urn:uuid:da8881e0-628f-4b0e-bff4-a4e2ac0a095b" id="urn:uuid:da8881e0-628f-4b0e-bff4-a4e2ac0a095b">
            <Slot name="codingScheme">
              <ValueList>
                <Value>2.16.840.1.113883.11.10612</Value>
              </ValueList>
            </Slot>
            <Name>
              <LocalizedString value="Unknown"/>
            </Name>
            <VersionInfo versionName="1.1"/>
          </Classification>
          <Classification classificationScheme="urn:uuid:f0306f51-975f-434e-a61c-c59651d33983" classifiedObject="urn:uuid:f69ea987-4d7f-41c4-ae19-616a84901806" nodeRepresentation="39289-4" lid="urn:uuid:9444238a-6539-4a90-9de8-0f7ef8b55e2b" id="urn:uuid:9444238a-6539-4a90-9de8-0f7ef8b55e2b">
            <Slot name="codingScheme">
              <ValueList>
                <Value>2.16.840.1.113883.6.1</Value>
              </ValueList>
            </Slot>
            <Name>
              <LocalizedString value="Dato og tidspunkt for møde mellem patient og sundhedsperson"/>
            </Name>
            <VersionInfo versionName="1.1"/>
          </Classification>
          <Classification classificationScheme="urn:uuid:f4f85eac-e6cb-4883-b524-f2705394840f" classifiedObject="urn:uuid:f69ea987-4d7f-41c4-ae19-616a84901806" nodeRepresentation="N" lid="urn:uuid:472e3f0d-14f0-4ca5-8f4d-d249b6cc066c" id="urn:uuid:472e3f0d-14f0-4ca5-8f4d-d249b6cc066c">
            <Slot name="codingScheme">
              <ValueList>
                <Value>2.16.840.1.113883.5.25</Value>
              </ValueList>
            </Slot>
            <Name>
              <LocalizedString value="Normal"/>
            </Name>
            <VersionInfo versionName="1.1"/>
          </Classification>
          <Classification classificationScheme="urn:uuid:93606bcf-9494-43ec-9b4e-a7748d1a838d" classifiedObject="urn:uuid:f69ea987-4d7f-41c4-ae19-616a84901806" nodeRepresentation="empty" lid="urn:uuid:ef8cf734-31b9-4ac5-8ad1-c09344ade567" id="urn:uuid:ef8cf734-31b9-4ac5-8ad1-c09344ade567">
            <Slot name="authorInstitution">
              <ValueList>
                <Value>Region Midtjylland^^^^^&1.2.208.176.1.1&ISO^^^^6081000016005</Value>
              </ValueList>
            </Slot>
            <VersionInfo versionName="1.1"/>
          </Classification>
          <ExternalIdentifier registryObject="urn:uuid:f69ea987-4d7f-41c4-ae19-616a84901806" identificationScheme="urn:uuid:58a6f841-87b3-4a3e-92fd-a8ffeff98427" value="2512484916^^^&1.2.208.176.1.2&ISO" lid="urn:uuid:95f88d7e-0440-4ebe-8e89-d521f8d09de9" id="urn:uuid:95f88d7e-0440-4ebe-8e89-d521f8d09de9">
            <Name>
              <LocalizedString value="DocumentEntry.patientId"/>
            </Name>
            <VersionInfo versionName="1.1"/>
          </ExternalIdentifier>
          <ExternalIdentifier registryObject="urn:uuid:f69ea987-4d7f-41c4-ae19-616a84901806" identificationScheme="urn:uuid:2e82c1f6-a085-4c72-9da3-8640a32e42ab" value="1.2.208.176.99.180.99.98.1.1^be2ced7b-6b68-4c32-814b-f8ee819abbd1" lid="urn:uuid:e291cc5f-8364-4b45-81b4-348b576f54b8" id="urn:uuid:e291cc5f-8364-4b45-81b4-348b576f54b8">
            <Name>
              <LocalizedString value="DocumentEntry.uniqueId"/>
            </Name>
            <VersionInfo versionName="1.1"/>
          </ExternalIdentifier>
        </ExtrinsicObject>
      </RegistryObjectList>
    </ns3:AdhocQueryResponse>
  </soap:Body>
</soap:Envelope>


3.4.4. Sammenhæng mellem AO XDS Adapter response og den danske metadataprofil

Et response fra AO XDS Adapter består som tidligere beskrevet af en liste af selvindeholdte XDS Document Entries. Indholdet af et sådant response er specificeret i IHE IT Infrastructure Technical Framework Volume 3 IHE ITI TF-3 10 Cross-Transaction Specifications and Content Specifications. Derudover har Medcom udarbejdet Medcoms danske profilering: XDS Metadata for Document Sharing v. 0.95.

Med udgangspunkt i Medcoms profilering kan det returnede metadata beskrives udfra tabel 4 i Medcoms specifikation: Metadata Attributes optionality and sources sammenhold med IHE specifikationen for DocumentEntries. For hver af disse metadataattributter angivers i "AO XDS Adapter implementeringsstatus", om den danske metadataprofil er overholdt i AO XDS Adapter implementeringen. Eksempelkolonnen indeholder udklip fra responseeksemplet ovenfor og kan evt. sammenholdes med specifikationen i Medcoms metadataprofilering. 

Uoverensstemmelser mellem data leveret af AO XDS Adapter og specifikationer i den danske metadataprofil er fremhævet med rød.

Fra Medcoms danske profilering tabel 4 (de rækker der er relevante for DocumentEntries)

Metadata attribute

Optional (IHE)

Optional (DK)

AO XDS Adapter implementerings-status

Eksempel (udklip af response ovenfor)

author.authorInstituation
ROK
<Slot name="authorInstitution">
<ValueList>
<Value>Region Midtjylland^^^^^&1.2.208.176.1.1&ISO^^^^6081000016005</Value>
</ValueList>
</Slot>
author.authorPerson
R2N/A

availabilityStatus

R

R

OK

<ExtrinsicObject
      mimeType="text/xml"
      lid="urn:uuid:f69ea987-4d7f-41c4-ae19-616a84901806"
      objectType="urn:uuid:7edca82f-054d-47f2-a032-9b2a5b5186c1"
->  status="urn:oasis:names:tc:ebxml-regrep:StatusType:Approved"
      id="be2ced7b-6b68-4c32-814b-f8ee819abbd1"
      home="1.2.208.176.99.180.99.98">

confidentialityCodeROKOK
<Classification classificationScheme="urn:uuid:f4f85eac-e6cb-4883-b524-f2705394840f" classifiedObject="urn:uuid:f69ea987-4d7f-41c4-ae19-616a84901806" nodeRepresentation="N" lid="urn:uuid:472e3f0d-14f0-4ca5-8f4d-d249b6cc066c" id="urn:uuid:472e3f0d-14f0-4ca5-8f4d-d249b6cc066c">
<Slot name="codingScheme">
<ValueList>
<Value>2.16.840.1.113883.5.25</Value>
</ValueList>
</Slot>
<Name>
<LocalizedString value="Normal"/>
</Name>
<VersionInfo versionName="1.1"/>
</Classification>

contentTypeCode

R-OKN/A (ikke brugt i den danske profilering)

creationTime

RROK<Slot name="creationTime">
 <ValueList>
   <Value>20180820084500</Value>
  </ValueList>
</Slot>

entryUUID

RROK
<ExtrinsicObject 
mimeType="text/xml"
lid="urn:uuid:f69ea987-4d7f-41c4-ae19-616a84901806"
objectType="urn:uuid:7edca82f-054d-47f2-a032-9b2a5b5186c1"
status="urn:oasis:names:tc:ebxml-regrep:StatusType:Approved"
-> id="be2ced7b-6b68-4c32-814b-f8ee819abbd1"
home="1.2.208.176.99.180.99.98">

eventCodeList

OR2OK
<Classification classificationScheme="urn:uuid:f0306f51-975f-434e-a61c-c59651d33983" classifiedObject="urn:uuid:f69ea987-4d7f-41c4-ae19-616a84901806" nodeRepresentation="39289-4" lid="urn:uuid:9444238a-6539-4a90-9de8-0f7ef8b55e2b" id="urn:uuid:9444238a-6539-4a90-9de8-0f7ef8b55e2b">
<Slot name="codingScheme">
<ValueList>
<Value>2.16.840.1.113883.6.1</Value>
</ValueList>
</Slot>
<Name>
<LocalizedString value="Dato og tidspunkt for møde mellem patient og sundhedsperson"/>
</Name>
<VersionInfo versionName="1.1"/>
</Classification>
formatCodeRROK<Classification classificationScheme="urn:uuid:a09d5840-386c-46f2-b5ad-9c3699a4309d" classifiedObject="urn:uuid:f69ea987-4d7f-41c4-ae19-616a84901806" nodeRepresentation="urn:ad:dk:medcom:appointmentsummary:full" lid="urn:uuid:e9fff511-a673-4f26-83f8-9a7fab4dc0e3" id="urn:uuid:e9fff511-a673-4f26-83f8-9a7fab4dc0e3">
  <Slot name="codingScheme">
    <ValueList>
      <Value>2.16.840.1.113883.3.4208.100.10</Value>
    </ValueList>
  </Slot>
  <Name>
    <LocalizedString value="DK Appointment Summary Document schema"/>
  </Name>
  <VersionInfo versionName="1.1"/>
</Classification>

hash

MROK<Slot name="hash">
  <ValueList>
    <Value>0fbb262c3f2cb2a0598bc9547d26f1c8d782ab10</Value>
  </ValueList>
</Slot>

healthcareFacilityTypeCode

RROK
<Classification classificationScheme="urn:uuid:f33fb8ac-18af-42cc-ae0e-ed0b0bdb91e1" classifiedObject="urn:uuid:f69ea987-4d7f-41c4-ae19-616a84901806" nodeRepresentation="22232009" lid="urn:uuid:b4b6c829-ae06-4a52-b20d-b7c46d545e26" id="urn:uuid:b4b6c829-ae06-4a52-b20d-b7c46d545e26">
<Slot name="codingScheme">
<ValueList>
<Value>1.2.208.176.1.1.2</Value>
</ValueList>
</Slot>
<Name>
<LocalizedString value="hospital"/>
</Name>
<VersionInfo versionName="1.1"/>
</Classification>

homeCommunityId

RROK<ExtrinsicObject
      mimeType="text/xml"
      lid="urn:uuid:f69ea987-4d7f-41c4-ae19-616a84901806"
      objectType="urn:uuid:7edca82f-054d-47f2-a032-9b2a5b5186c1"
      status="urn:oasis:names:tc:ebxml-regrep:StatusType:Approved"
      id="be2ced7b-6b68-4c32-814b-f8ee819abbd1"
→  home="1.2.208.176.99.180.99.98">

languageCode

RROK<Slot name="languageCode">
  <ValueList>
    <Value>da-DK</Value>
  </ValueList>
</Slot>

legalAuthenticator

OR2OKN/A (Burde måske være sat?)

mimeType

RROK<ExtrinsicObject
→  mimeType="text/xml"
      lid="urn:uuid:f69ea987-4d7f-41c4-ae19-616a84901806"
      objectType="urn:uuid:7edca82f-054d-47f2-a032-9b2a5b5186c1"
      status="urn:oasis:names:tc:ebxml-regrep:StatusType:Approved"
      id="be2ced7b-6b68-4c32-814b-f8ee819abbd1"
     home="1.2.208.176.99.180.99.98">

objectType

RROK

<ExtrinsicObject
      mimeType="text/xml"
      lid="urn:uuid:f69ea987-4d7f-41c4-ae19-616a84901806"
→ objectType="urn:uuid:7edca82f-054d-47f2-a032-9b2a5b5186c1"
      status="urn:oasis:names:tc:ebxml-regrep:StatusType:Approved"
      id="be2ced7b-6b68-4c32-814b-f8ee819abbd1"
     home="1.2.208.176.99.180.99.98">

patientId

MRSe sourcePatientId

practiceSettingCode

R-
<Classification classificationScheme="urn:uuid:cccf5598-8b07-4b77-a05e-ae952c785ead" classifiedObject="urn:uuid:f69ea987-4d7f-41c4-ae19-616a84901806" nodeRepresentation="408443003" lid="urn:uuid:da8881e0-628f-4b0e-bff4-a4e2ac0a095b" id="urn:uuid:da8881e0-628f-4b0e-bff4-a4e2ac0a095b">
<Slot name="codingScheme">
<ValueList>
<Value>2.16.840.1.113883.6.96</Value>
</ValueList>
</Slot>
<Name>
<LocalizedString value="almen medicin"/>
</Name>
<VersionInfo versionName="1.1"/>
</Classification>

referenceIdList

OOOKN/A

repositoryUniqueId

RROK
<Slot name="repositoryUniqueId">
<ValueList>
<Value>1.2.208.176.99.180.99.98.1</Value>
</ValueList>
</Slot>

serviceStartTime

R2R2OK
<Slot name="serviceStartTime">
  <ValueList>
    <Value>20180820084500</Value>
</ValueList>
</Slot>

serviceStopTime

R2R2OKIkke returneret i Documententries. Bookplan aftaler har et tidspunkt for ankomst (aftalens start), men ikke noget sluttidspunkt

size

RR

OK

<Slot name="size">
  <ValueList>
    <Value>5805</Value>
  </ValueList>
</Slot>

sourcePatientId

RROK
<Slot name="sourcePatientId">
<ValueList>
<Value>2512484916^^^&amp;1.2.208.176.1.2&amp;ISO</Value>
</ValueList>
</Slot>

sourcePatientInfo

RRNejAO XDS Adapter har ikke datagrundlag til at kunne dette, hvorfor kravet ikke kan opfyldes

title

OROK
<Name>
<LocalizedString value="Aftale for 2512484916"/>
</Name>

typeCode

RROK
<Classification classificationScheme="urn:uuid:f0306f51-975f-434e-a61c-c59651d33983" classifiedObject="urn:uuid:f69ea987-4d7f-41c4-ae19-616a84901806" nodeRepresentation="39289-4" lid="urn:uuid:9444238a-6539-4a90-9de8-0f7ef8b55e2b" id="urn:uuid:9444238a-6539-4a90-9de8-0f7ef8b55e2b">
<Slot name="codingScheme">
<ValueList>
<Value>2.16.840.1.113883.6.1</Value>
</ValueList>
</Slot>
<Name>
<LocalizedString value="Dato og tidspunkt for møde mellem patient og sundhedsperson"/>
</Name>
<VersionInfo versionName="1.1"/>
</Classification>

uniqueId

RROK<ExternalIdentifier registryObject="urn:uuid:f69ea987-4d7f-41c4-ae19-616a84901806" identificationScheme="urn:uuid:2e82c1f6-a085-4c72-9da3-8640a32e42ab" value="1.2.208.176.99.180.99.98.1.1^be2ced7b-6b68-4c32-814b-f8ee819abbd1" lid="urn:uuid:e291cc5f-8364-4b45-81b4-348b576f54b8" id="urn:uuid:e291cc5f-8364-4b45-81b4-348b576f54b8">
  <Name>
    <LocalizedString value="DocumentEntry.uniqueId"/>
  </Name>
  <VersionInfo versionName="1.1"/>
</ExternalIdentifier>

URI

OOOKN/A

O=Optional, R=Required, R2=Required when known

4. AO XDS Adapters understøttelse af dokumentafhentning (AO-HENT-01)

AO XDS Adapter implementerer transaktionen Retrieve Document Set (ITI-43), som er beskrevet i IHE IT Infrastructure Technical Framework Volume 2b (ITI TF-2b) 10 Transactions Part A

ITI-43 beskeder beskeder er simple og består af

  • En liste af DocumentRequests
  • Hver DocumentRequest består af
    • Angivelse af RepositoryId (hvor kan dokumentet findes)
    • Angivelse af DocumentUniqueId (hvilket dokument)
    • En optionel angivelse af HomeCommunityId (identifikation af domænet, hvor det angivne Repository findes)

I det følgende har vi et eksempel på et ITI-43 request og et tilhørende response. Dette request og response hører sammen med eksemplet, der blev præsenteret i forbindelse med søgning AO-SOEG-01. 

DDS Request ITI-43 (AO XDS Adapter)
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <ns2:RetrieveDocumentSetRequest xmlns:ns6="urn:oasis:names:tc:ebxml-regrep:xsd:lcm:3.0" xmlns:ns5="urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0" xmlns:ns4="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0" xmlns:ns3="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0" xmlns:ns2="urn:ihe:iti:xds-b:2007">
      <ns2:DocumentRequest>
        <ns2:HomeCommunityId>1.2.208.176.99.180.99.98</ns2:HomeCommunityId>
        <ns2:RepositoryUniqueId>1.2.208.176.99.180.99.98.1</ns2:RepositoryUniqueId>
        <ns2:DocumentUniqueId>1.2.208.176.99.180.99.98.1.1^be2ced7b-6b68-4c32-814b-f8ee819abbd1</ns2:DocumentUniqueId>
      </ns2:DocumentRequest>
    </ns2:RetrieveDocumentSetRequest>
  </soap:Body>
</soap:Envelope>
DDS Response ITI-43 (AO XDS Adapter)
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <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>1.2.208.176.99.180.99.98</HomeCommunityId>
        <RepositoryUniqueId>1.2.208.176.99.180.99.98.1</RepositoryUniqueId>
        <DocumentUniqueId>1.2.208.176.99.180.99.98.1.1^be2ced7b-6b68-4c32-814b-f8ee819abbd1</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-48594@urn%3Aihe%3Aiti%3Axds-b%3A2007"/>
        </Document>
      </DocumentResponse>
    </RetrieveDocumentSetResponse>
  </soap:Body>
</soap:Envelope>

Med udgangspunkt i eksemplet ovenfor vil vi kigge nærmere på dokumentindholdet:

CDA Document fra Response
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<ClinicalDocument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:hl7-org:v3" xsi:schemaLocation="urn:hl7-org:v3 ../../PHMR/Schema/CDA_SDTC.xsd" classCode="DOCCLIN" moodCode="EVN">
  <realmCode code="DK"/>
  <typeId root="2.16.840.1.113883.1.3" extension="POCD_HD000040"/>
  <templateId root="1.2.208.184.14.1"/>
  <id extension="be2ced7b-6b68-4c32-814b-f8ee819abbd1" root="1.2.208.184" assigningAuthorityName="MedCom"/>
  <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 2512484916</title>
  <effectiveTime value="20180820104500+0200"/>
  <confidentialityCode code="N" codeSystem="2.16.840.1.113883.5.25"/>
  <languageCode code="da-DK"/>
  <recordTarget typeCode="RCT" contextControlCode="OP">
    <patientRole classCode="PAT">
      <id extension="2512484916" root="1.2.208.176.1.2" assigningAuthorityName="CPR"/>
      <patient nullFlavor="NI"> </patient>
    </patientRole>
  </recordTarget>
  <author typeCode="AUT" contextControlCode="OP">
    <time value="20180820104500+0200"/>
    <assignedAuthor classCode="ASSIGNED">
      <id extension="6081000016005" root="1.2.208.176.1.1" assigningAuthorityName="SOR"/>
      <assignedAuthoringDevice nullFlavor="NI"> </assignedAuthoringDevice>
    </assignedAuthor>
  </author>
  <custodian typeCode="CST">
    <assignedCustodian classCode="ASSIGNED">
      <representedCustodianOrganization classCode="ORG" determinerCode="INSTANCE">
        <id extension="6081000016005" root="1.2.208.176.1.1" assigningAuthorityName="SOR"/>
      </representedCustodianOrganization>
    </assignedCustodian>
  </custodian>
  <documentationOf typeCode="DOC">
    <serviceEvent classCode="MPROT" moodCode="EVN">
      <effectiveTime>
        <low value="20180820104500+0200"/>
        <high nullFlavor="NI"/>
      </effectiveTime>
    </serviceEvent>
  </documentationOf>
  <component typeCode="COMP" contextConductionInd="true">
    <structuredBody classCode="DOCBODY" moodCode="EVN">
      <component typeCode="COMP" contextConductionInd="true">
        <section classCode="DOCSECT" moodCode="EVN">
          <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>
            <paragraph>Aftale:</paragraph>
            <table width="100%">
              <tbody>
                <tr>
                  <th>Status</th>
                  <th>Aftale dato</th>
                  <th>Vedrørende</th>
                  <th>Afdeling</th>
                  <th>Sted</th>
                  <th>Adresse</th>
                </tr>
                <tr>
                  <td>active</td>
                  <td>20-08-2018 10:45</td>
                  <td>Første samtale</td>
                  <td>Kræftafdelingen</td>
                  <td>Aarhus Universitetshospital</td>
                  <td></td>
                </tr>
              </tbody>
            </table>
          </text>
          <entry>
            <encounter moodCode="APT" classCode="ENC">
              <templateId root="1.2.208.184.14.11.2" extension="2017-03-10"/>
              <id root="1.2.208.184" extension="be2ced7b-6b68-4c32-814b-f8ee819abbd1" assigningAuthorityName="MedCom"/>
              <code code="185353001" displayName="Aftale dato" codeSystemName="SNOMED CT" codeSystem="2.16.840.1.113883.6.96"> </code>
              <statusCode code="active"/>
              <effectiveTime>
                <low value="20180820104500+0200"/>
                <high nullFlavor="NI"/>
              </effectiveTime>
              <performer typeCode="PRF">
                <assignedEntity classCode="ASSIGNED">
                  <id extension="6081000016005" root="1.2.208.176.1.1" assigningAuthorityName="SOR"/>
                  <addr use="WP">
                    <streetAddressLine>Skottenborg 26</streetAddressLine>
                    <postalCode>8800</postalCode>
                    <city>Viborg</city>
                  </addr>
                  <telecom value="tel:87285000" use="WP"/>
                  <representedOrganization classCode="ORG" determinerCode="INSTANCE" nullFlavor="NI"> </representedOrganization>
                </assignedEntity>
              </performer>
              <participant typeCode="LOC">
                <participantRole classCode="SDLOC">
                  <templateId root="1.2.208.184.14.11.3" extension="2017-03-10"/>
                  <id nullFlavor="NI"/>
                  <addr use="WP"><streetAddressLine>Aarhus Universitetshospital</streetAddressLine></addr>
                  <telecom nullFlavor="NI"/>
                  <playingEntity classCode="PLC">
                    <name>Kræftafdelingen</name>
                  </playingEntity>
                </participantRole>
              </participant>
              <entryRelationship typeCode="RSON">
                <observation classCode="OBS" moodCode="RQO">
                  <code code="NI" displayName="Første samtale"/>
                </observation>
              </entryRelationship>
            </encounter>
          </entry>
        </section>
      </component>
    </structuredBody>
  </component>
</ClinicalDocument>


Det første der bør undersøges er, om de genererede aftaledokumenter overholder Medcoms standard i forhold til profilering af aftale dokumenter. Til dette formål har vi kørt eksempel dokumentet igennem en validering.

Dernæst genbesøges Medcoms Metadataprofil:

Uoverensstemmelser mellem data leveret af AO XDS Adapter og specifikationer i den danske metadataprofil er fremhævet med rød.

Fra Medcoms danske profilering tabel 4 (de rækker der stammer fra CDA)

Metadata attribute

Optional (IHE)

Optional (DK)

AO XDS Adapter implementerings-status

Eksempel (udklip af CDA dokument ovenfor)

author.authorInstituation
R

OK

(dog displayName ikke med)

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<ClinicalDocument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:hl7-org:v3" xsi:schemaLocation="urn:hl7-org:v3 ../../PHMR/Schema/CDA_SDTC.xsd" classCode="DOCCLIN" moodCode="EVN">
..
<author typeCode="AUT" contextControlCode="OP">
..
<assignedAuthor classCode="ASSIGNED">
..
<id extension="6081000016005" root="1.2.208.176.1.1" assigningAuthorityName="SOR"/>
author.authorPerson
R2OKN/A
confidentialityCodeROK

OK

(dog displayName ikke med)

<ClinicalDocument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:hl7-org:v3" xsi:schemaLocation="urn:hl7-org:v3 ../../PHMR/Schema/CDA_SDTC.xsd" classCode="DOCCLIN" moodCode="EVN">
..
<confidentialityCode code="N" codeSystem="2.16.840.1.113883.5.25"/>

contentTypeCode

R-N/AN/A

creationTime

RROK
<ClinicalDocument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:hl7-org:v3" xsi:schemaLocation="urn:hl7-org:v3 ../../PHMR/Schema/CDA_SDTC.xsd" classCode="DOCCLIN" moodCode="EVN">
..
<effectiveTime value="20180820104500+0200"/>

eventCodeList

OR2OKN/A

languageCode

RR
<ClinicalDocument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:hl7-org:v3" xsi:schemaLocation="urn:hl7-org:v3 ../../PHMR/Schema/CDA_SDTC.xsd" classCode="DOCCLIN" moodCode="EVN">
..
<languageCode code="da-DK"/>

legalAuthenticator

OR2OKN/A

patientId

MROK
<ClinicalDocument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:hl7-org:v3" xsi:schemaLocation="urn:hl7-org:v3 ../../PHMR/Schema/CDA_SDTC.xsd" classCode="DOCCLIN" moodCode="EVN">
..
<recordTarget typeCode="RCT" contextControlCode="OP">
..
<patientRole classCode="PAT">
..
<id extension="2512484916" root="1.2.208.176.1.2" assigningAuthorityName="CPR"/>
..
<patient nullFlavor="NI"> </patient>

serviceStartTime

R2R2OK
<ClinicalDocument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:hl7-org:v3" xsi:schemaLocation="urn:hl7-org:v3 ../../PHMR/Schema/CDA_SDTC.xsd" classCode="DOCCLIN" moodCode="EVN">
..
<documentationOf typeCode="DOC">
..
<serviceEvent classCode="MPROT" moodCode="EVN">
..
<effectiveTime>
..
<low value="20180820104500+0200"/>
<high nullFlavor="NI"/>

serviceStopTime

R2R2OK
<ClinicalDocument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:hl7-org:v3" xsi:schemaLocation="urn:hl7-org:v3 ../../PHMR/Schema/CDA_SDTC.xsd" classCode="DOCCLIN" moodCode="EVN">
..
<documentationOf typeCode="DOC">
..
<serviceEvent classCode="MPROT" moodCode="EVN">
..
<effectiveTime>
..
<low value="20180820104500+0200"/>
<high nullFlavor="NI"/>

sourcePatientId

RR
se patientId

sourcePatientInfo

RRIkke OKDer er ikke datagrundlag til dette

title

OROK
<ClinicalDocument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:hl7-org:v3" xsi:schemaLocation="urn:hl7-org:v3 ../../PHMR/Schema/CDA_SDTC.xsd" classCode="DOCCLIN" moodCode="EVN">
..
<title>Aftale for 2512484916</title>

typeCode

RRIkke OKIkke inkluderet

uniqueId

RROK
<ClinicalDocument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:hl7-org:v3" xsi:schemaLocation="urn:hl7-org:v3 ../../PHMR/Schema/CDA_SDTC.xsd" classCode="DOCCLIN" moodCode="EVN">
..
<id extension="be2ced7b-6b68-4c32-814b-f8ee819abbd1" root="1.2.208.184" assigningAuthorityName="MedCom"/>

O=Optional, R=Required, R2=Required when known

  • No labels