Situation: Of the 137 resources currently needed for initial Data Migration from Ethiopia-SmartCare to OpenMRS:
only 31 are explicitly supported by our FHIR2 API
12 are partially or questionably supported.
@dkayiwa, @dagimm and I want to kick off this support work ASAP. @jnsereko & @kdaud - we think this is a fabulous fit for your fellowship. Can you and @ibacher connect with us on today’s FHIR squad call to kick off this work?
More details:
The @ICAPEthiopia team needs to migrate a lot of historical data from SmartCare-ET’s relational DB to OpenMRS’ DB. Fortunately, they recently set up a pipeline to a HAPI-FHIR server (for a CDR project with Jembi), only for key data elements that their clinicians depend on for patient history review.
Their sites are using Retrospective Data Entry, but Clinicians tend to look up a clinical summary in the system to get a quick history on the patients. That’s the data they have already set up going to that HAPI FHIR server (full FHIR structure for this here).
We need an MVP that will support their sites/clinicians’ current needs. So we are hoping to get at least this data imported into OMRS.
We were hoping to do this by GET requests from OpenMRS to the HAPI FHIR server.
p.s. 2 other points about our methods in the Gap Analysis:
@corneliouzbett@ibacher - I was just referencing this wiki page to try and i.d. what resource the OMRS API actually supports (especially used the “Search” column). Is there a better/different place I should have searched?
I’ve sorted the spreadsheet based on how often the parent resource type is actually referenced - so we can use this to triage what we focus on first. Eg Obs coverage before
@grace we have done something similar in UgandaEMR where we can send resources available in FHIR2 Module to any server that accepts fhir resources. As I have mentioned in a comment on this talk post
Little did I know that FHIR Squad time call changed from 7 PM to 5 PM EAT. @grace could you be merciful to share with me the recordings for the call? cc: @jnsereko
@jnsereko you are absolutely right - that was my bad! And sorry for the confusion for you as well @kdaud. @dkayiwa is going to follow up with you guys asap to kick off this important work
@grace, I know this is a big project. Is there going to be a separate dictionary/terminology migration thread? We have talked about creating an CIEL-mapped OHRI dictionary, but it would be great to look at the Smartcare to CIEL potential migration. Is there a google doc for this?
Small terminology thing: these should be referred to as “attributes” or “data elements”. “Resources” in FHIR are things like “Patient” (FTR, 137 is the right order of magnitude for resources we don’t support).
The code-base itself, unfortunately. The search functions only support a subset of the attributes we use.
A couple of high-level notes: the purpose of the FHIR2 module is to serve as a FHIR interface to the underlying OMRS data model. Where we need to extend the underlying data model itself, that’s probably a conversation that needs to be beyond just the scope of the FHIR2 module or the FHIR squad. A good number of these “missing” elements, especially where the elements cover entire resources (e.g., Procedure, QuestionnaireResponse, MedicationStatement, CarePlan) are gaps in the OMRS data model itself and non-trivial to add.
Support for arbitrary extensions on arbitrary resources are likely outside of the scope of the FHIR2 module altogether. These will need further analysis of what data they encode so we can come up with a reasonable place to put things in the OMRS data model (if at all possible).
I bring up these points just to highlight that this is somewhat beyond the scope of just “FHIR support in OpenMRS.” Happy to discuss all this on the FHIR Squad call.
@grace Can we bring our ideas for solving this to the TAC discussion this next Monday? Based on our discussion in the FHIR squad, we think that this merits a larger discussion about our approach.
It may be difficult to unpack that today as the CDS topic with open EHR has been being arranged for over a month now and is scheduled for today. Maybe we can just use the first ten mins to state the problem and I’d a next step, eg maybe I need to set up a specific focused call for this.