Skip to content

Latest commit

 

History

History
386 lines (331 loc) · 17.8 KB

README.md

File metadata and controls

386 lines (331 loc) · 17.8 KB

gigs: Fetal, neonatal and infant growth assessment in Stata

Project Status: Active – The project has reached a stable, usable state and is being actively developed.

About

Produced as part of the Guidance for International Growth Standards (GIGS) project, gigs provides a single, simple interface for working with the WHO Child Growth Standards and outputs from the INTERGROWTH-21st project. You will find functions for converting between anthropometric measures (e.g. weight or length) to z-scores and centiles, and the inverse. Also included is a command for classifying newborn and infant growth according to published z-score/centile cut-offs.

Installation

The gigs package is available for Stata version 16 and over. You can install the latest stable release of gigs from GitHub using the github module for Stata:

. github install lshtm-gigs/gigs-stata

Alternatively, you can download a stable release of your choice from GitHub using the net install command from Stata. Simply go to the stable release of gigs that you want to download from the releases page on GitHub, and download the zipped archive. Unzip this downloaded archive. Within this unzipped folder will be another folder, inside which will be the .ado/.dta files needed for gigs to work. Put the path to the folder containing the .ado/.dta files in the from() option of net install, and Stata will install the necessary files.

. net install gigs, from("directory/of/unzipped/folder/with/ado/files")

Available standards

  • ig_nbs - INTERGROWTH-21st standards for newborn size

    Component standards
    Acronym Description Unit gest_days() range
    wfga Weight-or-gestational age kg 168 to 300 days
    lfga Length-for-gestational age cm 168 to 300 days
    hcfga Head circumference-for-gestational age cm 168 to 300 days
    wlrfga Weight-to-length ratio-for-gestational age kg/cm 168 to 300 days
    ffmfga Fat-free mass-for-gestational age kg 266 to 294 days
    bfpfga Body fat percentage-for-gestational age % 266 to 294 days
    fmfga Fat mass-for-gestational age kg 266 to 294 days
  • ig_png - INTERGROWTH-21st standards for postnatal growth in preterm infants

    Component standards
    Acronym Description Unit xvar() range
    wfa weight-for-age kg 27 to ≤64 weeks PMA
    lfa length-for-age cm 27 to ≤64 weeks PMA
    hcfa head circumference-for-age cm 27 to ≤64 weeks PMA
    wfl weight-for-length kg 35 to 65 cm
  • ig_fet - INTERGROWTH-21st fetal standards

    Component standards
    Acronym Description Unit x range
    hcfga head circumference-for-GA mm 98 to 280 days
    bpdfga biparietal diameter-for-GA mm 98 to 280 days
    acfga abdominal circumference-for-GA mm 98 to 280 days
    flfga femur length-for-GA mm 98 to 280 days
    ofdfga occipito-frontal diameter for-GA mm 98 to 280 days
    efwfga estimated fetal weight-for-GA grams 154 to 280 days
    sfhfga symphisis-fundal height-for-GA mm 112 to 294 days
    crlfga crown-rump length-for-GA mm 58 to 105 days
    gafcrl GA-for-crown-rump length days 15 to 95 mm
    gwgfga gestational weight gain-for-GA kg 98 to 280 days
    pifga pulsatility index-for-GA 168 to 280 days
    rifga resistance index-for-GA 168 to 280 days
    sdrfga systolic/diastolic ratio-for-GA 168 to 280 days
    tcdfga transcerebellar diameter-for-GA mm 98 to 280 days
    gaftcd GA-for-transcerebellar diameter days 12-55 mm
    poffga parietal-occipital fissure-for-GA mm 105 to 252 days
    sffga Sylvian fissue-for-GA mm 105 to 252 days
    avfga anterior horn of the lateral ventricle-for-GA mm 105 to 252 days
    pvfga atrium of the posterior horn of the lateral ventricle-for-GA mm 105 to 252 days
    cmfga cisterna magna-for-GA mm 105 to 252 days
    hefwfga Hadlock estimated fetal weight-for-GA g 126 to 287 days
  • who_gs - WHO Child Growth Standards for term infants

    Component standards
    Acronym Description Unit xvar() range
    wfa weight-for-age kg 0 to 1856 days
    bfa BMI-for-age kg/m2 0 to 1856 days
    lhfa length/height-for-age cm 0 to 1856 days
    hcfa head circumference-for-age cm 0 to 1856 days
    wfl weight-for-length kg 45 to 110 cm
    wfh weight-for-height kg 65 to 120 cm
    acfa arm circumference-for-age cm 91 to 1856 days
    ssfa subscapular skinfold-for-age mm 91 to 1856 days
    tsfa triceps skinfold-for-age mm 91 to 1856 days

