HPR Registry (Healthcare Provider Registry)
Pipeline-Managed Service
This service is deployed and managed by its CI/CD pipeline.
For current deployment status, configurations, and code:
- Repository:
https://repo.local/healthflow/ndp-hpr-registry - CI/CD Status: Check pipeline dashboard
Overview
The Healthcare Provider Registry (HPR) maintains authoritative data for all healthcare providers including doctors, nurses, and facilities authorized to prescribe or dispense medications.
Purpose
- Store healthcare provider credentials
- Validate prescriber authorization
- Maintain facility information
- Track provider specialties
- Manage provider licensing
- Control prescribing privileges
- Provide provider lookup
Key Features
1. Provider Management
- Register new providers
- Validate medical licenses
- Track specialties and qualifications
- Manage prescribing authority
- License expiry tracking
- Suspension/revocation handling
2. Facility Management
- Register healthcare facilities
- Track accreditation status
- Manage facility types
- Link providers to facilities
- Facility authorization levels
3. Authorization Control
- Check prescribing authority
- Validate controlled substance authorization
- Verify facility accreditation
- Specialty-based authorization
Data Model
typescript
interface HealthcareProvider {
id: string;
providerType: "DOCTOR" | "NURSE" | "PHARMACIST";
// Personal Info
firstName: string;
lastName: string;
nationalId: string;
// Professional
licenseNumber: string;
licenseIssueDate: Date;
licenseExpiryDate: Date;
licenseStatus: "ACTIVE" | "SUSPENDED" | "REVOKED";
// Qualifications
specialty: string;
subSpecialty: string;
qualifications: string[];
// Authorization
canPrescribe: boolean;
canPrescribeControlled: boolean;
prescribingCategories: string[];
// Facility Association
facilities: FacilityAssociation[];
// Metadata
registeredAt: Date;
lastVerified: Date;
status: "ACTIVE" | "INACTIVE";
}
interface Facility {
id: string;
facilityName: string;
facilityType: "HOSPITAL" | "CLINIC" | "PHARMACY";
// Location
governorate: string;
city: string;
address: string;
// Accreditation
accreditationNumber: string;
accreditationStatus: "ACCREDITED" | "PENDING" | "SUSPENDED";
accreditationExpiry: Date;
// Authorization
servicesProvided: string[];
canDispense: boolean;
// Metadata
registeredAt: Date;
status: "ACTIVE" | "INACTIVE";
}API Endpoints
GET /api/v1/providers/:id
GET /api/v1/providers/license/:licenseNumber
GET /api/v1/providers/search
GET /api/v1/providers/:id/prescribing-authority
GET /api/v1/facilities/:id
GET /api/v1/facilities/search