Given
TR0242: For each METRIC's @Value or @Samples that the MEDICAL DEVICE represented by an MDS of an SDC METRIC PROVIDER displays to a USER, while the precision of this display differs from the METRIC's @Resolution or the active pm:Range has a @StepWidth that differs from the METRIC's @Resolution, the SDC METRIC PROVIDER SHALL provide the display precision by attaching one mpkp:DisplayPrecision EXTENSION with @ext:MustUnderstand = false to the active pm:Range element.
NOTE—The mpkp:DisplayPrecision/@StepWidth implies the number of decimal places that are used on display. For example, a value of 0.1 or 0.4 indicates that one decimal place is displayed whereas a value of 4 or 20 indicates that no decimal place is displayed.
Given this requirement, it is mandatory to add a mpkp:DisplayPrecision element to a metric if either
- the @Resolution
of the metric is different from display, or
- the @StepWidth
of the "currently active" Range is different from the metric's @Resolution
, display appears to have no influence on this condition
The definition of the mpkp:DisplayPrecision/@StepWidth
attribute is as follows:
If for a METRIC a currently active pm:Range/@StepWidth differs from the step width that is used to display the METRIC to a USER, an SDC METRIC PROVIDER can attach DisplayPrecision to the pm:Range element. The DisplayPrecision EXTENSION is allowed to appear once per pm:Range and contains @ext:MustUnderstand = false.
This definition outlines a different condition, specifically, it is if
- the @StepWidth
of the "currently active" Range of the metric is different from display
This does not align with the requirement at all. Additionally, there is a note for requirement TR0246 that also aligns with the definition of the attribute:
NOTE—If the display precision of the SDC METRIC PROVIDER differs from the currently active
pm:Range/@StepWidth, it can be retrieved from the mpkp:DisplayPrecision EXTENSION, see TR0242 in 6.1.7.
These two seem to enforce a mechanism whereby the priority for consumers is:
- if mpkp:DisplayPrecision/@StepWidth
exists, use it
- else if "active range"/@StepWidth
exists, use it,
- else use @Resolution
This is however not how TR0242 works, making it very unclear how mpkp:DisplayPrecision
is actually supposed to function.
Diff: