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?
@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.
{"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."}]}
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?
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.
@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…
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?