Almost every MD/MS thesis in India runs on two humble documents: the case record form (CRF, usually called the proforma) that you fill for each patient, and the Excel master chart that your statistician or SPSS reads at the end. Designed well, they make analysis quick. Designed badly, they leave you re-reading files and discovering that a key variable was never recorded.

This guide covers designing the proforma from your objectives, coding every answer, building a clean master chart and checking it before SPSS. The examples are generic templates, not results from any real study.

1Why the proforma decides your thesis

Your proforma is the only bridge between the patient and your results. Anything not captured on it does not exist for analysis; anything captured inconsistently (mg/dL one day, mmol/L the next) becomes a cleaning problem.

A good proforma has every field serving an objective, every answer pre-defined as far as possible, and a one-to-one map onto the master chart. Most departments expect the proforma to be attached to the synopsis and approved by the Institutional Ethics Committee along with the protocol, so design it at the synopsis stage, not after data collection has begun. See our synopsis writing guide for where it fits.

Before you open Word, write your objectives in one column and list the variables needed to answer each one. If your objectives are still vague, fix them first using our guide on writing aims and objectives.

Objective (example)Variables neededType
To describe the clinical profile of patientsAge, sex, residence, presenting complaints, duration of symptomsNumeric and categorical
To measure serum marker X at admissionSerum X value (with unit), date and time of samplingNumeric
To assess association of X with outcomeSerum X, outcome (e.g. discharged / referred / died), potential confoundersNumeric and categorical

Then go the other way: for every draft field, ask "which objective or baseline table needs this?" If none, delete it. Extra fields cost time and add missing data.

πŸ’‘ Quick test

Sketch your dummy results tables (empty shells with row and column headings) before finalising the proforma. Every cell in those tables must come from a field on the CRF. If a table needs something the CRF does not collect, add it now.

3Structure of a good thesis proforma

A practical order that follows the patient's journey:

  1. Identification: study ID, date of enrolment, ward/OPD.
  2. Consent and eligibility: consent date, each inclusion and exclusion criterion as a tick box.
  3. Demographics: age, sex, residence, socio-economic class if needed (name the scale and version).
  4. History and examination: complaints, duration, comorbidities as separate yes/no items, vitals and signs with units.
  5. Investigations: each test, value, unit and timepoint.
  6. Intervention / exposure (if any) and outcome / follow-up, with timepoints.
  7. Investigator signature and date.

Study ID instead of names

Give each participant a code such as GM001, GM002 in the order of enrolment. Keep a separate, password-protected or locked "linking log" that connects study ID to name and hospital number, accessible only to you and your guide. The proforma copies, the master chart and anything shared with a statistician should carry only the study ID. This is in line with the confidentiality expectations of the ICMR National Ethical Guidelines 2017.

4Writing the questions: closed vs open, units and timing

Prefer closed questions

Closed questions (tick one box, enter a number) are fast to fill, easy to code and comparable across patients. Use open text only when you genuinely cannot predict the answers, and even then consider an "Other (specify): ____" option after a list of common answers.

Weak (open) versionBetter (closed) version
Smoking history: ________Current tobacco smoking: ☐ Yes ☐ No. If yes, type: ☐ Cigarette ☐ Beedi ☐ Both
Diabetes: ________Known diabetes mellitus: ☐ Yes ☐ No ☐ Not known

Collect raw numbers, not categories

Record haemoglobin as 9.4 g/dL, not "moderate anaemia". You can always group a continuous value later; you can never recover the number from a category. The same applies to age, BMI, blood pressure and laboratory values.

Print the unit and the timepoint on the form

Write "Serum creatinine (mg/dL) at admission: ____" rather than "Creatinine: ____". If a value is measured more than once, give each timepoint its own line (Day 0, Day 3, Day 7). Decide in advance which value counts if a test is repeated on the same day (for example, the first value) and write that rule in your codebook.

⚠️ Avoid double-barrelled items

"Fever and cough: ☐ Yes ☐ No" cannot be coded when the patient has fever without cough. One question should ask about one thing.

5Coding scheme and codebook

Statistical software works best with numbers. Decide the codes before data collection and print them on the proforma beside each box so that entry is mechanical. Keep them consistent across the whole form.

