Sunz Msd Business Rules


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Sunz Msd Business Rules

  1. 1. Is it more than just smoke and mirrors? Presented by Grant Tucker &Mike O’Rourke Ministry of Social Development (Centre for Social Research & Evaluation
  2. 2. <ul><li>You’ve brought the hardware </li></ul><ul><li>Licensed and install the software (hopefully SAS!) </li></ul><ul><li>Loaded some data onto the server(s) </li></ul>
  3. 3. <ul><li>So how come you can’t answer the question? </li></ul>
  4. 4. It’s all about us! <ul><li>Administer around 300,000 benefits </li></ul><ul><li>Pay 465,000 pensions </li></ul><ul><li>Grant 57,000 student allowances </li></ul><ul><li>Approve 143,000 student loans </li></ul><ul><li>Receive 46,000 notifications of possible child abuse </li></ul><ul><li>Issue 1.2 million CSC cards </li></ul><ul><li>50,000 Benefit investigations </li></ul>
  5. 5. <ul><li>9,000 staff </li></ul><ul><li>200 locations </li></ul><ul><li>5 Associate Ministers </li></ul><ul><li>2 Ministers </li></ul><ul><li>1 CEO </li></ul>
  6. 6. <ul><li>SWIFTT </li></ul><ul><li>UCV </li></ul><ul><li>SOLO </li></ul><ul><li>SAL </li></ul><ul><li>CYF </li></ul><ul><li>KEA </li></ul><ul><li>ABT </li></ul><ul><li>BRC </li></ul><ul><li>CMS </li></ul><ul><li>SHAC </li></ul><ul><li>WAM </li></ul><ul><li>TRCE </li></ul><ul><li>WIO </li></ul>
  7. 7. <ul><li>SWIFTT 197 tables 3,420 fields </li></ul><ul><li>UCV 107 tables 999 fields </li></ul><ul><li>SOLO 214 tables 2,030 fields </li></ul><ul><li>SAL 229 tables 3,202 fields </li></ul><ul><li>CYF 218 tables 3,082 fields </li></ul><ul><li>KEA 97 tables 2,290 fields </li></ul><ul><li>BRC 15 tables 188 fields </li></ul><ul><li>CMS 126 tables 1,868 fields </li></ul><ul><li>SHAC 202 tables 3,317 fields </li></ul><ul><li>WAM 105 tables 993 fields </li></ul><ul><li>TRCE 115 tables 1,830 </li></ul><ul><li>WIO 10 tables 54 fields </li></ul><ul><li>ABT 2 tables 30 fields </li></ul>
  8. 8. <ul><li>Overall 11 Billion records </li></ul><ul><li>In over 2,200 tables </li></ul><ul><li>With over 38,000 fields </li></ul>
  9. 9. So how do YOU make sense of all this? <ul><li>What do you do when that urgent question comes in ? </li></ul><ul><li>“ How many left handed Lithuanians with a lisp are there in Lyttleton?” </li></ul><ul><li>PANIC!! </li></ul>
  10. 10. <ul><li>Are you tired of running around in a panic? </li></ul><ul><li>Want to avoid those tense meetings with the CEO to explain why the numbers have changed? </li></ul><ul><li>Are you sick of it being a new “adventure” to reproduce earlier numbers? </li></ul><ul><li>We were! So …..going back…way back.. </li></ul>
  11. 11. Back to 1995 <ul><li>Food poisoned All Blacks lose to SA in Rugby World Cup final </li></ul><ul><li>DSW decide to invest in a data warehouse </li></ul><ul><li>DSW starts business rule process </li></ul>
  12. 12. IAP Data Warehouse Implementation <ul><li>Replication of operational systems tables </li></ul><ul><li>Tracks and date-timestamps every change </li></ul><ul><li>Raw feed – no cleansing – warts & all </li></ul><ul><li>Ability to recreate data at any point in time since replication started </li></ul><ul><li>SWIFTT since July 1996 </li></ul><ul><li>Currently 18 systems are replicated </li></ul>
  13. 13. Business Rules The building blocks for turning data into information
  14. 14. What is a business rule?
  15. 15. What is a business rule? <ul><li>An agreed definition to describe and quantify a business count or measure </li></ul><ul><li>The “thing” being counted should be pertinent and countable </li></ul>
  16. 16. Why have Business Rules?
  17. 17. Why have Business Rules? <ul><li>Consistency </li></ul><ul><li>Transparency </li></ul><ul><li>Productivity </li></ul><ul><li>Business Continuity </li></ul>
  18. 18. Consistency <ul><li>One Version of the truth </li></ul><ul><li>All analysts get the same result </li></ul><ul><li>Auditors and forecasters love consistency </li></ul>
  19. 19. Transparency <ul><li>Reflects what the operational system(s) show </li></ul><ul><li>Ability to drill down to the unit records </li></ul><ul><li>Auditable </li></ul>
  20. 20. Productivity <ul><li>Training new staff </li></ul><ul><li>Training existing staff moving into new areas </li></ul><ul><li>Frees up experts from explaining and QA </li></ul><ul><li>Build programs from the code rule blocks </li></ul>
  21. 21. Continuity <ul><li>Documenting ‘Intellectual Property’ often held in personal programs or people’s heads </li></ul><ul><li>Covers for staff turnover – they move on but the rules remain </li></ul>
  22. 22. Business Rule Group <ul><li>Initially reps from Income Support & SPA </li></ul><ul><li>Dedicated co-ordinator </li></ul>
  23. 23. Business Rules Process <ul><li>Meet regularly every fortnight </li></ul><ul><li>Prioritise rules to be developed </li></ul><ul><li>Delegate work item </li></ul><ul><li>Prepare draft rules </li></ul><ul><li>Review draft rules </li></ul><ul><li>Arrange signoff of finalised rules </li></ul>
  24. 24. What’s produced <ul><li>Plain English description of what the rule produces </li></ul><ul><li>Any “Gotchas” or health warnings </li></ul><ul><li>Technical description of how the rule is built </li></ul><ul><li>SAS code version of the rule ready to roll </li></ul><ul><li>Available from a web based Word document </li></ul>
  25. 25. For Example CHILDREN INCLUDED IN A BENEFIT - Replica Module Name PRNTCHDO Brief Description Determine if children included in benefit from Replica tables. Business Rules Include all current recipients (except NZ Super) based on status of benefit. Due to the fact that NZ Superannuitants do not get paid more if they have dependant children, children details are not usually recorded unless a supplementary like Disability Allowance is paid. Select relationship records from RELAT. Find the latest relationship record for each child and check indicators and dates to see if the child is included in the benefit at the time of the extract. The Replica date to be used must be as at the day after the end of the period being reported on. Notes: 1. Replica tables post 8 March 1998 are created as at the end of SWIFTT processing and prior to the evening’s batch processing (before expiries) each day. Tables created prior to 9 March 1998 were not extracted at a particular point in the processing cycle.
  26. 26. Code Rules Read SBEN to extract details of all current records for selected service codes. Use SERV to select appropriate service codes. Use SRVST = ‘3’ (Current) and SRVST = ‘4’ with RSNCT = ‘071’ (Paid by Director) to select current records. Sort extracted sben records by SWN, SERV. Read RELAT to extract latest relationship records for a child and check to ensure child included at time of table. Use RELTYP = ‘1’ (Relationship between caregiver and child). Use FROMDT to ensure relationship details apply on or before date of table. Sort extracted relat records by SWN, SERV. Merge SBEN and RELAT records by SWN and SERV Sort merged sben and relat records by SWN, SERV,CHSWN,INPDT, FROMDT. Identify current children. Find latest record for a child and ensure: MAINTS not = ‘I’ (Inactive, child excluded) and FROMDT = or less than table date and TODT = . or TODT greater than or equal to the table date. Define the date for the Replica extract.
  27. 27. SAS Code *************************************INPUTS*****************************************; %let dd = 15 ; *Change these for day ; %let mmm = JUN ; * month ; %let yy = 01 ; * year of Replica extract ; * Updated: 25 May 1999 - Check FROMDT not = . included in RELAT selection ; * Updated: 7 June 2001 - DPB check in RELAT to ensure CHIND = 'Y' removed ; ************************************************************************************; *********************prntchdo-Children included ************************************; data sben (drop = repdate filedate maints); set SWF&ORG..sben (keep = swn serv aport srtet srvst repdate filedate maints where = (%extora(&dd&mmm&yy) and (srvst = '3' or (srvst = '4' and rsncd = '071')) and (serv in ('020','320')))); run; ************************* sort for merge with Relat ********************************; proc sort data = sben nodupkey; by swn serv; run; ***************************** Reconstitute Relat ***********************************; data relat (drop = repdate filedate ); set SWF&ORG..relat (keep = reltyp fromdt todt swn serv chswn inpdt chind repdate filedate maints where = (%extora(&dd&mmm&yy) and (serv ne '060') and reltyp = '1' and (fromdt not = . and fromdt <= &quot;&dd&mmm&yy&quot;d) and maints ne 'I' and (todt =. or todt >= &quot;&dd&mmm&yy&quot;d))); run; .....
  28. 28. Issues faced <ul><li>Poor system documentation </li></ul><ul><li>Lack of inhouse systems experts due to out sourced system development & turnover </li></ul><ul><li>Other work load limited people’s ability to progress Business Rules work </li></ul><ul><li>Difficulty reconciling to operational system reports </li></ul>
  29. 29. Addresses the issues <ul><li>Access to case dictionary information </li></ul><ul><li>Get Corporate DBAs to focus on completeness & accuracy of documentation </li></ul><ul><li>Build relationships with Business Analysts </li></ul><ul><li>Build relationships with expert users </li></ul><ul><li>Dedicated Business Rules team </li></ul><ul><li>Access to operational systems for cross checking </li></ul>
  30. 30. Addressing the issues <ul><li>Leverage on transparency of IAP replica </li></ul><ul><li>If you want valuable information captured, make it valuable to those who capture it </li></ul><ul><li>KPIs </li></ul><ul><li>Feedback the information to staff to use in their day to day work </li></ul>
  31. 31. Lessons learnt <ul><li>Requires organisational commitment </li></ul><ul><li>It takes time and effort </li></ul><ul><li>Need right level of representation in the Business Rule group </li></ul><ul><li>Chip away at the individual building blocks that make up a measure </li></ul><ul><li>Acknowledge that they’re only as good as the data in the operational systems </li></ul>
  32. 32. But once you’ve got the Building Blocks
  33. 33. Build!!
  34. 34. And Build
  35. 35. And build
  36. 36. And Build
  37. 37. And Build
  38. 38. The End Any Questions?