bhps-wave-crosswalk

Verifies variable coding differences between BHPS and Understanding Society survey waves.

1|Updated Dec 13, 2025
One-click install
npx skills add https://github.com/ZK-Theory/TDL --skill bhps-wave-crosswalk-zk-theory
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: bhps-wave-crosswalk
Source: https://github.com/ZK-Theory/TDL/tree/main/.claude/commands/bhps-wave-crosswalk
Command: npx skills add https://github.com/ZK-Theory/TDL --skill bhps-wave-crosswalk-zk-theory

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Longitudinal researchers bridging the BHPS (SN5151) and Understanding Society (SN6614) surveys often assume variable coding is consistent across the survey bridge, causing silent harmonisation errors in income, employment, education, and health variables. ## Core Features & Use Cases - Coding Difference Lookup: Provides a quick-reference table of known harmonisation status for key variables such as jbstat, fihhmn, NS-SEC, self-rated health, and hiqual. - Harmonisation Code Generation: Produces a standard Python extractor pattern returning pidp, wave, year, variable, and source columns across both surveys. - Unverified Variable Guardrails: Inserts explicit CODING UNVERIFIED markers when a variable's cross-survey coding has not been checked against UKDA user guides. - Use Case: Before writing a cross-wave income analysis, invoke the skill to confirm that BHPS fihhmn is not equivalised while USoc fihhmnnet1_dv is, then generate the correct harmonisation code. ## Quick Start Ask the assistant to run /bhps-wave-crosswalk with a variable concept such as health to check its BHPS and USoc coding before implementing the harmonisation.

Frequently Asked Questions about bhps-wave-crosswalk

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I harmonise income variables between BHPS and Understanding Society?

BHPS uses fihhmn, which is not equivalised, so you must apply the OECD scale from the household file manually. USoc uses fihhmnnet1_dv, which is pre-equivalised. The implemented harmonisation lives in trajectory_tda/data/income_band.py.

Are BHPS and USoc employment status variables coded the same way?

Employment status (jbstat) is fully harmonised in the SN6614 user guide, with USoc-only code 10 mapping to category E. The mapping is implemented in trajectory_tda/data/employment_status.py as JBSTAT_TO_STATUS.

Can I compare NS-SEC social class directly across BHPS and USoc waves?

Not directly, because BHPS uses SOC 2000 coding rules while USoc uses SOC 2010. Collapsing to a 3-class scheme reduces but does not eliminate the difference, as implemented in the NSSEC3_MAP in covariate_extractor.py.

Why does self-rated health analysis break across the BHPS-USoc bridge?

BHPS hlstat and USoc sf1 both use 1-5 scales from excellent to poor, but the questionnaire changed between surveys. Always verify scale direction and wording before running cross-wave analysis.

What should I do when a variable's cross-survey coding is unverified?

Add a CODING UNVERIFIED comment in the generated extractor noting that the BHPS/USoc difference has not been checked. Before use, verify the variable against the UKDA-5151 and UKDA-6614 user guides.