@pih/esm-dispensing-app
Version:
Medication dispensing application
158 lines (150 loc) • 2.96 kB
text/typescript
import { type OpenmrsResource } from '@openmrs/esm-framework';
export interface Encounter {
uuid: string;
encounterDateTime: string;
encounterProviders: Array<{
uuid: string;
display: string;
encounterRole: {
uuid: string;
display: string;
};
provider: {
uuid: string;
person: {
uuid: string;
display: string;
};
};
}>;
encounterType: {
uuid: string;
display: string;
};
obs: Array<Observation>;
orders: Array<Order>;
}
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;
};
}>;
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 Provider {
uuid: string;
display: string;
comments?: string;
response?: string;
person: OpenmrsResource;
name?: string;
}
export interface Patient {
uuid: string;
identifiers: Identifier[];
display: string;
person: {
uuid: string;
display: string;
gender: string;
age: number;
birthdate: string;
birthdateEstimated: boolean;
dead: boolean;
deathDate?: any;
causeOfDeath?: any;
preferredAddress: {
address1: string;
cityVillage: string;
country: string;
postalCode: string;
stateProvince: string;
countyDistrict: string;
};
attributes: any[];
voided: boolean;
birthtime?: any;
deathdateEstimated: boolean;
resourceVersion: string;
};
attributes: { value: string; attributeType: { uuid: string; display: string } }[];
voided: boolean;
}
export interface Address {
preferred: boolean;
address1: string;
cityVillage: string;
country: string;
postalCode: string;
stateProvince: string;
}
export interface Identifier {
uuid: string;
display: string;
}