Example Batch Requests for Patient Summary (#FHIR)
Feb 10, 2016Andy G from Mitre submitted this gForge task:
It is currently difficult for a FHIR client to create a summary display for a patient. For example, if a application wanted to display demographic information, encounters, vital signs and a problem list, medication list and allergies, it has the following choices:
1) It could make multiple requests to the FHIR server. It could request the Patient resource and then make repeated FHIR search requests against all of the different resource types it needs.
2) It could use the $everything operation. This will likely return more information than what is needed. Yes, it can be filtered by time, but more likely, the desire is to filter by data type.
3) It could perform a search on the Patient resource and use _revinclude to pull in additional resources. There appears to be no capability to filter the reverse included resources, which will almost certainly return more information than desired. In the pervious example, a client looking for vital signs would reverse include Observations. This could create a flood of information.
I would suggest modifying the $everything operation, or creating a new operation that allows for more advanced filtering of what is returned. One suggestion would be to add a resource parameter to the $everything operation. That, in conjunction with the time bounds would go a long way towards solving this issue.
Indeed, that’s an interesting problem. After discussion, we found that a batch operation was the best outcome, so Andy kindly contributed a couple of examples:
- meds_and_allergies - Retrieve a patients medications, allergies, problems and immunizations (e.g. the Australian PCEHR shared health summary)
- simple_summary - Retrieve a patient’s conditions, medication statements and blood pressure readings since a given date
And to help, I’ve attached my server’s response, based on the examples in the specification:
We plan to add these examples to the specification in the future.