As @adunsulag pointed to some background on OpenEMR Fhir implementation thus far I want to point out that we are not trying to be a full service server implementation of Fhir. This narrows our focus on clinical setting and the resources required to communicate health information leaving much of the Fhir administrative capabilities as an aside for now.
While implementing resource search capabilities is of great import, it is more a priority to get the searchables in place meaning, Fhir resources. Currently we have two main resources, Patient and Encounter with Practitioner tagging along. While these are not complete, mainly because they can rely on resources not currently in place, they can serve as a template to new resource development.
- Create resource Rest controller class src/RestControllers.
- Create service class to support to src/Services. Currently , because i’m frugal i’m using only one class for services: src/Services/FhirResourcesService.php but probably each resource should have its own class. You can look here though on how I use Fhir src/FHIR/R4 classes to build resources.
- I should note that while the R4 classes are not necessary to implement any of the json structures, these classes(R4) are built from the specification and will make changing Fhir release support much easier in future rather than dealing with a hundred different json structures scattered about. You may also parse incoming json to the classes. Though more tedious to use the classes, I feel worthwhile in long run. I’m open on this so speak up if you want to go another way.
- Create routes in _rest_routes.inc.php.
So for now let’s concentrate on getting our resources developed. Setting up search will require developing some interface/adapter classes but if anyone feels like starting search, feel free.
So these resources ideas will be of great help:
QuestionnaireResponse - I’m working this one.
- Or any clinicals from here: https://www.hl7.org/fhir/resourcelist.html
I’d pick a simpler one to start like condition or organization.
So any taker or questions?