FHIR module now at a position where it can support several key resources of OpenMRS platform. The recent project carried out by @kwateng identified that most of the resources that can be supported by the OpenMRS platform are implemented within the module. He has added one to two resources and upgrades the module. At most we can do only one or two GSoC projects on improving the module further. But there are numerous resources available in the specification which we can’t support with underline OpenMRS resources. I believe we need to think about supporting them.
So going forward, FHIR becoming more and more popular. What should be our goals with the FHIR module?
I think this is always going to be the case, since FHIR is designed for a broader use case than just EHR data. I think there are a couple of approaches:
Just implement the resources that make sense for the EHR context.
Implement basic CRUD (+ validation?) for other resources. In these cases we could just store the raw JSON in a dedicated table.
I agree with @paul that it would be pretty awesome to have this as an out of the box feature.
Personally I think the biggest issue with the FHIR module is that I’m not aware of anyone using it in production. So I think the most important next step would be to get someone using this somewhere, and reporting back on any bugs, performance issues, etc. (I realize that this isn’t something you’re in a position to action though.)
One thing I remember discussing with Suranga in the very beginning was the need to support the Strategy pattern for certain resources where the current best-practice OpenMRS data modeling approach is not always used. E.g. for the resource that lists encounter diagnoses we’d have the primary strategy be to follow the emrapi module’s approach, but a secondary strategy support the 2005-era AMPATH approach of having a “problem added” concept. Did this ever happen?
Totally agree. If someone starts to use the module in production, we can definitely address the issues that lacking in using this module in a production system.