Methodology
Data collection
MedicineWatch India ingests data from the CDSCO SUGAM portal public JSON APIs:
- NSQ (Not of Standard Quality) drug alerts
- Spurious drug alerts
Data is fetched weekly. The ingestion process validates response structure before replacing indexed data. If the upstream source returns malformed or empty data, the previous dataset is preserved. Refreshes are transactional, and backups are retained according to the deployment backup policy.
Normalization
Batch numbers are normalized for search:
- Exact matching: Unicode-normalized, trimmed, uppercased, whitespace-collapsed
- Compact matching: spaces, hyphens, slashes, and dots removed. "MFS-124" matches "mfs124"
- Name matching: SQLite FTS5 with LIKE fallback for product and manufacturer names
The original batch number, product name, and manufacturer name are always preserved as published by CDSCO. Normalized versions are used only for search matching.
Record identity
Each record gets a deterministic ID derived from its classification, product name, batch number, manufacturer, and reporting month. The same CDSCO record always produces the same ID. Records with the same batch number but different products or manufacturers remain separate. They are never merged.
Why no failure rate
CDSCO alert reports list only batches that failed testing. They do not consistently publish the total number of samples tested. Without that denominator, any failure rate would be mathematically invalid. MedicineWatch India shows counts of reported alert records only, explicitly labelled as such.
Recurring appearances
A manufacturer or medicine appearing in multiple monthly alerts does not indicate a failure rate. It may mean more of their products were sampled. MedicineWatch India shows recurrence counts as "listed in N alert records across M months," never as a ranking or rate.
Corrections
If CDSCO revises or removes an alert, the next ingestion cycle will update the record. Records are never automatically hard-deleted. If you believe a record is incorrect, see the corrections page.
Known limitations
CDSCO source formatting and historical coverage can change. Counts are published alert records, not prevalence or failure rates; a missing batch is not a safety certification.