Page History
| Navitabs | ||||
|---|---|---|---|---|
| ||||
| Table of Contents |
|---|
Indledning
...
MedComs brug af HL7 standarder
Ordliste
...
| BRS | Behandlingsrelationsservice |
| FSK | Fælles Stamkort |
| XDS | Cross-Enterprise Document Sharing |
| SFSK | Synkroniseringsservice til Fælles Stamkort (SFKS) |
Overblik over løsningen
Fremsøgning af stamkort sker via DDS (se DDS Registry - Querying User's Guide og DDS Registry Querying Interface Description)SFSK.
FSK Registry Adapter understøtter følgende User Story:
...
FSK Registry Adapter er således en kilde, som tidligere har været anvendt af DDS anvender til at understøtte fremsøgingsforespørgsler fra anvendere.
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 FSK Registry Adapter 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 (herunder FSK Registry Adapter)
- 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 FSK Registry Adapter) at fortolke og besvare den konkrete query. I næste afsnit findes en detaljeret oversigt over, hvorledes FSK Registry Adapter fortolker indkommende queries.
FSK Registry Adapters fortolkning af forespørgsler
Fremadrettet sker dette via SFSK. Der henvises til SFSK - Guide til Anvendere.
FSK Registry Adapters fortolkning af forespørgsler
FSK Registry Adapter implementerer transaktionen Registry FSK Registry 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 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
...
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 (lister af værdier) | FSK Registry Adapter understøttelse |
|---|---|---|---|---|
| $XDSDocumentEntryPatientId | XDSDocumentEntry.patientId | R | -- | Denne parameter skal angives. FSK Registry Adpter validerer at den medsendte værdi for CPR nummeret har længde 10 og består af cifre. Medsendes værdien ikke eller overholder den medsendte værdi ikke FSK Registrys validering returneres en fejl af typen 'XDSUnknownPatientId'. DDS foran FSK Registry har også valideringer på CPR numre, så denne validering burde ikke ramme anvendere. Dog skal det nævnes, at en konsekvens af denne validering er, at FSK Registry Adapter vil melde fejl tilbage til anvendere, der forespørger på erstatningsCPR. |
| $XDSDocumentEntryReferenceIdList (5) | XDSDocumentEntry.referenceIdList (3) | R | M | Ingen fortolkning af FSK Registry |
| $XDSDocumentEntryClassCode (1) | XDSDocumentEntry.classCode | O | M | FSK Registry matcher queries, der
eller
eller
|
| $XDSDocumentEntryTypeCode (1) | XDSDocumentEntry.typeCode | O | M | FSK Registry matcher queries, der
eller
eller
|
| $XDSDocumentEntryPracticeSettingCode (1) | XDSDocumentEntry.practiceSettingCode | O | M | FSK Registry matcher queries, der
eller
eller
|
| $XDSDocumentEntryCreationTimeFrom | Lower value of XDSDocumentEntry.creationTime | O | -- | Ingen fortolkning af FSK Registry |
$XDSDocumentEntryCreationTimeTo | Upper value of XDSDocumentEntry.creationTime | O | -- | Ingen fortolkning af FSK Registry |
| $XDSDocumentEntryServiceStartTimeFrom | Lower value of XDSDocumentEntry.serviceStartTime | O | -- | Ingen fortolkning af FSK Registry |
| $XDSDocumentEntryServiceStartTimeTo | Upper value of XDSDocumentEntry.serviceStartTime | O | -- | Ingen fortolkning af FSK Registry |
| $XDSDocumentEntryServiceStopTimeFrom | Lower value of XDSDocumentEntry.serviceStopTime | O | -- | Ingen fortolkning af FSK Registry |
| $XDSDocumentEntryServiceStopTimeTo | Upper value of XDSDocumentEntry.serviceStopTime | O | -- | Ingen fortolkning af FSK Registry |
| $XDSDocumentEntryHealthcareFacilityTypeCode (1) | XDSDocumentEntry.healthcareFacilityTypeCode | O | M | Ingen fortolkning af FSK Registry |
| $XDSDocumentEntryEventCodeList (1) | XDSDocumentEntry.eventCodeList (3) | O | M | FSK Registry matcher queries, der
eller
eller
|
| $XDSDocumentEntryConfidentialityCode (1) | XDSDocumentEntry.confidentialityCode (3) | O | M | FSK Registry matcher queries, der
eller
eller
|
| $XDSDocumentEntryAuthorPerson (4) | XDSDocumentEntry.author | O | M | FSK Registry matcher kun queries, der
eller
|
| $XDSDocumentEntryFormatCode (1) | XDSDocumentEntry.formatCode | O | M | FSK Registry matcher queries, der
eller
eller
|
| $XDSDocumentEntryStatus | XDSDocumentEntry.availabilityStatus | R | M | FSK Registry matcher queries, der
eller
eller
|
| $XDSDocumentEntryType (6) | XDSDocumentEntry.objectType | O | M(1) | FSK Registry matcher queries, hvor
|
...
FSK Registry 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).
Enkelte af variablene har tabel struktur, og bindes sammen med prefix på navn og løbenumre. For eksempler på dette se FSK Registry Driftvejledning. Men det er vigtigt at være opmærksom på hvilke værdier der kommer i samme række i tabellen. Eksempel på dette er FormatCode og TypeCode.
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 FSK Registry returnerer til dokumentanvender. FSK Registry genererer ikke selve stamdatadokumentet, så en beskrivelse af selve Stamdata CDA dokumentindholdet ligger udenfor scope af dette dokument.
...
Til filtrering af indkommende queries (se afsnit vedr. FSK Registry Query Parameters) samt til generering af de udgående DocumentEntries i responses er FSK Registry konfigureret med følgende opsætningsvariable:
| Opsætningsvariablens navn | Beskrivelse | Miljø-specifik | Værdi (nuværende opsætning) |
|---|---|---|---|
| documentEntry.repositoryUniqueId | Anvendes til indsættelse i feltet $XDSDocumentEntry.repositoryUniqueId for de returnerede DocumentEntries | J | ?? (TEST1) 1.2.208.176.43210.8.20.12 (TEST2) |
| documentEntry.title | Anvendes til indsættelse i $XDSDocumentEntry.Name for de returnerede DocumentEntries | N | Fælles stamkort |
| documentEntry.mimeType | Anvendes til indsættelse i $XDSDocumentEntry.mimeType for de returnerede DocumentEntries | N | text/xml |
| documentEntry.languageCode | Anvendes til indsættelse i $XDSDocumentEntry.languageCode for de returnerede DocumentEntries | N | da-DK |
| documentEntry.patient.assigningAuthority.root | Anvendes til kvalificering af $XDSDocumentEntry.sourcePatientId for de returnerede DocumentEntries | N | 1.2.208.176.1.2 (CPR) |
| documentEntry.organisation.assigningAuthority.root | Anvendes til kvalificering af $XDSDocumentEntry.author (urn:uuid:93606bcf-9494-43ec-9b4e-a7748d1a838d) for de returnerede DocumentEntries | N | 1.2.208.176.1.1 (SOR) |
| documentEntry.healthcareFacilityTypeCode.code | Anvendes til indsættelse i $XDSDocumentEntry.healthcareFacilityTypeCode (urn:uuid:f33fb8ac-18af-42cc-ae0e-ed0b0bdb91e1) for de returnerede DocumentEntries | N | 554041000005106 |
| documentEntry.healthcareFacilityTypeCode.schemeName | Anvendes til indsættelse i $XDSDocumentEntry.healthcareFacilityTypeCode (urn:uuid:f33fb8ac-18af-42cc-ae0e-ed0b0bdb91e1) for de returnerede DocumentEntries | N | 2.16.840.1.113883.6.96 |
| documentEntry.healthcareFacilityTypeCode.name | Anvendes til indsættelse i $XDSDocumentEntry.healthcareFacilityTypeCode (urn:uuid:f33fb8ac-18af-42cc-ae0e-ed0b0bdb91e1) for de returnerede DocumentEntries | N | sundhedsforvaltning |
| 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 | 001 |
| 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 | 1.2.208.184.100.9 |
| documentEntry.classCode.name | Anvendes til indsættelse i $XDSDocumentEntry.classCode (urn:uuid:41a5887f-8865-4c09-adf7-e362475b143a) for de returnerede DocumentEntries | N | Klinisk rapport |
documentEntry |
.metadata.metadataEntry[*].formatCodeCode | Anvendes til filtrering af queries. Anvendes til indsættelse i $XDSDocumentEntry.formatCode (urn:uuid:a09d5840-386c-46f2-b5ad-9c3699a4309d) for de returnerede DocumentEntries |
("*" er et løbenummer startende med 0, så der på den måde kan være x antal kombinationer) | N | 0: urn:ad:dk:medcom:pdc-v2.0:full 1: urn:ad:dk:medcom:pdc-v3.0:full |
documentEntry.metadata.metadataEntry[*].formatCodeScheme |
Anvendes til filtrering af queries. Anvendes til indsættelse i $XDSDocumentEntry.formatCode (urn:uuid:a09d5840-386c-46f2 |
-b5ad-9c3699a4309d) for de returnerede DocumentEntries ("*" er et løbenummer startende med 0, så der på den måde kan være x antal kombinationer) | N | 0: urn:ad:dk:medcom:fsk:full 1:1.2.208.184.100.10 |
| documentEntry. |
| metadata.metadataEntry[*].formatCodeName | Anvendes til indsættelse i $XDSDocumentEntry.formatCode (urn:uuid:a09d5840-386c-46f2-b5ad-9c3699a4309d) for de returnerede DocumentEntries ("*" er et løbenummer startende med 0, så der på den måde kan være x antal kombinationer) | N | 0: DK FSK Schema 1: DK PDC schema |
| documentEntry |
| .metadata.metadataEntry[*].typeCodeCode | Anvendes til filtrering af queries. Anvendes til indsættelse i $XDSDocumentEntry.typeCode (urn:uuid:f0306f51-975f-434e |
-a61c-c59651d33983) for de returnerede DocumentEntries ("*" er et løbenummer startende med 0, så der på den måde kan være x antal kombinationer) | N | 0: 52460-3 1: PDC |
| documentEntry.metadata.metadataEntry[*].typeCodeScheme |
Anvendes til filtrering af queries. Anvendes til indsættelse i $XDSDocumentEntry.typeCode (urn:uuid:f0306f51-975f-434e-a61c-c59651d33983) for de returnerede DocumentEntries ("*" er et løbenummer startende med 0, så der på den måde kan være x antal kombinationer) | N | 0: 2.16.840.1.113883.6.1 |
1: 1.2.208.184.100.1 | |
| documentEntry.metadata.metadataEntry[*].typeCodeName | Anvendes til indsættelse i $XDSDocumentEntry.typeCode (urn:uuid: |
f0306f51-975f-434e-a61c-c59651d33983) for de returnerede DocumentEntries ("*" er et løbenummer startende med 0, så der på den måde kan være x antal kombinationer) | N | 0: Patient Information 1: Stamkort | |
| documentEntry.author.organisation.id | Anvendes til indsættelse i $XDSDocumentEntry.author (urn:uuid:93606bcf-9494-43ec-9b4e-a7748d1a838d) for de returnerede DocumentEntries | N | 634491000016008 |
| documentEntry.author.organisation.name | Anvendes til indsættelse i $XDSDocumentEntry.author (urn:uuid:93606bcf-9494-43ec-9b4e-a7748d1a838d) for de returnerede DocumentEntries | N | Sundhedsdatastyrelsen |
| 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 | 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 | 2.16.840.1.113883.5.25 |
| documentEntry.confidentialityCode.name | Anvendes til indsættelse i $XDSDocumentEntry.confidentialityCode (urn:uuid:f4f85eac-e6cb-4883-b524-f2705394840f) for de returnerede DocumentEntries | N | normal |
| documentEntry.practiceSettingCode.code | Anvendes til indsættelse i $XDSDocumentEntry.practiceSettingCode (urn:uuid:cccf5598-8b07-4b77-a05e-ae952c785ead) for de returnerede DocumentEntries | N | 408443003 |
| documentEntry.practiceSettingCode.schemeName | Anvendes til indsættelse i $XDSDocumentEntry.practiceSettingCode (urn:uuid:cccf5598-8b07-4b77-a05e-ae952c785ead) for de returnerede DocumentEntries | N | 2.16.840.1.113883.6.96 |
| documentEntry.practiceSettingCode.name | Anvendes til indsættelse i $XDSDocumentEntry.practiceSettingCode (urn:uuid:cccf5598-8b07-4b77-a05e-ae952c785ead) for de returnerede DocumentEntries | N | almen medicin |
Som det fremgår af ovenstående tabel anvendes variablene til både:
- Filtrering af queries
- Generering af DocumentEntries i response.
Bemærk: FSK justerer telefonnumre efter dette mønster: tel:?[-0-9().] . Telefonnummer kan være både under pårørende og kontaktinformation.
Eksempel: Request og response fra FSK Registry
Følgende request viser en fremsøgning af dokumenter på CPR nummeret 2110979421 via DDS nummeret 2110979421 (SOAP headers er fjernet for at gøre eksemplet mere læsevenligt). Eksemplet viser en søgning hvor der kun returneres eet dokument.
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
<?xml version="1.0" encoding="UTF-8"?>
<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>'2110979421^^^&1.2.208.176.1.2&ISO'</ns2:Value>
</ns2:ValueList>
</ns2:Slot>
<ns2:Slot name="$XDSDocumentEntryType">
<ns2:ValueList>
<ns2:Value>('urn:uuid:34268e47-fdf5-41a6-ba33-82133c465248')</ns2:Value>
<ns2:Value>('urn:uuid:7edca82f-054d-47f2-a032-9b2a5b5186c1')</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. 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).
...
Uoverensstemmelser mellem data leveret af FSK Registry 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) | FSK Registry implementerings-status | Eksempel (udklip af response ovenfor) |
|---|---|---|---|---|
| author.authorInstituation | R | OK | <Slot name="authorInstitution"> | |
| author.authorPerson | R2 | N/A | ||
availabilityStatus | R | R | OK | <ExtrinsicObject mimeType="text/xml" |
confidentialityCode | R | R | OK | <Classification classificationScheme="urn:uuid:f4f85eac-e6cb-4883-b524-f2705394840f" classifiedObject="1.2.208.176.43210.8.20.12^80c7deaf-bf77-4abd-a187-61ab8cad111e" nodeRepresentation="N" id="urn:uuid:7bcba75e-6abe-4e54-b03e-9cbe65f2e780"> |
contentTypeCode | R | - | OK | N/A (ikke brugt i den danske profilering) |
creationTime | R | R | OK | <Slot name="creationTime"> |
entryUUID | R | R | FSK Registry anvender unique id som entryUUID. Burde være et UUID (burde gemmes i FSK Registry databasen) | <ExtrinsicObject mimeType="text/xml" |
eventCodeList | O | R2 | OK | <Classification classificationScheme="urn:uuid:f0306f51-975f-434e-a61c-c59651d33983" classifiedObject="1.2.208.176.43210.8.20.12^80c7deaf-bf77-4abd-a187-61ab8cad111e" nodeRepresentation="52460-3" id="urn:uuid:66d7b10a-78ef-4e17-a58c-b96ca58a3114"> |
formatCode | R | R | OK | <Classification classificationScheme="urn:uuid:a09d5840-386c-46f2-b5ad-9c3699a4309d" classifiedObject="1.2.208.176.43210.8.20.12^80c7deaf-bf77-4abd-a187-61ab8cad111e" nodeRepresentation="DK FSK Schema" id="urn:uuid:6c86ab04-3cb9-4869-bb45-f44bc17b26ee"> <Slot name="codingScheme"> <ValueList> <Value>urn:ad:dk:medcom:fsk:full</Value> </ValueList> </Slot> <Name> <LocalizedString xml:lang="en-US" charset="UTF-8" value="DK FSK Schema"/> </Name> </Classification |
| ||||
healthcareFacilityTypeCode | R | R | OK | <Classification classificationScheme="urn:uuid:f33fb8ac-18af-42cc-ae0e-ed0b0bdb91e1" classifiedObject="1.2.208.176.43210.8.20.12^80c7deaf-bf77-4abd-a187-61ab8cad111e" nodeRepresentation="554041000005106" id="urn:uuid:ad3bebde-dfab-4ef0-a679-7b8271bc33c2"> |
homeCommunityId | R | R | OK | <ExtrinsicObject mimeType="text/xml" objectType="urn:uuid:34268e47-fdf5-41a6-ba33-82133c465248" status="urn:oasis:names:tc:ebxml-regrep:StatusType:Approved" id="1.2.208.176.43210.8.20.12^80c7deaf-bf77-4abd-a187-61ab8cad111e" home="1.2.208.176.8.1.12"> |
languageCode | R | R | OK | <Slot name="languageCode"> |
legalAuthenticator | O | R2 | OK | N/A |
mimeType | R | R | OK | <ExtrinsicObject mimeType="text/xml" objectType="urn:uuid:34268e47-fdf5-41a6-ba33-82133c465248" status="urn:oasis:names:tc:ebxml-regrep:StatusType:Approved" id="1.2.208.176.43210.8.20.12^80c7deaf-bf77-4abd-a187-61ab8cad111e" home="1.2.208.176.8.1.12"> |
objectType | R | R | Antager OK | Metadataprofilen udtaler sig kun om stable document entry men FKS Registrys angivelse af on-demand er sikkert ok <ExtrinsicObject mimeType="text/xml" |
patientId | M | R | Se sourcePatientId | |
practiceSettingCode | R | - | OK konkret værdi valgt udfra lovlige værdier i metadata value set | <Classification classificationScheme="urn:uuid:cccf5598-8b07-4b77-a05e-ae952c785ead" classifiedObject="1.2.208.176.43210.8.20.12^80c7deaf-bf77-4abd-a187-61ab8cad111e" nodeRepresentation="408443003" id="urn:uuid:37cfb6b2-7279-4230-b954-f088c7e62ffb"> |
referenceIdList | O | O | OK | N/A |
repositoryUniqueId | R | R | OK | <Slot name="repositoryUniqueId"> |
serviceStartTime | R2 | R2 | OK | N/A |
serviceStopTime | R2 | R2 | OK | N/A |
| ||||
sourcePatientId | R | R | OK | <Slot name="sourcePatientId"> |
sourcePatientInfo | R | R | Nej | FSK Registry Adapter har ikke tilstrækkeligt datagrundlag til levering af dette. I sin nuværende form er FSK Registry Adapters eneste "datakilde" den forespørgsel, der modtages. FSK Registry Adapter har således ingen integration til f.eks. CPR data. Bemærk at selve dokumentet dannes udenfor FSK Registry Adapter, og derfor indeholder data fra flere/andre kilder. |
title | O | R | OK..pånær forkert languagecode | <Name> |
typeCode | R | R | OK | <Classification classificationScheme="urn:uuid:f0306f51-975f-434e-a61c-c59651d33983" classifiedObject="1.2.208.176.43210.8.20.12^80c7deaf-bf77-4abd-a187-61ab8cad111e" nodeRepresentation="52460-3" id="urn:uuid:66d7b10a-78ef-4e17-a58c-b96ca58a3114"> |
uniqueId | R | R | OK | <ExternalIdentifier registryObject="1.2.208.176.43210.8.20.12^80c7deaf-bf77-4abd-a187-61ab8cad111e" identificationScheme="urn:uuid:2e82c1f6-a085-4c72-9da3-8640a32e42ab" value="1.2.208.176.43210.8.20.12^80c7deaf-bf77-4abd-a187-61ab8cad111e" id="urn:uuid:85402c9d-7cf7-4b25-bd36-3b72fa132b89"> |
URI | O | O | OK | N/A |
O=Optional, R=Required, R2=Required when known