agent files
This commit is contained in:
@@ -0,0 +1,107 @@
|
||||
erDiagram
|
||||
%% SHARED COMPONENT (All Members)
|
||||
%% User Management is central to the system
|
||||
USERS {
|
||||
ObjectId _id PK
|
||||
string name
|
||||
string email
|
||||
string password
|
||||
string role "Admin, HospitalStaff, Public"
|
||||
string nic "National ID"
|
||||
string phone
|
||||
string address
|
||||
date createdAt
|
||||
}
|
||||
|
||||
%% MODULE 1: VACCINE SUPPLY CHAIN (Minidu)
|
||||
%% Manages the abstract vaccine types and specific physical batches
|
||||
VACCINE {
|
||||
ObjectId _id PK
|
||||
string name "e.g., Pfizer, Sinopharm"
|
||||
string manufacturer
|
||||
string description
|
||||
int dosesRequired
|
||||
int daysBetweenDoses
|
||||
string imageUrl "Cloudinary URL"
|
||||
}
|
||||
|
||||
BATCH {
|
||||
ObjectId _id PK
|
||||
ObjectId vaccineId FK
|
||||
ObjectId hospitalId FK
|
||||
string batchNumber
|
||||
int quantity
|
||||
date expiryDate
|
||||
date arrivalDate
|
||||
string status "Available, Expired, Depleted"
|
||||
}
|
||||
|
||||
%% MODULE 2: CLINIC MANAGEMENT (Nethmi)
|
||||
%% Manages the physical locations and time slots
|
||||
HOSPITAL {
|
||||
ObjectId _id PK
|
||||
string name
|
||||
string district
|
||||
string city
|
||||
object location "Lat/Lng from LocationIQ"
|
||||
string contactNumber
|
||||
string type "Govt, Private"
|
||||
}
|
||||
|
||||
CLINIC {
|
||||
ObjectId _id PK
|
||||
ObjectId hospitalId FK
|
||||
ObjectId vaccineId FK
|
||||
date date
|
||||
string timeSlot "08:00-12:00"
|
||||
int maxCapacity
|
||||
int currentBookings
|
||||
string status "Scheduled, Active, Completed, Cancelled"
|
||||
}
|
||||
|
||||
%% MODULE 3: APPOINTMENT ENGINE (Saniru)
|
||||
%% Manages the booking transaction and queue
|
||||
APPOINTMENT {
|
||||
ObjectId _id PK
|
||||
ObjectId clinicId FK
|
||||
ObjectId userId FK
|
||||
int queueNumber
|
||||
string status "Pending, Completed, Cancelled, No-Show"
|
||||
string qrCodeUrl "QR API Generated"
|
||||
date bookedAt
|
||||
}
|
||||
|
||||
%% MODULE 4: PATIENT RECORDS & HISTORY (Kaveen)
|
||||
%% Manages the permanent medical history and post-vax data
|
||||
RECORD {
|
||||
ObjectId _id PK
|
||||
ObjectId userId FK
|
||||
ObjectId appointmentId FK
|
||||
ObjectId batchId FK "Traceability"
|
||||
date vaccinationDate
|
||||
string notes
|
||||
date nextDoseDate
|
||||
string certificateUrl "Generated PDF"
|
||||
}
|
||||
|
||||
%% RELATIONSHIPS
|
||||
%% Linking the specific modules together
|
||||
|
||||
%% Minidu's Relationships
|
||||
VACCINE ||--o{ BATCH : "has many batches"
|
||||
|
||||
%% Nethmi's Relationships
|
||||
HOSPITAL ||--o{ CLINIC : "hosts"
|
||||
HOSPITAL ||--o{ BATCH : "stocks"
|
||||
|
||||
%% Saniru's Relationships
|
||||
CLINIC ||--o{ APPOINTMENT : "has bookings"
|
||||
USERS ||--o{ APPOINTMENT : "makes"
|
||||
|
||||
%% Kaveen's Relationships
|
||||
APPOINTMENT ||--|| RECORD : "generates"
|
||||
USERS ||--o{ RECORD : "has history"
|
||||
BATCH ||--o{ RECORD : "used in"
|
||||
|
||||
%% Cross-Module Links
|
||||
VACCINE ||--o{ CLINIC : "offered at"
|
||||
Reference in New Issue
Block a user