1
votes

I am trying to understand how FHIR handles null flavors in comparison to CDA. Here, FHIR says that "FHIR approaches the problem differently. Null flavors are only introduced in the core specification in those circumstances where it is expected that most systems will need them. Where needed, the flavors are constrained to those relevant to that element."

What does this mean? Does this mean that FHIR allows null flavors only in some circumstances, i.e., in some resources where it is expected that most systems will need them? But in my reading of FHIR so far where I came across several resource I found none with null flavor.

Or is it the case that FHIR does not at all allow null flavors and if one needs it, extensions should be used?

1

1 Answers

2
votes

It's indeed the case that if one needs nullFlavours, extensions may be used.

When we wrote "Null flavors are only introduced in the core specification in those circumstances where it is expected that most systems will need them" we expected our resources to have "real" elements in places where nullflavours are common (but then with a more useful name, e.g. "tooSmallToMeasure" in an Observation). This did happen to the v3 "negation" indicator, which was for example turned into an element Procedure.notPerformed.

As it turned out sometimes nullFlavors are explicitly allowed or required, but this is not done in the general specification but only in profiles and Implementation Guides, where their use is detailed and the circumstances in which they may appear is explicitly documented.