Starting with version 3.5, OpenClinica will begin to support the OpenRosa API, which will let you run Enketo, ODK Collect, or any of a number of OpenRosa-compliant data capture clients. If you’re not familiar with Enketo, ODK, or OpenRosa, here’s a primer. You can also see this blog post on how OpenClinica LLC is using Enketo and the OpenRosa API in its products.
To try it yourself:
- Build/install the latest OpenClinica code from github or distros
- Install an OpenRosa client, such as enketo or ODK Collect
- Add the property ‘PortalURL’ to datainfo.properties with the URL of the OpenRosa Client
- Issue a /formList request from the client to the OpenClinica:
GET /OpenClinica-web/rest2/openrosa/{studyOID}/formList
- Currently supported methods include
GET /OpenClinica-web/rest2/openrosa/{studyOID}/formList
GET /OpenClinica-web/rest2/openrosa/{studyOID}/formXml
POST /OpenClinica-web/rest2/openrosa/{studyOID}/submission
Why this is still experimental:
- Form submission will not really work because it does not create a study subject and study event where the data can go. This will be added in the near future.
- The API is not particularly secure. There is no production-quality authentication mechanism, other than to secure network access to known safe clients.