by adewinterdimagi on 29 February 2012
In both Firefox and Chrome one way to trigger a hard refresh is to hold down shift and click the refresh button or press ctrl-shift-r.
How do I know I’m doing a hard refresh?
- Open up Firebug (in FF) or the developer console (Chrome).
- Go to the network tab, trigger a hard refresh.
- If everything is showing a response code of 200, you’ve done a hard refresh. If a resource is loaded from the cache it will show as a response 304 and you need to refresh again.
by Derek on 26 February 2012
by Reena Gupta
Earlier this week I finally got an opportunity to talk to my sister and niece via video chat. As I sat in my ‘office’ I watched them playing on the bed. Although the connection was poor I could easily make out my niece, in her green pajamas, jumping all over the place saying ‘Mausi’ and ‘Priya’ and ‘Purple.’ I sat watching my sister, now 8 months pregnant, sitting on the bed trying to calm my niece down, but also just enjoying the moment. She even stood up so I could see her 8-months-pregnant belly profile. Her belly protruded in her elastic band jeans and black cow neck top. Surprisingly, her pregnancy is still just all belly.
An hour later I found myself in front of another expecting mother, also 8 months pregnant, but the circumstances were quite different. I sat alongside an Accredited Social Health Activist (ASHA) and another colleague on a ripped tarp on the dirt floor in the middle of a moderately sized community of homes in rural Bihar. As huge cutter ants walked between us and flies buzzed around us we tried to help the ASHA use her new mobile phone application to ask the expecting mother a series of questions about her pregnancy. This 17-year-old, illiterate, woman barely said a word or showed her face. Rather her mother-in-law and other relatives shouted out answers for her. Soon our presence and the natural curiosity of the village resulted in a crowd of 6-7 women and 7-10 children. As the women squatted to listen to what we were doing the children stared at us with dripping noses.
As our session continued I started to get overwhelmed. I’m not sure if it was the little girl climbing on my back, the other little girl coughing on my arm, my fear of the cutter ants, the difficulty I saw the ASHA having, or the smell of cow dung. For a brief moment I thought to myself ‘if I were a different person, I don’t think I could handle this.’ The session went on for over an hour.

As the week continued, performing 3-4 home visits per day, two things became apparent. Firstly, I was becoming increasingly jealous of the women’s sarees. I realized that as these women squatted or sat on the ground the cloth of their sarees provided a barrier around their feet, shielding them from the bugs. The look of a pregnant woman in a saree is just so appealing. The bright colored cloth wrapped around her bellows out as it hits her stomach. Instead of making a ball of a stomach the way American clothes or a kurti would, the saree tucks in above the belly then balloons out and falls straight down creating a bucket around the woman. The most beautiful site was that of these women up against the green fields of rice and mustard seed flowers. Secondly, the village is FULL of children. Everywhere I looked there were children running around, playing with dirt, cuddling with baby goats, crying for their mothers, playing on the roofs, or sometimes, even walking away wearing my shoes. I realized that most of these kids were under the age of 10; any older and they would probably be working in the fields. How these women deal with so many young children each day is baffling to me. I guess there is comfort in the communal raising of children, but I know none of these children are getting the daily nutrition or education they need. I realized how important the family planning section of the ASHA’s mobile application really is and how challenging it will be for her to educate her community on the benefits of small family size.
I wondered what it must be like for an uneducated woman of the village to hear about introducing a foreign object like an inter-uterine device (IUD) into her body, or the idea of taking a daily pill to prevent pregnancy, or the idea of having tubal ligation surgery (TL) to take away a natural part of her womanhood. As I focused on what the ASHAs were telling the women about family planning I realized that there was a huge gap in education. While the most educated ASHAs knew about family planning methods many did not know about their administration, indications, complications, or side effects. I wonder what devastating events have occurred from improper use of family planning methods.
So what can we do? The current mobile application does highlight all these issues and prompts ASHAs to talk about complications, side effects, and indications, but how good are these prompts if the ASHA is not properly educated about them? It may be harmful to prompt ASHAs to give incomplete and sometimes inaccurate advice. By collecting data that continuously reports that an ASHA has ‘counseled about family planning methods’ we may be sending the wrong message to program managers who review the data if, in truth, the counseling was not up to par. While I want to believe that our partners can and will educate ASHAs further on family planning, it’s not always guaranteed. As a provider of open-source technology, we can only push for increased educational content within the mobile application itself and present honest feedback to our partners. Perhaps the benefit would be clearer if we worked only on education-based applications, but as a technology provider, would this restriction limit our potential for health impact?
Reena Gupta lives and works in India as a Dimagi Field fellow. Her work includes design, development, testing, and evaluation of CommCare mobile applications for use by ASHAs and other community health workers in rural India. To learn more about CommCare, please visit www.commcarehq.org. To learn more about the ASHA program, please visit About ASHA.
by Cory Zue on 15 February 2012

