SAS-forum, oktober 2012: Organisering af vidensdeling blandt gruppe af SAS-brugere Morten Madsen, biostatistiker Klinisk Epidemiologisk Afdeling Aarhus Universitetshospital
Hvordan sikrer man vidensdeling i en gruppe SASprogrammører, der primært arbejder hver for sig, men tit med sammenlignelige problemstillinger? Agenda: En opridsning af vores arbejdssituation på Klinisk Epidemiologisk Afdeling. Eksempler hvad vi gør for vidensdeling. Forhåbentlig yderligere forslag fra salen.
Om mig: Morten Madsen Cand scient i 1992 1998-2008: Netplanlægning i TDC 2008 - : Klinisk Epidemiologisk Afdeling (KEA)
Klinisk Epidemiologisk Afdeling: KEA Klinisk Epidemiologi: Undersøgelse af patienters prognose, efter de har fået stillet en diagnose, eller efter de har fået foretaget et indgreb eller en operation. Til dette bruges i høj grad registerdata fra forskellige danske registre. [Dette er omhandlet af Frank Mehnert i foredraget E12 i går eftermiddag: Registre i medicinsk forskning]
Om KEA - opgaver Tre typer arbejdsopgaver: Forskningsprojekter: Eks: Sammenligning af forskellige typer hjerteoperationer. Undersøge v.h.a. af registerdata, om der er forskel på dødeligheden 3 år efter indgrebet. Årsrapporter m.m. for kliniske databaser: Eks: Årsrapport for hofteoperationer: Hvor mange udføres på de enkelte hospitaler, hvad er den gennemsnitlige ventetid på operationen, hvor mange komplikationer opstår. Industriprojekter / EU-projekter: Eks: Efter et nyt produkt er kommet på markedet skal der efter et stykke tid følges op på, om der har vist sig bivirkninger (fase 4 undersøgelser), dette kan vi undersøge ud fra registerdata.
Om KEA - ansatte Startede i år 2000, og er siden da vokset til ca. 80 ansatte Ca. 40 phd-studerende (læger m.m.) Ca. 10 post-docs, lektorer, professorer m.m. Ca. 10 administrativt ansatte. Ca. 20 biostatistikere
Statistikere på KEA De fleste statistikere er rekrutteret direkte efter endt uddannelse fra Århus eller evt. Ålborg evt. efter først at have været ansat som studentermedhjælper. Der er dog også andre baggrunde, herunder statistikere fra Spanien, Tyskland og Ungarn.
Om KEA - arbejdsorganisering Typisk laves koden til det enkelte projekt og bruges kun til dette. Ofte er der dog projekter, der i større eller mindre grad ligner tidligere projekter, og hvor koden til dels kan genbruges fra andre projekter. I de enkelte projekter arbejdes typisk sammen med et par læger (f.eks. en phd-stud + en senior forsker), samt evt. eksterne læger (f.eks. læger der i dagligdagen står for behandlingen af de pågældende patienter).
Uformel vidensdeling Der er gode muligheder for uformel vidensdeling: Altid tilladt at stille spørgsmål internt i stat-gruppe. Det bliver prioriteret højt at hjælpe andre. Statistikere sidder (næsten) alle på samme gang Mulighed for at høre hvad de andre laver nemt at stille spørgsmål. Det er (til en vis grad) muligt at tage sig tid til at lære nye fif med SAS under vejs i opgaveløsningen, frem for at for en hver pris at skulle lave den enkelte opgave færdig hurtigst muligt.
Formaliseret vidensdeling i KEA Vi forsøger en mere formaliseret vidensdeling på følgende måder: Makro-bibliotek Templates Guidelines (Regelmæssige statistiker-møder, med speciel fokus på SAS). KEA graph-gallery (KEA SAS-forum for spørgsmål). (Et fælles fcmp bibliotek) Fælles formater på mange registerdata For alle bidragene er angivet forfatter, så man kan få yderligere hjælp.
Makroer Nogle eksempler på makroer Bestemmelse af komorbiditet (hvilke sygdomme patienten tidligere har fået diagnoser for). Bestemmelse af kumulerede incidencer ved forekomst af Competing Risk. Bestemmelse af alder ud fra cpr-nr (bestemmelse af det rigtige århundrede). Overblik over input-data (antal missing, antal værdier for hver variabel).
Eks: comorbiditetsmakro I: Baggrund Baggrund: I de fleste analyser vi laver er det relevant at korrigere for patienternes køn og alder. Tilsvarende er det ofte relevant at korrigere for patienternes samlede sygdomsgrad. Til dette bruges ofte Charlsons Comorbiditets Index, der ud fra en liste med 19 hyppigt forekommende sygdomme med tilhørende vægte tildeler et tal for i hvilken grad patienten også lider af andre alvorlige sygdomme. Hvis man undersøger effekten af en hjerteoperation, så vil man forvente større dødelighed blandt de patienter der samtidig har cancer.
Comorbiditetsmakro II - struktur Ud fra en liste patienter, samt tilhørende udtræk fra landspatientregisteret (alle diagnoser stillet i DK), afgøres hvilke af de 19 sygdomme, som patienten tidligere har fået diagnose for.
Comorbiditetsmakro III Udsnit: identifikation af diabetesdiagnoser (tilsvarende for de andre 18 diagnoser) if ((c_diag=:'24900' or c_diag=:'24906' or c_diag=:'24907' or c_diag=:'24909' or c_diag=:'25000' or c_diag=:'25006' or c_diag=:'25007' or c_diag=:'25009') and c_diagmod in ('','0')) or c_diag=:'de100' or c_diag=:'de101' or c_diag=:'de109' or c_diag=:'de110' or c_diag=:'de111' or c_diag=:'de119' then do; sygdom=10; diagnose=c_diag; output; end;
Templates I mange tilfælde vil det være for omstændeligt at lave en helt generel makro, men alligevel relevant med et overskueligt kodeeksempel, der kan bruges som udgangspunkt for ens arbejde. Templates er opdelt i: Datakilder (indlæsning af data fra diverse registre, kombineret med oplysninger om vigtigste variable og faldgrupper). Grafik (eks: Forest-plot) Statistik (sampling, multiple imputation, propensity score) Diverse (eks. tabeller med både character og numeriske værdier).)
Guidelines Til ting der ikke kan dækkes deles som et stykke SAS-kode. Intro til nye SAS-brugere Kilder til SAS-viden Ændring af kommunekoder og amtskoder i forbindelse med kommunalreformen. Råd til god kodepraksis (generelt lader vi dog dette være op til den enkelte).
KEA Graph-Gallery Specielt i forhold til grafik, er det tit en fordel at kun orientere sig visuelt. Til dette formål kan der tit hentes inspiration på: http://support.sas.com/sassamples/graphgallery/index.html Inspireret af dette er vi gået i gang med at opbygge KEA Graph-Gallery med de forskellige type grafer vi laver til vores projekter. For hver graf angives koden (så det er egentlig en template) og forfatter (så det er nemt at søge vejledning).
KEA Graph-Gallery - eksempler
KEA Graph-Gallery eksempler II In-stent Restenosis (%) 14.0 12.0 10.0 8.0 6.0 4.0 2.0 HR=2.08 95%CI: 1.37-3.15 p<0.01 0.0 6.0 0369121518212427303336 Follow-up(Months) In-stent Restenosis (%) 5.0 4.0 3.0 2.0 1.0 HR=5.23 95%CI: 2.65-10.3 p<0.01 HR=0.69 95%CI: 0.36-1.32 p=0.26 0.0 0369121518212427303336 Follow-up(Months)
Kodestandard vs. kreativt anarki Hvad er den optimale balance mellem: Kodestandard / retningslinjer / ensretning: Nemt at overtage programmer fra hinanden. Vidensdeling ved at skulle sætte sig ind i kodestandard. Autonomi / pragmatisme/ lade mangfoldigheden blomstre: Intet ekstra arbejde med at sætte sig ind i eller at formulere kodestandard. Frihed til at strukturere programmer som man selv foretrækker.
Det må dog kunne gøres endnu bedre! Nogle forslag eller eksempler?