PDS syntax Shirtcliff version

** SPSS syntax for scoring the PDS 4/11/2007.
**Developed by Elizabeth Shirtcliff, Ron Dahl and Karina Quevedo.
**Some decision guidelines in this syntax include choosing coding schemes which a priori were expected to map best onto hormones and physical exam scores.
**To do this, we wanted to code summary scores in a way that captured the underlying process of pubertal development, including adrenal and gonadal maturation.
**The second decision guideline was to choose a coding scheme which took the relative timing of pubertal events into account.
*For girls. *The growth spurt is pretty early and would parallel Tanner 3, being complete by Tanner 4.
*Growth of body or pubic hair is often parallel to breast stages, encompassing all five stages.
*Skin changes would seem complete before menstruation, so prioir to Tanner 4.
*Breast stages would encompass all five stages.
*Menstruation would be after Tanner 4 and 5.
*For boys. *The biggest issue for boys is that many of the items are rather late events (growth spurt, deepening of voice, growth of hair on face).
*The next issue is that no item directly captures the genital development.
*The growth of body/pubic hair is usually the first sign of development (along with the unspecified genital development).
*Skin changes would be after the initial growth of body/pubic hair.
**The third decision was to weigh item responses according to the reliability of a child’s perception.
*For example, a child might not know if they have started their growth spurt, but they are probably pretty accurate about whether growth seems complete.

**If your variable names are different, I suggest changing them to mine in this initial syntax.
COMPUTE peta=peta.
COMPUTE petb=petb.
COMPUTE petc=petc.
COMPUTE petd=petd.
COMPUTE mpete=mpete.
COMPUTE fpete=fpete.
VARIABLE LABELS peta ‘growth in height’.
VARIABLE LABELS petb ‘growth of body hair’.
VARIABLE LABELS petc ‘noticed skin changes’.
VARIABLE LABELS petd ‘breasts begun to grow/ deepening of voice’.
VARIABLE LABELS mpete ‘male grow hair on face’.
VARIABLE LABELS fpete ‘female begun to menstruate’.
EXECUTE .

**____________________________PDS SCORING 4/11/2007 FOR GIRLS____________________________.

**CONVERTS TO 5 POINT SCALE BASED ON TIMING OF EVENT/CORRESPONDENCE WITH TANNER.
**petb 1 maps onto 1.
**petb 2 maps onto 2.
**petb 3 maps onto 4.
**petb 4 maps onto 5.
RECODE petb (1=1) (2=2) (3=4) (4=5) INTO petbf.
VARIABLE LABELS petbf ‘recoded petb into five stages based on correspondence with exam pubic hair’.
EXECUTE.

**petc 1 maps onto 1.
**petc 2 maps onto 2.
**petc 3 maps onto 4.
**petc4 maps onto 5.
RECODE petc (1=1) (2=2) (3=4) (4=5) INTO petcf.
VARIABLE LABELS petcf ‘recoded petc into five stages based on correspondence with exam pubic hair’.
EXECUTE.

**DECISIONS FOR SCORING ADRENAL SCORE.
**Problem with simply averaging petb and c together is that there will be no girls with an adrenarche score of 3, the most common stage.
**However, this is only if the girls are concordant for both petb and petc, which is not often the case.
**Frequencies show 12,18,11,6,13,2,7,5,3 subjects fall into the various stages (including half stages) in my sample.
**Decision now is to recode the half scores in a way that maps onto the pubic hair stage the best.
**Girls are probably accurate if they report no development vs some development, so a 1,5 will be coded as a 2.
**Because the bias was to exclude girls from 3, a 2,5 will be coded as a 3.
**Similarly, a 3,5 will be coded as a 3.
**Our particular sample is mostly early development, so girls who are a 4,5 are most likely 4s.
**REVISIONS.
** Additional analyses suggest that the 1,5 scores are really divided between petb and petc and there is much more accuracy if petb is weighed more heavily.
**Decision is to weigh a 1,5 as a 1 if petb is a 1 and to weigh a 1,5 as a 2 if petb is a 2. *some girls seem particularly hesitant to report skin changes.
**This dataset doesn’t have too many 3,5 scores, but those that were 3,5 were more advanced (nurse scores of 4 or 5).
**Revision is to code 3,5 as 4.
**When 4,5s are coded as 4 the K are not as good as if 4,5 is coded as a 5 because there are few PDS scores of 5 (3) but 10 Tanner scores of 5.
**Revision is to code 4,5 as 5.
**In the end, half scores almost always indicated more advanced maturation.
**K=,29 with nurse and ,45 with subject rating of pubic hair, ps<,0001.

