Page History
| Navitabs | ||||
|---|---|---|---|---|
| ||||
| Table of Contents | ||
|---|---|---|
|
...
| Gliffy Diagram | ||||||||
|---|---|---|---|---|---|---|---|---|
|
Diagrammet viser to databaser: Metadata, som er den database der vedligeholdes og ejes af NXRG, og Dokumenter, som er den database der vedligeholdes og ejes af OpenXDS. Som det fremgår af diagrammet, fungerer XDSCleanup ved at læse/skrive direkte i disse databaser, og altså ikke gennem ITI-snitfladerne.
XDSCleanup sletter også dokumenter baseret på afdøde personer. Derfor indgår SDM databasen PersonInformation servicen også i løsningen. Der læses alene fra denne databaseDenne kaldes med snitfladen /deceased.
Løsningsdesign
XDSCleanup er implementeret på NSP-platformen, og udstiller et antal servlets som kaldes af driften. Detaljer om disse snitflader findes i driftsvejledningen. Meningen er at oprydningssnitfladen kaldes med jævne mellemrum, hvilket vil udvælge et antal dokumenter til sletning, og derefter slette dem.
...
Asynkronitet
Implementationen følger husreglerne for baggrundsjobs og er sikker overfor samtidige kald.
...
| Operation | Beskrivelse |
|---|---|
| Default operation | Benyttes til at fylde nye operationer på stakken, når stakken er tom. For hver konfigureret dokumenttype, oprettes en typebasered operation for denne type |
| Typebaseret operation | Givet en dokumenttype og tilhørende konfiguration, hentes id'er på alle matchende dokumenter i NXRG databasen Opretter en mængde batch oprydningsjobs, hver med et konfigurerbart antal af disse dokument id'er. |
| Batch oprydningsjob | Givet en liste af dokument id'er, slet dokumenterne fra NXRG |
registry-
...
deceased-cleanup
Der benyttes fire typer af operationer.
| Operation | Beskrivelse |
|---|---|
| Default operation | Benyttes til at fylde operationer på stakken, når stakken er tom. For hvert af tallene 00-99, oprettes en prefix baseret operation |
| Prefix baseret operation | Givet et tal mellem 00 og 99, hentes alle borger id'er fra NXRG, som starter med disse cifre. Opretter en mængde borger id baseret operationer, hver med et konfigurerbart antal af disse borger id'er |
| Borger id baseret operation | Givet en liste af borger id'er, tages de id'er der tilhører afdøde (status 90) borgereborgere. Dette afgøres ved kald til PersonInformation. Henter id'er på dokumenter i NXRG databasen for disse borger id'er. Opretter en mængde batch oprydningsjobs, hver med et konfigurerbart antal af disse dokument id'er. |
| Batch oprydningsjob | Givet en liste af dokument id'er, slet dokumenterne fra NXRG |
...
| Operation | Beskrivelse |
|---|---|
| Default operation | Benyttes til at fylde operationer på stakken, når stakken er tom. For hver konfigureret type kode, oprettes for alle dage i et år oprettes en prefix baseret operation. Der oprettes (med 2 konfigurerede typekoder) 2*12x31 prefix baserede operationer og prefixet har formen "DDMM". Dvs. for 7. november har den værdien "0711". |
| Prefix baseret operation | Henter deprecated document entries ud der er mere end x dage gamle og opretter en mængde batch oprydningsjobs, med et konfigurerbart antal af disse. Hver prefix baseret operation indeholder kun patientId'er hvor de første 4 tal er identisk med det prefix operationen er oprettet med. Operationen respekterer den medsendte typekode. De x antal dage er en konfigurerbar parameter. Opretter en mængde borger id baseret operationer, hver med et konfigurerbart antal af disse borger id'er. |
| Batch oprydningsjob | Givet en liste af dokument id'er, slet dokumenterne fra NXRG |
...
Det er muligt at konfigurere sletning af dokumenter hørende til afdøde personer med status 90 (=døde). I opsætningen kan man angive hvor lang tid dokumenterne for disse personer skal gemmes.
...
Alderen for et dokument beregnes ved først at kigge på attributten deletetrigger_time eller delete_time som er et feltto felter, der vedligeholdes i databasen og er
- deletetrigger_time sættes vha en funktion (i nxrg): COALESCE(servicestarttime, creation_time). CreationTime er en påkrævet attribut, men det er serviceStartTime ikke.
- delete_time sættes vha en funktion (i nxrg): COALESCE(servicestoptime, '2999-12-31')).
Hvis dokumentets alder er større end det konfigurerede antal måneder, så slettes dokumentet. Det skal opsættes som en konfigurationparameter, om jobbet kigger på den ene eller den anden egenskab.
Data der slettes i NXRG og OpenXDS
...