Indledning

Dette dokument er en vejledning til brug for anvendere af FSK Registry. Da anvendelsen af FSK Registry sker via Dokumentdelingsservicen, starter dokumentet med et overblik over arkitekturen. Formålet med dette er at dokumentere, hvordan DDS og FSK Registry hænger sammen, og hvilke opgaver disse komponenter dækker hver især.

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

Disse beskrivelser er bygget op med eksempler på requests og responses, hvor det giver mening. Eksemplerne stammer fra TEST2 miljøet.

Tilsidst i dokumentet dokumenteres det, hvordan et svar fra FSK Registry ser ud  - herunder sammenhæng med Medcoms danske profilering: XDS Metadata for Document Sharing v. 0.95.

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



DDSDokumentdelingsservice
BRSBehandlingsrelationsservice
FSKFælles Stamkort
XDSCross-Enterprise Document Sharing

Overblik over løsningen

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

FSK Registry er således en kilde, som DDS anvender til at understøtte fremsøgingsforespørgsler fra anvendere. 

Således foregår en forespørgsel mod FSK Registry 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 FSK Registry)
  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 FSK Registry) at fortolke og besvare den konkrete query. I næste afsnit findes en detaljeret oversigt over, hvorledes FSK Registry fortolker indkommende queries.

FSK Registry fortolkning af forespørgsler

FSK Registry 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 FSK Registry. Gennemgangen vil indeholde eksempler på queries, hvor dette giver mening.

FSK Registry melder tilbage til DDS med et response af  ...TODO.

FSK Registry 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.

FSK Registry ignorerer ReturnCompoesedObjects parameteren. Alle queries besvarers, somom denne parameter er true.

FSK Registry 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).

FSK Registry 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 FSK Registry forstår/understøtter den specifikke Query.


Query Name


Query ID

FSK Registry

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

FSK Registry vil besvare en forespørgsel med ikke-understøttet Query ID med en fejl af typen 'XDSUnknownStoredQuery'. Se eksempel nedenfor.

Eksempel på forspørgsel med ikke-understøttet Query ID

som giver dette resultat:

FSK Registry Query 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 FSK Registrys 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 FSK Registrys fortolkning (hvis nogen) af den medsendte parameter samt evt. valideringer.

FSK Registry 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 FSK Registry understøttelse angivet i kolonnen yderst til højre. FSK Registry understøttelser viser, om FSK Registry kigger på søgeparametren, og hvad FSK Registry 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 NameAttributeOptMultFSK Registry understøttelse
$XDSDocumentEntryPatientIdXDSDocumentEntry.patientIdR--

Denne parameter skal angives. FSK Registry 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'.

Se eksempel nedenfor.

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

FSK Registry matcher queries, der 

  • ikke angiver classCode

eller

  • parameterlisten er tom

eller

  • listen af classCodes includerer FSK Registrys opsætningsvariabel for classCode (se afsnittet vedr. metadataopsætning nedenfor)
$XDSDocumentEntryTypeCode (1)XDSDocumentEntry.typeCodeOM

FSK Registry matcher queries, der 

  • ikke angiver typeCode

eller

  • parameterlisten er tom

eller

  • listen af typeCodes includerer FSK Registrys opsætningsvariabel for typeCode (se afsnittet vedr. metadataopsætning nedenfor)
$XDSDocumentEntryPracticeSettingCode (1)XDSDocumentEntry.practiceSettingCodeOMN/A
$XDSDocumentEntryCreationTimeFromLower value of
XDSDocumentEntry.creationTime
O--N/A

$XDSDocumentEntryCreationTimeTo

Upper value of
XDSDocumentEntry.creationTime
O--N/A
$XDSDocumentEntryServiceStartTimeFromLower value of
XDSDocumentEntry.serviceStartTime
O--N/A
$XDSDocumentEntryServiceStartTimeToUpper value of
XDSDocumentEntry.serviceStartTime
O--N/A
$XDSDocumentEntryServiceStopTimeFromLower value of
XDSDocumentEntry.serviceStopTime
O--N/A
$XDSDocumentEntryServiceStopTimeToUpper value of
XDSDocumentEntry.serviceStopTime
O--N/A
$XDSDocumentEntryHealthcareFacilityTypeCode (1)XDSDocumentEntry.healthcareFacilityTypeCodeOMN/A
$XDSDocumentEntryEventCodeList (1)XDSDocumentEntry.eventCodeList (3)OM

FSK Registry matcher queries, der 

  • ikke angiver eventCodeList

eller

  • parameterlisten er tom

eller

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

FSK Registry matcher queries, der 

  • ikke angiver confidentialityCoe

eller

  • parameterlisten er tom

eller

  • listen af confidentialityCodes includerer FSK Registrys opsætningsvariabel for confidentialityCode (se afsnittet vedr. metadataopsætning nedenfor)
$XDSDocumentEntryAuthorPerson (4) XDSDocumentEntry.authorOM

FSK Registry matcher kun queries, der

  • ikke angiver author

eller

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

FSK Registry matcher queries, der 

  • ikke angiver formatCodes

eller

  • parameterlisten er tom

eller

  • listen af formatCodes includerer FSK Registrys opsætningsvariabel for classCode (se afsnittet vedr. metadataopsætning nedenfor)
$XDSDocumentEntryStatusXDSDocumentEntry.availabilityStatusRM

FSK Registry matcher queries, der

  • ikke angiver denne parameter

eller

  • parameterlisten er tom

eller

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

FSK Registry matcher queries, der 

  • ikke angiver entryType

eller

  • parameterlisten er tom

eller

  • listen af entryTypes inkluderer On-demand dokumenter (urn:uuid:34268e47-fdf5-41a6-ba33-82133c465248)

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

Eksempel på forspørgsel med ulovligt CPR nummer

FSK Registry Response

FSK Registry er sat op med en række miljøspecifikke variable. 

FSK Registry Metadata Opsætningsvariable

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 navnBeskrivelseMiljøspecifikVærdi (nuværende opsætning)
documentEntry.titleAnvendes til indsættelse i feltet xxx for de returnerede DocumentEntriesNFælles stamkort
documentEntry.mimeTypeAnvendes til indsættelse i feltet xxx for de returnerede DocumentEntriesNtext/xml
documentEntry.languageCodeAnvendes til indsættelse i feltet xxx for de returnerede DocumentEntriesNda-DK
documentEntry.patient.assigningAuthority.root