Indledning

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

AO XDS Adapter er en read-only adgang til Bookplan aftaledata i hhv Region Nord og Region Midt.

Da anvendelsen af AO XDS Adapter sker via Dokumentdelingsservicen, starter dokumentet med et overblik over arkitekturen. Formålet med dette er at dokumentere, hvordan DDS, AO XDS Adapter og Bookplan instanserne hænger sammen, og hvilke opgaver disse 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:

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:

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

 Ordliste



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

 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.

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ørgler, 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)
  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

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.

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.

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.

AO XDS Adapter ignorerer return type 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).

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'.

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.

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, og AO XDS Adapter understøttelse angivet i kolonnen yderst til højre. AO XDS Adapter understøttelser viser, om AO XDS Adapter kigger på søgeparametren, og hvad AO XDS Adapter betegner som et match på query (kommer der et svar tilbage eller ej).

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 NameAttributeOptMultAO XDS Adapter understøttelse
$XDSDocumentEntryPatientIdXDSDocumentEntry.patientIdR--


$XDSDocumentEntryReferenceIdList (5)XDSDocumentEntry.referenceIdList (3)RM
$XDSDocumentEntryClassCode (1)XDSDocumentEntry.classCodeOM
$XDSDocumentEntryTypeCode (1)XDSDocumentEntry.typeCodeOM
$XDSDocumentEntryPracticeSettingCode (1)XDSDocumentEntry.practiceSettingCodeOM
$XDSDocumentEntryCreationTimeFromLower value of
XDSDocumentEntry.creationTime
O--

$XDSDocumentEntryCreationTimeTo

Upper value of
XDSDocumentEntry.creationTime
O--
$XDSDocumentEntryServiceStartTimeFromLower value of
XDSDocumentEntry.serviceStartTime
O--
$XDSDocumentEntryServiceStartTimeToUpper value of
XDSDocumentEntry.serviceStartTime
O--
$XDSDocumentEntryServiceStopTimeFromLower value of
XDSDocumentEntry.serviceStopTime
O--
$XDSDocumentEntryServiceStopTimeToUpper value of
XDSDocumentEntry.serviceStopTime
O--
$XDSDocumentEntryHealthcareFacilityTypeCode (1)XDSDocumentEntry.healthcareFacilityTypeCodeOM
$XDSDocumentEntryEventCodeList (1)XDSDocumentEntry.eventCodeList (3)OM
$XDSDocumentEntryConfidentialityCode (1)XDSDocumentEntry.confidentialityCode (3)OM
$XDSDocumentEntryAuthorPerson (4) XDSDocumentEntry.authorOM
$XDSDocumentEntryFormatCode (1) XDSDocumentEntry.formatCodeOM
$XDSDocumentEntryStatusXDSDocumentEntry.availabilityStatusRM
$XDSDocumentEntryType (6) XDSDocumentEntry.objectTypeOM(1)

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.

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. 

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. 

AO XDS Adapter Metadata Opsætningsvariable

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 følgende opsætningsvariable:

Opsætningsvariablens navn

Beskrivelse

Miljø-specifik

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

Værdi for RM (nuværende opsætning)
documentEntry.repositoryUniqueIdAnvendes til indsættelse i feltet $XDSDocumentEntry.repositoryUniqueId for de returnerede DocumentEntriesJ

?? (TEST1)

(TEST2)


documentEntry.titleAnvendes til indsættelse i $XDSDocumentEntry.Name for de returnerede DocumentEntriesN

documentEntry.mimeTypeAnvendes til indsættelse i $XDSDocumentEntry.mimeType for de returnerede DocumentEntriesN

documentEntry.languageCodeAnvendes til indsættelse i $XDSDocumentEntry.languageCode for de returnerede DocumentEntriesN

documentEntry.patient.assigningAuthority.rootAnvendes til kvalificering af $XDSDocumentEntry.sourcePatientId for de returnerede DocumentEntriesN

documentEntry.organisation.assigningAuthority.rootAnvendes til kvalificering af $XDSDocumentEntry.author (urn:uuid:93606bcf-9494-43ec-9b4e-a7748d1a838d) for de returnerede DocumentEntriesN

