UNPKG

@causalfoundry/react-native-cf-chw-mgmt

Version:

causalfoundry.ai SDK for tracking logs for Community Healthcare Worker's usage of the app.

443 lines (391 loc) 10.7 kB
// ENUMS export enum ChwSiteType { Facility = "facility", Community = "community" } export enum CounselingType { Lifestyle = "lifestyle", Psychological = "psychological", Other = "other" } export enum DiagnosisQuestionnaireType { Phq4 = "phq_4", CageAid = "cage_aid", SuicidalIdeation = "suicidal_ideation", SubstanceAbuse = "substance_abuse", Phq9 = "phq_9", Gad7 = "gad_7", Pregnancy = "pregnancy", Diabetes = "diabetes", Hypertension = "hypertension", MentalHealth = "mental_health", MaternalHealth = "maternal_health", Other = "other" } export enum DiagnosisSymptomType { SubstanceUseDisorder = "substance_use_disorder", Pregnancy = "pregnancy", Diabetes = "diabetes", Hypertension = "hypertension", MentalHealth = "mental_health", Other = "other" } export enum DiagnosisType { Age = "age", Gender = "gender", Height = "height", Weight = "weight", Smoker = "smoker", BloodPressure = "blood_pressure", BloodGlucose = "blood_glucose", Bmi = "bmi", Temperature = "temperature", Cvd = "cvd", HbA1c = "hbA1c", Phq4 = "phq_4", Phq9 = "phq_9", Gad7 = "gad_7", PregnancyStatus = "pregnancy_status", PregnancyDanger_signs = "pregnancy_danger_signs", SuicidalIdeation = "suicidal_ideation", HighRiskPregnancy = "high_risk_pregnancy", Other = "other", } export enum MaternalOutcomeType { AliveWell = "alive_well", MaternalDeath = "maternal_death", Other = "other" } export enum NeonatalOutcomeType { StillBirth = "still_birth", LiveBirth = "live_birth", NeonatalDeath = "neonatal_death", Other = "other" } export enum PatientStatusValueType { N_A = "n_a", NewPatient = "new_patient", KnownPatient = "known_patient", Other = "other" } export enum QuestionType { OpenEnded = "open_ended", ClosedEnded = "closed_ended", Nominal = "nominal", LikertScale = "likert_scale", RatingScale = "rating_scale", YesNo = "yes_no", Interview = "interview", Other = "other" } export enum PregnancyDetailItemType { Diabetes = "diabetes", Hypertension = "hypertension", AncStarted = "anc_started", FollowupInterest = "followup_interest", IptDrugs = "ipt_drugs", Supplements = "supplements", MosquitoNet = "mosquito_net", GestationalAge = "gestational_age", EstimatedDeliveryDate = "estimated_delivery_date", Other = "other" } export enum ChwItemAction { View = "view", Add = "add", Update = "update", Remove = "remove", Done = "done" } export enum TreatmentFrequency { Daily = "daily", Days = "days", Weeks = "weeks", Months = "months" } export enum TreatmentType { MedicalReview = "medical_review", BloodPressure = "blood_pressure", BloodGlucose = "blood_glucose", HbA1c = "HbA1c", cho = "cho", Other = "other", } export enum PrescriptionItemType { Tablet = "tablet", Syrup = "syrup", Injection = "injection", Insulin = "insulin", Capsule = "capsule", Other = "other" } export enum ReviewSummaryItem { ChiefComplaints = "chief_complaints", PhysicalExaminations = "physical_examinations", Comorbidities = "comorbidities", Complications = "complications", ObstetricExamination = "obstetric_examination", SystemicExamination = "systemic_examination", Other = "other", } export enum ScreeningType { Triage = "triage", Outpatient = "outpatient", Inpatient = "inpatient", Pharmacy = "pharmacy", DoorToDoor = "door_to_door", Camp = "camp", Other = "other" } export enum ChwModuleType { Screening = "screening", Assessment = "assessment", Enrolment = "enrolment", MedicalReview = "medical_review", MyPatients = "my_patients", Prescription = "prescription", LifestyleMgmt = "lifestyle_mgmt", PsychologicalMgmt = "psychological_mgmt", CounselingMgmt = "counseling_mgmt", Investigation = "investigation", TreatmentPlan = "treatment_plan", Transfers = "transfers", Other = "other", } export enum PrescriptionItemFrequency { AM = "AM", PM = "PM", OD = "OD", BD = "BD", TDS = "TDS", QDS = "QDS", OM = "OM", ON = "ON", CC = "CC", PC = "PC", AC = "AC", PRN = "PRN", Other = "other" } // Item Objects export interface DiagnosisItem { type: DiagnosisType, value: any, unit: string, remarks?: string, diagnosis_date?: number } export interface DiagnosisSymptomItem { type: DiagnosisSymptomType, symptoms: Array<string>, remarks: string } export interface DiagnosisQuestionnaireObject { type: DiagnosisQuestionnaireType, symptoms: Array<DiagnosisQuestionItem>, instructions: string } export interface DiagnosisQuestionItem { type: QuestionType, question: string, reply: string, score?: number, remarks?: string } export interface PatientStatusItem { type: DiagnosisSymptomType, value: PatientStatusValueType, diagnosis_year: string, diagnosis_type: string, is_confirmed: boolean, remarks?: string } export interface TreatmentPlanItem { type: TreatmentType, value: number, frequency: TreatmentFrequency, action: ChwItemAction, is_approved: boolean, remarks: string } export interface InvestigationItem { name: string, test_value: string, test_unit: string, ordered_date: number, tested_date: number, action: ChwItemAction, remarks: string } export interface PrescriptionItem { id: string, name: string, dosage_value: any, dosage_unit: string, type: PrescriptionItemType, frequency: PrescriptionItemFrequency, prescribed_days: number, action: ChwItemAction, remarks?: string } export interface CounselingPlanItem { name: string, action: ChwItemAction, clinician_notes?: string, assessment_remarks?: string, counselor_notes?: string, referral_date?: number, assessment_date?: number, referred_by?: string, assessed_by?: string, remarks?: string } export interface MedicalReviewObject { id: string, diagnosis_results_list: Array<DiagnosisItem>, patient_status_list: Array<PatientStatusItem>, clinical_notes: string, review_summary_list: Array<MedicalReviewSummaryObject>, next_medical_review: number, pregnancy_details: PregnancyDetailObject, lifestyle_assessment_list: Array<DiagnosisQuestionItem>, remarks?: string } export interface MedicalReviewSummaryObject { type: ReviewSummaryItem, values: Array<string> remarks?: string } export interface MedicationAdherenceObject { medication_adherence: string, lack_adherence_reason: string } export interface PregnancyDetailObject { pregnancy_status: boolean, last_menstrual_period: number high_risk: boolean gravida: number parity: number n_fetus: number neonatal_outcome: NeonatalOutcomeType maternal_outcome: MaternalOutcomeType pregnancy_details_list: Array<PregnancyDetailItem> } export interface PregnancyDetailItem { type: PregnancyDetailItemType, value: any observation_date: number } // EVENT PROPERTIES export interface ChwModelObject { type: ChwModuleType } export interface SubmitScreeningEventObject { patient_id: string, site_id: string, category: ChwSiteType, type: ScreeningType, referred_for_assessment: boolean, vitals_list: Array<DiagnosisItem>, diagnosis_symptoms_list: Array<DiagnosisSymptomItem>, diagnosis_questionnaire_list: Array<DiagnosisQuestionnaireObject>, diagnosis_values_list: Array<DiagnosisItem>, diagnosis_results_list: Array<DiagnosisItem> pregnancy_details: PregnancyDetailObject } export interface SubmitAssessmentEventObject { patient_id: string, site_id: string, category: ChwSiteType, type: ScreeningType, medication_adherence: MedicationAdherenceObject, vitals_list: Array<DiagnosisItem>, diagnosis_questionnaire_list?: Array<DiagnosisQuestionnaireObject>, diagnosis_values_list: Array<DiagnosisItem>, diagnosis_results_list: Array<DiagnosisItem>, diagnosis_symptoms_list: Array<DiagnosisSymptomItem>, pregnancy_details?: PregnancyDetailObject, referred_for_assessment: boolean } export interface SubmitEnrolmentEventObject { patient_id: string, site_id: string, action: ChwItemAction, vitals_list: Array<DiagnosisItem>, diagnosis_values_list: Array<DiagnosisItem>, diagnosis_results_list: Array<DiagnosisItem>, patient_status_list: Array<PatientStatusItem>, diagnosis_questionnaire_list?: Array<DiagnosisQuestionnaireObject>, pregnancy_details?: PregnancyDetailObject, treatment_plan_list: Array<TreatmentPlanItem> } export interface CounselingEventObject { patient_id: string, site_id: string, id: string, counseling_type: CounselingType counseling_plan_list: Array<CounselingPlanItem>, } export interface InvestigationEventObject { patient_id: string, site_id: string, id: string, prescribed_tests_list: Array<InvestigationItem>, } export interface TreatmentPlanEventObject { patient_id: string, site_id: string, id: string, treatment_plan_list: Array<TreatmentPlanItem>, } export interface PrescriptionEventObject { patient_id: string, site_id: string, id: string, prescription_list: Array<PrescriptionItem>, } export interface SubmitMedicalReviewObject { patient_id: string, site_id: string, medical_review: MedicalReviewObject } // CATALOG VALUES export interface ChwCatalogModel { name : string, role : string, is_volunteer : boolean, role_permissions : Array<string>, site_id_list : Array<string>, services : Array<string> } export interface ChwSiteCatalogModel { name : string, country : string, region_state : string, city : string, zipcode : string, level : string, category : string, is_active : boolean, address : string, address_type : string, latitude? : number, longitude? : number, culture : string } export interface PatientCatalogModel { name : string, country : string, region_state : string, city : string, profession : string, education_level : string, site_ids_list : Array<string>, national_id : string, insurance_id : string, insurance_type : string, insurance_status : boolean, landmark : string, phone_number_category : string, program_id : string }