# Extraction codebook

You are copying outcome results from the reports of randomized trials of **unconditional cash in high-income countries**. For each trial you get its design as decided (its comparisons of a cash arm with a control arm, and its waves: each follow-up with its label and timing) and the local text files of its reports. Copy what the reports print, in the form they print it. Don't compute, convert, or round anything: the analysis code does every conversion. Work alone. Don't look anything up elsewhere.

## What to copy

For each comparison and each wave, every result the reports print for these outcomes among the people paid (or the adult the payment was meant for), for the whole sample of the comparison (and, only if no whole-sample result is printed for that outcome and wave, for the largest subgroup printed, marked as a subgroup):

- **Mental health**: psychological distress, depressive symptoms, anxiety symptoms, or a general mental-health scale or index. Code `class` as one of:
  - `distress`: Kessler 6 or Kessler 10 (any scoring), or another scale the report calls psychological distress;
  - `depression`: PHQ-9, PHQ-8, PHQ-2, CES-D (any length), BDI, EPDS, or another depressive-symptom scale;
  - `anxiety`: GAD-7, GAD-2, STAI, or another anxiety-symptom scale;
  - `general_mental_health`: MHI-5, the SF-12 or SF-36 mental component or mental-health subscale, WHO-5, WEMWBS, or an index of mental health the report constructs (name its parts in `measure`).
  - Also copy, as their own classes, `stress` (Perceived Stress Scale or another stress scale) and `life_satisfaction` (life satisfaction, happiness, or subjective well-being on a single item or scale).
- **Work**: code `class` as one of:
  - `employed_any`: the share employed in any paid work (including self-employment, part-time, gig work);
  - `employed_full_time`: the share employed full-time;
  - `hours`: hours worked (give the period in `per`);
  - `earnings`: earnings or labour income (give the period in `per` and the currency in `currency`).

For each result, one entry:

```json
{
  "comparison": "<comparison id from the design>",
  "wave": "<the wave's label exactly as in the design>",
  "class": "<class above>",
  "instrument": "K6" | "K10" | "PHQ-9" | "PHQ-8" | "PHQ-2" | "CES-D-20" | "CES-D-10" | "CES-D-8" | "GAD-7" | "GAD-2" | "PSS-4" | "PSS-10" | "PSS-14" | "MHI-5" | "SF-12 MCS" | "SF-36 MH" | "WHO-5" | "WEMWBS" | "other",
  "measure": "<the instrument or measure as the report names it>",
  "binary": false,
  "per": "week" | "month" | "year" | null,
  "currency": "USD" | "EUR" | ... | null,
  "higher_is": "better" | "worse",
  "subgroup": null,
  "estimate": {"value": <number>, "se": <number or null>, "lower": <number or null>, "upper": <number or null>, "level": <95 or as printed>,
               "p": <number or null>, "p_text": "<as printed, for example 'p < 0.05' or 'n.s.', or null>",
               "kind": "difference" | "adjusted_difference" | "standardized_difference" | "odds_ratio" | "percent_change",
               "scale": "points" | "percentage_points" | "proportion" | "sd_units" | "hours" | "currency" | "other"},
  "treated": {"n": <number or null>, "mean": <number or null>, "sd": <number or null>, "proportion": <number or null>},
  "control": {"n": <number or null>, "mean": <number or null>, "sd": <number or null>, "proportion": <number or null>},
  "proportion_unit": "percent" | "fraction" | null,
  "baseline_sd": <the scale's standard deviation at baseline as printed, pooled over arms or for the whole sample, or null>,
  "adjusted": true | false,
  "where": "<table, figure, or page and row, so another reader can find it>",
  "source": "<file id>"
}
```

- `estimate` is the treatment effect the report prints (cash arm minus control, as printed: keep its sign and units). If the report prints only the two arms' means or proportions with no effect, set `estimate` to null and fill `treated` and `control`.
- `instrument`: the instrument from the list, or `other` (name it in `measure`). Kessler scales scored 0 to 24 or 6 to 30 are both `K6`; 10 to 50 or 0 to 40 both `K10`.
- `binary`: true when the result is a share of people above or below a cut-off on the scale (for example the share with serious psychological distress), false for the scale's score. For work, `employed_any` and `employed_full_time` are shares: `binary: true`.
- `treated` and `control`: the numbers analysed at that wave (`n`), and the arms' means, standard deviations, or proportions, wherever printed for that wave. `proportion_unit` says whether proportions are printed as percentages (`percent`, for example 58.2) or as fractions (`fraction`, for example 0.582).
- `kind`: `adjusted_difference` if the effect comes from a model with covariates (baseline value, strata, demographics), `difference` if unadjusted. A difference in shares printed in percentage points is `scale: "percentage_points"`; printed as a fraction (for example -0.041), `scale: "proportion"`.
- An estimate printed in standard-deviation units (an effect size, or a standardized index) is `kind: "standardized_difference"`, `scale: "sd_units"`.
- If the report prints the result only as a figure with no number, or only as a sentence ("no significant difference"), copy what it says in `p_text`, set the numbers to null, and say so in `where`.
- A result printed in two places with different numbers: copy both, as two entries.

## Attrition

For each comparison and wave, one entry in `attrition`: `{"comparison", "wave", "randomized_treated", "randomized_control", "responded_treated", "responded_control", "where", "source"}`, as printed.

## Output

One JSON object per trial: `{"trial": "<id>", "entries": [...], "attrition": [...], "notes": "<anything a reader needs, or null>"}`.
