Project Plan - Initial Draft
This tutorial uses synthetic data only. Do not paste real EHR rows, individual-level records, PHI, PII, private paths, credentials, controlled-access data, or sensitive small-cell outputs into an LLM. Keep protected data outside the code repository and run real-data workflows only in the approved environment.
Tutorial scope: Include only synthetic participants aged 20 years or older at measurement. Compute age from a synthetic date_of_birth and measurement_date; flag and exclude records with missing, invalid, or younger ages. Apply general adult BMI categories to unrounded BMI calculated as weight_kg / (height_cm / 100)^2. These are descriptive tutorial labels, not a clinical recommendation or a pediatric analysis. See the BMI source and scope notes.
Data Description The source file contains rows of BMI-related information, which is tab-delimited. Each row includes:
- A person’s unique identifier (
person_id) - An encounter identifier (
encounter_id) - A numerical BMI value (
bmi) - The person’s height in centimeters (
height_cm) - The person’s weight in kilograms (
weight_kg) - The date of measurement (
measurement_date) - The synthetic date of birth (
date_of_birth), supplied in the input or a separate keyed file
The synthetic fixture imitates EHR measurement data, including multiple rows per person.
Task to Be Accomplished
- Read the Data
- Clean and Filter
- Representative Record Selection
- Categorize BMI, Height, and Weight
Expected Output
- Cleaned Dataset
- Summary Table
- Data Dictionary
Before Implementation Specify cleaning thresholds, missingness rules, deterministic record-selection tie-breakers, and exact output columns. Include checks for the 20th birthday, missing age, BMI category boundaries before rounding, and one retained row per eligible person. The improved plan makes more of these decisions explicit.