FHIR Chat · profile reference specification · implementers

Stream: implementers

Topic: profile reference specification


view this post on Zulip Ruth berge (Dec 27 2020 at 02:02):

In profiles, I see references in this format : Reference(PractitionerRole | Practitioner | Organization | Device | Patient | RelatedPerson)
In the Reference topic and in the Profile topic , there is nothing that suggests whether there is a meaning behind the requirement and order of appearance. For example, should there be a reference provided for each listed resource? Second, is there an implied preference to which resource is used based on the order? For example, if both Practitioner and Organization are available; should Practitioner be included (in a Response) because it appears first? Should both be included? Can multiple references be included? Or do we select one and only one that we choose as implementers? I'm assuming that we pick the resource and include only one resource, but can't confirm that this is correct.

view this post on Zulip Elliot Silver (Dec 27 2020 at 02:27):

@Ruth berge, this should be read as "this element may reference a PractitionerRole, Practitioner, Organization, Device, Patient or RelatedPerson." There is no preference implied. If the element may occur only once, it may reference any one of those; if the element may occur more than once, it may reference multiple resources of the same type or resources of different types.

It is up to the server to determine what to return (especially if the internal representation isn't FHIR-native); choose the reference that reflects the situation best. Resources are designed to be maximally reusable in a wide variety of situations. Often only a particular reference type makes sense for a particular use case, but that isn't always the case. [Somewhat of an exception to this is, if my server had the necessary information handy, and the capability to handle all the applicable resources types, I'd lean towards PractionerRole (which in turn links to a Practitioner) over just Practitioner, because of the richer information, but that isn't implied/required/preferred by the spec.]

I recall a discussion of what "must support" means for reference options--do you need to support all of the types, or support any one of the types?--but someone else can chime in on how to interpret that.

view this post on Zulip Ruth berge (Dec 27 2020 at 02:30):

Thanks Elliot. Perhaps others have a similar question and the resource topic should have your great explanation (unless I missed something in the documentation)

view this post on Zulip Elliot Silver (Dec 27 2020 at 02:42):

A quick search leads me to https://www.hl7.org/fhir/formats.html#table:

If one of the types is Reference or canonical, the data type might be followed by a list of allowed targets the reference is allowed to be. These might be resource names, data type names, or profile URLs, depending on the context... In profiles, references to types may be profiled - i.e. Instances of the element must comply with a specified profile or one of a list of profiles. The canonical URLs of any applicable profiles are listed inside {}.

Where an element can have a choice of data types, or is a Reference these are represented by showing the common type (Reference or Type), and then showing the applicable data type names or resource types in a stereotype, separated by the | character. Type is not formally otherwise defined by this specification, but is a super type of all the data types.

If this isn't clear enough, you can "propose a change" (at the bottom of that page) to ask for the necessary clarification.


Last updated: Apr 12 2022 at 19:14 UTC