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.
183 lines
8.1 KiB
YAML
183 lines
8.1 KiB
YAML
description: |-
|
|
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
|
|
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
|
|
xLow:
|
|
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
|
|
because that deviates far from national averages, or this bound represents a goal set by the practice/insurer/care group and falling below it
|
|
means the goal is not met.
|
|
type: object
|
|
properties:
|
|
pos:
|
|
description: The percentage at which the marker is to be drawn.
|
|
type: number
|
|
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:
|
|
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
|
|
legend:
|
|
description: >-
|
|
*OPTIONAL* If present, render a legend box with the cart explaining what each kind of part (see `bars > parts`) represents.
|
|
Each key/value pair in this object maps a style (as used `bars > parts > 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: |-
|
|
A short *HTML* (dutch) description of the entity+measurement date represented by this bar.
|
|
If only one bar is provided, can be blank.
|
|
type: string
|
|
example: Praktijk 2023Q3
|
|
value:
|
|
description: >-
|
|
*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
|
|
items:
|
|
description: >-
|
|
Each part represents a slice of the total 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.
|
|
|
|
For example, there could be 3 parts: 40-Good, 35-Concern, 25-Problematic.
|
|
|
|
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.
|
|
a percentage.
|
|
type: object
|
|
properties:
|
|
style:
|
|
description: |-
|
|
Describes what kind of ratio this part 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.
|
|
type: string
|
|
example: concern
|
|
enum:
|
|
- good
|
|
- concern
|
|
- problem
|
|
- serious
|
|
- measured
|
|
- nonPrefMeasured
|
|
- '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:
|
|
description: The absolute value (representing a number of patients), relative to the bar's `value` property.
|
|
type: number
|
|
example: 29
|