Details
-
Technical Correction
-
Resolution: Persuasive
-
Medium
-
Clinical Quality Language (FHIR)
-
1.5
-
Clinical Decision Support
-
Language Semantics
-
-
Correction
-
Non-substantive
Description
Clarify that interval computations involving open null boundaries can also make use of uncertainty, by adding the following to the Interval Operators section of Language Semantics:
Note that open null boundaries of intervals are treated as uncertainties for the purposes of interval computation. For example:
intersect Interval[1, 10] intersect Interval[5 null)
This results in an interval that begins at 5, and ends at some value between 5 and 10. Implementations can accomplish this by normalizing open intervals to closed intervals with uncertain boundaries:
If interval.low is null then interval.low = Uncertainty(minimumValue, interval.high)
If interval.high is null then interval.high = Uncertainty(interval.low, maximumValue)
Add examples and test cases to validate the behavior:
These should both evaluate to true:
define TestIntervalNull1: end of (Interval[1, 10] intersect Interval[5, null)) <= 10
define TestIntervalNull2: end of (Interval[1, 10] intersect Interval[5, null)) >= 5
And these should both evaluate to false:
define TestIntervalNull3: end of (Interval[1, 10] intersect Interval[5, null)) > 10
define TestIntervalNull4: end of (Interval[1, 10] intersect Interval[5, null)) < 5
This is a technical correction on the grounds that the JavaScript reference implementation already behaves this way.