Validation¶
Version 2.0.0 (updated 2026-05-18)
- Updated validation references to reflect the current supported disease set.
- Clarified disease-specific cross-field expectations for
confirmation_statusanddisease_subtype. - Aligned validation guidance language with current standards and templates.
The validation process checks:
- File format and structure
- Required field presence
- Data type compliance
- Valid value adherence
- Logical consistency
- Cross-field rules
Validation errors will be reported back to submitters with specific error descriptions.
Validation Rules¶
Format Validation¶
- File must be valid CSV format
- Required fields must be present in all rows
- Field names must match specification exactly (case-sensitive)
- No extra columns are permitted beyond the defined field set
- Each submitted file must contain data for a single reporting jurisdiction (state) only
Data Type Validation¶
- Dates must be in YYYY-MM-DD format
- Counts must be positive integers (strictly greater than zero)
- String fields must use exact valid values (case-sensitive)
Field Value Validation¶
disease_namemust be one of the supported disease values:measles,pertussis,meningococcus,hepatitis a,acute hepatitis b,perinatal hepatitis b,mumps,mpox,varicella,pediatric flu mortalitytime_unitmust beweekdate_typemust becccdorjurisdiction date hierarchygeo_unitmust be one of:county,state,region,planning area,hsa,NAoutcomemust be one of:cases,deathsconfirmation_statusmust beconfirmedorconfirmed and probableage_groupmust be one of the recognized age group values (see Valid Age Groups by Condition)disease_subtypemust be a valid value for the submitteddisease_name(see Valid Subtypes by Condition)
Logical Validation¶
report_period_endmust be afterreport_period_start- Date ranges must align with MMWR week boundaries (
report_period_startmust be a Sunday;report_period_endmust be a Saturday) reporting_jurisdictionmust match eitherstateorgeo_namein each row- For
geo_name = "international resident"rows,reporting_jurisdictionmust matchstate
Geographic Validation¶
geo_namemust equalstatewhengeo_unitisstategeo_unitmust beNAwhengeo_nameisinternational resident; conversely,geo_unit = "NA"is only valid whengeo_nameisinternational resident- For jurisdictions with registered sub-state geographic units,
geo_namemust be one of the recognized sub-state jurisdiction names for the givenstate
Cross-Field Validation¶
Confirmation Status¶
measles,hepatitis a,perinatal hepatitis b, andpediatric flu mortality:confirmation_statusmust beconfirmedpertussis,meningococcus,acute hepatitis b,mumps,mpox, andvaricella:confirmation_statusmust beconfirmed and probable
Age Group and Disease Subtype Breakdown Rules¶
- Sub-state level (
geo_unit≠state): bothage_groupanddisease_subtypemust betotal - Perinatal hepatitis b (all geo levels):
age_groupmust always betotal - Diseases with age breakdown only (
measles,pertussis,hepatitis a,acute hepatitis b,mumps,mpox,varicella,pediatric flu mortality) at state level:age_groupmust not betotal - Meningococcus at state level: exactly one of
age_groupordisease_subtypemust betotal(age breakdown rows usedisease_subtype = "total"; subtype breakdown rows useage_group = "total")
Disease-Specific Age Group Values¶
- Most diseases accept the full age group set (
<1 y,1-4 y,5-11 y,12-18 y,19-22 y,23-44 y,45-64 y,>=65 y,total,unknown,unspecified) pediatric flu mortalityonly accepts:<1 y,1-4 y,5-11 y,12-18 y,total,unknown,unspecifiedperinatal hepatitis bonly accepts:total
Count Totals Validation¶
For each combination of (report_period_start, report_period_end, disease_name, outcome):
- Diseases with subtype breakdown (
meningococcus): the sum of state-level age breakdown rows (disease_subtype = "total") must equal the sum of state-level subtype breakdown rows (age_group = "total"), and both must equal the sum of sub-state rows - All other diseases: the sum of state-level rows must equal the sum of sub-state rows
- International resident rows (
geo_name = "international resident") are excluded from all count total checks