A requirement of the licence for the API is that any charts rendered must meet these standards as agreed by the Digital Growth Charts Project Board. A large amount of documentation has been produced to guide the clinically safe design and rendering of UK growth charts.
Implementation support service
The RCPCH can assist in both the technical implementation and clinical assurance of any new charts implementations, to ensure adherence to the Project Board specification, a clinically safe user interface, and likely clinician user acceptance. Please contact us to discuss your needs on firstname.lastname@example.org
The UK growth charts are made up of 4 datasets taken from 2 growth references (see clinical documentation for more detail).
The UK90 preterm dataset runs from 23 weeks gestation to 42 weeks postmenstrual age as length (from 25 weeks), weight and head circumference.
The WHO 2006 dataset runs from 2 weeks of age to 2 years of age as length, weight, BMI and head circumference.
The WHO 2006 dataset continues as height (now measured standing) from 2 years to 4 years of age
The UK90 dataset picks up until 20y (head circumference to 17 in girls and 18 y in boys)
Implications for charting digitally¶
These datasets all overlap, and therefore when plotting them, they must be passed to charting packages as 4 individual series. This means they will appear as discontinuous, with breaks in the lines where they meet/overlap.
There is a natural step at each of these time points which must be respected. If all 4 datasets are presented 0-20y as a continuous dataset, chart packages will interpolate the gaps and the intentional 'step' will be lost.
The API endpoint returns the chart data in an array of arrays. The first level array represents the 9 centiles [0.4, 2, 9 , 25, 50, 75, 91, 98, 99.6], with each centile in turn having a nested array of 4 arrays of data, one for each dataset (see below). The individual data points are reported as float values for x and y coordinates. X corresponds to decimal age, y to the measurement value of the chart requested.
The chart data is only returned for the measurement method requested - if only height is supplied, only height centile data will be returned.
In addition to the centile data, the growth data presented to the endpoint in the request are returned as an array of x and y values.
Specifications for implementing your own charting¶
React component reference charting implementation
Making growth charts that adhere to the specifcation and are clinical safe and usable is not completely straightforward. That's why we have built a reference implementation of the charts, as a permissively licensed React component so that you can use it in your own application.
Provide the facility to toggle between height chart and weight chart or display together.
Offer option of BMI and head circumference charts for health staff use.
Allow the chart to be scaleable, i.e. zooming in or out, while maintaining variable, visible axes or offer a variety of age ranges displayed to optimise data view.
Provide option of Z-score (SD) plots for health staff use (see below).
Provide help / information facility to access instructions drawn from the RCPCH educational materials (see separate documents: information for parents, information for health staff).
When plotting centile charts¶
Certain key presentation principles should be included:
Use nine-centile format (see below).
Scale different elements of the chart to best display information in each period.
Use fortnightly grid points to 6 months, monthly thereafter.
Either show exact age and centile band (see below) when hovering over a point or show in an embedded table.
Data points should not be joined by lines.
There should be a toggle button to allow the user to see the chronological and corrected ages separately or together.
Omit grid lines, which are only useful for manual plotting, and the Y axis can be inconspicuous.
When Plotting Z-score (SD) charts¶
Z-score centile charts may be created with age on the X axis and Z-score on the Y axis – this converts the centile curves to horizontal straight lines.
All available measurements (weight, height, head, BMI) should be plotted as series on the same chart with consistent colour coding of the different series (e.g. weight could always be red and height blue etc).
The data points may be joined by fine lines.
The Y axis should cross the X axis at Z = 0 and have horizontal centile lines at intervals of 0.67 Z between -2.67 and 2.67.
Adjusting for Gestation at birth¶
On the centile chart it should be made clear that allowance has been made for varying age of gestation at birth by offering the option of plotting at chronological age with a circle as well as gestational age (age – number of weeks premature) with a cross. If plotted together, they should be joined by a line. An option should be offered to toggle between the plotted chronological, corrected ages and both.
Gestation Age Correction through the life course
The standard has recently changed such that now gestational age is taken into account, even when born at gestational ages regarded as term, and across the whole lifespan. This change was adopted because digital charting makes gestational age correction much easier to do, in fact it is now a completely automated process because of the the dGC API. (Note that this is different from paper charts, where gestational age correction was manual and therefore was only done up to 1 or 2 years depending on the degree of prematurity).
|Example Gestation||Old policy||New policy|
|39 weeks 4 days||Plot on 'Term' reference||'Term' reference has been abandoned in favour of plotting on UK90 preterm chart up till corrected gestational age of 42 weeks 0 days|
|26 weeks 0 days||Gestational age correction applied until 2 (corrected) years old||Correct for the whole life span|
|35 weeks 6 days||Gestational age correction applied until 1 (corrected) year old||Correct for the whole life span|
Definitions: Gestation at birth Weeks premature Gestational age Chronological age
Gestational adjustment option provided for all birth gestations and continues indefinitely.
On a Z-score plot the gestationally adjusted Z-score should be plotted against actual (chronological) age with a label on the plot specifying the number of weeks premature.
Essential standards for rendering¶
Whilst it is not essential to show the whole life course when plotting measurements against centile lines, the rendering of the centile lines and the plots must meet the following design standards.
Centiles should be clearly labelled.
Overlap between datasets for each centile should be clearly visible and no interpolation function should be used to attempt to link them.
The 0.4th, 9th, 50th, 91st and, 99.6th centiles should all be dashed lines (not dotted, not continuous).
The 2nd, 25th, 75th and 98th centiles should be continuous lines (thin).
Axes should be clearly labelled (Height/Length in cm, Weight in kg, body mass index in kg/m2, head circumference in cm, age in years).
X axis (age in years) increments should be monthly under the age of 2 y, 3 monthly over the age of 2 years.
Measurements (height, weight, etc) should be to one decimal place.
Centiles should be reported as integers, except if >99 or <1. If outside threshold, they should be reported as >99.6 or <0.4.
The UK Nine centile chart format¶
The nine centile lines used in the British 1990 and UK-WHO charts are labelled in terms of rounded centiles (see table below) but they are precisely defined in terms of the underlying Zscores. The following Z score thresholds are used to define the centiles in the British charts.
|Approximate centile||Exact Z-score||Line format|
Definitions and terminology Centile Bands¶
Within the normal range
A child is defined as being “on” a centile when within 0.17 SD (0.25 centile space) of the underlying exact Z-score, otherwise they are “between”.
|Centile band||SDS Lower limit||SDS Upper limit||Additional Message - Weight/Height/Head||Additional Message - BMI|
|< -6||Probable error||Probable error|
|Below 0.4th||-6.00||-2.84||Below normal range||Very thin|
|>99.6th||2.84||6||Above normal range||severely obese|
|> 6||Probable error||Probable error|