Even with any amount of planning, often it's better to just jump right in.
In the last post I introduced the idea of our “away month” and how it grew from a simple conversation over drinks to relocating much of our team to Brazil for a month. Here I’m going to talk more about what we’ve done to plan and execute a successful away month.
(It should be noted that it’s currently only week three out of five, so take everything here with a grain of salt. If this idea crashes and burns somehow, I’ll be sure to write a retrospective about what went wrong and why we should have known this was a terrible idea from the start.)
Here were some of the guiding principles we followed while planning the away month.
Delegation of Trust and Responsibility
In his book “The Four Hour Work Week”, author Tim Ferriss talks a lot about working from home. One of the points he makes again and again is that when trying to justify to your boss/team that you should be allowed to work from home you should be so obviously over-productive that it would be impossible for them to complain. In a way, this whole experiment is like one big period of “working from home” for the six of us currently here. Everyone knows that we’ve been given a lot of trust and a special opportunity to prove that we can be productive despite being geographically separated and in an environment where it would be easy to slack off. The handing over of trust creates an intrinsic motivation among us here to prove that we deserved it, and because of this, our productivity has remained high thus far – possibly even above average. It also helps that the evaluation of the month and possibility of continuing the tradition next year hinges on us getting some awesome work done.
Along with trust comes the delegation of responsibility to the right people. The people who were most vocal about leading the away month were also tasked with making sure it works out. This puts the incentive to make sure things are successful in the hands of those people most able to make it happen (even if they’re not necessarily “in charge”).
Taking Advantage of Local Context

Poolside brown bag talks are one of the best ways to take advantage of our local context.
Being an organization that does a lot of international work, we’re using being in São Paulo as an excuse to reach out to Brazilian organizations that we may be able to collaborate with and as a jumping off point to do more work in Latin America. It’s possible that nothing will come out of it, but if anything does it will be great to remember how our new projects came out of this trip.
This principle also manifests itself in more fun ways. Many of the team is using the trip as an excuse to learn rudimentary Portuguese. Weekend beach trips, poolside brown-bag lunch talks, and eating insane amounts of grilled meats are also a plus.
Experimentation
Despite the fact that most of us already work out of the same office every day, being in Brazil makes the work day seem different, somehow. We’ve taken advantage of this by trying out new things that we wouldn’t do in Boston. Probably the best example of this was a “field day” last Friday, where everyone on the team was only allowed to work on bugfixes or features specifically requested by our field staff (no client deliverables allowed). The result was a great day of productivity and camaraderie where many long-standing requests from the field got done and everyone felt that they were really productive. It went so well that we plan on making it a regular tradition moving forward.
These things are pretty simple, and came about organically as we brainstormed what the month would be like. Thus far it’s been a great way for members of the team to continue to do their jobs, but flipped to a new perspective. Moving to Brazil and expecting nothing to change would have been totally unrealistic. That said, allowing things to change for the better – and in a way that fit the feel of the trip – turned out to be a much better plan.
You can track Dimagi’s away month on our posterous. We’ll be continuing to blog in short and long form throughout the month.
by Daniel Roberts on
Every report now comes with consistent and expanded set of filtering options. In particular, you can now decide which type of users to show in any given report. This has proven to be really helpful for filtering out test submissions from the demo user when you’re trying to look at real data. Looking under Unknown Users can also help diagnose problems with users not having beep properly registered.
You can also now filter by group for case export and custom exports.
Better layout and sorting for Reports
In addition to filtering, we improved the layout of some reports with total rows by breaking the total row out to a row under the table so that it always stays separate from the other data. We also fixed a problem that occurring when you tried to sort on numerical rows; it now behaves as expected.
Vellum Improvements
We’ve pushed a number of improvements to Vellum, our form designer. For you that’ll mostly just mean a smoother experience, but for those of you interested in the nitty-gritty, here’s a list of the main features and bug fixes:
- Support for special CommCare ODK questions (only available on Android): Barcode, Image Capture, Audio Capture, Video Capture
- Changes to Question IDs now properly update all references to the question in logic elsewhere in the form.
- New button to add select items to a select question
- Bug fixes surrounding Group and Repeat questions
* No longer automatically generate an extra header for these questions.
* No longer require text or insert text filler text while parsing these questions.
* No longer blow away special “jr:count” variable and other special attributes during parsing.
- Better language integration with CommCare HQ
Bulk User Registration
You can now make your list of users in Excel and upload it to us to register all of your CommCare users at once! Once they’re registered online, all you need to do is to do a “Restore” from each user’s CommCare installation and it’ll sync up with the server’s information.
There have also been some other minor improvements to the tool for creating and editing CommCare users that should make doing so a little easier.
We hope you enjoy these changes and continue to do the best Community Health work out there.
Cheers,
Danny
by namland on 14 February 2012

Several Dimagi team members were awarded the Best Poster Prize at the National Conference on Medical Informatics at AIIMS February 3 -5, 2012 in New Delhi, India for their poster titled: “Performance Metrics Indicative of Supervision: A Study of Community Health Workers”.
The winning poster is available here.
The purpose of the National Conference on Medical Informatics is to explore and map the opportunities and challenges facing the growing health informatics sector. The conference explores and examines the role of information and communication technologies in reshaping the healthcare industry, proving healthcare delivery, reducing clinical risks and modernizing healthcare facilities. More information about this conference here.