You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
149 lines
6.9 KiB
YAML
149 lines
6.9 KiB
YAML
type: object
|
|
properties:
|
|
key:
|
|
description: Unique identifier, not to be shown to the user, for referring to this indicator in other API calls
|
|
type: string
|
|
example: ZEL-dm2-bp-result
|
|
basedOn:
|
|
description: |-
|
|
*OPTIONAL* Refers to the key of another indicator in this set; the data this indicator represents is a calculation
|
|
based on the population of the referred-to indicator. Not necessarily something that needs to be shown in the user interface.
|
|
type: string
|
|
example: ZEL-dm2-bp
|
|
title:
|
|
description: Short, in dutch, *HTML* (but rarely includes formatting; at most, sup/superscript).
|
|
type: string
|
|
example: Prevalentie Diabetes
|
|
index:
|
|
description: |-
|
|
*OPTIONAL* Indicators usually are based on documentation that tends to take the form of an
|
|
ordered list (like html `<ol>`), and it is convenient for indicators to copy this numbering scheme.
|
|
For most UI applications, simply prefix this to the title, e.g. render as `1. Title Here`.
|
|
If missing, do not show an index in the title.
|
|
type: number
|
|
example: 1
|
|
xMin:
|
|
description: |-
|
|
Numeric value of the far left of the bar; represents a percentage (i.e. 0-100).
|
|
Most indicators range from 0% to 100%, but for some, where the values to be shown represent only a small percentage,
|
|
the bar is 'zoomed in'; it represents only a slice of the total range.
|
|
type: number
|
|
example: 10.0
|
|
default: 0
|
|
xMax:
|
|
description: |-
|
|
Numeric value of the far right of the bar; represents a percentage (i.e. 0-100).
|
|
Most indicators range from 0% to 100%, but for some, where the values to be shown represent only a small percentage,
|
|
the bar is 'zoomed in'; it represents only a slice of the total range.
|
|
type: number
|
|
example: 20.0
|
|
default: 100.0
|
|
markers:
|
|
description: |-
|
|
A marker is rendered on the percentage bar and represents a noteworthy boundary, for example, for a prevalence indicator,
|
|
one standard deviation up, respectively down, from the average, to provide context. Or, a goal as set forth by a zorggroep
|
|
or national standards body e.g. for how many diabetes patients should have a recent HbA1c measurement. If the indicator itself
|
|
is shown as a horizontal bar, this would be a small vertical line rendered on top of it.
|
|
type: array
|
|
items:
|
|
type: number
|
|
example: [25, 80]
|
|
unitDesc:
|
|
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).
|
|
type: string
|
|
example: mmHg
|
|
default: ''
|
|
style:
|
|
description: |-
|
|
A key that describes the render style for this entire indicator.
|
|
For example, 'failed' indicates that the indicator should be rendered
|
|
with a red hue to focus the user's attention on the fact that this
|
|
indicator represents a goal or requirement that they do not currently
|
|
meet.
|
|
type: string
|
|
example: failed
|
|
default: normal
|
|
enum:
|
|
- failed
|
|
- normal
|
|
- met
|
|
- 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:
|
|
description: >-
|
|
*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 in `bars > segments > style`) onto a very short, dutch, *HTML* description.
|
|
type: object
|
|
example: |-
|
|
{
|
|
"serious": "≥140",
|
|
"concern": "120-140",
|
|
"good": "≤120"
|
|
}
|
|
bars:
|
|
type: array
|
|
items:
|
|
description: >-
|
|
Each bar describes the calculated result for one entity at one measurement date. For example, an indicator box could contain 3 such entries:
|
|
<ul>
|
|
<li>The practice, this quarter.</li>
|
|
<li>The practice, previous quarter (to put this quarter into context).</li>
|
|
<li>GP group (<em>zorg groep</em>)'s results this quarter.</li>
|
|
</ul>
|
|
There is always at least one. The first one is the main bar, that is, what this report is reporting on; all further bars exist solely
|
|
to provide context.
|
|
type: object
|
|
properties:
|
|
legend:
|
|
description: |-
|
|
*OPTIONAL* A short *HTML* (dutch) description of the entity+measurement date represented by this bar.
|
|
If only one bar is provided, can be missing (no legend is needed).
|
|
type: string
|
|
example: Praktijk 2023Q3
|
|
default: ''
|
|
segments:
|
|
type: array
|
|
items:
|
|
description: >-
|
|
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
|
|
values amongst those with a recent registration, the number of patients whose BP measurement is of serious health concern.
|
|
|
|
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.
|
|
|
|
For example: <ul>
|
|
<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
|
|
properties:
|
|
style:
|
|
description: |-
|
|
Describes what kind of ratio this segment describes.
|
|
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
|
|
example: concern
|
|
enum:
|
|
- good
|
|
- concern
|
|
- problem
|
|
- serious
|
|
- measured
|
|
- nonPrefMeasured
|
|
- 'TBD: There are many more.'
|
|
value:
|
|
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).
|
|
type: number
|
|
example: 29.72
|