UNPKG

@eka-care/patient-ts-sdk

Version:

TypeScript SDK for Trinity Patient Profile Management System

60 lines (59 loc) 1.6 kB
/** * IndexedDB service for local patient data storage */ import { LocalMinifiedPatient } from '../types'; export declare class IndexedDBService { private dbName; private version; private db; private workspaceId; constructor(workspaceId: string); /** * Initialize the IndexedDB connection */ init(): Promise<void>; /** * Get workspace-specific store name */ private getStoreName; /** * Store multiple patients in batch */ batchStore(patients: LocalMinifiedPatient[]): Promise<void>; /** * Search patients by prefix with field-specific logic */ searchByPrefix(prefix: string, limit?: number): Promise<LocalMinifiedPatient[]>; /** * Get patient by OID (primary key) */ getByOid(oid: string): Promise<LocalMinifiedPatient | null>; /** * Update single patient by OID */ updatePatient(patient: LocalMinifiedPatient): Promise<void>; /** * Partially update patient by OID - only updates specified fields */ partialUpdatePatient(oid: string, updates: Partial<LocalMinifiedPatient>): Promise<void>; /** * Check if any data exists */ hasData(): Promise<boolean>; /** * Get all patients (for internal use) */ getAllPatients(): Promise<LocalMinifiedPatient[]>; /** * Get the latest update timestamp */ getLatestUpdateTime(): Promise<number>; /** * Clear all data for the current workspace */ clearData(): Promise<void>; /** * Close the database connection */ close(): void; }