documentEntry.healthcareFacilityTypeCode.codeAnvendes til indsættelse i $XDSDocumentEntry.healthcareFacilityTypeCode (urn:uuid:f33fb8ac-18af-42cc-ae0e-ed0b0bdb91e1) for de returnerede DocumentEntriesN

documentEntry.healthcareFacilityTypeCode.schemeNameAnvendes til indsættelse i $XDSDocumentEntry.healthcareFacilityTypeCode (urn:uuid:f33fb8ac-18af-42cc-ae0e-ed0b0bdb91e1) for de returnerede DocumentEntriesN

documentEntry.healthcareFacilityTypeCode.nameAnvendes til indsættelse i $XDSDocumentEntry.healthcareFacilityTypeCode (urn:uuid:f33fb8ac-18af-42cc-ae0e-ed0b0bdb91e1) for de returnerede DocumentEntriesN

documentEntry.classCode.code

Anvendes til filtrering af queries.

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

N

documentEntry.classCode.schemeName

Anvendes til filtrering af queries.

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

N

documentEntry.classCode.nameAnvendes til indsættelse i $XDSDocumentEntry.classCode (urn:uuid:41a5887f-8865-4c09-adf7-e362475b143a) for de returnerede DocumentEntriesN

documentEntry.formatCode.code

Anvendes til filtrering af queries.

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

N

documentEntry.formatCode.schemeName

Anvendes til filtrering af queries.

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

N

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

documentEntry.typeCode.code

Anvendes til filtrering af queries.

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

N

documentEntry.typeCode.schemeName

Anvendes til filtrering af queries.

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

N

documentEntry.typeCode.nameAnvendes til indsættelse i $XDSDocumentEntry.typeCode (urn:uuid:f0306f51-975f-434e-a61c-c59651d33983) for de returnerede DocumentEntriesN

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

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

documentEntry.confidentialityCode.code

Anvendes til filtrering af queries.

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

N

documentEntry.confidentialityCode.schemeName

Anvendes til filtrering af queries.

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

N

documentEntry.confidentialityCode.nameAnvendes til indsættelse i $XDSDocumentEntry.confidentialityCode (urn:uuid:f4f85eac-e6cb-4883-b524-f2705394840f) for de returnerede DocumentEntriesN

documentEntry.practiceSettingCode.codeAnvendes til indsættelse i $XDSDocumentEntry.practiceSettingCode (urn:uuid:cccf5598-8b07-4b77-a05e-ae952c785ead) for de returnerede DocumentEntriesN

documentEntry.practiceSettingCode.schemeNameAnvendes til indsættelse i $XDSDocumentEntry.practiceSettingCode (urn:uuid:cccf5598-8b07-4b77-a05e-ae952c785ead) for de returnerede DocumentEntriesN

documentEntry.practiceSettingCode.nameAnvendes til indsættelse i $XDSDocumentEntry.practiceSettingCode (urn:uuid:cccf5598-8b07-4b77-a05e-ae952c785ead) for de returnerede DocumentEntriesN

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

Eksempel: Request og response fra AO XDS Adapter

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

TODO

Som vist i overblikket delegerer DDS query videre til bl.a. FSK Registry 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).

TODO

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 On-demand 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 minus de rækker, der ikke er relevante for on-demand Entries)

Metadata attribute

Optional (IHE)

Optional (DK)

AO XDS Adapter implementerings-status

Eksempel (udklip af response ovenfor)

author.authorInstituation
R

author.authorPerson
R2

availabilityStatus

RR

RROK

contentTypeCode

R-

creationTime

RR

entryUUID

RR

eventCodeList

OR2

RROK

hash

MR

healthcareFacilityTypeCode

RR

homeCommunityId

RR

languageCode

RR

legalAuthenticator

OR2

mimeType

RR

objectType

RR


patientId

MRSe sourcePatientId

practiceSettingCode

R-

referenceIdList

OO

repositoryUniqueId

RR

serviceStartTime

R2R2

serviceStopTime

R2R2

size

RR

sourcePatientId

RR

sourcePatientInfo

RR

title

OR

typeCode

RR

uniqueId

RR

URI

OO

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

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

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. 

TODO

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

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.

TODO

Dernæst genbesøges Medcoms Metadataprofil