Conversion functions

Each conversion function has similar syntax. The main function call determines the set of standards in use, the acronym parameter specifies which component standard is being used, and the conversion parameter specifies the type of conversion you wish to perform. This conversion parameter can take one of four values: "v2z" (value-to-z-score), "v2c" (value-to-centile), "z2v" (z-score-to-value), "c2v" (centile-to-value). The sex() and sexcode() options supply the non-fetal functions with sex data - without this, these sex-specific growth standards cannot be applied.

INTERGROWTH-21st Newborn Size standards, including very preterm

This function can be used to convert between measurements and z-scores/centiles in each of the INTERGROWTH-21st Newborn Size Standards.

INTERGROWTH-21st Postnatal Growth standards

This function can be used to convert between measurements and z-scores/centiles in each of the INTERGROWTH-21st Postnatal Growth of Preterm Infants Standards.

INTERGROWTH-21st Fetal Growth standards

This function can be used to convert between measurements and z-scores/centiles in each of the INTERGROWTH-21st Fetal standards.

WHO Child Growth Standards

This function can be used to convert between measurements and z-scores/centiles in each of the WHO Child Growth Standards.

Classification command

The gigs_classify_growth command is used to classify infant growth according to published cut-offs. These publications are discussed in the attached paper.

The outcome argument is used to pick specific growth analyses, or you can run all growth analyses by using all.

Available growth outcomes

  • all - Generate variables for all growth outcomes

  • sfga - Generate variables for size for gestational age

    Values and labels for generated variables sfga and sfga_severe
    Value Meaning Centile range
    -2 Severely small for gestational age <3rd
    -1 Small for gestational age (SGA) <10th
    0 Appropriate for gestational age (AGA) 10th to 90th
    1 Large for gestational age (LGA) >90th
  • svn - Generate variables for small vulnerable newborns

    Values and labels for generated variable svn
    Value Meaning Term Status Centile range
    -4 Preterm SGA Preterm <10th
    -3 Preterm AGA Preterm 10th to 90th
    -2 Preterm LGA Preterm >90th
    -1 Term SGA Term <10th
    0 Term AGA Term 10th to 90th
    1 Term LGA Term >90th
  • stunting - Generate variables for stunting

    Values and labels for generated variables stunting and stunting_outliers
    Value Meaning Z-score range
    -2 Severe stunting -5 to -3
    -1 Stunting -3 to -2
    0 Not stunting -2 to 5
    -10 Implausible <-5 or >5
  • wasting - Generate variables for wasting

    Values and labels for generated variables wasting and wasting_outliers
    Value Meaning Z-score range
    -2 Severe wasting -5 to -3
    -1 Wasting -3 to -2
    0 Not wasting -2 to 2
    1 Overweight 2 to 5
    -10 Implausible <-5 or >5
  • wfa - Generate variables for weight-for-age

    Values and labels for generated variables wfa and wfa_outliers
    Value Meaning Z-score range
    -2 Severely underweight -6 to -3
    -1 Underweight -3 to -2
    0 Normal weight -2 to 2
    1 Overweight 2 to 5
    -10 Implausible <-6 or >5
  • headsize - Generate variables for head size

    Values and labels for generated variable headsize
    Value Meaning Z-score range
    -2 Severe microcephaly <-3
    -1 Microcephaly -3 to -2
    0 Normal weight -2 to 2
    1 Microcephaly -3 to -2
    2 Severe microcephaly >3

Examples

This section illustrates a possible use case using life6mo.dta, an extract of data from the Low birthweight Infant Feeding Exploration (LIFE) Study. It contains weight measurements for term and preterm infants from birth (visitweek == 0) to around six months of age (visitweek == 26).

. use life6mo, clear
. keep id gestage sex visitweek pma age_days weight_g
. local 37weeks 7 * 37
. list in f/9, noobs abbreviate(10) sep(9)
 __________________________________________________________
