NeoBase datamodel

<< Click to Display Table of Contents >>

Navigation:  Specifikation NeoBase 6 >

NeoBase datamodel

Previous pageReturn to chapter overviewNext page

Databasen

Overordnet må man skelne mellem

Datasættet - de data (Neobase data), der lagres og behandles, aktuelt Neobase 2.

Databasen - den praktiske implementering af datasættet, dvs. både datamodellen (relations database opbygningen) og det specifikke dataformat (AbsDB datafil).

Database programmet - i den aktuelle implementering i NeoBase 6xe programmet.

Neobase 2 datasættet

Neobase 2 datasættet er Dansk Pædiatrisk Selskabs Neobaseudvalgs revision af et tidligere defineret Neobase 1 datasæt (1993), og anvendes til kvalitetsmonitorering af indlæggelser på danske neonatalafdelinger.
Neobase datasættet definerer en lang række parametre for det enkelte barns fødselsdata og for de respektive neonatale indlæggelser for disse børn.

En tidlig teknisk databaseimplementering af Neobase 2 er fra 1995 ved Langtved Data A/S (flat file database) - senere (1997-2000) med samme datasæt som relationsdatabase via LD's Neobase 3 program (2000).

NeoBase 6 datamodellen

NeoBase 6 er den praktisk tekniske implementering af Neobase 2 datasættet som relationsdatabase i AbsDB dataformat (Component Ace Absolute Database) med alle Neobase data samlet i een databasefil NeoBase.abs, der således indholder alle diverse data- og reference-tabeller.
NeoBase 6 er udarbejdet i 2015 af Niels Knabe, og som er en konvertering af den tidligere datamodel udarbejdet af Langtved Data A/S i paradox format for Neobaseudvalget i 1998-2000.

Det er denne dataimplementering som NeoBase 6xe arbejder videre på med den nedenfor viste datamodel.

Neobase6Tabel-relation

Alle data til højre for den lodrette grå skillestreg er anonymiserede data.

Adskillelsen mellem tabellerne Person2 og NeoPers er udfra det Privacy-by-Design princip at adskille håndtering af de beskyttede Persondata som Navn og CPR fra de anonymiserede NeoBase Basisdata (Stamdata) som fødselsdato, køn, vægt, gestationsalder, etc.

Adskillelsen mellem de øvrige tabeller (Neobase2, Pdiagn2, Efterund) tjener en rationel relationsopbygning af datamodellen:

Hvert barn har som NeoBase Basisdata kun een fødselsvægt, een Apgar 5', een maximal passende O2/12 første timer, etc., men kan have flere adskilte indlæggelser og hver med flere diagnoser (NeoBase Indlæggelsesdata og Diagnosedata).

De forskellige tabellers anonymiserede data bindes sammen af de enkelte børns database-genererede PersonID, der består af en 4-cifret hospitalsidentifikation (SKS Hospitalskode) kombineret med et mindst 4-cifret allokeringsnummer.

KryptograferingsNr

For at kunne adskille de enkelte indlæggelser, er disse hver suppleret med et såkaldt KryptograferingsNr, der i kombination med PersonID også bruges til at koble rækken af diagnoser på det enkelte barn og de enkelte indlæggelser.
Første indtastede indlæggelse for et givent barn tildeles samme KryptograferingsNr som PersonID-nummeret. Successivt indtastede indlæggelser tildeles KryptograferingsNr, der hver forhøjes med +1. Da indlæggelser og diagnoser identificeres unikt ved dobbeltnøglen PersonID+KryptograferingsNr, skal man ikke lade sig vildlede af, at KryptograferingsNr for genindlæggelser særskilt kan være identiske med de efterfølgende børns PersonID numre.

Selvom børn opført i Neobasen alle vil blive tildelt unikke PersonID-numre, vil de ved overflytning mellem hospitaler få unikke PersonID-numre specifikke for hver hospitalstilknytning. For at kunne samkøre data for samme børn på tværs af overflytninger mellem afdelinger, er der pga. anonymiseringen via PersonID i disse tilfælde brug for børnenes CPR-numre for at kunne knytte de hospitalsspecifikke PersonID-numre sammen til eet forløb for hvert barn.

Ved at hvile markøren henover CPRNR-feltet i Neobase data vinduet vil man få vist det for den fokuserede patient gældende PersonID.

Opslags datafiler

Udover de ovenfor illustrerede datafiler, der indgår i det basale datasæt (de lagrede patientrelaterede data), arbejder den aktuelle databasemodel (på samme måde som Neobase 3) med en række opslagstabeller, f.eks. betydningen af de enkelte parameterkoder som f.eks. hospitalskoder, diagnosekoder m.v.

Relationsdatabase - hvorfor ikke bare et Excel regneark?

Naturligvis har det altid kunnet lade sig gøre at lave (simple) databaser i simpelt tabelformat eller regneark, men det håbløse i maskinelt at skulle behandle sådanne data ses klart af nedenstående regnearks-illustration, hvor de grønne felter marker parametre, hvor hvert barn kun har een værdi for hver parameter, de gule felter de evt. flere indlæggelser, og de blå de evt. flere diagnoser for hver indlæggelse:

SpreadSheetDB.60

Hvis man selekterer på linierne med diagnosekoden DP228 Resp. distress, ses det hurtigt, at dette vil udtrække blanke felter for persondata, indlæggelsesdato, etc., medmindre man redundant repeterer dataindtastningerne fra celle A2...K2 ned t.o.m. A6...K6, etc. Med andre ord - ikke et ord mere om datamodeller i regneark/Excel!