import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:hmg_patient_app_new/services/analytics/analytics_service.dart'; import 'package:intl/intl.dart'; class Appointment { final GALogger logger; Appointment(this.logger); // R015 book_appointment() { logger('book_appointment'); } // R016.1, R017.2 book_appointment_by_clinic() { logger('book_appointment_by_clinic'); } // R016.2, R018.2 book_appointment_by_doctor() { logger('book_appointment_by_doctor'); } // // R017.1 // book_appointment_doctor_search({required String query}) { // // doctor_search_query : value // logger('book_appointment_doctor_search', parameters: {'doctor_search_query': query}); // } // // // R018.1 // book_appointment_select_clinic({required String appointment_type, clinic}) { // // appointment_type: regular | livecare // // clinic_type : $clinic_type // logger('book_appointment_select_clinic', parameters: {'appointment_type': appointment_type, 'clinic_type': clinic}); // } // // // R019.1 // book_appointment_livecare_accept() { // logger('book_appointment_livecare_accept'); // } // // // R019.2 // book_appointment_livecare_decline() { // logger('book_appointment_livecare_decline'); // } // // // R020 // book_appointment_chief_complaints({ // required String appointment_type, // ListClinicCentralized? clinic, // HospitalsModel? hospital, // ListDentalChiefComplain? treatment, // }) { // GAnalytics.TREATMENT_TYPE = treatment!.name; // logger('book_appointment_chief_complaints', parameters: { // 'appointment_type': appointment_type, // 'clinic_type': clinic!.clinicDescription, // 'hospital_name':hospital!=null ? hospital!.name :"", // 'treatment_type': treatment.name, // }); // } // // // R021 // book_appointment_select_doctor({required String appointment_type, required DoctorList doctor}) { // // appointment_type, clinic_type, hospital_name, treatment_type, doctor_name, doctor_nationality, doctor_gender // logger('book_appointment_select_doctor', parameters: { // 'appointment_type': appointment_type, // 'clinic_type': doctor.clinicName, // 'hospital_name': doctor.projectName, // 'treatment_type': GAnalytics.TREATMENT_TYPE ?? '', // 'doctor_name': doctor.name, // 'doctor_nationality': doctor.nationalityName, // 'doctor_gender': doctor.genderDescription, // }); // } // // // R022 // book_appointment_schedule({required String appointment_type, required DoctorList doctor}) { // // appointment_type, clinic_type, hospital_name, treatment_type, doctor_name, doctor_nationality, doctor_gender // logger('book_appointment_schedule', parameters: { // 'appointment_type': appointment_type, // 'clinic_type': doctor.clinicName, // 'hospital_name': doctor.projectName, // 'treatment_type': GAnalytics.TREATMENT_TYPE ?? '', // 'doctor_name': doctor.name, // 'doctor_nationality': doctor.nationalityName, // 'doctor_gender': doctor.genderDescription, // }); // } // // // R023 // book_appointment_date_selection({required String appointment_type, required day, required DoctorList doctor}) { // logger('book_appointment_date_selection', parameters: { // 'appointment_type': appointment_type, // 'clinic_type': doctor.clinicName, // 'hospital_name': doctor.projectName, // 'treatment_type': GAnalytics.TREATMENT_TYPE ?? '', // 'doctor_name': doctor.name, // 'doctor_nationality': doctor.nationalityName, // 'doctor_gender': doctor.genderDescription, // 'appointment_day': day // }); // } // // // R024.1 // book_appointment_time_selection({required String appointment_type, required DateTime? dateTime, required DoctorList doctor}) { // final day = DateUtil.getWeekDay(dateTime!.weekday); // final hour = DateFormat('HH').format(dateTime); // logger('book_appointment_time_selection', parameters: { // 'appointment_type': appointment_type, // 'clinic_type': doctor.clinicName, // 'hospital_name': doctor.projectName, // 'treatment_type': GAnalytics.TREATMENT_TYPE ?? '', // 'doctor_name': doctor.name, // 'doctor_nationality': doctor.nationalityName, // 'doctor_gender': doctor.genderDescription, // 'appointment_day': day, // 'appointment_hour': hour // }); // } // // // R024.2 // book_appointment_review({required String appointment_type, required DateTime dateTime, required DoctorList doctor}) { // final day = DateUtil.getWeekDay(dateTime.weekday); // final hour = DateFormat('HH').format(dateTime); // logger('book_appointment_review', parameters: { // 'appointment_type': appointment_type, // 'clinic_type': doctor.clinicName, // 'hospital_name': doctor.projectName, // 'treatment_type': GAnalytics.TREATMENT_TYPE ?? '', // 'doctor_name': doctor.name, // 'doctor_nationality': doctor.nationalityName, // 'doctor_gender': doctor.genderDescription, // 'appointment_day': day, // 'appointment_hour': hour // }); // } // // // R025 // book_appointment_click_confirm({required String appointment_type, required DateTime dateTime, required DoctorList doctor}) { // final day = DateUtil.getWeekDay(dateTime.weekday); // final hour = DateFormat('HH').format(dateTime); // logger('book_appointment_click_confirm', parameters: { // 'appointment_type': appointment_type, // 'clinic_type': doctor.clinicName, // 'hospital_name': doctor.projectName, // 'treatment_type': GAnalytics.TREATMENT_TYPE ?? '', // 'doctor_name': doctor.name, // 'doctor_nationality': doctor.nationalityName, // 'doctor_gender': doctor.genderDescription, // 'appointment_day': day, // 'appointment_hour': hour // '5-6' // }); // } // // // R026 // book_appointment_confirmation_success({required String appointment_type, required DateTime dateTime, required DoctorList doctor}) { // final day = DateUtil.getWeekDay(dateTime.weekday); // final hour = DateFormat('HH').format(dateTime); // logger('book_appointment_confirmation_success', parameters: { // 'appointment_type': appointment_type, // 'clinic_type': doctor.clinicName, // 'hospital_name': doctor.projectName, // 'treatment_type': GAnalytics.TREATMENT_TYPE ?? '', // 'doctor_name': doctor.name, // 'doctor_nationality': doctor.nationalityName, // 'doctor_gender': doctor.genderDescription, // 'appointment_day': day, // 'appointment_hour': hour // }); // } // // // R049.1 // should be for appointment flow // appointment_actions(AppoitmentAllHistoryResultList appointment, String action) { // logger('appointment_actions', parameters: { // 'action_type': action, // 'flow_type': GAnalytics.APPOINTMENT_DETAIL_FLOW_TYPE, // 'appointment_type': appointment.appointmentType, // 'clinic_type_online': appointment.clinicName, // 'hospital_name': appointment.projectName, // 'doctor_name': (appointment.doctorName == null || appointment.doctorName == '') ? appointment.doctorNameObj : appointment.doctorName, // 'payment_type': 'appointment', // }); // } // // // R027 // appointment_reminder(bool value) { // logger('appointment_reminder', parameters: {'reminder': value ? 'yes' : 'no'}); // } // // // R028 // appointment_reminder_time({required String reminde_before}) { // logger('appointment_reminder_time', parameters: {'reminder_before': reminde_before}); // } // // // R053 // // Note : - Payment flow beyond this step are same as listed under ‘Advance Payment’ section of this document // pay_now_for_appointment({required String appointment_type, required DoctorList doctorDetail, bool payNow = true}) { // logger('pay_now_for_appointment', parameters: { // 'appointment_type': appointment_type, // 'clinic_type': doctorDetail.clinicName, // 'hospital_name': doctorDetail.projectName, // 'doctor_name': doctorDetail.name, // 'payment_type': 'appointment' // }); // } // // // R033 // payment_method({required String appointment_type, clinic, payment_method, payment_type}) { // logger('payment_method', parameters: {'appointment_type': appointment_type, 'clinic_type': clinic, 'payment_method': payment_method, 'payment_type': payment_type}); // } // // // R036 // payment_success({required String appointment_type, clinic, hospital, payment_method, payment_type, txn_number, txn_amount, txn_currency}) { // logger('payment_success', parameters: { // 'appointment_type': appointment_type, // 'payment_method': payment_method, // 'payment_type': payment_type, // 'hospital_name': hospital, // 'clinic_type_online': clinic, // 'transaction_number': txn_number, // 'transaction_amount': txn_amount, // 'transaction_currency': txn_currency, // }); // } // // payment_fail({required String appointment_type, clinic, hospital, payment_method, payment_type, txn_amount, txn_currency, error_type}) { // logger('payment_fail', parameters: { // 'appointment_type': appointment_type, // 'payment_method': payment_method, // 'payment_type': payment_type, // 'hospital_name': hospital, // 'clinic_type_online': clinic, // 'transaction_amount': txn_amount, // 'transaction_currency': txn_currency, // 'error_type': error_type // }); // } // // // Note : - Payment flow beyond this step are same as listed under ‘Advance Payment’ section of this document // appointment_detail_action({required AppoitmentAllHistoryResultList appointment, required String action}) { // logger('appointment_detail_action', parameters: { // 'action_type': action, // 'flow_type': GAnalytics.APPOINTMENT_DETAIL_FLOW_TYPE, // }); // } // // // Note : - Payment flow beyond this step are same as listed under ‘Advance Payment’ section of this document // appointment_details_confirm({required AppoitmentAllHistoryResultList appointment}) { // logger('appointment_details_confirm', parameters: {}); // } // // // R053 // // Note : - Payment flow beyond this step are same as listed under ‘Advance Payment’ section of this document // appointment_details_cancel({required AppoitmentAllHistoryResultList appointment, appointment_type}) { // logger('cancel_appointment', parameters: { // 'flow_type': GAnalytics.APPOINTMENT_DETAIL_FLOW_TYPE, // 'appointment_type': appointment_type, // 'clinic_type_online': appointment.clinicName, // 'hospital_name': appointment.projectName, // 'doctor_name': (appointment.doctorName == null || appointment.doctorName == '') ? appointment.doctorNameObj : appointment.doctorName // }); // } // } }