# Admin and Seed Data

> Manage database seeding, reset operations, and the admin interface.

- Skill: `diegosouzapw/admin-and-seed-data` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add diegosouzapw/admin-and-seed-data`
- Raw SKILL.md: https://api.skillmd.com/api/skills/diegosouzapw/admin-and-seed-data/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Web & Frontend
- Author: diegosouzapw (https://skillmd.com/u/diegosouzapw)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/diegosouzapw/admin-and-seed-data

---


# Admin and Seed Data

## Admin API Endpoints
Located in `RestReactAspire.Server/Endpoints/AdminEndpoints.cs`, registered under `/api/admin`.

| Endpoint | Method | Description |
|----------|--------|-------------|
| `/seed` | POST | Populates database with sample data (additive) |
| `/reset` | POST | Deletes all data from all collections |
| `/stats` | GET | Returns current count of patients, doctors, exams |

### Response DTOs (`AdminDto.cs`)
- `SeedResponse(int PatientsCreated, int DoctorsCreated, int ExamsCreated, Links)`
- `ResetResponse(int PatientsDeleted, int DoctorsDeleted, int ExamsDeleted, Links)`
- `StatsResponse(int PatientCount, int DoctorCount, int ExamCount, Links)`

## Seed Data Generator
Located in `RestReactAspire.Server/Stores/SeedDataGenerator.cs`.

### Current Data Volumes
- **100 patients** — random Italian names, varied dates of birth, email, phone
- **30 doctors** — random Italian names, assigned from 15 medical specialties
- **200 exams** — distributed across patients and doctors with realistic types, durations, dates, statuses, results, and notes

### Data Characteristics
- Patient names drawn from pools of 50 first names and 50 last names.
- Doctor specialties: Cardiology, Neurology, Orthopedics, Dermatology, Gastroenterology, Ophthalmology, Pulmonology, Endocrinology, Urology, Oncology, Rheumatology, Nephrology, Hematology, Infectious Disease, General Surgery.
- Exam types: Blood Test, MRI Brain, X-Ray Chest, ECG, Skin Biopsy, Colonoscopy, Eye Exam, Spirometry, Thyroid Panel, Ultrasound, Urinalysis, Mammography, CT Scan, Bone Density Scan, Stress Test.
- Each exam type has min/max duration ranges for realistic `DurationMinutes`.
- Completed exams have type-specific result strings and notes.
- Scheduled dates span a 12-month range for meaningful time-series charts.

### Modifying Seed Data
- Adjust counts in `GeneratePatients()`, `GenerateDoctors()`, `GenerateExams()`.
- Add new name pools, specialties, or exam types to the static arrays.
- Ensure cross-references remain valid (exams reference valid patient and doctor IDs).

## Frontend Admin Page
- Displays current database stats (patient, doctor, exam counts).
- Provides "Seed Database" and "Reset Database" buttons.
- Shows operation results after seeding or resetting.

