You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
FHIRPath 3.0.0 (spec) changes several math and aggregate rules that the engine still applies as 2.0.0 did. The extended R5 suite in reason-healthcare/rh found them while validating #122; this issue collects them.
3.0.0 says
Engine today
power() always returns a Decimal ("Math", power)
2.power(3).is(Integer) is true
ceiling(), floor(), round(), and truncate() take a Quantity
(1.5 'mg').ceiling() throws "not defined for System.Quantity"
log() signals an error when the input or the base is 0 or negative
0.log(10) and (-1).log(10) are empty; 10.log(0) is 0
Arithmetic overflow or underflow is empty ("Math" operators)
2147483647 + 1 widens to the Long 2147483648
sum(), min(), and max() throw unless all items are the same type ("Aggregates")
(1 | 2.5).sum() is 3.5
Each needs a decision before changing, since some are visible behavior (Long widening, mixed-type aggregates). The analyzer signatures should follow whatever the runtime does (AGENTS.md: shared rules).
Activity
docs: name FHIRPath 3.0.0 sections instead of 2.0.0 section numbers