6. semester sundhedsteknologi Skriftlig eksamen i kurset Informationssystemer Der er 3 timer til at besvare opgaven. Alle hjælpemidler er tilladte. Skriv kort og præcist. Referer gerne til kursuslitteraturen. Besvarelsen afleveres på papir eller USB påført eksamensnummer. Den samlede besvarelse bedømmes og klassificeres ift. 7 trins-skalaen. Karakteren 2 opnås ved 50 point. Vægtningen af de enkelte spørgsmål er oplyst for hvert spørgsmål. 1. Forklar hvad E-journal er i Danmark, og hvilke typer af information E-journal indeholder? (10 point) I Danmark kan man finde ens E-journal på sundhed.dk. E-journalen er Danmarks nationale sundhedsjournal. I E-journal kan du finde journaloplysninger fra offentlige sygehuse her i blandt behandlinger, diagnoser, laboratoriesvar, notater, medicin og billeddiagnostiske data du har fået udført/foretaget på et sygehus inden for de sidste 10 år. Alle sygehuse i Danmark kan levere data fra PAS eller EPJ til e-journalen. 2. Hvordan adskiller en kliniske database for kvalitet sig fra en elektronisk patientjournal? (10 point) En EPJ indeholder information om en given patients behandlingsforløb, hvilke undersøgelser denne har fået (kliniske og parakliniske), notater, indlæggelser osv.. Derimod er formålet med en klinisk database for kvalitet, at den skal indeholde information der skal give et indblik i dele af eller den samlede kvalitet af indsatsen for en afgrænset patientgruppe (ST6_Info-sys5_kvalitets-databaser slide 3 citat). Dette kunne f.eks. være de forskellige kræftgrupper, diabetes osv.. Informationen skal bestå af kvantificerbare indikatorer, såsom overlevelsesrate, ventetider, behandlingsforløbets tidsperiode og dermed give et indblik i behandlingskvaliteten af disse forskelligartede patientgrupper. (Danish clinical databases- An overview og ST6_Info-sys5_kvalitets-databaser slide 3 citat) 3. Hvad er forskellen på et regneark og en relationsdatabase? (5 point) Forskellen på et regneark og en relationsdatabase er, at et regneark kun består af én stor tabel, mens en relationsdatabase kan indeholde mange tabeller, der har givne relationer imellem sig. Et regneark kan bruges til at give et overblik over personaleoplysninger på en bestemt afdeling, men der skal udformes et nyt regneark til hver afdeling. Regneark benyttes når der er begrænsede informationer og de skal bruges lokalt i en kortere periode. Hvis eksempelvis en læge arbejder på to afdelinger og ansættelsesoplysningerne står i to regneark, opstår der redundans og derved risiko for inkonsistente data. Dette kan undgås med en relationsdatabase, hvor dataene kan tilgås i flere forskellige sammenhænge, men de er kun skrevet i én tabel. Relationsdatabaser kan være meget store, men er overskuelige (hvis de er modelleret fornuftigt) og bruges til lokale informationer, der skal tilgås i en længere periode eller til større datasæt, der skal arbejdes med på forskellige måder.
4. Hvilke typer diagrammer og tabeller anvendes til modellering af informationssystemer? Begrund dit svar. (10 point) Til modellering af informationssystemer kan der bruges: Entitets-Relations-diagrammer (ER-diagrammer) bruges til grafisk at fremvise designet på et logisk niveau. Diagrammet er uafhængigt af teknologi, sprog, programmel og DBMS. Relationsskemaet viser en tabel med tilhørende attributter. Databaseskema viser det logiske design af databasen. Databaseinstansen giver et øjebliksbillede af databasen i et givent tidspunkt Ved at tænke over modelleringen af sit informationssystem kan der laves et design, så der undgås redundante og inkonsistente data. 5. Du skal designe en database til et bookingssystem til en røntgenafdeling. a. Hvilke diagram(mer) og tabel(ler) vil du anvende? (5 point) Et ER-diagram, et databaseskema, entitetsklasser og relationsklasser b. Systemet skal kunne håndtere at læger (både sygehus og praksislæger) kan henvise patienter til en røntgenundersøgelse. Hver læge kan henvise flere patienter, men hver patient kan kun henvises af een læge. Henvisningerne skal kunne behandles af lægesekretæren på røntgenafdelingen. Flere lægesekretærer kan behandle flere henvisninger. I denne behandling reserves der tid, dato og modalitet. Der er flere modaliteter på afdelingen, men hver modalitet kan selvfølgelig kun bookes til en patient af gangen. Patienter registreres med CPR-nummer og navn, henvisende læge registreres med læge ID, praksis ID og navn. Beskriv tilhørende entitetsklasser, relationsklasser og dertil hørende attributter (10 point) Læge er en entitetsklasse med attributterne Læge ID, praksis ID og navn (fornavn og efternavn for at opnå at det er atomart). Patient er en entitet med attributterne CPR og Navn (fornavn og efternavn for at opnå at det er atomart). Lægesekretær er ligeledes en entitet uden attributter, da kun en lægesekretær kan behandle henvisningen. Henviser er en relation mellem læge og patient, da en læge henviser en patient. Relationen henviser indeholder ingen attributter og benyttes til at koble hvilke læge sammen med hvilken patient som er blevet henvist. Behandler er en relation mellem lægesekretær og patient. Behandler indeholder attributterne tid, dato og modalitet.
c. Visualiser klasser og attributter fra spørgsmål 5 b). Angiv nøgler, styrker og kardinalitet (5 point) 6. Forklar hvad der forstås ved database normalisering, og giv et eksempel evt. med udgangspunkt i ovenstående opgave? (10 point) Formålet med en relationel database er at lagre data struktureret og ordnet, samt udtrække data. Som beskrevet, er kompleksiteten og informationsmængden stor, hvorfor korrekt lagring af data er essentielt. For at lagre data struktureret og ordnet anvendes normalisering, hvor formålet er at eliminere redundans, organisere data effektivt og reducere risikoen for data uregelmæssigheder (anomali). Vi har beskæftiget os med 3 normalformer (ud af 7 totalt), hvor normalformen er progressiv, således første og anden formal form skal være opfyldt, før tredje kan opfyldes. Første normalform dikterer, at attributdomænet skal være atomart, hvilket betyder udelelige enheder. Et godt eksempel herpå er en attribut "Adresse", som bør deles op i attributterne "nummer", "gadenavn" og "postnummer". Relationsskemaet er derfor på første normalform, når alle attributter er atomare. Anden normalform anvendes ikke eksplicit i praksis, men dikterer at alle ikke-nøgler skal være funktionelt afhængige af primære nøgler. Tredje normalform består i eleminering af felter, som ikke er afhængige af primærnøglen. Alle felter, som er afhængige af andre felter, end primærnøglen, skal struktureres i en anden tabel med tilhørende primærnøgle. En database er derfor på tredje normalform, når der ikke er nogen attributter, som ikke er afhængige af en primærnøgle. Et eksempel kan være en tabel med "Ansat" (PK), "Firma" og "Hovedkvarter", hvor attributten "Hovedkvarter" ikke har er afhængig af primærnøglen "Ansat", men derimod "Firma". Herved bør der istedet opstilles to tabeller: Tabel med "Ansat" og "Firma" samt en anden tabel med "Firma" (PK) og "Hovedkvarter", hvorved tredje normalform opfyldes.
7. På nedenstående figur ses et eksempel på en database, der indeholder informationer om booking af patienter til bestemt modalitet: a) Hvilket resultat returnerer følgende SQL forespørgsel? (5 point) SELECT * FROM Patient INNER JOIN Læge on Patient.Henvisningsid = Læge.ID WHERE Læge. [Postnummer] = 9000 Udtræk samtlige data fra tabellen patient entitetsklasse og returnerer rækker når der er mindst et match i begge tabeller som passer med lægen og at patientens henvisning id er lig med lægens ID hvor læge har postnummer 9000. Henvisningsid ID Postnr. 9000 b) Hvilke SQL-statements skal formuleres for at Oprette en ny patient i databasen (5 point) Booke den nyoprettede patient til en modalitet (5 point) For at oprette en ny patient I database gøres dette: INSERT INTO Patient (`CPR`,`Fornavn`,`Efternavn`,`henvisningsid`,) VALUES (1207643207, "Poul", "Olesen", 1207) For at kunne booke en patient til modalitet laver jeg nedstående eks. For at læseren bedre kan forstå forespørgsels efter da der så vil være lidt mere sammenhæng imellem: INSERT INTO Modalitet (`ID`,`Nummer`,`Navn`,`Lokale`) VALUES (1431, 101, modalitet 3, 4,) Kaldet til at book en patient til modalitet: INSERT INTO WPatient (`CPRpt`,`IDModalitet`,) VALUES (1207643207, 1431)
c) Hvilken funktion har tabellen Bookes? (5 point) Bookes har til opgave at koble patienten sammen med en modalitet. Dvs. at der er en relation i mellem patient og modalitet kaldet Bookes. Så ved den rette forespørgsels så kan der trække den data ud som fx personalet gerne vil se ved at lave denne relation. 8. Hvordan kan SQL bruges til at implementere databaser? Begrund dit svar og giv eksempler (10 point) SQL (Structured Query Language) kan bruges til at implementere databaser. SQL er brugerens grænseflade til databasen. Til at oprette/implementere databasen bruges DDL (Data Definition Language). DML (Data Manipulation Language) bruges til at indsætte og ændre værdier efterfølgende. En ny tabel oprettes eksempelvis med funktionen CREATE, mens den kan ændres og slettes med henholdsvis ALTER og DROP. Til at ændre i værdier, der er indsat i tabellerne, kan der f.eks. benyttes INSERT (indsæt ny værdi) og UPDATE (ændr/opdater værdi). DDL bruges yderligere til bl.a. at definere attributters domæner og sikkerheds-/autorisations-informationer. 9. Forklar hvad der definerer et beslutningsstøtte-system? (5 point) Et beslutningsstøttesystem skal ifølge Wyatt og Spiegelhalter kunne generere konkret beslutningsstøtte på baggrund af to eller flere patientspecifikke informationer. Systemet skal altså på baggrund af konkrete data fra den enkelte patient vejlede sundhedspersonalet. Vejledningen kan være hjælp til at stille den korrekte diagnose eller hjælp til at vælge den bedste behandling. [kilde:mm12]