🔬 Research

REDCap Data Dictionary CSV from a Paper Case Report Form (Field Types, Validation, Branching Logic)

Convert a paper or Word case report form into an upload-ready REDCap data dictionary: variable names, field types, choices, validation, branching logic, identifier flags, and action tags, plus a build checklist for the study coordinator.

0.0
0Reviews
P
October 5, 2026

Prompt

Act as a clinical research data manager who builds REDCap projects from paper case report forms for academic study teams. You write data dictionaries that upload cleanly the first time, use consistent variable names, and keep identifiers flagged so exports can be de-identified.

Inputs:
- CRF content pasted section by section (question wording, answer options, skip instructions): [CrfText]
- Instrument (form) names the study wants in REDCap: [Instruments]
- Study design notes (longitudinal events, repeating instruments, surveys or data entry only): [StudyDesign]
- Fields that are identifiers under the study's data plan (names, dates of birth, MRN, phone): [Identifiers]
- Coding conventions the team already uses (yes as 1 and no as 0, unknown as 99, date format): [CodingConventions]
- Output format: [Format]

Generate:
1. Variable naming plan: lowercase letters, numbers, and underscores, starting with a letter, kept short, with a prefix per instrument where it helps. record_id first.
2. The data dictionary as CSV with the REDCap header row in order: Variable / Field Name, Form Name, Section Header, Field Type, Field Label, Choices, Calculations, OR Slider Labels, Field Note, Text Validation Type OR Show Slider Number, Text Validation Min, Text Validation Max, Identifier?, Branching Logic (Show field only if...), Required Field?, Custom Alignment, Question Number (surveys only), Matrix Group Name, Matrix Ranking?, Field Annotation. Quote any cell that contains a comma.
3. Field type choices explained: text with validation (date_ymd, integer, number) versus notes, radio versus dropdown versus checkbox, yesno, calc with the equation in the Choices column, descriptive for instructions.
4. Branching logic translated from every skip instruction in CrfText using REDCap syntax, including the checkbox form [field(code)] = '1'.
5. Build checklist: upload in Project Setup via the Data Dictionary page, review the change report, test with a few fake records, and items to set outside the dictionary given StudyDesign (events, repeating instruments, survey settings).
6. Questions for the investigator only where CrfText is ambiguous.

Constraints:
- Use only questions and answer options present in CrfText; do not add fields.
- Flag every Identifiers field with y in Identifier?.
- Keep CodingConventions consistent across instruments.
- No em dashes.

Instructions

Replace every [bracket] with your details before running. Works on ChatGPT, Claude, and Gemini.

Generated Output

This image was generated using the prompt above.

REDCap Data Dictionary CSV from a Paper Case Report Form (Field Types, Validation, Branching Logic) - Result

Examples

Example Input

CrfText: Section A Eligibility: 1. Age 18 or older? Yes/No. 2. Date of consent (DD/MM/YYYY). Section B Baseline: 3. Weight (kg). 4. Height (cm). 5. Current smoker? Yes/No/Unknown. 6. If yes, cigarettes per day. 7. Which symptoms in the past week? (tick all) cough, wheeze, breathlessness, chest tightness, none. 8. If breathlessness ticked, MRC dyspnoea grade 1 to 5. 9. Participant initials.
Instruments: eligibility, baseline
StudyDesign: longitudinal with baseline and 6-month events; data entry by coordinators, no surveys
Identifiers: date of consent, participant initials
CodingConventions: yes 1, no 0, unknown 99; dates entered as year-month-day
Format: naming plan, CSV, notes, checklist

Example Output

1. Naming plan
record_id, then elig_ prefix for eligibility and bl_ prefix for baseline. BMI is not on the CRF, so no calc field is added; see question 3 in section 6.

2. Data dictionary CSV
Variable / Field Name,Form Name,Section Header,Field Type,Field Label,"Choices, Calculations, OR Slider Labels",Field Note,Text Validation Type OR Show Slider Number,Text Validation Min,Text Validation Max,Identifier?,Branching Logic (Show field only if...),Required Field?,Custom Alignment,Question Number (surveys only),Matrix Group Name,Matrix Ranking?,Field Annotation
record_id,eligibility,,text,Record ID,,,,,,,,,,,,,
elig_age18,eligibility,Section A Eligibility,yesno,Age 18 or older?,,,,,,,,y,,,,,
elig_consent_date,eligibility,,text,Date of consent,,Enter as YYYY-MM-DD,date_ymd,,today,y,,y,,,,,
bl_weight_kg,baseline,Section B Baseline,text,Weight (kg),,,number,20,300,,,y,,,,,
bl_height_cm,baseline,,text,Height (cm),,,number,100,250,,,y,,,,,
bl_smoker,baseline,,radio,Current smoker?,"1, Yes | 0, No | 99, Unknown",,,,,,,y,,,,,
bl_cig_per_day,baseline,,text,Cigarettes per day,,,integer,1,100,,[bl_smoker] = '1',y,,,,,
bl_symptoms,baseline,,checkbox,Which symptoms in the past week? (tick all),"1, Cough | 2, Wheeze | 3, Breathlessness | 4, Chest tightness | 5, None",,,,,,,y,,,,,@NONEOFTHEABOVE='5'
bl_mrc_grade,baseline,,radio,MRC dyspnoea grade,"1, 1 | 2, 2 | 3, 3 | 4, 4 | 5, 5",,,,,,[bl_symptoms(3)] = '1',y,,,,,
bl_initials,baseline,,text,Participant initials,,,,,,y,,y,,,,,

3. Field type notes
- yesno for question 1 stores 1 and 0, matching CodingConventions.
- radio rather than yesno for smoker, because Unknown (99) is a third option.
- checkbox for symptoms; each option becomes its own 0 or 1 column in exports (bl_symptoms___1 to ___5).
- @NONEOFTHEABOVE on option 5 stops coordinators from ticking None together with a symptom. Remove it if your REDCap version does not support it.
- Validation max 'today' on consent date blocks future dates.

4. Branching logic
- Q6 shows only when [bl_smoker] = '1'.
- Q8 shows only when [bl_symptoms(3)] = '1' (breathlessness ticked).

5. Build checklist
1) Project Setup, Design your data collection instruments, Data Dictionary, upload the CSV.
2) Read the change report; it should list 10 new fields and 2 instruments, then commit.
3) Project Setup, Define my events: Baseline and 6 month. Designate eligibility to Baseline only, baseline to both events if the 6-month visit repeats these measures (confirm).
4) Enter three fake records: smoker yes with breathlessness, smoker no, unknown with None ticked. Check that branching hides and shows fields.
5) Export once with the de-identification option that removes fields tagged as identifiers and confirm consent date and initials drop out.

6. Questions for the investigator
- Is the CRF date order DD/MM/YYYY only a paper habit, so year-month-day entry in REDCap is acceptable?
- Should the 6-month event repeat the full baseline form or only symptoms?
- Do you want a BMI calculated field? It is not on the CRF, so it was left out.

Reviews (0)

Please login to leave a review.
Loading reviews...