Archive for August 2011

Siete Picos

Photos and tracks from 2 days walking in Cercedilla, Puerto de Navacerrada and Siete Picos….


Tracks (Saturday):

Tracks (Sunday):

OpenDataKit – entering dates in Ethiopian format

Some of the feedback we had from the initial HEW training last week was that some of the HEWs had difficulty in using the Gregorian calendar. Ethiopia has it’s own calendar which is the normal calendar used for the vast majority of Ethiopians (Ethiopian calendar entry on Wikipedia). Given that we’re asking the HEWs to collect date information, we need to make this as easy and understandable for them as possible – for example, to enter appointment dates a few weeks or months in advance. So over the past couple of days I’ve been looking at creating a date picker widget for integration into ODK Collect that will allow dates to be entered using the Ethiopian calendar format, but will store the date in the database as Gregorian. This transformation is hidden from the user and storing Gregorian dates in the database means we can manipulate and compare dates for reporting purposes, which we’d be unable to do storing Ethiopian dates as strings in the database (we can transform the dates back into Ethiopian calendar for final display).

It ended up being much more straightforward than I though it would be, especially with much help from the ODK Community and with the Joda Time java library already built into ODK Collect. I’ve got a first version ready for testing, so if anyone else is interested in having a look you can download the .apk file for installation on your Android phone.

To see the Ethiopian date picker working you’ll need to load up a form which specifies data picker. You can connect to our ODK Aggregate server at: and download the EthioDateTestV1.5 form. Or you can download the original form XML to put on your own server.

This is only a first version, so any feedback is very welcome – or if you’d like the source code then please feel free to contact me (will put it up somewhere once I’ve tested it a bit more). [Update 19-Aug-11: I’ve now put all the code up as a clone on Google Code at, so you can see the full changes I’ve made.]

Finally, here are a couple of screenshots of the Ethiopian date picker running in my Android emulator:

Initial HEW training with smartphones

I just posted this up on our Digital Campus blog:

Last weekend Araya and Florida ran the first training course for Health Extensions Workers (HEWs) who will participate in our feasibility study. We are starting with a very small group of HEWs – just 5 in this first training session – and the 2 day training consisted of:

  • the basic functions of the HTC hero phones, contacts, making calls, messaging and switching between Amharic and English keyboard layouts
  • charging the phones using the solar lamps and chargers we provided – as most of the HEWs do not have electricity in their Health Posts
  • using the EpiSurveyor client application for entering and sending data, plus using the GPS
  • practice completing and sending the Ante Natal Care protocol forms set up in EpiSurveyor

This first training is simply to get the HEWs used to using the phones, find out what problems and issues they may have, especially with battery life, recharging, completing forms etc – at this stage we’re not looking to collect real data – though we hope they can practise using the forms with real patients.

The feedback we have received is that the training went very well, the HEWs seem very and eager to learn how to use the phones and soon became quite comfortable using them. Over the coming months we’ll introduce the phones to another couple of small groups of HEWs and we’ll find out what challenges may exist and the feasibility for using smartphones for protocol and data collection in this environment.

Walk in Sierra de Guadarrama

Photos and map of circular walk from Cercedilla in Valle de la Fuenfría:



Exporting Xforms from EpiSurveyor to OpenDataKit Aggregate

I’ve been looking at some of the mobile data collection tools and applications available as we’re still undecided which will be the most appropriate for our needs. So far we’ve mainly been using EpiSurveyor, but we’d also like to try out using OpenDataKit (ODK) (ODKAggregate server and ODKCollect client).

We already have several forms created in EpiSurveyor that we’d like to try out in ODK, so I’ve just been looking at how the forms can be moved from one system to another. Given that EpiSurveyor uses a slightly customised version of ODKCollect as it’s client, I’d assumed that the form definitions would be exactly the same. Unfortunately it seems not, but I have worked out how to export a form definition from EpiSurveyor to ODKAggregate with fairly minimal hassle.

1) Export the form from EpiSurveyor web client (log into, select the form, then click ‘Export’ button and select XForm format)
2) Once the form has been downloaded you need to open it in a text editor and edit it very slightly…
Change the section:

[Likely there will be some field definitions in this part]

to be:

<data id="Whatever_id_you_would_like">
[Likely there will be some field definitions in this part]

basically all you need to do is add an id attribute to the <data> tag, just make sure this is different to all the other form ids on your ODKAggregate server. Then save this file.

3) Now log into you ODKAggregate server, go to Management -> Forms List -> New Form. In the pop, select your edited form and click ‘Upload Form’

4) Your form is now available on your ODKAggregate server (and so to your ODKCollect client handsets)

Moving the data over is also possible but a little more fiddly – need to do more editing on the EpiSurveyor CSV download to be able to import into ODKAggregate database.

Hope this helps someone else, but would also be interested to hear if anyone knows a simpler way to achieve this?