Lånekassen, Modulisprosjektet Erfaringer med regler og bruk av regelverktøyet InRule Jon N. Didriksen, Computas AS jnd@computas.com no.linkedin.com/in/jndidriksen Computas AS 19.04.2013
Modulis-prosjektet Modulis Statens Lånekasses fornyingsprosjekt Fornyelse av portefølje av kjernesystemer Automatisert og manuell saksbehandling, bankløsning, kundefront, lærestedsportal 850.000 aktive kunder, 1.000.000 søknader i året, 300.000 studenter får støtte årlig Startet 2008 (CapGemini, Software Innovation) Omorganisert 2011 (bl.a. + Computas) Løsning for tildeling av støtte - skal i produksjon 28/4. En vanlig dag på Modulis-prosjektet
"Tildeling"- av lån og stipender.net, Biztalk Nettsøknad InRule (regeltjenester) Validator 360 (saksbehandling, saksarkiv) Høyere utdanning Videregående oppl- Basisrettigheter Etterbehandling Saksbehandling Stipend/lån Ekstralån sommertermin Skolepengelån del 3 Utdanningslån del 3 Omgjøringslån Utdanningsstipend Forsørgerstipend del 3 Støtterett med ungdomsrett Støtterett uten ungdomsrett Reisestipend del 3 Reiselån del 3 - Utland Reiselån norske studiesentre Reisestipend del 3 - Norden Reisestipend del 3 - Utland - Innenlandsdel Reisestipend - Utland (utlandsdel) Reiselån - Utland Skolepengelån Skolepengestipend Tilleggsstipend Grunnstipend Utstyrsstipend Bostipend Forsørgerstipend Del 2 Utdanningslån del 2 Skolepengelån del 2 Reisestipend del 2 Reisestipend del 2 - Norden Reisestipend del 2 - Utland - Innenlandsdel Språkstipend Foreldrestipend Ekstrastipend funksjonshemmete Fullstipend funksjonshemmete Flyktningstipend Sykestipend Skolepengestipend internasjonale skoler Startstipend for kvotestudenter Reisestipend kvoteordning
Regler hva vil vi oppnå? Regler som Gir søkeren det han/hun har krav på Trenger ikke vite om/søke på forskjellige ytelser Søker kun stipend/stipend og maks lån/stipend og begrenset lån Beregner lån og stipender Gir forståelige forklaringer til kunde Automatisk generert med forklaringer, spesielt hvorfor avslag på enkeltytelser Gir meldinger/til saksbehandler Ukurantmeldinger, f.eks. " Sivilstand kan ikke være samboer med felles barn i perioder der det ikke er registrert noe barn regnet fra tre uker før fødsel" Vedlikeholdbarhet Årlige forskriftsendringer 4 Computas AS 19.04.2013
Regelkilde: forskriftene KAPITTEL 17 BOSTIPEND 17-1 Ikke-behovsprøvd bostipend Det gis bostipend som tilskudd til bokostnader med kr 3 770 per måned når søkeren oppfyller vilkårene i 17-2. Bostipendet blir ikke behovsprøvd etter kapittel 21 og 22. 17-2 Vilkår for bostipend Søker som ikke bor hos foreldrene, får bostipend når reisetiden mellom foreldrehjemmet og skolen er tre timer eller mer samlet per dag, eller avstanden er 40 km eller mer. Bostipend kan også gis når søkeren må bo utenfor BEHOVSPRØVINGSTABELLEN foreldrehjemmet på grunn av andre særlige forhold. Fradrag i kr Lånesats Lånesats 1 barn 2 barn 3 barn 4 barn 5 barn per måned hjemmeb. borteb. Enkeltvis ikke veldig komplekse regler, men: - mange typer ytelser - enkelte avhengigheter mellom ytelsene - behovsprøving - kundens status kan endre seg underveis (flytter, gifter seg, får barn, endrer studiebelastning ) 0-236 0-248 0-260 0-272 0-284 0 2 640 1 320 237-241 249-253 261-265 273-277 285-289 50 2 640 1 320 242-246 254-258 266-270 278-282 290-294 100 2 640 1 320 247-251 259-263 271-275 283-287 295-299 150 2 640 1 320 252-256 264-268 276-280 288-292 300-304 200 2 640 1 320 257-261 269-273 281-285 293-297 305-309 250 2 640 1 320 262-266 274-278 286-290 298-302 310-314 300 2 640 1 320 267-271 279-283 291-295 303-307 315-319 350 2 640 1 320 272-276 284-288 296-300 308-312 320-324 400 2 640 1 320 277-281 289-293 301-305 313-317 325-329 450 2 640 1 320 282-286 294-298 306-310 318-322 330-334 500 2 640 1 320 5 Computas AS 19.04.2013
Regelkilde: Interne regler "Regelpoetene" formulerer Lånekassens egne regler: Tolkning/presisering av forskriftene Intern praksis, saksbehandling Tekster (meldinger og forklaringer til saksbehandler og søker) Beskrevet i regneark, mange hundre rader (regler) x ca. 40 kolonner (egenskaper, klassifisering, status, tekster...) Veldig grundig spesifisert Veldig god tilgjengelighet av fageksperter + erfarne saksbehandlere Essensielt for et vellykket prosjekt! Kanskje overspesifisert ("bordet fanger"), litt lite deltakelse fra utviklere i utforming av reglene Mange ulike aspekter kombinert i én regel 6 Computas AS 19.04.2013
Eksempel rett til bostipend Kan brytes ned i enkeltregler på forskjellige måter (f.eks. alt i en regel), men ønsker byggeklosser som er - oversiktlige - gjenbrukbare (eks: rett til bostipend benyttes videre: beregning av bostipend, beregning av utdanningslån) - symbolske (skjule detaljer om datastrukturer etc.) - handler om én beslutning 7 Computas AS 19.04.2013
InRule - regelflyt Tidligere ofte utfordring å implementere flyt og rekkefølge i regelverktøy Bra å kunne skille mellom flyt og regler 8 Computas AS 19.04.2013
InRule - regler 9 Computas AS 19.04.2013
InRule - vokabular Funksjon + høynivå-uttrykk Også klassifikasjoner 10 Computas AS 19.04.2013
Enhetstesting Enkelt å lage nye tester ved små endringer/tillegg i felles datagrunnlag Robust i forhold til skjemaendringer Testing er ekstra viktig ved kompleks logikk. Inrule testverktøy, enhetstester, testscenarier. 11 Computas AS 19.04.2013
Periodehåndtering Søkerens "status" endres Flytter hjemmefra, gifter seg, får barn, endrer studiebelastning Endrer hvilke ytelser søker kan få (f.eks. bostipend halve semester fordi flyttet hjemmefra) Endrer beløp på ytelse (høyere forsørgerstipend fordi fått ett barn til) Løsning: Deler opp i perioder med konstant status, beregner isolert for hver periode + etterbehandling Enkelt å legge til nye regler trenger ikke tenke på statusendringer Skiller generell periodelogikk fra regelens egentlige innhold 12 Computas AS 19.04.2013
Versjonering Årlige forskriftsendringer følger studieåret (dvs. fra 16/8) Få endringer fra år til år Satser (f.eks. beløp og inntektsgrenser) i database med gyldighetsperiode Versjonering av enkeltregler (tidligere hele regeltjeneste) Dynamisk aktivering av riktig versjon, basert på datofelt i input 13 Computas AS 19.04.2013
Erfaringer og anbefalinger - organisering og arbeidsmåte Samarbeidet med fagekspertene Tett samarbeid, ikke "dokument-handover" Lett tilgjengelig, bør være del av prosjektet Del opp i overkommelige bolker Ikke vannfall Regelen er ikke ferdig spesifisert før den er implementert og testet i sammenheng I tillegg: Lengre, generelle designaktiviteter (f.eks. periodehåndtering) Tenk forvaltning fra starten Tilgjengelig kompetanse (faglig, teknisk) også etter at prosjekter er slutt Vedlikeholdbarhet, versjonering Dokumentasjon, referanse til forskrift e.l. 14 Computas AS 19.04.2013
Erfaringer og anbefalinger verktøy og verktøyvalg Fagpersoner skriver/vedlikeholder reglene selv Det skjer ikke! Høynivå-definisjon av regler er viktig, men ikke på bekostning av utvikler-støtte (resonnering, "infrastruktur") Men: Nyttig å tilgjengeliggjøre sentral logikk i form av beslutningstabeller o.l. InRule Regelverktøy gir vedlikeholdbar forretningslogikk Ja, viktig å skille forretningslogikk fra annen kode Men viktig å jobbe med struktur Gode høynivå-features, men for umodent og begrenset 15 Computas AS 19.04.2013
Erfaringer og anbefalinger integrasjon av regelverktøy Typisk regelverktøy "lukket boks", alt løses internt (modell, regler, funksjoner..) Alltid et behov for en viss "infrastruktur" (utvidelser, traversering/oppslag i tabell, funksjoner ), men ikke alltid god nok støtte i verktøyet Vanskelig å tilpasse domenemodell Løsning1: Pre-prosessere tilpasse modellen for å minimalisere behovet internt Løsning2: Bruke åpen løsning regelverktøy som integrert modul, ikke separat, lukket tjeneste. Eks: Open source-verktøy (Drools) Computas' rule enige (Frame Solutions, "saksbehandlingsrammeverk") Regeltjeneste Modell Regler Infrastruktur 16 Computas AS 19.04.2013
Modulis-prosjektet oppsummering Veldig spennende prosjekt Dele ut penger / sørge for at studenter kan studere Gi gode forklaringer til søker og saksbehandler Kombinasjon av funksjonelt og teknisk Viktig å skille ut forretningslogikk riktig å bruke regelverktøy Viktig: Tenke forvaltning helt fra start! 17 Computas AS 19.04.2013