The Dutch Development Instrument (DDI)
The Dutch Development Instrument (DDI; in Dutch: Van Wiechenschema) is the standard instrument used to measure development during the ages 0-4 years. The DDI consists of 75 milestones. The instrument assesses three developmental domains:
- Fine motor, adaptation, personality and social behaviour;
- Communication;
- Gross motor.
The milestones form two sets, one for children aged 0-15 months, and another for children aged 15-54 months. The YHC professionals administer an age-appropriate subset of milestones at each of the scheduled visits, thus building a longitudinal developmental profile for each child.
Description of SMOCC study
The Social Medical Survey of Children Attending Child Health Clinics (SMOCC) study is a nationally representative cohort of 2,151 children born in The Netherlands during the years 1988–1989 [@herngreen1994]. The study monitored child development using observations made on the DDI during nine visits covering the first 24 months of life. The SMOCC study collected information during the first two years on 57 (out of 75) milestones.
The standard set in the DDI consists of relatively easy milestones that 90 per cent of the children can pass at the scheduled age. This set is designed to have maximal sensitivity for picking up delays in development. A distinctive feature of the SMOCC study was the inclusion of more difficult milestones beyond the standard set. The additional set originates from the next time point. The success rate on these milestones is about 50 per cent.
Codebook of DDI 0-30 months
Item | Debut | Domain | Label |
---|
ddicmm029 | 1m | Communication | Reacts when spoken to |
ddifmd001 | 1m | Fine motor | Eyes fixate |
ddigmd052 | 1m | Gross motor | Moves arms equally well |
ddigmd053 | 1m | Gross motor | Moves legs equally well |
ddigmd056 | 1m | Gross motor | Lifts chin off table for a moment |
ddicmm030 | 2m | Communication | "Smiles in response (M; can ask parents)" |
ddifmd002 | 2m | Fine motor | Follows with eyes and head 30d < 0 > 30d |
ddicmm031 | 3m | Communication | vocalizes in response |
ddifmd003 | 3m | Fine motor | Hands open occasionally |
ddifmm004 | 3m | Fine motor | Watches own hands |
ddigmd054 | 3m | Gross motor | Stays suspended when lifted under the armpits |
ddigmd057 | 3m | Gross motor | Lifts head to 45 degrees on prone position |
ddicmd116 | 6m | Communication | Turn head to sound |
ddifmd005 | 6m | Fine motor | Plays with hands in midline |
ddigmd006 | 6m | Gross motor | Grasps object within reach |
ddigmd055 | 6m | Gross motor | No head lag if pulled to sitting |
ddigmd058 | 6m | Gross motor | Looks around to side with angle face-table 90 |
ddigmd059 | 6m | Gross motor | Flexes or stomps legs while being swung |
ddicmm033 | 9m | Communication | Says dada, baba, gaga |
ddifmd007 | 9m | Fine motor | Passes cube from hand to hand |
ddifmd008 | 9m | Fine motor | Holds cube, grasps another one with other hand |
ddifmm009 | 9m | Fine motor | Plays with both feet |
ddigmm060 | 9m | Gross motor | Rolls over back to front |
ddigmd061 | 9m | Gross motor | Balances head well while sitting |
ddigmd062 | 9m | Gross motor | Sits on buttocks while legs stretched |
ddicmm034 | 12m | Communication | Babbles while playing |
ddicmm036 | 12m | Communication | "Waves 'bye-bye' (M; can ask parents)" |
ddifmd010 | 12m | Fine motor | Picks up pellet between thumb and index finger |
ddigmd063 | 12m | Gross motor | Sits in stable position without support |
ddigmm064 | 12m | Gross motor | Crawls forward, abdomen on the floor |
ddigmm065 | 12m | Gross motor | Pulls up to standing position |
ddicmm037 | 15m | Communication | Uses two words with comprehension |
ddicmd136 | 15m | Communication | "Reacts to verbal request (M; can ask parents)" |
ddifmd011 | 15m | Fine motor | Puts cube in and out of a box |
ddifmm012 | 15m | Fine motor | "Plays 'give and take' (M; can ask parents)" |
ddigmm066 | 15m | Gross motor | "Crawls, abdomen off the floor (M; can ask parents)" |
ddigmm067 | 15m | Gross motor | Walks while holding onto play-pen or furniture |
ddicmm039 | 18m | Communication | Says three 'words' |
ddicmd141 | 18m | Communication | Identifies two named objects |
ddifmd013 | 18m | Fine motor | Tower of 2 cubes |
ddifmm014 | 18m | Fine motor | "Explores environment energetically (M; can ask parents)" |
ddigmd068 | 18m | Gross motor | Walks alone |
ddigmd069 | 18m | Gross motor | Throws ball without falling |
ddicmm041 | 24m | Communication | Says sentences with 2 words |
ddicmd148 | 24m | Communication | Understands 'play' orders |
ddifmd015 | 24m | Fine motor | Builds tower of 3 cubes |
ddifmm016 | 24m | Fine motor | "Imitates everyday activities (M; can ask parents)" |
ddigmd070 | 24m | Gross motor | Squats or bends to pick things up |
ddigmd146 | 24m | Gross motor | "Drinks from cup (M; can ask parents)" |
ddigmd168 | 24m | Gross motor | Walks well |
ddicmm043 | 30m | Communication | "Refers to self using 'me' or 'I' (M; can ask parents)" |
ddicmd044 | 30m | Communication | Points at 5 pictures in the book |
ddifmd017 | 30m | Fine motor | Tower of 6 cubes |
ddifmd018 | 30m | Fine motor | Places round block in board |
ddifmm019 | 30m | Fine motor | "Takes off shoes and socks (M; can ask parents)" |
ddifmd154 | 30m | Fine motor | "Eats with spoon without help (M; can ask parents)" |
ddigmd071 | 30m | Gross motor | Kicks ball |
TRUE
Table @ref(tab:smoccitems) shows the 57 milestones from the DDI for ages 0 - 30 months as administered in the SMOCC study. Items are sorted according to debut, the age at which the item appears in the DDI. The response to each milestone is either a PASS (1) or a FAIL (0). Children who did not pass a milestone at the debut age were re-measured on that milestone during the next visit. The process continued until the child passed the milestone.
Probability of passing a milestone given age
Figure 1 summarizes the response obtained on each milestone as a curve against age. The percentage of pass scores increases with age for all milestones. Note that curves on the left have steeper slopes than those on the right, thus indicating that development is faster for younger children.
The domain determines the coloured (blue: gross motor, green: fine motor, red: communication). In general, domains are well mixed across age, though around some ages, e.g., at four months, multiple milestones from the same domain appear.
Probability of passing a milestone given D-score
Figure 2 is similar to Figure @ref(fig:smoccpa), but with the horizontal axis replaced by the D-score. The D-score summarizes development into one number. See @ref(sec:dscoreestimation) for a detailed explanation on how to calculate the D-score. The vertical axis with per cent pass is unchanged.
The percentage of successes increases with D-score for all milestones. In contrast to Figure @ref(fig:smoccpa) all curves have a similar slope, a desirable property needed for an interval scale with a constant unit of measurement (c.f. Section @ref(sec:unitbased)).
How can the relation between per cent pass and age be so different from the relation between per cent pass and the D-score? The next section explains the reason.
Relation between age and the D-score
Figure 3 shows that the relation between D-score and age is nonlinear. Development in the first year is more rapid than in the second year. During the first year, infants gain about 40\(D\), whereas in the second year they gain about 20\(D\). A similar change in growth rate occurs in length (first year: 23 cm, second year: 12 cm, for Dutch children).
Figure 4 shows the mutual relations between age, percentage of milestone passing and the D-score. There are three main orientations.
- In the default orientation (age on the horizontal axis, D-score on the vertical axis), we see a curvilinear relation between the age and item difficulty.
- Rotate the graph (age on the horizontal axis, passing percentage on the vertical axis). Observe that this is the same pattern as in @fig-smoccpa (with unequal slopes). Curves are coloured by domain.
- Rotate the graph (D-score on the horizontal axis, passing percentage on the vertical axis). Observe that this pattern is the same as in Figure 2 (with equal slopes).
All patterns can co-exist because of the curvature in the relation between D-score and age. The curvature is never explicitly modelled or defined, but a consequence of the equal-slopes assumption in the relation between the D-score and the passing percentage of a milestone.
D-score berekenen
Er zijn drie manieren om de D-score uit te rekenen:
JAMES
Deze functionaliteit is met name waardevol bij het beoordelen van de ontwikkeling van individuele kinderen.
Wanneer de JSON-data BDS-nummers bevat die corresponderen met het Van Wiechenschema, berekent JAMES automatisch de D-score. Dit gebeurt via de eerder besproken functie james_post()
. De D-score en de DAZ (de op leeftijd gecorrigeerde D-score) worden teruggegeven in de xyz
-component als rijen waarvoor yname == "dsc"
geldt. Op deze manier is het ook mogelijk om een D-score diagram op te vragen voor een individueel kind.
De berekening zelf vindt plaats in de functie bdsreader::read_bds()
, die intern dscore::dscore()
aanroept. Raadpleeg de broncode van read_bds()
voor technische details over de omzetting van BDS-codes naar het formaat dat geschikt is voor het dscore
-pakket.
D-score calculator
De D-score calculator is met name geschikt voor het eenmalig berekenen van de D-score en DAZ bij het beoordelen van de ontwikkeling van groepen kinderen.
De D-score calculator is een webapplicatie waarmee de D-score en DAZ kunnen worden berekend op basis van een upload van een CSV-bestand met kindgegevens.
De belangrijkste bottleneck bij het gebruik van de applicatie is het correct aanleveren van variabelenamen en coderingen. De app biedt hiervoor verschillende hulpmiddelen, waaronder de mogelijkheid om een voorbeeld-CSV te genereren met de juiste structuur en naamconventies. Dit bestand kan worden aangepast en vervolgens opnieuw geüpload. De applicatie valideert de input en geeft duidelijke waarschuwingen of foutmeldingen wanneer variabelen ontbreken of verkeerd zijn benoemd.
Daarnaast genereert de calculator desgewenst een D-scorediagram per kind.
De app bevat een korte instructievideo met de belangrijkste stappen.
D-score package
Het dscore
-pakket is de meest geschikte optie voor het integreren van D-scoreberekeningen in een data-analysepipeline, zowel voor individuele kinderen als voor groepen kinderen.
Het is ook mogelijk om de D-score te berekenen met de functie james_post()
, mits de parameter dscore
op TRUE
is gezet. Dit is met name handig wanneer je D-scores wilt berekenen voor datasets die geen BDS-nummers bevatten.
Het dscore
-pakket vormt de basis van alle D-scoreberekeningen. Het is beschikbaar via CRAN en geldt als de internationale standaard voor de D-score — niet alleen voor het Van Wiechenschema, maar ook voor ruim 20 andere instrumenten voor het meten van de ontwikkeling van jonge kinderen.
De belangrijkste stappen voor gebruik zijn te vinden in de handleiding Getting started.