Med-e-Tel-2011-AOMRSx - D-tree International

hedgebornabaloneΛογισμικό & κατασκευή λογ/κού

2 Δεκ 2013 (πριν από 3 χρόνια και 7 μήνες)

73 εμφανίσεις

Android/OpenMRS

Tom Routen

D
-
Tree International

Things Prim GmbH

D
-
Tree International


NGO founded by Harvard School of Public
Health lecturer, Marc Mitchell



Develops health protocols for delivery
within decision support software on
mobile devices



Paradigm case: IMCI
-
> «e
-
IMCI»

mHealth


Sudden ubiquity of mobile phones



Phones qua
phones


SMS


Voice



P
hones qua
computers


Data collection


Health protocols



D
-
Tree focus is NOT data collection, but
rather improving patient care

IMCI


e
-
IMCI

IMCI


e
-
IMCI

IMCI


e
-
IMCI

IMCI


e
-
IMCI

IMCI


e
-
IMCI


Android


Future


Huwawei IDEOS available in Kenya for 100 USD



Capacities


CPU, RAM, database



Facility rather than community


Dont need to wait until Android phones are the
norm

Single Visit/Multiple Visit


Single visit


Patient comes in with complaint, gets advised
and goes


IMCI (often)



Multiple visit


Patient comes in with complaint, gets
registered, gets advised, returns regularly


HIV


Malnutrition

Single Provider/Multiple Provider


Single Provider


Patient comes in, is seen by one health
provider and goes



Multiple Provider


Patient comes in, is seen by the nurse, goes to
the doctor, goes to the lab, returns to the
doctor, etc.

Three Core
Functionalities

Protocol
Interpreter

Patient
Records

Data Synch
-
ronization

Single

Visit,
Single Provider

X

Single Visit,
Multiple
Provider

X

X

Multiple Visits,

Single

Provider

X

X

Multiple Visits,
Multiple

Provider

X

X

X

Android/OpenMRS


Android/OpenMRS is an application
framework being developed to provide
integrated system with three core
functionalities:



1. Protocol Interpreter


2. On
-
Device Patient Records


3. Data Synchronization



Android/OpenMRS status


Started 2010


Still under development


In use in four pilot projects/research
studies in Tanzania in a handful of clinics


Open source but not ready



Currently requires 1GhZ phone
(NexusOne, HTC Desire)

Android Capabilities


Operating System: variant of linux


Programming Language: variant of Java


Database: SQLite


Disk space: 32 GB cards

1. Protocol Engine


Android makes it easy for one application
to call another (seamlessly)


Android/OpenMRS simply calls existing
«logic engines» such as ODK Collect or
Mangologic.


Logic engines return data to
Android/OpenMRS, which transforms and
stores in OpenMRS data model

2. On
-
Device Patient Records


Name indicates connection with OpenMRS
project which is technological
-


Android/OpenMRS synchronizes records
with OpenMRS Server (with custom
module installed)


Uses same data model


Uses some of the OpenMRS API (written
in Java)

OpenMRS data model


Patient
, has


Encounters

with


Providers
, comprised on


Observations
, which each pair


Concept

with


Value

OpenMRS Concepts: Defined and
Internal


Android/OpenMRS...



Handles «forms» marked up with «real»
OpenMRS Concepts (from a Concept
Dictionary)


Also handles «forms» with no concepts


internal «concepts» are automatically
generated

3. Data Synchronization


Vast majority of work is in devising
synchronization scheme


Flexible


Efficient


mobile devices limited, network
connectivity severely limited


Easy
-

usable

PeerSync


Algorithm called PeerSync


Attempts to treat all possible sync
partners as peers, devices and server


Successful synchronization of A and B
results in both having same database


No prioritised copy


database is
distributed (copied) among synchronizing
partners


This is not upload/download from a server

Phone to Server synchronization


PeerSync runs on device, but is also
delivered in a custom OpenMRS module
(PeerSync Module)


D
-
Tree has a server hosted at University
Computing Centre Dar es Salaam


Running instances of OpenMRS server
with PeerSync Module installed


Phones synchronize with server via GPRS


Transaction Interception


PeerSync intercepts and records database
transactions


Synchronization is the communication of
transactions


Conflicts resulting from concurrent
working are NOT currently handled
.
OpenMRS

data model makes conflicts
unlikely.

PeerSync Flexibility


Devices and Server are both equal
«units» with respect to serialization (i.e.
This is not upload)


Post
-
synchronization, two units share the
same database


Devices may synchronize with other
devices via Http (WiFi) and Bluetooth


Devices may synchronize with server
though server has MySQL, Device has
SQLite

Phone to Phone synchronization


Useful for remote clinic where connection
with server is difficult


Router installed


Static IP addresses used


Clinic can function with medical records
but with no server


Database is distributed (copied) among
devices


Bluetooth is also possible but not popular

Interesting computational
problems


Incremental sync: A and B remember
when they last synced, so sync can be
incremental, but what if B re
-
inits?
(checksums)


Creation date of transaction different from
receipt date of transaction


Transactions accumulate monotonically


Database constraints can be broken by
distributed actions

Scaling


Database is distributed (copied) among
syncing units


So how to allocate «units» to databases?


1 database per clinic?


1 database per district?


Database merging and splitting?

On
-
Device Reporting


Consequence of sharing databases among
units is:


Analyses could run on any unit, not just
on server


Real
-
time distributed reporting

Example application


Zanzibar Malnutrition


Ministry of Health


Supported by UNICEF
and WHO


Detection and
treatment of Severe
Acute Malnutrition


Also as outpatients,
using RUTF

Three Core Functionalities
Required

Protocol
Interpreter

Patient
Records

Data Synch
-
ronization

Single

Visit,
Single Provider

X

Single Visit,
Multiple
Provider

X

X

Multiple Visits,

Single

Provider

X

X

Multiple Visits,
Multiple

Provider

X

X

X

Longtitudinal Views

Feedback



How did you feel when you were providing
care to the patients by using the phone?


`.. «
simplifies

communication between me
and the client»


... «
simplifies

the work compared with using
paper forms»


... «at first she thought she would never to
understand the phone, but then after several
practice it is very
simple

and
understandable»

Challenges


Computational (sync)


Scale
-
up organization


Current device cost


Thank you for listening


Questions?