Logo Lanfrica

kdbz/kmpdc-seeder

Domain:

healthcare

Record type:

software
Creator:
kdbz
Host:
A Laravel 12+ package for scraping, cleaning, and importing practitioner data from the Kenya Medical Practitioners and Dentists Council (KMPDC) master register. # 🩺 KMPDC Seeder A **Laravel 12+ package** for scraping, cleaning, and importing practitioner data from the **Kenya Medical Practitioners and Dentists Council (KMPDC)** master register. This package is designed for: - 🧑‍🏫 Teaching structured data ingestion and seeding in Laravel --- ## 🚀 Features ✅ Scrapes KMPDC register HTML into structured CSVs ✅ Extracts & normalizes: - Practitioner details, qualifications, degrees, institutions ✅ Imports structured data into related tables ✅ Works seamlessly with Eloquent models --- ## 📦 Installation ```bash composer require thibitisha/kmpdc-seeder:^0.0.47-alpha ```` --- ## 🧩 Database Schema The package models relationships between practitioners, qualifications, degrees, institutions, and related entities. ```mermaid erDiagram practitioners ||--|| statuses : has practitioners ||--|| specialities : belongs_to practitioners }o--|| sub_specialities : may_specialize_in practitioners ||--o{ qualifications : holds practitioners ||--o{ contacts : has practitioners ||--o{ licenses : issued practitioners ||--o{ practitioner_documents : uploads qualifications }|--|| degrees : is_type qualifications }|--|| institutions : awarded_by sub_specialities }|--|| specialities : under licenses ||--o{ payments : renewed_via users ||--|| roles : assigned_role verification_logs }o--|| practitioners : attempts_to_verify practitioners { BIGINT id PK VARCHAR registration_number UK VARCHAR full_name VARCHAR profile_photo_url "nullable" BIGINT status_id FK BIGINT speciality_id FK "nullable" BIGINT sub_speciality_id FK "nullable" DATE date_of_registration "nullable" TIMESTAMP created_at TIMESTAMP updated_at } sub_specialities { BIGINT id PK VARCHAR name BIGINT speciality_id FK } ``` > 📝 **Notes** > * All inserts and relationships are handled via **Eloquent models** --- ### 🧩 **Model Setup & Relationships** Before running the import commands, ensure that all **Eloquent models** and their respective **relationships** are correct …