Top Banner
Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD [email protected]
65

Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD [email protected].

Dec 25, 2015

Download

Documents

Brook Joseph
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

Open Data Kit and Other Technologies

Use of Java in the Third World

Steven M. Lewis PhD

[email protected]

Page 2: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

Computation and the Third World

Information technology has changed our lives

That technology has not penetrated the third world to the extent that if penetrates out lives

The constraints of developing for the third world are different

Page 3: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

Challenges for the Third World

Connectivity cannot be assumed.

Power cannot be assumed

Services cannot be assumed

Money is a huge issue

Literacy cannot be assumed

Page 4: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

Connectivity cannot be assumed

Many Villages are not wired

Wireless may be the only communications

Even this may be unreliable

Page 5: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

Power cannot be assumed

Power may not be available

Even when available it may not be reliable

Page 6: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

Services Cannot Be Assumed

Systems placed in villages will not be maintained

Parts will not be available

The knowledge to repair any issues cannot be assumed

Page 7: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

Money is a huge issue

The cost of a laptop is more than the average yearly income in many countries

In India a cell phone can be bought for $12

A village might have a single cell phone

Page 8: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

Literacy Cannot be assumed

Page 9: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

What Device is going to have Impact in the third world?

???

Page 10: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

Cell Phone Advantages

Very Portable

Cheap and getting cheaper

Solves problems with intermittent and rarely available power

Automatically solve the problem of connectivity

Is sealed, self contained, rugged and very reliable

Page 11: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

Moral -

Today we talk about mobile devices as the wave of the future.

In the third world they are the only widely available computing platform

Effective solutions today need to consider the cell phone as the primary platform.

Page 12: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

Problem – Matching Fish to Markets on the India Coast

Problem – Fishermen in India can deliver their fish to one of several markets

If a market has more fisherman than buyers, the price for fish will be very low

If there are few fisherman and many then the price will be high

Page 13: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

Spread of Cell Phones

Page 14: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

Effect of Cell Phones on Fish Prices

Page 15: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.
Page 16: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

Moving Away from Paper

Page 17: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

Community Health Workers17 Must bring health care to people

First line of defense

Routine, regular home visits

Know their community

Eyes and ears for local health

Provide education for best practices 

Page 18: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

Current methods18

Little, if any, supervision

Paper-based forms – ad hoc design

Long time-lag to usable data

No historical data 

Page 19: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

Our Goals19 Standardization of data

Rapid data aggregation and

analysis

Supervision of CHWs

Connection to health records (OpenMRS)

CHW + phone => Flexible, efficient platform for:Better home care (checklists, protocols, etc)

New outreach programs

Outbreak detection

Improved disease surveillance

Page 20: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

Open Data Kit

Open-source data collection tool kit Collaboration between Google & UWashingtonForms + GPS + Picture + Barcode + Audio + Video …

Initially targeted at public health applicationsCurrent deployments in Uganda and Kenya http://code.google.com/p/open-data-kit

20

Page 21: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

Open Data Kit Toolset

Collect – Android client for data entry

Aggregate – App Engine server for data collection

Submit – multi-transport layer async data transfer

Manage – remote management tools for config

Tasks – assignment of tasks to specific workers

DB – connect forms to existing DBs for browse/update

Viz – visualization of data on graphs/maps

Super – supervisory dashboard for mobile supervisors

Planner – day planning tools for workers

SMS – communication/notification with community

21

Page 22: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

Open Standards –in JavaXforms – W3C

Same data collection forms can run on any platform

Standard HTTP client/server APIs

Allows for different server implementations

Android

Open source platform with multiple implementations by different vendors (HTC, Samsung, …)

Example: DataDyne/Episurveyor & Open Data Kit

Same forms (but different capabilities)

Data can be submitted to either server

Allows deployments to use mix of platforms

22

Page 23: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

ODK Collect

A tool build on top of XForms

Using JavaRosa (XForms for Mobile Devices) for data collection and submission on the Android

Page 24: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

What is XForms

XForms is an XML standard developed by W3C for specifying Forms in XML

Example

Oberon forms

Page 25: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

JavaRosa: XForms on Mobile Devices

JavaRosa

Supports a supports a subset of the xform standard

Questions are asked one per screen

Supports many phones

Written in Java ME

Page 26: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

Open Data Kit- ODK Collect

Android library written to support JavaRosa Forms.

Supports Standard Types – text, number date, select, multiselect

Supports Bar Code, Picture, GPS inputs

Supports upload to a server running ODK Aggregate

Page 27: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

A Little About The Android

Page 28: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

Android should be on Java Developer's Radar

Its native language is Java

It supports full JDK 1.6

The platform is open source

Well known tools such as Eclipse and IntelliJ have Android plug-ins

Application distribution is much less controlled

Build it and they will come!

Page 29: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

ODK Form demonstration

Page 30: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.
Page 31: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.
Page 32: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.
Page 33: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.
Page 34: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.
Page 35: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

Form Elements

Language SectionDefine Keys for all Supported Languages