SituationSuggested coding convention
Sex1 = Male, 2 = Female (add 3 = Other if relevant)
Yes/No items1 = Yes, 0 = No (or 1 = Yes, 2 = No; just stay consistent)
Missing (single-digit codes)9 = Missing / not recorded
Missing (numeric variables)A value that cannot occur, e.g. 99 or 999, or simply leave the cell blank
Not applicableA separate code, e.g. 8, so that "not asked because not relevant" is not confused with "forgotten"
Ordered categoriesCodes in their natural order, e.g. 1 = Mild, 2 = Moderate, 3 = Severe

Never use a missing code that could be a real value. If age is a variable, 99 may be a genuine age; use a blank cell or 999 instead. Write all of this into a codebook: a sheet listing each variable name, its full label, type, unit, allowed codes or range, and missing-value code. Your statistician will ask for it, and you will need it when writing the methods chapter.

6Example: a mini-CRF and its master chart

Here is a short, generic proforma fragment for a hypothetical observational study. It is a template only.

#CRF item (as printed)Response format
1Study IDGM ___
2Date of enrolmentDD/MM/YYYY
3Age (completed years)___
4Sex☐1 Male ☐2 Female
5Known diabetes mellitus☐1 Yes ☐0 No ☐9 Not known
6Haemoglobin at admission (g/dL)__.__
7Severity grade☐1 Mild ☐2 Moderate ☐3 Severe
8Outcome at discharge☐1 Improved ☐2 Referred ☐3 Died ☐4 Left against advice

The matching master chart columns and codebook entries:

Column nameLabelType / unitAllowed valuesMissing
study_idStudy IDTextGM001 onwards, uniqueNot allowed
enrol_dateDate of enrolmentDateWithin study periodNot allowed
age_yrAge in completed yearsWhole numberAs per inclusion criteria, e.g. 18–80Blank
sexSexCode1, 29
dmKnown diabetesCode0, 19
hb_admHaemoglobin at admissionDecimal, g/dLPlausible range agreed with guideBlank
severitySeverity gradeOrdinal code1, 2, 39
outcome_dcOutcome at dischargeCode1, 2, 3, 49

A row of data then looks like: GM014 | 12/03/2026 | 46 | 2 | 1 | 10.2 | 2 | 1. One patient, one row; one question, one column.

Multiple-response questions

If a question allows several ticks (for example, presenting complaints), do not type "fever, cough" into one cell. Create one yes/no column per option: c_fever, c_cough, c_breathless, each coded 1/0.

7Building the Excel master chart

Rules that save you from re-entering data later:

  • One row per participant, one column per variable. Row 1 holds column names only; data start in row 2. For repeated measurements, use one column per timepoint (hb_d0, hb_d3, hb_d7) unless your statistician asks for a long format.
  • Column names without spaces. Start with a letter; use lowercase letters, numbers and underscores; keep them short. hb_adm imports cleanly into SPSS, "Hb at admission (g/dL)" does not. Put the full label in the codebook.
  • Numbers only in numeric columns. No "10.2 g/dL", no "<5", no "NA" mixed into a column of values. Units belong in the codebook.
  • No merged cells, blank rows or sub-totals in the data sheet, and colour is not data: a red row meaning "died" is invisible to SPSS.
  • Consistent dates: format the whole column as a date; calculate derived values such as length of stay in their own columns.
  • Keep three sheets: Data, Codebook, and Notes (queries, corrections and their dates).

8Data validation drop-downs in Excel

Excel can refuse wrong entries at the moment you type them, which is far cheaper than finding them later.

  1. Select the whole data range of a coded column (e.g. the sex column below the heading).
  2. Go to Data β†’ Data Validation.
  3. Under Allow, choose List and type the codes in Source, e.g. 1,2,9. A drop-down arrow now appears in each cell.
  4. For numeric columns, choose Whole number or Decimal and set a minimum and maximum (for example, age within your inclusion range).
  5. On the Input Message tab, add a reminder such as "1 = Male, 2 = Female, 9 = Missing".
  6. On the Error Alert tab, keep the style as Stop so invalid values cannot be saved.

If you add validation after some data are already entered, use Data Validation β†’ Circle Invalid Data to highlight existing entries that break the rules.

