Your SlideShare is downloading. ×
Drupal spreadsheets for health data
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Drupal spreadsheets for health data


Published on

Published in: Technology
  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide
  • Introduction : Let’s take a look at the UX (User eXperience) for (1) large volume, frequent data capture – the spreadsheet paradigm works well – as well as(2) analysis requiring much calculation for data roll-up and aggregation and display. Let me share with you the TB SOUTH AFRICA PROGRAM and some issues that we faced dealing with health indicator data.Ref: http://tbsouthafrica.orgTB South Africa Program funded underUSAID Contract # 674-C-00-09-00121-00 by University Research Co. LLC andBEA Enterprises Inc.University Research Co. LLC,7200 Wisconsin Ave.,Bethesda, MD 20814,nkak@URC-CHS.comBEA Enterprises Inc.,17 Lake Potomac Court,Potomac, MD 20854,
  • On my first trip to South Africa for our TB program, it was just before the World Cup being held there. So the messaging program that year was, “KICK TB”
  • For people with weakened immune systems, most from HIV infection, the highest cause of mortality is TB.***Treating contagious TB is a priority health objective.Local areas need feedback for internal management and improvement.SA Department of Health and URC assess overall program performance to determine if objectives are being met.The information can serve as a resource for all studying the problem of TB.
  • Clinics throughout the country gather data that is entered into National TB data systemUse data to measure progress toward meeting quantitative goalsAggregate data over timeMake comparisons vs. standards or vs. clusters of other groups
  • Examples of selected project indicatorsHow many people were: “tested for TB?” Etc.Was test result positive or negative?
  • Date is regularly collected and aggregated (monthly or quarterly) by geographical district.
  • Forms can become quite long or multi-page in Drupal’s default input forms.This can be confusing and unworkable for many people who have limited computer experience. How can we improve the User Experience?
  • This module allows you to attach one or more tables to a node or any entity in Drupal 7. The input form allows the user to specify the number of rows/columns and allows entry into each table cell using text fields. Tables can be defined globally or on a per-node/per-entity basis, so every node can have multiple tables of arbitrary size. Enter data by hand or by CSV upload. Table data can also be downloaded as CSV files by users with permissions. Tables are multi-value and revision capable.Can only import the CSV table; cannot define formulas that calculate automatically in the table. This is not a spreadsheet.
  • Text only; calculations done in the external CSV that was imported.
  • The late 70’s were a special time in the computer information industry.Dries was born. Note that 20 years later he conceived of what we now call Drupal.Today hundreds of thousands of people worldwide (NOT exaggerating) are using it to build applications that run on PCs and mobile devices.3,300 developers attended that most recent US DrupalCon, last May in Portland OR. I asked Dries if he knew about sheetnode; he never heard of it, but noted that there are >20,000 contrib modules.But…..
  • KISS’ music. Color TV. Mini-computers. Led Zeppelin music. ZZTop rocked out on computers (not really). All that music was still on vinyl. Steve Jobs was VP of Product Development.
  • Open Source spreadsheet engine written completely in JavaScript.More than 1,000,000 users (26 Feb 2013,“As far as I know, SocialCalc is the most capable Open Source JavaScript-only spreadsheet module with standard formulas, functions, and formatting.”The history of spreadsheets spans more than 30 years. The first spreadsheet program, VisiCalc, was conceived by Dan Bricklin in 1978 and shipped in 1979. The original concept was quite straightforward: a table that spans infinitely in two dimensions, its cells populated with text, numbers, and formulas. Formulas are composed of normal arithmetic operators and various built-in functions, and each formula can use the current contents of other cells as values.Although the metaphor was simple, it had many applications: accounting, inventory, and list management are just a few. The possibilities were practically limitless. All these uses made VisiCalc into the first "killer app" of the personal computer era.In the decades that followed successors like Lotus 1-2-3 and Excel made incremental improvements, but the core metaphor stayed the same. Most spreadsheets were stored as on-disk files, and loaded into memory when opened for editing.
  • So how can we provide an improved User Experience?This is a use case where the spreadsheet paradigm works much better than others that we most often see on the web.Modern versions of Excel enable you to download tabular data from the web using the get external data feature.Google spreadsheets allow publishing on web pages (think Google maps), with some limitations, but also some cool features.Why don’t we see more spreadsheet displays on web pages?
  • Data capture person enters data in yellow colored cells.Other fields are calculated immediately.The users are familiar and comfortable with entering data into a spreadsheet form.Users are also familiar with reading and comprehending data from a spreadsheet.
  • Inspired by the wiki model, Dan Bricklin started working on WikiCalc in 2005. It aims to combine the authoring ease and multi-person editing of wikis with the familiar visual formatting and calculating metaphor of spreadsheets.In 2006, Dan Bricklin teamed up with Socialtext to start developing SocialCalc, a ground-up rewrite of WikiCalc in Javascript based on some of the original Perl code.This rewrite was aimed at large, distributed collaborations, and sought to deliver a look and feel more like that of a desktop app. Other design goals included:Capable of handling hundreds of thousands of cells.Fast turnaround time for edit operations.Client-side audit trail and undo/redo stack.Better use of Javascript and CSS to provide full-fledged layout functionality.Cross-browser support, despite the more extensive use of responsive Javascript.After three years of development and various beta releases, Socialtext released SocialCalc 1.0 in 2009, successfully meeting the design goals.
  • Why spreadsheets?Users are familiar with reading them. Users are also familiar with entering data in spreadsheets.Website easily creates spreadsheets. Calculations and information can be displayed to the user as data is entered.Traditional system: no timely results for making changes.Each clinic keeps records on individual patients. Records are aggregated and totaled quarterly at the clinic and paper forms are filled out. Forms are aggregated and totaled at the sub-district, district, provincial (state) and national levels by entering each clinic’s quarterly form into a traditional computerized Access database system.
  • Each cluster is given a name by the definerAll cluster definitions are stored and may be used or modified to create a new cluster by any user with appropriate permission. Examples:All 2010 data for the Nelson Mandela Bay district in the Eastern Cape province.All years of data reports for sub-district B in the North West province.All data reports for January-March 2009 for Kwazulu-Natal province.All data reports for selected districts in Gauteng province.
  • Turning local data into actionable knowledge.All organizations participating in the project have access to the aggregated reports at the Same Time ,in Real Time.Field managers can use the knowledge to make mid-course corrections and other improvements based on analyses and trends.A time series of all the variables is generated for selected time range, presented as a table and a graph for each selected variable over time.
  • We developed a custom module to do the matrix algebra – roll up and aggregate the data sets.Aggregated spreadsheets and time series may be:Displayed – Saved – Printed – Sent via E-mail
  • Compare cluster vs. clusterOR compare cluster vs. standardProduces tables and graphs of the differences for each selected variable.The table also displays the Statistical Significance of each difference.The comparison shows that the standard for the death rate is 2.1% but that the performance for the cluster was 2.7%. This was significant at the .038 level of significance, and can be said to represent a failure to meet the standard. *** The cure rate was 72% for the standard, but the cluster rate was only 71%. The statistical probability of that difference being statistically significant was .113, and we could NOT conclude that the cluster did not meet the standard.Defaulters are people who drop out, e.g., stop taking their medications; or move away without notice.
  • Many other types of M&E data could be stored and rolled up and aggregated using the sheetnode approach. E.g., tracking NGO progress, et al.Better input UX; easier roll-up and aggregation and display.
  • Transcript

    • 1. Drupal Government Days 2013Drupal Government Days 2013
    • 2. Drupal Government Days 2013
    • 3. Drupal Government Days 2013 Our Project: TB in South Africa • South Africa has one of the highest TB rates in the world. Cause of highest mortality for HIV patients. • TB is >95% curable when a case is identified and the patient takes a daily pill for 6 months. • There are 2,000+ government clinics with free services and medicines.
    • 4. Drupal Government Days 2013 Health Indicators Are we improving individuals’ health? How do we know?
    • 5. Drupal Government Days 2013 Health Indicators •tested forTB •tested for HIV •test result positive/negative •results of re-tests +/- •completed course of medication •moved away •died •previous patient •status unknown Count the number of individuals
    • 6. Drupal Government Days 2013 Data collection locations
    • 7. Drupal Government Days 2013 Default Drupal Data Entry Forms
    • 8. Drupal Government Days 2013 TableField module: Input widget
    • 9. Drupal Government Days 2013 TableField node with 2 table fields
    • 10. Drupal Government Days 2013 Dries – born 1978 – Drupal conceived 1998 DrupalCon 2013
    • 11. Drupal Government Days 2013 What was happening in 1978-1979?
    • 12. Drupal Government Days 2013 First Spreadsheet: VisiCalc conceived 1979
    • 13. Drupal Government Days 2013 • Sheetnode: spreadsheets in your webpage – Uses open source SocialCalc, written in JavaScript by Dan Bricklin, inventor and developer of VisiCalc (1979) • Input in familiar, compact layout – Excel-like toolbar • Immediately see calculation results • Cell formulas • Store data securely in the database (vs. a person’s PC or in the cloud) A better UX for tabular datasets
    • 14. Drupal Government Days 2013 Sheetnode Data Entry Form
    • 15. Drupal Government Days 2013 Sheetnode Module • • Reference cells in other sheetnodes, AND in node fields and tokens • No other modules required, but: – Google spreadsheets import/export requires Zend Gdata Framework (and PHP 5.2.4) – Excel spreadsheets import/export requires PHPexcel and TCPdf to be in sites/all/libraries (and of course libraries module)
    • 16. Drupal Government Days 2013 Sheetnode: edit Expand to fill browser window Spreadsheet toolbarCell Formula Calculated Value
    • 17. Drupal Government Days 2013 Time Series Report
    • 18. Drupal Government Days 2013 Health Indicator Spreadsheets Users are familiar with spreadsheet format. Site uses spreadsheet forms to collect data. Health indicators are aggregated, analyzed, and displayed as tables and graphs.
    • 19. Drupal Government Days 2013 Health Indicator Reports Fields–Tags Sub-district/District Province Urban / Rural Etc.
    • 20. Drupal Government Days 2013 Clusters Clusters are sets of health indicator data reports, defined by any combination of selection criteria: variables, dates, etc. E.g., “Eastern Cape province for 2012.”
    • 21. Drupal Government Days 2013 Lots of Data to Evaluate For 1,000 clinics, 34 sheets each per year = 34,000 spreadsheets stored annually. Up to 500 people can login just after the end of the month.
    • 22. Drupal Government Days 2013 Immediate View of Results National Province Project Office District Health Indicator Performance Reports Aggregated Statistical Summary Reports
    • 23. Drupal Government Days 2013 Cluster: Aggregating Reports • Add up the values for each indicator • Combining a number of spreadsheets can be quite time consuming. Aggregated matrix is displayed in the original spreadsheet form Aggregation is done with PHP matrix algebra Spreadsheets converted to matrices Custom module
    • 24. Drupal Government Days 2013 Comparing Clusters Cluster 1 Cluster Cluster 2 Standard Standards of performance, e.g.: Cure rate should exceed 85% Death rate should be under 2% Defaulter rate should be under 7%
    • 25. Drupal Government Days 2013 Graph of one health indicator by district for a province
    • 26. Drupal Government Days 2013 Cluster analysis of 2 health indicators for 6-month period
    • 27. Drupal Government Days 2013 Health Indicators on Drupal Spreadsheets
    • 28. Drupal Government Days 2013Drupal Government Days 2013 Slides are linked on the conference website Or @dkrockville #GovDay Don Koller @dkrockville