Page History
...
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Design og Arkitektur
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
1 Introduktion
1.1 Formål
1.2 Læsevejledning
1.3 Dokumenthistorik
1.4 Definitioner og referencer
2 Introduktion til dokumentdeling af laboratoriesvars-dokumenter
2.1 Deployment af Svareksponeringsservice XDS-adaptere
2.2 Implementation af Svareksponeringsservice XDS-adaptere
3 Arkitekturbeslutninger
3.1 Svareksponeringsservice XDS Registry Adapter
3.2 Svareksponeringsservice XDS Repository Adapter
4 Håndtering af søgeparametre ved opslag på metadata
5 Design af Svareksponeringsservice XDS-adaptere
5.1 Svareksponeringsservice XDS Registry Adapter
5.2 Svareksponeringsservice XDS Repository Adapter
5.2.1 Håndtering af datoer
6 Svareksponeringsservice
...
Formålet med SES XDS-adaptere er at kunne udstille patients laboratoriesvar i en dokumentdelingsarkitektur baseret på standarden IHE XDS.b. På den nationale serviceplatform (NSP) understøttes denne standard af Dokumentdelingsservicen, der i tilgift ved anvendelse af andre services på NSP'en foretager samtykkekontrol, igangsættelse af kontrol af behandlingsrelation samt logning.
Når en dokumentanvender laver opslag på en patient på DDS returneres metadata registreret om tilgængelige dokumenter vedrørende patienten. Disse metadata kan være registreret i det indeks, der er tilknyttet DDS, eller i andre indeks. 3.4.
Figur 1 Svareksponeringsservice XDS Registry Adapter fungerer som indeks over laboratoriesvarsdokumenter-dokumentmetadata.
I dokumentdeling af laboratoriesvarsdokumenter er det komponenten Svareksponeringsservice XDS Registry Adapter, der fungerer som et indeks og returnerer metadata. Lidt atypisk gennemfører adapteren dette uden persisteret lager og uden at konsultere anden service. Den returnerer et standardsvar, hvor metadata er tilpasset til patienten.
Når en dokumentanvender vha. returnerede metadata har afgjort hvilke dokumenter, der ønskes indhentet, foretages indhentning af et eller flere dokumenter gennem DDS.
Figur 2 Svareksponeringsservice XDS Repository Adapter fungerer som dokumentkilde. Denne kalder Svareksponeringsservicen hos Laboratoriedatabanken.
SES XDSRepositoryAdapter(Dokumentkilde)Dokument-delings-serviceDokument-anvender1.2.5.6. !worddavc12d86291e0a4c152b8f61c1fa25666b.png|height=92,width=66!Laboratorie-Databanken(Reel dokumentkilde) !worddav5576f1fa30d48a14f69145ff44757235.png|height=42,width=41!3.4.
Figur 2 Svareksponeringsservice XDS Repository Adapter fungerer som dokumentkilde. Denne kalder Svareksponeringsservicen hos Laboratoriedatabanken.
I dokumentdeling af laboratoriesvarsdokumenter varetages rollen som dokumentkilde af komponenten Svareksponeringsservice XDS Repository Adapter. Når der indhentes dokument vha. metadata returneret fra Svareksponeringsservice XDS Registry Adapter, da henter DDS'en dokumentet fra Svareksponeringsservice XDS Repository Adapter. Dette er forudsat, at DDS er konfigureret til at kende Svareksponeringsservice XDS Registry Adapter som indeks og Svareksponeringsservice XDS Repository Adapter som dokumentkilde..
Når et identificeret dokument indhentes fra Svareksponeringsservice XDS Repository Adapter, kaldes Svareksponeringsservicen (se afsnit 6), der rummer laboratoriesvar for patienten. Svareksponeringsservicen returnerer i svarets header en Privacy Information Header (PIH), der beskriver indholdet med henblik på senere samtykkekontrol. PIH'en og laboratoriesvarsdokumentet indlejrer Svareksponerings-service XDS Repository Adapter i et Privacy Information Wrapper-dokument, så DDS'en kun modtager et samlet dokument.
DDS kan identificere, at det returnerede dokument er et PIW og pakke det oprindelige indhold ud. Ud fra PIH'en indeholdt i PIW-dokumentet, foretager DDS om nødvendigt kontrol af data-specifikke samtykker ved at kalde samtykkeverifikationsservicen. Har patienten frabedt sig indsigt foretages frafiltrering og i svaret fra DDS markeres, at der er tilbageholdt information.
...
I nedenstående deploymentdiagram er Svareksponeringsservice XDS adapterne deployeret i NSP-backoffice. Dette beror på et valg, da de lige så vel kunne være deployeret hos eller tættere på Laboratoriedatabanken.
Figur 3 Deployment af Svareksponeringsservice XDS-adaptere. Opslag på metadata om dokumenter sendes til alle registre kendt af DDS Registry – her XDS Registry og Svareksponeringsservice XDS Registry Adapter. Når dokumenter indhentes på baggrund af metadata returneret fra Svareksponeringsservice XDS Registry Adapter, da hentes dokumenterne fra Svareksponeringsservice XDS Repository Adapter.
Opslag på metadata om dokumenter sendes til alle registre kendt af DDS Registry – her XDS Registry og Svareksponeringsservice XDS Registry Adapter. Når dokumenter indhentes på baggrund af metadata returneret fra Svareksponeringsservice XDS Registry Adapter, da hentes dokumenterne fra Svareksponeringsservice XDS Repository Adapter.
...
Logisk komponent | Implementation | Funktion |
---|---|---|
Svareksponerings-service XDS Registry Adapter | sxa-documentmetadataprovider | Returnerer dokumentmetadata |
Svareksponerings-service XDS Repository Adapter | sxa-documentprovider | Kalder Svareksponerings-servicen og pakker returneret dokument ind i wrapper (PIW), der returneres. |
<ac:structured-macro ac:name="anchor" ac:schema-version="1" ac:macro-id="be0c61ee-ba87-4038-83d9-b3de9adee819"><ac:parameter ac:name="">_Ref414969084</ac:parameter></ac:structured-macro>{*}Tabel 1* *Implementation af komponenterne i Svareksponeringsservice XDS-adaptere*
I \[Driftsvejledningen\] er beskrevet konfiguration for Svareksponeringsservice XDS-adaptere, hvor navngivning af property-filer, log-konfigurationsfiler etc. følger navngivningen brugt for Tabel 1* *Implementation af komponenterne i Svareksponeringsservice XDS-adaptere* Wiki Markup
I \[Driftsvejledningen\] er beskrevet konfiguration for Svareksponeringsservice XDS-adaptere, hvor navngivning af property-filer, log-konfigurationsfiler etc. følger navngivningen brugt for implementationen.
Anchor | ||||
---|---|---|---|---|
|
...
ID | Beskrivelse | Rationale |
---|---|---|
SES.XDS.Registry.Adapter.Intet.Kald | Opslag på patient skal give dokumentmetadata uden kald af Svareksponeringsservice. | For at minimere svartid på opslag, da dette foretages for alle patienter. |
SES.XDS.Registry.Adapter.Ingen.Persistering.Søgeparametre | Søgeparametre givet ved opslag på patient persisteres ikke til anvendelse på dokumentindhentningstidspunktet. | Fravalg af persistering simplificerer løsning og giver mere frihed mht. deployering. På decentrale NSP må der ikke persisteres.. |
SES.XDS.Registry.Adapter.Begrænsede.Søgeparametre | Ikke alle muligheder for angivelse af søgeparametre ved opslag understøttes. Se Tabel 4. | Visse søgeparametre kan relativt let matches mod de metadata, der de facto returneres fra Svareksponeringsservice XDS Registry Adapter og dermed filtreres allerede i opslaget. |
SES.XDS.Registry.Adapter.Encoding.Af.Søgeparametre | Søgeparametre ved opslag bæres videre til indhentning af dokument ved at encode informationen i documentUniqueId/uniqueId. | Dette sker for at undgå persistering mellem opslag og indhentning af dokument. |
SES.XDS.Registry.Adapter.Intet.Patientnavn | Metadata-attributten DocumentEntry.sourcePatientInfo er obligatorisk jf. den danske metadata-profil, som Dokumentdelingsservicen typisk anvendes med. Attributten indeholder patientnavn, kodning af patientens køn samt fødselsdato. | Dokumentanvendere forventes at kende navn ud fra patient-id (cpr-nummeret). |
...
FindDocuments Query Parameter | Krævet (K)/valgfrit | Kardinalitet (M for mange) | Håndteres af filter på opslag | Encodes i dokumentid | Bæres til kald af Svareksponeringsservice | Filtrering efter kald | Håndteres | Kommentar | |
$XDSDocumentEntryPatientId | K | x | x | x | |||||
$XDSDocumentEntryClassCode | M | x | x | Skal indeholde konfigurerbar værdi hvis anført, ellers tomt metadata-resultat | |||||
$XDSDocumentEntryTypeCode | M | x | x | Skal indeholde konfigurerbar værdi hvis anført, ellers tomt metadata-resultat | |||||
$XDSDocumentEntryPracticeSettingCode | M | x | x | x | Er delvist håndteret, idet udvalgte værdier bæres til kaldet af Svareksponeringsservicen. | ||||
$XDSDocumentEntryCreationTimeFrom | x | x | Må ikke være anført, ellers tomt metadata-resultat | ||||||
$XDSDocumentEntryCreationTimeTo | x | x | Må ikke være anført, ellers tomt metadata-resultat | ||||||
$XDSDocumentEntryServiceStartTimeFrom | x | x | x | ||||||
$XDSDocumentEntryServiceStartTimeTo | ( x) | ( x) | x | Bruges, hvis $XDSDocumentEntryServiceStartTimeFrom ikke er anført | |||||
$XDSDocumentEntryServiceStopTimeFrom | ( x) | ( x) | x | Bruges, hvis $XDSDocumentEntryServiceStopTimeTo ikke er anført | |||||
$XDSDocumentEntryServiceStopTimeTo | x | x | x | ||||||
$XDSDocumentEntryHealthcareFacilityTypeCode | M | ÷ | Er ikke håndteret, men kunne være håndteret ved match mod konfigureret værdi (som de øvrige). | ||||||
$XDSDocumentEntryEventCodeList | M | x Der laves konfigurerbart filter på søgeparametre på opslagstidspunktet. | x | Skal indeholde konfigurerbar(e) værdi(er) hvis anført, ellers tomt metadata-resultat | |||||
$XDSDocumentEntryConfidentialityCode | M | x | x | Skal indeholde konfigurerbar værdi hvis anført, ellers tomt metadata-resultat | |||||
$XDSDocumentEntryAuthorPerson | M | x | x | Må ikke være anført, ellers tomt metadata-resultat. Grundet manglende i indhold i svar fra svareksponeringsservice. | |||||
$XDSDocumentEntryFormatCode | M | x | x | Skal indeholde konfigurerbar værdi hvis anført, ellers tomt metadata-resultat | |||||
$XDSDocumentEntryStatus | K | M | x | x | Skal indeholde approved, ellers tomt metadata-resultat | ||||
$XDSDocumentEntryType | M | x | x | Skal indeholde On-demand typen, ellers tomt metadata-resultat |
...
Anchor | ||||
---|---|---|---|---|
|
Det primære udgangspunkt for forståelse af koden er konfigurationen af webservicen, der foretages i maven-artefaktet sxa-documentmetadataprovider-war. Konfigurationen i web.xml udpeger MetadataProviderWS i hjælpebiblioteket, der delegerer ansvaret for at fremskaffe dokumentmetadata til interfacet DocumentMetadataProvider. Svareksponeringsservice XDS Registry Adapter's implementation af dette interface er DocumentMetadataProviderImpl.
!worddavd9827311193ca9ca4cc229c1389c25fe.png|height=302,width=490!
*Tabel 5 Overordnet design af Svareksponeringsservice XDS Registry Adapter*
DocumentMetadataProviderImpl benytter MetadataQueryFilter til at afgøre, om opslagets søgeparametre er forenelige med at returnere dokumentmetadata ud fra konfigurerbare filter-værdier, dvs. om der skal returneres dokumentmetadata eller ej. I DocumentMetadataProviderImpl. Wiki Markup
Tabel 5 Overordnet design af Svareksponeringsservice XDS Registry Adapter
DocumentMetadataProviderImpl benytter MetadataQueryFilter til at afgøre, om opslagets søgeparametre er forenelige med at returnere dokumentmetadata ud fra konfigurerbare filter-værdier, dvs. om der skal returneres dokumentmetadata eller ej. I \[Driftsvejledningen\] er konfiguration og logik for filteret beskrevet.
Skal dokumentmetadata returneres, skaber DocumentMetadataProviderImpl disse som givet i Tabel 6.
Metadata-attribut | Værdi bestemmes af |
---|---|
patientId | Query |
sourcePatientId | Query |
UniqueId (DocumentUniqueId) | Encoding af query parametre |
Author.authorPerson | Metadata-konfiguration |
Author.authorInstitution | Metadata-konfiguration |
classCode | Metadata-konfiguration |
confidentialityCode | Metadata-konfiguration |
eventCodeList | Metadata-konfiguration |
creationTime | Null (må ikke anføres for on-demand dokument) |
formatCode | Metadata-konfiguration |
HealthcareFacilityTypeCode | Metadata-konfiguration |
practiceSettingCode | Metadata-konfiguration |
serviceStartTime | Værdi fra query overføres, ellers anvendes patientens fødselsdato, hvis den kan udledes af patientId |
serviceStopTime | Værdi fra query overføres, ellers null |
availabilityStatus | Hardcoded til Available |
typeCode | Metadata-konfiguration |
mimeType | Metadata-konfiguration |
languageCode | Metadata-konfiguration |
homeCommunityId | Metadata-konfiguration |
repositoryUniqueId | Metadata-konfiguration |
title | Metadata-konfiguration |
entryUUID | UUID-repræsentation af uniqueId |
objectType | Hardcoded til On-demand |
...
Det primære udgangspunkt for forståelse af koden er her konfigurationen af webservicen, der foretages i maven-artefaktet sxa-documentprovider-war. Konfigurationen i web.xml udpeger DocumentProviderWS i hjælpebiblioteket, der delegerer ansvaret for at fremskaffe dokument(er) til interfacet DocumentRetriever. Svareksponeringsservice XDS Repository Adapters implementation af dette interface er DocumentRetrieverImpl.
Tabel 7 Overordnet design af Svareksponeringsservice XDS Repository Adapter
DocumentProviderImpl kalder Svareksponeringsservicen og indlejrer dokument og PIH returneret derfra i et PIW-dokument. Sidstnævnte er med henblik på at Dokumentdelingsservicen kan gennemføre udpakning, evt. samtykkekontrol og evt. frafiltrering.
...
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Svareksponeringsservicens snitflade er beskrevet i \[SES snitflade\]. Wiki Markup