Once columns are final, save a blank template and do not rename or insert columns mid-study without updating the codebook.

9Double entry and cleaning checks before SPSS import

Double data entry

The most reliable way to catch typing errors is to enter the proformas twice, ideally by two different people or by you on two different days, into two identical sheets (Entry1 and Entry2). On a third sheet, compare them cell by cell with a formula such as =IF(Entry1!B2=Entry2!B2,"","CHECK") copied across the whole range. Resolve every "CHECK" from the paper proforma, never by guessing. Free software such as EpiData also supports double entry. If full double entry is not feasible, at least re-check a random sample of forms.

Cleaning checklist

  • Duplicates: use Conditional Formatting β†’ Highlight Duplicate Values on study_id.
  • Range checks: apply a filter on each column and look at the smallest and largest values; use =MIN(), =MAX() and =COUNTIF() on a summary sheet.
  • Code checks: every coded column should contain only its allowed codes. =COUNTIF(D:D,1)+COUNTIF(D:D,2)+COUNTIF(D:D,9) should equal the number of participants.
  • Logic checks: a male coded as pregnant, a discharge date before admission, a follow-up value for a patient who died earlier, a "No" for diabetes but a value in "duration of diabetes".
  • Missing data: count blanks per column with =COUNTBLANK(). High missingness in a key variable needs a conversation with your guide now, not at the viva.

Importing into SPSS

Save a dated cleaned copy and keep the raw version untouched. In SPSS, import the Excel file (File β†’ Import Data β†’ Excel in recent versions) with variable names read from the first row. In Variable View, add labels, value labels, the measure (scale, ordinal, nominal) and declare 9 or 999 as missing so they are not averaged into results. Our post on using SPSS in medical science covers the next steps, and statistical analysis for your thesis explains which tests suit which variable types.

βœ… Before you hand it over

Send your statistician or guide three things together: the cleaned master chart, the codebook, and your objectives. A master chart without a codebook is a puzzle, not a dataset.

10Common mistakes to avoid

DoDon't
Design the proforma from your objectives and dummy tablesCopy a senior's proforma and add fields as you go
Print codes on the form and keep a codebookDecide codes while typing into Excel
Enter data regularly, every weekEnter all proformas in the last month
Keep a dated raw copy and a separate cleaned copyOverwrite the only file you have

Also pilot the proforma on a few patients before the study begins. Pilot use almost always reveals a missing option, an unclear item or a field nobody can fill.

11Getting help with your proforma and master chart

A carefully planned proforma and master chart make your results and discussion chapters far easier to write, and they make your analysis defensible at the viva. If you would like your draft proforma, codebook or master chart reviewed before you start data collection or before SPSS analysis, the PubMedico team can help; message us on WhatsApp +91 78787 33004.

❓ Frequently Asked Questions

Quick answers to common questions on this topic

What is the difference between a proforma and a case record form?+

In Indian thesis practice the two terms are used for the same thing: the structured form on which you record each participant's data. Clinical trials usually say case record form or case report form, while departments often say proforma. What matters is that it is approved with your protocol and that every item maps to your objectives and to a column in the master chart.

Can I write patient names on the proforma?+

It is safer to put only a study ID on the proforma and master chart and keep names and hospital numbers in a separate linking log that only you and your guide can access. Your Institutional Ethics Committee may have its own requirements, so follow what your approved protocol says about confidentiality and data storage.

Which code should I use for missing data?+

Use a code that can never be a real value for that variable. For single-digit coded items, 9 is common. For numeric variables such as age or haemoglobin, either leave the cell blank or use something impossible like 999. Whatever you choose, record it in the codebook and declare it as a missing value in SPSS so it is not included in calculations.

Should I enter data directly into Excel instead of using a paper proforma?+

Some residents enter data directly into a spreadsheet or an electronic form during the patient encounter. This can work if validation rules are in place and backups are regular, but many ethics committees and guides still expect a signed source document. Check what your department and approved protocol require before dropping the paper form.

Do I need double data entry for an MD thesis?+

It is not always mandatory, but it is the most reliable way to catch typing errors. If you cannot enter everything twice, re-check at least a random sample of proformas against the master chart, run range, code and logic checks, and keep a notes sheet recording every correction you make and why.