Entity Definitions & Types
Definisi tipe TypeScript untuk entitas User, Clinic, Patient, ClinicalSession, dan MedicalRecord.
Status: Stablev1.0.0Source Verified: Yes
Source:
src/types/database.ts, src/types/firestore.tsTests: tests/unit/firestoreDocumentMappers.test.tsEntity Definitions & Types#
Spesifikasi antarmuka TypeScript yang merepresentasikan model data NoSQL Firestore.
1. Definisi Tipe TypeScript Inti#
typescript
typescript
1export type UserRole = "admin" | "doctor" | "operator" | "parent";23export interface UserProfile {4 uid: string;5 email: string;6 displayName: string;7 role: UserRole;8 clinicId: string | null;9 status: "active" | "inactive" | "suspended";10 createdAt: string;11 updatedAt: string;12}1314export interface Patient {15 id: string;16 clinicId: string;17 nik: string;18 fullName: string;19 birthDate: string;20 gender: "male" | "female";21 parentIds: string[];22 verificationStatus: "verified" | "pending_verification";23 createdAt: string;24}2526export interface ClinicalSession {27 id: string;28 clinicId: string;29 patientId: string;30 operatorId: string;31 doctorId?: string;32 stage: "breathing_pending" | "dental_pending" | "ready_for_review" | "finalized";33 breathingSnapshot?: BreathingMeasurement;34 dentalSnapshot?: DentalAnalysisResult;35 createdAt: string;36}
2. Skema Validasi Input#
Seluruh payload input divalidasi terhadap tipe data di atas sebelum diteruskan ke fungsi database Firestore.