...
Info |
---|
The table below reflects future behavior. A change is under way that will change the FHIR Communication created and correspondingly, the CommunicationRequest required to control the creation. |
<Description of search and selection algorithm>
...
Search and selection algorithm
For most situations only a fixed set of reasonCodes are considered. However, a few remarks are in place for the situation “Automated creation of medium nemsms…”: When creating Communication/ehealth-message resources it is possible to specify a reasonCode, which provides the reason for the exchange of information. Using CommunicationRequest resources it is possible to opt-in for automatically created notifications about new messages. The set of reasonCodes is dynamic by nature when it comes to ehealth-message, ie. it may expand over time. Therefore it is meaningful to be able to create a CommunicationRequest, which is valid over time (for all or a specific EpisodeOfCare), and not sensitive to the introduction of new reasonCodes. Alternatively, it would be required to create new CommunicationRequest resources when introducing new reasonCodes, which would be rather cumbersome. Therefore, the semantics around CommunicationResources for ehealth-message notifications is slightly different than for other infrastructure events. For ehealth-message notifications (ie. the possibility for an automatically created ehealth-message with category=“notification”, medium=“nemsms”, and reasonCode copied from the original ehealth-message), it is possible to create a CommunicationRequest with no reasonCode provided, which will then logically match all possible ehealth-message reasonCodes (in contrast to other situations).
The infrastructure process of finding matching CommunicationRequests includes filtering on a valid “occurencePeriod”, status=“active”, matching co-existence tags (meta/tag), and recipient matching the Communication.recipient. Besides that, the logical infrastructure algorithm for deciding the proper CommunicationRequest resources is this (notice, though, that steps 2 and 4 only apply for “Automated creation of medium nemsms…” as explained above):
Look up CommunicationRequest resources that match both episodeOfCare and reasonCode. If no results are found continue with next step
Look up matching episodeOfCare and no reasonCode. If no results are found continue with next step
Look up matching reasonCode and no episodeOfCare. If no results are found continue with next step
Find results based on no reasonCode and no episodeOfCare. If no results are found, default behavior applies
With one or more CommunicationRequest results from the above algorithm, the following filtering applies:
If multiple results exist, choose the one with the most recent occurencePeriod.start
If multiple results exist choose those with doNotPerform = true (message suppression)
If multiple results exist choose a random one
Controlling Creation of Message with CareTeam as Recipient
...