NUPSSP · Bangladesh Data Architecture
▶ Try the Demo
NUPSSP Blueprint › Program Design › Data Architecture

Part 7 · Unified data architecture

Data Architecture & National Database

Stable identifiers, the core entity model, four-tier data classification, the ten-step collection protocol and the quality rules that keep the registers honest.

Stable identifier scheme

Every real-world object the programme touches gets a stable, human-readable identifier. Identifiers are never recycled; merged records keep a redirect chain:

ObjectPatternAlready live in this package
UniversityBD-UNI-nnnYes — CSV 01 (173 records)
Government organizationBD-GOVT-nnnYes — CSV 04 (148 records)
Academic programPROG-nnnnYes — CSV 09 (207 records)
Facility (hospital, school, office)FAC-nnnnnSchema defined; census pending (GAP-21/22)
Service seatSEAT-…Lifecycle state machine specified
PlacementPLMT-…Booking workflow specified
Completion recordCOMP-…Verification workflow specified
Student (platform-scoped)University roll + UNIV-ID compositeNational student ID deliberately not assumed (authorization dependency)
Sources / assumptions / gapsSRC-nn · ASM-nn · GAP-nnYes — 123 / 32 / 35 records

Core entities and relationships

The national data model covers the full operating chain — the identifiers above plus faculties, departments, student records, eligibility, ministries, offices, facilities, service categories, seat requests, allocations, bookings, confirmations, attendance, assigned work, evaluations, completions, university expenditure, complaints, appeals and audit logs. Key relationships:

RelationshipCardinalityIntegrity rule
University → Faculty → Department → Program1-to-many chainProgram cannot exist without department; every entity carries univ_id
Program → Eligible studentsmany students per program per cycleEligibility derived from enrollment stage, not self-declared
Government org → Facility → Seat → Booking → Completion1-to-many chainSeat capacity checked at booking; unique constraint: one active booking per student
University → Seat request → Allocation → Booking1-to-many chainBooking only against allocated, published seats
Booking → Attendance → Evaluation → Completion1-to-many → 1Completion requires triangulated sign-offs (office + university + platform records)
Every record → Source/Assumption/Gap referencemany-to-1No statistic without provenance — enforced in the research registers
Full schema (fields, types, mandatory/optional, validation rules) is maintained in the data dictionaries: CSVs 11, 27, 36

Data tiers and access classification

Tier 1 · Public aggregates

National/sector/district statistics on dashboards; published research datasets (this website's CSVs). No student-level or office-level sensitive data.

Tier 2 · Institutional data

University profiles, programs, seat specifications, allocation decisions (with reasons) — visible to authenticated programme actors; aggregates public.

Tier 3 · Confidential student records

Identity, enrollment, attendance, evaluations, completions — university custody, need-to-place sharing only, retention schedule enforced.

Tier 4 · Restricted government records

Custodian-officer data never enters the platform as such; students work on approved non-sensitive extracts under MOU.

The national data collection process

The ten-step collection protocol used to build this package's datasets is the same protocol the national programme office would run continuously: (1) identify the official data-holding institution; (2) identify the best available source; (3) collect; (4) record the reporting year; (5) validate; (6) resolve duplicates; (7) document conflicting values; (8) mark missing information; (9) request additional information where needed — including through RTI; (10) record verification status and provenance. The outputs are a living national data-gap register and a source register — both published in this package.

Data quality and provenance

Quality dimensions enforced across datasets: completeness (missing values are NA, never zero — the rule that makes the gap register honest); consistency (admissions ≠ enrollment ≠ graduates; sanctioned ≠ filled; recommended ≠ appointed — incompatible years and definitions are never silently combined); traceability (every value carries SRC/ASM/GAP identifiers); timeliness (reporting year recorded on every row — 2015 public-direct vs 2021 private vintages are stated, not smoothed); uniqueness (stable IDs, deduplication with redirect chains). The research rules text from Phase 1 is reproduced verbatim on the Sources page.

Data dictionaries

Three dictionaries cover the package's 41 datasets: CSV 11 (Phase 1, 43 field definitions), CSV 27 (Phase 3, 16 file-level entries) and CSV 36 (Phase 4, 8 file-level entries). They define every field, its type, units, primary keys and the verified/derived/assumed distinction. Download from the Downloads page.