import type { OpenmrsResource, Privilege } from '@openmrs/esm-framework'; export interface MappedEncounter { id: string; datetime: string; encounterType: string; editPrivilege: string; form: OpenmrsResource; obs: Array; provider: string; visitUuid: string; visitType: string; visitTypeUuid?: string; visitStartDatetime?: string; visitStopDatetime?: string; } export interface Encounter { uuid: string; diagnoses: Array; encounterDatetime: string; encounterProviders: Array; encounterType: { uuid: string; display: string; viewPrivilege: Privilege; editPrivilege: Privilege; }; obs: Array; orders: Array; form: OpenmrsResource; patient: OpenmrsResource; } export interface EncounterProvider { uuid: string; display: string; encounterRole: { uuid: string; display: string; }; provider: { uuid: string; person: { uuid: string; display: string; }; }; } export interface Observation { uuid: string; concept: { uuid: string; display: string; conceptClass: { uuid: string; display: string; }; }; display: string; groupMembers: null | Array<{ uuid: string; concept: { uuid: string; display: string; }; value: { uuid: string; display: string; }; display: string; }>; value: any; obsDatetime?: string; } export interface Order { uuid: string; dateActivated: string; dateStopped?: Date | null; dose: number; dosingInstructions: string | null; dosingType?: 'org.openmrs.FreeTextDosingInstructions' | 'org.openmrs.SimpleDosingInstructions'; doseUnits: { uuid: string; display: string; }; drug: { uuid: string; name: string; strength: string; display: string; }; duration: number; durationUnits: { uuid: string; display: string; }; frequency: { uuid: string; display: string; }; numRefills: number; orderNumber: string; orderReason: string | null; orderReasonNonCoded: string | null; orderer: { uuid: string; person: { uuid: string; display: string; }; }; orderType: { uuid: string; display: string; }; route: { uuid: string; display: string; }; quantity: number; quantityUnits: OpenmrsResource; } export interface Note { concept: OpenmrsResource; note: string; provider: { name: string; role: string; }; time: string; } export interface OrderItem { order: Order; provider: { name: string; role: string; }; } export interface Diagnosis { certainty: string; display: string; encounter: OpenmrsResource; links: Array; patient: OpenmrsResource; rank: number; resourceVersion: string; uuid: string; voided: boolean; diagnosis: { coded: { display: string; links: Array; }; }; }