Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Da driften kan trække liste over nye/opdaterede data i OpenText Registry (se pkt 1 ovenfor) er det muligt at lave en trinvis migrering. Dette betyder yderligere, at det bliver muligt at komme i gang med migreringen på et tidligere tidspunkt (da det kan foretages uden at der skal meldes servicevinduer ud).

Gliffy Diagram
macroId9bd31676-8edb-4fdd-8a5e-8a616455806b
displayNamenxrg-migrering
namenxrg-migrering
pagePin21

Migreringsprocessen er markeret med blå i diagrammet ovenfor. Det er tanken at bevare Migreringsdatabasen efterfølgende som en backup for OpenText Registry data. Når licensen udløber for xDB databasen, så vil migreringsdatabasen være masterdata (i tilfælde af, at man skulle opdage fejl i import til NXRG efterfølgende).

...

Desuden opdateres til tabellen migration_properties under migreringskørslen. Formålet med dette er at holde styr på, hvor langt man er nået med id'erne for association og documententry, sådan at man kan fortsætte herfra ved næste kørsel.

Contents

FeltnavnDatatypeIndhold
PIDbigint(20)Unik nøgle.
RowModifiedtimestampAngivelse af, hvornår rækken sidst er opdateret.
DocIDvarchar(255)Id på dokument.
contentmediumblobXML-repræsentation af dokumentet (kan være enten submissionset eller document).

Status

FeltnavnDatatypeIndhold
PIDbigint(20)Unik nøgle.
RowModifiedtimestampAngivelse af, hvornår rækkken sidst er opdateret.
DocIDvarchar(255)Id på dokument. Refererer til DocID-kolonnen i contents-tabellen.
DocDatetimestampAngivelse af, hvornår dokumentet er oprettet.
DocExportStateint(11)Status-felt, der bruges til at angive om et dokument er blevet eksporteret eller ej. Kan antage følgende værdier: 0 (NotReady), 1 (Ready), 2 (Migrating), 100 (Migrated).
DocImportStateint(11)Status-felt, der bruges til at angive om et dokument er blevet importeret eller ej. Kan antage følgende værdier: 0 (NotReady), 1 (Ready), 2 (Migrating), 100 (Migrated).

migration_properties

FeltnavnDatatypeIndhold
Idint(11)Unik nøgle.
finish_timedatetimeAngivelse af, hvornår migreringskørslen afsluttede
current_association_idint(11)Angivelse af, hvor langt man nåede i række af id på associations i NXRG databasen
current_documententry_idint(11)Angiver hvor langt man nåede i række af id på documententry i NXRG databasen

XML-format

OpenText registry'et eksporterer sine data i et xml-format, som der ind til videre ikke er tilvejebragt noget schema for. Nedenfor kan man se et eksempel på et submissionset og et tilhørende document i dette format.

...

De følgende metrikker foreslås. Det skal afklares, om det kan lade sig gøre at trække disse ud af både xDB og NXRG.

NrBeskrivelse af valideringNXRGxDB
1Antal documententries i altOK
2Antal documententries fordelt på type (stable/on-demand)OK
3Antal documententries fordelt på statusOK
4Antal documententries fordelt på typecodeOK
4.5Antal documententries fordelt på versionOK
5Antal forskellige patient-id'er for documententries (id, OID/idtype)OK
5.1Trække lister ud af patient-id'er for documententriesOK
5.2Antal documententries, som ikke har en associationOK
6Antal submissionsets i altOK
7Antal forskellige patient-id'er for submissionsetsOK
7.1Trække lister ud af patient-id'er for submissionsetOK
7.2Antal submissionsets, som ikke har en associationOK
8Antal associations i altOK
9Antal forskellige patient-id'er for associationsOK
9.1Trække lister ud af patient-id'er for associationsOK
9.2Antal associations som ikke har documentEntries, submissionsets eller foldersOKNA
9.3Antal associations som peger på forskellige patient-id'er i source og targetOK
9.3Antal associations som peger på folders eller associationsOK




99Antal anvendte patientid assigningauthorityid og assigningauthoritytypeOK
100Udtræk af top-100 cpr numre for documententries (dem med flest), tælle docentries ogsåOK

Der er et issue omkring, hvornår valideringen kører, hvis der tikker ny data ind i xDB. Vi antager, at vi kan køre migrering-validering/verifikation-cyklen, uden at det eksisterende OpenText slettejob fjerner data fra xDB (det skal være slået fra). I udtrækket fra xDB er der styr på en skæringsdato, som kan anvendes til at begrænse tælle-queries mod xDB opadtil, hvorfor resultaterne mellem NXRG og xDB ventes at være ens - både efter første migrering og efterfølgende efter deltaerne.

...

Der sammenlignes følgende metrikker for hver kørsel (dvs for hvert cpr nummer)

