Export API

For both MVP and Wellcome (India) we're looking to build a MoTech CommCare
listener.

The reason why we can't go with the HTTP post version I think you are
planning for Bihar is that we will have remote ChildCount+ instances in the
field that will be connected to the internet but not necessarily on public
IPs. It'll be much simpler and more reliable to poll an commcare API.

The CommCare API as it currently stands gives you two things. First, is
the ability to pass a token and get the a log of xform submissions. The
second, is a dump in ZIP format containing csvs of all the cases, users and
case activity.

To be able to listen to commcare and set schedules in MoTech and emulate
CC+ messages, what would probably be most usesful is something very similar
to the xform api but with casexml.

Ie) we pass it a token and get all updated casexml.

Another question we had was the ability to identify updates in the CaseXML.
That would be extremely helpful as we can see what the update was to the
casexml for that particular health event. Is this something that's
supported in the casexml spec or something you're planning? if not, we're
looking at having to keep a register of the most recent status of a case on
the motech side and do a diff for every casexml the listener processes.

We have a team working on building the listener now and I think if we do it
right this could fulfill your requirments for Bihar. Vivek is helping
oversee this from the MoTech Thoughtworks side.

Thanks for your help with this.

Matt

Hey Matt,

Could you take a look at the attached doc (a proposed API
specification) and let me know how much of your use case this would
cover and where the holes are? Note that this is NOT final, but is the
general direction we're going with the CommCare API moving forward.

thanks,
Cory

CommCareAPI.pdf (143 KB)

ยทยทยท 2012/2/1 Matt Berg : > For both MVP and Wellcome (India) we're looking to build a MoTech CommCare > listener. > > The reason why we can't go with the HTTP post version I think you are > planning for Bihar is that we will have remote ChildCount+ instances in the > field that will be connected to the internet but not necessarily on public > IPs. It'll be much simpler and more reliable to poll an commcare API. > > The CommCare API as it currently stands gives you two things. First, is > the ability to pass a token and get the a log of xform submissions. The > second, is a dump in ZIP format containing csvs of all the cases, users and > case activity. > > To be able to listen to commcare and set schedules in MoTech and emulate CC+ > messages, what would probably be most usesful is something very similar to > the xform api but with casexml. > > Ie) we pass it a token and get all updated casexml. > > Another question we had was the ability to identify updates in the CaseXML. > That would be extremely helpful as we can see what the update was to the > casexml for that particular health event. Is this something that's > supported in the casexml spec or something you're planning? if not, we're > looking at having to keep a register of the most recent status of a case on > the motech side and do a diff for every casexml the listener processes. > > We have a team working on building the listener now and I think if we do it > right this could fulfill your requirments for Bihar. Vivek is helping > oversee this from the MoTech Thoughtworks side. > > Thanks for your help with this. > > Matt