COMPUTE adrenf=MEAN(petbf,petcf).
VARIABLE LABELS adrenf ‘average of recoded petbf and petcf’.
IF (gender=1) adrenf=0.
RECODE adrenf (0=SYSMIS).
EXECUTE.
COMPUTE adrenf2=adrenf.
IF (petb=1 AND adrenf=1.5) adrenf2=1.
IF (petb=2 AND adrenf=1.5) adrenf2=2 .
IF (adrenf=2) adrenf2=2.
IF (adrenf=2.5) adrenf2=3.
IF (adrenf=3) adrenf2=3.
IF (adrenf=3.5) adrenf2=4.
IF (adrenf=4) adrenf2=4.
IF (adrenf=4.5) adrenf2=5.
IF (adrenf=5) adrenf2=5.
IF (adrenf=5.5) adrenf2=5.
VARIABLE LABELS adrenf2 ‘adrenal score for girls based on skin changes and pubic hair’.
EXECUTE.

**CONVERTS TO 5 POINT SCALE BASED ON TIMING OF EVENT/CORRESPONDENCE WITH TANNER.
**peta 1 maps onto either breast 1 or 2 equally well.
**peta 2 maps onto either breast 2 or 3 equally well.
**peta 3 maps onto 3 the best.
**peta 4 maps onto 4 or 5 equally well. *my inclination is to put it in 5 since girls who have stopped growing are usually past menarche (stage 4).
RECODE peta (1=1) (2=2) (3=3) (4=5) INTO petaf.
VARIABLE LABELS petaf ‘recoded peta into five stages based on correspondence with exam’.
EXECUTE.

**petd 1 maps onto 1.
**petd 2 maps onto 3.
**petd 3 maps onto 4.
**petd 4 maps onto 5.
RECODE petd (1=1) (2=3) (3=4) (4=5) INTO petdf.
VARIABLE LABELS petdf ‘recoded petd into five stages based on correspondence with exam ‘.
EXECUTE.

**fpete 1 maps onto 1-3.
**fpete 2 maps onto 4-5.
RECODE fpete (1=1) (2=5) into petef.
VARIABLE LABELS petef ‘recoded fpete’.
EXECUTE.

**DECISIONS FOR SCORING GONADAL SCORE.
*Initial K=,34 with subject and .19 with nurse.
**Revising gonadf2 so that if the girl isn’t menarcheal, a 2,5 gets a score of 2.
**If a girl is menarcheal, a 2 gets a score of 3 and a 2,5 also gets a score of 3.
**If a girl is menarcheal, a 3 gets a score of 4.
**If a girl is menarcheal, a 4 gets a score of 5.
**If a girl is menarcheal, a 3.5 gets a score of 5.
**If a girl is menarcheal, a 3 2,5 or a 2 gets a score of 4.
**If a girl is not menarcheal, the highest score she can get is a 4.
**With revisions, K=,40 with subject and ,33 with nurse.

COMPUTE gonadf=MEAN(petaf,petdf).
VARIABLE LABELS gonadf ‘sum of petaf and petdf’.
IF (gender=1) gonadf=0.
RECODE gonadf (0=SYSMIS).
EXECUTE.
COMPUTE gonadf2=gonadf.
IF (gonadf=1 AND petef=1) gonadf2=1.
IF (gonadf=1.5 AND petef=1) gonadf2=1.
IF (gonadf=2 AND petef=1) gonadf2=2.
IF (gonadf=2.5 AND petef=1) gonadf2=2.
IF (gonadf=3 AND petef=1) gonadf2=3.
IF (gonadf=3.5 AND petef=1) gonadf2=3.
IF (gonadf=4 AND petef=1) gonadf2=3.
IF (gonadf=4.5 AND petef=1) gonadf2=4.
IF (gonadf=5 AND petef=1) gonadf2=4.
IF (gonadf=1 AND petef=5) gonadf2=2.
IF (gonadf=1.5 AND petef=5) gonadf2=3.
IF (gonadf=2 AND petef=5) gonadf2=4.
IF (gonadf=2.5 AND petef=5) gonadf2=4.
IF (gonadf=3 AND petef=5) gonadf2=4.
IF (gonadf=3.5 AND petef=5) gonadf2=5.
IF (gonadf=4 AND petef=5) gonadf2=5.
IF (gonadf=4.5 AND petef=5) gonadf2=5.
IF (gonadf=5 AND petef=5) gonadf2=5.
VARIABLE LABELS gonadf2 ‘gonadal score for girls based on growth spurt, breast development and menarche’.
EXECUTE.

COMPUTE PDSS=MEAN(gonadf2,adrenf2).
VARIABLE LABELS PDSS ‘PDS scoring shirtcliff version’.
EXECUTE.

**Final variables for girls include adrenf2 to index adrenal maturation and gonadf2 to index gonadal maturation. *PDSS is a composite.
**I did not adjust PDSS half scores because girls can be different stages on gonadarche and adrenarche.
**I initially included petaf to additionally include growth information in the final composite, but the correlations with hormones and the exam were worse.
**The composite includes growth in the gonadarche measure.

