@eka-care/patient-ts-sdk
Version:
TypeScript SDK for Trinity Patient Profile Management System
60 lines (59 loc) • 1.6 kB
TypeScript
/**
* 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;
}