CPR Broker version 2.0 Minikonference om Sag og Dokumentstandarder 15. juni 2011, Odense Steen Deth, Chefarkitekt sde@gentofte.dk
CPR data hvor svært (og interessant) kan det være? Kommune Borgerservice - Folkeregisteret Få opdaterer Indenrigsministeriets CPR kontor Fagområder - fagsystemer Mange anvender CPR 43 årig succes Grundpille i den offentlige sagsbehandling Tidens tand Mangler email, SMS, Facebook, Læge, mm. Forældet teknologi
Udpluk af fagsystemer med opslag mod CPR Lokale KMD fagsystemer ESDH Omsorgssystem Vagtplan Elektronisk Patient Journal (EKJ) Debitor Økonomisystem Løn og personale (HR) Pladsanvisning Blanketsystem Cockpit (administration af Genvej selvbetjening) Valgsystem Genvejs komplekset Selvbetjeningsløsninger på hjemmeside Office skabeloner Personale sager Brugeroprettelsesskemaer mv. Intranet-for-alle (NemID adgang) and still counting
CPR opslag/anvendelse i virkeligheden
Business Case Levering af CPR data DPR ca 72.000,- / år + beløb til ændringsudtræk P-Data online (OLTP) ca 30.000,- / år (P-Data online (batch) v/ 70.000 borgere dagligt 383.000,- / år) EOM med daglige opdateringer ca 42.000,- / år (CPR Direkte kr 0.12 / opslag) Anskaffelse af integrations teknik Integration til fagsystemer, sat til kr. 20.000,- pr system. Integration af CPR i GK (historisk) beregnet 320.000,- (16 systemer) Årlige omkostninger Levering af CPR data til GK 144.000,- / året. Service / vedligehold på integrationer (20%) 64.000,- / året Årlig drift: kr. 208.000,- / året
Business Case fortsat... Indirekte omkostninger i form af Manglende datakvalitet og deraf følgende spildtids omkostninger for borgere og medarbejdere Support og fejlsøgning i forhold til opretning af data i fagsystemer Montering af eksisterende fagsystem-løsninger i IT drift Skønnet (forsigtig) omkostning: ¼ årsværk ~ 75.000,- / år. Fremadrettet med anvendelse af CPRBroker Data fra én leverandør (fx DPR) - 72.000,- / år 16 integrationer af 10.000,- ~ - 32.000,- / år (service/vedligehold) Årlig drift udgift - 104.000,- Besparelse - 175.000,- / år. Men, men... realisering først når VI begynder at bruge komponent og standard
Projektmål Levere en gratis open-source og driftsklar komponent der kost effektivt kan understøtte anvendelsen af CPR data i den offentlige forvaltning (uafhængigt af data leverandører) version 1 At levere en komponent der understøtter den OIO godkendte Person(part) standard version 2 Integrere komponenten til mindst én af de CPR dataleverandører, der anvendes bredt i de danske kommuner (konkret DPR fra CSC) Implementere nødvendige støtte komponenter (Person<->UUID udsteder, DPR-Updates-Publisher service) Efterrationalisering at forberede for evt andre initiativer i retning af understøtte Person standarden. Målet er IKKE at erstatte CPR kontorets ydelser og services, men at supplere dem med tidlig adgang og infrastruktur services til en standardiseret snitflade.
CPR Broker Fra: Mange pull jobs imod mange CPR snitflader Opslag/ Opdatering A EOM Til: Én OIO standardiseret snitflade for opslag og modtagelse af ændringsadviser mod én valgfri CPR snitflade Fagsystem A Opslag/ Opdatering A(2) DPR ESDH Opslag/ Opdatering ESDH P-Data Online Fagsystem B CPR Direkte... Opslag/ Opdatering B... Tabulex Opslag over standard snitflade
Mål med CPR Broker V2 Lokalt domæne Opslag over standard snitflade Opslag (baseret på stadard) Adviser (ikke standardiseret endnu)
Status Så langt er vi noget Person standarden er formelt godkendt af OIO kommiteen CPR Broker (V2) er implementeret og findes klar til download på Digitaliser.dk / software børsen (link ) Løsningen er i drift i Gentofte, Syddjurs og snart Lyngby Tårbæk. Andre myndigheder er på vej. Governance organisation tegner sig Næste iteration (ikke planlagt) Understøtte opslag på kontaktinfo (email, SMS mv) herunder integration til Digital Post Modtage ændringsudtræk (eller adviser) fra KMD Understøtte andre oplysninger (fx læge)
Hvad skal der til for at anvende standard og komponent (1)? Myndighed: Aftale med en af de 2 implementerede data leverandører (DPR eller KMD P-Data online). En lille smule hardware (DB + Web server) Installeret CPR Broker komponent Stille krav til fagsystem leverandøren
Hvad skal der til for at anvende standard og komponent (2)? Leverandør: Downloade teknik ressourcer, inkl demo kode Integere standard opslag input.uuid = Personmaster.GetUUIDFrom(CPR) output = CprrBroker. Read(input); Evt implementere advis modtagelse (og opdatering af borgere i egen DB). Registrere fagsystem til at modtage hændelser
Smarte ting der er med i pakken Ensartet opdaterings infrastruktur til fagsystemer baseret på hændelser Logning (fælles anvendelses log på tværs af fagsystemer) Ensartet sikkerhedsmodel Tilgængelighedssikring (fejl tolerance) Bi-temporale egenskaber (fra standarden) Realtids opdatering, når dataleverandørene er klar Fagsystem Fagsystem CPRBroker DPR
FAQ CPR Broker og Persondatalov Databehandling foregår i fagsystemet, der har reg ansvaret. CPR Broker skal ikke anmeldes. Governance af Standard ITST CPR Broker komponent Indtil videre - brugerklub Hvem kan bistå med montering af komponent i den kommunale infrastruktur? Kommunens egen IT organisation Magenta Andre IT konsulenter Hvem ringer man til når skidtet ikke virker? Magenta
Arkitektur skitse Personopslag: GetNameAndAdress() GetFullRecord() GetRelations() Personsøgning: SearchPerson() persondata servicekomponent Cache DB Fagsys A AbonnementServices: RegisterSystem() DeRegisterSystem() Versionering: 1) Opslag og søgning 2) Abonnements håndtering 3) Log 4) Sikkerhed 5) Notifikationsservice 6) Cacheservice 7) Backend snitflade integration Data/service persondata leverandør GetComplianceLevel() LogFunktioner: GetLogTransactionID() LogWrite(ID,...)!!! Log CPR notifikations liste (XML dok)
CPR Broker Is it a bird, is it a plane? No - it s Superman En IT infrastruktur komponent, for opslag/hentning af klassiske person stamoplysninger, som fx navn, adresse, civilstand moderne/relevante person relaterede oplysninger, som fx digital kontaktinfo, tilknyttet læge, mv. Internt netværk Fagsystem CPR Broker CPR Beregent til hentning af personoplysninger Implementering af Person(part) standarden Gratis komponent, dvs koster ikke licens kroner