This project is assigned to the OpenMRS 1.9 release milestone
OpenMRS has an explicit API which has not been cleanly or explicitly exposed through web services. We have a REST module and SOAP-based module(s) where folks have done work in the area. We need a clear and explicit strategy for supporting web services.
- A single OpenMRS module to support the core web service needs.
- This module should contain both REST and SOAP options.
- We want annotations to generate web service methods
- At this point, we can leave the Java objects with Hibernate magic (all object properties assumed to exist) and convert the data to DTOs from our module. These DTOs may inform how we transform our API in the future though.
API Service and Object Design
- Web services will be developed as an augmentation to the existing API... that is, we will not rewrite the current API and then expose them as web services... we will write the web services as an independent activity, hoping that they inform the further maintenance and redevelopment of the existing API.
- We will use CXF as the framework.
- See Webservices.cxf Module for the documentation start for that module
- Both OAuth and ws-security are supported
- An upcoming web services sprint is scheduled. See Development Sprints
- Connection to xforms:
- Retrieval (GET) of a mostly blank xform
- Submission (POST) of a filled out xform
- Pharmacy connection:
- Sending (GET) of medication info about a patient
Interested Parties and Mentors