A single ratio or flat number; should be shown as one box with a chart (generally, a single fixed-size bar with each ratio element rendered on this bar). The numbers in this object are on some axis, generally, percentage.
type:object
type:object
properties:
properties:
key:
key:
@ -40,51 +38,16 @@ properties:
type:number
type:number
example:20.0
example:20.0
default:100.0
default:100.0
xLow:
markers:
description:|-
description:|-
*OPTIONAL*If present, draw a marker at this position indicating a lower bound. Values can be below it, but that is noteworthy, for example
A marker is rendered on the percentage bar and represents a noteworthy boundary, for example, for a prevalence indicator,
because that deviates far from national averages, or this bound represents a goal set by the practice/insurer/care group and falling below it
one standard deviation up, respectively down, from the average, to provide context. Or, a goal as set forth by a zorggroep
means the goal is not met.
or national standards body e.g. for how many diabetes patients should have a recent HbA1c measurement. If the indicator itself
type:object
is shown as a horizontal bar, this would be a small vertical line rendered on top of it.
properties:
type:array
pos:
items:
description:The percentage at which the marker is to be drawn.
type:number
type:number
example:[25,80]
example:14.0
legend:
description:A very short (dutch, *HTML*) description of what this marker represents.
type:string
example:"14%"
kind:
description:|-
What kind of bound is represented.<dl>
<dd><code>deviation</code></dd>
<dt>This marker represents X standard deviations above/below expected outcomes. Common for e.g. prevalence of a chronic illness.</dt>
<dd><code>goal</code></dd>
<dt>This marker represents a goal, for example, You should measure blood pressure for at least this % of your managed diabetes patients.</dt>
</dl>
type:string
example:deviation
enum:
- deviation
- goal
xHigh:
description:|-
Like `xLow`, but representing a higher limit instead (expectation is that nominal values would be _below_ this limit).
type:object
properties:
pos:
type:number
example:18.0
legend:
type:string
example:"18%"
kind:
type:string
example:deviation
enum:
- deviation
- goal
unitDesc:
unitDesc:
description:|-
description:|-
*OPTIONAL*describes the unit that the stated legend values are in, in dutch, and *HTML*. For example, if showing blood pressure, `mmHg`. If missing, treat as the empty string (do not show unit at all).
*OPTIONAL*describes the unit that the stated legend values are in, in dutch, and *HTML*. For example, if showing blood pressure, `mmHg`. If missing, treat as the empty string (do not show unit at all).
@ -106,10 +69,18 @@ properties:
- normal
- normal
- met
- met
- focus
- focus
counts:
description:>-
*OPTIONAL*If present, the actual values (i.e. number of patients) for each segment of the main bar; if the bar is not complete
(the values do not add up to 100), an extra value is included representing this remainder.
type:array
items:
type:number
example:[11,157,0,2]
legend:
legend:
description:>-
description:>-
*OPTIONAL*If present, render a legend box with the cart explaining what each kind of part (see `bars > parts`) represents.
*OPTIONAL*If present, render a legend box with the card explaining what each kind of segment (see `bars > segments`) represents.
Each key/value pair in this object maps a style (as used `bars > parts > style`) onto a very short, dutch, *HTML* description.
Each key/value pair in this object maps a style (as used in `bars > segments > style`) onto a very short, dutch, *HTML* description.
type:object
type:object
example:|-
example:|-
{
{
@ -133,35 +104,32 @@ properties:
properties:
properties:
legend:
legend:
description:|-
description:|-
A short *HTML* (dutch) description of the entity+measurement date represented by this bar.
*OPTIONAL*A short *HTML* (dutch) description of the entity+measurement date represented by this bar.
If only one bar is provided, can be blank.
If only one bar is provided, can be missing (no legend is needed).
type:string
type:string
example:Praktijk 2023Q3
example:Praktijk 2023Q3
value:
default:''
description:>-
segments:
*OPTIONAL*A number indicating the absolute value of what the entire bar represents. For example, if the bar represents
the number of patients included in the diabetes care program that have a recent blood pressure value, this value would
contain the total number of patients included in the care program, which serves as the divisor for this indicator.
type:number
example:262
parts:
type:array
type:array
items:
items:
description:>-
description:>-
Each part represents a slice of the total population. For example, those patients in the diabetes care program with
Each segment represents a slice of the measured population. For example, those patients in the diabetes care program with
a recent blood pressure measurement registration, or, for an indicator showing the distribution of blood pressure
a recent blood pressure measurement registration, or, for an indicator showing the distribution of blood pressure
values amongst those with a recent registration, the number of patients whose BP measurement is of serious health concern.
values amongst those with a recent registration, the number of patients whose BP measurement is of serious health concern.
For example, there could be 3 parts:40-Good, 35-Concern, 25-Problematic.
Place each segment in sequence in the bar. They are guaranteed to fit. The values for each part are relative to `xMin`/`xMax`, e.g.
a percentage. They may not add up to 100 - in that case, leave the remainder blank.
Place each part in sequence in the bar. They are guaranteed to fit. The values for each part are relative to `xMin`/`xMax`, e.g.
For example:<ul>
a percentage.
<li>3 segments for 'blood pressure results':40-Good, 35-Concern, 25-Problematic.</li>
<li>1 segment for 'blood pressure has been measured':85-Measured</li>
</ul>
type:object
type:object
properties:
properties:
style:
style:
description:|-
description:|-
Describes what kind of ratio this part describes.
Describes what kind of ratio this segment describes.
Each part represents some kind of ratio and this describes the nature of it. Each key should result in some style, generally, the color of the bar. For example, `serious` (indicating a group of patients whose lab result for this indicator is of serious concern, i.e. medically speaking quite bad news) should be rendered dark red.
Each segment represents some kind of ratio and this describes the nature of it. Render the segment according to its style. For example, `serious` (indicating a group of patients whose lab result for this indicator is of serious concern, i.e. medically speaking quite bad news) could be rendered dark red.
type:string
type:string
example:concern
example:concern
enum:
enum:
@ -172,11 +140,9 @@ properties:
- measured
- measured
- nonPrefMeasured
- nonPrefMeasured
- 'TBD:There are many more.'
- 'TBD:There are many more.'
width:
description:The size of this part, in percentages (i.e. relative to `xMin`-`xMax`).
type:number
example:11.068702
value:
value:
description:The absolute value (representing a number of patients), relative to the bar's `value` property.
description:|-
The value (in percent). For example, if `xMin` is 10, `xMax` is 40, and this is 20, render this segment at 33% of
the total length (because 20 is a third of the way in, in the range 10-40).