|  id  gestage  sex visitweek   pma   age_days   weight_g  |
|   1      273    1         0   273          0   2300      |
|   1      273    1         1   280          7   2185      |
|   1      273    1         2   288         15   2325      |
|   1      273    1         4   301         28   2575      |
|   1      273    1         6   316         43   3410      |
|   1      273    1         10  344         71   4262.3333 |
|   1      273    1         14  376        103   5050      |
|   1      273    1         18  399        126   5431.6667 |
|   1      273    1         26  460        187   5835      |
 ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾

Conversion

We can use the conversion functions listed above to generate weight-for-age z-scores (WAZs) in the different study populations (i.e. term vs preterm) and measurement timings (i.e. z-scores for newborns with INTERGROWTH-21st Newborn Size Standards, WHO/INTERGROWTH Postnatal standards after birth).

. egen double waz_nbs = ig_nbs(weight_g/1000, "wfga", "v2z") ///
>     if age_days == 0, ///
>     gest_days(gestage) sex(sex) sexcode(m=1, f=2)
(2,432 missing values generated)

. egen double waz_who = who_gs(weight_g/1000, "wfa", "v2z") ///
>     if age_days > 0 & gestage >= `37weeks´, ///
>     xvar(age_days) sex(sex) sexcode(m=1, f=2)
(1,360 missing values generated)

. gen pma_weeks = pma / 7
. egen double waz_png = ig_png(weight_g/1000, "wfa", "v2z") ///
>     if age_days > 0 & gestage < `37weeks´, ///
>     xvar(pma_weeks) sex(sex) sexcode(m=1, f=2)
(1,463 missing values generated)
. drop pma_weeks

We can then combine these WAZs into one overall waz variable:

. gen double waz = waz_who if gestage > `37weeks´
(1,508 missing values generated)
. replace waz = waz_png if gestage < `37weeks´
(1,026 real changes made)
. replace waz = waz_nbs if age_days == 0
(57 real changes made)

. list visitweek gestage pma waz_* waz in f/9, noobs sep(9)
 ____________________________________________________________________
| visitw~k  gestage  pma    waz_nbs      waz_who  waz_png        waz |
|        0      273  273  -2.298544            .        .  -2.298544 |
|        1      273  280          .    -3.028356        .  -3.028356 |
|        2      273  288          .   -3.2685948        . -3.2685948 |
|        4      273  301          .   -3.6824586        . -3.6824586 |
|        6      273  316          .   -2.7962372        . -2.7962372 |
|       10      273  344          .   -2.5495876        . -2.5495876 |
|       14      273  376          .   -2.3102437        . -2.3102437 |
|       18      273  399          .   -2.3030732        . -2.3030732 |
|       26      273  460          .   -2.8157742        . -2.8157742 |
 ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾

This waz variable can then be used to determine whether infants are underweight at different age points, or to track the growth trajectory of individual children.

Classification

This dataset contains information on weight at birth, so could be used to calculate size-for-gestational age classifications. The gigs_classify_growth command will automatically pick out birth observations, and compute size-for-GA in these observations:

. use life6mo, clear
. gen wt_kg = weight_g / 1000
. gigs_classify_growth sfga, ///
>     gest_days(gestage) sex(sex) sexcode(m=1, f=2) ///
>     weight_kg(wt_kg) id(id)
Requested outcomes:
    Size-for-gestational age (sfga)
NOTE: There were 231 birth observations where `age_days' > 0.5.
NOTE: There was 1 birth measure where an infant was too old for the 
      INTERGROWTH-21st Newborn Size standards (`gest_age' > 300).
      This infant will be assessed with the WHO Growth Standards instead.
Supplied data:
    Weight in kg
Running analyses. New/replaced variables:
    Generated new variable birthweight_centile.
    Generated new variable sfga.
    Generated new variable sfga_severe.

. tab sfga

       sfga |      Freq.     Percent        Cum.
------------+-----------------------------------
        SGA |        185       64.46       64.46
        AGA |         88       30.66       95.12
        LGA |         14        4.88      100.00
------------+-----------------------------------
      Total |        287      100.00

Known issues and bug reporting

We request that users note any bugs, issues, or feature requests on the GitHub issues page.

Authors

S. R. Parker
Maternal, Adolescent, Reproductive, and Child Health Centre
London School of Hygiene & Tropical Medicine

Dr L. Vesel
Ariadne Labs, Brigham and Women’s Hospital
Harvard T.H. Chan School of Public Health

Professor E. O. Ohuma
Maternal, Adolescent, Reproductive, and Child Health Centre
London School of Hygiene & Tropical Medicine