**____________________________PDS SCORING 5/1/2007 FOR BOYS____________________________.
**For boys, gonadal maturation would be determined by growth spurt, deepening of voice, facial hair.
**Adrenal maturation would be skin changes and pubic hair.
** In reality, it isn’t this clear cut, but decision is to keep skin changes and pubic hair out of gonadarche in order for the scales to be more orthogonal,
and because it is more parallel to girls this way.

**CONVERTS TO 5 POINT SCALE BASED ON TIMING OF EVENT/CORRESPONDENCE WITH TANNER.
**petb 1 maps onto 1.
**petb 2 maps onto 2.
**petb 3 maps onto 4.
**petb 4 maps onto 5. *technically, petb doesn’t map onto stage 5 because only 3 boys claimed growth was complete.
*If there was an older sample, I think a 4 would map onto 5.
RECODE petb (1=1) (2=2) (3=4) (4=5) INTO petbm.
VARIABLE LABELS petbm ‘recoded petb into five stages based on correspondence with exam pubic hair’.
EXECUTE.

**petc 1 maps onto 1.
**petc 2 maps onto 2.
**petc 3 maps onto 3.
**petc4 maps onto 4.
RECODE petc (1=1) (2=2) (3=3) (4=4) INTO petcm.
VARIABLE LABELS petcm ‘recoded petc into five stages based on correspondence with exam pubic hair’.
EXECUTE.

**DECISIONS FOR SCORING ADRENAL SCORE.
**Problem with simply averaging petb and c together is that our sample is young and stage 4 and 5 are not well represented.
**In fact, there are no boys who score above a 4 and only 2 who are 5s according to the exam.
**Decision now is to recode the half scores in a way that maps onto the pubic hair stage the best.
**Boys who score a 1,5 are most likely rated by the exam as a 1, so decision is to code 1,5 as a 1.
**Boys who score a 2,5 will be coded as a 3 since adrenal maturation is early and we want the distribution to be normal.
**Boys who score a 3,5 will be coded as 4 since most of them were deemed 4s by the exam.
**Although there are no boys who score a 4,5 decision is to code them as a 5.
**REVISIONS.
**A 2 seemed to correspond best with stage 3, but it doesn’t make much sense to code 2 as 3 even if kappa is reduced somewhat (from ,438 to ,411).
**Further exploration shows that a 1,5 is a 1 according to the exam when petc is 1 and 1,5 is a 2 according to the exam when petc is 2.
**Regarding 2,5, it almost always was a 2 according to the exam unless adrenm was 2,5 and petbm was a 4.
**Decision is to code a 2,5 as a 2 unless petbm is 4.
**K=,451 with nurse, ps,0001. *K =.266 with subject, p<,0001.

COMPUTE adrenm=MEAN(petbm,petcm).
VARIABLE LABELS adrenm ‘average of recoded petbm and petcm’.
IF (gender=2) adrenm=0.
RECODE adrenm (0=SYSMIS).
EXECUTE.
COMPUTE adrenm2=adrenm.
IF (adrenm=1) adrenm2=1.
IF (adrenm=1.5 AND petcm=1) adrenm2=1.
IF (adrenm=1.5 AND petcm=2) adrenm2=2.
IF (adrenm=2) adrenm2=2.
IF (adrenm=2.5 AND petbm ne 4) adrenm2=2.
IF (adrenm=2.5 AND petbm=4) adrenm2=3.
IF (adrenm=3) adrenm2=3.
IF (adrenm=3.5) adrenm2=4.
IF (adrenm=4) adrenm2=4.
IF (adrenm=4.5) adrenm2=5.
IF (adrenm=5) adrenm2=5.
IF (adrenm=5.5) adrenm2=5.
VARIABLE LABELS adrenm2 ‘adrenal score for boys based on skin changes and pubic hair’.
EXECUTE.

**CONVERTS TO 5 POINT SCALE BASED ON TIMING OF EVENT/CORRESPONDENCE WITH TANNER.
**peta 1 maps onto either genital 1 or 2 equally well. *my inclination is to put it in 1 since the growth spurt is pretty late in boys.
**peta 2 maps onto genital 3 well.
**peta 3 maps onto 4 the best.
**peta 4 maps onto nothing really. *only 2 boys said 4. *my inclination is to put it in 5 since boys would be very late pubertal to have stopped growing.
RECODE peta (1=1) (2=3) (3=4) (4=5) INTO petam.
VARIABLE LABELS petam ‘recoded peta into five stages based on correspondence with exam’.
EXECUTE.

