Introduction & Overview

Welcome! This document is the central hub for all information and updates concerned with the given Google Summer of Code project. Feel free to correct me wherever needed

My GSoC Journey with OpenMRS

Hello! My name is Marvin Sukumar and I am a sophomore studying computer science from Mumbai, India. Open Source development has always been a fascinating thing for me, as the joy of collaboration and developing essential software as a result is a great concept which I had to dive into. GSoC is the best stepping stone for someone like me who just started discovering OSS development, but with such an amazing community as OpenMRS, I would’ve done it regardless and I’m sure I’ll be a big part for years.

Project Abstract:

This project aims to automate the generation of OpenAPI 3.0 specifications for OpenMRS REST resources using a custom Maven plugin. By eliminating manual annotation and spec writing, it streamlines documentation and enhances interoperability across healthcare systems.

Significance and Impact:

An OpenMRS server provides web-based APIs for querying and updating medical data. In O3, the frontend relies heavily on these APIs to fetch / modify data from the server. The current state of webservices.rest module leaves very poor API documentation, scattered effforts to maintain it and no proper channels for frontend developers to know what APIs are available, and what inputs and outputs are expected without diving deep into the actual backend java code which is time-consuming and painful.

With the proposed custom Maven Plugin, we plan to move away from the runtime reflection tool to a build time based OpenAPI documentation generator which would generate a static OpenAPI 3.0 specification. This aims to convert the poor API documentation into robust, clean and well-structured which greatly improves development speed and as this is a maven plugin this would be highly future proof as well.

Current API Documentation:

image.png

image.png

Technologies & Tools Used