OpenMRS GSoD 2020

Tags: #<Tag:0x00007fa3f5be1400>

Helo every one,as we continue to do works around GSOD 2020,we will use this thread for our GSOD 2020 genaral communications.For the different projects of GSOD 2020,we can have separate threads having each project.Thanks cc @yash29x @vibhorchinda17 @chaytanya @saurabh @rainbow @jnsereko @favour @uthpala @kaveeshabaddage .The community and the documentation team will be ready to help out cc @jennifer @jwnasambu @gracebish @loisnaki @sharif @gcliff @ayesh


@herbert24 the build for REST API docs here was failing due to a minor issue ,now its fixed !

1 Like

@ayesh I tried a few examples from the API docs I wasnt able to execute them possibly because demo server is down , Will setting up a remote openMRS core help or can you suggest some other way of testing those curl illustrations in docs.

1 Like

Its better if you can create a talk thread and inform that demo server is not working. But if you’re not playing around with modules I would recommend to use as well with the same credentials.



I have started working on task in Trello as a warm up challenge to GSOD 2020.

According to, Admin page is needed to create concept mappings in OpenMRS 1.9

Is the Admin UI Module in OpenMRS standalone, referred here as Admin page? If so can I download the Admin UI module from here ?

If not is there any other way to access this Admin page?

At the same time I was able to run openMRS rest api document and sent a PR fixing a UI issue

Thank you

cc: @jwnasambu @jennifer @sharif @ayesh

Hi @ayesh @sharif,

Currently, I am testing existing FHIR Module Person resources according to the following documentations using OpenMRS Standalone App ( Platform 2.3.0).

When I am testing Name Sub Resource , (ex - localhost:8083/openmrs-standalone/ws/fhir/Person/?name=robert ) I can get a response to the request as mentioned in those documentations.

But when sending HTTP GET requests to the following sub-resources according to the documentation, it will give 400 Bad Request.

Gender Sub Resource

<OpenMRS FHIR Module Host URL>/Person/?gender=[male|female|unknown|null]

Ex- localhost:8083/openmrs-standalone/ws/fhir/Person/?gender=male

Birthdate Sub Resource

<OpenMRS FHIR Module Host URL>/Person/?birthdate={date-range}

Ex- localhost:8083/openmrs-standalone/ws/fhir/Person/?birthdate=1995-05-25

Address Sub Resource

<OpenMRS FHIR Module Host URL>/Person/?address-city={string}

Ex - localhost:8083/openmrs-standalone/ws/fhir/Person/?address-city=france

May I know that can’t I use the OpenMRS Standalone App ( Platform 2.3.0) to test all the existing FHIR Module resources and its sub resources? Doesn’t it include all the endpoints?

If it is, which OpenMRS product is good for testing all the FHIR Module resources?

Thank You.

@ayesh do we really need these details (like content lenght …) in the curl examples on the console ?? and we dont have them for other examples as well there are just present for the first example here.

Yes that is right

The Wiki page refers to the FHIR2 module, which isn’t part of Platform 2.3.0, but which can be added to it if you remove the existing FHIR module.

Hi @ibacher,

Thank you for the information. I searched about how to replace existing FHIR module with new one and couldn’t find good explanation about that :kissing_smiling_eyes:

I download new FHIR Module from OpenMRS Add ONS page. Since Platform 2.3.0 UI doesn’t have a way to remove existing FHIR module from it, Do I need to delete the fhir-1.19.0.omod file from openmrs-standalone-2.3.0/tomcat/webapps/openmrs-standalone/WEB-INF/bundledModule file directory and add new fhir-1.20.0.omod file into same directory?

Also, Do I need to remove fhir directory in openmrs-standalone-2.3.0/tomcat/webapps/openmrs-standalone/WEB-INF/view/module file directory?

Is it the safest way to remove and add a new module?

Thank You

Part of the problem is that we haven’t actually released a version of the FHIR2 module yet. I’m trying to push through a few rather important changes so that 1.0 will be reasonably stable. The only way to get it right now is to build from source.

Oooof… I forgot the standalone uses bundle modules. That makes things difficult because the bundled modules are actually in the OpenMRS WAR file and will be extracted every time the server is restarted.

Probably not.

Ideally, adding and removing modules is a much simpler process than this. Working from, e.g., a version of OpenMRS installed using the SDK, there’s a folder ~/openmrs/<server name>/modules that contains all the modules, which can be physically deleted or replaced. That’s usually safest. I might need to package up a separate release of the standalone to get a version that works with the FHIR2 module.

1 Like

@ayesh can you tell me why I am getting an error ( curl: (6) Could not resolve host: GET) with the correct responses from the server when I query on the refApp server using curl ? I did the basic authentication and server replied with correct responses but with this error as well i couldnt figure out. here is the response in pasteBin

Hi @saurabh

can you send paste here the curl request ?

1 Like

curl -u admin:Admin123 -i GET “” this is it @ayesh


its curl -u admin:Admin123 -X GET “”

1 Like

@ayesh thank you, it fixed the response !!.

Hi @ibacher @sharif @ccwhite23 ,

I tested FHIR1 Module using the OpenMRS Standalone App ( Platform 2.3.0). Seems some search queries are not working for FHIR 1.19.0 Module in OpenMRS Standalone App .

Example - The request

-curl --location --request GET 'localhost:8081/openmrs-standalone/ws/fhir/Person?birthdate=2003-10-22' \

Is getting the following error with HTTP 400 bad request.

"Invalid request: The FHIR endpoint on this server does not know how to handle GET operation[Person] with parameters [[birthdate]]" t.

And I checked FHIR2 rest API calls format in the documentation. I realised that there is a difference between FHIR1 and FHIR2 Module. In GSoD 2020 which FHIR module need documentation?

I tried to run FHIR2 module in locally as follows.

  1. Get openmrs-core from Git repository
  2. Checkout its 2.3.x branch
  3. Build the project ( cd openmrs-core & mvn clean package)
  4. Get openmrs-module-fhir2 from Git repository
  5. Checkout its master branch
  6. Build the project using mvn clean install command
  7. Copy the fhir2-1.0.0-SNAPSHOT.omod file in openmrs-module-fhir2/omod/target directory
  8. Paste it in .OpenMRS/modules directory
  9. Run the OpenMRS Core project ( cd openmrs-core/webapp & mvn jetty:run)

After that, I made the request

curl --location --request GET 'http://localhost:8080/openmrs/ws/fhir2/Person/ca5-1691-11df-97a5-7038c432aabf' \
 --header 'Authorization: Basic YWRtaW46QWRtaW4xMjM=' \

and it gives HTTP 404 Not Found. :pensive:

If the API documentation should be done for FHIR2 module, could you please help me to setup FHIR2 module with OPenMRS Core?

Thank You.

should I add this verbose info in every query example on the console since its added only in the first query example in the docs. in addition I think we should mention about the alternate servers that a user can query on when the demo server is down should I add these changes to the docs @ayesh ?

Hi @saurabh

I dont think we need verbose in every sample. Adding the server is not necessary normally Its better not to touch qa-ref app alot.Since it will be the qa env for the qa team

Maybe look more there are lot of formating issues you can work on :slightly_smiling_face:

1 Like

okay @ayesh I will look for the same !!.