November 6, 2015 1 Comment
This conversation is from the Implementers Chat. It describes what is likely to be quite a common scenario, so I’m sticking it where for when I need to remember it.
We have a usecase where a Practitioner in small practice creates a CarePlan for a Patient and assigns himself as a Participant, and sends out this CarePlan using FHIR messaging to another Application. Over time, he creates CarePlans for hundreds of Patients. Now at one point in time he hires another MD to provide care to the same Patients. This would required sending out all CarePlans that are still active with the second MD being also mentioned as a Participant.
In order to avoid these massive retransmits, we would like to use a Group resource to group all active Practitioners and assign that Group as Practitioner to all CarePlan, and only send out the Group when a member has been added or is removed.
Now the problem is: CarePlan.particpant.member is defined as Reference(Practitioner | RelatedPerson | Patient | Organization)
This is actually just an example of a bigger issue, namely, if a Group of X is allowed, each Reference( X ) should ideally also allow Reference(Group)
Any feedback from the group?
Answer from Ewout:
Hi Theo, in this case, the group of MD’s are actually acting collectively and towards the same goal (taking care of the patient), so this informal group is actually an organization (note that the definition of Organization in FHIR is broader than in normal life):
“A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action. Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, etc.”
I think organization matches your purpose, so the Organization becomes the “Participant”!