Patient 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-patient-registry - CI/CD Status: Check pipeline dashboard
Overview
The Patient Registry serves as the Master Patient Index (MPI) for the National Digital Prescription platform, maintaining authoritative patient demographic data.
Purpose
- Store and manage patient master data
- Provide unique patient identification
- Validate patient national IDs
- Manage patient demographics
- Handle patient consent
- Maintain patient allergies and medical history
- Provide patient search and matching
Key Features
1. Patient Registration
- Register new patients
- Validate national ID uniqueness
- Capture demographics
- Record allergies
- Manage insurance information
2. Patient Matching
- Search by national ID
- Search by name, DOB
- Fuzzy matching
- Duplicate detection
- Patient merging
3. Patient Data Management
- Update demographics
- Manage addresses
- Update contact information
- Record allergies
- Track chronic conditions
Data Model
typescript
interface Patient {
id: string; // System UUID
nationalId: string; // Egyptian National ID (14 digits)
// Demographics
firstName: string;
middleName: string;
lastName: string;
motherName: string;
dateOfBirth: Date;
gender: "MALE" | "FEMALE";
maritalStatus: string;
// Contact
phone: string;
alternatePhone: string;
email: string;
// Address
governorate: string;
city: string;
district: string;
street: string;
buildingNumber: string;
// Medical
bloodType: string;
allergies: Allergy[];
chronicConditions: string[];
// Insurance
insuranceProvider: string;
insuranceNumber: string;
insuranceStatus: "ACTIVE" | "INACTIVE";
// Consent
consentToShare: boolean;
consentDate: Date;
// Metadata
registeredAt: Date;
lastUpdated: Date;
status: "ACTIVE" | "INACTIVE" | "DECEASED";
}API Endpoints
POST /api/v1/patients # Register patient
GET /api/v1/patients/:id # Get patient
GET /api/v1/patients/national/:nationalId # Get by national ID
PUT /api/v1/patients/:id # Update patient
GET /api/v1/patients/search # Search patients