FHIR Swagger Document generator and enhancements

Hi, I am P.Nadeeshani, a third year undergraduate at Department of Computer Science and Engineering, University of Moratuwa, Sri Lanka. I would like to take part in GSOC Programme 2016 with a OpenMRS project. I have went through the OpenMRS GSoC Project Proposals for 2016. I am very interested on Proposal:FHIR Swagger Document generator and enhancements.I have some understanding on Swagger and API stuff. @harsha89 Can you please tell me how should I proceed with this project. What tasks should I need to do to get started. Any suggestions are highly appreciated.

Great to see that you have interested in this project. First thing would be setting the the OpenMRS development environment and get familiar with it. Fixing couple of bugs will be additional plus points for your proposal. Please use these useful resources.

3 Likes

Thanks for the guidance. I am looking at what you have mentioned.

1 Like

Hi, I have being working with the OpenMRS FHIR module for a quite a while now and I am familiar with Swagger as well. Additionally I am aware of recent changes in FHIR module, as I have being working and watching some of them. My objectives towards this project are as follows.

  • Find out the recent changes in FHIR specifications. I will go through the specification and will create more tickets to implement those. This way we can easily track what we have and what not.

  • Use bottom-up approach to integrate swagger document generator. Bottom-up approach is used because we have an API at the moment. @harsha89 what is your opinion about this?

  • Add and improve testcases to improve the test coverage in the module.

  • Update the related wikis

This is just an outline of my ideas as a start. I would like to discuss further this with community. @harsha89 @surangak Your guidance is highly appreciated.

2 Likes

@tharaka it’s great to see that you are interested in this project. Feel free to ask any question and clarification you need.

1 Like

Hi @harsha89,

I went through the details on the project objectives and I still believe that bottom-up approach is better than the top-down approach. I would like to know your thoughts on this.

@tharaka it’s fine to follow any approach to generate the document :slight_smile:

1 Like

Hi @harsha89 @sashrika

I am Shekhar Reddy pursuing third-year B.Tech from Keshav Memorial Institute of Technology, Hyderabad, India. I have been contributing to OpenMRS for the past 3 months and I am interested in working on this project. I have worked on 5 JIRA tickets till date.

I will come up with a good proposal soon, and is there any specific version of openmrs-core to be used to install the fhir module, since I am using core 1.12 for some reasons. :slight_smile:

1 Like

Thank you @shekha for your interest. The current kernel version is 2.0.0-alpha:

1 Like

I’m interested about the project of FHIR Swagger Document generator and enhancements. I have recently did some work with FHIR module and found it very interesting. I also went through the FHIR standard and understood the specification. Also Swagger has become one of most popular API documentation language. As the page suggest I have went through the rest document generator project as well. Swagger community offers several tools and libraries to document the APIs.

I will do some research and find out how we can reuse them. One challenge is to get the all FHIR API details to generate the swagger document out of it. I will be looking for possible ways to do it. Meantime, I’l defiantly have some questions and clarifications. @surangak @harsha89 and @sashrika so I will need help from all you guys and guidance for sure.

1 Like

Thank you for your interest @rasanjana. Please let us know if you need any clarifications.

I’m not sure if this is relevant, but I recently did this work to improve the Swagger documentation for all the REST resources. If the FHIR module simply adds additional resources using the REST module, then it might make sense to do any documentation improvements directly in the REST module.

2 Likes

That is good information @pascal. I think this makes the beginning very easy for this project.

@pascal thank you for letting it know. We are adding the resources through resources controllers of the hapi fhir library. So we have challenge on getting the API details out. I will look on your work and check how we can adapt it :slight_smile:

1 Like

A small clarification @harsha89

  • Do we have a resource controller for each resource separately as swagger supposes, or do we have a main controller(only one) ?

Enhance the existing module to meet recent changes of FHIR specification Could you please provide some insight into it like there are a list of recent changes in specifications and mention the specific tasks to be considered under the objective mentioned.

A series of technical corrections to the specification following extensive review:

  • Corrections to Extension cardinalities in implementation guides
  • Corrections in the conformance resources that support the specifications
  • Correct several erroneous invariants
  • Various typos, broken links, and fixes in examples

Source FHIR v1.0.2

:slight_smile:

1 Like

We have resource controllers for each resource. You can go through the FHIR module and check for more details. :slight_smile:

We haven’t fully finalized enhancements, but basically we need to upgrade HAPI FHIR library version and support for more resources :slight_smile:

1 Like

Thank you @harsha89 for helping out and will be soon with a good proposal :slight_smile:

1 Like

@harsha89 There are tools from swagger which build html documentation from the swagger document and client side code generator from the swagger document. Do you think we will need to try out them as part of this effort? As I went through the code, parameters passed as annotations, we may can use to extract API details when we generate the swagger document?

1 Like

Hi every one. Nice to see most of you working and researching on this topic, which will help to make this project a success. I see some people has already sent proposals. Me, @harsha89, @surangak will go through them and give feedback.

Any one please use only this thread to get answer any questions about this project. We are here to help you. :thumbsup:

1 Like

I will quote few people who has already joined this nice conversation, but the facts i am gonna put here will be useful to anyone who is expecting/already put a proposal on this project.

@tharaka , whether to use bottom up approach or , to use top to bottom approach is not yet defined. I too personally prefer the bottom up approach here. But you could include a small notion about pros and cons comparing this two method in ur proposal.

@shekhar yes project enhancement for FHIR specification is also a objective of this project. You could refer both our FHIR implementation and the FHIR specification and note down changes that you gonna implement in you project.

@rasanjana yes, you can refer the rest document generator project and include anything we can get from it. And also @rasanjana client side code generation is not something focus right now, because as long as you have the swagger file, it is possible to generate the client side code any time. But creating a HTML documentation out of the swagger file will be helpful to any one.

3 Likes