State of immunizations in FHIR2

Reference Application V 2.12.2

Background I have read through the documentation for Mapped FHIR Resources (https://wiki.openmrs.org/display/projects/Mapped+FHIR+Resources) and it has no mention of Immunizations. Additionally, https://fhir.openmrs.org/ does in fact have examples for requesting Immunization resources. Furthermore, FHIR2 source code has implementation for returning Immunization resources. Despite this, my experimentation for accessing Immunization resources on OpenMRS (/ws/fhir2/R4/Immunization) consistently returns HTTP 404 indication that the endpoint is not implemented.

Question: What is the current state of Immunization resources in OpenMRS? Are there additional components that I am not taking into account?

Thanks.

Did you also get a chance to look at this? OPENMRS.FHIR.CORE\OpenMRS Immunization - FHIR v4.0.1

1 Like

Yes I did. But, I do not understand how to use this information in requesting/posting Immunization resources.

Are you able to reproduce this problem on this server? dev3.openmrs.org

https://issues.openmrs.org/browse/FM2-185

1 Like

Not sure what server you are trying to request from but when i use the qa-refapp at https://qa-refapp.openmrs.org/openmrs/ws/fhir2/R4/Immunization, i bypass the 404 error. Same when i use the https://dev3.openmrs.org/openmrs/ws/fhir2/R4/Immunization to request from dev3 server.

@sorliog I think you’re giving the server the wrong url, don’t forget something like /openmrs/ws/fhir2/R4/Immunization against any openmrs server instance.

Then @dkayiwa @ibacher i think the the immunization resource on https:// qa-refapp.openmrs.org/openmrs/ws/fhir2/R4/Immunization requires this concept CIEL:1421 but there seems to be an issue with it as can be seen in the response below:

{"resourceType":"OperationOutcome","text":{"status":"generated","div":"<div xmlns=\"http://www.w3.org/1999/xhtml\"><h1>Operation Outcome</h1><table border=\"0\"><tr><td style=\"font-weight: bold;\">ERROR</td><td>[]</td><td><pre>The Immunization resource requires a concept mapped to 'CIEL:1421', however either multiple concepts are mapped to that term or not concepts are mapped to that term.</pre></td>\n\t\t\t</tr>\n\t\t</table>\n\t</div>"},"issue":[{"severity":"error","code":"business-rule","diagnostics":"The Immunization resource requires a concept mapped to 'CIEL:1421', however either multiple concepts are mapped to that term or not concepts are mapped to that term."}]}

Thank you everyone for your suggestions.

@mherman22 and @dkayiwa Trying qa-refapp, I get HTTP 501 error. See screenshot below.

Trying dev3. It did successfully return Bundle for Immunizations.

However, I am running OpenMRS referenceapplication-standalone-2.12.2, and getting the url /openmrs-standalone/ws/fhir2/R4/Immunization , I get HTTP 501 error, similarly to the qa-refapp.

Does this mean that for qa-refapp and referenceapplication-standalone, immunization FHIR request are not completely implemented?

this is related to my comment here

it is more about immunization requiring this concept CIEL:1421. which i hoped @dkayiwa @ibacher @akanter to guide us on.

It is implemented there too and if the above concept is added then the request should be successful

I think the issue here is just that CIEL:1421 (IMMUNIZATION HISTORY) isn’t part of the 2.x RefApp. Since there’s no 2.x UI for immunizations, there’s little reason to make this part of the standard metadata for the app. With the 2.x RefApp, the RefApp is just an example distribution. You’d need to add the CIEL:1421 concept (and related concepts) to your metadata for your application.

1 Like

Thank you for your advice.

@ibacher @dkayiwa @akanter I would prefer not to insert concepts individually into the system. Do you happen to know of a metadata package that I can simply import into OpenMRS? Is this done with subscription?

I suppose in the worst case, I could just copy over the concepts from the concept dictionary in dev3

I think the easiest thing to do would be to create a collection of the necessary concepts on OCL and import them in CSV… or better yet, manage your dictionary in OCL with more of the CIEL concept dictionary and customize and then subscribe using the OCL module…

2 Likes

Thank you everyone. Following your advice, I imported all the concepts into OpenMRS using the OCL CIELImmunizationContent collection.

I was able to post an Immunization record into OpenMRS using FHIR, and verified that it is stored in OpenMRS by retrieving the Immunizations with a GET request. But I still have the question of how are immunizations stored in the OpenMRS database. I could not find the record in Obs, drug, drug_order, medication_dispense, and other tables. And the OpenMRS schema does not have an Immunization/vaccination table as far as I can tell. How does OpenMRS stored immunization records internally?