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:

    1. Build/install the latest OpenClinica code from github or distros

    2. Install an OpenRosa client, such as enketo or ODK Collect
    3. Add the property ‘PortalURL’ to datainfo.properties with the URL of the OpenRosa Client
    4. Issue a /formList request from the client to the OpenClinica:
      GET /OpenClinica-web/rest2/openrosa/{studyOID}/formList

    5. 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.