**Confirmed that petd maps onto gonadal maturation slightly better.
**petd 1 maps onto 1.
**petd 2 maps onto 2 and 3, but 2 slightly better.
**petd 3 maps onto 3.
**petd 4 maps onto 5.
RECODE petd (1=1) (2=2) (3=3) (4=5) INTO petdm.
VARIABLE LABELS petdm ‘recoded petd into five stages based on correspondence with exam’.
EXECUTE.

**mpete 1 maps onto 1.
**mpete 2 maps onto 3 and 4, but 3 slightly better.
**mpete 3 is all over the place but perhaps best as 4.
**mpete 4 isn’t observed.
**Didn’t confirm that mpete maps onto gonadal better, but it correlates better with T and DHEA so my inclination is to keep it in gonadal.
**Decision is to create composite of gonadal maturation based on peta and d and then use mpete to resolve ambiguities.

**DECISIONS FOR SCORING GONADAL SCORE.
**Decision is to code 1 as 1 if mpete is 1 because that child is not developing yet, but if they are noticing voice changes, they are coded as a 2 because that’s a noticable developmental change.
**A 1,5 gets coded as a 2 because it means the boy is noticing some changes and most events for boys are rather late occurring.
**A 2 stays a 2 unless the boy is also noticing a deepening of voice, in which case they are coded as a 3.
**The exact same decision rule was applied to a 2,5.
**3 stays a 3 because there were few cases where mpete differentiated 3s from other stages. *variability in 3 seems random.
**3,5 gets bumped to a 4 (again because so many boy events are late) unless they also have voice changes, in which case they are 5s.
**Same exact rule for 4.
**There are no cases where gonadm is above 4,5 so the decision is to code 4,5 and 5 and 5,5 as 5.
**REVISIONS.
**The 2s are equally likely to be 1 or 2, so some discrimination is needed.
**petd is frequently 1 when the nurse is.
**Decision is to code gonadm2 similar to petd if gonadm=2.
**K=,371 with nurse, p=,0001 and ,171 with subject, p=,004.

COMPUTE gonadm=MEAN(petam,petdm).
VARIABLE LABELS gonadm ‘sum of petam and petdm’.
IF (gender=2) gonadm=0.
RECODE gonadm (0=SYSMIS).
EXECUTE.
COMPUTE gonadm2=gonadm.
IF (gonadm=1 AND mpete=1) gonadm2=1.
IF (gonadm=1 AND mpete gt 1) gonadm2=2.
IF (gonadm=1.5 AND mpete=1) gonadm2=1.
IF (gonadm=1.5 AND mpete gt 1) gonadm2=2.
IF (gonadm=2 AND mpete=1 AND petd=1) gonadm2=1.
IF (gonadm=2 AND mpete=1 AND petd gt 1) gonadm2=2.
IF (gonadm=2 AND mpete gt 1) gonadm2=3.
IF (gonadm=2.5 AND mpete=1) gonadm2=2.
IF (gonadm=2.5 AND mpete gt 1) gonadm2=3.
IF (gonadm=3) gonadm2=3.
IF (gonadm=3.5 AND mpete=1) gonadm2=4.
IF (gonadm=3.5 AND mpete=2) gonadm2=4.
IF (gonadm=3.5 AND mpete gt 2) gonadm2=5.
IF (gonadm=4 AND mpete=1) gonadm2=4.
IF (gonadm=4 AND mpete=2) gonadm2=4.
IF (gonadm=4 AND mpete gt 2) gonadm2=5.
IF (gonadm gt 4) gonadm2=5.
VARIABLE LABELS gonadm2 ‘gonadal score for boys based on growth spurt, deepening of voice and facial hair’.
EXECUTE.

COMPUTE PDSS=MEAN(gonadm2,adrenm2, gonadf2,adrenf2).
COMPUTE PDSA=SUM(adrenf2,adrenm2).
COMPUTE PDSG=SUM(gonadf2,gonadm2).
VARIABLE LABELS PDSS ‘PDS scoring shirtcliff version’.
VARIABLE LABELS PDSA ‘PDS adrenal’.
VARIABLE LABELS PDSG ‘PDS gonadal’.
EXECUTE.

**Final variables for boys include adrenm2 for adrenal maturation and gonadm2 for gonadal maturation.
**These variables are only there for boys.
**The composite includes growth in the gonadarche measure, parallel to girls.
**PDSS combines the two sexes so it is a composite, regardless of gender.
**The PDSS for boys correlates ,834 with the crockett version, but it does slightly better at correlating with nurse ratings of genital (,689 vs ,529) and pubic (,720 vs ,569).
**Also, genital is slightly better correlated with gonadal than adrenal (,667 vs ,617).
**Similarly, pubic hair is slightly better correlated with adrenal than gonadal (,624 vs ,603).
**Finally, the PDSS is correlated slightly better than the crockett version with DHEA (,594 vs ,547) and testo (,642 vs ,542).