Page History
Indledning
Navitabs | ||||
---|---|---|---|---|
| ||||
Dette dokument er en vejledning til brug for anvendere af AO XDS Adapter.
AO XDS Adapter er en read-only adgang adapter til at hente Bookplan aftaledata i hhv Region Nord og Region Midt.Midt via Dokumentdelingsservicen (DDS) i følgende format:
Da anvendelsen af AO XDS Adapter sker via DokumentdelingsservicenDDS, 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 de forskellige komponenter dækker hver især.
...
- Hvilke søgeparametre, AO XDS Adapter understøtter
Derudover opbygger AO XDS Adapters aftaledokumenter. Dette dokument indeholder dokumentation af, hvorledes disse aftaledokumenter ser ud, og hvorledes dokumentanvendere får adgang til disse.
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
Læsevejledning
Dette dokument antager, at læseren er bekendt med basale koncepter indenfor IHE XDS, Dokumentdelingsservicen og CDA Dokumenter.
...
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.
Gliffy Diagram | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Således foregår en forespørgsel mod AO XDS Adapters på følgende måde:
- Dokumentanvender laver en forespørgsel med DDS Registry for at fremsøge dokumenter for patient
- DDS Registry konsulterer MinSpærring for at afvise forespørgsler, hvor der er spærringer (mod dokumentanvenderen)
- Tjek af behandlingsrelation (evt. opfølgning)
- Videredelegering af søgning til bagvedliggende registries (I diagrammet ovenfor kun ét, AO XDS Adapter RM). AO XDS Adapter 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).
- Der foretages evt. en filtrering af resultaterne, hvis der for patienten findes dataspecifikke spærringer.
- 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 |
Gliffy Diagram | ||||||
---|---|---|---|---|---|---|
|
I illustrationen ovenfor vises afhentning fra AO XDS Adapter RM. En afhentning af et eller flere dokumenter forløber på følgende måde:
- Dokumentanvenderen laver en forespørgsel mod DDS Repository med en række dokumentid'er
- DDS Repository videredelegerer dokumentforespørgslen mod bagvedliggende XDS Repository (her AO XDS Adapter RM)
- AO XDA Adapter RM fremfinder dokumentet matchende det forespurgte id i sin database og returnerer dette
- 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:
- Response Options: Mulighed for at angive to parametre, der definerer, hvilken type svar vi forventer
- ReturnComposedObjects: En boolsk værdi, der angiver, hvorvidt vi forventer et svar (default: true)
- ReturnType: Definerer hvilken type af svar vi forventer
- QueryID (UUID): Definerer hvilken type af forespørgsel, vi laver
- 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:
- 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.
- 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).
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 |
---|---|---|
FindDocuments | urn:uuid:14d4debf-8f97-4251-9a74-a90016b0af0d | Ja |
FindSubmissionSets | urn:uuid:f26abbcb-ac74-4422-8a30-edb644bbc1a9 | Nej |
FindFolders | urn:uuid:958f3006-baad-4929-a4de-ff1114824431 | Nej |
GetAll | urn:uuid:10b545ea-725c-446d-9b95-8aeb444eddf3 | Nej |
GetDocuments | urn:uuid:5c4f972b-d56b-40ac-a5fc-c8ca9b40b9d4 | Nej |
GetFolders | urn:uuid:5737b14c-8a1a-4539-b659-e03a34a5e1e4 | Nej |
GetAssociations | urn:uuid:a7ae438b-4bc2-4642-93e9-be891f7bb155 | Nej |
GetDocumentsAndAssociations | urn:uuid:bab9529a-4a10-40b3-a01f-f68a615d247a | Nej |
GetSubmissionSets | urn:uuid:51224314-5390-4169-9b91-b1980040715a | Nej |
GetSubmissionSetAndContents | urn:uuid:e8e3cb2c-e39c-46b9-99e4-c12f57260b83 | Nej |
GetFolderAndContents | urn:uuid:b909a503-523d-4517-8acf-8e5834dfc4c7 | Nej |
GetFoldersForDocument | urn:uuid:10cae35a-c7f9-4cf5-b61e-fc3278ffb578 | Nej |
GetRelatedDocuments | urn:uuid:d90e5407-b356-4d91-a89f-873917b4b0e6 | Nej |
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.
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 Name | Attribute | Opt | Multiple (liste af værdier i request) | AO XDS Adapter understøttelse |
---|---|---|---|---|
$XDSDocumentEntryPatientId | XDSDocumentEntry.patientId | R | -- | 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) | R | M | Ingen fortolkning |
$XDSDocumentEntryClassCode (1) | XDSDocumentEntry.classCode | O | M | AO XDS Adapter matcher queries, der
eller
eller
|
$XDSDocumentEntryTypeCode (1) | XDSDocumentEntry.typeCode | O | M | AO XDS Adapter matcher queries, der
eller
eller
|
$XDSDocumentEntryPracticeSettingCode (1) | XDSDocumentEntry.practiceSettingCode | O | M | Ingen fortolkning af AO XDS Adapter |
$XDSDocumentEntryCreationTimeFrom | Lower value of XDSDocumentEntry.creationTime | O | -- | AO XDS Adapter matcher queries, hvor der
|
$XDSDocumentEntryCreationTimeTo | Upper value of XDSDocumentEntry.creationTime | O | -- | AO XDS Adapter matcher queries, hvor der
|
$XDSDocumentEntryServiceStartTimeFrom | Lower value of XDSDocumentEntry.serviceStartTime | O | -- | AO XDS Adapter returnerer en DocumentEntry pba Bookplan aftale,
|
$XDSDocumentEntryServiceStartTimeTo | Upper value of XDSDocumentEntry.serviceStartTime | O | -- | AO XDS Adapter returnerer en DocumentEntry pba Bookplan aftale,
|
$XDSDocumentEntryServiceStopTimeFrom | Lower value of XDSDocumentEntry.serviceStopTime | O | -- | AO XDS Adapter returnerer en DocumentEntry pba Bookplan aftale,
|
$XDSDocumentEntryServiceStopTimeTo | Upper value of XDSDocumentEntry.serviceStopTime | O | -- | AO XDS Adapter returnerer en DocumentEntry pba Bookplan aftale,
|
$XDSDocumentEntryHealthcareFacilityTypeCode (1) | XDSDocumentEntry.healthcareFacilityTypeCode | O | M | Ingen fortolkning af AO XDS Adapter |
$XDSDocumentEntryEventCodeList (1) | XDSDocumentEntry.eventCodeList (3) | O | M | AO XDS Adapter matcher queries, der
eller
eller
|
$XDSDocumentEntryConfidentialityCode (1) | XDSDocumentEntry.confidentialityCode (3) | O | M | AO XDS Adapter matcher queries, der
eller
eller
|
$XDSDocumentEntryAuthorPerson (4) | XDSDocumentEntry.author | O | M | AO XDS Adapter matcher kun queries, der
eller
|
$XDSDocumentEntryFormatCode (1) | XDSDocumentEntry.formatCode | O | M | Ingen fortolkning af AO XDS Adapter |
$XDSDocumentEntryStatus | XDSDocumentEntry.availabilityStatus | R | M | AO XDS Adapter matcher queries, der
eller
|
$XDSDocumentEntryType (6) | XDSDocumentEntry.objectType | O | M(1) | AO XDS Adapter matcher queries, hvor
eller
eller
|
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.
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.
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:
Code Block | ||||
---|---|---|---|---|
| ||||
[
{
"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"
}
] |
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.
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:
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
<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:
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
<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:apd-v2.0.1:full</code>
<codeSystem>1.2.208.184.100.10</codeSystem>
<description>DK APD 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.208.176.99.180.99.98</homeCommunityId>
<repositoryUniqueId>1.2.208.176.99.180.99.98.1</repositoryUniqueId>
<uniqueIdRoot>1.2.208.176.99.180.99.98.1</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 Midtjylland</name>
<id class="valueWithAssigningAuthority">
<value>6081000016005</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 RM (nuværende opsætning) |
---|---|---|---|
repositoryIUniqueId (tag i AOMetadata linje 30) | Anvendes til indsættelse i feltet $XDSDocumentEntry.repositoryUniqueId for de returnerede DocumentEntries | J | 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 DocumentEntries | N | text/xml |
languageCode (tag i AOMetadata linje 17) | Anvendes til indsættelse i $XDSDocumentEntry.languageCode for de returnerede DocumentEntries | N | da-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 | N | 1.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 DocumentEntries | N | <healthcareFacilityTypeCode class="codedValue"> |
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: |
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"> |
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"> |
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 DocumentEntries | N | 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: |
practiceSettingCode (I AOMetadata linje 19-23) | Anvendes til indsættelse i $XDSDocumentEntry.practiceSettingCode (urn:uuid:cccf5598-8b07-4b77-a05e-ae952c785ead) for de returnerede DocumentEntries | N | <practiceSettingCode class="codedValue"> |
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
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).
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/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 returnComposedObjects="true" returnType="LeafClass"/>
<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="$XDSDocumentEntryTypeCode">
<ns2:ValueList>
<ns2:Value>('39289-4^^2.16.840.1.113883.6.1')</ns2:Value>
</ns2:ValueList>
</ns2:Slot>
<ns2:Slot name="$XDSDocumentEntryServiceStartTimeFrom">
<ns2:ValueList>
<ns2:Value>20180212090000</ns2:Value>
</ns2:ValueList>
</ns2:Slot>
<ns2:Slot name="$XDSDocumentEntryServiceStopTimeFrom">
<ns2:ValueList>
<ns2:Value>20180217090000</ns2:Value>
</ns2:ValueList>
</ns2:Slot>
<ns2:Slot name="$XDSDocumentEntryFormatCode">
<ns2:ValueList>
<ns2:Value>('urn:ad:dk:medcom:appointmentsummary:full^^2.16.840.1.113883.3.4208.100.10')</ns2:Value>
</ns2:ValueList>
</ns2:Slot>
<ns2:Slot name="$XDSDocumentEntryTypeCode">
<ns2:ValueList>
<ns2:Value>('urn:uuid:34268e47-fdf5-41a6-ba33-82133c465248')</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).
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/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:ihe:iti:xds-b:2007" xmlns:ns5="urn:oasis:names:tc:ebxml-regrep:xsd:lcm:3.0" status="urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success">
<RegistryObjectList>
<ExtrinsicObject mimeType="text/xml" objectType="urn:uuid:7edca82f-054d-47f2-a032-9b2a5b5186c1" status="urn:oasis:names:tc:ebxml-regrep:StatusType:Approved" id="61b5fc76-dead-4a9f-bfcf-d0b2cba94e03" home="1.2.208.176.99.180.99.98">
<Slot name="creationTime">
<ValueList>
<Value>20180212090000</Value>
</ValueList>
</Slot>
<Slot name="hash">
<ValueList>
<Value>920b6eea6ff8c4852e7b51834ffb024ed77a288d</Value>
</ValueList>
</Slot>
<Slot name="languageCode">
<ValueList>
<Value>da-DK</Value>
</ValueList>
</Slot>
<Slot name="serviceStartTime">
<ValueList>
<Value>20180212090000</Value>
</ValueList>
</Slot>
<Slot name="repositoryUniqueId">
<ValueList>
<Value>1.2.208.176.99.180.99.98.1</Value>
</ValueList>
</Slot>
<Slot name="size">
<ValueList>
<Value>6225</Value>
</ValueList>
</Slot>
<Slot name="sourcePatientId">
<ValueList>
<Value>2512484916^^^&1.2.208.176.1.2&ISO</Value>
</ValueList>
</Slot>
<Name>
<LocalizedString xml:lang="en-US" charset="UTF-8" value="Aftale for 2512484916"/>
</Name>
<Classification classificationScheme="urn:uuid:93606bcf-9494-43ec-9b4e-a7748d1a838d" classifiedObject="61b5fc76-dead-4a9f-bfcf-d0b2cba94e03" nodeRepresentation="" id="urn:uuid:392f9637-949a-4c68-aef6-6eebd878542f">
<Slot name="authorInstitution">
<ValueList>
<Value>Region Midtjylland^^^^^&1.2.208.176.1.1&ISO^^^^6081000016005</Value>
</ValueList>
</Slot>
</Classification>
<Classification classificationScheme="urn:uuid:41a5887f-8865-4c09-adf7-e362475b143a" classifiedObject="61b5fc76-dead-4a9f-bfcf-d0b2cba94e03" nodeRepresentation="001" id="urn:uuid:2b3dbd4c-a785-4f5f-ad24-6c04b56ac19e">
<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="61b5fc76-dead-4a9f-bfcf-d0b2cba94e03" nodeRepresentation="urn:ad:dk:medcom:apd-v2.0.1:full" id="urn:uuid:6d7814d7-1bd2-4da6-ac31-376826612d72">
<Slot name="codingScheme">
<ValueList>
<Value>1.2.208.184.100.10</Value>
</ValueList>
</Slot>
<Name>
<LocalizedString xml:lang="en-US" charset="UTF-8" value="DK APD schema"/>
</Name>
</Classification>
<Classification classificationScheme="urn:uuid:f33fb8ac-18af-42cc-ae0e-ed0b0bdb91e1" classifiedObject="61b5fc76-dead-4a9f-bfcf-d0b2cba94e03" nodeRepresentation="22232009" id="urn:uuid:e2e9390a-0c00-4a8b-8be0-2cf38a83a207">
<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="61b5fc76-dead-4a9f-bfcf-d0b2cba94e03" nodeRepresentation="408443003" id="urn:uuid:21f02868-7ff0-470d-99a0-e3774580054c">
<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="61b5fc76-dead-4a9f-bfcf-d0b2cba94e03" nodeRepresentation="39289-4" id="urn:uuid:8e9bd1ec-7151-45c9-bee5-0413e3e88dd7">
<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="61b5fc76-dead-4a9f-bfcf-d0b2cba94e03" nodeRepresentation="N" id="urn:uuid:31f0a3cd-39c6-41ce-9c8d-541f29c5c9b6">
<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="61b5fc76-dead-4a9f-bfcf-d0b2cba94e03" identificationScheme="urn:uuid:58a6f841-87b3-4a3e-92fd-a8ffeff98427" value="2512484916^^^&1.2.208.176.1.2&ISO" id="urn:uuid:167e071d-56d3-4932-a602-299a26314ac7">
<Name>
<LocalizedString value="XDSDocumentEntry.patientId"/>
</Name>
</ExternalIdentifier>
<ExternalIdentifier registryObject="61b5fc76-dead-4a9f-bfcf-d0b2cba94e03" identificationScheme="urn:uuid:2e82c1f6-a085-4c72-9da3-8640a32e42ab" value="1.2.208.176.99.180.99.98.1^61b5fc76-dead-4a9f-bfcf-d0b2cba94e03" id="urn:uuid:a2d6c8b7-3644-4e28-92a1-5b4e47975c90">
<Name>
<LocalizedString value="XDSDocumentEntry.uniqueId"/>
</Name>
</ExternalIdentifier>
</ExtrinsicObject>
<ExtrinsicObject mimeType="text/xml" objectType="urn:uuid:7edca82f-054d-47f2-a032-9b2a5b5186c1" status="urn:oasis:names:tc:ebxml-regrep:StatusType:Approved" id="f0cc9aae-8d95-44ad-bc7c-c6fb18eaaa7f" home="1.2.208.176.99.180.99.98">
<Slot name="creationTime">
<ValueList>
<Value>20180213125000</Value>
</ValueList>
</Slot>
<Slot name="hash">
<ValueList>
<Value>ff45c83dd4be13883fce0a608958b037fb2f923c</Value>
</ValueList>
</Slot>
<Slot name="languageCode">
<ValueList>
<Value>da-DK</Value>
</ValueList>
</Slot>
<Slot name="serviceStartTime">
<ValueList>
<Value>20180213125000</Value>
</ValueList>
</Slot>
<Slot name="repositoryUniqueId">
<ValueList>
<Value>1.2.208.176.99.180.99.98.1</Value>
</ValueList>
</Slot>
<Slot name="size">
<ValueList>
<Value>6488</Value>
</ValueList>
</Slot>
<Slot name="sourcePatientId">
<ValueList>
<Value>2512484916^^^&1.2.208.176.1.2&ISO</Value>
</ValueList>
</Slot>
<Name>
<LocalizedString xml:lang="en-US" charset="UTF-8" value="Aftale for 2512484916"/>
</Name>
<Classification classificationScheme="urn:uuid:93606bcf-9494-43ec-9b4e-a7748d1a838d" classifiedObject="f0cc9aae-8d95-44ad-bc7c-c6fb18eaaa7f" nodeRepresentation="" id="urn:uuid:173037d7-56c8-4a41-86d0-dd2679633403">
<Slot name="authorInstitution">
<ValueList>
<Value>Region Midtjylland^^^^^&1.2.208.176.1.1&ISO^^^^6081000016005</Value>
</ValueList>
</Slot>
</Classification>
<Classification classificationScheme="urn:uuid:41a5887f-8865-4c09-adf7-e362475b143a" classifiedObject="f0cc9aae-8d95-44ad-bc7c-c6fb18eaaa7f" nodeRepresentation="001" id="urn:uuid:0819ed04-6849-4ca9-bfcb-e9b9a2129569">
<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="f0cc9aae-8d95-44ad-bc7c-c6fb18eaaa7f" nodeRepresentation="urn:ad:dk:medcom:apd-v2.0.1:full" id="urn:uuid:82f3ec84-9aa6-4981-914a-1538d4f2668a">
<Slot name="codingScheme">
<ValueList>
<Value>1.2.208.184.100.10</Value>
</ValueList>
</Slot>
<Name>
<LocalizedString xml:lang="en-US" charset="UTF-8" value="DK APD schema"/>
</Name>
</Classification>
<Classification classificationScheme="urn:uuid:f33fb8ac-18af-42cc-ae0e-ed0b0bdb91e1" classifiedObject="f0cc9aae-8d95-44ad-bc7c-c6fb18eaaa7f" nodeRepresentation="22232009" id="urn:uuid:c7510b51-6f6d-4d35-9fd9-6374e992f71f">
<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="f0cc9aae-8d95-44ad-bc7c-c6fb18eaaa7f" nodeRepresentation="408443003" id="urn:uuid:2917a617-cf9a-4c59-9793-6d1cf793869f">
<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="f0cc9aae-8d95-44ad-bc7c-c6fb18eaaa7f" nodeRepresentation="39289-4" id="urn:uuid:81d15cda-2c62-4728-b1ca-911a45b768cc">
<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="f0cc9aae-8d95-44ad-bc7c-c6fb18eaaa7f" nodeRepresentation="N" id="urn:uuid:a293e8cc-e6f7-4cec-8cad-19624223e21d">
<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="f0cc9aae-8d95-44ad-bc7c-c6fb18eaaa7f" identificationScheme="urn:uuid:58a6f841-87b3-4a3e-92fd-a8ffeff98427" value="2512484916^^^&1.2.208.176.1.2&ISO" id="urn:uuid:b0bf5260-61d5-4573-b0fb-b47ea6db04d6">
<Name>
<LocalizedString value="XDSDocumentEntry.patientId"/>
</Name>
</ExternalIdentifier>
<ExternalIdentifier registryObject="f0cc9aae-8d95-44ad-bc7c-c6fb18eaaa7f" identificationScheme="urn:uuid:2e82c1f6-a085-4c72-9da3-8640a32e42ab" value="1.2.208.176.99.180.99.98.1^f0cc9aae-8d95-44ad-bc7c-c6fb18eaaa7f" id="urn:uuid:f9218ecf-a7d0-45ba-8c03-c9fdd4fc36bf">
<Name>
<LocalizedString value="XDSDocumentEntry.uniqueId"/>
</Name>
</ExternalIdentifier>
</ExtrinsicObject>
<ExtrinsicObject mimeType="text/xml" objectType="urn:uuid:7edca82f-054d-47f2-a032-9b2a5b5186c1" status="urn:oasis:names:tc:ebxml-regrep:StatusType:Approved" id="7e41eecc-843e-4fb4-b232-fa178bc7c924" home="1.2.208.176.99.180.99.98">
<Slot name="creationTime">
<ValueList>
<Value>20180216075300</Value>
</ValueList>
</Slot>
<Slot name="hash">
<ValueList>
<Value>e75cfce1070ea004c0d8910802b4430e6f3246cf</Value>
</ValueList>
</Slot>
<Slot name="languageCode">
<ValueList>
<Value>da-DK</Value>
</ValueList>
</Slot>
<Slot name="serviceStartTime">
<ValueList>
<Value>20180216075300</Value>
</ValueList>
</Slot>
<Slot name="repositoryUniqueId">
<ValueList>
<Value>1.2.208.176.99.180.99.98.1</Value>
</ValueList>
</Slot>
<Slot name="size">
<ValueList>
<Value>6233</Value>
</ValueList>
</Slot>
<Slot name="sourcePatientId">
<ValueList>
<Value>2512484916^^^&1.2.208.176.1.2&ISO</Value>
</ValueList>
</Slot>
<Name>
<LocalizedString xml:lang="en-US" charset="UTF-8" value="Aftale for 2512484916"/>
</Name>
<Classification classificationScheme="urn:uuid:93606bcf-9494-43ec-9b4e-a7748d1a838d" classifiedObject="7e41eecc-843e-4fb4-b232-fa178bc7c924" nodeRepresentation="" id="urn:uuid:3d251a78-c68a-419a-bdac-374ff19a96f1">
<Slot name="authorInstitution">
<ValueList>
<Value>Region Midtjylland^^^^^&1.2.208.176.1.1&ISO^^^^6081000016005</Value>
</ValueList>
</Slot>
</Classification>
<Classification classificationScheme="urn:uuid:41a5887f-8865-4c09-adf7-e362475b143a" classifiedObject="7e41eecc-843e-4fb4-b232-fa178bc7c924" nodeRepresentation="001" id="urn:uuid:065e3782-2304-4b56-bae8-d6d18ff1297f">
<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="7e41eecc-843e-4fb4-b232-fa178bc7c924" nodeRepresentation="urn:ad:dk:medcom:apd-v2.0.1:full" id="urn:uuid:b927f393-effc-49d1-bda7-e7c11826c0b7">
<Slot name="codingScheme">
<ValueList>
<Value>1.2.208.184.100.10</Value>
</ValueList>
</Slot>
<Name>
<LocalizedString xml:lang="en-US" charset="UTF-8" value="DK APD schema"/>
</Name>
</Classification>
<Classification classificationScheme="urn:uuid:f33fb8ac-18af-42cc-ae0e-ed0b0bdb91e1" classifiedObject="7e41eecc-843e-4fb4-b232-fa178bc7c924" nodeRepresentation="22232009" id="urn:uuid:669b18b4-f5f3-4b28-ae9b-2db0c2e3f5ef">
<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="7e41eecc-843e-4fb4-b232-fa178bc7c924" nodeRepresentation="408443003" id="urn:uuid:dfd6ec64-3d0b-41ce-906c-661ed64a13b8">
<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="7e41eecc-843e-4fb4-b232-fa178bc7c924" nodeRepresentation="39289-4" id="urn:uuid:8a5d1a97-84f6-4a07-aef5-6e57b3c91c67">
<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="7e41eecc-843e-4fb4-b232-fa178bc7c924" nodeRepresentation="N" id="urn:uuid:ae19dc33-8401-49df-9b98-64955ac45344">
<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="7e41eecc-843e-4fb4-b232-fa178bc7c924" identificationScheme="urn:uuid:58a6f841-87b3-4a3e-92fd-a8ffeff98427" value="2512484916^^^&1.2.208.176.1.2&ISO" id="urn:uuid:6a374078-c7ba-492b-aabf-f5f4a0cac99f">
<Name>
<LocalizedString value="XDSDocumentEntry.patientId"/>
</Name>
</ExternalIdentifier>
<ExternalIdentifier registryObject="7e41eecc-843e-4fb4-b232-fa178bc7c924" identificationScheme="urn:uuid:2e82c1f6-a085-4c72-9da3-8640a32e42ab" value="1.2.208.176.99.180.99.98.1^7e41eecc-843e-4fb4-b232-fa178bc7c924" id="urn:uuid:f7c5e0f4-3eca-493c-8050-78b8239502b3">
<Name>
<LocalizedString value="XDSDocumentEntry.uniqueId"/>
</Name>
</ExternalIdentifier>
</ExtrinsicObject>
</RegistryObjectList>
</ns3:AdhocQueryResponse>
</soap:Body>
</soap:Envelope> |
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 | R | OK | <Slot name="authorInstitution"> | |
author.authorPerson | R2 | N/A | ||
availabilityStatus | R | R | OK | <ExtrinsicObject |
confidentialityCode | R | OK | OK | <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"> |
contentTypeCode | R | - | OK | N/A (ikke brugt i den danske profilering) |
creationTime | R | R | OK | <Slot name="creationTime"> <ValueList> <Value>20180820084500</Value> </ValueList> </Slot> |
entryUUID | R | R | OK | <ExtrinsicObject |
eventCodeList | O | R2 | OK | <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"> |
formatCode | R | R | OK | <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 | M | R | OK | <Slot name="hash"> <ValueList> <Value>0fbb262c3f2cb2a0598bc9547d26f1c8d782ab10</Value> </ValueList> </Slot> |
healthcareFacilityTypeCode | R | R | OK | <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"> |
homeCommunityId | 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"> |
languageCode | R | R | OK | <Slot name="languageCode"> <ValueList> <Value>da-DK</Value> </ValueList> </Slot> |
legalAuthenticator | O | R2 | OK | N/A (Burde måske være sat?) |
mimeType | 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"> |
objectType | R | R | OK | <ExtrinsicObject |
patientId | M | R | Se 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"> | |
referenceIdList | O | O | OK | N/A |
repositoryUniqueId | R | R | OK | <Slot name="repositoryUniqueId"> |
serviceStartTime | R2 | R2 | OK | <Slot name="serviceStartTime"> |
serviceStopTime | R2 | R2 | OK | Ikke returneret i Documententries. Bookplan aftaler har et tidspunkt for ankomst (aftalens start), men ikke noget sluttidspunkt |
size | R | R | OK | <Slot name="size"> <ValueList> <Value>5805</Value> </ValueList> </Slot> |
sourcePatientId | R | R | OK | <Slot name="sourcePatientId"> |
sourcePatientInfo | R | R | Nej | AO XDS Adapter har ikke datagrundlag til at kunne dette, hvorfor kravet ikke kan opfyldes |
title | O | R | OK | <Name> |
typeCode | R | R | OK | <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"> |
uniqueId | R | R | OK | <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 | O | O | OK | N/A |
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
- 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.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<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> |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<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:
Code Block | ||||
---|---|---|---|---|
| ||||
<?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"?> | |
author.authorPerson | R2 | OK | N/A | |
confidentialityCode | R | OK | 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"> |
contentTypeCode | R | - | N/A | N/A |
creationTime | R | R | OK | <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"> |
eventCodeList | O | R2 | OK | N/A |
languageCode | R | R | <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"> | |
legalAuthenticator | O | R2 | OK | N/A |
patientId | M | R | OK | <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"> |
serviceStartTime | R2 | R2 | OK | <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"> |
serviceStopTime | R2 | R2 | OK | <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"> |
sourcePatientId | R | R | se patientId | |
sourcePatientInfo | R | R | Ikke OK | Der er ikke datagrundlag til dette |
title | O | R | OK | <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"> |
typeCode | R | R | Ikke OK | Ikke inkluderet |
uniqueId | R | R | OK | <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"> |
O=Optional, R=Required, R2=Required when known