Beskrivelse af verifikation
Antal document entries i NXRG
Antal document entries i OpenText
Forskel i antal mellem NXRG og OpenText for document entries
Forskel i antal mellem NXRG og OpenText for dokumenter
Forskel i antal mellem NXRG og OpenText for associationer
Forskel i antalmellem NXRG og OpenText for foldere
Forskel i antal mellem NXRG og OpenText ror submissionsets
Forskel i antal mellem NXRG og OpenText for referencer
Forskel i antal mellem NXRG og OpenText for fejl
Forskel mellem NXRG og OpenText for status
For document entries: hver document entry konverteres til en XML streng og sammenlignes, hvis forskellig skrives entryuuid til en liste
For document entries: findes et entryuuid kun i NXRG skrives det til en liste
For document entries: findes et entryuudi kun i OpenText skrives det til en liste
Alle kald og svar logges

De to første variable er for at se, at der kommer data retur i det hele taget. Da de øvrige værdier er sammenligniner, som gerne skulle være 0. Men 0 minus 0 er også 0, så det viser ikke om der er dokumenter i svaret.

...

Andre env, der kan sættes:

ENVBeskrivelseEksempelBemærkninger
opentext_data_urlURL til databasen med opentext datajdbc:mysql://localhost:3307/opentext
opentext_data_userBruger til opentext databasenopentext
opentext_data_passPassword for brugeropentext
migrationfilesizeAntal inserts statements per migreringsfil100000Migrering filen prefixes med løbenummer per fil: Eksempel: 11_submissionset_20211020_150541_002.sql
migration_batchsizeAntal records fra Open Text databasen der læses ad gangen *11000
migration_no_of_batchesAntal batches der skal håndteres i een kørsel, default er 0 som betyder alle batches *11000

Migrering filen prefixes med tidsstempel per kørsel: Eksempel: 11_submissionset_20211020_150541_002.sql

Alle filer i samme kørsel vil have samme tidsstempel. Tidstemplet kan ses i log data.

1) Antal records der hermed håndteres er således migration_batchsize x migration_no_of_batches

...

Env, der kan sættes i forbindelse med validering:

ENVBeskrivelseEksempel
nxrg_data_urlURL til databasen med NXRG datajdbc:mysql://localhost:3307/nxrg
nxrg_data_userBruger til NXRG databasennxrg
nxrg_data_passPassword for brugernxrg




Env, der kan sættes i forbindelse med verifikation:

ENVBeskrivelseEksempel
nxrg_iti18_urlurl til NXRG iti-18 snitfladehttps://nxrg.nspnxrg.medcom.dk/nxrg/iti18
opentext_iti18_urlurl til OpenText iti-18 snitfladehttps://test1-cnsp.ekstern-test.nspop.dk:8443/registry/services/xds-iti18






Driftsvejledning - Replaytool

...

Env, der kan sættes i forbindelse med replay:

ENVBeskrivelseEksempel
nxrg_iti18_urlurl til NXRG iti-18 snitfladehttp://localhost:8060/nxrg/iti18
nxrg_iti57_urlurl til NXRG iti-57 snitfladehttp://localhost:8060/nxrg/iti57
nxrg_iti42_urlurl til NXRG iti-42 snitfladehttp://localhost:8060/nxrg/iti42
nxrg_iti61_urlurl til NXRG iti-61 snitfladehttp://localhost:8060/nxrg/iti61


Output i result.csv:

KolonneBeskrivelseNote
IdRequest og response id fra filen
OperationHvilken type kald det, eks iti57
ResultatGik det overordnet godt eller ej

Der er en række kombinationer af svar fra kaldende, som vurderes at være ok. F.eks. når NXRG ikke kan finde et specifik dokument i forbindelse med en replace.

Dette er implementeret i klassen StatusCodeCombination, hvor kombinationer kan læses for nu.

NoteLidt information omkring en vurdering af Resultat
KaldStatusEnsEr ForventetKaldStatus og FaktiskKaldStatus ens?
FejlkodeAntalEns

Er ForventetFejlkodeAntal og FaktiskFejlkodeAntal ens?

FejlKodeAntal er de antal fejl, som er blevet returnernet. 

ForventetFejlkodeAntal og FaktiskFejlkodeAntal bør være 0 eller 1 for hver linie, ellers kan FejlkodeListeEns, samt kolonnerne med ForventetFejl* og FaktiskFejl*  være ikke fyldesgørende.
FejlkodeListeEnsEr FejlkodeListeForventet og FejlkodeListeFaktisk ens?
(sammenlignet en til en hvis flere)

ForventetFejlkode1

ForventetFejlContext1

ForventetFejlLocation1

ForventetFejlSeverity1

Fejl 1 i det oprindelige svar, hvis nogen

FaktiskFejlkode1

FaktiskFejlContext1

FaktiskFejlLocation1

FaktiskFejlSeverity1

Fejl 1 i det faktisk NXRG svar, hvis nogen
HsuidheaderMedEr hsuidheaderen med i kaldet?Blev på et tidspunkt brugt til at vurdere om eventuelle forskelle skyldtes denne


Filen kan med fordel åbnes i et regneark, og funktioner som autofilter og pivot tabeller anvendes til vurdering af dens indhold.

...

Env, der skal sættes i forbindelse med kørsel:

ENVBeskrivelseEksempel
nxrg_data_urlURL til databasen med NXRG datajdbc:mysql://localhost:3307/nxrg
nxrg_data_userBruger til NXRG databasennxrg
nxrg_data_passPassword for brugernxrg
cpr_fileInputfil med cprnumre, der skal fixes/input/cprinput.txt