Instance SectionDefine Structure of the data

Binding SectionAnnotate requirements

Define Conditions

Input SectionDefine Controls

Page 36: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

Language Section <itext>

<translation lang="english" >

<text id="Male" ><value>Male</value></text>

<text id="Female" ><value>Female</value></text>

<text id="Sex" ><value>Sex</value></text>

</translation>

<translation lang="german" >

<text id="Male" ><value>M&#xfffd;nnlich</value></text>

<text id="Female" ><value>Weiblich</value></text>

<text id="Sex" ><value>Sex</value></text>

</translation>

</itext>

Page 37: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

An Aside on Translation

Google has a very nice API for translation

Machine translation is good for a first cut

Is also good for field use where a translation is needed and not translator is available

Automatic tools to add needed entries to multiple language bundles are easy and worthwhile.

My tools build the language section from language bundles

Page 38: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

Translate Code

import com.google.api.translate.Translate;

import com.google.api.translate.Language;

public static final String WEB_SITE = "http://code.google.com/p/i18n-translator/";

public String[] translate(String[] input, Language from, Language to) throws Exception

{

Translate.setHttpReferrer(WEB_SITE );

System.setProperty("http.proxyHost", "proxy");

System.setProperty("http.proxyPort", "8080");

return Translate.execute(input, from, to);

}

Page 39: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

Instance Section <instance>

<Student2_Registration><Name/><Sex/>

<FemaleQuestions> <StartedMenstruating/> <Pregnant/> <StartMensesAge/> <Child jr:template=""> <Name/> <Sex/> <Age/> </Child> </FemaleQuestions> <MaleQuestions> <Circumcised/> <MasterbationRate/> </MaleQuestions>

...

Page 40: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

Binding Section

<bind nodeset="/Student2_Registration/Name" type="string" required="true()" />

<bind nodeset="/Student2_Registration/Sex" type="select1" required="true()" />

<bind nodeset="/Student2_Registration/FemaleQuestions" relevant="selected(/Student2_Registration/Sex, 'Female')" />

<bind nodeset="/Student2_Registration/MaleQuestions" relevant="selected(/Student2_Registration/Sex, 'Male')" />

<bind nodeset="/Student2_Registration/Birthday" type="date" required="true()" />

Page 41: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

Input Section <input ref="/Student2_Registration/Name" >

<label ref="jr:itext('What_isYourName')" />

</input>

<select1 ref="/Student2_Registration/Sex" >

<label ref="jr:itext('What_isYourSex')" />

<item>

<value>Male</value>

<label ref="jr:itext('Male')" />

</item>

<item>

<value>Female</value>

<label ref="jr:itext('Female')" />

</item>

</select1>

...

Page 42: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

Tools

PurcForms a GWT based tool for editing XForms

ODK Forms Designer a GWT tool specifically targetted to ODK

Annotation Based Generator

Page 43: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

ODK Aggregate

Infrastructure for Storing results

Build on top of Google App Engine

Demo http://lordjoedev.appspot.com/

Page 44: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

Deployments44 Kenya

HIV,300

CHWs

Tanzania e-IMCI, 5 clinicians

Page 45: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.
Page 46: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

Sample Applications

Page 47: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.
Page 48: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

Sample Applications

Page 49: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

Sample Applications

Page 50: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.
Page 51: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

Crisis Management - Haiti

Page 52: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

Person Finder Demo

http://haiticrisis.appspot.com/

Page 53: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

Person Finder Results

Page 54: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

Other Applications

Page 55: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

Open MRS

Page 56: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

Patient Search

Page 57: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

Open MRS

Demo

Page 58: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

I-TechI-Tech (International Training and Education Center for Health

Health Workforce Development

Operations Research and Evaluation

Prevention, Care, and Treatment of Infectious Diseases

Health Systems Strengthening

http://www.go2itech.org/what-we-do

Page 59: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

Where is the Java?

MRS and LIMS

“In every country where I-TECH works, health needs and program goals are best met when local laboratories and services are reliable, consistent, and readily available.”

Electronic Medical Record Systems (MRS)

Laboratory Information Management Systems (LIMS)

[ http://www.go2itech.org/what-we-do/heath-systems-strengthening/laboratory-systems-strengthening/laboratory-systems-strengthening ]

Page 60: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

Summary

In the first world the cell phone is the wave of the future

In the third world the cell phone is currently the main line computing device.

Cell phones can make a huge difference in the absence of viable alternatives.

The University of Washington has a very active program in this area

Page 61: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

Getting Involved

Work with the CHANGE group at the University of Washington

Subscribe to the developers mailing lists for ODK and JavaRosa

Contribute time and code.

Page 62: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

Project Links

Open Data Kit

Open MRS

University of Washington Change Center

Crisis Mappers

Page 63: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.
Page 64: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

ODK Use

Page 65: Open Data Kit and Other Technologies Use of Java in the Third World Steven M. Lewis PhD smlewis@lordjoe.com.

Demo

http://demo.openmrs.org/