From 5200839211794b8cccc9e106e13ddfa41d916bed Mon Sep 17 00:00:00 2001 From: wayanrivan Date: Tue, 7 Jul 2026 09:03:15 +0700 Subject: [PATCH] uodate for revenue dashboard --- src/entity/administrativu.ts | 44 --- src/entity/aldeia.ts | 44 --- src/entity/application.ts | 42 --- src/entity/blood-bank/blood_dispatch.ts | 65 ----- src/entity/blood-bank/blood_donor.ts | 58 ---- src/entity/blood-bank/blood_request.ts | 81 ------ src/entity/blood-bank/blood_request_item.ts | 50 ---- src/entity/blood-bank/blood_stock.ts | 44 --- src/entity/blood-bank/blood_stock_movement.ts | 51 ---- src/entity/blood-bank/blood_unit.ts | 82 ------ src/entity/blood-bank/blood_waste_log.ts | 44 --- src/entity/blood-bank/cross_match.ts | 58 ---- src/entity/card-management/card_inventory.ts | 72 ----- src/entity/card-management/card_stock_in.ts | 48 ---- .../card-management/running_number_log.ts | 53 ---- src/entity/card_key_sets.ts | 52 ---- src/entity/card_print_queue.ts | 105 ------- src/entity/card_type.ts | 35 --- src/entity/cashier/cashier.ts | 84 ------ src/entity/cashier/cashier_item.ts | 141 ---------- src/entity/cashier/payment_received.ts | 129 --------- src/entity/cashier/payment_received_item.ts | 52 ---- src/entity/city.ts | 32 --- src/entity/counter.ts | 43 --- src/entity/currencies.ts | 47 ---- src/entity/department.ts | 49 ---- src/entity/diagnosis.ts | 71 ----- src/entity/diagnostic_procedure.ts | 45 --- src/entity/district.ts | 39 --- src/entity/doctor_item.ts | 41 --- src/entity/doctor_item_package.ts | 56 ---- src/entity/doctor_schedule.ts | 70 ----- src/entity/emr/emr_anamnesis.ts | 85 ------ src/entity/emr/emr_ancillary_service_order.ts | 113 -------- src/entity/emr/emr_atenatal_care.ts | 82 ------ .../emr/emr_boarding_room_bed_histories.ts | 76 ----- src/entity/emr/emr_boarding_room_deceased.ts | 72 ----- src/entity/emr/emr_boarding_room_discharge.ts | 54 ---- .../emr/emr_boarding_room_doctor_histories.ts | 69 ----- .../emr/emr_boarding_room_emergency_status.ts | 51 ---- .../emr/emr_boarding_room_medical_summary.ts | 46 --- .../emr/emr_boarding_room_procedure_report.ts | 56 ---- src/entity/emr/emr_boarding_rooms.ts | 77 ----- src/entity/emr/emr_compounding_medicine.ts | 81 ------ .../emr/emr_compounding_medicine_item.ts | 65 ----- src/entity/emr/emr_diagnosis.ts | 80 ------ src/entity/emr/emr_diagnostic_procedure.ts | 73 ----- src/entity/emr/emr_diet.ts | 52 ---- .../emr/emr_discharge_status_emergency.ts | 89 ------ src/entity/emr/emr_doctor_order_emergency.ts | 53 ---- src/entity/emr/emr_doctor_procedure.ts | 59 ---- ...ransfer_additional_attending_physicians.ts | 41 --- ...emr_emergency_transfer_attached_devices.ts | 45 --- ...ergency_transfer_clinical_interventions.ts | 39 --- .../emr/emr_emergency_transfer_diagnostics.ts | 39 --- .../emr/emr_emergency_transfer_medications.ts | 51 ---- ...r_emergency_transfer_patient_conditions.ts | 85 ------ ..._emergency_transfer_secondary_diagnoses.ts | 41 --- src/entity/emr/emr_emergency_transfers.ts | 170 ----------- src/entity/emr/emr_external_consultation.ts | 53 ---- src/entity/emr/emr_hemodialysis_plan.ts | 80 ------ src/entity/emr/emr_hemodialysis_schedule.ts | 62 ---- src/entity/emr/emr_hemodialysis_settings.ts | 37 --- src/entity/emr/emr_hemodialysis_visit.ts | 77 ----- .../emr/emr_hemodialysis_visit_detail.ts | 57 ---- src/entity/emr/emr_internal_consultation.ts | 106 ------- .../emr/emr_laboratory_order_item_results.ts | 66 ----- src/entity/emr/emr_laboratory_order_items.ts | 67 ----- src/entity/emr/emr_laboratory_orders.ts | 102 ------- src/entity/emr/emr_nursing_assesment.ts | 265 ------------------ src/entity/emr/emr_observation_record.ts | 82 ------ src/entity/emr/emr_odontogram.ts | 66 ----- src/entity/emr/emr_odontogram_teeth.ts | 59 ---- src/entity/emr/emr_patient.ts | 152 ---------- src/entity/emr/emr_patient_education.ts | 109 ------- .../emr/emr_patient_past_medical_document.ts | 60 ---- src/entity/emr/emr_pharmacy_order.ts | 96 ------- src/entity/emr/emr_pharmacy_order_activity.ts | 53 ---- src/entity/emr/emr_physical_examination.ts | 56 ---- .../emr/emr_physical_examination_emergency.ts | 56 ---- src/entity/emr/emr_prescription.ts | 90 ------ src/entity/emr/emr_radiology.ts | 101 ------- src/entity/emr/emr_radiology_services.ts | 62 ---- src/entity/emr/emr_registration.ts | 109 ------- src/entity/emr/emr_registration_emergency.ts | 194 ------------- .../emr_registration_emergency_responsible.ts | 127 --------- .../emr/emr_registration_hemodialysis.ts | 59 ---- src/entity/emr/emr_registration_inpatient.ts | 103 ------- src/entity/emr/emr_registration_outpatient.ts | 112 -------- src/entity/emr/emr_registration_treatment.ts | 69 ----- src/entity/emr/emr_room_medical_equipment.ts | 61 ---- src/entity/emr/emr_soap_notes.ts | 69 ----- src/entity/emr/emr_surgery_schedules.ts | 115 -------- src/entity/emr/emr_vital_signs.ts | 184 ------------ src/entity/examination_detail.ts | 66 ----- src/entity/examination_type.ts | 52 ---- src/entity/faretype.ts | 38 --- src/entity/foster_care_history.ts | 161 ----------- src/entity/hospital_information.ts | 112 -------- src/entity/hrms/hrms_attendance.ts | 138 --------- src/entity/hrms/hrms_attendance_request.ts | 76 ----- .../hrms/hrms_attendance_request_approval.ts | 53 ---- src/entity/hrms/hrms_bank.ts | 57 ---- src/entity/hrms/hrms_department.ts | 56 ---- src/entity/hrms/hrms_employee.ts | 183 ------------ src/entity/hrms/hrms_holiday.ts | 78 ------ src/entity/hrms/hrms_leave.ts | 79 ------ src/entity/hrms/hrms_leave_approval.ts | 64 ----- src/entity/hrms/hrms_leave_document.ts | 29 -- src/entity/hrms/hrms_leave_type.ts | 61 ---- src/entity/hrms/hrms_payroll.ts | 82 ------ src/entity/hrms/hrms_payroll_monthly.ts | 79 ------ src/entity/hrms/hrms_position.ts | 74 ----- src/entity/hrms/hrms_scholarship.ts | 73 ----- src/entity/hrms/hrms_shift.ts | 86 ------ src/entity/hrms/hrms_training.ts | 83 ------ src/entity/hrms/hrms_training_participant.ts | 52 ---- src/entity/inpatient_room_bed_details.ts | 75 ----- src/entity/inpatient_room_beds.ts | 51 ---- src/entity/inpatient_rooms.ts | 45 --- src/entity/main_disease.ts | 42 --- src/entity/measurement_unit.ts | 39 --- src/entity/medical_form.ts | 71 ----- src/entity/menu.ts | 70 ----- src/entity/munisipo.ts | 39 --- src/entity/nationality.ts | 39 --- src/entity/notification.ts | 108 ------- src/entity/patient_group.ts | 41 --- src/entity/patient_guarantor.ts | 111 -------- src/entity/payment_method.ts | 35 --- src/entity/pharmacy-logistic/delivery_room.ts | 61 ---- .../pharmacy-logistic/delivery_room_detail.ts | 50 ---- src/entity/pharmacy-logistic/order_item.ts | 55 ---- .../pharmacy-logistic/order_item_detail.ts | 39 --- src/entity/pharmacy-logistic/receive_order.ts | 91 ------ .../pharmacy-logistic/receive_order_detail.ts | 75 ----- src/entity/pharmacy-logistic/room_order.ts | 62 ---- .../pharmacy-logistic/room_order_detail.ts | 36 --- src/entity/pharmacy-logistic/room_stock.ts | 49 ---- src/entity/pharmacy/factory.ts | 62 ---- src/entity/pharmacy/factory_to_supplier.ts | 45 --- src/entity/pharmacy/generic_name.ts | 38 --- src/entity/pharmacy/initial_stock.ts | 57 ---- src/entity/pharmacy/item_category.ts | 38 --- src/entity/pharmacy/item_class.ts | 38 --- src/entity/pharmacy/item_class_detail.ts | 40 --- src/entity/pharmacy/item_group.ts | 38 --- src/entity/pharmacy/item_master.ts | 144 ---------- src/entity/pharmacy/item_origin.ts | 67 ----- src/entity/pharmacy/item_price.ts | 49 ---- src/entity/pharmacy/item_status.ts | 38 --- src/entity/pharmacy/item_type.ts | 47 ---- src/entity/pharmacy/item_type_detail.ts | 47 ---- src/entity/pharmacy/pharmacy_info.ts | 91 ------ src/entity/pharmacy/planning_verificator.ts | 40 --- .../pharmacy/selling_price_percentage.ts | 49 ---- src/entity/pharmacy/supplier.ts | 56 ---- src/entity/pharmacy/unit.ts | 50 ---- src/entity/pharmacy/usage_instructions.ts | 44 --- src/entity/pharmacy/usage_time.ts | 44 --- src/entity/province.ts | 32 --- src/entity/queue_monitoring.ts | 54 ---- src/entity/queue_monitoring_rooms.ts | 43 --- src/entity/reference_range.ts | 72 ----- src/entity/refferal_hospital.ts | 52 ---- src/entity/registrationfee.ts | 48 ---- .../reporting/emergency_case_category_fact.ts | 60 ---- .../emergency_consultation_type_fact.ts | 63 ----- .../reporting/emergency_diagnosis_fact.ts | 54 ---- .../emergency_domestic_violence_fact.ts | 48 ---- .../emergency_drowning_intoxication_fact.ts | 54 ---- src/entity/reporting/emergency_fact.ts | 64 ----- .../reporting/emergency_outcome_fact.ts | 52 ---- .../reporting/emergency_referral_name_fact.ts | 60 ---- .../emergency_referral_source_fact.ts | 46 --- .../emergency_traffic_accident_fact.ts | 54 ---- src/entity/reporting/opd_clinic_map.ts | 42 --- src/entity/reporting/opd_cron_state.ts | 25 -- src/entity/reporting/opd_diagnosis_fact.ts | 65 ----- src/entity/reporting/opd_referral_fact.ts | 62 ---- src/entity/reporting/opd_visit_fact.ts | 68 ----- src/entity/responsible_party_consent.ts | 39 --- src/entity/room.ts | 98 ------- src/entity/room_number.ts | 34 --- src/entity/room_to_pharmacy.ts | 45 --- src/entity/schedule_exceptions.ts | 74 ----- src/entity/schedule_series.ts | 80 ------ src/entity/service.ts | 86 ------ src/entity/service_class.ts | 34 --- src/entity/service_fare.ts | 62 ---- src/entity/service_package.ts | 69 ----- src/entity/service_type.ts | 42 --- src/entity/subdistrict.ts | 32 --- src/entity/suco.ts | 44 --- src/entity/surgery_room.ts | 40 --- src/entity/surgery_type.ts | 35 --- src/entity/treatment/treatment_plan.ts | 89 ------ .../treatment/treatment_plan_session.ts | 49 ---- src/entity/user_activity.ts | 10 +- src/entity/user_to_room.ts | 52 ---- src/entity/users.ts | 20 +- src/entity/users_roles.ts | 8 +- src/entity/ward.ts | 31 -- src/index.ts | 12 +- src/schema/blood_bank.ts | 13 - src/schema/card_management.ts | 4 - src/schema/cashier.ts | 7 - src/schema/emr.ts | 77 ----- src/schema/finances.ts | 3 - src/schema/hrms.ts | 20 -- src/schema/pharmacy.ts | 21 -- src/schema/pharmacy_logistic.ts | 9 - src/schema/procurement.ts | 3 - src/schema/public.ts | 72 ----- src/schema/reporting.ts | 16 -- src/types/ancillary_service_order_status.ts | 13 - src/types/billing_item_status.ts | 9 - src/types/billing_status.ts | 11 - src/types/blood_component_type.ts | 9 - src/types/blood_request_status.ts | 12 - src/types/blood_stock_movement_type.ts | 9 - src/types/blood_unit_status.ts | 14 - src/types/card_inventory_status.ts | 7 - src/types/card_print_queue_status.ts | 7 - src/types/card_print_queue_type.ts | 5 - src/types/citizen.ts | 9 - src/types/diagnosis_type.ts | 8 - src/types/email.ts | 24 -- src/types/emr.ts | 14 - src/types/error.ts | 3 - src/types/finance.ts | 90 ------ src/types/hrms.ts | 25 -- src/types/laboratory_order_status.ts | 15 - src/types/notification_priority.ts | 7 - src/types/opd_report_grain.ts | 6 - src/types/patient_category.ts | 11 - src/types/pharmacy_order_status.ts | 20 -- src/types/prescription_pharmacy_status.ts | 7 - src/types/procurement.ts | 97 ------- src/types/public.ts | 14 - src/types/radiology_order_status.ts | 16 -- src/types/referral_hospital_type.ts | 9 - src/types/registration_status.ts | 14 - src/types/registration_type.ts | 11 - src/types/role.ts | 23 -- src/types/specialist_form.ts | 23 -- src/types/telegram.ts | 31 -- src/types/treatment_session.ts | 17 -- 248 files changed, 14 insertions(+), 14249 deletions(-) delete mode 100644 src/entity/administrativu.ts delete mode 100644 src/entity/aldeia.ts delete mode 100644 src/entity/application.ts delete mode 100644 src/entity/blood-bank/blood_dispatch.ts delete mode 100644 src/entity/blood-bank/blood_donor.ts delete mode 100644 src/entity/blood-bank/blood_request.ts delete mode 100644 src/entity/blood-bank/blood_request_item.ts delete mode 100644 src/entity/blood-bank/blood_stock.ts delete mode 100644 src/entity/blood-bank/blood_stock_movement.ts delete mode 100644 src/entity/blood-bank/blood_unit.ts delete mode 100644 src/entity/blood-bank/blood_waste_log.ts delete mode 100644 src/entity/blood-bank/cross_match.ts delete mode 100644 src/entity/card-management/card_inventory.ts delete mode 100644 src/entity/card-management/card_stock_in.ts delete mode 100644 src/entity/card-management/running_number_log.ts delete mode 100644 src/entity/card_key_sets.ts delete mode 100644 src/entity/card_print_queue.ts delete mode 100644 src/entity/card_type.ts delete mode 100644 src/entity/cashier/cashier.ts delete mode 100644 src/entity/cashier/cashier_item.ts delete mode 100644 src/entity/cashier/payment_received.ts delete mode 100644 src/entity/cashier/payment_received_item.ts delete mode 100644 src/entity/city.ts delete mode 100644 src/entity/counter.ts delete mode 100644 src/entity/currencies.ts delete mode 100644 src/entity/department.ts delete mode 100644 src/entity/diagnosis.ts delete mode 100644 src/entity/diagnostic_procedure.ts delete mode 100644 src/entity/district.ts delete mode 100644 src/entity/doctor_item.ts delete mode 100644 src/entity/doctor_item_package.ts delete mode 100644 src/entity/doctor_schedule.ts delete mode 100644 src/entity/emr/emr_anamnesis.ts delete mode 100644 src/entity/emr/emr_ancillary_service_order.ts delete mode 100644 src/entity/emr/emr_atenatal_care.ts delete mode 100644 src/entity/emr/emr_boarding_room_bed_histories.ts delete mode 100644 src/entity/emr/emr_boarding_room_deceased.ts delete mode 100644 src/entity/emr/emr_boarding_room_discharge.ts delete mode 100644 src/entity/emr/emr_boarding_room_doctor_histories.ts delete mode 100644 src/entity/emr/emr_boarding_room_emergency_status.ts delete mode 100644 src/entity/emr/emr_boarding_room_medical_summary.ts delete mode 100644 src/entity/emr/emr_boarding_room_procedure_report.ts delete mode 100644 src/entity/emr/emr_boarding_rooms.ts delete mode 100644 src/entity/emr/emr_compounding_medicine.ts delete mode 100644 src/entity/emr/emr_compounding_medicine_item.ts delete mode 100644 src/entity/emr/emr_diagnosis.ts delete mode 100644 src/entity/emr/emr_diagnostic_procedure.ts delete mode 100644 src/entity/emr/emr_diet.ts delete mode 100644 src/entity/emr/emr_discharge_status_emergency.ts delete mode 100644 src/entity/emr/emr_doctor_order_emergency.ts delete mode 100644 src/entity/emr/emr_doctor_procedure.ts delete mode 100644 src/entity/emr/emr_emergency_transfer_additional_attending_physicians.ts delete mode 100644 src/entity/emr/emr_emergency_transfer_attached_devices.ts delete mode 100644 src/entity/emr/emr_emergency_transfer_clinical_interventions.ts delete mode 100644 src/entity/emr/emr_emergency_transfer_diagnostics.ts delete mode 100644 src/entity/emr/emr_emergency_transfer_medications.ts delete mode 100644 src/entity/emr/emr_emergency_transfer_patient_conditions.ts delete mode 100644 src/entity/emr/emr_emergency_transfer_secondary_diagnoses.ts delete mode 100644 src/entity/emr/emr_emergency_transfers.ts delete mode 100644 src/entity/emr/emr_external_consultation.ts delete mode 100644 src/entity/emr/emr_hemodialysis_plan.ts delete mode 100644 src/entity/emr/emr_hemodialysis_schedule.ts delete mode 100644 src/entity/emr/emr_hemodialysis_settings.ts delete mode 100644 src/entity/emr/emr_hemodialysis_visit.ts delete mode 100644 src/entity/emr/emr_hemodialysis_visit_detail.ts delete mode 100644 src/entity/emr/emr_internal_consultation.ts delete mode 100644 src/entity/emr/emr_laboratory_order_item_results.ts delete mode 100644 src/entity/emr/emr_laboratory_order_items.ts delete mode 100644 src/entity/emr/emr_laboratory_orders.ts delete mode 100644 src/entity/emr/emr_nursing_assesment.ts delete mode 100644 src/entity/emr/emr_observation_record.ts delete mode 100644 src/entity/emr/emr_odontogram.ts delete mode 100644 src/entity/emr/emr_odontogram_teeth.ts delete mode 100644 src/entity/emr/emr_patient.ts delete mode 100644 src/entity/emr/emr_patient_education.ts delete mode 100644 src/entity/emr/emr_patient_past_medical_document.ts delete mode 100644 src/entity/emr/emr_pharmacy_order.ts delete mode 100644 src/entity/emr/emr_pharmacy_order_activity.ts delete mode 100644 src/entity/emr/emr_physical_examination.ts delete mode 100644 src/entity/emr/emr_physical_examination_emergency.ts delete mode 100644 src/entity/emr/emr_prescription.ts delete mode 100644 src/entity/emr/emr_radiology.ts delete mode 100644 src/entity/emr/emr_radiology_services.ts delete mode 100644 src/entity/emr/emr_registration.ts delete mode 100644 src/entity/emr/emr_registration_emergency.ts delete mode 100644 src/entity/emr/emr_registration_emergency_responsible.ts delete mode 100644 src/entity/emr/emr_registration_hemodialysis.ts delete mode 100644 src/entity/emr/emr_registration_inpatient.ts delete mode 100644 src/entity/emr/emr_registration_outpatient.ts delete mode 100644 src/entity/emr/emr_registration_treatment.ts delete mode 100644 src/entity/emr/emr_room_medical_equipment.ts delete mode 100644 src/entity/emr/emr_soap_notes.ts delete mode 100644 src/entity/emr/emr_surgery_schedules.ts delete mode 100644 src/entity/emr/emr_vital_signs.ts delete mode 100644 src/entity/examination_detail.ts delete mode 100644 src/entity/examination_type.ts delete mode 100644 src/entity/faretype.ts delete mode 100644 src/entity/foster_care_history.ts delete mode 100644 src/entity/hospital_information.ts delete mode 100644 src/entity/hrms/hrms_attendance.ts delete mode 100644 src/entity/hrms/hrms_attendance_request.ts delete mode 100644 src/entity/hrms/hrms_attendance_request_approval.ts delete mode 100644 src/entity/hrms/hrms_bank.ts delete mode 100644 src/entity/hrms/hrms_department.ts delete mode 100644 src/entity/hrms/hrms_employee.ts delete mode 100644 src/entity/hrms/hrms_holiday.ts delete mode 100644 src/entity/hrms/hrms_leave.ts delete mode 100644 src/entity/hrms/hrms_leave_approval.ts delete mode 100644 src/entity/hrms/hrms_leave_document.ts delete mode 100644 src/entity/hrms/hrms_leave_type.ts delete mode 100644 src/entity/hrms/hrms_payroll.ts delete mode 100644 src/entity/hrms/hrms_payroll_monthly.ts delete mode 100644 src/entity/hrms/hrms_position.ts delete mode 100644 src/entity/hrms/hrms_scholarship.ts delete mode 100644 src/entity/hrms/hrms_shift.ts delete mode 100644 src/entity/hrms/hrms_training.ts delete mode 100644 src/entity/hrms/hrms_training_participant.ts delete mode 100644 src/entity/inpatient_room_bed_details.ts delete mode 100644 src/entity/inpatient_room_beds.ts delete mode 100644 src/entity/inpatient_rooms.ts delete mode 100644 src/entity/main_disease.ts delete mode 100644 src/entity/measurement_unit.ts delete mode 100644 src/entity/medical_form.ts delete mode 100644 src/entity/menu.ts delete mode 100644 src/entity/munisipo.ts delete mode 100644 src/entity/nationality.ts delete mode 100644 src/entity/notification.ts delete mode 100644 src/entity/patient_group.ts delete mode 100644 src/entity/patient_guarantor.ts delete mode 100644 src/entity/payment_method.ts delete mode 100644 src/entity/pharmacy-logistic/delivery_room.ts delete mode 100644 src/entity/pharmacy-logistic/delivery_room_detail.ts delete mode 100644 src/entity/pharmacy-logistic/order_item.ts delete mode 100644 src/entity/pharmacy-logistic/order_item_detail.ts delete mode 100644 src/entity/pharmacy-logistic/receive_order.ts delete mode 100644 src/entity/pharmacy-logistic/receive_order_detail.ts delete mode 100644 src/entity/pharmacy-logistic/room_order.ts delete mode 100644 src/entity/pharmacy-logistic/room_order_detail.ts delete mode 100644 src/entity/pharmacy-logistic/room_stock.ts delete mode 100644 src/entity/pharmacy/factory.ts delete mode 100644 src/entity/pharmacy/factory_to_supplier.ts delete mode 100644 src/entity/pharmacy/generic_name.ts delete mode 100644 src/entity/pharmacy/initial_stock.ts delete mode 100644 src/entity/pharmacy/item_category.ts delete mode 100644 src/entity/pharmacy/item_class.ts delete mode 100644 src/entity/pharmacy/item_class_detail.ts delete mode 100644 src/entity/pharmacy/item_group.ts delete mode 100644 src/entity/pharmacy/item_master.ts delete mode 100644 src/entity/pharmacy/item_origin.ts delete mode 100644 src/entity/pharmacy/item_price.ts delete mode 100644 src/entity/pharmacy/item_status.ts delete mode 100644 src/entity/pharmacy/item_type.ts delete mode 100644 src/entity/pharmacy/item_type_detail.ts delete mode 100644 src/entity/pharmacy/pharmacy_info.ts delete mode 100644 src/entity/pharmacy/planning_verificator.ts delete mode 100644 src/entity/pharmacy/selling_price_percentage.ts delete mode 100644 src/entity/pharmacy/supplier.ts delete mode 100644 src/entity/pharmacy/unit.ts delete mode 100644 src/entity/pharmacy/usage_instructions.ts delete mode 100644 src/entity/pharmacy/usage_time.ts delete mode 100644 src/entity/province.ts delete mode 100644 src/entity/queue_monitoring.ts delete mode 100644 src/entity/queue_monitoring_rooms.ts delete mode 100644 src/entity/reference_range.ts delete mode 100644 src/entity/refferal_hospital.ts delete mode 100644 src/entity/registrationfee.ts delete mode 100644 src/entity/reporting/emergency_case_category_fact.ts delete mode 100644 src/entity/reporting/emergency_consultation_type_fact.ts delete mode 100644 src/entity/reporting/emergency_diagnosis_fact.ts delete mode 100644 src/entity/reporting/emergency_domestic_violence_fact.ts delete mode 100644 src/entity/reporting/emergency_drowning_intoxication_fact.ts delete mode 100644 src/entity/reporting/emergency_fact.ts delete mode 100644 src/entity/reporting/emergency_outcome_fact.ts delete mode 100644 src/entity/reporting/emergency_referral_name_fact.ts delete mode 100644 src/entity/reporting/emergency_referral_source_fact.ts delete mode 100644 src/entity/reporting/emergency_traffic_accident_fact.ts delete mode 100644 src/entity/reporting/opd_clinic_map.ts delete mode 100644 src/entity/reporting/opd_cron_state.ts delete mode 100644 src/entity/reporting/opd_diagnosis_fact.ts delete mode 100644 src/entity/reporting/opd_referral_fact.ts delete mode 100644 src/entity/reporting/opd_visit_fact.ts delete mode 100644 src/entity/responsible_party_consent.ts delete mode 100644 src/entity/room.ts delete mode 100644 src/entity/room_number.ts delete mode 100644 src/entity/room_to_pharmacy.ts delete mode 100644 src/entity/schedule_exceptions.ts delete mode 100644 src/entity/schedule_series.ts delete mode 100644 src/entity/service.ts delete mode 100644 src/entity/service_class.ts delete mode 100644 src/entity/service_fare.ts delete mode 100644 src/entity/service_package.ts delete mode 100644 src/entity/service_type.ts delete mode 100644 src/entity/subdistrict.ts delete mode 100644 src/entity/suco.ts delete mode 100644 src/entity/surgery_room.ts delete mode 100644 src/entity/surgery_type.ts delete mode 100644 src/entity/treatment/treatment_plan.ts delete mode 100644 src/entity/treatment/treatment_plan_session.ts delete mode 100644 src/entity/user_to_room.ts delete mode 100644 src/entity/ward.ts delete mode 100644 src/schema/blood_bank.ts delete mode 100644 src/schema/card_management.ts delete mode 100644 src/schema/cashier.ts delete mode 100644 src/schema/emr.ts delete mode 100644 src/schema/finances.ts delete mode 100644 src/schema/hrms.ts delete mode 100644 src/schema/pharmacy.ts delete mode 100644 src/schema/pharmacy_logistic.ts delete mode 100644 src/schema/procurement.ts delete mode 100644 src/schema/reporting.ts delete mode 100644 src/types/ancillary_service_order_status.ts delete mode 100644 src/types/billing_item_status.ts delete mode 100644 src/types/billing_status.ts delete mode 100644 src/types/blood_component_type.ts delete mode 100644 src/types/blood_request_status.ts delete mode 100644 src/types/blood_stock_movement_type.ts delete mode 100644 src/types/blood_unit_status.ts delete mode 100644 src/types/card_inventory_status.ts delete mode 100644 src/types/card_print_queue_status.ts delete mode 100644 src/types/card_print_queue_type.ts delete mode 100644 src/types/citizen.ts delete mode 100644 src/types/diagnosis_type.ts delete mode 100644 src/types/email.ts delete mode 100644 src/types/emr.ts delete mode 100644 src/types/error.ts delete mode 100644 src/types/finance.ts delete mode 100644 src/types/hrms.ts delete mode 100644 src/types/laboratory_order_status.ts delete mode 100644 src/types/notification_priority.ts delete mode 100644 src/types/opd_report_grain.ts delete mode 100644 src/types/patient_category.ts delete mode 100644 src/types/pharmacy_order_status.ts delete mode 100644 src/types/prescription_pharmacy_status.ts delete mode 100644 src/types/procurement.ts delete mode 100644 src/types/public.ts delete mode 100644 src/types/radiology_order_status.ts delete mode 100644 src/types/referral_hospital_type.ts delete mode 100644 src/types/registration_status.ts delete mode 100644 src/types/registration_type.ts delete mode 100644 src/types/role.ts delete mode 100644 src/types/specialist_form.ts delete mode 100644 src/types/telegram.ts delete mode 100644 src/types/treatment_session.ts diff --git a/src/entity/administrativu.ts b/src/entity/administrativu.ts deleted file mode 100644 index 6fde6b5..0000000 --- a/src/entity/administrativu.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, ManyToOne, JoinColumn } from 'typeorm'; - -import { Status } from '../types/status'; -import { Munisipo } from './munisipo'; - -@Entity('administrativus') -export class Administrativu { - @PrimaryGeneratedColumn('uuid') - id: string; - - @Column({ - nullable: false, - length: 128 - }) - code: string; - - @ManyToOne(() => Munisipo, { onDelete: "NO ACTION" }) - @JoinColumn() - munisipo: Munisipo; - - @Column({ - nullable: false, - length: 256 - }) - name: string; - - @Column({ - nullable: false, - length: 64 - }) - status: Status; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; -} \ No newline at end of file diff --git a/src/entity/aldeia.ts b/src/entity/aldeia.ts deleted file mode 100644 index ddaf223..0000000 --- a/src/entity/aldeia.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, ManyToOne, JoinColumn } from 'typeorm'; - -import { Status } from '../types/status'; -import { Suco } from './suco'; - -@Entity('aldeias') -export class Aldeia { - @PrimaryGeneratedColumn('uuid') - id: string; - - @Column({ - nullable: false, - length: 128 - }) - code: string; - - @Column({ - nullable: false, - length: 256 - }) - name: string; - - @Column({ - nullable: false, - length: 64 - }) - status: Status; - - @ManyToOne(() => Suco, { onDelete: "NO ACTION" }) - @JoinColumn() - suco: Suco; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; -} \ No newline at end of file diff --git a/src/entity/application.ts b/src/entity/application.ts deleted file mode 100644 index 147f622..0000000 --- a/src/entity/application.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { Entity, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, PrimaryColumn } from 'typeorm'; - -import { Status } from '../types/status'; - -@Entity('application') -export class Application { - @PrimaryColumn({ - nullable: false, - length: 32 - }) - id: string; - - @Column({ - nullable: false, - length: 256 - }) - name: string; - - @Column({ - nullable: true, - length: 512 - }) - reset_password_url: string; - - @Column({ - nullable: false, - length: 64 - }) - status: Status; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; -} \ No newline at end of file diff --git a/src/entity/blood-bank/blood_dispatch.ts b/src/entity/blood-bank/blood_dispatch.ts deleted file mode 100644 index 9f3f6e1..0000000 --- a/src/entity/blood-bank/blood_dispatch.ts +++ /dev/null @@ -1,65 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - JoinColumn, - Index, -} from "typeorm"; -import { BloodRequest } from "./blood_request"; -import { BloodUnit } from "./blood_unit"; -import { Room } from "../room"; -import { User } from "../users"; - -@Entity({ schema: "blood_bank", name: "blood_dispatch" }) -@Index(["dispatch_no"], { unique: true }) -export class BloodDispatch { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ nullable: false, length: 64, unique: true }) - dispatch_no: string; - - @ManyToOne(() => BloodRequest, (req) => req.dispatches, { onDelete: "NO ACTION" }) - @JoinColumn() - blood_request: BloodRequest; - - @ManyToOne(() => BloodUnit, { onDelete: "NO ACTION" }) - @JoinColumn() - blood_unit: BloodUnit; - - @ManyToOne(() => Room, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - destination_room: Room; - - @ManyToOne(() => User, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - dispatched_by: User; - - @Column({ type: "timestamp", nullable: true }) - dispatched_at: Date; - - @Column({ nullable: false, type: "boolean", default: false }) - completed: boolean; - - @Column({ nullable: true, type: "text" }) - transfusion_notes: string; - - @Column({ type: "timestamp", nullable: true }) - transfusion_at: Date; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; -} diff --git a/src/entity/blood-bank/blood_donor.ts b/src/entity/blood-bank/blood_donor.ts deleted file mode 100644 index 6365fc0..0000000 --- a/src/entity/blood-bank/blood_donor.ts +++ /dev/null @@ -1,58 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - OneToMany, -} from "typeorm"; -import { BloodUnit } from "./blood_unit"; - -@Entity({ schema: "blood_bank", name: "blood_donor" }) -export class BloodDonor { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ nullable: false, length: 64, unique: true }) - donor_no: string; - - @Column({ nullable: true, length: 256 }) - full_name: string; - - @Column({ type: "date", nullable: true }) - birth_date: Date; - - @Column({ nullable: true, length: 32 }) - gender: string; - - @Column({ nullable: true, length: 8 }) - blood_type: string; - - @Column({ nullable: true, length: 8 }) - rh: string; - - @Column({ nullable: true, length: 32 }) - phone: string; - - @Column({ nullable: true, type: "text" }) - address: string; - - @Column({ nullable: false, length: 32, default: "active" }) - status: string; - - @OneToMany(() => BloodUnit, (unit) => unit.donor) - blood_units: BloodUnit[]; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; -} diff --git a/src/entity/blood-bank/blood_request.ts b/src/entity/blood-bank/blood_request.ts deleted file mode 100644 index ada6b1d..0000000 --- a/src/entity/blood-bank/blood_request.ts +++ /dev/null @@ -1,81 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - JoinColumn, - OneToMany, - Index, -} from "typeorm"; -import { EmrPatient } from "../emr/emr_patient"; -import { EmrRegistration } from "../emr/emr_registration"; -import { Room } from "../room"; -import { User } from "../users"; -import { BloodRequestStatus } from "../../types/blood_request_status"; -import { BloodRequestItem } from "./blood_request_item"; -import { CrossMatch } from "./cross_match"; -import { BloodDispatch } from "./blood_dispatch"; - -@Entity({ schema: "blood_bank", name: "blood_request" }) -@Index(["request_no"], { unique: true }) -export class BloodRequest { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ nullable: false, length: 64, unique: true }) - request_no: string; - - @Column({ - type: "enum", - enum: BloodRequestStatus, - nullable: false, - default: BloodRequestStatus.WAITING, - }) - status: BloodRequestStatus; - - @ManyToOne(() => EmrPatient, { onDelete: "NO ACTION" }) - @JoinColumn() - patient: EmrPatient; - - @ManyToOne(() => EmrRegistration, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - registration: EmrRegistration; - - @ManyToOne(() => Room, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - requesting_room: Room; - - @ManyToOne(() => User, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - doctor: User; - - @Column({ nullable: false, length: 32, default: "normal" }) - priority: string; - - @Column({ nullable: true, type: "text" }) - notes: string; - - @OneToMany(() => BloodRequestItem, (item) => item.blood_request, { cascade: true }) - request_items: BloodRequestItem[]; - - @OneToMany(() => CrossMatch, (cm) => cm.blood_request) - cross_matches: CrossMatch[]; - - @OneToMany(() => BloodDispatch, (d) => d.blood_request) - dispatches: BloodDispatch[]; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; -} diff --git a/src/entity/blood-bank/blood_request_item.ts b/src/entity/blood-bank/blood_request_item.ts deleted file mode 100644 index e2a0d6e..0000000 --- a/src/entity/blood-bank/blood_request_item.ts +++ /dev/null @@ -1,50 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - JoinColumn, -} from "typeorm"; -import { BloodRequest } from "./blood_request"; -import { BloodComponentType } from "../../types/blood_component_type"; - -@Entity({ schema: "blood_bank", name: "blood_request_item" }) -export class BloodRequestItem { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => BloodRequest, (req) => req.request_items, { onDelete: "CASCADE" }) - @JoinColumn() - blood_request: BloodRequest; - - @Column({ - type: "enum", - enum: BloodComponentType, - nullable: false, - }) - component_type: BloodComponentType; - - @Column({ nullable: true, length: 8 }) - abo: string; - - @Column({ nullable: true, length: 8 }) - rh: string; - - @Column({ nullable: false, type: "int", default: 1 }) - quantity: number; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; -} diff --git a/src/entity/blood-bank/blood_stock.ts b/src/entity/blood-bank/blood_stock.ts deleted file mode 100644 index 89391e0..0000000 --- a/src/entity/blood-bank/blood_stock.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - JoinColumn, -} from "typeorm"; -import { BloodUnit } from "./blood_unit"; -import { Room } from "../room"; - -@Entity({ schema: "blood_bank", name: "blood_stock" }) -export class BloodStock { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => BloodUnit, { onDelete: "NO ACTION" }) - @JoinColumn() - blood_unit: BloodUnit; - - @ManyToOne(() => Room, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - room: Room | null; - - @Column({ nullable: false, type: "int", default: 1 }) - quantity: number; - - @Column({ nullable: true, length: 64 }) - batch: string; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; -} diff --git a/src/entity/blood-bank/blood_stock_movement.ts b/src/entity/blood-bank/blood_stock_movement.ts deleted file mode 100644 index 3735719..0000000 --- a/src/entity/blood-bank/blood_stock_movement.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - ManyToOne, - JoinColumn, -} from "typeorm"; -import { BloodUnit } from "./blood_unit"; -import { Room } from "../room"; -import { User } from "../users"; -import { BloodStockMovementType } from "../../types/blood_stock_movement_type"; - -@Entity({ schema: "blood_bank", name: "blood_stock_movement" }) -export class BloodStockMovement { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => BloodUnit, { onDelete: "NO ACTION" }) - @JoinColumn() - blood_unit: BloodUnit; - - @ManyToOne(() => Room, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - from_room: Room; - - @ManyToOne(() => Room, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - to_room: Room; - - @Column({ nullable: false, type: "int", default: 1 }) - quantity: number; - - @Column({ - type: "enum", - enum: BloodStockMovementType, - nullable: false, - }) - movement_type: BloodStockMovementType; - - @Column({ nullable: true, type: "text" }) - notes: string; - - @ManyToOne(() => User, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - performed_by: User; - - @Column() - @CreateDateColumn() - created_at: Date; -} diff --git a/src/entity/blood-bank/blood_unit.ts b/src/entity/blood-bank/blood_unit.ts deleted file mode 100644 index 78c2c0f..0000000 --- a/src/entity/blood-bank/blood_unit.ts +++ /dev/null @@ -1,82 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - JoinColumn, - OneToMany, - Index, -} from "typeorm"; -import { BloodDonor } from "./blood_donor"; -import { BloodUnitStatus } from "../../types/blood_unit_status"; -import { BloodComponentType } from "../../types/blood_component_type"; - -@Entity({ schema: "blood_bank", name: "blood_unit" }) -@Index(["unit_number"], { unique: true }) -export class BloodUnit { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ nullable: false, length: 64, unique: true }) - unit_number: string; - - @Column({ - type: "enum", - enum: BloodComponentType, - nullable: false, - default: BloodComponentType.WHOLE_BLOOD, - }) - component_type: BloodComponentType; - - @Column({ nullable: false, length: 8 }) - abo: string; - - @Column({ nullable: false, length: 8 }) - rh: string; - - @Column({ - type: "enum", - enum: BloodUnitStatus, - nullable: false, - default: BloodUnitStatus.QUARANTINE, - }) - status: BloodUnitStatus; - - @Column({ type: "date", nullable: false }) - collection_date: Date; - - @Column({ type: "date", nullable: false }) - exp_date: Date; - - @Column({ nullable: true, length: 64 }) - storage_temp: string; - - @Column({ nullable: true, length: 64 }) - volume_ml: string; - - @ManyToOne(() => BloodDonor, (donor) => donor.blood_units, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - donor: BloodDonor; - - @ManyToOne(() => BloodUnit, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - parent_unit: BloodUnit; - - @OneToMany(() => BloodUnit, (unit) => unit.parent_unit) - child_units: BloodUnit[]; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; -} diff --git a/src/entity/blood-bank/blood_waste_log.ts b/src/entity/blood-bank/blood_waste_log.ts deleted file mode 100644 index 5fccbad..0000000 --- a/src/entity/blood-bank/blood_waste_log.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - JoinColumn, -} from "typeorm"; -import { BloodUnit } from "./blood_unit"; -import { User } from "../users"; - -@Entity({ schema: "blood_bank", name: "blood_waste_log" }) -export class BloodWasteLog { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => BloodUnit, { onDelete: "NO ACTION" }) - @JoinColumn() - blood_unit: BloodUnit; - - @Column({ nullable: false, type: "text" }) - reason: string; - - @ManyToOne(() => User, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - discarded_by: User; - - @Column({ type: "timestamp", nullable: false }) - discarded_at: Date; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; -} diff --git a/src/entity/blood-bank/cross_match.ts b/src/entity/blood-bank/cross_match.ts deleted file mode 100644 index 260add0..0000000 --- a/src/entity/blood-bank/cross_match.ts +++ /dev/null @@ -1,58 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - JoinColumn, -} from "typeorm"; -import { BloodRequest } from "./blood_request"; -import { BloodUnit } from "./blood_unit"; -import { User } from "../users"; - -@Entity({ schema: "blood_bank", name: "cross_match" }) -export class CrossMatch { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => BloodRequest, (req) => req.cross_matches, { onDelete: "CASCADE" }) - @JoinColumn() - blood_request: BloodRequest; - - @ManyToOne(() => BloodUnit, { onDelete: "NO ACTION" }) - @JoinColumn() - blood_unit: BloodUnit; - - @Column({ nullable: false, length: 32 }) - result: string; - - @Column({ nullable: false, type: "boolean", default: false }) - compatibility: boolean; - - @Column({ nullable: true, type: "text" }) - notes: string; - - @ManyToOne(() => User, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - performed_by: User; - - @Column({ type: "timestamp", nullable: true }) - performed_at: Date; - - @Column({ nullable: false, type: "boolean", default: false }) - verified: boolean; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; -} diff --git a/src/entity/card-management/card_inventory.ts b/src/entity/card-management/card_inventory.ts deleted file mode 100644 index d599f71..0000000 --- a/src/entity/card-management/card_inventory.ts +++ /dev/null @@ -1,72 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - JoinColumn, - Index, -} from "typeorm"; -import { EmrPatient } from "../emr/emr_patient"; -import { CardInventoryStatus } from "../../types/card_inventory_status"; - -@Entity({ schema: "card_management", name: "card_inventory" }) -@Index(["card_number"], { unique: true }) -@Index(["running_number"], { unique: true }) -export class CardInventory { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => EmrPatient, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn({ name: "patientId" }) - patient: EmrPatient; - - @Column({ nullable: true, length: 64 }) - mrn: string; - - @Column({ type: "bigint", nullable: false, unique: true }) - running_number: string; - - @Column({ nullable: true, length: 64, unique: true }) - card_number: string; - - @Column({ nullable: true, length: 128 }) - tag_id: string; - - @Column({ nullable: true, length: 64 }) - facility_code: string; - - @Column({ - type: "enum", - enum: CardInventoryStatus, - nullable: false, - default: CardInventoryStatus.NOT_USED, - }) - status: CardInventoryStatus; - - @Column({ type: "timestamp", nullable: true }) - printed_at: Date; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/card-management/card_stock_in.ts b/src/entity/card-management/card_stock_in.ts deleted file mode 100644 index c4deab9..0000000 --- a/src/entity/card-management/card_stock_in.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, -} from "typeorm"; - -/** - * Placeholder for future batch card stock-in workflow. - * Entity only — no API, UI, or business logic yet. - */ -@Entity({ schema: "card_management", name: "card_stock_in" }) -export class CardStockIn { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ nullable: true, length: 64 }) - batch_number: string; - - @Column({ type: "int", nullable: true }) - quantity: number; - - @Column({ type: "text", nullable: true }) - notes: string; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/card-management/running_number_log.ts b/src/entity/card-management/running_number_log.ts deleted file mode 100644 index 8ec1bb5..0000000 --- a/src/entity/card-management/running_number_log.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - Index, -} from "typeorm"; - -@Entity({ schema: "card_management", name: "running_number_log" }) -@Index(["running_number"]) -@Index(["requested_at"]) -export class RunningNumberLog { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ type: "bigint", nullable: false }) - running_number: string; - - @Column({ nullable: false, length: 128 }) - service_name: string; - - @Column({ type: "uuid", nullable: false }) - requested_by: string; - - @Column({ nullable: false, length: 256 }) - requested_by_name: string; - - @Column({ type: "timestamp", nullable: false }) - requested_at: Date; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/card_key_sets.ts b/src/entity/card_key_sets.ts deleted file mode 100644 index 0d04616..0000000 --- a/src/entity/card_key_sets.ts +++ /dev/null @@ -1,52 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn } from "typeorm"; - -@Entity("card_key_sets") -export class CardKeySet { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ - nullable: false, - unique: true, - length: 256, - }) - key_set_id: string; - - @Column({ - nullable: true, - type: "text", - }) - app_master_key: string; - - @Column({ - nullable: true, - type: "text", - }) - read_basic_key: string; - - @Column({ - nullable: true, - type: "text", - }) - write_update_key: string; - - @Column({ - nullable: true, - type: "text", - }) - read_sensitive_key: string; - - @Column({ - nullable: true, - type: "boolean", - }) - is_active: boolean; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; -} diff --git a/src/entity/card_print_queue.ts b/src/entity/card_print_queue.ts deleted file mode 100644 index 6b4a81e..0000000 --- a/src/entity/card_print_queue.ts +++ /dev/null @@ -1,105 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - Index, -} from "typeorm"; -import { CardPrintQueueStatus } from "../types/card_print_queue_status"; -import { CardPrintQueueType } from "../types/card_print_queue_type"; - - -@Entity("card_print_queues") -@Index("idx_card_print_queues_patient_created", ["patient_id", "created_at"]) -export class CardPrintQueue { - @PrimaryGeneratedColumn() - id!: string; - - @Column({ type: "text", nullable: true }) - mrn?: string; - - @Column({ type: "text", nullable: true }) - municipiu_code?: string; - - @Column({ type: "text", nullable: true }) - posto_adm_code?: string; - - @Column({ type: "text", nullable: true }) - name?: string; - - @Column({ type: "text", nullable: true }) - address?: string; - - @Column({ type: "text", nullable: true }) - municipiu?: string; - - @Column({ type: "text", nullable: true }) - posto_adm?: string; - - @Column({ type: "text", nullable: true }) - suco?: string; - - @Column({ type: "text", nullable: true }) - aldeia?: string; - - @Column({ type: "text", nullable: true }) - sexo?: string; - - @Column({ type: "text", nullable: true }) - birthdate?: string; - - @Column({ type: "text", nullable: true }) - patient_id?: string; - - @Column({ type: "text", nullable: true }) - facility_code?: string; - - @Column({ type: "bigint", nullable: true }) - running_number?: string; - - @Column({ type: "text", nullable: true }) - card_number?: string; - - @Column({ type: "text", nullable: true }) - provision_job_id?: string; - - @Column({ type: "text", nullable: true }) - error_message?: string; - - @Column({ - type: "enum", - enum: CardPrintQueueStatus, - default: CardPrintQueueStatus.PENDING, - }) - status!: CardPrintQueueStatus; - - @Column({ - type: "enum", - enum: CardPrintQueueType, - default: CardPrintQueueType.PRINT_PROVISION, - }) - type!: CardPrintQueueType; - - @Column({ type: "text", nullable: true }) - token?: string; - - @CreateDateColumn() - created_at!: Date; - - @Column({ nullable: true, length: 256 }) - created_by?: string; - - @UpdateDateColumn({ nullable: true }) - updated_at?: Date; - - @Column({ nullable: true, length: 256 }) - updated_by?: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at?: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by?: string; -} diff --git a/src/entity/card_type.ts b/src/entity/card_type.ts deleted file mode 100644 index 5e5b708..0000000 --- a/src/entity/card_type.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, -} from "typeorm"; - -@Entity("card_type") -export class CardType { - @PrimaryGeneratedColumn("uuid") - id!: string; - - @Column({ type: "text", nullable: false }) - name!: string; - - @CreateDateColumn() - created_at!: Date; - - @Column({ nullable: true, length: 256 }) - created_by?: string; - - @UpdateDateColumn({ nullable: true }) - updated_at?: Date; - - @Column({ nullable: true, length: 256 }) - updated_by?: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at?: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by?: string; -} \ No newline at end of file diff --git a/src/entity/cashier/cashier.ts b/src/entity/cashier/cashier.ts deleted file mode 100644 index 2317633..0000000 --- a/src/entity/cashier/cashier.ts +++ /dev/null @@ -1,84 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - JoinColumn, - OneToOne, - OneToMany, - ManyToOne -} from "typeorm"; -import { EmrRegistration } from "../emr/emr_registration"; -import { Room } from "../room"; -import { CashierItem } from "./cashier_item"; -import { BillingStatus } from "../../types/billing_status"; - -@Entity("cashiers", { schema: "cashier" }) -export class Cashier { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => EmrRegistration, { onDelete: "CASCADE" }) - @JoinColumn() - emrregistration: EmrRegistration; - - @OneToMany(() => CashierItem, (detail) => detail.cashier) - cashieritem: CashierItem[]; - - @ManyToOne(() => Room, { onDelete: "CASCADE" }) - @JoinColumn() - room: Room; - - @Column({ type: "date", nullable: true }) - regdate: Date; - - @Column({ - nullable: true, - type: 'decimal', - precision: 10, - scale: 2 - }) - total_amount: number; - - @Column({ - nullable: true, - type: 'decimal', - precision: 10, - scale: 2 - }) - amount_paid: number; - - @Column({ - nullable: true, - type: 'decimal', - precision: 10, - scale: 2 - }) - balance_due: number; - - @Column({ nullable: true }) - status: BillingStatus; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} \ No newline at end of file diff --git a/src/entity/cashier/cashier_item.ts b/src/entity/cashier/cashier_item.ts deleted file mode 100644 index aacb4fc..0000000 --- a/src/entity/cashier/cashier_item.ts +++ /dev/null @@ -1,141 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - JoinColumn, - ManyToOne, -} from "typeorm"; -import { Cashier } from "./cashier"; -import { Room } from "../room"; -import { Department } from "../department"; -import { ServiceClass } from "../service_class"; -import { Service } from "../service"; -import { ServiceType } from "../service_type"; -import { ItemType } from "../pharmacy/item_type"; -import { ItemMaster } from "../pharmacy/item_master"; -import { BillingItemStatus } from "../../types/billing_item_status"; - -@Entity("cashier_item", { schema: "cashier" }) -export class CashierItem { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => Service, { onDelete: "CASCADE" }) - @JoinColumn() - service: Service; - - @ManyToOne(() => ItemType, { onDelete: "CASCADE" }) - @JoinColumn() - itemtype: ItemType; - - @ManyToOne(() => ItemMaster, { onDelete: "CASCADE" }) - @JoinColumn() - itemmaster: ItemMaster; - - @ManyToOne(() => ServiceType, { onDelete: "CASCADE" }) - @JoinColumn() - servicetype: ServiceType; - - @ManyToOne(() => Cashier, { onDelete: "CASCADE" }) - @JoinColumn() - cashier: Cashier; - - @ManyToOne(() => Room, { onDelete: "CASCADE" }) - @JoinColumn() - room: Room; - - @ManyToOne(() => Department, { onDelete: "CASCADE" }) - @JoinColumn() - department: Department; - - @ManyToOne(() => ServiceClass, { onDelete: "CASCADE" }) - @JoinColumn() - serviceclass: ServiceClass; - - @Column({ type: "date", nullable: true }) - service_date: Date; - - @Column({ type: "boolean", default: false }) - ispay: boolean; - - @Column({ - nullable: true, - type: 'decimal', - precision: 10, - scale: 2 - }) - guarantor_liability: number; - - @Column({ - nullable: true, - type: 'decimal', - precision: 10, - scale: 2 - }) - subtotal: number; - - @Column({ - nullable: true, - type: 'decimal', - precision: 10, - scale: 2 - }) - price: number; - - @Column({ - nullable: true, - type: 'decimal', - precision: 10, - scale: 2 - }) - qty: number; - - @Column({ - nullable: true, - type: 'decimal', - precision: 10, - scale: 2 - }) - amount_paid: number; - - @Column({ - nullable: true, - type: 'decimal', - precision: 10, - scale: 2 - }) - balance_due: number; - - @Column({ nullable: true }) - status: BillingItemStatus; - - @Column({ nullable: true, length: 256 }) - category: string; - - @Column({ nullable: true, length: 256 }) - ref_id: string; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date | null; - - @Column({ nullable: true, length: 256 }) - deleted_by: string | null; -} \ No newline at end of file diff --git a/src/entity/cashier/payment_received.ts b/src/entity/cashier/payment_received.ts deleted file mode 100644 index 8aef986..0000000 --- a/src/entity/cashier/payment_received.ts +++ /dev/null @@ -1,129 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - JoinColumn, - OneToOne, - OneToMany, - ManyToOne -} from "typeorm"; -import { EmrRegistration } from "../emr/emr_registration"; -import { Room } from "../room"; -import { Cashier } from "./cashier"; -import { User } from "../users"; -import { PaymentReceivedItem } from "./payment_received_item"; -import { PaymentMethod } from "../payment_method"; -import { CardType } from "../card_type"; - -@Entity("payment_received", { schema: "cashier" }) -export class PaymentReceived { - @PrimaryGeneratedColumn("uuid") - id: string; - - @OneToMany(() => PaymentReceivedItem, (detail) => detail.paymentreceived) - cashieritem: PaymentReceivedItem[]; - - @ManyToOne(() => EmrRegistration, { onDelete: "CASCADE" }) - @JoinColumn() - emrregistration: EmrRegistration; - - @ManyToOne(() => PaymentMethod, { onDelete: "CASCADE" }) - @JoinColumn() - paymentmethod: PaymentMethod; - - @ManyToOne(() => CardType, { onDelete: "CASCADE" }) - @JoinColumn() - cardtype: CardType; - - @ManyToOne(() => Cashier, { onDelete: "CASCADE" }) - @JoinColumn() - cashier: Cashier; - - @ManyToOne(() => Room, { onDelete: "CASCADE" }) - @JoinColumn() - room: Room; - - @ManyToOne(() => User, { onDelete: "CASCADE" }) - @JoinColumn() - user: User; - - @Column({ nullable: true, type: "text" }) - receipt_number: string; - - @Column({ nullable: true, type: "text" }) - reason: string; - - @Column({ - nullable: true, - type: 'decimal', - precision: 10, - scale: 2 - }) - total_amount: number; - - @Column({ - nullable: true, - type: 'decimal', - precision: 10, - scale: 2 - }) - payment: number; - - @Column({ nullable: true, type: "text" }) - status: string; - - @Column({ nullable: true, type: "text" }) - card_provider: string; - - @Column({ nullable: true, type: "text" }) - card_number: string; - - @Column({ nullable: true, type: "text" }) - card_holder_name: string; - - @Column({ nullable: true, type: "text" }) - paidby: string; - - @Column({ nullable: true, type: "text" }) - notes: string; - - @Column({ - nullable: true, - type: 'decimal', - precision: 10, - scale: 2 - }) - change: number; - - @Column({ - nullable: true, - type: 'decimal', - precision: 10, - scale: 2 - }) - exemption: number; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} \ No newline at end of file diff --git a/src/entity/cashier/payment_received_item.ts b/src/entity/cashier/payment_received_item.ts deleted file mode 100644 index 1ac90be..0000000 --- a/src/entity/cashier/payment_received_item.ts +++ /dev/null @@ -1,52 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - JoinColumn, - ManyToOne -} from "typeorm"; -import { Room } from "../room"; -import { CashierItem } from "./cashier_item"; -import { PaymentReceived } from "./payment_received"; - -@Entity("payment_received_item", { schema: "cashier" }) -export class PaymentReceivedItem { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => PaymentReceived, { onDelete: "CASCADE" }) - @JoinColumn() - paymentreceived: PaymentReceived; - - @ManyToOne(() => Room, { onDelete: "CASCADE" }) - @JoinColumn() - room: Room; - - @ManyToOne(() => CashierItem, { onDelete: "CASCADE" }) - @JoinColumn() - cashieritem: CashierItem; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} \ No newline at end of file diff --git a/src/entity/city.ts b/src/entity/city.ts deleted file mode 100644 index 6edb08c..0000000 --- a/src/entity/city.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, ManyToOne, JoinColumn } from 'typeorm'; - -@Entity('city') -export class City { - @PrimaryGeneratedColumn('uuid') - id: string; - - @Column({ - nullable: false, - length: 128, - unique: true - }) - code: string; - - @Column({ - nullable: false, - type: "text" - }) - name: string; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; -} \ No newline at end of file diff --git a/src/entity/counter.ts b/src/entity/counter.ts deleted file mode 100644 index 7fcac27..0000000 --- a/src/entity/counter.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, Index } from "typeorm"; - -@Entity("counter") -@Index(["type", "scope_id", "counter_date"], { unique: true }) -export class Counter { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ - nullable: false, - type: "varchar", - length: 50 - }) - type: string; - - @Column({ - nullable: true, - type: "varchar", - length: 100 - }) - scope_id: string; - - @Column({ - nullable: true, - type: "date", - }) - counter_date: Date; - - @Column({ - nullable: false, - type: "bigint", - default: 0 - }) - value: string; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; -} diff --git a/src/entity/currencies.ts b/src/entity/currencies.ts deleted file mode 100644 index 44e796e..0000000 --- a/src/entity/currencies.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, ManyToOne, JoinColumn } from "typeorm"; -import { Status } from "../types/status"; - -@Entity("currencies") -export class Currency { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ - nullable: false, - type: "text", - }) - name: string; - - @Column({ - nullable: false, - type: "text", - }) - symbol: string; - - @Column({ - nullable: false, - length: 64, - }) - status: Status; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/department.ts b/src/entity/department.ts deleted file mode 100644 index 4e07949..0000000 --- a/src/entity/department.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn } from "typeorm"; - -import { Status } from "../types/status"; - -@Entity("departments") -export class Department { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ - nullable: true, - length: 64, - unique: true, - }) - code: string; - - @Column({ - nullable: false, - length: 128, - }) - name: string; - - @Column({ - nullable: false, - length: 64, - }) - status: Status; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/diagnosis.ts b/src/entity/diagnosis.ts deleted file mode 100644 index a6b6185..0000000 --- a/src/entity/diagnosis.ts +++ /dev/null @@ -1,71 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn } from "typeorm"; - -import { Status } from "../types/status"; -import { DiagnosisType } from "../types/diagnosis_type"; - -@Entity("diagnoses") -export class Diagnosis { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ - nullable: false, - length: 256, - }) - diagnosis: string; - - @Column({ - nullable: true, - length: 256, - }) - diagnosis_ind: string | null; - - @Column({ - nullable: true, - length: 256, - }) - diagnosis_pt: string | null; - - @Column({ - nullable: true, - length: 256, - }) - diagnosis_tet: string | null; - - @Column({ - nullable: false, - length: 128, - }) - code: string; - - @Column({ - nullable: false, - length: 64, - }) - status: Status; - - @Column({ - type: "enum", - enum: DiagnosisType, - nullable: true, - }) - type: DiagnosisType | null; - - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @UpdateDateColumn({ nullable: true }) - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/diagnostic_procedure.ts b/src/entity/diagnostic_procedure.ts deleted file mode 100644 index 2500a77..0000000 --- a/src/entity/diagnostic_procedure.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn } from "typeorm"; - -import { Status } from "../types/status"; - -@Entity("diagnostic_procedures") -export class DiagnosticProcedure { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ - nullable: false, - length: 256, - }) - diagnosticProcedure: string; - - @Column({ - nullable: false, - length: 128, - }) - code: string; - - @Column({ - nullable: false, - length: 64, - }) - status: Status; - - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @UpdateDateColumn({ nullable: true }) - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/district.ts b/src/entity/district.ts deleted file mode 100644 index 9645765..0000000 --- a/src/entity/district.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index } from 'typeorm'; - -import { Status } from '../types/status'; - -@Entity('districts') -export class District { - @PrimaryGeneratedColumn('uuid') - id: string; - - @Column({ - nullable: false, - length: 128 - }) - code: string; - - @Column({ - nullable: false, - length: 256 - }) - name: string; - - @Column({ - nullable: false, - length: 64 - }) - status: Status; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; -} \ No newline at end of file diff --git a/src/entity/doctor_item.ts b/src/entity/doctor_item.ts deleted file mode 100644 index a8563c8..0000000 --- a/src/entity/doctor_item.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - ManyToOne, - JoinColumn, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - Column, - Index, -} from "typeorm"; - -import { User } from "./users"; -import { ItemMaster } from "./pharmacy/item_master"; - -@Entity("doctor_item") -@Index(["doctor", "item_master"], { unique: true }) -export class DoctorItem { - @PrimaryGeneratedColumn("uuid") - id!: string; - - @ManyToOne(() => User, { nullable: false, onDelete: "CASCADE" }) - @JoinColumn({ name: "doctor_id" }) - doctor!: User; - - @ManyToOne(() => ItemMaster, { nullable: false, onDelete: "CASCADE" }) - @JoinColumn({ name: "item_master_id" }) - item_master!: ItemMaster; - - @CreateDateColumn() - created_at!: Date; - - @Column({ nullable: true, length: 256 }) - created_by?: string; - - @UpdateDateColumn({ nullable: true }) - updated_at?: Date; - - @Column({ nullable: true, length: 256 }) - updated_by?: string; -} diff --git a/src/entity/doctor_item_package.ts b/src/entity/doctor_item_package.ts deleted file mode 100644 index 722cde4..0000000 --- a/src/entity/doctor_item_package.ts +++ /dev/null @@ -1,56 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - ManyToOne, - JoinColumn, - ManyToMany, - JoinTable, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - Column, - Index, -} from "typeorm"; - -import { User } from "./users"; -import { ItemMaster } from "./pharmacy/item_master"; - -@Entity("doctor_item_package") -@Index(["doctor", "name"], { unique: true }) -export class DoctorItemPackage { - @PrimaryGeneratedColumn("uuid") - id!: string; - - @ManyToOne(() => User, { nullable: false, onDelete: "CASCADE" }) - @JoinColumn({ name: "doctor_id" }) - doctor!: User; - - @Column({ type: "text", nullable: false }) - name!: string; - - @Column({ type: "text", nullable: true }) - description?: string; - - @ManyToMany(() => ItemMaster) - @JoinTable({ - name: "doctor_item_package_items", - joinColumn: { name: "doctor_item_package_id", referencedColumnName: "id" }, - inverseJoinColumn: { name: "item_master_id", referencedColumnName: "id" }, - }) - items!: ItemMaster[]; - - @Column({ type: "boolean", default: true }) - active!: boolean; - - @CreateDateColumn() - created_at!: Date; - - @Column({ nullable: true, length: 256 }) - created_by?: string; - - @UpdateDateColumn({ nullable: true }) - updated_at?: Date; - - @Column({ nullable: true, length: 256 }) - updated_by?: string; -} diff --git a/src/entity/doctor_schedule.ts b/src/entity/doctor_schedule.ts deleted file mode 100644 index a791de2..0000000 --- a/src/entity/doctor_schedule.ts +++ /dev/null @@ -1,70 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, ManyToOne, JoinColumn } from "typeorm"; - -import { Status } from "../types/status"; -import { User } from "./users"; -import { Room } from "./room"; - -@Entity("doctor_schedules") -export class DoctorSchedule { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ - nullable: false, - length: 32, - }) - day: string; - - @Column({ - nullable: false, - length: 16, - }) - start_time: string; - - @Column({ - nullable: false, - length: 16, - }) - end_time: string; - - @ManyToOne(() => User, { onDelete: "NO ACTION" }) - @JoinColumn() - doctor: User; - - @ManyToOne(() => Room, { onDelete: "NO ACTION" }) - @JoinColumn() - room: Room; - - @Column({ - nullable: true, - length: 32, - }) - quota: string; - - @Column({ - nullable: false, - length: 64, - }) - status: Status; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/emr/emr_anamnesis.ts b/src/entity/emr/emr_anamnesis.ts deleted file mode 100644 index e5aaac9..0000000 --- a/src/entity/emr/emr_anamnesis.ts +++ /dev/null @@ -1,85 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - JoinColumn, - OneToOne, -} from "typeorm"; - -// import { anamnesisStatus } from "../../enum/anamnesisStatus"; -import { EmrPatient } from "./emr_patient"; -import { EmrRegistration } from "./emr_registration"; - -@Entity("emr_anamnesis", { schema: "emr" }) -export class Emranamnesis { - @PrimaryGeneratedColumn("uuid") - id: string; - - @OneToOne(() => EmrRegistration, { onDelete: "CASCADE" }) - @JoinColumn() - registration: EmrRegistration; - - @ManyToOne(() => EmrPatient, { onDelete: "CASCADE" }) - @JoinColumn() - patient: EmrPatient; - - @Column({ nullable: true, type: "text" }) - main_complaint: string; - - @Column({ nullable: true, type: "text" }) - additional_complaint: string; - - @Column({ nullable: true, type: "text", array: true }) - history_of_present_illness: string[]; - - @Column({ nullable: true, type: "text", array: true }) - history_of_allergies: string[]; - - @Column({ nullable: true, type: "text", array: true }) - history_of_illness: string[]; - - @Column({ nullable: true, type: "text" }) - follow_up_action: string; - - @Column({ nullable: true, type: "text" }) - functional_status: string; - - @Column({ nullable: true, type: "text" }) - tb_status: string; - - // @Column({ - // type: "enum", - // enum: anamnesisStatus, - // nullable: false, - // }) - // status: anamnesisStatus; - - @Column({ nullable: true, type: "text" }) - status: string; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} - diff --git a/src/entity/emr/emr_ancillary_service_order.ts b/src/entity/emr/emr_ancillary_service_order.ts deleted file mode 100644 index 51c6159..0000000 --- a/src/entity/emr/emr_ancillary_service_order.ts +++ /dev/null @@ -1,113 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - JoinColumn, - Index -} from "typeorm"; - -import { EmrPatient } from "./emr_patient"; -import { Room } from "../room"; -import { User } from "../users"; -import { Department } from "../department"; -import { EmrRegistration } from "./emr_registration"; -import { AncillaryServiceOrderStatus } from "../../types/ancillary_service_order_status"; -import { Service } from "../service"; - -@Entity("emr_ancillary_service_orders", { schema: "emr" }) -@Index(["order_no"], { unique: true }) -export class EmrAncillaryServiceOrder { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ nullable: false, length: 128, unique: true }) - order_no: string; - - @Column({ nullable: true, length: 128 }) - queue_number?: string; - - @Column({ nullable: true }) - queued_at?: Date; - - @Column({ type: "date", nullable: true }) - schedule_date?: Date; - - @Column({ type: "time", nullable: true }) - schedule_time?: Date; - - @Column({ type: "date", nullable: true }) - examination_date?: Date; - - @Column({ type: "time", nullable: true }) - examination_time?: Date; - - @ManyToOne(() => Service, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn({ name: "service_id" }) - service: Service | null; - - @Column({ type: "text", nullable: true }) - note?: string; - - @ManyToOne(() => EmrRegistration, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn({ name: "registration_id" }) - registration: EmrRegistration; - - @ManyToOne(() => EmrPatient, { onDelete: "NO ACTION" }) - @JoinColumn({ name: "patient_id" }) - patient: EmrPatient; - - @ManyToOne(() => Room, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn({ name: "referring_room_id" }) - referring_room: Room | null; - - @ManyToOne(() => Room, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn({ name: "order_room_id" }) - order_room: Room | null; - - @ManyToOne(() => User, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn({ name: "referring_doctor_id" }) - referring_doctor: User | null; - - @ManyToOne(() => Department, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn({ name: "department_id" }) - department: Department | null; - - @Column({ - type: "enum", - enum: AncillaryServiceOrderStatus, - nullable: false, - default: AncillaryServiceOrderStatus.ORDERED, - }) - status: AncillaryServiceOrderStatus; - - @Column({ - nullable: true, - type: "text", - }) - result: string; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/emr/emr_atenatal_care.ts b/src/entity/emr/emr_atenatal_care.ts deleted file mode 100644 index 8939604..0000000 --- a/src/entity/emr/emr_atenatal_care.ts +++ /dev/null @@ -1,82 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - JoinColumn, - OneToOne, - ManyToOne, -} from "typeorm"; - -import { EmrPatient } from "./emr_patient"; -import { EmrRegistration } from "./emr_registration"; - -@Entity("emr_atenatal_care", { schema: "emr" }) -export class EmrAtenatalCare { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => EmrPatient, { onDelete: "CASCADE" }) - @JoinColumn() - patient: EmrPatient; - - @OneToOne(() => EmrRegistration, { onDelete: "CASCADE" }) - @JoinColumn() - registration: EmrRegistration; - - @Column({ nullable: true, type: "text" }) - gestational_age: string; - - @Column({ nullable: true, type: "text" }) - trimester: string; - - @Column({ nullable: true, type: "text" }) - immunization_status: string - - @Column({ nullable: true, type: "text" }) - immunization_was_carried_out: string - - @Column({ nullable: true, type: "text" }) - pregnancy_status: string - - @Column({ nullable: true, type: "text" }) - parturition_status: string - - @Column({ nullable: true, type: "text" }) - abortion_status: string - - @Column() - @CreateDateColumn() - hpht_date: Date; - - @Column() - @CreateDateColumn() - estimated_date_of_birth: Date; - - @Column({ nullable: true, type: "text" }) - usg_result: string - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} - diff --git a/src/entity/emr/emr_boarding_room_bed_histories.ts b/src/entity/emr/emr_boarding_room_bed_histories.ts deleted file mode 100644 index 08d5215..0000000 --- a/src/entity/emr/emr_boarding_room_bed_histories.ts +++ /dev/null @@ -1,76 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - JoinColumn, - Index, -} from "typeorm"; -import { EmrBoardingRoom } from "./emr_boarding_rooms"; -import { InpatientRoom } from "../inpatient_rooms"; - -/** Tracks every bed-transfer and bed-swap event for a boarding room. */ -@Entity("emr_boarding_room_bed_histories", { schema: "emr" }) -@Index("idx_emr_brbed_hist_boarding_room", ["boarding_room"]) -export class EmrBoardingRoomBedHistory { - @PrimaryGeneratedColumn("uuid") - id: string; - - /** The boarding room (patient) whose bed changed. */ - @ManyToOne(() => EmrBoardingRoom, { onDelete: "NO ACTION" }) - @JoinColumn() - boarding_room: EmrBoardingRoom; - - /** "transfer" = pindah kamar, "swap" = tukar tempat tidur dengan pasien lain */ - @Column({ length: 16 }) - type: string; - - @ManyToOne(() => InpatientRoom, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn({ name: "from_inpatient_room_id" }) - from_inpatient_room: InpatientRoom | null; - - @Column({ nullable: true, type: "int" }) - from_bed_number: number | null; - - @ManyToOne(() => InpatientRoom, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn({ name: "to_inpatient_room_id" }) - to_inpatient_room: InpatientRoom | null; - - @Column({ nullable: true, type: "int" }) - to_bed_number: number | null; - - /** - * For "swap" type: the other boarding room involved in the swap. - * Null for "transfer" events. - */ - @ManyToOne(() => EmrBoardingRoom, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn({ name: "swapped_with_boarding_room_id" }) - swapped_with_boarding_room: EmrBoardingRoom | null; - - @Column({ nullable: true, type: "text" }) - note: string | null; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/emr/emr_boarding_room_deceased.ts b/src/entity/emr/emr_boarding_room_deceased.ts deleted file mode 100644 index 2d93254..0000000 --- a/src/entity/emr/emr_boarding_room_deceased.ts +++ /dev/null @@ -1,72 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - JoinColumn, - OneToOne, -} from "typeorm"; -import { EmrBoardingRoom } from "./emr_boarding_rooms"; -import { User } from "../users"; - -@Entity("emr_boarding_room_deceased", { schema: "emr" }) -export class EmrBoardingRoomDeceased { - @PrimaryGeneratedColumn("uuid") - id: string; - - @OneToOne(() => EmrBoardingRoom, { onDelete: "NO ACTION" }) - @JoinColumn() - boarding_room: EmrBoardingRoom; - - @Column({ nullable: true }) - deceased_at: Date; - - /** meninggal-kurang-48-jam | meninggal-lebih-48-jam | iufd */ - @Column({ nullable: true, length: 64 }) - discharge_status: string; - - /** meninggal-kurang-48-jam | meninggal-lebih-48-jam */ - @Column({ nullable: true, length: 64 }) - discharge_condition: string; - - @ManyToOne(() => User, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - declaring_doctor: User; - - /** diagnosa-akhir | diagnosa-tambahan */ - @Column({ nullable: true, length: 64 }) - diagnosis_type: string; - - @Column({ nullable: true, length: 256 }) - final_diagnosis_code: string; - - @Column({ nullable: true, type: "text" }) - final_diagnosis_name: string; - - @Column({ nullable: true, type: "text" }) - death_chronology: string; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/emr/emr_boarding_room_discharge.ts b/src/entity/emr/emr_boarding_room_discharge.ts deleted file mode 100644 index f36904d..0000000 --- a/src/entity/emr/emr_boarding_room_discharge.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - OneToOne, - JoinColumn, -} from "typeorm"; -import { EmrBoardingRoom } from "./emr_boarding_rooms"; - -/** Stores discharge information for inpatient boarding rooms. */ -@Entity("emr_boarding_room_discharge", { schema: "emr" }) -export class EmrBoardingRoomDischarge { - @PrimaryGeneratedColumn("uuid") - id: string; - - @OneToOne(() => EmrBoardingRoom, { onDelete: "NO ACTION" }) - @JoinColumn() - boarding_room: EmrBoardingRoom; - - @Column({ nullable: true }) - discharge_at: Date; - - /** pulang | dirujuk | pulang-paksa */ - @Column({ nullable: true, length: 64 }) - discharge_status: string; - - /** berobat-jalan | lain-lain */ - @Column({ nullable: true, length: 64 }) - discharge_condition: string; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/emr/emr_boarding_room_doctor_histories.ts b/src/entity/emr/emr_boarding_room_doctor_histories.ts deleted file mode 100644 index f5b228e..0000000 --- a/src/entity/emr/emr_boarding_room_doctor_histories.ts +++ /dev/null @@ -1,69 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, ManyToOne, JoinColumn, Index } from "typeorm"; -import { User } from "../users"; -import { EmrBoardingRoom } from "./emr_boarding_rooms"; -import { EmrPatient } from "./emr_patient"; - -@Entity("emr_boarding_room_doctor_histories", { schema: "emr" }) -@Index("idx_emr_boarding_room_doctor_histories_patient_active", ["patient", "is_active"]) -export class EmrBoardingRoomDoctorHistory { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => EmrPatient, { onDelete: "NO ACTION" }) - @JoinColumn() - patient: EmrPatient; - - @ManyToOne(() => EmrBoardingRoom, { onDelete: "NO ACTION" }) - @JoinColumn() - boarding_room: EmrBoardingRoom; - - @ManyToOne(() => User, { onDelete: "NO ACTION" }) - @JoinColumn() - doctor: User; - - @Column({ - nullable: true, - }) - type: string; - - @Column({ - nullable: true, - }) - note: string; - - @Column({ nullable: true }) - change_at: Date; - - @Column({ nullable: true, type: "text" }) - diagnosis: string; - - @Column({ nullable: true }) - start_at: Date; - - @Column({ nullable: true }) - end_at: Date; - - @Column({ nullable: true, default: false }) - is_active: boolean; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/emr/emr_boarding_room_emergency_status.ts b/src/entity/emr/emr_boarding_room_emergency_status.ts deleted file mode 100644 index f962bf0..0000000 --- a/src/entity/emr/emr_boarding_room_emergency_status.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - OneToOne, - JoinColumn, -} from "typeorm"; -import { EmrBoardingRoom } from "./emr_boarding_rooms"; - -/** Stores emergency severity level information for inpatient boarding rooms. */ -@Entity("emr_boarding_room_emergency_status", { schema: "emr" }) -export class EmrBoardingRoomEmergencyStatus { - @PrimaryGeneratedColumn("uuid") - id: string; - - @OneToOne(() => EmrBoardingRoom, { onDelete: "NO ACTION" }) - @JoinColumn() - boarding_room: EmrBoardingRoom; - - /** ringan | sedang | berat */ - @Column({ nullable: true, length: 64 }) - severity_level: string; - - @Column({ nullable: true, type: "text" }) - note: string; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} - diff --git a/src/entity/emr/emr_boarding_room_medical_summary.ts b/src/entity/emr/emr_boarding_room_medical_summary.ts deleted file mode 100644 index fe432b6..0000000 --- a/src/entity/emr/emr_boarding_room_medical_summary.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - OneToOne, - JoinColumn, -} from "typeorm"; -import { EmrBoardingRoom } from "./emr_boarding_rooms"; - -/** Resume medis pasien – satu dokumen JSON per boarding room (di-upsert). */ -@Entity("emr_boarding_room_medical_summary", { schema: "emr" }) -export class EmrBoardingRoomMedicalSummary { - @PrimaryGeneratedColumn("uuid") - id: string; - - @OneToOne(() => EmrBoardingRoom, { onDelete: "NO ACTION" }) - @JoinColumn() - boarding_room: EmrBoardingRoom; - - @Column({ type: "jsonb", nullable: true }) - payload: Record; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/emr/emr_boarding_room_procedure_report.ts b/src/entity/emr/emr_boarding_room_procedure_report.ts deleted file mode 100644 index ffa2096..0000000 --- a/src/entity/emr/emr_boarding_room_procedure_report.ts +++ /dev/null @@ -1,56 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - JoinColumn, -} from "typeorm"; -import { EmrBoardingRoom } from "./emr_boarding_rooms"; - -/** Satu baris laporan tindakan per entri; satu boarding room dapat memiliki banyak laporan. */ -@Entity("emr_boarding_room_procedure_report", { schema: "emr" }) -export class EmrBoardingRoomProcedureReport { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => EmrBoardingRoom, { onDelete: "NO ACTION" }) - @JoinColumn() - boarding_room: EmrBoardingRoom; - - @Column({ nullable: true }) - input_at: Date; - - @Column({ nullable: true, type: "text" }) - procedure_name: string; - - @Column({ nullable: true, type: "text" }) - description_html: string; - - /** ICD-9-CM (opsional), dipakai di Patient Medical Summary */ - @Column({ nullable: true, length: 32 }) - icd9_cm_code: string; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/emr/emr_boarding_rooms.ts b/src/entity/emr/emr_boarding_rooms.ts deleted file mode 100644 index 5a5db64..0000000 --- a/src/entity/emr/emr_boarding_rooms.ts +++ /dev/null @@ -1,77 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, ManyToOne, JoinColumn } from "typeorm"; -import { EmrPatient } from "./emr_patient"; -import { EmrDiagnosis } from "./emr_diagnosis"; -import { EmrRegistration } from "./emr_registration"; -import { User } from "../users"; -import { InpatientRoom } from "../inpatient_rooms"; -import { Room } from "../room"; - -@Entity("emr_boarding_rooms", { schema: "emr" }) -export class EmrBoardingRoom { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => EmrRegistration, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - registration: EmrRegistration; - - @ManyToOne(() => EmrPatient, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - patient: EmrPatient; - - @ManyToOne(() => EmrDiagnosis, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - diagnosis: EmrDiagnosis; - - @ManyToOne(() => User, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - primary_doctor: User; - - @ManyToOne(() => User, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - secondary_doctor: User; - - @ManyToOne(() => InpatientRoom, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - inpatient_room: InpatientRoom; - - @Column({ nullable: true, length: 32 }) - no_reg: string; - - @Column({ nullable: true, length: 64 }) - mrn: string; - - @Column({ nullable: false }) - boarding_at: Date; - - @Column({ nullable: true, length: 64 }) - inpatient_care_status: string; - - @Column({ nullable: true, type: "text" }) - discharge_plan_note: string; - - @ManyToOne(() => Room, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - boarding_origin_room: Room | null; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/emr/emr_compounding_medicine.ts b/src/entity/emr/emr_compounding_medicine.ts deleted file mode 100644 index a264e31..0000000 --- a/src/entity/emr/emr_compounding_medicine.ts +++ /dev/null @@ -1,81 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - OneToMany, - ManyToOne, - JoinColumn -} from "typeorm"; - -import { EmrCompoundingMedicineItem } from "./emr_compounding_medicine_item"; -import { UsageTime } from "../pharmacy/usage_time"; -import { UsageInstructions } from "../pharmacy/usage_instructions"; -import { EmrRegistration } from "./emr_registration"; -import { EmrPatient } from "./emr_patient"; -import { EmrPharmacyOrder } from "./emr_pharmacy_order"; - -@Entity("emr_compounding_medicine", { schema: "emr" }) -export class EmrCompoundingMedicine { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => EmrRegistration, { onDelete: "CASCADE" }) - @JoinColumn({ name: "registration_id" }) - registration: EmrRegistration; - - @ManyToOne(() => EmrPatient, { onDelete: "NO ACTION" }) - @JoinColumn({ name: "patient_id" }) - patient: EmrPatient; - - @Column({ nullable: true, type: "text" }) - name: string; - - @Column({ - type: "int", - nullable: false - }) - qty: number; - - @Column({ nullable: true, type: "text" }) - note: string; - - @ManyToOne(() => UsageTime, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn({ name: "usage_time_id" }) - usage_time: UsageTime | null; - - @ManyToOne(() => UsageInstructions, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn({ name: "usage_instruction_id" }) - usage_instruction: UsageInstructions | null; - - @ManyToOne(() => EmrPharmacyOrder, { onDelete: "CASCADE", nullable: true }) - @JoinColumn({ name: "pharmacy_order_id" }) - pharmacy_order: EmrPharmacyOrder | null; - - @OneToMany(() => EmrCompoundingMedicineItem, (item) => item.compounding_medicine, { cascade: true }) - items: EmrCompoundingMedicineItem[]; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} - diff --git a/src/entity/emr/emr_compounding_medicine_item.ts b/src/entity/emr/emr_compounding_medicine_item.ts deleted file mode 100644 index fa05606..0000000 --- a/src/entity/emr/emr_compounding_medicine_item.ts +++ /dev/null @@ -1,65 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - JoinColumn, -} from "typeorm"; -import { ItemMaster } from "../pharmacy/item_master"; -import { EmrCompoundingMedicine } from "./emr_compounding_medicine"; -import { RoomStock } from "../pharmacy-logistic/room_stock"; - -@Entity("emr_compounding_medicine_item", { schema: "emr" }) -export class EmrCompoundingMedicineItem { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => ItemMaster, { onDelete: "NO ACTION" }) - @JoinColumn({ name: "item_master_id" }) - item_master: ItemMaster; - - @ManyToOne(() => EmrCompoundingMedicine, { onDelete: "CASCADE" }) - @JoinColumn({ name: "compounding_medicine_id" }) - compounding_medicine: EmrCompoundingMedicine; - - @Column({ - type: "int", - nullable: false - }) - dose: number - - @ManyToOne(() => RoomStock, { onDelete: "NO ACTION" }) - @JoinColumn({ name: "room_stock_id" }) - room_stock: RoomStock; - - @Column({ type: "decimal", precision: 10, scale: 2, nullable: true }) - unit_price?: number | null; - - @Column({ type: "decimal", precision: 10, scale: 2, nullable: true }) - total_price?: number | null; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} - diff --git a/src/entity/emr/emr_diagnosis.ts b/src/entity/emr/emr_diagnosis.ts deleted file mode 100644 index 5c56086..0000000 --- a/src/entity/emr/emr_diagnosis.ts +++ /dev/null @@ -1,80 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - OneToOne, - JoinColumn, -} from "typeorm"; -import { EmrDiagnosisType } from "../../enum/emrDiagnosisType"; -import { EmrPatient } from "./emr_patient"; -import { Diagnosis } from "../diagnosis"; -import { User } from "../users"; -import { EmrRegistration } from "./emr_registration"; - -@Entity("emr_diagnosis", { schema: "emr" }) -export class EmrDiagnosis { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => EmrPatient, { onDelete: "CASCADE" }) - @JoinColumn() - patient: EmrPatient; - - @ManyToOne(() => EmrRegistration, { onDelete: "CASCADE" }) - @JoinColumn() - registration: EmrRegistration; - - @ManyToOne(() => User, { onDelete: "CASCADE" }) - @JoinColumn() - doctor: User; - - @ManyToOne(() => Diagnosis, { onDelete: "CASCADE", nullable: true }) - @JoinColumn() - diagnosis: Diagnosis; - - @Column({ nullable: true, type: "text" }) - diagnosis_code: string; - - @Column({ nullable: true, type: "text" }) - diagnosis_name: string; - - @Column({ - type: "enum", - enum: EmrDiagnosisType, - nullable: false, - }) - diagnosis_type: EmrDiagnosisType; - - @Column({ - type: "boolean", - nullable: true, - default: false - }) - is_new: boolean; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} - diff --git a/src/entity/emr/emr_diagnostic_procedure.ts b/src/entity/emr/emr_diagnostic_procedure.ts deleted file mode 100644 index 90a732e..0000000 --- a/src/entity/emr/emr_diagnostic_procedure.ts +++ /dev/null @@ -1,73 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - OneToOne, - JoinColumn, -} from "typeorm"; -import { EmrDiagnosticProcedureType } from "../../enum/emrDiagnosticProcedureType"; -import { EmrPatient } from "./emr_patient"; -import { DiagnosticProcedure } from "../diagnostic_procedure"; -import { EmrRegistration } from "./emr_registration"; -import { User } from "../users"; - -@Entity("emr_diagnostic_procedure", { schema: "emr" }) -export class EmrDiagnosticProcedure { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => EmrPatient, { onDelete: "CASCADE" }) - @JoinColumn() - patient: EmrPatient; - - @ManyToOne(() => EmrRegistration, { onDelete: "CASCADE" }) - @JoinColumn() - registration: EmrRegistration; - - @ManyToOne(() => User, { onDelete: "CASCADE" }) - @JoinColumn() - doctor: User; - - @ManyToOne(() => DiagnosticProcedure, { onDelete: "CASCADE", nullable: true }) - @JoinColumn() - diagnostic_procedure: DiagnosticProcedure; - - @Column({ nullable: true, type: "text" }) - diagnostic_procedure_code: string; - - @Column({ nullable: true, type: "text" }) - diagnostic_procedure_name: string; - - @Column({ - type: "enum", - enum: EmrDiagnosticProcedureType, - nullable: false, - }) - diagnostic_procedure_type: EmrDiagnosticProcedureType; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} - diff --git a/src/entity/emr/emr_diet.ts b/src/entity/emr/emr_diet.ts deleted file mode 100644 index dde53d0..0000000 --- a/src/entity/emr/emr_diet.ts +++ /dev/null @@ -1,52 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - OneToOne, - JoinColumn, - ManyToOne, -} from "typeorm"; -import { EmrPatient } from "./emr_patient"; -import { EmrRegistration } from "./emr_registration"; - -@Entity("emr_diet", { schema: "emr" }) -export class EmrDiet { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => EmrPatient, { onDelete: "CASCADE" }) - @JoinColumn() - patient: EmrPatient; - - @OneToOne(() => EmrRegistration, { onDelete: "CASCADE" }) - @JoinColumn() - registration: EmrRegistration; - - @Column({ nullable: true, type: "text" }) - diet: string; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} - diff --git a/src/entity/emr/emr_discharge_status_emergency.ts b/src/entity/emr/emr_discharge_status_emergency.ts deleted file mode 100644 index 0a33d4f..0000000 --- a/src/entity/emr/emr_discharge_status_emergency.ts +++ /dev/null @@ -1,89 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - OneToOne, - JoinColumn, - ManyToOne, -} from "typeorm"; - -import { EmrRegistrationEmergency } from "./emr_registration_emergency"; -import { User } from "../users"; - -@Entity("emr_discharge_status_emergency", { schema: "emr" }) -export class DischargeStatusEmergency { - @PrimaryGeneratedColumn("uuid") - id: string; - - @OneToOne(() => EmrRegistrationEmergency, (discharge) => discharge.discharge_status, { onDelete: "CASCADE" }) - @JoinColumn() - discharge_status: EmrRegistrationEmergency; - - @Column({ nullable: true, type: "text" }) - patient_discharge_status: string; - - @ManyToOne(() => User, { onDelete: "CASCADE" }) - @JoinColumn() - inpatient_attending_phyisician: User; - - @Column({ nullable: true, type: "text" }) - gender_responsible_person: string | null; - - @Column({ nullable: true, type: "text" }) - fullname_responsible_person: string | null; - - @Column({ nullable: true, type: "int" }) - age_responsible_person: number | null; - - @Column({ nullable: true, type: "text" }) - address: string | null; - - @Column({ nullable: true, type: "text" }) - reason_discharge: string | null; - - @Column({ nullable: true, type: "text" }) - doctor_signature: string | null; - - @Column({ nullable: true, type: "text" }) - patient_signature: string | null; - - @Column({ nullable: true, type: "text" }) - witness_signature: string | null; - - @Column({ nullable: true, type: "text" }) - cause_of_death: string; - - @Column({ nullable: true, type: "text" }) - diagnosis: string; - - @Column({ nullable: true, type: "text" }) - description: string; - - @Column() - @CreateDateColumn({nullable: true, type: "date"}) - discharge_date: Date; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/emr/emr_doctor_order_emergency.ts b/src/entity/emr/emr_doctor_order_emergency.ts deleted file mode 100644 index b5e02d2..0000000 --- a/src/entity/emr/emr_doctor_order_emergency.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - JoinColumn, - OneToOne, - ManyToOne, -} from "typeorm"; - -import { EmrPatient } from "./emr_patient"; -import { EmrRegistration } from "./emr_registration"; - -@Entity("emr_doctor_order_emergency", { schema: "emr" }) -export class EmrDoctorOrderEmergency { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => EmrPatient, { onDelete: "CASCADE" }) - @JoinColumn() - patient: EmrPatient; - - @OneToOne(() => EmrRegistration, { onDelete: "CASCADE" }) - @JoinColumn() - registration: EmrRegistration; - - @Column({ nullable: true, type: "text" }) - doctor_order: string; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} - diff --git a/src/entity/emr/emr_doctor_procedure.ts b/src/entity/emr/emr_doctor_procedure.ts deleted file mode 100644 index bbd0afd..0000000 --- a/src/entity/emr/emr_doctor_procedure.ts +++ /dev/null @@ -1,59 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - JoinColumn, -} from "typeorm"; - -import { Service } from "../service"; -import { ServiceType } from "../service_type"; -import { EmrRegistration } from "./emr_registration"; -import { EmrPatient } from "./emr_patient"; -import { User } from "../users"; - -@Entity('emr_doctor_procedure', { schema: "emr" }) -export class EmrDoctorProcedure { - @PrimaryGeneratedColumn('uuid') - id: string; - - @ManyToOne(() => EmrRegistration, { onDelete: "CASCADE" }) - @JoinColumn() - registration: EmrRegistration; - - @ManyToOne(() => EmrPatient, { onDelete: "CASCADE" }) - @JoinColumn() - patient: EmrPatient; - - @ManyToOne(() => User, { onDelete: "CASCADE" }) - @JoinColumn() - doctor: User; - - @ManyToOne(() => Service, { onDelete: 'NO ACTION' }) - @JoinColumn() - service: Service; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date | null; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} \ No newline at end of file diff --git a/src/entity/emr/emr_emergency_transfer_additional_attending_physicians.ts b/src/entity/emr/emr_emergency_transfer_additional_attending_physicians.ts deleted file mode 100644 index 0d02692..0000000 --- a/src/entity/emr/emr_emergency_transfer_additional_attending_physicians.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, ManyToOne, JoinColumn } from "typeorm"; -import { EmrEmergencyTransfer } from "./emr_emergency_transfers"; -import { User } from "../users"; - -@Entity("emr_emergency_transfer_additional_attending_physicians", { schema: "emr" }) -export class EmrEmergencyTransferAdditionalAttendingPhysician { - // Primary key DPJP tambahan (rawat bersama) - @PrimaryGeneratedColumn("uuid") - id: string; - - // Relasi ke data transfer antar unit - @ManyToOne(() => EmrEmergencyTransfer, { onDelete: "NO ACTION" }) - @JoinColumn() - emergency_transfer: EmrEmergencyTransfer; - - // Dokter DPJP tambahan - @ManyToOne(() => User, { onDelete: "NO ACTION" }) - @JoinColumn() - doctor: User; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/emr/emr_emergency_transfer_attached_devices.ts b/src/entity/emr/emr_emergency_transfer_attached_devices.ts deleted file mode 100644 index 62a04e5..0000000 --- a/src/entity/emr/emr_emergency_transfer_attached_devices.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, ManyToOne, JoinColumn } from "typeorm"; -import { EmrEmergencyTransfer } from "./emr_emergency_transfers"; - -@Entity("emr_emergency_transfer_attached_devices", { schema: "emr" }) -export class EmrEmergencyTransferAttachedDevice { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => EmrEmergencyTransfer, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - emergency_transfer: EmrEmergencyTransfer; - - @Column({ nullable: true, type: "text" }) - device_type: string; - - @Column({ nullable: true, type: "text" }) - location: string; - - @Column({ nullable: true, type: "text" }) - size: string; - - @Column({ nullable: true, type: "text" }) - note: string; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/emr/emr_emergency_transfer_clinical_interventions.ts b/src/entity/emr/emr_emergency_transfer_clinical_interventions.ts deleted file mode 100644 index bedab36..0000000 --- a/src/entity/emr/emr_emergency_transfer_clinical_interventions.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, ManyToOne, JoinColumn } from "typeorm"; -import { EmrEmergencyTransfer } from "./emr_emergency_transfers"; - -@Entity("emr_emergency_transfer_clinical_interventions", { schema: "emr" }) -export class EmrEmergencyTransferClinicalIntervention { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => EmrEmergencyTransfer, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - emergency_transfer: EmrEmergencyTransfer; - - @Column({ nullable: true, type: "varchar", length: 128 }) - intervention_category: string; - - @Column({ nullable: true, type: "text" }) - notes: string; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/emr/emr_emergency_transfer_diagnostics.ts b/src/entity/emr/emr_emergency_transfer_diagnostics.ts deleted file mode 100644 index 7f948cd..0000000 --- a/src/entity/emr/emr_emergency_transfer_diagnostics.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, ManyToOne, JoinColumn } from "typeorm"; -import { EmrEmergencyTransfer } from "./emr_emergency_transfers"; - -@Entity("emr_emergency_transfer_diagnostics", { schema: "emr" }) -export class EmrEmergencyTransferDiagnostic { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => EmrEmergencyTransfer, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - emergency_transfer: EmrEmergencyTransfer; - - @Column({ nullable: true, type: "text" }) - test_name: string; - - @Column({ nullable: true, type: "text" }) - result: string; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/emr/emr_emergency_transfer_medications.ts b/src/entity/emr/emr_emergency_transfer_medications.ts deleted file mode 100644 index c997514..0000000 --- a/src/entity/emr/emr_emergency_transfer_medications.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, ManyToOne, JoinColumn } from "typeorm"; -import { EmrEmergencyTransfer } from "./emr_emergency_transfers"; - -@Entity("emr_emergency_transfer_medications", { schema: "emr" }) -export class EmrEmergencyTransferMedication { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => EmrEmergencyTransfer, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - emergency_transfer: EmrEmergencyTransfer; - - @Column({ nullable: true, type: "text" }) - medicine_type: string; - - @Column({ nullable: true, type: "text" }) - medicine_name: string; - - @Column({ nullable: true, type: "text" }) - dosage: string; - - @Column({ nullable: true, type: "text" }) - medicine_frequency: string; - - @Column({ nullable: true, type: "text" }) - medicine_route: string; - - @Column({ nullable: true, type: "text" }) - remaining_medicine: string; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/emr/emr_emergency_transfer_patient_conditions.ts b/src/entity/emr/emr_emergency_transfer_patient_conditions.ts deleted file mode 100644 index bb84410..0000000 --- a/src/entity/emr/emr_emergency_transfer_patient_conditions.ts +++ /dev/null @@ -1,85 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, ManyToOne, JoinColumn } from "typeorm"; -import { EmrEmergencyTransfer } from "./emr_emergency_transfers"; - -@Entity("emr_emergency_transfer_patient_conditions", { schema: "emr" }) -export class EmrEmergencyTransferPatientCondition { - // Primary key data kondisi pasien saat pindah - @PrimaryGeneratedColumn("uuid") - id: string; - - // Relasi ke data transfer antar unit - @ManyToOne(() => EmrEmergencyTransfer, { onDelete: "NO ACTION" }) - @JoinColumn() - emergency_transfer: EmrEmergencyTransfer; - - // KU pasien saat pindah - @Column({ nullable: true, type: "text" }) - general_condition: string; - - // Kesadaran pasien saat pindah - @Column({ nullable: true, type: "text" }) - consciousness: string; - - // Nilai GCS E - @Column({ nullable: true, type: "int" }) - gcs_eye: number; - - // Nilai GCS M - @Column({ nullable: true, type: "int" }) - gcs_motor: number; - - // Nilai GCS V - @Column({ nullable: true, type: "int" }) - gcs_verbal: number; - - // Total nilai GCS - @Column({ nullable: true, type: "int" }) - gcs_total: number; - - // Saturasi oksigen / SaO2 - @Column({ nullable: true, type: "text" }) - oxygen_saturation: string; - - // Tekanan darah - @Column({ nullable: true, type: "text" }) - blood_pressure: string; - - // Suhu tubuh - @Column({ nullable: true, type: "text" }) - temperature: string; - - // Nadi - @Column({ nullable: true, type: "text" }) - pulse: string; - - // Respiratory rate / RR - @Column({ nullable: true, type: "text" }) - respiratory_rate: string; - - // Waktu data dibuat - @Column() - @CreateDateColumn() - created_at: Date; - - // User pembuat data - @Column({ nullable: true, length: 256 }) - created_by: string; - - // Waktu data terakhir diubah - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - // User pengubah terakhir - @Column({ nullable: true, length: 256 }) - updated_by: string; - - // Waktu soft delete - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - // User yang melakukan soft delete - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/emr/emr_emergency_transfer_secondary_diagnoses.ts b/src/entity/emr/emr_emergency_transfer_secondary_diagnoses.ts deleted file mode 100644 index ab51cab..0000000 --- a/src/entity/emr/emr_emergency_transfer_secondary_diagnoses.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, ManyToOne, JoinColumn } from "typeorm"; -import { EmrEmergencyTransfer } from "./emr_emergency_transfers"; -import { EmrDiagnosis } from "./emr_diagnosis"; - -@Entity("emr_emergency_transfer_secondary_diagnoses", { schema: "emr" }) -export class EmrEmergencyTransferSecondaryDiagnosis { - // Primary key diagnosis sekunder - @PrimaryGeneratedColumn("uuid") - id: string; - - // Relasi ke data transfer antar unit - @ManyToOne(() => EmrEmergencyTransfer, { onDelete: "NO ACTION" }) - @JoinColumn() - emergency_transfer: EmrEmergencyTransfer; - - // Diagnosis sekunder - @ManyToOne(() => EmrDiagnosis, { onDelete: "NO ACTION" }) - @JoinColumn() - diagnosis: EmrDiagnosis; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/emr/emr_emergency_transfers.ts b/src/entity/emr/emr_emergency_transfers.ts deleted file mode 100644 index f7f9d6b..0000000 --- a/src/entity/emr/emr_emergency_transfers.ts +++ /dev/null @@ -1,170 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, ManyToOne, JoinColumn, OneToMany } from "typeorm"; -import { Room } from "../room"; -import { EmrBoardingRoom } from "./emr_boarding_rooms"; -import { EmrEmergencyTransferMedication } from "./emr_emergency_transfer_medications"; -import { EmrEmergencyTransferDiagnostic } from "./emr_emergency_transfer_diagnostics"; -import { EmrEmergencyTransferClinicalIntervention } from "./emr_emergency_transfer_clinical_interventions"; -import { EmrEmergencyTransferPatientCondition } from "./emr_emergency_transfer_patient_conditions"; -import { User } from "../users"; -import { EmrDiagnosis } from "./emr_diagnosis"; -import { TransferMethodType, TransferRiskType } from "../../types/emr"; -import { EmrEmergencyTransferAttachedDevice } from "./emr_emergency_transfer_attached_devices"; -import { EmrEmergencyTransferAdditionalAttendingPhysician } from "./emr_emergency_transfer_additional_attending_physicians"; -import { EmrEmergencyTransferSecondaryDiagnosis } from "./emr_emergency_transfer_secondary_diagnoses"; -import { EmrRegistration } from "./emr_registration"; -import { InpatientRoom } from "../inpatient_rooms"; -import { InpatientRoomBed } from "../inpatient_room_beds"; - -@Entity("emr_emergency_transfers", { schema: "emr" }) -export class EmrEmergencyTransfer { - // Primary key data transfer antar unit - @PrimaryGeneratedColumn("uuid") - id: string; - - // Registrasi emergency yang memiliki transfer antar unit - @ManyToOne(() => EmrRegistration, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - registration: EmrRegistration; - - // Asal ruang rawat - @ManyToOne(() => Room, { onDelete: "NO ACTION" }) - @JoinColumn() - origin_room: Room; - - // Ruang rawat selanjutnya (tujuan pindah) - @ManyToOne(() => InpatientRoom, { onDelete: "NO ACTION" }) - @JoinColumn() - destination_room: InpatientRoom; - - // Ruang rawat selanjutnya (tujuan pindah) - @ManyToOne(() => InpatientRoomBed, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - destination_room_bed: InpatientRoomBed; - - // Tanggal masuk / jam - @Column({ type: "timestamp", nullable: true }) - admission_datetime: Date; - - // Tanggal pindah / jam - @Column({ type: "timestamp", nullable: true }) - transfer_datetime: Date; - - // Indikasi masuk - @Column({ nullable: true, type: "text" }) - admission_indication: string; - - // DPJP utama - @ManyToOne(() => User, { onDelete: "NO ACTION" }) - @JoinColumn() - primary_attending_physician: User; - - // DPJP tambahan (rawat bersama) - bisa lebih dari satu - @OneToMany(() => EmrEmergencyTransferAdditionalAttendingPhysician, (physician: EmrEmergencyTransferAdditionalAttendingPhysician) => physician.emergency_transfer) - additional_attending_physicians: EmrEmergencyTransferAdditionalAttendingPhysician[]; - - // Diagnosis utama - @ManyToOne(() => EmrDiagnosis, { onDelete: "NO ACTION" }) - @JoinColumn() - primary_diagnosis: EmrDiagnosis; - - // Diagnosis sekunder - bisa lebih dari satu - @OneToMany(() => EmrEmergencyTransferSecondaryDiagnosis, (diagnosis: EmrEmergencyTransferSecondaryDiagnosis) => diagnosis.emergency_transfer) - secondary_diagnoses: EmrEmergencyTransferSecondaryDiagnosis[]; - - // Alasan pemindahan: kondisi memburuk / tidak stabil - @Column({ nullable: true, type: "boolean", default: false }) - transfer_reason_condition_worsening: boolean; - - // Alasan pemindahan: butuh tenaga ahli / tenaga kurang - @Column({ nullable: true, type: "boolean", default: false }) - transfer_reason_staff_needed: boolean; - - // Alasan pemindahan: fasilitas / peralatan lebih baik - @Column({ nullable: true, type: "boolean", default: false }) - transfer_reason_facility_needed: boolean; - - // Alasan pemindahan: pemeriksaan penunjang - @Column({ nullable: true, type: "boolean", default: false }) - transfer_reason_supporting_exam: boolean; - - // Alasan pemindahan: lain-lain (checkbox) - @Column({ nullable: true, type: "boolean", default: false }) - transfer_reason_other: boolean; - - // Alasan pemindahan: keterangan lain-lain - @Column({ nullable: true, type: "text" }) - transfer_reason_other_text: string; - - // Riwayat kesehatan - @Column({ nullable: true, type: "text" }) - medical_history: string; - - // Metode pemindahan pasien - @Column({ nullable: true, default: "stretcher" }) - transfer_method: TransferMethodType; - - // Risiko selama transfer - @Column({ nullable: true }) - transfer_risk: TransferRiskType; - - // Risiko selama transfer: keterangan lain-lain - @Column({ nullable: true, type: "text" }) - transfer_risk_other_text: string; - - // Risiko jatuh - @Column({ nullable: true, type: "text" }) - fall_risk: string; - - // Nyeri - @Column({ nullable: true, type: "text" }) - pain: string; - - // Persetujuan pasien/keluarga (ya/tidak) - @Column({ nullable: true, type: "boolean", default: false }) - transfer_consent: boolean; - - // Nama pemberi persetujuan (jika keluarga) - @Column({ nullable: true, type: "text" }) - consenter_name: string; - - // Hubungan pemberi persetujuan dengan pasien - @Column({ nullable: true, type: "text" }) - consenter_relationship: string; - - // Kategori transfer pasien (0/1/2/3) - @Column({ nullable: true, type: "text" }) - category_patient: string; - - // TTD pasien / keluarga (path/base64 sesuai implementasi) - @Column({ nullable: true, type: "text" }) - patient_or_family_signature: string; - - // TTD petugas pendamping - @Column({ nullable: true, type: "text" }) - staff_signature: string; - - // Turunan data prosedur yang dilakukan - @Column({ nullable: true, type: "text" }) - procedure: string; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/emr/emr_external_consultation.ts b/src/entity/emr/emr_external_consultation.ts deleted file mode 100644 index 15ad973..0000000 --- a/src/entity/emr/emr_external_consultation.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - OneToOne, - JoinColumn, - ManyToOne, - OneToMany, -} from "typeorm"; -import { RefferalHospital } from "../refferal_hospital"; -import { EmrRegistration } from "./emr_registration"; - -@Entity("emr_external_consultation", { schema: "emr" }) -export class EmrExternalConsultation { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => RefferalHospital,{ onDelete: "CASCADE" }) - @JoinColumn() - refferalhospital: RefferalHospital; - - @ManyToOne(() => EmrRegistration, { onDelete: "CASCADE" }) - @JoinColumn() - emrregistration: EmrRegistration; - - @Column({ nullable: true, type: "text" }) - notes: string; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} - diff --git a/src/entity/emr/emr_hemodialysis_plan.ts b/src/entity/emr/emr_hemodialysis_plan.ts deleted file mode 100644 index 6035431..0000000 --- a/src/entity/emr/emr_hemodialysis_plan.ts +++ /dev/null @@ -1,80 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - JoinColumn, -} from "typeorm"; -import { EmrPatient } from "./emr_patient"; -import { EmrRegistrationOutpatient } from "./emr_registration_outpatient"; - -export enum HemodialysisPlanStatus { - DRAFT = "draft", - ACTIVE = "active", -} - -@Entity("emr_hemodialysis_plans", { schema: "emr" }) -export class HemodialysisPlan { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => EmrPatient, { onDelete: "NO ACTION", nullable: false }) - @JoinColumn({ name: "patient_id" }) - patient: EmrPatient; - - @ManyToOne(() => EmrRegistrationOutpatient, { onDelete: "SET NULL", nullable: true }) - @JoinColumn({ name: "opd_visit_id" }) - opd_visit: EmrRegistrationOutpatient | null; - - @Column({ type: "smallint", nullable: false }) - sessions_per_week: number; - - @Column({ type: "decimal", precision: 5, scale: 2, nullable: false }) - duration_hours: number; - - @Column({ type: "decimal", precision: 6, scale: 2, nullable: true }) - dry_weight: number | null; - - @Column({ type: "int", nullable: true }) - blood_flow_rate_qb: number | null; - - @Column({ type: "int", nullable: true }) - dialysate_flow_rate_qd: number | null; - - @Column({ type: "varchar", length: 256, nullable: true }) - dialyzer_type: string | null; - - @Column({ type: "varchar", length: 256, nullable: true }) - anticoagulant_dose: string | null; - - @Column({ - type: "enum", - enum: HemodialysisPlanStatus, - default: HemodialysisPlanStatus.DRAFT, - }) - status: HemodialysisPlanStatus; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/emr/emr_hemodialysis_schedule.ts b/src/entity/emr/emr_hemodialysis_schedule.ts deleted file mode 100644 index c7d8939..0000000 --- a/src/entity/emr/emr_hemodialysis_schedule.ts +++ /dev/null @@ -1,62 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - JoinColumn, -} from "typeorm"; -import { EmrPatient } from "./emr_patient"; -import { HemodialysisPlan } from "./emr_hemodialysis_plan"; - -export enum HemodialysisScheduleStatus { - SCHEDULED = "SCHEDULED", - CHECKED_IN = "CHECKED_IN", - COMPLETED = "COMPLETED", - CANCELLED = "CANCELLED", -} - -@Entity("emr_hemodialysis_schedules", { schema: "emr" }) -export class HemodialysisSchedule { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => HemodialysisPlan, { onDelete: "NO ACTION", nullable: false }) - @JoinColumn({ name: "plan_id" }) - plan: HemodialysisPlan; - - @ManyToOne(() => EmrPatient, { onDelete: "NO ACTION", nullable: false }) - @JoinColumn({ name: "patient_id" }) - patient: EmrPatient; - - @Column({ type: "date", nullable: false }) - scheduled_date: string; - - /** ISO weekday: 1 = Monday … 7 = Sunday (recurring weekly slot) */ - @Column({ type: "smallint", nullable: true }) - day_of_week: number | null; - - @Column({ - type: "enum", - enum: HemodialysisScheduleStatus, - default: HemodialysisScheduleStatus.SCHEDULED, - }) - status: HemodialysisScheduleStatus; - - @Column({ nullable: true, length: 256 }) - assigned_by: string | null; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; -} diff --git a/src/entity/emr/emr_hemodialysis_settings.ts b/src/entity/emr/emr_hemodialysis_settings.ts deleted file mode 100644 index cc398d3..0000000 --- a/src/entity/emr/emr_hemodialysis_settings.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, -} from "typeorm"; - -@Entity("emr_hemodialysis_settings", { schema: "emr" }) -export class HemodialysisSettings { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ type: "int", nullable: false }) - daily_quota_limit: number; - - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/emr/emr_hemodialysis_visit.ts b/src/entity/emr/emr_hemodialysis_visit.ts deleted file mode 100644 index e2a3ed5..0000000 --- a/src/entity/emr/emr_hemodialysis_visit.ts +++ /dev/null @@ -1,77 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - JoinColumn, -} from "typeorm"; -import { EmrPatient } from "./emr_patient"; -import { EmrRegistration } from "./emr_registration"; -import { HemodialysisSchedule } from "./emr_hemodialysis_schedule"; - -export enum HemodialysisVisitStatus { - WAITING_NURSING = "WAITING_NURSING", - IN_PROGRESS = "IN_PROGRESS", - COMPLETED = "COMPLETED", -} - -export enum HemodialysisCheckinMethod { - SCAN = "SCAN", - MANUAL = "MANUAL", -} - -@Entity("emr_hemodialysis_visits", { schema: "emr" }) -export class HemodialysisVisit { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => HemodialysisSchedule, { onDelete: "NO ACTION", nullable: false }) - @JoinColumn({ name: "schedule_id" }) - schedule: HemodialysisSchedule; - - @ManyToOne(() => EmrPatient, { onDelete: "NO ACTION", nullable: false }) - @JoinColumn({ name: "patient_id" }) - patient: EmrPatient; - - @ManyToOne(() => EmrRegistration, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn({ name: "registration_id" }) - registration: EmrRegistration | null; - - @Column({ type: "date", nullable: false }) - visit_date: string; - - @Column({ type: "timestamptz", nullable: true }) - checkin_time: Date | null; - - @Column({ type: "timestamptz", nullable: true }) - checkout_time: Date | null; - - @Column({ - type: "enum", - enum: HemodialysisVisitStatus, - default: HemodialysisVisitStatus.WAITING_NURSING, - }) - status: HemodialysisVisitStatus; - - @Column({ - type: "enum", - enum: HemodialysisCheckinMethod, - nullable: true, - }) - checkin_method: HemodialysisCheckinMethod | null; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; -} diff --git a/src/entity/emr/emr_hemodialysis_visit_detail.ts b/src/entity/emr/emr_hemodialysis_visit_detail.ts deleted file mode 100644 index fcd7d09..0000000 --- a/src/entity/emr/emr_hemodialysis_visit_detail.ts +++ /dev/null @@ -1,57 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - OneToOne, - JoinColumn, -} from "typeorm"; -import { HemodialysisVisit } from "./emr_hemodialysis_visit"; - -export enum HemodialysisVisitDetailStatus { - DRAFT = "DRAFT", - IN_PROGRESS = "IN_PROGRESS", - COMPLETED = "COMPLETED", -} - -@Entity("emr_hemodialysis_visit_details", { schema: "emr" }) -export class HemodialysisVisitDetail { - @PrimaryGeneratedColumn("uuid") - id: string; - - @OneToOne(() => HemodialysisVisit, { onDelete: "CASCADE", nullable: false }) - @JoinColumn({ name: "visit_id" }) - visit: HemodialysisVisit; - - @Column({ type: "jsonb", nullable: true }) - nursing_form: Record | null; - - @Column({ type: "jsonb", nullable: true }) - assessment_form: Record | null; - - @Column({ type: "jsonb", nullable: true }) - monitoring_form: Record | null; - - @Column({ - type: "enum", - enum: HemodialysisVisitDetailStatus, - default: HemodialysisVisitDetailStatus.DRAFT, - }) - status: HemodialysisVisitDetailStatus; - - @Column({ nullable: true, length: 256 }) - completed_by: string | null; - - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; -} diff --git a/src/entity/emr/emr_internal_consultation.ts b/src/entity/emr/emr_internal_consultation.ts deleted file mode 100644 index 18b506a..0000000 --- a/src/entity/emr/emr_internal_consultation.ts +++ /dev/null @@ -1,106 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - OneToOne, - JoinColumn, -} from "typeorm"; - -import { InternalConsulStatus } from "../../enum/internalConsulStatus"; -import { EmrPatient } from "./emr_patient"; -import { User } from "../users"; -import { Room } from "../room"; -import { Diagnosis } from "../diagnosis"; -import { EmrRegistration } from "./emr_registration"; - -@Entity("emr_internal_consultation", { schema: "emr" }) -export class EmrInternalConsultation { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => EmrRegistration, { onDelete: "CASCADE" }) - @JoinColumn() - registration: EmrRegistration; - - @ManyToOne(() => EmrPatient, { onDelete: "CASCADE" }) - @JoinColumn() - patient: EmrPatient; - - @Column({ nullable: true, type: "text" }) - patient_name: string; - - @Column({ nullable: true, type: "date" }) - patient_birth_date: Date; - - @Column({ nullable: true, type: "text" }) - patient_gender: string; - - @ManyToOne(() => Room, { onDelete: "CASCADE", nullable: true }) - @JoinColumn() - referring_room: Room; - - @ManyToOne(() => User, { onDelete: "CASCADE" }) - @JoinColumn() - referring_doctor: User; - - @ManyToOne(() => User, { onDelete: "CASCADE" }) - @JoinColumn() - consulted_doctor: User; - - @ManyToOne(() => Room, { onDelete: "CASCADE" }) - @JoinColumn() - consulted_room: Room; - - @OneToOne(() => EmrRegistration, { onDelete: "CASCADE" }) - @JoinColumn() - consulted_registration: EmrRegistration; - - @ManyToOne(() => Diagnosis, { onDelete: "CASCADE" }) - @JoinColumn() - diagnosis: Diagnosis; - - @Column({ type: "text", nullable: true }) - requested_consultation: string; - - @Column({ type: "text", nullable: true }) - consultation_report: string; - - @Column({ type: "date", nullable: true, default: () => "CURRENT_DATE" }) - referring_date: Date; - - @Column({ type: "date", nullable: true }) - consultation_date: Date; - - @Column({ - type: "enum", - enum: InternalConsulStatus, - nullable: false, - }) - status: InternalConsulStatus; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} - diff --git a/src/entity/emr/emr_laboratory_order_item_results.ts b/src/entity/emr/emr_laboratory_order_item_results.ts deleted file mode 100644 index e68b66e..0000000 --- a/src/entity/emr/emr_laboratory_order_item_results.ts +++ /dev/null @@ -1,66 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - JoinColumn, -} from "typeorm"; - -import { EmrLaboratoryOrderItem } from "./emr_laboratory_order_items"; -import { ExaminationDetail } from "../examination_detail"; - -/** - * Laboratory order item results entity. - * Stores examination results for each examination_detail of a service. - * Each examination_detail has fixed reference_range and measurement_unit. - * Only the examination_result value is stored here and can be filled. - */ -@Entity("emr_laboratory_order_item_results", { schema: "emr" }) -export class EmrLaboratoryOrderItemResult { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => EmrLaboratoryOrderItem, (item) => item.results, { onDelete: "CASCADE" }) - @JoinColumn() - order_item: EmrLaboratoryOrderItem; - - @ManyToOne(() => ExaminationDetail, { onDelete: "NO ACTION" }) - @JoinColumn() - examination_detail: ExaminationDetail; - - @Column({ type: "text", nullable: true }) - examination_detail_name: string; - - @Column({ nullable: true, length: 256 }) - measurement_unit: string; - - @Column({ type: "text", nullable: true }) - reference_range: string; - - @Column({ type: "text", nullable: true }) - examination_result: string; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/emr/emr_laboratory_order_items.ts b/src/entity/emr/emr_laboratory_order_items.ts deleted file mode 100644 index 1bc7844..0000000 --- a/src/entity/emr/emr_laboratory_order_items.ts +++ /dev/null @@ -1,67 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - OneToMany, - JoinColumn, -} from "typeorm"; - -import { EmrLaboratoryOrder } from "./emr_laboratory_orders"; -import { Service } from "../service"; -import { EmrLaboratoryOrderItemResult } from "./emr_laboratory_order_item_results"; - -/** - * Laboratory order items entity. - * Contains individual lab services ordered for each laboratory order. - * Each service has examination_details, and results are stored in emr_laboratory_order_item_results. - */ -@Entity("emr_laboratory_order_items", { schema: "emr" }) -export class EmrLaboratoryOrderItem { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => EmrLaboratoryOrder, (order) => order.order_items, { onDelete: "CASCADE" }) - @JoinColumn() - laboratory_order: EmrLaboratoryOrder; - - @ManyToOne(() => Service, { onDelete: "NO ACTION" }) - @JoinColumn() - service: Service; - - @Column({ type: "text", nullable: true }) - service_name: string; - - @Column({ type: "text", nullable: true }) - examination_type_name: string; - - @Column({ type: "timestamp", nullable: true }) - examination_time: Date; - - @OneToMany(() => EmrLaboratoryOrderItemResult, (result) => result.order_item, { cascade: true }) - results: EmrLaboratoryOrderItemResult[]; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/emr/emr_laboratory_orders.ts b/src/entity/emr/emr_laboratory_orders.ts deleted file mode 100644 index 150ab18..0000000 --- a/src/entity/emr/emr_laboratory_orders.ts +++ /dev/null @@ -1,102 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - OneToMany, - JoinColumn, - Index -} from "typeorm"; - -import { EmrPatient } from "./emr_patient"; -import { Room } from "../room"; -import { User } from "../users"; -import { Department } from "../department"; -import { EmrLaboratoryOrderItem } from "./emr_laboratory_order_items"; -import { LaboratoryOrderStatus } from "../../types/laboratory_order_status"; -import { EmrRegistration } from "./emr_registration"; - -/** - * Laboratory orders entity. - * Contains order header information: order number, patient, referring room/doctor, schedule, registration info. - */ -@Entity("emr_laboratory_orders", { schema: "emr" }) -@Index(["order_lab_no"], { unique: true }) -export class EmrLaboratoryOrder { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ nullable: false, length: 128, unique: true }) - order_lab_no: string; - - @Column({ type: "date", nullable: true }) - schedule_date: Date; - - @Column({ type: "text", nullable: true }) - notes: string; - - @ManyToOne(() => EmrRegistration, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - registration: EmrRegistration; - - @ManyToOne(() => EmrPatient, { onDelete: "NO ACTION" }) - @JoinColumn() - patient: EmrPatient; - - @ManyToOne(() => Room, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - referring_room: Room | null; - - @ManyToOne(() => Room, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - order_room: Room | null; - - @ManyToOne(() => User, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - referring_doctor: User | null; - - @ManyToOne(() => Department, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - department: Department | null; - - @Column({ - type: "enum", - enum: LaboratoryOrderStatus, - nullable: false, - default: LaboratoryOrderStatus.WAITING, - }) - status: LaboratoryOrderStatus; - - @OneToMany(() => EmrLaboratoryOrderItem, (item) => item.laboratory_order, { cascade: true }) - order_items: EmrLaboratoryOrderItem[]; - - @Column({ nullable: true, length: 128 }) - queue_number?: string; - - @Column({ nullable: true }) - queued_at?: Date; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/emr/emr_nursing_assesment.ts b/src/entity/emr/emr_nursing_assesment.ts deleted file mode 100644 index b90c652..0000000 --- a/src/entity/emr/emr_nursing_assesment.ts +++ /dev/null @@ -1,265 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - OneToOne, - JoinColumn, - ManyToOne, -} from "typeorm"; - -import { EmrRegistration } from "./emr_registration"; -import { FosterCareHistory } from "../foster_care_history"; -import { Room } from "../room"; - -interface ResultsCriteria { - group: number; - name: string; - level: number -} - -interface Causes { - group: string; - name: string; -} - -interface RelatedClinicalCondition { - name: string; -} - -interface FluidsAndMedication { - datetime: string; - fluid_type: string; - bottle_number: string; - medication: string; - dose: string; - rute: string; - family_signature: string; - oral: string; - drain: string; - ngt: string; - urine: string; - poop: string; -} - -interface NursingAction { - datetime: string; - nurse_action: string; - name: string; - user_id?: string; -} - -interface VitalSign { - compos_mentis: string; - blood_pressure: string; - pulse: string; - heart_rate: string; - respiratory_rate: string; - saturation: string; - temperature: string; -} - -@Entity("emr_nursing_assesment", { schema: "emr" }) -export class EmrNursingAssesment { - @PrimaryGeneratedColumn("uuid") - id: string; - - @OneToOne(() => EmrRegistration, (registration) => registration.emergency, { onDelete: "CASCADE" }) - @JoinColumn() - registration: EmrRegistration; - - @ManyToOne(() => FosterCareHistory, { onDelete: "CASCADE", nullable: true }) - @JoinColumn() - foster_care_history: FosterCareHistory; - - @Column({ nullable: true, type: "text", array: true }) - airway: string[]; - - @Column({ nullable: true, type: "text", array: true }) - breathing: string[]; - - @Column({ nullable: true, type: "text" }) - pulse: string; - - @Column({ nullable: true, type: "text" }) - crt: string; - - @Column({ nullable: true, type: "text" }) - skin_color: string; - - @Column({ nullable: true, type: "boolean" }) - bleeding: boolean; - - @Column({ nullable: true, type: "boolean" }) - wound: boolean; - - @Column({ nullable: true, type: "text" }) - wound_input: string; - - @Column({ nullable: true, type: "boolean" }) - pitchiae: boolean; - - @Column({ nullable: true, type: "text" }) - pitchiae_input: string; - - @Column({ nullable: true, type: "text" }) - consciousness: string; - - @Column({ nullable: true, type: "int2" }) - motor: number; - - @Column({ nullable: true, type: "int2" }) - vision: number; - - @Column({ nullable: true, type: "int2" }) - eye: number; - - @Column({ nullable: true, type: "text" }) - location_of_pain: string; - - @Column({ nullable: true, type: "int2" }) - pain_scale: number; - - @Column({ nullable: true, type: "boolean" }) - way_of_walking: boolean; - - @Column({ nullable: true, type: "boolean" }) - way_of_sit: boolean; - - @Column({ - nullable: true, - type: 'jsonb', - default: [], - }) - fluids_and_medication: FluidsAndMedication[]; - - @Column({ - nullable: true, - type: 'jsonb', - default: [], - }) - nursing_action: NursingAction[]; - - @Column({ - nullable: true, - type: 'jsonb', - default: [], - }) - vital_sign: VitalSign[]; - - @Column({ nullable: true, type: "boolean" }) - discharge_planning: boolean; - - @Column({ nullable: true, type: "text", array: true }) - inpatient_check: string[]; - - @ManyToOne(() => Room, { onDelete: "CASCADE" }) - @JoinColumn() - inpatientroom: Room; - - @Column({ nullable: true, type: "text", array: true }) - outapatient_check: string[]; - - @Column({ nullable: true, type: "boolean" }) - discharge: boolean; - - @Column({ - nullable: true, - type: 'jsonb', - default: [], - }) - result_criteria: ResultsCriteria[]; - - @Column({ - nullable: true, - type: 'jsonb', - default: [], - }) - causes: Causes[]; - - @Column({ - nullable: true, - type: 'jsonb', - default: [], - }) - related_clinical_condition: RelatedClinicalCondition[]; - - @Column({ - nullable: true, - type: 'jsonb', - default: [], - }) - subjective_major: Causes[]; - - @Column({ - nullable: true, - type: 'jsonb', - default: [], - }) - objectitve_major: Causes[]; - - @Column({ - nullable: true, - type: 'jsonb', - default: [], - }) - subjective_minor: Causes[]; - - @Column({ - nullable: true, - type: 'jsonb', - default: [], - }) - objective_minor: Causes[]; - - @Column({ - nullable: true, - type: 'jsonb', - default: [], - }) - observation: RelatedClinicalCondition[]; - - @Column({ - nullable: true, - type: 'jsonb', - default: [], - }) - therapeutic: RelatedClinicalCondition[]; - - @Column({ - nullable: true, - type: 'jsonb', - default: [], - }) - education: RelatedClinicalCondition[]; - - @Column({ - nullable: true, - type: 'jsonb', - default: [], - }) - colaboration: RelatedClinicalCondition[]; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/emr/emr_observation_record.ts b/src/entity/emr/emr_observation_record.ts deleted file mode 100644 index 09c40c7..0000000 --- a/src/entity/emr/emr_observation_record.ts +++ /dev/null @@ -1,82 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - JoinColumn, - Index, -} from "typeorm"; - -import { Avpu } from "../../enum/avpu"; -import { User } from "../users"; -import { EmrRegistration } from "./emr_registration"; - -@Entity("emr_observation_record", { schema: "emr" }) -@Index("idx_emr_observation_record_registration", ["registration"]) -export class ObservationRecord { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => EmrRegistration, { onDelete: "CASCADE" }) - @JoinColumn({ name: "registration_id" }) - registration: EmrRegistration; - - @Column({ length: 5 }) - oras: string; - - @Column({ nullable: true, type: "int2" }) - respirasi: number | null; - - @Column({ nullable: true, type: "int2" }) - spo2: number | null; - - @Column({ nullable: true, type: "int2" }) - hr: number | null; - - @Column({ nullable: true, type: "int2" }) - bp_systolic: number | null; - - @Column({ nullable: true, type: "int2" }) - bp_diastolic: number | null; - - @Column({ nullable: true, type: "float" }) - temperatura: number | null; - - @Column({ - type: "enum", - enum: Avpu, - nullable: true, - }) - avpu: Avpu | null; - - @Column({ nullable: true, type: "float" }) - todan: number | null; - - @ManyToOne(() => User, { onDelete: "NO ACTION" }) - @JoinColumn({ name: "assina_uuid" }) - assina: User; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/emr/emr_odontogram.ts b/src/entity/emr/emr_odontogram.ts deleted file mode 100644 index bb3302c..0000000 --- a/src/entity/emr/emr_odontogram.ts +++ /dev/null @@ -1,66 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - JoinColumn, - OneToOne, -} from "typeorm"; - -import { EmrPatient } from "./emr_patient"; -import { EmrRegistration } from "./emr_registration"; -import { User } from "../users"; -import { EmrOdontogramTeeth } from "./emr_odontogram_teeth"; -import { OneToMany } from "typeorm"; - -@Entity("emr_odontogram", { schema: "emr" }) -export class EmrOdontogram { - @PrimaryGeneratedColumn("uuid") - id: string; - - @OneToOne(() => EmrRegistration, { onDelete: "CASCADE" }) - @JoinColumn() - registration: EmrRegistration; - - @ManyToOne(() => EmrPatient, { onDelete: "CASCADE" }) - @JoinColumn() - patient: EmrPatient; - - @ManyToOne(() => User, { onDelete: "CASCADE" }) - @JoinColumn() - doctor: User; - - @Column({ nullable: true, type: "text" }) - notes: string; - - @Column({ nullable: true, type: "text" }) - status: string; - - @OneToMany(() => EmrOdontogramTeeth, (teeth: EmrOdontogramTeeth) => teeth.odontogram) - teeth: EmrOdontogramTeeth[] - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} - diff --git a/src/entity/emr/emr_odontogram_teeth.ts b/src/entity/emr/emr_odontogram_teeth.ts deleted file mode 100644 index be75de8..0000000 --- a/src/entity/emr/emr_odontogram_teeth.ts +++ /dev/null @@ -1,59 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - JoinColumn, -} from "typeorm"; - -import { EmrOdontogram } from "./emr_odontogram"; - -@Entity("emr_odontogram_teeth", { schema: "emr" }) -export class EmrOdontogramTeeth { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => EmrOdontogram, { onDelete: "CASCADE" }) - @JoinColumn() - odontogram: EmrOdontogram; - - @Column({ nullable: true, type: "text" }) - tooth_number: string; - - @Column({ nullable: true, type: "text" }) - surface: string; - - @Column({ nullable: true, type: "text" }) - condition_code: string; - - @Column({ nullable: true, type: "text" }) - note: string; - - @Column({ nullable: true, type: "text" }) - status: string; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} - diff --git a/src/entity/emr/emr_patient.ts b/src/entity/emr/emr_patient.ts deleted file mode 100644 index 41df094..0000000 --- a/src/entity/emr/emr_patient.ts +++ /dev/null @@ -1,152 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, ManyToOne, JoinColumn, OneToMany } from "typeorm"; - -import { Status } from "../../types/status"; -import { Aldeia } from "../aldeia"; -import { Suco } from "../suco"; -import { Administrativu } from "../administrativu"; -import { Munisipo } from "../munisipo"; -import { Province } from "../province"; -import { City } from "../city"; -import { Subdistrict } from "../subdistrict"; -import { Ward } from "../ward"; -import { Citizen } from "../../types/citizen"; - -@Entity("emr_patients", { schema: "emr" }) -export class EmrPatient { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ nullable: false, length: 64 }) - mrn_number: string; - - @Column({ nullable: true, length: 64 }) - passport_number: string; - - @Column({ nullable: true, length: 256 }) - first_name: string; - - @Column({ nullable: true, length: 256 }) - last_name: string; - - @Column({ nullable: true, length: 256 }) - full_name: string; - - @Column({ nullable: true, length: 256, unique: true }) - card_number: string; - - @Column({ type: "date", nullable: false }) - birth_date: Date; - - @Column({ nullable: false, length: 32 }) - gender: string; - - @Column({ nullable: true, length: 32 }) - citizen: Citizen; - - @Column({ nullable: true, length: 64 }) - marriage_status: string; - - @Column({ nullable: true, length: 256 }) - profession: string; - - @Column({ nullable: false, length: 32 }) - born_in: string; - - @Column({ nullable: true, length: 256 }) - place_of_birth: string; - - @Column({ nullable: true, type: "text" }) - photo: string; - - @Column({ type: "text", nullable: true }) - address: string; - - @ManyToOne(() => Munisipo, { onDelete: "NO ACTION" }) - @JoinColumn() - munisipio: Munisipo; - - @ManyToOne(() => Administrativu, { onDelete: "NO ACTION" }) - @JoinColumn() - administrativu: Administrativu; - - @ManyToOne(() => Suco, { onDelete: "NO ACTION" }) - @JoinColumn() - suco: Suco; - - @ManyToOne(() => Aldeia, { onDelete: "NO ACTION" }) - @JoinColumn() - aldeia: Aldeia; - - @ManyToOne(() => Province, { onDelete: "NO ACTION" }) - @JoinColumn({ referencedColumnName: "code" }) - province: Province; - - @ManyToOne(() => City, { onDelete: "NO ACTION" }) - @JoinColumn({ referencedColumnName: "code" }) - city: City; - - @ManyToOne(() => Subdistrict, { onDelete: "NO ACTION" }) - @JoinColumn({ referencedColumnName: "code" }) - subdistrict: Subdistrict; - - @ManyToOne(() => Ward, { onDelete: "NO ACTION" }) - @JoinColumn({ referencedColumnName: "code" }) - ward: Ward; - - @Column({ nullable: true, length: 256 }) - email: string; - - @Column({ nullable: false, length: 64 }) - status: Status; - - @Column({ nullable: true, length: 128 }) - electoral_id_number: string; - - // Bilhete de Identidade (BI) - @Column({ nullable: true, length: 128 }) - bi_number: string; - - @Column({ nullable: true, length: 128 }) - phone: string; - - @Column({ nullable: true, length: 128 }) - telephone: string; - - @Column({ nullable: true, length: 128 }) - tag_id: string; - - @Column({ nullable: false, type: 'boolean', default: false }) - is_card_printing: boolean; - - card_print_status?: string | null; - - @Column({ nullable: true, type: "int", default: 0 }) - card_print_count: number; - - @Column({ nullable: true, length: 64 }) - card_name: string; - - @Column({ nullable: true }) - card_print_queue_id: string; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/emr/emr_patient_education.ts b/src/entity/emr/emr_patient_education.ts deleted file mode 100644 index 82ae976..0000000 --- a/src/entity/emr/emr_patient_education.ts +++ /dev/null @@ -1,109 +0,0 @@ -import { - Entity, - OneToOne, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - JoinColumn, - ManyToMany -} from "typeorm"; - -import { EmrPatient } from "./emr_patient"; -import { EmrRegistration } from "./emr_registration"; -import { User } from "../users"; - -@Entity("emr_patient_education") -export class PatientEducation { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => User, { onDelete: "CASCADE" }) - @JoinColumn() - user: User; - - @ManyToOne(() => EmrRegistration, { onDelete: "CASCADE" }) - @JoinColumn() - registration: EmrRegistration; - - @ManyToOne(() => EmrPatient, { onDelete: "CASCADE" }) - @JoinColumn() - patient: EmrPatient; - - @Column({ - nullable: true, - type: "text", - }) - education_topics: string; - - @Column({ - nullable: true, - type: "text", - }) - type: string; - - @Column({ - nullable: true, - type: "text", - }) - education_recipients: string; - - @Column({ - nullable: true, - type: "text", - }) - learning_methods: string; - - @Column({ - nullable: true, - type: "text", - }) - educator_signature: string; - - @Column({ - nullable: true, - type: "text", - }) - education_recipients_signature: string; - - @Column({ - nullable: true, - type: "text", - }) - notes: string; - - @Column({ - nullable: true, - type: "text", - }) - education_recipient_name: string; - - @Column({ - nullable: true, - type: "text", - }) - learning_evaluation: string; - - @CreateDateColumn() - education_date: Date; - - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @UpdateDateColumn({ nullable: true }) - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/emr/emr_patient_past_medical_document.ts b/src/entity/emr/emr_patient_past_medical_document.ts deleted file mode 100644 index 07837d4..0000000 --- a/src/entity/emr/emr_patient_past_medical_document.ts +++ /dev/null @@ -1,60 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - JoinColumn, - Index, -} from "typeorm"; - -import { EmrPatient } from "./emr_patient"; - -@Entity("patient_past_medical_document", { schema: "emr" }) -@Index("idx_patient_past_medical_document_patient", ["patient"]) -export class PatientPastMedicalDocument { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => EmrPatient, { onDelete: "CASCADE" }) - @JoinColumn({ name: "patient_id" }) - patient: EmrPatient; - - @Column({ nullable: true, length: 256 }) - name: string | null; - - @Column({ nullable: true, type: "date" }) - date: Date | null; - - @Column({ length: 512 }) - file_name: string; - - @Column({ length: 512 }) - file_path: string; - - @Column({ type: "int8", nullable: true }) - file_size: number | null; - - @Column({ nullable: true, length: 128 }) - mime_type: string | null; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/emr/emr_pharmacy_order.ts b/src/entity/emr/emr_pharmacy_order.ts deleted file mode 100644 index 8b598cc..0000000 --- a/src/entity/emr/emr_pharmacy_order.ts +++ /dev/null @@ -1,96 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - JoinColumn, - OneToMany, - Index, -} from "typeorm"; -import { EmrCompoundingMedicine } from "./emr_compounding_medicine"; -import { EmrPrescription } from "./emr_prescription"; -import { User } from "../users"; -import { Room } from "../room"; -import { EmrRegistration } from "./emr_registration"; -import { EmrPatient } from "./emr_patient"; -import { PharmacyOrderStatus } from "../../types/pharmacy_order_status"; -import { EmrPharmacyOrderActivity } from "./emr_pharmacy_order_activity"; - -@Entity("emr_pharmacy_order", { schema: "emr" }) -@Index(["code"], { unique: true }) -export class EmrPharmacyOrder { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ type: "varchar", unique: true }) - code: string; - - @Column({ nullable: true, type: "varchar", length: 256 }) - queue_number?: string; - - @ManyToOne(() => EmrRegistration, { onDelete: "CASCADE" }) - @JoinColumn({ name: "registration_id" }) - registration: EmrRegistration | null; - - @ManyToOne(() => User, { onDelete: "CASCADE" }) - @JoinColumn({ name: "doctor_id" }) - doctor: User | null; - - @ManyToOne(() => EmrPatient, { onDelete: "CASCADE" }) - @JoinColumn({ name: "patient_id" }) - patient: EmrPatient | null; - - @OneToMany(() => EmrCompoundingMedicine, compounding => compounding.pharmacy_order, { cascade: true }) - compounding_medicines: EmrCompoundingMedicine[]; - - @OneToMany(() => EmrPrescription, (prescription) => prescription.pharmacy_order, { cascade: true }) - prescriptions: EmrPrescription[]; - - @ManyToOne(() => Room, { onDelete: "CASCADE" }) - @JoinColumn({ name: "room_id" }) - room: Room; - - @ManyToOne(() => Room, { onDelete: "CASCADE" }) - @JoinColumn({ name: "referring_room_id" }) - referring_room: Room | null; - - @Column({ nullable: true, type: "jsonb" }) - prescription_screening?: object; - - @Column({ nullable: true, type: "text" }) - status: PharmacyOrderStatus; - - @Column({ nullable: true, type: "float" }) - subtotal_price?: number | null; - - @OneToMany(() => EmrPharmacyOrderActivity, (activity) => activity.pharmacy_order) - activities: EmrPharmacyOrderActivity[]; - - @Column({ nullable: true }) - queued_at?: Date; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} - diff --git a/src/entity/emr/emr_pharmacy_order_activity.ts b/src/entity/emr/emr_pharmacy_order_activity.ts deleted file mode 100644 index dbb88ad..0000000 --- a/src/entity/emr/emr_pharmacy_order_activity.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { Column, CreateDateColumn, Entity, JoinColumn, ManyToOne, OneToMany, PrimaryGeneratedColumn } from "typeorm"; -import { EmrPharmacyOrder } from "./emr_pharmacy_order"; -import { PharmacyOrderStatus } from "../../types/pharmacy_order_status"; - -@Entity("emr_pharmacy_order_activity", { schema: "emr" }) -export class EmrPharmacyOrderActivity { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => EmrPharmacyOrder, order => order.activities, { onDelete: "CASCADE" }) - @JoinColumn({ name: "pharmacy_order_id" }) - pharmacy_order: EmrPharmacyOrder; - - @Column({ type: "varchar" }) - code: string; - - @Column({ nullable: true, type: "varchar" }) - queue_number?: string | null; - - @Column({ nullable: true, type: "text" }) - doctor: string | null; - - @Column({ nullable: true, type: "text" }) - patient: string | null; - - @Column({ nullable: true, type: "jsonb" }) - compounding_medicines: object | null; - - @Column({ nullable: true, type: "jsonb" }) - prescriptions: object | null; - - @Column({ nullable: true, type: "text" }) - room: string | null; - - @Column({ nullable: true, type: "text" }) - referring_room: string | null; - - @Column({ nullable: true, type: "jsonb" }) - prescription_screening?: object | null; - - @Column({ type: "enum", enum: PharmacyOrderStatus }) - status: PharmacyOrderStatus; - - @Column({ nullable: true, type: "float" }) - subtotal_price?: number | null; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; -} \ No newline at end of file diff --git a/src/entity/emr/emr_physical_examination.ts b/src/entity/emr/emr_physical_examination.ts deleted file mode 100644 index 36fe1fd..0000000 --- a/src/entity/emr/emr_physical_examination.ts +++ /dev/null @@ -1,56 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - JoinColumn, - OneToOne, - ManyToOne, -} from "typeorm"; - -import { EmrPatient } from "./emr_patient"; -import { EmrRegistration } from "./emr_registration"; - -@Entity("emr_physical_examination", { schema: "emr" }) -export class EmrPhysicalExamination { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => EmrPatient, { onDelete: "CASCADE" }) - @JoinColumn() - patient: EmrPatient; - - @OneToOne(() => EmrRegistration, { onDelete: "CASCADE" }) - @JoinColumn() - registration: EmrRegistration; - - @Column({ nullable: true, type: "text" }) - internal_status: string; - - @Column({ nullable: true, type: "text" }) - findings: string; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} - diff --git a/src/entity/emr/emr_physical_examination_emergency.ts b/src/entity/emr/emr_physical_examination_emergency.ts deleted file mode 100644 index 4763bab..0000000 --- a/src/entity/emr/emr_physical_examination_emergency.ts +++ /dev/null @@ -1,56 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - JoinColumn, - OneToOne, - ManyToOne, -} from "typeorm"; - -import { EmrPatient } from "./emr_patient"; -import { EmrRegistration } from "./emr_registration"; - -@Entity("emr_physical_examination_emergency", { schema: "emr" }) -export class EmrPhysicalExaminationEmergency { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => EmrPatient, { onDelete: "CASCADE" }) - @JoinColumn() - patient: EmrPatient; - - @OneToOne(() => EmrRegistration, { onDelete: "CASCADE" }) - @JoinColumn() - registration: EmrRegistration; - - @Column({ nullable: true, type: "text" }) - status_generalis: string; - - @Column({ nullable: true, type: "text" }) - status_neurologis: string; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} - diff --git a/src/entity/emr/emr_prescription.ts b/src/entity/emr/emr_prescription.ts deleted file mode 100644 index f194f9f..0000000 --- a/src/entity/emr/emr_prescription.ts +++ /dev/null @@ -1,90 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - OneToMany, - JoinColumn, - OneToOne, -} from "typeorm"; - -import { EmrPatient } from "./emr_patient"; -import { Room } from "../room"; -import { User } from "../users"; -import { EmrRegistration } from "./emr_registration"; -import { EmrPharmacyOrder } from "./emr_pharmacy_order"; -import { UsageTime } from "../pharmacy/usage_time"; -import { UsageInstructions } from "../pharmacy/usage_instructions"; -import { ItemMaster } from "../pharmacy/item_master"; -import { RoomStock } from "../pharmacy-logistic/room_stock"; - -@Entity("emr_prescription", { schema: "emr" }) -export class EmrPrescription { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => EmrRegistration, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn({ name: "registration_id" }) - registration: EmrRegistration | null; - - @ManyToOne(() => EmrPatient, { onDelete: "NO ACTION" }) - @JoinColumn({ name: "patient_id" }) - patient: EmrPatient; - - @ManyToOne(() => ItemMaster, { onDelete: "NO ACTION" }) - @JoinColumn({ name: "item_master_id" }) - item_master: ItemMaster; - - @Column({ type: "int", nullable: false, default: 1 }) - qty: number; - - @ManyToOne(() => UsageInstructions, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn({ name: "usage_instruction_id" }) - usage_instruction: UsageInstructions | null; - - @ManyToOne(() => UsageTime, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn({ name: "usage_time_id" }) - usage_time: UsageTime | null; - - @ManyToOne(() => EmrPharmacyOrder, { onDelete: "CASCADE", nullable: true }) - @JoinColumn({ name: "pharmacy_order_id" }) - pharmacy_order: EmrPharmacyOrder | null; - - @ManyToOne(() => RoomStock, { onDelete: "NO ACTION" }) - @JoinColumn({ name: "room_stock_id" }) - room_stock: RoomStock; - - @Column({ type: "decimal", precision: 10, scale: 2, nullable: true }) - unit_price?: number | null; - - @Column({ type: "decimal", precision: 10, scale: 2, nullable: true }) - total_price?: number | null; - - @Column({ nullable: true, type: "text" }) - note: string | null; - - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} \ No newline at end of file diff --git a/src/entity/emr/emr_radiology.ts b/src/entity/emr/emr_radiology.ts deleted file mode 100644 index 0cee6c7..0000000 --- a/src/entity/emr/emr_radiology.ts +++ /dev/null @@ -1,101 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - OneToOne, - JoinColumn, - OneToMany, - Index -} from "typeorm"; -import { RadiologyOrderStatus } from "../../types/radiology_order_status"; -import { EmrPatient } from "./emr_patient"; -import { User } from "../users"; -import { RadiologyServices } from "./emr_radiology_services"; -import { Room } from "../room"; -import { EmrRegistration } from "./emr_registration"; - -@Entity("emr_radiology", { schema: "emr" }) -@Index(["order_number"], { unique: true }) -export class Radiology { - @PrimaryGeneratedColumn("uuid") - id: string; - - @OneToMany(() => RadiologyServices, (rs) => rs.id_radiology) - radiology_services: RadiologyServices[]; - - @ManyToOne(() => EmrPatient, { onDelete: "CASCADE" }) - @JoinColumn() - id_patient: EmrPatient; - - @ManyToOne(() => User, { onDelete: "CASCADE" }) - @JoinColumn() - id_doctor: User; - - @ManyToOne(() => Room, { onDelete: "CASCADE" }) - @JoinColumn() - id_room: Room; - - @ManyToOne(() => Room, { onDelete: "CASCADE" }) - @JoinColumn() - refferingroom: Room; - - // Di entity Radiology, tambahkan: - @ManyToOne(() => EmrRegistration, { onDelete: "CASCADE" }) - @JoinColumn() - id_registration: EmrRegistration; - - @Column({ - type: "enum", - enum: RadiologyOrderStatus, - nullable: false, - default: RadiologyOrderStatus.WAITING, - }) - status: RadiologyOrderStatus; - - @Column({ nullable: true, length: 128 }) - queue_number?: string; - - @Column({ nullable: true }) - queued_at?: Date; - - @Column({ type: "date", nullable: true }) - schedule_date: Date; - - @Column({ nullable: true, type: "text" }) - order_number: string; - - @Column({ nullable: true, type: "text" }) - patient_name: string; - - @Column({ nullable: true, type: "date" }) - patient_birth_date: Date; - - @Column({ nullable: true, type: "varchar" }) - patient_gender: string; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} - diff --git a/src/entity/emr/emr_radiology_services.ts b/src/entity/emr/emr_radiology_services.ts deleted file mode 100644 index e3e5a2a..0000000 --- a/src/entity/emr/emr_radiology_services.ts +++ /dev/null @@ -1,62 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - OneToOne, - JoinColumn, -} from "typeorm"; -import { Radiology } from "./emr_radiology"; -import { Service } from "../service"; - -@Entity("emr_radiology_services", { schema: "emr" }) -export class RadiologyServices { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => Radiology, (radiology) => radiology.radiology_services, { onDelete: "CASCADE" }) - @JoinColumn() - id_radiology: Radiology; - - @ManyToOne(() => Service, { onDelete: "CASCADE" }) - @JoinColumn() - id_service: Service; - - @Column({ nullable: true, type: "text" }) - notes: string; - - @Column({ nullable: true, type: "text" }) - result: string; - - @Column({nullable: true, type: "text"}) - diagnostic_findings: string; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; - - @Column() - @CreateDateColumn() - procedure_time: Date; -} - diff --git a/src/entity/emr/emr_registration.ts b/src/entity/emr/emr_registration.ts deleted file mode 100644 index c6708f9..0000000 --- a/src/entity/emr/emr_registration.ts +++ /dev/null @@ -1,109 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, ManyToOne, JoinColumn, OneToOne, ManyToMany } from "typeorm"; - -import { RegistrationType } from "../../types/registration_type"; -import { RegistrationStatus } from "../../types/registration_status"; -import { EmrPatient } from "./emr_patient"; -import { PatientGuarantor } from "../patient_guarantor"; -import { EmrRegistrationOutpatient } from "./emr_registration_outpatient"; -import { EmrRegistrationEmergency } from "./emr_registration_emergency"; -import { EmrRegistrationEmergencyResponsible } from "./emr_registration_emergency_responsible"; -import { RefferalHospital } from "../refferal_hospital"; -import { EmrDiagnosis } from "./emr_diagnosis"; -import { OneToMany } from "typeorm"; -import { EmrRegistrationTreatment } from "./emr_registration_treatment"; - -/** - * Registrasi base: data umum untuk semua tipe (rawat jalan, rawat inap, emergency, hemodialysis). - * Detail per tipe ada di tabel terpisah (1:1) agar form dan validasi bisa beda-beda. - * Relasi ke detail: query dari tabel emr_outpatient_registrations dll where registration_id = id. - */ -@Entity("emr_registrations", { schema: "emr" }) -export class EmrRegistration { - @PrimaryGeneratedColumn("uuid") - id: string; - - @OneToOne(() => EmrRegistrationEmergencyResponsible, (emergency) => emergency.emrregistration) - emergency_responsible: EmrRegistrationEmergencyResponsible; - - @OneToOne(() => EmrRegistrationOutpatient, (out) => out.registration) - outpatient: EmrRegistrationOutpatient; - - @OneToOne(() => EmrRegistrationEmergency, (emergency) => emergency.registration) - emergency: EmrRegistrationEmergency; - - @OneToOne(() => EmrRegistrationTreatment, (treatment) => treatment.registration) - treatment: EmrRegistrationTreatment; - - @ManyToOne(() => EmrPatient, { onDelete: "NO ACTION" }) - @JoinColumn() - patient: EmrPatient; - - @Column({ nullable: true, type: "text" }) - cancellation_reason: string; - - @ManyToOne(() => PatientGuarantor, { onDelete: "NO ACTION" }) - @JoinColumn() - guarantor: PatientGuarantor; - - @Column({ - type: "varchar", - length: 32, - nullable: false, - }) - registration_type: RegistrationType; - - @Column({ type: "date", nullable: false }) - registration_date: Date; - - @Column({ type: "text", nullable: true }) - reason_notes: string; - - @Column({ nullable: false, length: 32 }) - status: RegistrationStatus; - - @Column({ type: "date", nullable: true }) - visit_date: Date; - - @Column({ nullable: true, type: "text" }) - fullname: string; - - @Column({ nullable: true, type: "date" }) - birthdate: Date; - - @Column({ nullable: true, type: "text" }) - idcard: string; - - @ManyToOne(() => RefferalHospital, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn({ name: "referral_hospital_id" }) - referral_hospital: RefferalHospital; - - @Column({ nullable: false, type: "boolean", default: false }) - is_referral_emergency: boolean; - - @Column({ nullable: true, type: "text" }) - patient_category: string; - - @Column({ nullable: true, type: "text" }) - referral_letter_photo: string; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/emr/emr_registration_emergency.ts b/src/entity/emr/emr_registration_emergency.ts deleted file mode 100644 index e5793fe..0000000 --- a/src/entity/emr/emr_registration_emergency.ts +++ /dev/null @@ -1,194 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - OneToOne, - JoinColumn, - ManyToOne, -} from "typeorm"; - -import { EmrRegistration } from "./emr_registration"; -import { User } from "../users"; -import { DischargeStatusEmergency } from "./emr_discharge_status_emergency"; -import { Room } from "../room"; -import { MainDisease } from "../main_disease"; - -@Entity("emr_registration_emergency", { schema: "emr" }) -export class EmrRegistrationEmergency { - @PrimaryGeneratedColumn("uuid") - id: string; - - @OneToOne(() => EmrRegistration, (registration) => registration.emergency, { onDelete: "CASCADE" }) - @JoinColumn() - registration: EmrRegistration; - - @ManyToOne(() => DischargeStatusEmergency, { onDelete: "CASCADE" }) - @JoinColumn() - discharge_status: DischargeStatusEmergency; - - @ManyToOne(() => Room, { onDelete: "CASCADE" }) - @JoinColumn() - room: Room; - - @ManyToOne(() => User, { onDelete: "CASCADE" }) - @JoinColumn() - user: User; - - @Column({ nullable: true, type: "text" }) - trauma: string; - - @Column({ nullable: true, type: "text" }) - registration_number: string; - - @Column({ nullable: true, type: "text" }) - fullname: string; - - @Column({ nullable: true, type: "text" }) - nik: string; - - @Column({ type: "date", nullable: true }) - birthdate: Date; - - @Column({ nullable: true, type: "text" }) - additionalcomplaint: string; - - @Column({ nullable: true, type: "text" }) - medicalhistory: string; - - @Column({ nullable: true, type: "text" }) - bloodpressure: string; - - @Column({ nullable: true, type: "text" }) - heartrate: string; - - @Column({ nullable: true, type: "text" }) - respiratoryrate: string; - - @Column({ nullable: true, type: "text" }) - spo2: string; - - @Column({ nullable: true, type: "text" }) - temperature: string; - - @Column({ nullable: true, type: "text" }) - height: string; - - @Column({ nullable: true, type: "text" }) - weight: string; - - @Column({ nullable: true, type: "text" }) - howtocome: string; - - @Column({ - type: 'text', - nullable: true, - array: true, - }) - consciousness: string[]; - - @Column({ - type: 'text', - nullable: true, - array: true, - }) - airway: string[]; - - @Column({ - type: 'text', - nullable: true, - array: true, - }) - breathing: string[]; - - @Column({ - type: 'text', - nullable: true, - array: true, - }) - circulation: string[]; - - @Column({ nullable: true, type: "text" }) - resuscitation: string; - - @Column({ nullable: true, type: "text" }) - observation: string; - - @Column({ nullable: true, type: "text" }) - polycliniccontrol: string; - - @Column({ nullable: true, type: "text" }) - gohome: string; - - @Column({ nullable: true, type: "text" }) - other: string; - - @Column({ type: "timestamp", nullable: true }) - changeshift: Date; - - @Column({ nullable: true, type: "text" }) - triage_level: string; - - @Column({ type: "boolean", default: true }) - falseemergency: boolean; - - @Column({ nullable: true, type: "text" }) - status: string; - - @Column({ nullable: true, type: "text" }) - color: string | null; - - @Column({ type: "timestamp", nullable: true }) - arrival_time: Date; - - @Column({ type: "text", nullable: true }) - chief_complaint: string; - - @Column({ type: "timestamp", nullable: true }) - accident_datetime: Date; - - @Column({ type: "text", nullable: true }) - police_case_note: string; - - @Column({ type: "text", nullable: true }) - police_case_classification: string; - - @Column({ type: "jsonb", nullable: true }) - initial_diagnosis: any[]; - - @ManyToOne(() => MainDisease, { onDelete: "CASCADE" }) - @JoinColumn() - main_disease: MainDisease; - - @Column({ type: "text", nullable: true }) - main_disease_note: string; - - @Column({ nullable: true, type: "text" }) - condition: string; - - @Column({ nullable: true, type: "text" }) - category: string; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/emr/emr_registration_emergency_responsible.ts b/src/entity/emr/emr_registration_emergency_responsible.ts deleted file mode 100644 index c8666e7..0000000 --- a/src/entity/emr/emr_registration_emergency_responsible.ts +++ /dev/null @@ -1,127 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - OneToOne, - JoinColumn, - OneToMany, - ManyToMany, - ManyToOne, -} from "typeorm"; - -import { Room } from "../room"; -import { PatientGuarantor } from "../patient_guarantor"; -import { Province } from "../province"; -import { City } from "../city"; -import { Subdistrict } from "../subdistrict"; -import { Ward } from "../ward"; -import { EmrRegistration } from "./emr_registration"; -import { Administrativu } from "../administrativu"; -import { Suco } from "../suco"; -import { Aldeia } from "../aldeia"; -import { Munisipo } from "../munisipo"; - -@Entity("emr_registration_emergency_responsible", { schema: "emr" }) -export class EmrRegistrationEmergencyResponsible { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => EmrRegistration, { onDelete: "CASCADE" }) - @JoinColumn() - emrregistration: EmrRegistration; - - @ManyToOne(() => Room, { onDelete: "CASCADE" }) - @JoinColumn() - room: Room; - - @ManyToOne(() => PatientGuarantor, { onDelete: "CASCADE" }) - @JoinColumn() - guarantor: PatientGuarantor; - - @ManyToOne(() => Administrativu, { onDelete: "CASCADE" }) - @JoinColumn() - administrativu: Administrativu; - - @ManyToOne(() => Suco, { onDelete: "CASCADE" }) - @JoinColumn() - suco: Suco; - - @ManyToOne(() => Aldeia, { onDelete: "CASCADE" }) - @JoinColumn() - aldeia: Aldeia; - - @ManyToOne(() => Munisipo, { onDelete: "CASCADE" }) - @JoinColumn() - munisipo: Munisipo; - - @ManyToOne(() => Province, { onDelete: "CASCADE" }) - @JoinColumn({ referencedColumnName: "code" }) - province: Province; - - @ManyToOne(() => City, { onDelete: "CASCADE" }) - @JoinColumn({ referencedColumnName: "code" }) - city: City; - - @ManyToOne(() => Subdistrict, { onDelete: "CASCADE" }) - @JoinColumn({ referencedColumnName: "code" }) - subdistrict: Subdistrict; - - @ManyToOne(() => Ward, { onDelete: "CASCADE" }) - @JoinColumn({ referencedColumnName: "code" }) - ward: Ward; - - @Column({ nullable: true, type: "text" }) - patientfullname: string; - - @Column({ nullable: true, type: "text" }) - patientnik: string; - - @Column({ type: "date", nullable: true }) - patientbirthdate: Date; - - /** Tingkat keparahan / triage (e.g. merah, kuning, hijau) */ - @Column({ nullable: true, type: "text" }) - fullname: string; - - @Column({ nullable: true, type: "text" }) - relation: string; - - @Column({ nullable: true, type: "text" }) - idnumber: string; - - @Column({ nullable: true, type: "text" }) - phone: string; - - @Column({ nullable: true, type: "text" }) - address: string; - - @Column({ nullable: true, type: "boolean", default: false }) - consent: boolean; - - @Column({ nullable: true, type: "text" }) - consent_file: string; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/emr/emr_registration_hemodialysis.ts b/src/entity/emr/emr_registration_hemodialysis.ts deleted file mode 100644 index cca9bb3..0000000 --- a/src/entity/emr/emr_registration_hemodialysis.ts +++ /dev/null @@ -1,59 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - OneToOne, - JoinColumn, -} from "typeorm"; - -import { EmrRegistration } from "./emr_registration"; - -/** - * Detail registrasi hemodialysis. - * Form spesifik: jadwal sesi, mesin, akses vaskular, dll. - */ -@Entity("emr_registration_hemodialysis", { schema: "emr" }) -export class EmrRegistrationHemodialysis { - @PrimaryGeneratedColumn("uuid") - id: string; - - @OneToOne(() => EmrRegistration, { onDelete: "CASCADE" }) - @JoinColumn() - registration: EmrRegistration; - - @Column({ nullable: true, length: 64 }) - session_schedule: string; - - @Column({ nullable: true, length: 64 }) - machine_id: string; - - @Column({ type: "date", nullable: true }) - session_date: Date; - - @Column({ type: "text", nullable: true }) - vascular_access_notes: string; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/emr/emr_registration_inpatient.ts b/src/entity/emr/emr_registration_inpatient.ts deleted file mode 100644 index dd82803..0000000 --- a/src/entity/emr/emr_registration_inpatient.ts +++ /dev/null @@ -1,103 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, ManyToOne, OneToOne, JoinColumn } from "typeorm"; - -import { EmrRegistration } from "./emr_registration"; -import { Room } from "../room"; -import { InpatientRoom } from "../inpatient_rooms"; -import { EmrPatient } from "./emr_patient"; -import { InpatientRoomBed } from "../inpatient_room_beds"; -import { Munisipo } from "../munisipo"; -import { Administrativu } from "../administrativu"; -import { Suco } from "../suco"; -import { Aldeia } from "../aldeia"; - -@Entity("emr_registration_inpatient", { schema: "emr" }) -export class EmrRegistrationInpatient { - @PrimaryGeneratedColumn("uuid") - id: string; - - @OneToOne(() => EmrRegistration, { onDelete: "CASCADE", nullable: true }) - @JoinColumn() - registration: EmrRegistration; - - @ManyToOne(() => InpatientRoom, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - inpatient_room: InpatientRoom; - - @ManyToOne(() => InpatientRoomBed, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - inpatient_room_bed: InpatientRoomBed | null; - - @ManyToOne(() => EmrPatient, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - patient: EmrPatient; - - @Column({ nullable: true }) - registration_number: string; - - @Column({ nullable: true, length: 32 }) - bed_number: string; - - @Column({ type: "date", nullable: true }) - admission_date: Date; - - @Column({ type: "text", nullable: true }) - admission_notes: string; - - @Column({ type: "text", nullable: true }) - administrative_officer_signature: string; - - @Column({ nullable: true, type: "text" }) - responsible_fullname: string; - - @Column({ nullable: true, type: "text" }) - responsible_relation: string; - - @Column({ nullable: true, type: "text" }) - responsible_idnumber: string; - - @Column({ nullable: true, type: "text" }) - responsible_phone: string; - - @Column({ nullable: true, type: "text" }) - responsible_address: string; - - @Column({ nullable: true, type: "text" }) - responsible_signature: string; - - @ManyToOne(() => Munisipo, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - responsible_munisipo: Munisipo | null; - - @ManyToOne(() => Administrativu, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - responsible_administrativu: Administrativu | null; - - @ManyToOne(() => Suco, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - responsible_suco: Suco | null; - - @ManyToOne(() => Aldeia, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - responsible_aldeia: Aldeia | null; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/emr/emr_registration_outpatient.ts b/src/entity/emr/emr_registration_outpatient.ts deleted file mode 100644 index b955f78..0000000 --- a/src/entity/emr/emr_registration_outpatient.ts +++ /dev/null @@ -1,112 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - OneToOne, - JoinColumn, - OneToMany, -} from "typeorm"; - -import { EmrRegistration } from "./emr_registration"; -import { Room } from "../room"; -import { User } from "../users"; -import { DoctorSchedule } from "../doctor_schedule"; -import { EmrInternalConsultation } from "./emr_internal_consultation"; -import { ScheduleSeries } from "../schedule_series"; -import { PatientGuarantor } from "../patient_guarantor"; -// import { RegistrationOutPatientStatus } from "../../enum/registrationOutPatientStatus"; - -/** - * Detail registrasi rawat jalan (outpatient). - * Form: patient, registration date, reason/notes, department, doctor, practice hour, visit date. - * "Choose from schedule" → isi doctor_schedule_id. - */ -@Entity("emr_registration_outpatient", { schema: "emr" }) -export class EmrRegistrationOutpatient { - @PrimaryGeneratedColumn("uuid") - id: string; - - @OneToOne(() => EmrRegistration, { onDelete: "CASCADE" }) - @JoinColumn() - registration: EmrRegistration; - - @ManyToOne(() => PatientGuarantor, { onDelete: "NO ACTION" }) - @JoinColumn() - guarantor: PatientGuarantor; - - @Column({ nullable: true, length: 64 }) - room_number: string; - - @ManyToOne(() => Room, { onDelete: "NO ACTION" }) - @JoinColumn() - room: Room; - - @ManyToOne(() => User, { onDelete: "NO ACTION" }) - @JoinColumn() - doctor: User; - - @ManyToOne(() => DoctorSchedule, { onDelete: "SET NULL", nullable: true }) - @JoinColumn() - doctor_schedule: DoctorSchedule | null; - - @ManyToOne(() => ScheduleSeries, { onDelete: "SET NULL", nullable: true }) - @JoinColumn({ name: "schedule_series_id" }) - schedule_series: ScheduleSeries | null; - - @Column({ nullable: true, length: 64 }) - practice_hour: string; - - @Column({ type: "date", nullable: true }) - visit_date: Date; - - @Column({ nullable: true, length: 64 }) - registration_status: string; - - @Column({ nullable: true, length: 256 }) - qeue_number: string; - - @Column({ nullable: true, length: 256 }) - room_status: string; - - @Column({ nullable: true, length: 256 }) - registration_number: string; - - @ManyToOne(() => EmrInternalConsultation, { onDelete: "SET NULL", nullable: true }) - @JoinColumn() - ref_consultation: EmrInternalConsultation | null; - - @ManyToOne(() => EmrRegistration, { onDelete: "SET NULL", nullable: true }) - @JoinColumn({ name: "ref_appointment_id" }) - ref_appointment: EmrRegistration; - - @Column({ nullable: true }) - queued_at?: Date; - - @Column({ nullable: false, type: 'boolean', default: false }) - is_mrn_label_printed?: boolean; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/emr/emr_registration_treatment.ts b/src/entity/emr/emr_registration_treatment.ts deleted file mode 100644 index 2e4afbb..0000000 --- a/src/entity/emr/emr_registration_treatment.ts +++ /dev/null @@ -1,69 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - OneToOne, - JoinColumn, -} from "typeorm"; - -import { EmrRegistration } from "./emr_registration"; -import { Room } from "../room"; -import { User } from "../users"; -import { TreatmentPlanSession } from "../treatment/treatment_plan_session"; -import { EmrPatient } from "./emr_patient"; - -@Entity("emr_registration_treatment", { schema: "emr" }) -export class EmrRegistrationTreatment { - @PrimaryGeneratedColumn("uuid") - id: string; - - @OneToOne(() => EmrRegistration, (reg) => reg.treatment, { onDelete: "CASCADE" }) - @JoinColumn() - registration: EmrRegistration; - - @ManyToOne(() => TreatmentPlanSession, { onDelete: "SET NULL", nullable: true }) - @JoinColumn() - treatment_plan_session: TreatmentPlanSession; - - @ManyToOne(() => Room, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - room: Room; - - @ManyToOne(() => User, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - doctor: User; - - @Column({ nullable: true, length: 64 }) - registration_status: string; - - @Column({ nullable: true, length: 256 }) - registration_number: string; - - @Column({ type: "date", nullable: true }) - visit_date: Date; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/emr/emr_room_medical_equipment.ts b/src/entity/emr/emr_room_medical_equipment.ts deleted file mode 100644 index e820255..0000000 --- a/src/entity/emr/emr_room_medical_equipment.ts +++ /dev/null @@ -1,61 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - JoinColumn, - OneToOne, - ManyToOne, -} from "typeorm"; - -import { RoomStock } from "../pharmacy-logistic/room_stock"; -import { EmrRegistration } from "./emr_registration"; -import { EmrPatient } from "./emr_patient"; - -@Entity("emr_room_medical_equipment", { schema: "emr" }) -export class EmrRoomMedicalEquipment { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => EmrRegistration, { onDelete: "CASCADE" }) - @JoinColumn() - registration: EmrRegistration; - - @ManyToOne(() => EmrPatient, { onDelete: "CASCADE" }) - @JoinColumn() - patient: EmrPatient; - - @ManyToOne(() => RoomStock, { onDelete: "CASCADE" }) - @JoinColumn() - roomstock: RoomStock; - - @Column({ - type: "int", - nullable: false - }) - qty: number; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} - diff --git a/src/entity/emr/emr_soap_notes.ts b/src/entity/emr/emr_soap_notes.ts deleted file mode 100644 index fd92bac..0000000 --- a/src/entity/emr/emr_soap_notes.ts +++ /dev/null @@ -1,69 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - JoinColumn, -} from "typeorm"; - -import { EmrPatient } from "./emr_patient"; -import { EmrRegistration } from "./emr_registration"; -import { User } from "../users"; - -@Entity("emr_soap_notes") -export class EmrSoapNotes { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => EmrRegistration, { onDelete: "CASCADE" }) - @JoinColumn() - registration: EmrRegistration; - - @ManyToOne(() => EmrPatient, { onDelete: "CASCADE" }) - @JoinColumn() - patient: EmrPatient; - - @ManyToOne(() => User, { onDelete: "SET NULL", nullable: true }) - @JoinColumn() - doctor: User | null; - - @Column({ nullable: true, type: "timestamp" }) - input_date: Date | null; - - @Column({ nullable: true, type: "text" }) - subjective: string | null; - - @Column({ nullable: true, type: "text" }) - objective: string | null; - - @Column({ nullable: true, type: "text" }) - assessment: string | null; - - @Column({ nullable: true, type: "text" }) - plan: string | null; - - @Column({ nullable: false, type: "boolean", default: false }) - tbak: boolean; - - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @UpdateDateColumn({ nullable: true }) - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} - diff --git a/src/entity/emr/emr_surgery_schedules.ts b/src/entity/emr/emr_surgery_schedules.ts deleted file mode 100644 index 5504026..0000000 --- a/src/entity/emr/emr_surgery_schedules.ts +++ /dev/null @@ -1,115 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - JoinColumn, -} from "typeorm"; -import { SurgeryRoom } from "../surgery_room"; -import { SurgeryType } from "../surgery_type"; -import { Room } from "../room"; -import { EmrPatient } from "./emr_patient"; -import { EmrBoardingRoom } from "./emr_boarding_rooms"; -import { EmrRegistrationOutpatient } from "./emr_registration_outpatient"; - -@Entity("emr_surgery_schedules", { schema: "emr" }) -export class EmrSurgerySchedule { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => Room, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - room: Room | null; - - @ManyToOne(() => SurgeryRoom, { onDelete: "NO ACTION" }) - @JoinColumn() - surgery_room: SurgeryRoom; - - @ManyToOne(() => SurgeryType, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - surgery_type: SurgeryType | null; - - @Column({ type: "date", nullable: false }) - schedule_date: Date; - - @Column({ nullable: true, length: 256 }) - patient_name: string; - - @ManyToOne(() => EmrPatient, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - patient: EmrPatient | null; - - @Column({ nullable: true, length: 128 }) - patient_registration_no: string; - - @Column({ nullable: true, length: 512 }) - input_source: string; - - @Column({ nullable: true, length: 512 }) - inpatient_room_label: string; - - @ManyToOne(() => EmrBoardingRoom, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - boarding_room: EmrBoardingRoom | null; - - @Column({ nullable: true, type: "text" }) - diagnosis: string; - - @Column({ nullable: true, length: 256 }) - surgeon_name: string; - - @Column({ nullable: true, length: 256 }) - anesthesiologist_name: string; - - @Column({ nullable: true, length: 512 }) - procedure_name: string; - - @Column({ nullable: true, type: "text" }) - equipment: string; - - @Column({ nullable: true, type: "time" }) - schedule_time: string; - - @Column({ nullable: true, type: "time" }) - schedule_end_time: string; - - @Column({ nullable: false, length: 32, default: "scheduled" }) - status: string; - - @Column({ nullable: true, length: 32 }) - surgery_priority: string; - - @Column({ nullable: true, length: 32 }) - phone: string; - - @Column({ nullable: true, type: "text" }) - alkses_bhp: string; - - @Column({ nullable: true, type: "text" }) - notes: string; - - @ManyToOne(() => EmrRegistrationOutpatient, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - registration_outpatient: EmrRegistrationOutpatient | null; - - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @UpdateDateColumn({ nullable: true }) - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/emr/emr_vital_signs.ts b/src/entity/emr/emr_vital_signs.ts deleted file mode 100644 index 163a5ca..0000000 --- a/src/entity/emr/emr_vital_signs.ts +++ /dev/null @@ -1,184 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - JoinColumn, - OneToOne, - ManyToOne, -} from "typeorm"; - -import { consciousness } from "../../enum/consciousness"; -import { EmrRegistration } from "./emr_registration"; -import { EmrPatient } from "./emr_patient"; - -@Entity("emr_vital_signs", { schema: "emr" }) -export class EmrVitalSigns { - @PrimaryGeneratedColumn("uuid") - id: string; - - @OneToOne(() => EmrRegistration, { onDelete: "CASCADE" }) - @JoinColumn() - registration: EmrRegistration; - - @ManyToOne(() => EmrPatient, { onDelete: "CASCADE" }) - @JoinColumn() - patient: EmrPatient; - - @Column({ nullable: true, length: 64 }) - blood_pressure: string; - - @Column({ nullable: true, length: 64 }) - heart_rate: string; - - @Column({ nullable: true, length: 64 }) - temperature: string; - - @Column({ nullable: true, length: 64 }) - respiratory_rate: string; - - @Column({ nullable: true, length: 64 }) - spo2: string; - - @Column({ nullable: true, length: 64 }) - saturation: string; - - @Column({ - type: "enum", - enum: consciousness, - nullable: true, - }) - consciousness: consciousness; - - @Column({ nullable: true, length: 64 }) - weight: string; - - @Column({ nullable: true, length: 64 }) - height: string; - - @Column({ nullable: true, length: 64 }) - head_circumference: string; - - @Column({ nullable: true, length: 64 }) - bmi: string; - - @Column({ nullable: true, length: 256 }) - assistive_devices: string; - - @Column({ nullable: true, length: 256 }) - prosthesis: string; - - @Column({ nullable: true, length: 256 }) - physical_disability: string; - - @Column({ - nullable: true, - default: false, - }) - is_adl: boolean; - - @Column({ nullable: true, length: 256 }) - adl: string; - - @Column({ nullable: true, length: 256 }) - history_of_falls: string; - - @Column({ nullable: true, length: 256 }) - obstetric_and_gynecologic_status: string; - - @Column({ nullable: true, length: 256 }) - psychological_status: string; - - @Column({ - nullable: true, - default: false, - }) - is_language_barrier: boolean; - - @Column({ nullable: true, length: 256 }) - language_barrier: string; - - @Column({ - nullable: true, - default: false, - }) - is_physical_cognitive_disabilities: boolean; - - @Column({ nullable: true, length: 256 }) - physical_cognitive_disabilities: string; - - @Column({ nullable: true, length: 256 }) - nutritional_status_assessment: string; - - @Column({ nullable: true, type: "text" }) - patient_education: string; - - @Column({ nullable: true, length: 256 }) - health_problems: string; - - @Column({ nullable: true, length: 256 }) - nursing_interventions: string; - - @Column({ nullable: true, length: 10 }) - pain_intensity: string; - - @Column({ nullable: true, length: 10 }) - staggering: string; - - @Column({ nullable: true, length: 10 }) - using_assistive_device: string; - - @Column({ nullable: true, length: 10 }) - holding_on_to_something: string; - - @Column({ nullable: true, length: 256 }) - result: string; - - @Column({ nullable: true, length: 10 }) - risk_of_falling: string; - - @Column({ nullable: true, length: 10 }) - hospitalize: string; - - @Column({ nullable: true, type: "int2" }) - eye: number; - - @Column({ nullable: true, type: "int2" }) - vision: number; - - @Column({ nullable: true, type: "int2" }) - motor: number; - - @Column({ nullable: true, type: "boolean" }) - patient_gait: boolean; - - @Column({ nullable: true, type: "boolean" }) - support_when_sittiong: boolean; - - @Column({ nullable: true, length: 64 }) - onset: string; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} - diff --git a/src/entity/examination_detail.ts b/src/entity/examination_detail.ts deleted file mode 100644 index f6242f4..0000000 --- a/src/entity/examination_detail.ts +++ /dev/null @@ -1,66 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - JoinColumn, - ManyToMany, - JoinTable -} from 'typeorm'; - -import { Status } from '../types/status'; -import { MeasurementUnit } from './measurement_unit'; -import { ReferenceRange } from './reference_range'; - -@Entity('examination_details') -export class ExaminationDetail { - @PrimaryGeneratedColumn('uuid') - id: string; - - @Column({ - type: 'text', - nullable: false, - }) - name: string; - - @Column({ - type: 'text', - nullable: false, - }) - order_no: string; - - @ManyToOne(() => MeasurementUnit, { onDelete: 'NO ACTION', nullable: false }) - @JoinColumn() - measurement_unit: MeasurementUnit; - - @ManyToMany(() => ReferenceRange) - @JoinTable() - reference_range: ReferenceRange[]; - - @Column({ - nullable: false, - length: 64, - }) - status: Status; - - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @UpdateDateColumn({ nullable: true }) - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/examination_type.ts b/src/entity/examination_type.ts deleted file mode 100644 index e3ceeb7..0000000 --- a/src/entity/examination_type.ts +++ /dev/null @@ -1,52 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToMany, - OneToMany, -} from 'typeorm'; - -import { Status } from '../types/status'; -import { Service } from './service'; - -@Entity('examination_types') -export class ExaminationType { - @PrimaryGeneratedColumn('uuid') - id: string; - - @Column({ - type: 'text', - nullable: false, - }) - name: string; - - @Column({ - nullable: false, - length: 64, - }) - status: Status; - - @OneToMany(() => Service, (service) => service.examination_type) - services: Service[]; - - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @UpdateDateColumn({ nullable: true }) - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/faretype.ts b/src/entity/faretype.ts deleted file mode 100644 index 154ddf8..0000000 --- a/src/entity/faretype.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, -} from 'typeorm'; - -@Entity('fare_type') -export class FareType { - @PrimaryGeneratedColumn('uuid') - id: string; - - @Column({ - type: 'text', - nullable: false, - }) - name: string; - - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @UpdateDateColumn({ nullable: true }) - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/foster_care_history.ts b/src/entity/foster_care_history.ts deleted file mode 100644 index fc5f017..0000000 --- a/src/entity/foster_care_history.ts +++ /dev/null @@ -1,161 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn } from "typeorm"; - -import { Status } from "../types/status"; - -interface ResultsCriteria { - group: number; - name: string; -} - -interface Causes { - group: string; - name: string; -} - -interface RelatedClinicalCondition { - name: string; -} - - -@Entity("foster_care_history") -export class FosterCareHistory { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ - nullable: true, - length: 256, - }) - diagnosis: string; - - @Column({ - nullable: true, - length: 128, - }) - code: string; - - @Column({ - nullable: true, - length: 64, - }) - status: Status; - - @Column({ - nullable: true, - length: 128, - }) - category: string; - - @Column({ - nullable: true, - length: 128, - }) - subcategory: string; - - @Column({ - nullable: true, - length: 128, - }) - definition: string; - - @Column({ - nullable: true, - length: 128, - }) - objective: string; - - @Column({ - nullable: true, - type: 'jsonb', - default: [], - }) - result_criteria: ResultsCriteria[]; - - @Column({ - nullable: true, - type: 'jsonb', - default: [], - }) - causes: Causes[]; - - @Column({ - nullable: true, - type: 'jsonb', - default: [], - }) - related_clinical_condition: RelatedClinicalCondition[]; - - @Column({ - nullable: true, - type: 'jsonb', - default: [], - }) - subjective_major: Causes[]; - - @Column({ - nullable: true, - type: 'jsonb', - default: [], - }) - objectitve_major: Causes[]; - - @Column({ - nullable: true, - type: 'jsonb', - default: [], - }) - subjective_minor: Causes[]; - - @Column({ - nullable: true, - type: 'jsonb', - default: [], - }) - objective_minor: Causes[]; - - @Column({ - nullable: true, - type: 'jsonb', - default: [], - }) - observation: RelatedClinicalCondition[]; - - @Column({ - nullable: true, - type: 'jsonb', - default: [], - }) - therapeutic: RelatedClinicalCondition[]; - - @Column({ - nullable: true, - type: 'jsonb', - default: [], - }) - education: RelatedClinicalCondition[]; - - @Column({ - nullable: true, - type: 'jsonb', - default: [], - }) - colaboration: RelatedClinicalCondition[]; - - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @UpdateDateColumn({ nullable: true }) - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/hospital_information.ts b/src/entity/hospital_information.ts deleted file mode 100644 index 871a6b7..0000000 --- a/src/entity/hospital_information.ts +++ /dev/null @@ -1,112 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - JoinColumn -} from 'typeorm'; - -import { Province } from './province'; -import { City } from './city'; -import { Subdistrict } from './subdistrict'; -import { Ward } from './ward'; - -import { Administrativu } from './administrativu'; -import { Suco } from './suco'; -import { Aldeia } from './aldeia'; -import { Munisipo } from './munisipo'; - -@Entity('hospital_information') -export class HospitalInformation { - @PrimaryGeneratedColumn('uuid') - id: string; - - @Column({ - type: 'text', - nullable: false, - }) - name: string; - - @Column({ - type: 'text', - nullable: true, - }) - code: string; - - @Column({ - type: 'text', - nullable: true, - }) - facility_id: string; - - @Column({ - type: 'text', - nullable: false, - }) - address: string; - - @Column({ - type: 'text', - nullable: false, - }) - phone: string; - - @Column({ - type: 'text', - nullable: false, - }) - logo: string; - - @ManyToOne(() => Province, { onDelete: "NO ACTION" }) - @JoinColumn({ referencedColumnName: "code" }) - province: Province; - - @ManyToOne(() => City, { onDelete: "NO ACTION" }) - @JoinColumn({ referencedColumnName: "code" }) - city: City; - - @ManyToOne(() => Subdistrict, { onDelete: "NO ACTION" }) - @JoinColumn({ referencedColumnName: "code" }) - subdistrict: Subdistrict; - - @ManyToOne(() => Ward, { onDelete: "NO ACTION" }) - @JoinColumn({ referencedColumnName: "code" }) - ward: Ward; - - @ManyToOne(() => Administrativu, { onDelete: "NO ACTION" }) - @JoinColumn() - administrativu: Administrativu; - - @ManyToOne(() => Munisipo, { onDelete: "NO ACTION" }) - @JoinColumn() - munisipo: Munisipo; - - @ManyToOne(() => Suco, { onDelete: "NO ACTION" }) - @JoinColumn() - suco: Suco; - - @ManyToOne(() => Aldeia, { onDelete: "NO ACTION" }) - @JoinColumn() - aldeia: Aldeia; - - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @UpdateDateColumn({ nullable: true }) - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/hrms/hrms_attendance.ts b/src/entity/hrms/hrms_attendance.ts deleted file mode 100644 index ec7942e..0000000 --- a/src/entity/hrms/hrms_attendance.ts +++ /dev/null @@ -1,138 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, ManyToOne, JoinColumn } from "typeorm"; -import { Status } from "../../types/status"; -import { HrmsEmployee } from "./hrms_employee"; -import { AttendanceType } from "../../types/hrms"; -import { HrmsShift } from "./hrms_shift"; - -@Entity("hrms_attendances", { schema: "hrms" }) -export class HrmsAttendance { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => HrmsEmployee, { onDelete: "NO ACTION", nullable: false }) - @JoinColumn() - employee: HrmsEmployee; - - @Column({ - nullable: false, - length: 64, - }) - type: AttendanceType; - - @Column({ - nullable: false, - }) - date_at: Date; - - /** Nullable when record created from break punch only (no clock in) */ - @Column({ - nullable: true, - }) - in_at: Date; - - @Column({ - nullable: true, - }) - break_out_at: Date; - - @Column({ - nullable: true, - }) - break_in_at: Date; - - @Column({ - nullable: true, - }) - out_at: Date; - - @Column({ - nullable: true, - type: "float8", - }) - duration_work: number; - - @Column({ - nullable: true, - type: "float8", - }) - duration_break: number; - - @Column({ - nullable: true, - type: "float8", - }) - duration_total: number; - - @Column({ - nullable: true, - default: false, - }) - is_late: boolean; - - /** Snapshot: batas awal clock in shift saat absen (agar tidak berubah jika shift diubah nanti) */ - @Column({ - type: "time", - nullable: true, - }) - shift_in_start_time: string; - - /** Snapshot: batas akhir clock in shift saat absen (agar tidak berubah jika shift diubah nanti) */ - @Column({ - type: "time", - nullable: true, - }) - shift_in_end_time: string; - - /** Snapshot: batas break out shift saat absen */ - @Column({ - type: "time", - nullable: true, - }) - shift_break_out_start_time: string; - - @Column({ - type: "time", - nullable: true, - }) - shift_break_out_end_time: string; - - /** Snapshot: batas break in shift saat absen */ - @Column({ - type: "time", - nullable: true, - }) - shift_break_in_start_time: string; - - @Column({ - type: "time", - nullable: true, - }) - shift_break_in_end_time: string; - - @Column({ - nullable: false, - length: 64, - }) - status: Status; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/hrms/hrms_attendance_request.ts b/src/entity/hrms/hrms_attendance_request.ts deleted file mode 100644 index e303259..0000000 --- a/src/entity/hrms/hrms_attendance_request.ts +++ /dev/null @@ -1,76 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - JoinColumn, - OneToMany, -} from "typeorm"; -import { HrmsEmployee } from "./hrms_employee"; -import { HrmsAttendanceRequestApproval } from "./hrms_attendance_request_approval"; - -export type AttendanceRequestStatus = "PENDING" | "APPROVED" | "REJECTED"; - -/** Type of punch being requested: maps to attendance column on approve */ -export type AttendanceRequestType = "in" | "break_out" | "break_in" | "out"; - -@Entity("hrms_attendance_requests", { schema: "hrms" }) -export class HrmsAttendanceRequest { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => HrmsEmployee, { onDelete: "RESTRICT", nullable: false }) - @JoinColumn() - employee: HrmsEmployee; - - /** Type of punch: in → in_at, break_out → break_out_at, break_in → break_in_at, out → out_at */ - @Column({ length: 32, nullable: false }) - type: AttendanceRequestType; - - @Column({ type: "date", nullable: false }) - date_at: Date; - - /** Requested time for this punch (used for the column indicated by type) */ - @Column({ type: "timestamp", nullable: false }) - requested_at: Date; - - /** Employee reason on submit; supervisor can set when rejecting */ - @Column({ type: "text", nullable: true }) - remark: string; - - @Column({ length: 32, nullable: false, default: "PENDING" }) - status: AttendanceRequestStatus; - - @OneToMany(() => HrmsAttendanceRequestApproval, (approval) => approval.attendance_request, { cascade: true }) - approvals: HrmsAttendanceRequestApproval[]; - - @ManyToOne(() => HrmsEmployee, { onDelete: "SET NULL", nullable: true }) - @JoinColumn() - approved_by: HrmsEmployee; - - @Column({ type: "timestamp", nullable: true }) - approved_at: Date; - - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/hrms/hrms_attendance_request_approval.ts b/src/entity/hrms/hrms_attendance_request_approval.ts deleted file mode 100644 index 8595892..0000000 --- a/src/entity/hrms/hrms_attendance_request_approval.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - ManyToOne, - JoinColumn, -} from "typeorm"; -import { HrmsAttendanceRequest } from "./hrms_attendance_request"; -import { HrmsEmployee } from "./hrms_employee"; -import { ApprovalType, ApprovalStatus } from "./hrms_leave_approval"; - -@Entity("hrms_attendance_request_approvals", { schema: "hrms" }) -export class HrmsAttendanceRequestApproval { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => HrmsAttendanceRequest, { onDelete: "CASCADE", nullable: true }) - @JoinColumn() - attendance_request: HrmsAttendanceRequest; - - @Column({ - type: "enum", - enum: ApprovalType, - nullable: false, - }) - approval_type: ApprovalType; - - @ManyToOne(() => HrmsEmployee, { onDelete: "RESTRICT", nullable: true }) - @JoinColumn() - approver: HrmsEmployee; - - @Column({ - type: "enum", - enum: ApprovalStatus, - default: ApprovalStatus.PENDING, - nullable: false, - }) - status: ApprovalStatus; - - @Column({ type: "timestamp", nullable: true }) - approved_at: Date; - - @Column({ length: 512, nullable: true }) - notes: string; - - @CreateDateColumn() - created_at: Date; - - @UpdateDateColumn({ nullable: true }) - updated_at: Date; -} diff --git a/src/entity/hrms/hrms_bank.ts b/src/entity/hrms/hrms_bank.ts deleted file mode 100644 index 0749696..0000000 --- a/src/entity/hrms/hrms_bank.ts +++ /dev/null @@ -1,57 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn } from "typeorm"; -import { Status } from "../../types/status"; - -@Entity("hrms_banks", { schema: "hrms" }) -export class HrmsBank { - @PrimaryGeneratedColumn('uuid') - id: string; - - @Column({ - nullable: false, - unique: false, - length: 64 - }) - code: string; - - @Column({ - nullable: false, - unique: false, - length: 128 - }) - name: string; - - @Column({ - nullable: true, - unique: false, - length: 256 - }) - description: string; - - @Column({ - nullable: false, - length: 64 - }) - status: Status; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} - diff --git a/src/entity/hrms/hrms_department.ts b/src/entity/hrms/hrms_department.ts deleted file mode 100644 index c234f56..0000000 --- a/src/entity/hrms/hrms_department.ts +++ /dev/null @@ -1,56 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, OneToMany, PrimaryColumn, CreateDateColumn, UpdateDateColumn, DeleteDateColumn } from "typeorm"; -import { Status } from "../../types/status"; - -@Entity("hrms_departments", { schema: "hrms" }) -export class HrmsDepartment { - @PrimaryGeneratedColumn('uuid') - id: string; - - @Column({ - nullable: false, - unique: false, - length: 64 - }) - code: string; - - @Column({ - nullable: false, - unique: false, - length: 64 - }) - name: string; - - @Column({ - nullable: true, - unique: false, - length: 64 - }) - description: string; - - @Column({ - nullable: false, - length: 64 - }) - status: Status; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/hrms/hrms_employee.ts b/src/entity/hrms/hrms_employee.ts deleted file mode 100644 index 6f7a507..0000000 --- a/src/entity/hrms/hrms_employee.ts +++ /dev/null @@ -1,183 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, ManyToOne, JoinColumn, JoinTable } from "typeorm"; -import { Status } from "../../types/status"; -import { HrmsDepartment } from "./hrms_department"; -import { HrmsPosition } from "./hrms_position"; -import { HrmsShift } from "./hrms_shift"; -import { Nationality } from "../nationality"; -import { Aldeia } from "../aldeia"; -import { Suco } from "../suco"; -import { Administrativu } from "../administrativu"; -import { Munisipo } from "../munisipo"; - -@Entity("hrms_employees", { schema: "hrms" }) -export class HrmsEmployee { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ length: 32, unique: true }) - employee_id: string; - - @Column({ length: 32, unique: true }) - device_user_id: string; - - @Column({ length: 128 }) - name: string; - - @Column({ length: 64 }) - place_birth: string; - - @Column({ type: "date" }) - birth_date: Date; - - @Column({ length: 16 }) - gender: string; - - @Column({ length: 32 }) - phone: string; - - @Column({ length: 128 }) - email: string; - - @ManyToOne(() => Nationality, { onDelete: "NO ACTION", nullable: true }) - @JoinTable() - nationality: Nationality; - - @Column({ length: 64 }) - last_education: string; - - @Column({ nullable: true, length: 256 }) - photo_url: string; - - @Column({ nullable: true, length: 512 }) - employee_file_url: string; - - @ManyToOne(() => Aldeia) - @JoinColumn() - aldeia: Aldeia; - - @ManyToOne(() => Suco) - @JoinColumn() - suco: Suco; - - @ManyToOne(() => Administrativu) - @JoinColumn() - administrativu: Administrativu; - - @ManyToOne(() => Munisipo) - @JoinColumn() - munisipo: Munisipo; - - @Column({ length: 256 }) - street: string; - - @ManyToOne(() => HrmsDepartment) - @JoinColumn() - department: HrmsDepartment; - - @ManyToOne(() => HrmsPosition) - @JoinColumn() - position: HrmsPosition; - - @ManyToOne(() => HrmsShift) - @JoinColumn() - shift: HrmsShift; - - @Column({ type: "int" }) - yearly_leave_quota: number; - - @Column({ length: 128 }) - emergency_name: string; - - @Column({ length: 32 }) - emergency_phone: string; - - @Column({ length: 64 }) - emergency_relation: string; - - @Column({ length: 128, nullable: true }) - electoral_number: string; - - @Column({ type: "date", nullable: true }) - electoral_expired_at: Date; - - @Column({ length: 256, nullable: true }) - electoral_file_url: string; - - @Column({ length: 128, nullable: true }) - bi_number: string; - - @Column({ type: "date", nullable: true }) - bi_expired_at: Date; - - @Column({ length: 256, nullable: true }) - bi_file_url: string; - - @Column({ length: 128, nullable: true }) - niss_number: string; - - @Column({ type: "date", nullable: true }) - niss_expired_at: Date; - - @Column({ length: 256, nullable: true }) - niss_file_url: string; - - @Column({ length: 128, nullable: true }) - passport_number: string; - - @Column({ type: "date", nullable: true }) - passport_expired_at: Date; - - @Column({ length: 256, nullable: true }) - passport_file_url: string; - - @Column({ length: 128, nullable: true }) - visa_number: string; - - @Column({ type: "date", nullable: true }) - visa_expired_at: Date; - - @Column({ length: 256, nullable: true }) - visa_file_url: string; - - @Column({ length: 128, nullable: true }) - pr_number: string; - - @Column({ type: "date", nullable: true }) - pr_expired_at: Date; - - @Column({ length: 256, nullable: true }) - pr_file_url: string; - - @Column({ type: "date", nullable: true }) - start_date: Date; - - @Column({ type: "int", nullable: true }) - pay_date: number; - - @Column({ type: "int", nullable: true }) - pay_cutoff_date: number; - - @Column({ type: "int", nullable: true }) - working_day: number; - - @Column({ length: 64 }) - status: Status; - - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @UpdateDateColumn({ nullable: true }) - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/hrms/hrms_holiday.ts b/src/entity/hrms/hrms_holiday.ts deleted file mode 100644 index 25328ab..0000000 --- a/src/entity/hrms/hrms_holiday.ts +++ /dev/null @@ -1,78 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn -} from "typeorm"; -import { Status } from "../../types/status"; -import { HolidayType } from "../../types/hrms"; - -@Entity("hrms_holidays", { schema: "hrms" }) -export class HrmsHoliday { - - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ - type: "enum", - enum: HolidayType, - nullable: false - }) - type: HolidayType; - - @Column({ - type: "date", - nullable: false - }) - start_date: Date; - - @Column({ - type: "date", - nullable: false - }) - end_date: Date; - - @Column({ - type: "int", - nullable: false - }) - working_days: number; - - @Column({ - nullable: false, - length: 128 - }) - name: string; - - @Column({ - nullable: true, - length: 256 - }) - description: string; - - @Column({ - nullable: false, - length: 64 - }) - status: Status; - - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @UpdateDateColumn({ nullable: true }) - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/hrms/hrms_leave.ts b/src/entity/hrms/hrms_leave.ts deleted file mode 100644 index 373ecc8..0000000 --- a/src/entity/hrms/hrms_leave.ts +++ /dev/null @@ -1,79 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - JoinColumn, - OneToMany, -} from "typeorm"; -import { Status } from "../../types/status"; -import { HrmsEmployee } from "./hrms_employee"; -import { HrmsLeaveType } from "./hrms_leave_type"; -import { HrmsLeaveApproval } from "./hrms_leave_approval"; -import { HrmsLeaveDocument } from "./hrms_leave_document"; - -@Entity("hrms_leaves", { schema: "hrms" }) -export class HrmsLeave { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => HrmsEmployee, { onDelete: "RESTRICT", nullable: true }) - @JoinColumn() - employee: HrmsEmployee; - - /** Orang yang didelegasikan untuk mengerjakan kerjaan. Wajib 1 department dengan employee. Approval tetap ke user awal. */ - @ManyToOne(() => HrmsEmployee, { onDelete: "SET NULL", nullable: true }) - @JoinColumn() - delegated_employee: HrmsEmployee; - - /** Deskripsi tugas/pekerjaan yang didelegasikan ke delegated_employee. */ - @Column({ length: 512, nullable: true }) - delegated_description: string; - - @ManyToOne(() => HrmsLeaveType, { onDelete: "RESTRICT", nullable: true }) - @JoinColumn() - leave_type: HrmsLeaveType; - - @Column({ type: "date", nullable: false }) - start_date: Date; - - @Column({ type: "date", nullable: false }) - end_date: Date; - - @Column({ type: "int", nullable: false }) - duration_days: number; - - @Column({ length: 512, nullable: true }) - reason: string; - - @Column({ length: 64, nullable: false }) - status: Status; - - @OneToMany(() => HrmsLeaveApproval, approval => approval.leave, { cascade: true }) - approvals: HrmsLeaveApproval[]; - - @OneToMany(() => HrmsLeaveDocument, document => document.leave, { cascade: true }) - documents: HrmsLeaveDocument[]; - - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @UpdateDateColumn({ nullable: true }) - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} - diff --git a/src/entity/hrms/hrms_leave_approval.ts b/src/entity/hrms/hrms_leave_approval.ts deleted file mode 100644 index 30b15ed..0000000 --- a/src/entity/hrms/hrms_leave_approval.ts +++ /dev/null @@ -1,64 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - ManyToOne, - JoinColumn, -} from "typeorm"; -import { HrmsLeave } from "./hrms_leave"; -import { HrmsEmployee } from "./hrms_employee"; - -export enum ApprovalType { - SPV = "SPV", - HR = "HR", -} - -export enum ApprovalStatus { - PENDING = "PENDING", - APPROVED = "APPROVED", - REJECTED = "REJECTED", -} - -@Entity("hrms_leave_approvals", { schema: "hrms" }) -export class HrmsLeaveApproval { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => HrmsLeave, leave => leave.approvals, { onDelete: "CASCADE", nullable: true }) - @JoinColumn() - leave: HrmsLeave; - - @Column({ - type: "enum", - enum: ApprovalType, - nullable: false, - }) - approval_type: ApprovalType; - - @ManyToOne(() => HrmsEmployee, { onDelete: "RESTRICT", nullable: true }) - @JoinColumn() - approver: HrmsEmployee; - - @Column({ - type: "enum", - enum: ApprovalStatus, - default: ApprovalStatus.PENDING, - nullable: false, - }) - status: ApprovalStatus; - - @Column({ type: "timestamp", nullable: true }) - approved_at: Date; - - @Column({ length: 512, nullable: true }) - notes: string; - - @CreateDateColumn() - created_at: Date; - - @UpdateDateColumn({ nullable: true }) - updated_at: Date; -} - diff --git a/src/entity/hrms/hrms_leave_document.ts b/src/entity/hrms/hrms_leave_document.ts deleted file mode 100644 index 9d0c2da..0000000 --- a/src/entity/hrms/hrms_leave_document.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - ManyToOne, - JoinColumn, -} from "typeorm"; -import { HrmsLeave } from "./hrms_leave"; - -@Entity("hrms_leave_documents", { schema: "hrms" }) -export class HrmsLeaveDocument { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => HrmsLeave, leave => leave.documents, { onDelete: "CASCADE", nullable: true }) - @JoinColumn() - leave: HrmsLeave; - - @Column({ length: 256, nullable: false }) - document_name: string; - - @Column({ length: 512, nullable: false }) - document_url: string; - - @CreateDateColumn() - created_at: Date; -} - diff --git a/src/entity/hrms/hrms_leave_type.ts b/src/entity/hrms/hrms_leave_type.ts deleted file mode 100644 index 43c2bd5..0000000 --- a/src/entity/hrms/hrms_leave_type.ts +++ /dev/null @@ -1,61 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, -} from "typeorm"; -import { Status } from "../../types/status"; -import { YesNo } from "../../types/hrms"; - -@Entity("hrms_leave_types", { schema: "hrms" }) -export class HrmsLeaveType { - - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ length: 128 }) - name: string; - - @Column({ nullable: true, length: 256 }) - description: string; - - @Column({ type: "int" }) - maximum_days: number; - - @Column({ - type: "enum", - enum: YesNo, - default: YesNo.NO, - }) - deduct_quota: YesNo; - - @Column({ - type: "enum", - enum: YesNo, - default: YesNo.YES, - }) - paid: YesNo; - - @Column({ length: 64 }) - status: Status; - - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @UpdateDateColumn({ nullable: true }) - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/hrms/hrms_payroll.ts b/src/entity/hrms/hrms_payroll.ts deleted file mode 100644 index a03a71e..0000000 --- a/src/entity/hrms/hrms_payroll.ts +++ /dev/null @@ -1,82 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - JoinColumn, -} from "typeorm"; -import { Status } from "../../types/status"; -import { HrmsEmployee } from "./hrms_employee"; -import { HrmsBank } from "./hrms_bank"; - -@Entity("hrms_payroll", { schema: "hrms" }) -export class HrmsPayroll { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => HrmsEmployee, { onDelete: "RESTRICT", nullable: true }) - @JoinColumn() - employee: HrmsEmployee; - - @ManyToOne(() => HrmsBank, { onDelete: "RESTRICT", nullable: true }) - @JoinColumn() - bank: HrmsBank; - - @Column({ length: 128, nullable: false }) - account_number: string; - - @Column({ length: 128, nullable: false }) - account_name: string; - - @Column({ type: "decimal", precision: 15, scale: 2, nullable: false }) - basic_salary: number; - - @Column({ type: "decimal", precision: 15, scale: 2, nullable: false, default: 0 }) - subsidy: number; - - @Column({ type: "decimal", precision: 15, scale: 2, nullable: false, default: 0 }) - total_gross: number; - - @Column({ type: "decimal", precision: 15, scale: 2, nullable: false, default: 0 }) - ss_4_percent: number; - - @Column({ type: "decimal", precision: 15, scale: 2, nullable: false, default: 0 }) - ss_6_percent: number; - - @Column({ type: "decimal", precision: 15, scale: 2, nullable: false, default: 0 }) - ss_total: number; - - @Column({ type: "decimal", precision: 15, scale: 2, nullable: false, default: 0 }) - tax_amount: number; - - @Column({ type: "decimal", precision: 15, scale: 2, nullable: false, default: 0 }) - total_deduct: number; - - @Column({ type: "decimal", precision: 15, scale: 2, nullable: false, default: 0 }) - total_nett: number; - - @Column({ length: 64 }) - status: Status; - - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @UpdateDateColumn({ nullable: true }) - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} - diff --git a/src/entity/hrms/hrms_payroll_monthly.ts b/src/entity/hrms/hrms_payroll_monthly.ts deleted file mode 100644 index 5172b8a..0000000 --- a/src/entity/hrms/hrms_payroll_monthly.ts +++ /dev/null @@ -1,79 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, ManyToOne, JoinColumn, Index } from "typeorm"; -import { Status } from "../../types/status"; -import { HrmsEmployee } from "./hrms_employee"; -import { HrmsPayroll } from "./hrms_payroll"; - -@Entity("hrms_payroll_monthly", { schema: "hrms" }) -// @Index(["employee", "period_month", "period_year"], { unique: true }) -export class HrmsPayrollMonthly { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => HrmsEmployee, { onDelete: "RESTRICT", nullable: true }) - @JoinColumn() - employee: HrmsEmployee; - - @ManyToOne(() => HrmsPayroll, { onDelete: "RESTRICT", nullable: true }) - @JoinColumn() - payroll_setup: HrmsPayroll; - - @Column({ type: "int", nullable: false }) - month: number; // 1-12 - - @Column({ type: "int", nullable: false }) - year: number; // e.g., 2026 - - @Column({ type: "int", nullable: false }) - payable_days: number; // e.g., 2026 - - @Column({ type: "int", nullable: false }) - paid_days: number; // e.g., 2026 - - @Column({ type: "decimal", precision: 15, scale: 2, nullable: false }) - basic_salary: number; - - @Column({ type: "decimal", precision: 15, scale: 2, nullable: false, default: 0 }) - subsidy: number; - - @Column({ type: "decimal", precision: 15, scale: 2, nullable: false }) - total_gross: number; - - @Column({ type: "decimal", precision: 15, scale: 2, nullable: false, default: 0 }) - ss_4_percent: number; - - @Column({ type: "decimal", precision: 15, scale: 2, nullable: false, default: 0 }) - ss_6_percent: number; - - @Column({ type: "decimal", precision: 15, scale: 2, nullable: false, default: 0 }) - ss_total: number; - - @Column({ type: "decimal", precision: 15, scale: 2, nullable: false, default: 0 }) - tax_amount: number; - - @Column({ type: "decimal", precision: 15, scale: 2, nullable: false, default: 0 }) - total_deduct: number; - - @Column({ type: "decimal", precision: 15, scale: 2, nullable: false, default: 0 }) - total_nett: number; - - @Column({ type: "text", nullable: true }) - notes: string; - - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @UpdateDateColumn({ nullable: true }) - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/hrms/hrms_position.ts b/src/entity/hrms/hrms_position.ts deleted file mode 100644 index a33a2ac..0000000 --- a/src/entity/hrms/hrms_position.ts +++ /dev/null @@ -1,74 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, OneToMany, PrimaryColumn, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, ManyToOne, JoinColumn } from "typeorm"; -import { Status } from "../../types/status"; -import { HrmsDepartment } from "./hrms_department"; - -@Entity("hrms_positions", { schema: "hrms" }) -export class HrmsPosition { - @PrimaryGeneratedColumn('uuid') - id: string; - - @Column({ - nullable: false, - unique: false, - length: 64 - }) - code: string; - - @Column({ - nullable: false, - unique: false, - length: 64 - }) - name: string; - - @Column({ - nullable: true, - unique: false, - length: 64 - }) - description: string; - - @ManyToOne(() => HrmsDepartment, { - nullable: true, - onDelete: "RESTRICT" - }) - @JoinColumn() - department: HrmsDepartment; - - @ManyToOne(() => HrmsPosition, position => position.children, { - nullable: true, - onDelete: "SET NULL" - }) - @JoinColumn() - parent: HrmsPosition; - - @OneToMany(() => HrmsPosition, position => position.parent) - children: HrmsPosition[]; - - @Column({ - nullable: true, - length: 64 - }) - status: Status; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/hrms/hrms_scholarship.ts b/src/entity/hrms/hrms_scholarship.ts deleted file mode 100644 index 39e78c6..0000000 --- a/src/entity/hrms/hrms_scholarship.ts +++ /dev/null @@ -1,73 +0,0 @@ -import { Column, CreateDateColumn, DeleteDateColumn, Entity, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm"; - -import { Status } from "../../types/status"; - -@Entity("hrms_scholarships", { schema: "hrms" }) -export class HrmsScholarship { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ - // nullable: false, - nullable: false, - length: 256, - }) - name: string; - - @Column({ - nullable: false, - length: 256, - }) - faculty: string; - - @Column({ - nullable: false, - length: 256, - }) - study: string; - - @Column({ - nullable: false, - length: 256, - }) - university: string; - - @Column({ - nullable: false, - length: 64, - }) - phone: string; - - @Column({ - nullable: false, - length: 256, - }) - file: string; - - @Column({ - nullable: false, - length: 64, - }) - status: Status; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/hrms/hrms_shift.ts b/src/entity/hrms/hrms_shift.ts deleted file mode 100644 index 1bb4a4e..0000000 --- a/src/entity/hrms/hrms_shift.ts +++ /dev/null @@ -1,86 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn } from "typeorm"; -import { Status } from "../../types/status"; - -@Entity("hrms_shifts", { schema: "hrms" }) -export class HrmsShift { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ - length: 128, - nullable: false, - }) - name: string; - - @Column({ - type: "time", - nullable: false, - }) - in_start_time: string; // HH:mm:ss - - @Column({ - type: "time", - nullable: false, - }) - in_end_time: string; - - @Column({ - type: "time", - nullable: true, - }) - break_out_start_time: string; // HH:mm:ss - - @Column({ - type: "time", - nullable: true, - }) - break_out_end_time: string; - - @Column({ - type: "time", - nullable: true, - }) - break_in_start_time: string; // HH:mm:ss - - @Column({ - type: "time", - nullable: true, - }) - break_in_end_time: string; - - @Column({ - type: "time", - nullable: false, - }) - out_start_time: string; - - @Column({ - type: "time", - nullable: false, - }) - out_end_time: string; - - @Column({ - length: 64, - nullable: false, - }) - status: Status; - - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @UpdateDateColumn({ nullable: true }) - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/hrms/hrms_training.ts b/src/entity/hrms/hrms_training.ts deleted file mode 100644 index 34f7438..0000000 --- a/src/entity/hrms/hrms_training.ts +++ /dev/null @@ -1,83 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn } from "typeorm"; - -import { Status } from "../../types/status"; - -@Entity("hrms_trainings", { schema: "hrms" }) -export class HrmsTraining { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ - nullable: false, - length: 256, - }) - name: string; - - @Column({ - nullable: false, - unique: true, - length: 256, - }) - code: string; - - @Column({ - nullable: false, - length: 4096, - }) - description: string; - - @Column({ - nullable: false, - length: 256, - }) - location: string; - - @Column({ - nullable: false, - }) - start_at: Date; - - @Column({ - nullable: true, - length: 8, - }) - start_time: string; - - @Column({ - nullable: false, - }) - end_at: Date; - - @Column({ - nullable: true, - length: 8, - }) - end_time: string; - - @Column({ - nullable: false, - length: 64, - }) - status: Status; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/hrms/hrms_training_participant.ts b/src/entity/hrms/hrms_training_participant.ts deleted file mode 100644 index a213072..0000000 --- a/src/entity/hrms/hrms_training_participant.ts +++ /dev/null @@ -1,52 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, ManyToOne, JoinColumn } from "typeorm"; - -import { Status } from "../../types/status"; -import { HrmsEmployee } from "./hrms_employee"; -import { HrmsTraining } from "./hrms_training"; - -@Entity("hrms_training_participants", { schema: "hrms" }) -export class HrmsTrainingParticipant { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => HrmsTraining, { onDelete: "NO ACTION", nullable: false }) - @JoinColumn() - training: HrmsTraining; - - @ManyToOne(() => HrmsEmployee, { onDelete: "NO ACTION", nullable: false }) - @JoinColumn() - employee: HrmsEmployee; - - @Column({ - nullable: true, - length: 512, - }) - certificate_url: string; - - @Column({ - nullable: false, - length: 64, - }) - status: Status; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/inpatient_room_bed_details.ts b/src/entity/inpatient_room_bed_details.ts deleted file mode 100644 index f4f13ae..0000000 --- a/src/entity/inpatient_room_bed_details.ts +++ /dev/null @@ -1,75 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, ManyToOne, JoinColumn } from "typeorm"; -import { InpatientRoomBed } from "./inpatient_room_beds"; - -@Entity("inpatient_room_bed_details") -export class InpatientRoomBedDetail { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => InpatientRoomBed, { onDelete: "NO ACTION" }) - @JoinColumn() - inpatient_room_bed: InpatientRoomBed; - - @Column({ nullable: true, type: "text" }) - photo_before: string; - - @Column({ nullable: true, type: "text" }) - photo_after: string; - - @Column({ nullable: true, type: "boolean", default: false }) - electrical: boolean; - - @Column({ nullable: true, type: "boolean", default: false }) - telephone: boolean; - - @Column({ nullable: true, type: "boolean", default: false }) - lighting: boolean; - - @Column({ nullable: true, type: "boolean", default: false }) - wall: boolean; - - @Column({ nullable: true, type: "boolean", default: false }) - ceiling: boolean; - - @Column({ nullable: true, type: "boolean", default: false }) - floor: boolean; - - @Column({ nullable: true, type: "boolean", default: false }) - leakage: boolean; - - @Column({ nullable: true, type: "boolean", default: false }) - temperature: boolean; - - @Column({ nullable: true, type: "boolean", default: false }) - electromedical_equipment: boolean; - - @Column({ nullable: true, type: "boolean", default: false }) - available: boolean; - - @Column({ nullable: true, type: "boolean", default: false }) - online_inpatient_referral: boolean; - - @Column({ nullable: true, type: "boolean", default: false }) - cohort: boolean; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/inpatient_room_beds.ts b/src/entity/inpatient_room_beds.ts deleted file mode 100644 index 73a3ec1..0000000 --- a/src/entity/inpatient_room_beds.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, ManyToOne, JoinColumn } from "typeorm"; -import { InpatientRoom } from "./inpatient_rooms"; -import { EmrBoardingRoom } from "./emr/emr_boarding_rooms"; -import { InpatientRoomBedStatus } from "../types/public"; - -@Entity("inpatient_room_beds") -export class InpatientRoomBed { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => InpatientRoom, { onDelete: "NO ACTION" }) - @JoinColumn() - inpatient_room: InpatientRoom; - - @ManyToOne(() => EmrBoardingRoom, { onDelete: "NO ACTION" }) - @JoinColumn() - boarding_room: EmrBoardingRoom; - - @Column({ - nullable: false, - type: "int", - }) - number: number; - - @Column({ - nullable: false, - length: 64, - }) - status: InpatientRoomBedStatus; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/inpatient_rooms.ts b/src/entity/inpatient_rooms.ts deleted file mode 100644 index bec4846..0000000 --- a/src/entity/inpatient_rooms.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, ManyToOne, JoinColumn } from "typeorm"; -import { Room } from "./room"; - -@Entity("inpatient_rooms") -export class InpatientRoom { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => Room, { onDelete: "NO ACTION" }) - @JoinColumn() - room: Room; - - @Column({ - nullable: false, - type: "text", - }) - name: string; - - @Column({ - nullable: false, - type: "int", - }) - number_of_bed: number; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/main_disease.ts b/src/entity/main_disease.ts deleted file mode 100644 index cfc464c..0000000 --- a/src/entity/main_disease.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn } from "typeorm"; - -import { Status } from "../types/status"; - -@Entity("main_diseases") -export class MainDisease { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ - nullable: false, - length: 128, - }) - name: string; - - @Column({ - nullable: false, - length: 64, - }) - status: Status; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/measurement_unit.ts b/src/entity/measurement_unit.ts deleted file mode 100644 index 5316099..0000000 --- a/src/entity/measurement_unit.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn } from 'typeorm'; - -import { Status } from '../types/status'; - -@Entity('measurement_units') -export class MeasurementUnit { - @PrimaryGeneratedColumn('uuid') - id: string; - - @Column({ - nullable: false, - length: 256, - }) - unit: string; - - @Column({ - nullable: false, - length: 64, - }) - status: Status; - - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @UpdateDateColumn({ nullable: true }) - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/medical_form.ts b/src/entity/medical_form.ts deleted file mode 100644 index ba454ac..0000000 --- a/src/entity/medical_form.ts +++ /dev/null @@ -1,71 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, -} from "typeorm"; - -@Entity("medical_form") -export class MedicalForm { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ - nullable: false, - length: 256, - type: "varchar", - }) - title: string; - - @Column({ - nullable: false, - length: 256, - type: "varchar", - }) - name: string; - - @Column({ - nullable: false, - length: 512, - type: "varchar", - }) - description: string; - - @Column({ - nullable: true, - length: 512, - type: "varchar", - }) - picture: string; - - @Column({ - nullable: false, - length: 64, - type: "varchar", - }) - status: string; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} - diff --git a/src/entity/menu.ts b/src/entity/menu.ts deleted file mode 100644 index 70958e6..0000000 --- a/src/entity/menu.ts +++ /dev/null @@ -1,70 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, JoinColumn, ManyToOne } from 'typeorm'; - -import { Status } from '../types/status'; -import { Application } from './application'; - -@Entity('menus') -export class Menu { - @PrimaryGeneratedColumn('uuid') - id: string; - - @ManyToOne(() => Application, { onDelete: "RESTRICT" }) - @JoinColumn({ name: 'application' }) - application: Application - - @Column({ - nullable: false, - length: 128 - }) - module: string; - - @Column({ - nullable: false, - length: 128 - }) - name: string; - - @Column({ - nullable: true, - length: 256 - }) - link: string; - - @Column({ - nullable: true, - type: 'uuid' - }) - id_parent: string; - - @Column({ - nullable: false, - type: 'int2' - }) - order_number: number; - - @Column({ - nullable: true, - length: 128 - }) - icon: string; - - @Column({ - nullable: false, - length: 64 - }) - status: Status; - - children: Menu[] - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; -} \ No newline at end of file diff --git a/src/entity/munisipo.ts b/src/entity/munisipo.ts deleted file mode 100644 index ba96a8a..0000000 --- a/src/entity/munisipo.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index } from 'typeorm'; - -import { Status } from '../types/status'; - -@Entity('munisipos') -export class Munisipo { - @PrimaryGeneratedColumn('uuid') - id: string; - - @Column({ - nullable: false, - length: 128 - }) - code: string; - - @Column({ - nullable: false, - length: 256 - }) - name: string; - - @Column({ - nullable: false, - length: 64 - }) - status: Status; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; -} \ No newline at end of file diff --git a/src/entity/nationality.ts b/src/entity/nationality.ts deleted file mode 100644 index a47158b..0000000 --- a/src/entity/nationality.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index } from 'typeorm'; - -import { Status } from '../types/status'; - -@Entity('nationality') -export class Nationality { - @PrimaryGeneratedColumn('uuid') - id: string; - - @Column({ - nullable: false, - length: 128 - }) - code: string; - - @Column({ - nullable: false, - length: 256 - }) - name: string; - - @Column({ - nullable: false, - length: 64 - }) - status: Status; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; -} \ No newline at end of file diff --git a/src/entity/notification.ts b/src/entity/notification.ts deleted file mode 100644 index 322ca2d..0000000 --- a/src/entity/notification.ts +++ /dev/null @@ -1,108 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - ManyToOne, - JoinColumn, - CreateDateColumn, - Index, -} from "typeorm"; - -import { User } from "./users"; -import { NotificationPriority } from "../types/notification_priority"; - -@Index(["sender", "recipient"]) -@Entity("notifications") -export class Notification { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => User, { nullable: false, onDelete: "CASCADE" }) - @JoinColumn({ name: "recipient_id" }) - recipient: User; - - @Column({ - nullable: false, - length: 64, - }) - type: string; - - @Column({ - type: "varchar", - length: 255, - nullable: true, - }) - title: string | null; - - @Column({ - type: "text", - nullable: false, - }) - message: string; - - @Column({ - type: "varchar", - length: 50, - nullable: true, - }) - reference_type: string | null; - - @Column({ - type: "uuid", - nullable: true, - }) - reference_id: string | null; - - @Column({ - type: "jsonb", - nullable: true, - }) - data: Record | null; - - @ManyToOne(() => User, { nullable: true, onDelete: "SET NULL" }) - @JoinColumn({ name: "sender_id" }) - sender: User | null; - - @Column({ - type: "boolean", - default: false, - }) - is_read: boolean; - - @Column({ - type: "timestamp", - nullable: true, - }) - read_at: Date | null; - - @Column({ - type: "varchar", - length: 10, - nullable: true, - }) - priority: NotificationPriority | null; - - @Column({ - type: "text", - nullable: true, - }) - action_url: string | null; - - @Column({ - type: "timestamp", - nullable: true, - }) - expires_at: Date | null; - - @Column({ - type: "uuid", - nullable: true, - }) - batch_id: string | null; - - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; -} diff --git a/src/entity/patient_group.ts b/src/entity/patient_group.ts deleted file mode 100644 index 271a569..0000000 --- a/src/entity/patient_group.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - } from "typeorm"; - - @Entity("patient_group") - export class PatientGroup { - @PrimaryGeneratedColumn("uuid") - id!: string; - - @Column({ type: "text", nullable: false }) - patient_group_name!: string; - - // Tanggal pembuatan grup pasien - @CreateDateColumn() - created_at!: Date; - - // Kolom untuk tracking siapa yang membuat data ini - @Column({ nullable: true, length: 256 }) - created_by?: string; - - // Tanggal pembaruan data grup pasien - @UpdateDateColumn({ nullable: true }) - updated_at?: Date; - - // Kolom untuk tracking siapa yang memperbarui data ini - @Column({ nullable: true, length: 256 }) - updated_by?: string; - - // Tanggal penghapusan grup pasien - @DeleteDateColumn({ nullable: true }) - deleted_at?: Date; - - // Kolom untuk tracking siapa yang menghapus data ini - @Column({ nullable: true, length: 256 }) - deleted_by?: string; - } \ No newline at end of file diff --git a/src/entity/patient_guarantor.ts b/src/entity/patient_guarantor.ts deleted file mode 100644 index a6b5977..0000000 --- a/src/entity/patient_guarantor.ts +++ /dev/null @@ -1,111 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - ManyToOne, - JoinColumn, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, -} from "typeorm"; -import { PatientGroup } from "./patient_group"; // Import entity PatientGroup -import { FareType } from "./faretype"; -import { Administrativu } from "./administrativu"; -import { Suco } from "./suco"; -import { Aldeia } from "./aldeia"; -import { Munisipo } from "./munisipo"; - -@Entity("patient_guarantor") -export class PatientGuarantor { - @PrimaryGeneratedColumn("uuid") - id!: string; - - @ManyToOne(() => Administrativu, { onDelete: "NO ACTION" }) - @JoinColumn() - administrativu: Administrativu; - - @ManyToOne(() => Munisipo, { onDelete: "NO ACTION" }) - @JoinColumn() - munisipo: Munisipo; - - @ManyToOne(() => Suco, { onDelete: "NO ACTION" }) - @JoinColumn() - suco: Suco; - - @ManyToOne(() => Aldeia, { onDelete: "NO ACTION" }) - @JoinColumn() - aldeia: Aldeia; - - // Nama penjamin pasien - @Column({ type: "text", nullable: false }) - guarantor_name!: string; - - // Nomor telepon penjamin pasien - @Column({ type: "text", nullable: false }) - phone!: string; - - // Provinsi tempat tinggal penjamin pasien - @Column({ type: "text", nullable: true }) - province: string; - - // Kota tempat tinggal penjamin pasien - @Column({ type: "text", nullable: true }) - city: string; - - // Kode pos tempat tinggal penjamin pasien - @Column({ type: "text", nullable: true }) - zip_code: string; - - // Nomor perjanjian atau kontrak - @Column({ type: "text", nullable: false }) - agreement_no!: string; - - // Deskripsi perjanjian atau kontrak - @Column({ type: "text", nullable: true }) - agreement_desc?: string; - - @Column({ - nullable: true, - type: 'bigint' - }) - maximal_liability: number; - - // Relasi ke PatientGroup, setiap penjamin dapat terhubung dengan satu grup pasien - @ManyToOne(() => PatientGroup, { nullable: false }) - @JoinColumn({ name: "patient_group_id" }) - patient_group!: PatientGroup; - - @ManyToOne(() => FareType, { nullable: true }) - @JoinColumn() - faretype!: FareType; - - @Column({ nullable: true, default: false }) - is_default?: boolean; - - @Column({ nullable: true, default: false }) - is_full_paid?: boolean; - - // Tanggal pembuatan - @CreateDateColumn() - created_at!: Date; - - // Kolom untuk tracking siapa yang membuat - @Column({ nullable: true, length: 256 }) - created_by?: string; - - // Tanggal pembaruan - @UpdateDateColumn({ nullable: true }) - updated_at?: Date; - - // Kolom untuk tracking siapa yang memperbarui - @Column({ nullable: true, length: 256 }) - updated_by?: string; - - // Tanggal penghapusan - @DeleteDateColumn({ nullable: true }) - deleted_at?: Date; - - // Kolom untuk tracking siapa yang menghapus - @Column({ nullable: true, length: 256 }) - deleted_by?: string; -} \ No newline at end of file diff --git a/src/entity/payment_method.ts b/src/entity/payment_method.ts deleted file mode 100644 index 6837dfc..0000000 --- a/src/entity/payment_method.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, -} from "typeorm"; - -@Entity("payment_method") -export class PaymentMethod { - @PrimaryGeneratedColumn("uuid") - id!: string; - - @Column({ type: "text", nullable: false }) - name!: string; - - @CreateDateColumn() - created_at!: Date; - - @Column({ nullable: true, length: 256 }) - created_by?: string; - - @UpdateDateColumn({ nullable: true }) - updated_at?: Date; - - @Column({ nullable: true, length: 256 }) - updated_by?: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at?: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by?: string; -} \ No newline at end of file diff --git a/src/entity/pharmacy-logistic/delivery_room.ts b/src/entity/pharmacy-logistic/delivery_room.ts deleted file mode 100644 index 9e059c3..0000000 --- a/src/entity/pharmacy-logistic/delivery_room.ts +++ /dev/null @@ -1,61 +0,0 @@ -import { Entity, OneToMany, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, ManyToOne, JoinColumn } from 'typeorm'; -import { Room } from '../room'; -import { User } from '../users'; -import { RoomOrder } from './room_order'; -import { DeliveryRoomDetail } from './delivery_room_detail'; - -@Entity({ schema: 'pharmacy_logistic', name: 'delivery_room' }) -export class DeliveryRoom { - @PrimaryGeneratedColumn('uuid') - id: string; - - @OneToMany(() => DeliveryRoomDetail, (detail) => detail.deliveryroom) - deliveryroomdetail: DeliveryRoomDetail[]; - - @Column({ - nullable: true, - length: 128 - }) - delivery_number: string; - - @Column({ type: "date", nullable: true }) - delivery_date: Date; - - @Column() - @CreateDateColumn() - order_date: Date; - - @ManyToOne(() => Room, { onDelete: "NO ACTION" }) - @JoinColumn() - destinationroom: Room; - - @ManyToOne(() => RoomOrder, { onDelete: "NO ACTION" }) - @JoinColumn() - roomorder: RoomOrder; - - @ManyToOne(() => Room, { onDelete: "NO ACTION" }) - @JoinColumn() - originroom: Room; - - @ManyToOne(() => User, { onDelete: "NO ACTION" }) - @JoinColumn() - user: User; - - @Column({ - nullable: false, - length: 256 - }) - status: string; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; -} \ No newline at end of file diff --git a/src/entity/pharmacy-logistic/delivery_room_detail.ts b/src/entity/pharmacy-logistic/delivery_room_detail.ts deleted file mode 100644 index 67ccc96..0000000 --- a/src/entity/pharmacy-logistic/delivery_room_detail.ts +++ /dev/null @@ -1,50 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, ManyToOne, JoinColumn } from 'typeorm'; -import { ItemMaster } from '../pharmacy/item_master'; -import {DeliveryRoom} from './delivery_room'; -import { Room } from '../room'; -import { ItemOrigin } from '../pharmacy/item_origin'; - -@Entity({ schema: 'pharmacy_logistic', name: 'delivery_room_detail' }) -export class DeliveryRoomDetail { - @PrimaryGeneratedColumn('uuid') - id: string; - - @Column({ - nullable: false, - type: 'int' - }) - deliver_qty: number; - - @ManyToOne(() => ItemMaster, { onDelete: "NO ACTION" }) - @JoinColumn() - itemmaster: ItemMaster; - - @ManyToOne(() => DeliveryRoom, { onDelete: "NO ACTION" }) - @JoinColumn() - deliveryroom: DeliveryRoom; - - @ManyToOne(() => ItemOrigin, { onDelete: "NO ACTION" }) - @JoinColumn() - itemorigin: ItemOrigin; - - @CreateDateColumn() - exp_date: Date; - - @Column({ - type: 'text', - nullable: true, - }) - batch: string; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; -} \ No newline at end of file diff --git a/src/entity/pharmacy-logistic/order_item.ts b/src/entity/pharmacy-logistic/order_item.ts deleted file mode 100644 index 9d9ad7a..0000000 --- a/src/entity/pharmacy-logistic/order_item.ts +++ /dev/null @@ -1,55 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, ManyToOne, JoinColumn } from 'typeorm'; -import { Supplier } from '../pharmacy/supplier'; -import { ItemOrigin } from '../pharmacy/item_origin'; -import { Room } from '../room'; -import { User } from '../users'; - -@Entity({ schema: 'pharmacy_logistic', name: 'order_item' }) -export class OrderItem { - @PrimaryGeneratedColumn('uuid') - id: string; - - @Column({ - nullable: false, - length: 128 - }) - order_number: string; - - @ManyToOne(() => Supplier, { onDelete: "NO ACTION" }) - @JoinColumn() - supplier: Supplier; - - @ManyToOne(() => ItemOrigin, { onDelete: "NO ACTION" }) - @JoinColumn() - itemorigin: ItemOrigin; - - @ManyToOne(() => Room, { onDelete: "NO ACTION" }) - @JoinColumn() - room: Room; - - @ManyToOne(() => User, { onDelete: "NO ACTION" }) - @JoinColumn() - user: User; - - @Column({ - nullable: false, - length: 256 - }) - status: string; - - @Column() - @CreateDateColumn() - order_date: Date; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; -} \ No newline at end of file diff --git a/src/entity/pharmacy-logistic/order_item_detail.ts b/src/entity/pharmacy-logistic/order_item_detail.ts deleted file mode 100644 index 91ffe21..0000000 --- a/src/entity/pharmacy-logistic/order_item_detail.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { OneToMany,Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, ManyToOne, JoinColumn } from 'typeorm'; -import { OrderItem } from './order_item'; -import { ItemMaster } from '../pharmacy/item_master'; -import { ReceiveOrderDetail } from './receive_order_detail'; - -@Entity({ schema: 'pharmacy_logistic', name: 'order_item_detail' }) -export class OrderItemDetail { - @PrimaryGeneratedColumn('uuid') - id: string; - - @OneToMany(() => ReceiveOrderDetail, (detail) => detail.orderitemdetail) - orderitemdetail: ReceiveOrderDetail[]; - - @Column({ - nullable: false, - type: 'int' - }) - order_qty: number; - - @ManyToOne(() => ItemMaster, { onDelete: "NO ACTION" }) - @JoinColumn() - itemmaster: ItemMaster; - - @ManyToOne(() => OrderItem, { onDelete: "NO ACTION" }) - @JoinColumn() - orderitem: OrderItem; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; -} \ No newline at end of file diff --git a/src/entity/pharmacy-logistic/receive_order.ts b/src/entity/pharmacy-logistic/receive_order.ts deleted file mode 100644 index fb89412..0000000 --- a/src/entity/pharmacy-logistic/receive_order.ts +++ /dev/null @@ -1,91 +0,0 @@ -import { OneToMany,Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, ManyToOne, JoinColumn } from 'typeorm'; -import { Supplier } from '../pharmacy/supplier'; -import { OrderItem } from './order_item'; -import { ReceiveOrderDetail } from './receive_order_detail'; - -@Entity({ schema: 'pharmacy_logistic', name: 'receive_order' }) -export class ReceiveOrder { - @PrimaryGeneratedColumn('uuid') - id: string; - - @OneToMany(() => ReceiveOrderDetail, (detail) => detail.receiveorder) - receiveorderdetail: ReceiveOrderDetail[]; - - @Column({ - nullable: true, - length: 128 - }) - receive_number: string; - - @Column({ - nullable: true, - length: 128 - }) - invoice_number: string; - - @Column() - @CreateDateColumn() - invoice_date: Date; - - @Column() - @CreateDateColumn() - due_date: Date; - - @ManyToOne(() => Supplier, { onDelete: "NO ACTION" }) - @JoinColumn() - supplier: Supplier; - - @ManyToOne(() => OrderItem, { onDelete: "NO ACTION" }) - @JoinColumn() - orderitem: OrderItem; - - @Column() - @CreateDateColumn() - receive_date: Date; - - @Column({ - nullable: true, - type: 'bigint' - }) - total_cost: number; - - @Column({ - nullable: true, - type: 'bigint' - }) - tax: number; - - @Column({ - nullable: true, - type: 'bigint' - }) - discount: number; - - @Column({ - nullable: true, - type: 'bigint' - }) - sub_total: number; - - @Column({ - nullable: true, - type: 'bigint' - }) - stamp: number; - - @Column() - @CreateDateColumn() - invoice_submission_date: Date; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; -} \ No newline at end of file diff --git a/src/entity/pharmacy-logistic/receive_order_detail.ts b/src/entity/pharmacy-logistic/receive_order_detail.ts deleted file mode 100644 index 146d104..0000000 --- a/src/entity/pharmacy-logistic/receive_order_detail.ts +++ /dev/null @@ -1,75 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, ManyToOne, JoinColumn } from 'typeorm'; -import { OrderItemDetail } from './order_item_detail'; -import { ReceiveOrder } from './receive_order'; - -@Entity({ schema: 'pharmacy_logistic', name: 'receive_order_detail' }) -export class ReceiveOrderDetail { - @PrimaryGeneratedColumn('uuid') - id: string; - - @Column({ - nullable: true, - type: 'bigint' - }) - receive_qty: number; - - // @Column({ - // nullable: true, - // type: 'bigint' - // }) - // pack: number; - - // @Column({ - // nullable: true, - // type: 'bigint' - // }) - // pack_prize: number; - - @Column({ - nullable: true, - type: 'bigint' - }) - unit_price: number; - - @Column({ - nullable: true, - type: 'bigint' - }) - discount: number; - - @Column({ - nullable: true, - type: 'bigint' - }) - total_price: number; - - @Column() - @CreateDateColumn() - exp_date: Date; - - @Column({ - nullable: true, - length: 128 - }) - batch: string; - - @ManyToOne(() => OrderItemDetail, { onDelete: "NO ACTION" }) - @JoinColumn() - orderitemdetail: OrderItemDetail; - - @ManyToOne(() => ReceiveOrder, { onDelete: "NO ACTION" }) - @JoinColumn() - receiveorder: ReceiveOrder; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; -} \ No newline at end of file diff --git a/src/entity/pharmacy-logistic/room_order.ts b/src/entity/pharmacy-logistic/room_order.ts deleted file mode 100644 index 6906ad9..0000000 --- a/src/entity/pharmacy-logistic/room_order.ts +++ /dev/null @@ -1,62 +0,0 @@ -import { Entity, OneToMany, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, ManyToOne, JoinColumn } from 'typeorm'; -import { Room } from '../room'; -import { User } from '../users'; -import { RoomOrderDetail } from './room_order_detail'; - -@Entity({ schema: 'pharmacy_logistic', name: 'room_order' }) -export class RoomOrder { - @PrimaryGeneratedColumn('uuid') - id: string; - - @OneToMany(() => RoomOrderDetail, (detail) => detail.roomorder) - roomorderdetails: RoomOrderDetail[]; - - @Column({ - nullable: false, - length: 128 - }) - room_order_number: string; - - @Column({ - nullable: true, - length: 128 - }) - delivery_number: string; - - @ManyToOne(() => Room, { onDelete: "NO ACTION" }) - @JoinColumn() - orderroom: Room; - - @ManyToOne(() => Room, { onDelete: "NO ACTION" }) - @JoinColumn() - originroom: Room; - - @ManyToOne(() => User, { onDelete: "NO ACTION" }) - @JoinColumn() - user: User; - - @Column({ - nullable: false, - length: 256 - }) - status: string; - - @Column() - @CreateDateColumn() - order_date: Date; - - @Column({ type: "date", nullable: true }) - delivery_date: Date; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; -} \ No newline at end of file diff --git a/src/entity/pharmacy-logistic/room_order_detail.ts b/src/entity/pharmacy-logistic/room_order_detail.ts deleted file mode 100644 index 9b2218b..0000000 --- a/src/entity/pharmacy-logistic/room_order_detail.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, ManyToOne, JoinColumn } from 'typeorm'; -import { ItemMaster } from '../pharmacy/item_master'; -import {RoomOrder} from './room_order'; -import { Room } from '../room'; - -@Entity({ schema: 'pharmacy_logistic', name: 'room_order_detail' }) -export class RoomOrderDetail { - @PrimaryGeneratedColumn('uuid') - id: string; - - @Column({ - nullable: false, - type: 'int' - }) - order_qty: number; - - @ManyToOne(() => ItemMaster, { onDelete: "NO ACTION" }) - @JoinColumn() - itemmaster: ItemMaster; - - @ManyToOne(() => RoomOrder, { onDelete: "NO ACTION" }) - @JoinColumn() - roomorder: RoomOrder; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; -} \ No newline at end of file diff --git a/src/entity/pharmacy-logistic/room_stock.ts b/src/entity/pharmacy-logistic/room_stock.ts deleted file mode 100644 index 9d59bff..0000000 --- a/src/entity/pharmacy-logistic/room_stock.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { Entity, OneToMany, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, ManyToOne, JoinColumn } from 'typeorm'; -import { Room } from '../room'; -import { ItemMaster } from '../pharmacy/item_master'; -import { ItemOrigin } from '../pharmacy/item_origin'; - -@Entity({ schema: 'pharmacy_logistic', name: 'room_stock' }) -export class RoomStock { - @PrimaryGeneratedColumn('uuid') - id: string; - - @CreateDateColumn() - exp_date: Date; - - @Column({ - type: 'text', - nullable: false, - }) - batch: string; - - @Column({ - nullable: false, - type: 'int' - }) - total_stock: number; - - @ManyToOne(() => Room, { onDelete: "NO ACTION" }) - @JoinColumn() - room: Room; - - @ManyToOne(() => ItemMaster, { onDelete: "NO ACTION" }) - @JoinColumn() - itemmaster: ItemMaster; - - @ManyToOne(() => ItemOrigin, { onDelete: "NO ACTION" }) - @JoinColumn() - itemorigin: ItemOrigin; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; -} \ No newline at end of file diff --git a/src/entity/pharmacy/factory.ts b/src/entity/pharmacy/factory.ts deleted file mode 100644 index caaa45f..0000000 --- a/src/entity/pharmacy/factory.ts +++ /dev/null @@ -1,62 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, -} from "typeorm"; - -@Entity("pharmacy_factory", { schema: "pharmacy" }) -export class Factory { - @PrimaryGeneratedColumn("uuid") - id!: string; - - @Column({ - type: "text", - nullable: false, - }) - factory_name!: string; - - @Column({ - type: "text", - nullable: true, - }) - address?: string; - - @Column({ - type: "text", - nullable: true, - }) - web?: string; - - @Column({ - type: "text", - nullable: true, - }) - phone?: string; - - @Column({ - type: "text", - nullable: true, - }) - email?: string; - - @CreateDateColumn() - created_at!: Date; - - @Column({ nullable: true, length: 256 }) - created_by?: string; - - @UpdateDateColumn({ nullable: true }) - updated_at?: Date; - - @Column({ nullable: true, length: 256 }) - updated_by?: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at?: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by?: string; -} \ No newline at end of file diff --git a/src/entity/pharmacy/factory_to_supplier.ts b/src/entity/pharmacy/factory_to_supplier.ts deleted file mode 100644 index f8b37df..0000000 --- a/src/entity/pharmacy/factory_to_supplier.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - ManyToOne, - JoinColumn, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - Column, -} from "typeorm"; - -import { Factory } from "./factory"; -import { Supplier } from "./supplier"; - -@Entity("pharmacy_factory_to_supplier", { schema: "pharmacy" }) -export class FactoryToSupplier { - @PrimaryGeneratedColumn("uuid") - id!: string; - - @ManyToOne(() => Factory, { nullable: false }) - @JoinColumn({ name: "factory_id" }) - factory!: Factory; - - @ManyToOne(() => Supplier, { nullable: false }) - @JoinColumn({ name: "supplier_id" }) - supplier!: Supplier; - - @CreateDateColumn() - created_at!: Date; - - @Column({ nullable: true, length: 256 }) - created_by?: string; - - @UpdateDateColumn({ nullable: true }) - updated_at?: Date; - - @Column({ nullable: true, length: 256 }) - updated_by?: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at?: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by?: string; -} \ No newline at end of file diff --git a/src/entity/pharmacy/generic_name.ts b/src/entity/pharmacy/generic_name.ts deleted file mode 100644 index b73ddf6..0000000 --- a/src/entity/pharmacy/generic_name.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, -} from "typeorm"; - -@Entity("pharmacy_generic_name", { schema: "pharmacy" }) -export class GenericName { - @PrimaryGeneratedColumn("uuid") - id!: string; - - @Column({ - type: "text", - nullable: false, - }) - generic_name!: string; - - @CreateDateColumn() - created_at!: Date; - - @Column({ nullable: true, length: 256 }) - created_by?: string; - - @UpdateDateColumn({ nullable: true }) - updated_at?: Date; - - @Column({ nullable: true, length: 256 }) - updated_by?: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at?: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by?: string; -} \ No newline at end of file diff --git a/src/entity/pharmacy/initial_stock.ts b/src/entity/pharmacy/initial_stock.ts deleted file mode 100644 index 611b59f..0000000 --- a/src/entity/pharmacy/initial_stock.ts +++ /dev/null @@ -1,57 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, ManyToOne, JoinColumn, ManyToMany } from "typeorm"; - -import { Room } from "../room"; -import { ItemMaster } from "./item_master"; -import { ItemOrigin } from "./item_origin"; - -@Entity("pharmacy_initial_stock", { schema: "pharmacy" }) -export class InitialStock { - @PrimaryGeneratedColumn("uuid") - id!: string; - - @ManyToOne(() => ItemMaster, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - itemmaster: ItemMaster; - - @ManyToOne(() => Room, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - room: Room; - - @ManyToOne(() => ItemOrigin, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - itemorigin: ItemOrigin; - - @Column({ - type: 'text', - nullable: false, - }) - batch: string; - - @CreateDateColumn() - exp_date: Date; - - @Column({ - type: 'int', - nullable: false, - default: 0, - }) - stock: number; - - @CreateDateColumn() - created_at!: Date; - - @Column({ nullable: true, length: 256 }) - created_by?: string; - - @UpdateDateColumn({ nullable: true }) - updated_at?: Date; - - @Column({ nullable: true, length: 256 }) - updated_by?: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at?: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by?: string; -} \ No newline at end of file diff --git a/src/entity/pharmacy/item_category.ts b/src/entity/pharmacy/item_category.ts deleted file mode 100644 index 5096c5a..0000000 --- a/src/entity/pharmacy/item_category.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, -} from "typeorm"; - -@Entity("pharmacy_item_category", { schema: "pharmacy" }) -export class ItemCategory { - @PrimaryGeneratedColumn("uuid") - id!: string; - - @Column({ - type: "text", - nullable: false, - }) - category_name!: string; - - @CreateDateColumn() - created_at!: Date; - - @Column({ nullable: true, length: 256 }) - created_by?: string; - - @UpdateDateColumn({ nullable: true }) - updated_at?: Date; - - @Column({ nullable: true, length: 256 }) - updated_by?: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at?: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by?: string; -} \ No newline at end of file diff --git a/src/entity/pharmacy/item_class.ts b/src/entity/pharmacy/item_class.ts deleted file mode 100644 index d1ebfe6..0000000 --- a/src/entity/pharmacy/item_class.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, -} from "typeorm"; - -@Entity("pharmacy_item_class", { schema: "pharmacy" }) -export class ItemClass { - @PrimaryGeneratedColumn("uuid") - id!: string; - - @Column({ - type: "text", - nullable: false, - }) - item_class_name!: string; - - @CreateDateColumn() - created_at!: Date; - - @Column({ nullable: true, length: 256 }) - created_by?: string; - - @UpdateDateColumn({ nullable: true }) - updated_at?: Date; - - @Column({ nullable: true, length: 256 }) - updated_by?: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at?: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by?: string; -} \ No newline at end of file diff --git a/src/entity/pharmacy/item_class_detail.ts b/src/entity/pharmacy/item_class_detail.ts deleted file mode 100644 index 57f7edb..0000000 --- a/src/entity/pharmacy/item_class_detail.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - JoinColumn, -} from "typeorm"; - -@Entity("pharmacy_item_class_detail", { schema: "pharmacy" }) -export class ItemClassDetail { - @PrimaryGeneratedColumn("uuid") - id!: string; - - @Column({ - type: "text", - nullable: false, - }) - class_detail_name!: string; - - @CreateDateColumn() - created_at!: Date; - - @Column({ nullable: true, length: 256 }) - created_by?: string; - - @UpdateDateColumn({ nullable: true }) - updated_at?: Date; - - @Column({ nullable: true, length: 256 }) - updated_by?: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at?: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by?: string; -} \ No newline at end of file diff --git a/src/entity/pharmacy/item_group.ts b/src/entity/pharmacy/item_group.ts deleted file mode 100644 index 3bf91d2..0000000 --- a/src/entity/pharmacy/item_group.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, -} from "typeorm"; - -@Entity("pharmacy_item_group", { schema: "pharmacy" }) -export class ItemGroup { - @PrimaryGeneratedColumn("uuid") - id!: string; - - @Column({ - type: "text", - nullable: false, - }) - group_name!: string; - - @CreateDateColumn() - created_at!: Date; - - @Column({ nullable: true, length: 256 }) - created_by?: string; - - @UpdateDateColumn({ nullable: true }) - updated_at?: Date; - - @Column({ nullable: true, length: 256 }) - updated_by?: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at?: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by?: string; -} \ No newline at end of file diff --git a/src/entity/pharmacy/item_master.ts b/src/entity/pharmacy/item_master.ts deleted file mode 100644 index 3a6f673..0000000 --- a/src/entity/pharmacy/item_master.ts +++ /dev/null @@ -1,144 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - JoinColumn, - OneToMany, - OneToOne, -} from "typeorm"; - -import { GenericName } from "./generic_name"; -import { ItemTypeDetail } from "./item_type_detail"; -import { ItemCategory } from "./item_category"; -import { ItemClass } from "./item_class"; -import { ItemClassDetail } from "./item_class_detail"; -import { ItemStatus } from "./item_status"; -import { Factory } from "./factory"; -import { Unit } from "./unit"; -import { InitialStock } from "./initial_stock"; -import { RoomStock } from "../pharmacy-logistic/room_stock"; -import { ItemPrice } from "./item_price"; - -@Entity("pharmacy_item_master", { schema: "pharmacy" }) -export class ItemMaster { - @PrimaryGeneratedColumn("uuid") - id: string; - - @OneToOne(() => ItemPrice, (ip) => ip.item_master) - item_price: ItemPrice; - - - @OneToMany(() => InitialStock, (initialStock) => initialStock.itemmaster) - initialstocks: InitialStock[]; - - @OneToMany(() => RoomStock, (roomstock) => roomstock.itemmaster) - roomstock: RoomStock[]; - - @Column({ - type: "text", - nullable: false, - }) - item_name!: string; - - @ManyToOne(() => GenericName, { nullable: false }) - @JoinColumn({ name: "generic_name_id" }) - generic_name!: GenericName; - - @ManyToOne(() => ItemTypeDetail, { nullable: false }) - @JoinColumn({ name: "item_type_detail_id" }) - type_detail!: ItemTypeDetail; - - @ManyToOne(() => ItemCategory, { nullable: false }) - @JoinColumn({ name: "item_category_id" }) - category!: ItemCategory; - - @ManyToOne(() => ItemClass, { nullable: false }) - @JoinColumn({ name: "item_class_id" }) - item_class!: ItemClass; - - @ManyToOne(() => ItemClassDetail, { nullable: false }) - @JoinColumn({ name: "item_class_detail_id" }) - item_class_detail!: ItemClassDetail; - - @ManyToOne(() => ItemStatus, { nullable: false }) - @JoinColumn({ name: "item_status_id" }) - status!: ItemStatus; - - @ManyToOne(() => Factory, { nullable: false }) - @JoinColumn({ name: "factory_id" }) - factory!: Factory; - - // @ManyToOne(() => Unit, { nullable: false }) - // @JoinColumn({ name: "unit_id" }) - // unit!: Unit; - - @Column({ - type: "text", - nullable: true, - }) - smallunit?: string; - - @Column({ - type: "text", - nullable: true, - }) - largeunit?: string; - - @Column({ - type: "int", - nullable: true, - }) - minimum_quantity?: number; - - @Column({ - type: "int", - nullable: true, - }) - minimum_sales_quantity?: number; - - @Column({ - type: "int", - nullable: true, - }) - pack_size?: number; - - @Column({ - type: "int", - nullable: true, - }) - strength?: number; - - @Column({ - type: "text", - nullable: true, - }) - active_ingredient?: string; - - @Column({ - type: "boolean", - default: true, - }) - active!: boolean; - - @CreateDateColumn() - created_at!: Date; - - @Column({ nullable: true, length: 256 }) - created_by?: string; - - @UpdateDateColumn({ nullable: true }) - updated_at?: Date; - - @Column({ nullable: true, length: 256 }) - updated_by?: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at?: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by?: string; -} \ No newline at end of file diff --git a/src/entity/pharmacy/item_origin.ts b/src/entity/pharmacy/item_origin.ts deleted file mode 100644 index 50d5f29..0000000 --- a/src/entity/pharmacy/item_origin.ts +++ /dev/null @@ -1,67 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - OneToMany, - OneToOne, -} from "typeorm"; -import { RoomStock } from "../pharmacy-logistic/room_stock"; -import { SellingPricePercentage } from "./selling_price_percentage"; - -@Entity("pharmacy_item_origin", { schema: "pharmacy" }) -export class ItemOrigin { - @PrimaryGeneratedColumn("uuid") - id!: string; - - @OneToOne(() => SellingPricePercentage, (sellingpricepercentage) => sellingpricepercentage.item_origin) - sellingpricepercentage: SellingPricePercentage; - - @OneToMany(() => RoomStock, (roomstock) => roomstock.itemorigin) - roomstock: RoomStock[]; - - @Column({ - type: "text", - nullable: false, - }) - origin_name!: string; - - @Column({ - type: "text", - nullable: true, - }) - origin_description?: string; - - @Column({ - type: "text", - nullable: false, - default: "pharmacy", - }) - department!: string; - - @Column({ - type: "text", - nullable: true, - }) - account?: string; - - @CreateDateColumn() - created_at!: Date; - - @Column({ nullable: true, length: 256 }) - created_by?: string; - - @UpdateDateColumn({ nullable: true }) - updated_at?: Date; - - @Column({ nullable: true, length: 256 }) - updated_by?: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at?: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by?: string; -} \ No newline at end of file diff --git a/src/entity/pharmacy/item_price.ts b/src/entity/pharmacy/item_price.ts deleted file mode 100644 index 861ab20..0000000 --- a/src/entity/pharmacy/item_price.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - OneToOne, - JoinColumn, -} from "typeorm"; - -import { ItemMaster } from "./item_master"; - -@Entity("pharmacy_item_price", { schema: "pharmacy" }) -export class ItemPrice { - @PrimaryGeneratedColumn("uuid") - id!: string; - - @OneToOne(() => ItemMaster, { nullable: false }) - @JoinColumn({ name: "item_master_id" }) - item_master!: ItemMaster; - - @Column({ type: "numeric", precision: 15, scale: 2, nullable: false }) - purchase_price!: number; - - @Column({ type: "numeric", precision: 15, scale: 2, nullable: false }) - selling_price!: number; - - @Column({ type: "date", nullable: true }) - expired_date?: Date; - - @CreateDateColumn() - created_at!: Date; - - @Column({ nullable: true, length: 256 }) - created_by?: string; - - @UpdateDateColumn({ nullable: true }) - updated_at?: Date; - - @Column({ nullable: true, length: 256 }) - updated_by?: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at?: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by?: string; -} \ No newline at end of file diff --git a/src/entity/pharmacy/item_status.ts b/src/entity/pharmacy/item_status.ts deleted file mode 100644 index c8c05d0..0000000 --- a/src/entity/pharmacy/item_status.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, -} from "typeorm"; - -@Entity("pharmacy_item_status", { schema: "pharmacy" }) -export class ItemStatus { - @PrimaryGeneratedColumn("uuid") - id!: string; - - @Column({ - type: "text", - nullable: false, - }) - status_name!: string; - - @CreateDateColumn() - created_at!: Date; - - @Column({ nullable: true, length: 256 }) - created_by?: string; - - @UpdateDateColumn({ nullable: true }) - updated_at?: Date; - - @Column({ nullable: true, length: 256 }) - updated_by?: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at?: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by?: string; -} \ No newline at end of file diff --git a/src/entity/pharmacy/item_type.ts b/src/entity/pharmacy/item_type.ts deleted file mode 100644 index c3827f5..0000000 --- a/src/entity/pharmacy/item_type.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - JoinColumn, - OneToMany -} from "typeorm"; - -import { ItemGroup } from "./item_group"; - -@Entity("pharmacy_item_type", { schema: "pharmacy" }) -export class ItemType { - @PrimaryGeneratedColumn("uuid") - id!: string; - - @Column({ - type: "text", - nullable: false, - }) - type_name!: string; - - @ManyToOne(() => ItemGroup, { nullable: false }) - @JoinColumn({ name: "item_group_id" }) - item_group!: ItemGroup; - - @CreateDateColumn() - created_at!: Date; - - @Column({ nullable: true, length: 256 }) - created_by?: string; - - @UpdateDateColumn({ nullable: true }) - updated_at?: Date; - - @Column({ nullable: true, length: 256 }) - updated_by?: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at?: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by?: string; -} \ No newline at end of file diff --git a/src/entity/pharmacy/item_type_detail.ts b/src/entity/pharmacy/item_type_detail.ts deleted file mode 100644 index 4944ac5..0000000 --- a/src/entity/pharmacy/item_type_detail.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - JoinColumn, - OneToMany -} from "typeorm"; - -import { ItemType } from "./item_type"; - -@Entity("pharmacy_item_type_detail", { schema: "pharmacy" }) -export class ItemTypeDetail { - @PrimaryGeneratedColumn("uuid") - id!: string; - - @Column({ - type: "text", - nullable: false, - }) - type_detail_name!: string; - - @ManyToOne(() => ItemType, { nullable: false }) - @JoinColumn({ name: "item_type_id" }) - item_type!: ItemType; - - @CreateDateColumn() - created_at!: Date; - - @Column({ nullable: true, length: 256 }) - created_by?: string; - - @UpdateDateColumn({ nullable: true }) - updated_at?: Date; - - @Column({ nullable: true, length: 256 }) - updated_by?: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at?: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by?: string; -} \ No newline at end of file diff --git a/src/entity/pharmacy/pharmacy_info.ts b/src/entity/pharmacy/pharmacy_info.ts deleted file mode 100644 index 3cbeff4..0000000 --- a/src/entity/pharmacy/pharmacy_info.ts +++ /dev/null @@ -1,91 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - JoinColumn, -} from "typeorm"; -import { Room } from "../room"; -import { Munisipo } from "../munisipo"; -import { Administrativu } from "../administrativu"; -import { Suco } from "../suco"; -import { Aldeia } from "../aldeia"; -import { Province } from "../province"; -import { City } from "../city"; -import { Subdistrict } from "../subdistrict"; -import { Ward } from "../ward"; - -@Entity("pharmacy_info", { schema: "pharmacy" }) -export class PharmacyInfo { - @PrimaryGeneratedColumn("uuid") - id!: string; - - @Column({ type: "text", nullable: true }) - logo?: string; // store file path / url - - @Column({ type: "text", nullable: false }) - name!: string; - - @Column({ type: "text", nullable: false }) - address!: string; - - @ManyToOne(() => Munisipo, { nullable: true }) - @JoinColumn({ name: "munisipiu_id" }) - munisipiu?: Munisipo; - - @ManyToOne(() => Administrativu, { nullable: true }) - @JoinColumn({ name: "postu_admin_id" }) - postu_admin?: Administrativu; - - @ManyToOne(() => Suco, { nullable: true }) - @JoinColumn({ name: "suco_id" }) - suco?: Suco; - - @ManyToOne(() => Aldeia, { nullable: true }) - @JoinColumn({ name: "aldeia_id" }) - aldeia?: Aldeia; - - @Column({ type: "text", nullable: true }) - phone?: string; - - @ManyToOne(() => Room, { nullable: true }) - @JoinColumn({ name: "default_room_id" }) - default_room?: Room; - - @ManyToOne(() => Province, { onDelete: "NO ACTION" }) - @JoinColumn({ referencedColumnName: "code" }) - province: Province; - - @ManyToOne(() => City, { onDelete: "NO ACTION" }) - @JoinColumn({ referencedColumnName: "code" }) - city: City; - - @ManyToOne(() => Subdistrict, { onDelete: "NO ACTION" }) - @JoinColumn({ referencedColumnName: "code" }) - subdistrict: Subdistrict; - - @ManyToOne(() => Ward, { onDelete: "NO ACTION" }) - @JoinColumn({ referencedColumnName: "code" }) - ward: Ward; - - @CreateDateColumn() - created_at!: Date; - - @Column({ nullable: true, length: 256 }) - created_by?: string; - - @UpdateDateColumn({ nullable: true }) - updated_at?: Date; - - @Column({ nullable: true, length: 256 }) - updated_by?: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at?: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by?: string; -} \ No newline at end of file diff --git a/src/entity/pharmacy/planning_verificator.ts b/src/entity/pharmacy/planning_verificator.ts deleted file mode 100644 index 4a68d1c..0000000 --- a/src/entity/pharmacy/planning_verificator.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - ManyToOne, - JoinColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, -} from "typeorm"; -import { User } from "../users"; - -@Entity("planning_verificator", { schema: "pharmacy" }) -export class PlanningVerificator { - @PrimaryGeneratedColumn("uuid") - id!: string; - - // Room asal - @ManyToOne(() => User, { nullable: false }) - @JoinColumn({ name: "user_id" }) - user!: User; - - @CreateDateColumn() - created_at!: Date; - - @Column({ nullable: true, length: 256 }) - created_by?: string; - - @UpdateDateColumn({ nullable: true }) - updated_at?: Date; - - @Column({ nullable: true, length: 256 }) - updated_by?: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at?: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by?: string; -} \ No newline at end of file diff --git a/src/entity/pharmacy/selling_price_percentage.ts b/src/entity/pharmacy/selling_price_percentage.ts deleted file mode 100644 index 4327829..0000000 --- a/src/entity/pharmacy/selling_price_percentage.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - JoinColumn, -} from "typeorm"; - -import { ItemMaster } from "./item_master"; -import { ItemOrigin } from "./item_origin"; - -@Entity("pharmacy_selling_price_percentage", { schema: "pharmacy" }) -export class SellingPricePercentage { - @PrimaryGeneratedColumn("uuid") - id!: string; - - @ManyToOne(() => ItemMaster, { nullable: false }) - @JoinColumn({ name: "item_master_id" }) - item_master!: ItemMaster; - - @ManyToOne(() => ItemOrigin, { nullable: false }) - @JoinColumn({ name: "item_origin_id" }) - item_origin!: ItemOrigin; - - @Column({ type: "numeric", precision: 5, scale: 2, nullable: false }) - percentage!: number; - // example: 15.50 (%) - - @CreateDateColumn() - created_at!: Date; - - @Column({ nullable: true, length: 256 }) - created_by?: string; - - @UpdateDateColumn({ nullable: true }) - updated_at?: Date; - - @Column({ nullable: true, length: 256 }) - updated_by?: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at?: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by?: string; -} \ No newline at end of file diff --git a/src/entity/pharmacy/supplier.ts b/src/entity/pharmacy/supplier.ts deleted file mode 100644 index 12c8406..0000000 --- a/src/entity/pharmacy/supplier.ts +++ /dev/null @@ -1,56 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, -} from "typeorm"; - -@Entity("pharmacy_supplier", { schema: "pharmacy" }) -export class Supplier { - @PrimaryGeneratedColumn("uuid") - id!: string; - - @Column({ - type: "text", - nullable: false, - }) - supplier_name!: string; - - @Column({ - type: "text", - nullable: true, - }) - address?: string; - - @Column({ - type: "text", - nullable: true, - }) - phone?: string; - - @Column({ - type: "text", - nullable: true, - }) - email?: string; - - @CreateDateColumn() - created_at!: Date; - - @Column({ nullable: true, length: 256 }) - created_by?: string; - - @UpdateDateColumn({ nullable: true }) - updated_at?: Date; - - @Column({ nullable: true, length: 256 }) - updated_by?: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at?: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by?: string; -} \ No newline at end of file diff --git a/src/entity/pharmacy/unit.ts b/src/entity/pharmacy/unit.ts deleted file mode 100644 index 29f2b85..0000000 --- a/src/entity/pharmacy/unit.ts +++ /dev/null @@ -1,50 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, -} from "typeorm"; - -@Entity("pharmacy_unit", { schema: "pharmacy" }) -export class Unit { - @PrimaryGeneratedColumn("uuid") - id!: string; - - @Column({ - type: "text", - nullable: false, - }) - unit_name!: string; - - @Column({ - type: "text", - nullable: true, - }) - small_unit: string; - - @Column({ - type: "text", - nullable: true, - }) - large_unit: string; - - @CreateDateColumn() - created_at!: Date; - - @Column({ nullable: true, length: 256 }) - created_by?: string; - - @UpdateDateColumn({ nullable: true }) - updated_at?: Date; - - @Column({ nullable: true, length: 256 }) - updated_by?: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at?: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by?: string; -} \ No newline at end of file diff --git a/src/entity/pharmacy/usage_instructions.ts b/src/entity/pharmacy/usage_instructions.ts deleted file mode 100644 index 779dead..0000000 --- a/src/entity/pharmacy/usage_instructions.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, -} from "typeorm"; - -@Entity("pharmacy_usage_instructions", { schema: "pharmacy" }) -export class UsageInstructions { - @PrimaryGeneratedColumn("uuid") - id!: string; - - @Column({ - type: "text", - nullable: false, - }) - usage_instructions_name!: string; - - @Column({ - type: "text", - nullable: true, - }) - usage_instructions_abbreviation?: string; - - @CreateDateColumn() - created_at!: Date; - - @Column({ nullable: true, length: 256 }) - created_by?: string; - - @UpdateDateColumn({ nullable: true }) - updated_at?: Date; - - @Column({ nullable: true, length: 256 }) - updated_by?: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at?: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by?: string; -} \ No newline at end of file diff --git a/src/entity/pharmacy/usage_time.ts b/src/entity/pharmacy/usage_time.ts deleted file mode 100644 index 3c3653e..0000000 --- a/src/entity/pharmacy/usage_time.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, -} from "typeorm"; - -@Entity("pharmacy_usage_time", { schema: "pharmacy" }) -export class UsageTime { - @PrimaryGeneratedColumn("uuid") - id!: string; - - @Column({ - type: "text", - nullable: false, - }) - usage_time_name!: string; - - @Column({ - type: "text", - nullable: true, - }) - usage_time_abbreviation?: string; - - @CreateDateColumn() - created_at!: Date; - - @Column({ nullable: true, length: 256 }) - created_by?: string; - - @UpdateDateColumn({ nullable: true }) - updated_at?: Date; - - @Column({ nullable: true, length: 256 }) - updated_by?: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at?: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by?: string; -} \ No newline at end of file diff --git a/src/entity/province.ts b/src/entity/province.ts deleted file mode 100644 index 4b8225a..0000000 --- a/src/entity/province.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, ManyToOne, JoinColumn } from 'typeorm'; - -@Entity('province') -export class Province { - @PrimaryGeneratedColumn('uuid') - id: string; - - @Column({ - nullable: false, - length: 128, - unique: true - }) - code: string; - - @Column({ - nullable: false, - type: "text" - }) - name: string; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; -} \ No newline at end of file diff --git a/src/entity/queue_monitoring.ts b/src/entity/queue_monitoring.ts deleted file mode 100644 index 3c8bd1e..0000000 --- a/src/entity/queue_monitoring.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, ManyToMany, JoinTable } from "typeorm"; - -import { Status } from "../types/status"; -import { Room } from "./room"; - -@Entity("queue_monitorings") -export class QueueMonitoring { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ - type: "text", - nullable: false, - }) - name: string; - - @Column({ - type: "text", - nullable: false, - }) - slug: string; - - // @ManyToMany(() => Room, { onDelete: 'NO ACTION' }) - // @JoinTable({ - // name: 'queue_monitoring_rooms', - // joinColumn: { name: 'queue_monitoring_id', referencedColumnName: 'id' }, - // inverseJoinColumn: { name: 'room_id', referencedColumnName: 'id' }, - // }) - // rooms: Room[]; - - @Column({ - nullable: false, - length: 64, - }) - status: Status; - - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @UpdateDateColumn({ nullable: true }) - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/queue_monitoring_rooms.ts b/src/entity/queue_monitoring_rooms.ts deleted file mode 100644 index 0ba713e..0000000 --- a/src/entity/queue_monitoring_rooms.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, ManyToOne, JoinColumn } from "typeorm"; - -import { Status } from "../types/status"; -import { QueueMonitoring } from "./queue_monitoring"; -import { Room } from "./room"; - -@Entity("queue_monitoring_rooms") -export class QueueMonitoringRooms { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => QueueMonitoring, { onDelete: "NO ACTION" }) - @JoinColumn() - queue_monitoring: QueueMonitoring; - - @ManyToOne(() => Room, { onDelete: "NO ACTION" }) - @JoinColumn() - room: Room; - - @Column({ - nullable: false, - length: 64, - }) - status: Status; - - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @UpdateDateColumn({ nullable: true }) - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/reference_range.ts b/src/entity/reference_range.ts deleted file mode 100644 index 0f20235..0000000 --- a/src/entity/reference_range.ts +++ /dev/null @@ -1,72 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn } from 'typeorm'; - -import { Status } from '../types/status'; -import { Gender } from '../enum/gender'; - -@Entity('reference_ranges') -export class ReferenceRange { - @PrimaryGeneratedColumn('uuid') - id: string; - - @Column({ - type: 'enum', - enum: Gender, - nullable: true, - }) - gender: Gender; - - @Column({ - type: 'int', - nullable: false, - default: 0, - }) - age_range_min: number; - - @Column({ - type: 'int', - nullable: false, - default: 999, - }) - age_range_max: number; - - @Column({ - type: 'decimal', - precision: 10, - scale: 2, - nullable: false, - default: 0, - }) - value_min: number; - - @Column({ - type: 'decimal', - precision: 10, - scale: 2, - nullable: false, - }) - value_max: number; - - @Column({ - nullable: false, - length: 64, - }) - status: Status; - - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @UpdateDateColumn({ nullable: true }) - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/refferal_hospital.ts b/src/entity/refferal_hospital.ts deleted file mode 100644 index c4e58ab..0000000 --- a/src/entity/refferal_hospital.ts +++ /dev/null @@ -1,52 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, -} from "typeorm"; -import { RefferalHospitalType } from "../types/referral_hospital_type"; - -@Entity("refferal_hospital") -export class RefferalHospital { - @PrimaryGeneratedColumn("uuid") - id!: string; - - @Column({ type: "integer", nullable: true }) - order_number: string; - - @Column({ type: "text", nullable: false }) - refferal_hospital_name!: string; - - @Column({ - type: "enum", - enum: RefferalHospitalType, - nullable: true, - }) - type?: RefferalHospitalType; - - // Tanggal pembuatan grup pasien - @CreateDateColumn() - created_at!: Date; - - // Kolom untuk tracking siapa yang membuat data ini - @Column({ nullable: true, length: 256 }) - created_by?: string; - - // Tanggal pembaruan data grup pasien - @UpdateDateColumn({ nullable: true }) - updated_at?: Date; - - // Kolom untuk tracking siapa yang memperbarui data ini - @Column({ nullable: true, length: 256 }) - updated_by?: string; - - // Tanggal penghapusan grup pasien - @DeleteDateColumn({ nullable: true }) - deleted_at?: Date; - - // Kolom untuk tracking siapa yang menghapus data ini - @Column({ nullable: true, length: 256 }) - deleted_by?: string; -} \ No newline at end of file diff --git a/src/entity/registrationfee.ts b/src/entity/registrationfee.ts deleted file mode 100644 index 722a750..0000000 --- a/src/entity/registrationfee.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, ManyToMany, JoinTable } from "typeorm"; -import { Service } from "./service"; - -@Entity("registration_fee") -export class RegistrationFee { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ - type: 'text', - nullable: true, - array: true, - }) - service: string[]; // ← kembalikan kolom original - - @ManyToMany(() => Service) - @JoinTable({ - name: "registration_fee_services", - joinColumn: { name: "registration_fee_id", referencedColumnName: "id" }, - inverseJoinColumn: { name: "service_id", referencedColumnName: "id" }, - }) - services: Service[]; // ← tetap ada untuk join - - @Column({ - nullable: false, - unique: false, - length: 128, - }) - type: string; - - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} \ No newline at end of file diff --git a/src/entity/reporting/emergency_case_category_fact.ts b/src/entity/reporting/emergency_case_category_fact.ts deleted file mode 100644 index 68a774b..0000000 --- a/src/entity/reporting/emergency_case_category_fact.ts +++ /dev/null @@ -1,60 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - Index, -} from "typeorm"; -import { OpdReportGrain } from "../../types/opd_report_grain"; - -export enum EmergencyCaseCategory { - SUICIDE = "suicide", - HOMICIDE = "homicide", -} - -@Entity({ schema: "reporting", name: "emergency_case_category_fact" }) -@Index(["grain", "period_start", "period_end", "case_category"], { - unique: true, -}) -export class EmergencyCaseCategoryFact { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ - type: "enum", - enum: OpdReportGrain, - nullable: false, - }) - grain: OpdReportGrain; - - @Column({ type: "date", nullable: false }) - period_start: string; - - @Column({ type: "date", nullable: false }) - period_end: string; - - @Column({ - type: "enum", - enum: EmergencyCaseCategory, - nullable: false, - }) - case_category: EmergencyCaseCategory; - - @Column({ type: "int", nullable: false, default: 0 }) - male_cases: number; - - @Column({ type: "int", nullable: false, default: 0 }) - female_cases: number; - - @Column({ type: "int", nullable: false, default: 0 }) - total_cases: number; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; -} diff --git a/src/entity/reporting/emergency_consultation_type_fact.ts b/src/entity/reporting/emergency_consultation_type_fact.ts deleted file mode 100644 index a8927eb..0000000 --- a/src/entity/reporting/emergency_consultation_type_fact.ts +++ /dev/null @@ -1,63 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - Index, -} from "typeorm"; -import { OpdReportGrain } from "../../types/opd_report_grain"; - -@Entity({ schema: "reporting", name: "emergency_consultation_type_fact" }) -@Index(["grain", "period_start", "period_end", "consultation_type"], { - unique: true, -}) -export class EmergencyConsultationTypeFact { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ - type: "enum", - enum: OpdReportGrain, - nullable: false, - }) - grain: OpdReportGrain; - - @Column({ type: "date", nullable: false }) - period_start: string; - - @Column({ type: "date", nullable: false }) - period_end: string; - - @Column({ nullable: false, length: 256 }) - consultation_type: string; - - @Column({ type: "int", nullable: false, default: 0 }) - observation: number; - - @Column({ type: "int", nullable: false, default: 0 }) - admitted: number; - - @Column({ type: "int", nullable: false, default: 0 }) - discharged: number; - - @Column({ type: "int", nullable: false, default: 0 }) - dead: number; - - @Column({ type: "int", nullable: false, default: 0 }) - dba: number; - - @Column({ type: "int", nullable: false, default: 0 }) - total_patients: number; - - @Column({ type: "int", nullable: false, default: 0 }) - rank: number; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; -} diff --git a/src/entity/reporting/emergency_diagnosis_fact.ts b/src/entity/reporting/emergency_diagnosis_fact.ts deleted file mode 100644 index 440c93f..0000000 --- a/src/entity/reporting/emergency_diagnosis_fact.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - Index, -} from "typeorm"; -import { OpdReportGrain } from "../../types/opd_report_grain"; - -@Entity({ schema: "reporting", name: "emergency_diagnosis_fact" }) -@Index(["grain", "period_start", "period_end", "rank", "is_new_only"], { - unique: true, -}) -export class EmergencyDiagnosisFact { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ - type: "enum", - enum: OpdReportGrain, - nullable: false, - }) - grain: OpdReportGrain; - - @Column({ type: "date", nullable: false }) - period_start: string; - - @Column({ type: "date", nullable: false }) - period_end: string; - - @Column({ nullable: true, length: 64 }) - icd_code: string | null; - - @Column({ nullable: false, length: 512 }) - diagnosis_name: string; - - @Column({ type: "int", nullable: false, default: 0 }) - total_visits: number; - - @Column({ type: "int", nullable: false, default: 0 }) - rank: number; - - @Column({ type: "boolean", nullable: false, default: false }) - is_new_only: boolean; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; -} \ No newline at end of file diff --git a/src/entity/reporting/emergency_domestic_violence_fact.ts b/src/entity/reporting/emergency_domestic_violence_fact.ts deleted file mode 100644 index 607dba1..0000000 --- a/src/entity/reporting/emergency_domestic_violence_fact.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - Index, -} from "typeorm"; -import { OpdReportGrain } from "../../types/opd_report_grain"; - -@Entity({ schema: "reporting", name: "emergency_domestic_violence_fact" }) -@Index(["grain", "period_start", "period_end", "violence_type"], { - unique: true, -}) -export class EmergencyDomesticViolenceFact { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ - type: "enum", - enum: OpdReportGrain, - nullable: false, - }) - grain: OpdReportGrain; - - @Column({ type: "date", nullable: false }) - period_start: string; - - @Column({ type: "date", nullable: false }) - period_end: string; - - @Column({ nullable: false, length: 256 }) - violence_type: string; - - @Column({ type: "int", nullable: false, default: 0 }) - total_cases: number; - - @Column({ type: "int", nullable: false, default: 0 }) - rank: number; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; -} diff --git a/src/entity/reporting/emergency_drowning_intoxication_fact.ts b/src/entity/reporting/emergency_drowning_intoxication_fact.ts deleted file mode 100644 index fbe1f5f..0000000 --- a/src/entity/reporting/emergency_drowning_intoxication_fact.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - Index, -} from "typeorm"; -import { OpdReportGrain } from "../../types/opd_report_grain"; - -@Entity({ schema: "reporting", name: "emergency_drowning_intoxication_fact" }) -@Index(["grain", "period_start", "period_end", "case_type"], { - unique: true, -}) -export class EmergencyDrowningIntoxicationFact { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ - type: "enum", - enum: OpdReportGrain, - nullable: false, - }) - grain: OpdReportGrain; - - @Column({ type: "date", nullable: false }) - period_start: string; - - @Column({ type: "date", nullable: false }) - period_end: string; - - @Column({ nullable: false, length: 256 }) - case_type: string; - - @Column({ type: "int", nullable: false, default: 0 }) - male_cases: number; - - @Column({ type: "int", nullable: false, default: 0 }) - female_cases: number; - - @Column({ type: "int", nullable: false, default: 0 }) - total_cases: number; - - @Column({ type: "int", nullable: false, default: 0 }) - rank: number; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; -} diff --git a/src/entity/reporting/emergency_fact.ts b/src/entity/reporting/emergency_fact.ts deleted file mode 100644 index f5b1aaa..0000000 --- a/src/entity/reporting/emergency_fact.ts +++ /dev/null @@ -1,64 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - Index, -} from "typeorm"; -import { OpdReportGrain } from "../../types/opd_report_grain"; - -@Entity({ schema: "reporting", name: "emergency_fact" }) -@Index(["grain", "period_start", "period_end"], { unique: true }) -export class EmergencyFact { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ - type: "enum", - enum: OpdReportGrain, - nullable: false, - }) - grain: OpdReportGrain; - - @Column({ type: "date", nullable: false }) - period_start: string; - - @Column({ type: "date", nullable: false }) - period_end: string; - - @Column({ type: "int", nullable: false, default: 0 }) - total_patients: number; - - @Column({ type: "int", nullable: false, default: 0 }) - new_patients_male: number; - - @Column({ type: "int", nullable: false, default: 0 }) - new_patients_female: number; - - @Column({ type: "int", nullable: false, default: 0 }) - returning_patients_male: number; - - @Column({ type: "int", nullable: false, default: 0 }) - returning_patients_female: number; - - @Column({ type: "int", nullable: false, default: 0 }) - foreign_patients_male: number; - - @Column({ type: "int", nullable: false, default: 0 }) - foreign_patients_female: number; - - @Column({ type: "int", nullable: false, default: 0 }) - total_referral_male: number; - - @Column({ type: "int", nullable: false, default: 0 }) - total_referral_female: number; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; -} \ No newline at end of file diff --git a/src/entity/reporting/emergency_outcome_fact.ts b/src/entity/reporting/emergency_outcome_fact.ts deleted file mode 100644 index fd829b5..0000000 --- a/src/entity/reporting/emergency_outcome_fact.ts +++ /dev/null @@ -1,52 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - Index, -} from "typeorm"; -import { OpdReportGrain } from "../../types/opd_report_grain"; - -@Entity({ schema: "reporting", name: "emergency_outcome_fact" }) -@Index(["grain", "period_start", "period_end"], { unique: true }) -export class EmergencyOutcomeFact { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ - type: "enum", - enum: OpdReportGrain, - nullable: false, - }) - grain: OpdReportGrain; - - @Column({ type: "date", nullable: false }) - period_start: string; - - @Column({ type: "date", nullable: false }) - period_end: string; - - @Column({ type: "int", nullable: false, default: 0 }) - observation: number; - - @Column({ type: "int", nullable: false, default: 0 }) - admitted: number; - - @Column({ type: "int", nullable: false, default: 0 }) - discharged: number; - - @Column({ type: "int", nullable: false, default: 0 }) - dead: number; - - @Column({ type: "int", nullable: false, default: 0 }) - dba: number; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; -} \ No newline at end of file diff --git a/src/entity/reporting/emergency_referral_name_fact.ts b/src/entity/reporting/emergency_referral_name_fact.ts deleted file mode 100644 index 58cbc54..0000000 --- a/src/entity/reporting/emergency_referral_name_fact.ts +++ /dev/null @@ -1,60 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - Index, -} from "typeorm"; -import { OpdReportGrain } from "../../types/opd_report_grain"; - -export enum EmergencyReferralType { - HOSPITAL = "hospital", - HEALTH_CENTER = "health_center", -} - -@Entity({ schema: "reporting", name: "emergency_referral_name_fact" }) -@Index(["grain", "period_start", "period_end", "referral_type", "rank"], { - unique: true, -}) -export class EmergencyReferralNameFact { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ - type: "enum", - enum: OpdReportGrain, - nullable: false, - }) - grain: OpdReportGrain; - - @Column({ type: "date", nullable: false }) - period_start: string; - - @Column({ type: "date", nullable: false }) - period_end: string; - - @Column({ - type: "enum", - enum: EmergencyReferralType, - nullable: false, - }) - referral_type: EmergencyReferralType; - - @Column({ nullable: false, length: 512 }) - referral_name: string; - - @Column({ type: "int", nullable: false, default: 0 }) - total_patients: number; - - @Column({ type: "int", nullable: false, default: 0 }) - rank: number; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; -} \ No newline at end of file diff --git a/src/entity/reporting/emergency_referral_source_fact.ts b/src/entity/reporting/emergency_referral_source_fact.ts deleted file mode 100644 index 33b1d03..0000000 --- a/src/entity/reporting/emergency_referral_source_fact.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - Index, -} from "typeorm"; -import { OpdReportGrain } from "../../types/opd_report_grain"; - -@Entity({ schema: "reporting", name: "emergency_referral_source_fact" }) -@Index(["grain", "period_start", "period_end"], { unique: true }) -export class EmergencyReferralSourceFact { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ - type: "enum", - enum: OpdReportGrain, - nullable: false, - }) - grain: OpdReportGrain; - - @Column({ type: "date", nullable: false }) - period_start: string; - - @Column({ type: "date", nullable: false }) - period_end: string; - - @Column({ type: "int", nullable: false, default: 0 }) - direct: number; - - @Column({ type: "int", nullable: false, default: 0 }) - hospital_referral: number; - - @Column({ type: "int", nullable: false, default: 0 }) - health_center_referral: number; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; -} \ No newline at end of file diff --git a/src/entity/reporting/emergency_traffic_accident_fact.ts b/src/entity/reporting/emergency_traffic_accident_fact.ts deleted file mode 100644 index f45fcd9..0000000 --- a/src/entity/reporting/emergency_traffic_accident_fact.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - Index, -} from "typeorm"; -import { OpdReportGrain } from "../../types/opd_report_grain"; - -@Entity({ schema: "reporting", name: "emergency_traffic_accident_fact" }) -@Index(["grain", "period_start", "period_end", "accident_type"], { - unique: true, -}) -export class EmergencyTrafficAccidentFact { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ - type: "enum", - enum: OpdReportGrain, - nullable: false, - }) - grain: OpdReportGrain; - - @Column({ type: "date", nullable: false }) - period_start: string; - - @Column({ type: "date", nullable: false }) - period_end: string; - - @Column({ nullable: false, length: 256 }) - accident_type: string; - - @Column({ type: "int", nullable: false, default: 0 }) - total_cases: number; - - @Column({ type: "int", nullable: true }) - male_cases: number | null; - - @Column({ type: "int", nullable: true }) - female_cases: number | null; - - @Column({ type: "int", nullable: false, default: 0 }) - rank: number; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; -} diff --git a/src/entity/reporting/opd_clinic_map.ts b/src/entity/reporting/opd_clinic_map.ts deleted file mode 100644 index db46e32..0000000 --- a/src/entity/reporting/opd_clinic_map.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - ManyToOne, - JoinColumn, - Index, -} from "typeorm"; -import { Room } from "../room"; - -@Entity({ schema: "reporting", name: "opd_clinic_map" }) -@Index(["report_name"], { unique: true }) -export class OpdClinicMap { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ nullable: false, length: 256 }) - report_name: string; - - @Column({ nullable: true, length: 256 }) - parent_report_name: string | null; - - @ManyToOne(() => Room, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn({ name: "room_id" }) - room: Room | null; - - @Column({ type: "smallint", nullable: false, default: 0 }) - sort_order: number; - - @Column({ type: "boolean", nullable: false, default: true }) - is_active: boolean; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; -} diff --git a/src/entity/reporting/opd_cron_state.ts b/src/entity/reporting/opd_cron_state.ts deleted file mode 100644 index b1aae8a..0000000 --- a/src/entity/reporting/opd_cron_state.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { - Entity, - PrimaryColumn, - Column, - UpdateDateColumn, -} from "typeorm"; - -@Entity({ schema: "reporting", name: "opd_cron_state" }) -export class OpdCronState { - @PrimaryColumn({ length: 128 }) - job_name: string; - - @Column({ type: "timestamptz", nullable: true }) - last_success_at: Date | null; - - @Column({ type: "date", nullable: true }) - last_period_end: string | null; - - @Column({ type: "text", nullable: true }) - last_error: string | null; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; -} diff --git a/src/entity/reporting/opd_diagnosis_fact.ts b/src/entity/reporting/opd_diagnosis_fact.ts deleted file mode 100644 index 06972b9..0000000 --- a/src/entity/reporting/opd_diagnosis_fact.ts +++ /dev/null @@ -1,65 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - ManyToOne, - JoinColumn, - Index, -} from "typeorm"; -import { Room } from "../room"; -import { OpdReportGrain } from "../../types/opd_report_grain"; - -@Entity({ schema: "reporting", name: "opd_diagnosis_fact" }) -@Index(["grain", "period_start", "period_end", "rank", "is_new_only", "report_name"], { unique: true }) -export class OpdDiagnosisFact { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ - type: "enum", - enum: OpdReportGrain, - nullable: false, - }) - grain: OpdReportGrain; - - @Column({ type: "date", nullable: false }) - period_start: string; - - @Column({ type: "date", nullable: false }) - period_end: string; - - @ManyToOne(() => Room, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn({ name: "room_id" }) - room: Room | null; - - @Column({ nullable: true, length: 256 }) - report_name: string | null; - - @Column({ type: "smallint", nullable: false }) - rank: number; - - @Column({ nullable: true, length: 32 }) - icd_code: string | null; - - @Column({ type: "uuid", nullable: true }) - diagnosis_id: string | null; - - @Column({ nullable: false, length: 512 }) - diagnosis_name: string; - - @Column({ type: "int", nullable: false, default: 0 }) - total_visits: number; - - @Column({ type: "boolean", nullable: false, default: false }) - is_new_only: boolean; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; -} diff --git a/src/entity/reporting/opd_referral_fact.ts b/src/entity/reporting/opd_referral_fact.ts deleted file mode 100644 index b499007..0000000 --- a/src/entity/reporting/opd_referral_fact.ts +++ /dev/null @@ -1,62 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - ManyToOne, - JoinColumn, - Index, -} from "typeorm"; -import { Room } from "../room"; -import { OpdReportGrain } from "../../types/opd_report_grain"; - -@Entity({ schema: "reporting", name: "opd_referral_fact" }) -@Index(["grain", "period_start", "period_end", "report_name"], { unique: true }) -export class OpdReferralFact { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ - type: "enum", - enum: OpdReportGrain, - nullable: false, - }) - grain: OpdReportGrain; - - @Column({ type: "date", nullable: false }) - period_start: string; - - @Column({ type: "date", nullable: false }) - period_end: string; - - @ManyToOne(() => Room, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn({ name: "room_id" }) - room: Room | null; - - @Column({ nullable: true, length: 256 }) - report_name: string | null; - - @Column({ type: "int", nullable: false, default: 0 }) - hospital_referral: number; - - @Column({ type: "int", nullable: false, default: 0 }) - centro_saude_referral: number; - - @Column({ type: "int", nullable: false, default: 0 }) - private_clinic_referral: number; - - @Column({ type: "int", nullable: false, default: 0 }) - private_doctor_referral: number; - - @Column({ type: "int", nullable: false, default: 0 }) - no_referral: number; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; -} diff --git a/src/entity/reporting/opd_visit_fact.ts b/src/entity/reporting/opd_visit_fact.ts deleted file mode 100644 index 20457fc..0000000 --- a/src/entity/reporting/opd_visit_fact.ts +++ /dev/null @@ -1,68 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - ManyToOne, - JoinColumn, - Index, -} from "typeorm"; -import { Room } from "../room"; -import { OpdReportGrain } from "../../types/opd_report_grain"; - -@Entity({ schema: "reporting", name: "opd_visit_fact" }) -@Index(["grain", "period_start", "period_end", "report_name"], { unique: true }) -export class OpdVisitFact { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ - type: "enum", - enum: OpdReportGrain, - nullable: false, - }) - grain: OpdReportGrain; - - @Column({ type: "date", nullable: false }) - period_start: string; - - @Column({ type: "date", nullable: false }) - period_end: string; - - @ManyToOne(() => Room, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn({ name: "room_id" }) - room: Room | null; - - @Column({ nullable: false, length: 256 }) - report_name: string; - - @Column({ type: "int", nullable: false, default: 0 }) - total_visits: number; - - @Column({ type: "int", nullable: false, default: 0 }) - new_visits: number; - - @Column({ type: "int", nullable: false, default: 0 }) - existing_visits: number; - - @Column({ type: "int", nullable: false, default: 0 }) - foreigner_visits: number; - - @Column({ type: "int", nullable: false, default: 0 }) - male_visits: number; - - @Column({ type: "int", nullable: false, default: 0 }) - female_visits: number; - - @Column({ type: "int", nullable: true }) - referral_total: number | null; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; -} diff --git a/src/entity/responsible_party_consent.ts b/src/entity/responsible_party_consent.ts deleted file mode 100644 index bd59c16..0000000 --- a/src/entity/responsible_party_consent.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { Entity, - OneToOne, - PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, ManyToOne, JoinColumn, ManyToMany } from "typeorm"; - -@Entity("responsible_party_consent") -export class ResponsiblePartyConsent { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ - nullable: true, - type: "text", - }) - body: string; - - @Column({ - nullable: true, - type: "text", - }) - type: string; - - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @UpdateDateColumn({ nullable: true }) - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/room.ts b/src/entity/room.ts deleted file mode 100644 index 2e8aaac..0000000 --- a/src/entity/room.ts +++ /dev/null @@ -1,98 +0,0 @@ -import { Entity, OneToOne, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, ManyToOne, JoinColumn, ManyToMany } from "typeorm"; - -import { Status } from "../types/status"; -import { Department } from "./department"; -import { Service } from "./service"; -import { RoomStock } from "./pharmacy-logistic/room_stock"; -import { ServiceClass } from "./service_class"; -import { OneToMany } from "typeorm"; -import { JoinTable } from "typeorm"; -import { SpecialistForm } from "../types/specialist_form"; - -@Entity("rooms") -export class Room { - @PrimaryGeneratedColumn("uuid") - id: string; - - @OneToOne(() => RoomStock, (room) => room.room) - roomstock: RoomStock; - - @Column({ - nullable: false, - length: 256, - }) - room: string; - - @Column({ - nullable: true, - length: 128, - }) - number: string; - - @Column({ - nullable: false, - length: 128, - }) - code: string; - - @Column({ - nullable: true, - length: 512, - }) - description: string; - - @Column({ - type: "text", - nullable: true, - }) - picture: string; - - @Column({ - type: "text", - nullable: true, - }) - location: string; - - @ManyToOne(() => Department, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - department: Department; - - @ManyToOne(() => ServiceClass, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - serviceclass: ServiceClass; - - @Column({ - nullable: true, - }) - floor: number; - - @Column({ - nullable: false, - length: 64, - }) - status: Status; - - @ManyToMany(() => Service, (service) => service.rooms) - services: Service[]; - - @Column({ nullable: true, length: 32 }) - specialist_form: SpecialistForm; - - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @UpdateDateColumn({ nullable: true }) - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/room_number.ts b/src/entity/room_number.ts deleted file mode 100644 index efcdcf8..0000000 --- a/src/entity/room_number.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn } from "typeorm"; -import { Department } from "./department"; -import { ManyToOne } from "typeorm"; -import { JoinColumn } from "typeorm"; - -@Entity("room_number") -export class RoomNumber { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ - nullable: false, - length: 256, - }) - number: string; - - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @UpdateDateColumn({ nullable: true }) - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/room_to_pharmacy.ts b/src/entity/room_to_pharmacy.ts deleted file mode 100644 index 10ca8df..0000000 --- a/src/entity/room_to_pharmacy.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - ManyToOne, - JoinColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, -} from "typeorm"; -import { Room } from "./room"; - -@Entity("room_to_pharmacy") -export class RoomToPharmacy { - @PrimaryGeneratedColumn("uuid") - id!: string; - - // Room asal - @ManyToOne(() => Room, { nullable: false }) - @JoinColumn({ name: "room_id" }) - room!: Room; - - // Room tujuan - @ManyToOne(() => Room, { nullable: false }) - @JoinColumn({ name: "pharmacy_room_id" }) - pharmacy_room!: Room; - - @CreateDateColumn() - created_at!: Date; - - @Column({ nullable: true, length: 256 }) - created_by?: string; - - @UpdateDateColumn({ nullable: true }) - updated_at?: Date; - - @Column({ nullable: true, length: 256 }) - updated_by?: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at?: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by?: string; -} \ No newline at end of file diff --git a/src/entity/schedule_exceptions.ts b/src/entity/schedule_exceptions.ts deleted file mode 100644 index 52a376d..0000000 --- a/src/entity/schedule_exceptions.ts +++ /dev/null @@ -1,74 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - JoinColumn, -} from "typeorm"; - -import { ScheduleSeries } from "./schedule_series"; -import { User } from "./users"; -import { Room } from "./room"; - -@Entity("schedule_exceptions") -export class ScheduleException { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ type: "uuid" }) - series_id: string; - - @ManyToOne(() => ScheduleSeries, { onDelete: "CASCADE" }) - @JoinColumn({ name: "series_id" }) - series: ScheduleSeries; - - @Column({ type: "date", nullable: false }) - occurrence_date: Date; - - @Column({ type: "boolean", default: false }) - is_cancelled: boolean; - - @Column({ type: "uuid", nullable: true }) - override_room_id: string; - - @Column({ type: "uuid", nullable: true }) - override_doctor_id: string; - - @ManyToOne(() => Room, { onDelete: "SET NULL", nullable: true }) - @JoinColumn({ name: "override_room_id" }) - override_room: Room; - - @ManyToOne(() => User, { onDelete: "SET NULL", nullable: true }) - @JoinColumn({ name: "override_doctor_id" }) - override_doctor: User; - - @Column({ nullable: true, length: 256 }) - override_title: string; - - @Column({ type: "timestamptz", nullable: true }) - override_start_at: Date; - - @Column({ type: "timestamptz", nullable: true }) - override_end_at: Date; - - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/schedule_series.ts b/src/entity/schedule_series.ts deleted file mode 100644 index fe8396d..0000000 --- a/src/entity/schedule_series.ts +++ /dev/null @@ -1,80 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - JoinColumn, -} from "typeorm"; - -import { Status } from "../types/status"; -import { User } from "./users"; -import { Room } from "./room"; - -@Entity("schedule_series") -export class ScheduleSeries { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ type: "uuid" }) - room_id: string; - - @Column({ type: "uuid" }) - doctor_id: string; - - @ManyToOne(() => Room, { onDelete: "NO ACTION" }) - @JoinColumn({ name: "room_id" }) - room: Room; - - @ManyToOne(() => User, { onDelete: "NO ACTION" }) - @JoinColumn({ name: "doctor_id" }) - doctor: User; - - @Column({ nullable: false, length: 256 }) - title: string; - - @Column({ type: "date", nullable: false }) - start_date: Date; - - @Column({ type: "date", nullable: true }) - until_date: Date; - - @Column({ type: "time", nullable: false }) - start_time: string; - - @Column({ type: "time", nullable: false }) - end_time: string; - - @Column({ type: "int", nullable: true }) - quota: number; - - @Column({ nullable: true, type: "text" }) - recurrence_rule: string; - - @Column({ - type: "enum", - enum: Status, - default: Status.Active, - }) - status: Status; - - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @DeleteDateColumn({ nullable: true }) - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/service.ts b/src/entity/service.ts deleted file mode 100644 index 8e3c551..0000000 --- a/src/entity/service.ts +++ /dev/null @@ -1,86 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - JoinColumn, - ManyToMany, - JoinTable, - OneToMany, -} from 'typeorm'; - -import { ServiceType } from './service_type'; -import { Room } from './room'; -import { ExaminationDetail } from './examination_detail'; -import { Status } from '../types/status'; -import { ServiceFare } from './service_fare'; -import { ExaminationType } from './examination_type'; - -@Entity('services') -export class Service { - @PrimaryGeneratedColumn('uuid') - id: string; - - @OneToMany(() => ServiceFare, (servicefare) => servicefare.service) - servicefare: ServiceFare; - - @Column({ - nullable: false, - length: 256 - }) - name: string; - - @Column({ - nullable: false, - length: 64 - }) - status: Status; - - @ManyToOne(() => ServiceType, { onDelete: 'NO ACTION' }) - @JoinColumn() - serviceType: ServiceType; - - @ManyToMany(() => Room, (room) => room.services) - @JoinTable({ - name: 'service_rooms', - joinColumn: { name: 'service_id', referencedColumnName: 'id' }, - inverseJoinColumn: { name: 'room_id', referencedColumnName: 'id' }, - }) - rooms: Room[]; - - @ManyToOne(() => ExaminationType, { onDelete: 'NO ACTION' }) - @JoinColumn({ name: 'examination_type_id' }) - examination_type: ExaminationType; - - @ManyToMany(() => ExaminationDetail, { onDelete: 'NO ACTION' }) - @JoinTable({ - name: 'service_examinations', - joinColumn: { name: 'service_id', referencedColumnName: 'id' }, - inverseJoinColumn: { name: 'examination_detail_id', referencedColumnName: 'id' }, - }) - examination_details: ExaminationDetail[]; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/service_class.ts b/src/entity/service_class.ts deleted file mode 100644 index 707fc17..0000000 --- a/src/entity/service_class.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn } from 'typeorm'; - -@Entity('service_classes') -export class ServiceClass { - @PrimaryGeneratedColumn('uuid') - id: string; - - @Column({ - nullable: false, - length: 256 - }) - name: string; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/service_fare.ts b/src/entity/service_fare.ts deleted file mode 100644 index 4450bbf..0000000 --- a/src/entity/service_fare.ts +++ /dev/null @@ -1,62 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - JoinColumn, -} from 'typeorm'; - -import { ServiceClass } from './service_class'; -import { Service } from './service'; -import { FareType } from './faretype'; - -@Entity('service_fares') -export class ServiceFare { - @PrimaryGeneratedColumn('uuid') - id: string; - - @ManyToOne(() => ServiceClass, { onDelete: 'NO ACTION' }) - @JoinColumn() - serviceClass: ServiceClass; - - @ManyToOne(() => FareType, { onDelete: 'NO ACTION' }) - @JoinColumn() - faretype: FareType; - - @ManyToOne(() => Service, { onDelete: 'NO ACTION' }) - @JoinColumn() - service: Service; - - @Column({ - type: 'decimal', - precision: 18, - scale: 2, - nullable: false, - default: 0 - }) - fare: string; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/service_package.ts b/src/entity/service_package.ts deleted file mode 100644 index bf593ec..0000000 --- a/src/entity/service_package.ts +++ /dev/null @@ -1,69 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - ManyToOne, - JoinColumn, - ManyToMany, - JoinTable, -} from 'typeorm'; - -import { ServiceClass } from './service_class'; -import { Service } from './service'; - -@Entity('service_packages') -export class ServicePackage { - @PrimaryGeneratedColumn('uuid') - id: string; - - @Column({ - nullable: false, - length: 256 - }) - name: string; - - @ManyToOne(() => ServiceClass, { onDelete: 'NO ACTION' }) - @JoinColumn() - serviceClass: ServiceClass; - - @Column({ - type: 'decimal', - precision: 18, - scale: 2, - nullable: false, - default: 0 - }) - fare: string; - - @ManyToMany(() => Service) - @JoinTable({ - name: 'service_package_services', - joinColumn: { name: 'service_package_id', referencedColumnName: 'id' }, - inverseJoinColumn: { name: 'service_id', referencedColumnName: 'id' }, - }) - services: Service[]; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/service_type.ts b/src/entity/service_type.ts deleted file mode 100644 index 532f922..0000000 --- a/src/entity/service_type.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn } from 'typeorm'; - -import { Status } from '../types/status'; - -@Entity('service_types') -export class ServiceType { - @PrimaryGeneratedColumn('uuid') - id: string; - - @Column({ - nullable: false, - length: 256 - }) - name: string; - - @Column({ - nullable: false, - length: 64 - }) - status: Status; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/subdistrict.ts b/src/entity/subdistrict.ts deleted file mode 100644 index 044d9dc..0000000 --- a/src/entity/subdistrict.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, ManyToOne, JoinColumn } from 'typeorm'; - -@Entity('subdistrict') -export class Subdistrict { - @PrimaryGeneratedColumn('uuid') - id: string; - - @Column({ - nullable: false, - length: 128, - unique: true -}) -code: string; - - @Column({ - nullable: false, - type:"text" - }) - name: string; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; -} \ No newline at end of file diff --git a/src/entity/suco.ts b/src/entity/suco.ts deleted file mode 100644 index 50b2e09..0000000 --- a/src/entity/suco.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, ManyToOne, JoinColumn } from 'typeorm'; - -import { Status } from '../types/status'; -import { Administrativu } from './administrativu'; - -@Entity('sucos') -export class Suco { - @PrimaryGeneratedColumn('uuid') - id: string; - - @Column({ - nullable: false, - length: 128 - }) - code: string; - - @Column({ - nullable: false, - length: 256 - }) - name: string; - - @ManyToOne(() => Administrativu, { onDelete: "NO ACTION" }) - @JoinColumn() - administrativu: Administrativu; - - @Column({ - nullable: false, - length: 64 - }) - status: Status; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; -} \ No newline at end of file diff --git a/src/entity/surgery_room.ts b/src/entity/surgery_room.ts deleted file mode 100644 index 02da73c..0000000 --- a/src/entity/surgery_room.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, ManyToOne, JoinColumn } from "typeorm"; -import { Room } from "./room"; - -@Entity("surgery_rooms") -export class SurgeryRoom { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => Room, { onDelete: "NO ACTION" }) - @JoinColumn() - room: Room; - - @Column({ - nullable: false, - type: "text", - }) - name: string; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} - diff --git a/src/entity/surgery_type.ts b/src/entity/surgery_type.ts deleted file mode 100644 index 427f266..0000000 --- a/src/entity/surgery_type.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, DeleteDateColumn, UpdateDateColumn, CreateDateColumn } from "typeorm"; - -@Entity("surgery_types") -export class SurgeryType { - @PrimaryGeneratedColumn("uuid") - id: string; - - @Column({ - nullable: false, - type: "text", - unique: true, - }) - name: string; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/treatment/treatment_plan.ts b/src/entity/treatment/treatment_plan.ts deleted file mode 100644 index f1eeb70..0000000 --- a/src/entity/treatment/treatment_plan.ts +++ /dev/null @@ -1,89 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, ManyToOne, JoinColumn, OneToMany } from "typeorm"; -import { EmrPatient } from "../emr/emr_patient"; -import { User } from "../users"; -import { EmrRegistration } from "../emr/emr_registration"; -import { TreatmentPlanSession } from "./treatment_plan_session"; - -export enum TreatmentIntervalType { - DAY = "day", - WEEK = "week", - MONTH = "month", - CUSTOM = "custom" -} - -export enum TreatmentStatus { - ACTIVE = "active", - COMPLETED = "completed", - CANCELLED = "cancelled" -} - -@Entity("treatment_plans", { schema: "emr" }) -export class TreatmentPlan { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => EmrPatient, { onDelete: "NO ACTION" }) - @JoinColumn() - patient: EmrPatient; - - @ManyToOne(() => EmrRegistration, { onDelete: "SET NULL", nullable: true }) - @JoinColumn() - registration: EmrRegistration; - - @ManyToOne(() => User, { onDelete: "SET NULL", nullable: true }) - @JoinColumn() - doctor: User; - - @Column({ nullable: true, length: 256 }) - treatment_type: string; - - @Column({ type: "date", nullable: false }) - start_date: Date; - - @Column({ type: "int", nullable: false }) - sessions_count: number; - - @Column({ - type: "enum", - enum: TreatmentIntervalType, - default: TreatmentIntervalType.WEEK, - }) - interval_type: TreatmentIntervalType; - - @Column({ type: "int", nullable: true }) - interval_value: number; - - @Column({ type: "jsonb", nullable: true }) - weekdays: number[]; - - @Column({ - type: "enum", - enum: TreatmentStatus, - default: TreatmentStatus.ACTIVE, - }) - status: TreatmentStatus; - - @OneToMany(() => TreatmentPlanSession, (session) => session.treatment_plan, { cascade: true }) - sessions: TreatmentPlanSession[]; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/treatment/treatment_plan_session.ts b/src/entity/treatment/treatment_plan_session.ts deleted file mode 100644 index bc93e9c..0000000 --- a/src/entity/treatment/treatment_plan_session.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, ManyToOne, JoinColumn } from "typeorm"; -import { TreatmentPlan } from "./treatment_plan"; -import { TreatmentSessionStatus } from "../../types/treatment_session" - -@Entity("treatment_plan_sessions", { schema: "emr" }) -export class TreatmentPlanSession { - @PrimaryGeneratedColumn("uuid") - id: string; - - @ManyToOne(() => TreatmentPlan, (plan) => plan.sessions, { onDelete: "CASCADE" }) - @JoinColumn({ name: "treatment_plan_id" }) - treatment_plan: TreatmentPlan; - - @Column({ type: "int", nullable: false }) - session_no: number; - - @Column({ type: "date", nullable: false }) - planned_date: Date; - - @Column({ type: "enum", - enum: TreatmentSessionStatus, - default: TreatmentSessionStatus.PLANNED, - }) - status: TreatmentSessionStatus; - - @Column({ type: "timestamp with time zone", nullable: true }) - start_date: Date; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true, length: 256 }) - created_by: string; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true, length: 256 }) - updated_by: string; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; - - @Column({ nullable: true, length: 256 }) - deleted_by: string; -} diff --git a/src/entity/user_activity.ts b/src/entity/user_activity.ts index a516b49..b66809b 100644 --- a/src/entity/user_activity.ts +++ b/src/entity/user_activity.ts @@ -1,7 +1,7 @@ import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, JoinColumn, ManyToOne } from 'typeorm'; import { ActivityType } from '../types/action'; -import { Application } from './application'; +// import { Application } from './application'; import { User } from './users'; @Entity('user_activities') @@ -9,11 +9,11 @@ export class UserActivity { @PrimaryGeneratedColumn('uuid') id: string; - @ManyToOne(() => Application, { onDelete: "RESTRICT" }) - @JoinColumn({ name: 'application' }) - application: Application + // @ManyToOne(() => Application, { onDelete: "RESTRICT" }) + // @JoinColumn({ name: 'application' }) + // application: Application - @ManyToOne(() => User, (user) => user.id, { nullable: true, onDelete: 'CASCADE' }) + @ManyToOne(() => User, (user:any) => user.id, { nullable: true, onDelete: 'CASCADE' }) @JoinColumn({ name: 'id_user' }) user: User; diff --git a/src/entity/user_to_room.ts b/src/entity/user_to_room.ts deleted file mode 100644 index f76ac06..0000000 --- a/src/entity/user_to_room.ts +++ /dev/null @@ -1,52 +0,0 @@ -import { - Entity, - PrimaryGeneratedColumn, - ManyToOne, - JoinColumn, - Column, - CreateDateColumn, - UpdateDateColumn, - DeleteDateColumn, - } from "typeorm"; - import { User } from "./users"; // Import entity Service - import { Room } from "./room"; // Import entity Room - - @Entity("user_to_room") - export class UserToRoom { - @PrimaryGeneratedColumn("uuid") - id!: string; - - // Relasi ke Service, tiap service bisa terkait dengan banyak room - @ManyToOne(() => User, { nullable: false }) - @JoinColumn({ name: "user_id" }) - user!: User; - - // Relasi ke Room, tiap room bisa terkait dengan banyak service - @ManyToOne(() => Room, { nullable: false }) - @JoinColumn({ name: "room_id" }) - room!: Room; - - // Tanggal pembuatan - @CreateDateColumn() - created_at!: Date; - - // Kolom untuk tracking siapa yang membuat - @Column({ nullable: true, length: 256 }) - created_by?: string; - - // Tanggal pembaruan - @UpdateDateColumn({ nullable: true }) - updated_at?: Date; - - // Kolom untuk tracking siapa yang memperbarui - @Column({ nullable: true, length: 256 }) - updated_by?: string; - - // Tanggal penghapusan - @DeleteDateColumn({ nullable: true }) - deleted_at?: Date; - - // Kolom untuk tracking siapa yang menghapus - @Column({ nullable: true, length: 256 }) - deleted_by?: string; - } \ No newline at end of file diff --git a/src/entity/users.ts b/src/entity/users.ts index feb93e8..b5c439b 100644 --- a/src/entity/users.ts +++ b/src/entity/users.ts @@ -3,7 +3,6 @@ import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateCol import { Status } from "../types/status"; import { UserRole } from "./users_roles"; -import { HrmsEmployee } from "./hrms/hrms_employee"; @Entity("users") export class User { @@ -17,9 +16,9 @@ export class User { }) email: string; - @ManyToOne(() => HrmsEmployee, { onDelete: "NO ACTION", nullable: true }) - @JoinColumn() - employee: HrmsEmployee | null; + // @ManyToOne(() => HrmsEmployee, { onDelete: "NO ACTION", nullable: true }) + // @JoinColumn() + // employee: HrmsEmployee | null; @Column({ nullable: false, @@ -42,19 +41,6 @@ export class User { }) name: string; - @Column({ - nullable: true, - unique: false, - type: "text", - }) - signature: string; - - @Column({ - nullable: true, - unique: false, - type: "text", - }) - profile_picture: string; @ManyToMany(() => UserRole, { onDelete: "CASCADE" }) @JoinTable() diff --git a/src/entity/users_roles.ts b/src/entity/users_roles.ts index 5bb28df..b2b78bc 100644 --- a/src/entity/users_roles.ts +++ b/src/entity/users_roles.ts @@ -1,7 +1,7 @@ import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, JoinColumn, ManyToOne, ManyToMany } from "typeorm"; import { Status } from "../types/status"; -import { Application } from "./application"; +// import { Application } from "./application"; import { User } from "./users"; @Entity("user_roles") @@ -9,9 +9,9 @@ export class UserRole { @PrimaryGeneratedColumn("uuid") id: string; - @ManyToOne(() => Application, { onDelete: "RESTRICT" }) - @JoinColumn({ name: "application" }) - application: Application; + // @ManyToOne(() => Application, { onDelete: "RESTRICT" }) + // @JoinColumn({ name: "application" }) + // application: Application; @Column({ nullable: false, diff --git a/src/entity/ward.ts b/src/entity/ward.ts deleted file mode 100644 index 63cefc4..0000000 --- a/src/entity/ward.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, ManyToOne, JoinColumn } from 'typeorm'; - -@Entity('ward') -export class Ward { - @PrimaryGeneratedColumn('uuid') - id: string; - - @Column({ - nullable: false, - length: 128, - unique: true -}) -code: string; - @Column({ - nullable: false, - type:"text" - }) - name: string; - - @Column() - @CreateDateColumn() - created_at: Date; - - @Column({ nullable: true }) - @UpdateDateColumn() - updated_at: Date; - - @Column({ nullable: true }) - @DeleteDateColumn() - deleted_at: Date; -} \ No newline at end of file diff --git a/src/index.ts b/src/index.ts index 017cebb..2a4716d 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,11 +1,3 @@ export * from "./schema/public"; -export * from "./schema/hrms"; -export * from "./schema/emr"; -export * from "./schema/finances"; -export * from "./schema/procurement"; -export * from "./schema/pharmacy"; -export * from "./schema/pharmacy_logistic"; -export * from "./schema/cashier"; -export * from "./schema/blood_bank"; -export * from "./schema/card_management"; -export * from "./schema/reporting"; \ No newline at end of file +export * from "./types/paging"; +export * from "./types/status"; diff --git a/src/schema/blood_bank.ts b/src/schema/blood_bank.ts deleted file mode 100644 index aaf533d..0000000 --- a/src/schema/blood_bank.ts +++ /dev/null @@ -1,13 +0,0 @@ -export * from "../types/blood_unit_status"; -export * from "../types/blood_request_status"; -export * from "../types/blood_component_type"; -export * from "../types/blood_stock_movement_type"; -export * from "../entity/blood-bank/blood_donor"; -export * from "../entity/blood-bank/blood_unit"; -export * from "../entity/blood-bank/blood_request"; -export * from "../entity/blood-bank/blood_request_item"; -export * from "../entity/blood-bank/cross_match"; -export * from "../entity/blood-bank/blood_dispatch"; -export * from "../entity/blood-bank/blood_waste_log"; -export * from "../entity/blood-bank/blood_stock"; -export * from "../entity/blood-bank/blood_stock_movement"; diff --git a/src/schema/card_management.ts b/src/schema/card_management.ts deleted file mode 100644 index 82a1a99..0000000 --- a/src/schema/card_management.ts +++ /dev/null @@ -1,4 +0,0 @@ -export * from "../types/card_inventory_status"; -export * from "../entity/card-management/card_inventory"; -export * from "../entity/card-management/running_number_log"; -export * from "../entity/card-management/card_stock_in"; diff --git a/src/schema/cashier.ts b/src/schema/cashier.ts deleted file mode 100644 index e90c79d..0000000 --- a/src/schema/cashier.ts +++ /dev/null @@ -1,7 +0,0 @@ -export * from "../entity/cashier/cashier"; -export * from "../entity/cashier/cashier_item"; -export * from "../entity/cashier/payment_received"; -export * from "../entity/cashier/payment_received_item"; - -export * from "../types/billing_status"; -export * from "../types/billing_item_status"; diff --git a/src/schema/emr.ts b/src/schema/emr.ts deleted file mode 100644 index 0121b2e..0000000 --- a/src/schema/emr.ts +++ /dev/null @@ -1,77 +0,0 @@ -export * from "../entity/emr/emr_patient"; -export * from "../entity/emr/emr_registration"; -export * from "../entity/emr/emr_registration_outpatient"; -export * from "../entity/emr/emr_registration_inpatient"; -export * from "../entity/emr/emr_registration_emergency"; -export * from "../entity/emr/emr_registration_hemodialysis"; -export * from "../entity/emr/emr_hemodialysis_settings"; -export * from "../entity/emr/emr_hemodialysis_plan"; -export * from "../entity/emr/emr_hemodialysis_schedule"; -export * from "../entity/emr/emr_hemodialysis_visit"; -export * from "../entity/emr/emr_hemodialysis_visit_detail"; -export * from "../entity/emr/emr_anamnesis"; -export * from "../entity/emr/emr_vital_signs"; -export * from "../entity/emr/emr_physical_examination"; -export * from "../entity/emr/emr_diet"; -export * from "../entity/emr/emr_boarding_rooms"; -export * from "../entity/emr/emr_boarding_room_doctor_histories"; -export * from "../entity/emr/emr_boarding_room_bed_histories"; -export * from "../entity/emr/emr_boarding_room_deceased"; -export * from "../entity/emr/emr_boarding_room_discharge"; -export * from "../entity/emr/emr_boarding_room_emergency_status"; -export * from "../entity/emr/emr_boarding_room_procedure_report"; -export * from "../entity/emr/emr_boarding_room_medical_summary"; -export * from "../entity/emr/emr_diagnosis"; -export * from "../entity/emr/emr_diagnostic_procedure"; -export * from "../entity/emr/emr_doctor_procedure"; -export * from "../entity/emr/emr_internal_consultation"; -export * from "../entity/emr/emr_laboratory_orders"; -export * from "../entity/emr/emr_laboratory_order_items"; -export * from "../entity/emr/emr_laboratory_order_item_results"; -export * from "../entity/emr/emr_prescription"; -export * from "../entity/emr/emr_radiology"; -export * from "../entity/emr/emr_radiology_services"; -export * from "../entity/emr/emr_compounding_medicine"; -export * from "../entity/emr/emr_compounding_medicine_item"; -export * from "../entity/emr/emr_room_medical_equipment"; -export * from "../entity/emr/emr_external_consultation"; -export * from "../entity/emr/emr_pharmacy_order"; -export * from "../entity/emr/emr_pharmacy_order_activity"; -export * from "../entity/emr/emr_registration_emergency_responsible"; -export * from "../entity/emr/emr_discharge_status_emergency"; -export * from "../entity/emr/emr_emergency_transfers"; -export * from "../entity/emr/emr_emergency_transfer_medications"; -export * from "../entity/emr/emr_emergency_transfer_attached_devices"; -export * from "../entity/emr/emr_emergency_transfer_diagnostics"; -export * from "../entity/emr/emr_emergency_transfer_clinical_interventions"; -export * from "../entity/emr/emr_emergency_transfer_patient_conditions"; -export * from "../entity/emr/emr_emergency_transfer_additional_attending_physicians"; -export * from "../entity/emr/emr_emergency_transfer_secondary_diagnoses"; -export * from "../entity/emr/emr_physical_examination_emergency"; -export * from "../entity/emr/emr_doctor_order_emergency"; -export * from "../entity/emr/emr_atenatal_care"; -export * from "../entity/emr/emr_nursing_assesment"; -export * from "../entity/emr/emr_patient_education"; -export * from "../entity/emr/emr_soap_notes"; -export * from "../entity/emr/emr_surgery_schedules"; -export * from "../entity/emr/emr_odontogram"; -export * from "../entity/emr/emr_odontogram_teeth"; -export * from "../entity/treatment/treatment_plan"; -export * from "../entity/treatment/treatment_plan_session"; -export * from "../entity/emr/emr_registration_treatment"; -export * from "../entity/emr/emr_ancillary_service_order"; -export * from "../entity/emr/emr_observation_record"; -export * from "../entity/emr/emr_patient_past_medical_document"; - -export * from "../types/registration_type"; -export * from "../types/registration_status"; -export * from "../types/pharmacy_order_status"; -export * from "../types/prescription_pharmacy_status"; -export * from "../types/radiology_order_status"; -export * from "../types/laboratory_order_status"; -export * from "../enum/consciousness"; -export * from "../enum/avpu"; -export * from "../types/patient_category"; -export * from "../types/citizen"; -export * from "../types/treatment_session"; -export * from "../types/ancillary_service_order_status"; diff --git a/src/schema/finances.ts b/src/schema/finances.ts deleted file mode 100644 index c0344bd..0000000 --- a/src/schema/finances.ts +++ /dev/null @@ -1,3 +0,0 @@ -// Finance entities (../entity/finance/*) are not yet implemented. -// Re-export types for consumers. -export * from "../types/finance"; diff --git a/src/schema/hrms.ts b/src/schema/hrms.ts deleted file mode 100644 index ff83b75..0000000 --- a/src/schema/hrms.ts +++ /dev/null @@ -1,20 +0,0 @@ -export * from "../entity/hrms/hrms_department"; -export * from "../entity/hrms/hrms_position"; -export * from "../entity/hrms/hrms_holiday"; -export * from "../entity/hrms/hrms_leave_type"; -export * from "../entity/hrms/hrms_shift"; -export * from "../entity/hrms/hrms_employee"; -export * from "../entity/hrms/hrms_scholarship"; -export * from "../entity/hrms/hrms_training"; -export * from "../entity/hrms/hrms_training_participant"; -export * from "../entity/hrms/hrms_bank"; -export * from "../entity/hrms/hrms_attendance"; -export * from "../entity/hrms/hrms_attendance_request"; -export * from "../entity/hrms/hrms_attendance_request_approval"; -export * from "../entity/hrms/hrms_payroll"; -export * from "../entity/hrms/hrms_payroll_monthly"; -export * from "../entity/hrms/hrms_leave"; -export * from "../entity/hrms/hrms_leave_approval"; -export * from "../entity/hrms/hrms_leave_document"; - -export * from "../types/hrms"; diff --git a/src/schema/pharmacy.ts b/src/schema/pharmacy.ts deleted file mode 100644 index 738bdee..0000000 --- a/src/schema/pharmacy.ts +++ /dev/null @@ -1,21 +0,0 @@ -export * from "../entity/pharmacy/item_group"; -export * from "../entity/pharmacy/item_origin"; -export * from "../entity/pharmacy/item_type"; -export * from "../entity/pharmacy/item_type_detail"; -export * from "../entity/pharmacy/unit"; -export * from "../entity/pharmacy/item_category"; -export * from "../entity/pharmacy/item_status"; -export * from "../entity/pharmacy/usage_instructions"; -export * from "../entity/pharmacy/usage_time"; -export * from "../entity/pharmacy/item_class"; -export * from "../entity/pharmacy/item_class_detail"; -export * from "../entity/pharmacy/generic_name"; -export * from "../entity/pharmacy/factory"; -export * from "../entity/pharmacy/supplier"; -export * from "../entity/pharmacy/factory_to_supplier"; -export * from "../entity/pharmacy/item_master"; -export * from "../entity/pharmacy/pharmacy_info"; -export * from "../entity/pharmacy/item_price"; -export * from "../entity/pharmacy/selling_price_percentage"; -export * from "../entity/pharmacy/initial_stock"; -export * from "../entity/pharmacy/planning_verificator"; diff --git a/src/schema/pharmacy_logistic.ts b/src/schema/pharmacy_logistic.ts deleted file mode 100644 index c79a964..0000000 --- a/src/schema/pharmacy_logistic.ts +++ /dev/null @@ -1,9 +0,0 @@ -export * from "../entity/pharmacy-logistic/order_item" -export * from "../entity/pharmacy-logistic/order_item_detail" -export * from "../entity/pharmacy-logistic/receive_order" -export * from "../entity/pharmacy-logistic/receive_order_detail" -export * from "../entity/pharmacy-logistic/room_order" -export * from "../entity/pharmacy-logistic/room_order_detail" -export * from "../entity/pharmacy-logistic/delivery_room" -export * from "../entity/pharmacy-logistic/delivery_room_detail" -export * from "../entity/pharmacy-logistic/room_stock" \ No newline at end of file diff --git a/src/schema/procurement.ts b/src/schema/procurement.ts deleted file mode 100644 index 83cb5cc..0000000 --- a/src/schema/procurement.ts +++ /dev/null @@ -1,3 +0,0 @@ -// Procurement entities (../entity/procurement/*) are not yet implemented. -// Re-export types for consumers. -export * from "../types/procurement"; diff --git a/src/schema/public.ts b/src/schema/public.ts index 9ece77f..0c44074 100644 --- a/src/schema/public.ts +++ b/src/schema/public.ts @@ -2,77 +2,5 @@ export * from "../entity/user_activity"; export * from "../entity/user_refresh_token"; export * from "../entity/users"; export * from "../entity/users_roles"; -export * from "../entity/menu"; -export * from "../entity/administrativu"; -export * from "../entity/aldeia"; -export * from "../entity/district"; -export * from "../entity/munisipo"; -export * from "../entity/suco"; -export * from "../entity/application"; -export * from "../entity/currencies"; -export * from "../entity/inpatient_rooms"; -export * from "../entity/inpatient_room_beds"; -export * from "../entity/inpatient_room_bed_details"; -export * from "../entity/surgery_room"; -export * from "../entity/surgery_type"; -export * from "../entity/nationality"; -export * from "../entity/diagnosis"; -export * from "../entity/diagnostic_procedure"; -export * from "../entity/room"; -export * from "../entity/service_type"; -export * from "../entity/service_class"; -export * from "../entity/service"; -export * from "../entity/service_fare"; -export * from "../entity/service_package"; -export * from "../entity/department"; -export * from "../entity/doctor_schedule"; -export * from "../entity/schedule_series"; -export * from "../entity/schedule_exceptions"; -export * from "../entity/doctor_item"; -export * from "../entity/doctor_item_package"; -export * from "../entity/measurement_unit"; -export * from "../entity/reference_range"; -export * from "../entity/queue_monitoring"; -export * from "../entity/queue_monitoring_rooms"; -export * from "../entity/examination_detail"; -export * from "../entity/examination_type"; -export * from "../entity/examination_detail"; -export * from "../entity/measurement_unit"; -export * from "../entity/hospital_information"; -export * from "../entity/patient_group"; -export * from "../entity/patient_guarantor"; -export * from "../entity/user_to_room"; -export * from "../entity/refferal_hospital"; -export * from "../entity/room_to_pharmacy"; -export * from "../entity/faretype"; -export * from "../entity/card_type"; -export * from "../entity/payment_method"; -export * from "../entity/registrationfee"; -export * from "../entity/province"; -export * from "../entity/city"; -export * from "../entity/subdistrict"; -export * from "../entity/ward"; -export * from "../entity/responsible_party_consent"; -export * from "../entity/foster_care_history"; -export * from "../entity/notification"; -export * from "../entity/counter"; -export * from "../entity/room_number"; -export * from "../entity/medical_form"; -export * from "../entity/main_disease"; -export * from "../entity/card_key_sets"; -export * from "../entity/card_print_queue"; -export * from "../types/public"; export * from "../types/action"; -export * from "../types/error"; -export * from "../types/paging"; -export * from "../types/role"; -export * from "../types/status"; -export * from "../types/email"; -export * from "../types/telegram"; -export * from "../types/specialist_form"; -export * from "../types/diagnosis_type"; -export * from "../types/notification_priority"; -export * from "../types/card_print_queue_status"; -export * from "../types/card_print_queue_type"; -export * from "../types/referral_hospital_type"; diff --git a/src/schema/reporting.ts b/src/schema/reporting.ts deleted file mode 100644 index 38fee29..0000000 --- a/src/schema/reporting.ts +++ /dev/null @@ -1,16 +0,0 @@ -export * from "../types/opd_report_grain"; -export * from "../entity/reporting/opd_clinic_map"; -export * from "../entity/reporting/opd_visit_fact"; -export * from "../entity/reporting/opd_diagnosis_fact"; -export * from "../entity/reporting/opd_referral_fact"; -export * from "../entity/reporting/opd_cron_state"; -export * from "../entity/reporting/emergency_fact"; -export * from "../entity/reporting/emergency_outcome_fact"; -export * from "../entity/reporting/emergency_referral_source_fact"; -export * from "../entity/reporting/emergency_referral_name_fact"; -export * from "../entity/reporting/emergency_diagnosis_fact"; -export * from "../entity/reporting/emergency_consultation_type_fact"; -export * from "../entity/reporting/emergency_traffic_accident_fact"; -export * from "../entity/reporting/emergency_domestic_violence_fact"; -export * from "../entity/reporting/emergency_case_category_fact"; -export * from "../entity/reporting/emergency_drowning_intoxication_fact"; diff --git a/src/types/ancillary_service_order_status.ts b/src/types/ancillary_service_order_status.ts deleted file mode 100644 index b4e715b..0000000 --- a/src/types/ancillary_service_order_status.ts +++ /dev/null @@ -1,13 +0,0 @@ -/** - * Workflow status untuk order tindakan tambahan. - * Ordered: order diterima oleh perawat - * In Progress: order sedang dikerjakan - * Completed: order selesai - * Canceled: order dibatalkan - */ -export enum AncillaryServiceOrderStatus { - ORDERED = "ordered", - IN_PROGRESS = "in_progress", - COMPLETED = "completed", - CANCELED = "canceled", -} diff --git a/src/types/billing_item_status.ts b/src/types/billing_item_status.ts deleted file mode 100644 index 681537b..0000000 --- a/src/types/billing_item_status.ts +++ /dev/null @@ -1,9 +0,0 @@ -/** - * Workflow status for cashier billing item. - * Paid: billing item has been fully paid - * Unpaid: billing item has not been paid - */ -export enum BillingItemStatus { - PAID = "PAID", - UNPAID = "UNPAID", -} \ No newline at end of file diff --git a/src/types/billing_status.ts b/src/types/billing_status.ts deleted file mode 100644 index 32ae66f..0000000 --- a/src/types/billing_status.ts +++ /dev/null @@ -1,11 +0,0 @@ -/** - * Workflow status for cashier billing. - * Paid: billing has been fully paid - * Unpaid: billing has not been paid - * Partially paid: billing has been partially paid - */ -export enum BillingStatus { - PAID = "PAID", - UNPAID = "UNPAID", - PARTIALLY_PAID = "PARTIALLY_PAID", -} \ No newline at end of file diff --git a/src/types/blood_component_type.ts b/src/types/blood_component_type.ts deleted file mode 100644 index be5e50e..0000000 --- a/src/types/blood_component_type.ts +++ /dev/null @@ -1,9 +0,0 @@ -/** - * Blood component types. - */ -export enum BloodComponentType { - WHOLE_BLOOD = "whole_blood", - RED_CELLS = "red_cells", - PLATELETS = "platelets", - PLASMA = "plasma", -} diff --git a/src/types/blood_request_status.ts b/src/types/blood_request_status.ts deleted file mode 100644 index 501baa4..0000000 --- a/src/types/blood_request_status.ts +++ /dev/null @@ -1,12 +0,0 @@ -/** - * Workflow status for a blood request. - */ -export enum BloodRequestStatus { - WAITING = "waiting", - ORDERED = "ordered", - CROSSMATCHED = "crossmatched", - VERIFIED = "verified", - ISSUED = "issued", - COMPLETED = "completed", - CANCELED = "canceled", -} diff --git a/src/types/blood_stock_movement_type.ts b/src/types/blood_stock_movement_type.ts deleted file mode 100644 index 322fa2e..0000000 --- a/src/types/blood_stock_movement_type.ts +++ /dev/null @@ -1,9 +0,0 @@ -/** - * Blood stock movement types. - */ -export enum BloodStockMovementType { - RECEIVE = "receive", - TRANSFER = "transfer", - ISSUE = "issue", - DISCARD = "discard", -} diff --git a/src/types/blood_unit_status.ts b/src/types/blood_unit_status.ts deleted file mode 100644 index f86fad0..0000000 --- a/src/types/blood_unit_status.ts +++ /dev/null @@ -1,14 +0,0 @@ -/** - * Workflow status for a blood unit. - */ -export enum BloodUnitStatus { - COLLECTED = "collected", - QUARANTINE = "quarantine", - SCREENED = "screened", - AVAILABLE = "available", - RESERVED = "reserved", - ISSUED = "issued", - TRANSFUSED = "transfused", - DISCARDED = "discarded", - EXPIRED = "expired", -} diff --git a/src/types/card_inventory_status.ts b/src/types/card_inventory_status.ts deleted file mode 100644 index 351be3d..0000000 --- a/src/types/card_inventory_status.ts +++ /dev/null @@ -1,7 +0,0 @@ -export enum CardInventoryStatus { - /** Blank card in stock — not yet assigned / injected to a patient */ - NOT_USED = "NOT_USED", - ACTIVE = "ACTIVE", - LOST = "LOST", - REPLACED = "REPLACED", -} diff --git a/src/types/card_print_queue_status.ts b/src/types/card_print_queue_status.ts deleted file mode 100644 index 1c0783e..0000000 --- a/src/types/card_print_queue_status.ts +++ /dev/null @@ -1,7 +0,0 @@ -export enum CardPrintQueueStatus { - PENDING = "pending", - IN_PROGRESS = "in_progress", - COMPLETED = "completed", - FAILED = "failed", - BLOCKED = "blocked", -} diff --git a/src/types/card_print_queue_type.ts b/src/types/card_print_queue_type.ts deleted file mode 100644 index f01219b..0000000 --- a/src/types/card_print_queue_type.ts +++ /dev/null @@ -1,5 +0,0 @@ -export enum CardPrintQueueType { - PRINT_PROVISION = "print_provision", - PROVISION = "provision", - PRINT = "print", -} diff --git a/src/types/citizen.ts b/src/types/citizen.ts deleted file mode 100644 index 280bcf2..0000000 --- a/src/types/citizen.ts +++ /dev/null @@ -1,9 +0,0 @@ -/** - * Workflow kategori pendaftaran pasien. - * Timoroan: pasien timor leste - * Estranjeiru: pasien asing - */ -export enum Citizen { - TIMOROAN = "timoroan", - ESTRANJEIRU = "estranjeiru", -} diff --git a/src/types/diagnosis_type.ts b/src/types/diagnosis_type.ts deleted file mode 100644 index f1bd1b9..0000000 --- a/src/types/diagnosis_type.ts +++ /dev/null @@ -1,8 +0,0 @@ -export enum DiagnosisType { - MATERNITY = "maternity", - SURGERY = "surgery", - MEDICINE = "medicine", - TRAFFIC_ACCIDENT = "traffic_accident", - VIOLENCE = "violence", - OTHER = "other", -} diff --git a/src/types/email.ts b/src/types/email.ts deleted file mode 100644 index 0fd0b36..0000000 --- a/src/types/email.ts +++ /dev/null @@ -1,24 +0,0 @@ -export class EmailBody { - subject: string; - to: string[]; - cc: string[]; - bcc: string[]; - html: string; -} - -export class EmailBodyTrx { - from: string; - subject: string; - to: string[]; - cc: string[]; - bcc: string[]; - html: string; -} - -export enum EmailTrxFrom { - "non_reply" = "non_reply", - "registration" = "registration", - "verification" = "verification", - "transaction" = "transaction", - "info" = "info", -} diff --git a/src/types/emr.ts b/src/types/emr.ts deleted file mode 100644 index a860793..0000000 --- a/src/types/emr.ts +++ /dev/null @@ -1,14 +0,0 @@ -export enum TransferMethodType { - "Wheelchair" = "wheelchair", - "Stretcher" = "stretcher", - "Bed" = "bed", -} - -export enum TransferRiskType { - "RespiratoryArrest" = "respiratory_arrest", - "CardiacArrest" = "cardiac_arrest", - "Vomiting" = "vomiting", - "Bleeding" = "bleeding", - "Seizure" = "seizure", - "Other" = "other", -} diff --git a/src/types/error.ts b/src/types/error.ts deleted file mode 100644 index 1415969..0000000 --- a/src/types/error.ts +++ /dev/null @@ -1,3 +0,0 @@ -export type ErrorType = 'General' | 'Raw' | 'Validation' | 'Unauthorized'; - -export type ErrorValidation = { [key: string]: string }; \ No newline at end of file diff --git a/src/types/finance.ts b/src/types/finance.ts deleted file mode 100644 index f7485e8..0000000 --- a/src/types/finance.ts +++ /dev/null @@ -1,90 +0,0 @@ -export enum FinancePurchaseRequestStatusType { - draft = "draft", - pending_prepare = "pending_prepare", - pending_approve = "pending_approve", - approve = "approve", - reject = "reject", -} - -export enum FinanceCpvType { - buying_service = "buying_service", - capital_minor = "capital_minor", -} - -export enum FinanceCpvPaymentModelType { - pagamento_directo = "pagamento_directo", - aprovisionamento_centralizado = "aprovisionamento_centralizado", - aprovisionamento_adn = "aprovisionamento_adn", -} - -export enum FinanceCpvPaymentStageType { - adiantamento = "adiantamento", - parcial = "parcial", - final = "final", - adicional = "adicional", -} - -export enum FinanceCpvPaymentMethodType { - cash = "cash", - transfer = "transfer", - cheque = "cheque", -} - -export enum FinanceCpvStatusType { - draft = "draft", - pending_finance = "pending_finance", - pending_agency = "pending_agency", - pending_certificate = "pending_certificate", - pending_treasury = "pending_treasury", - pending_president = "pending_president", - progress_payment = "progress_payment", - paid = "paid", - reject = "reject", -} - -export enum FinancePaymentOrderStatusType { - draft = "draft", - pending_approve = "pending_approve", - approve = "approve", - reject = "reject", -} - -export enum PettyCashTransactionType { - credit = "credit", // Topup/Entry - expense = "expense", // Deduct/Expense -} - -export enum FinanceChecklistPaymentItemType { - ADVANCE_FUND = "advance_fund", - FCP_CPV = "fcp_cpv", - PRT = "prt", - PAYMENT_ORDER = "payment_order", - OBLIGATION = "obligation", - PAYMENT_REQUEST = "payment_request", - CHEQUE = "cheque", - INVOICE = "invoice", - ASSET_REGISTRATION = "asset_registration", - AND_RECOMMENDATION = "and_recomendation", - SERVICE_REPORT = "service_report", - FINANCE_CODE = "finance_code", - OTHER_DOCUMENT = "other_document", -} - -export enum FinanceChecklistPaymentApprovalRole { - PREPARER = "preparer", - VERIFIER = "verifier", - APPROVER = "approver", -} - -export enum FinanceChecklistPaymentStatus { - DRAFT = "draft", - PENDING_VERIFY = "pending_verifier", - PENDING_APPROVE = "pending_approver", - SUCCESS = "success", - REJECTED = "rejected", -} - -export enum FinanceChecklistPaymentType { - SALARY_PAYMENT = "salary_payment", - DIRECT_PAYMENT = "direct_payment", -} diff --git a/src/types/hrms.ts b/src/types/hrms.ts deleted file mode 100644 index ad6c429..0000000 --- a/src/types/hrms.ts +++ /dev/null @@ -1,25 +0,0 @@ -export enum HolidayType { - NATIONAL = "NATIONAL_HOLIDAY", // National Holiday - COLLECTIVE = "COLLECTIVE_LEAVE", // Collective Leave / Cuti Bersama - COMPANY = "COMPANY_HOLIDAY", // Company Holiday - RELIGIOUS = "RELIGIUS_HOLIDAY", // Religious Holiday - SPECIAL = "SPECIAL_HOLIDAY", // Special / Exceptional Holiday -} - -export const HolidayTypeLabel: Record = { - [HolidayType.NATIONAL]: "National Holiday", - [HolidayType.COLLECTIVE]: "Collective Leave", - [HolidayType.COMPANY]: "Company Holiday", - [HolidayType.RELIGIOUS]: "Religious Holiday", - [HolidayType.SPECIAL]: "Special Holiday", -}; - -export enum YesNo { - YES = "Y", - NO = "N", -} - -export enum AttendanceType { - ATTENDANCE = "attendance", - LEAVE = "leave", -} diff --git a/src/types/laboratory_order_status.ts b/src/types/laboratory_order_status.ts deleted file mode 100644 index 1d44398..0000000 --- a/src/types/laboratory_order_status.ts +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Workflow status untuk order laboratorium. - * Waiting: menunggu konfirmasi order pasien - * Ordered: order diterima oleh laboratorium - * Verified: order diverifikasi oleh laboratorium - * Completed: order selesai - * Canceled: order dibatalkan - */ -export enum LaboratoryOrderStatus { - WAITING = "waiting", - ORDERED = "ordered", - VERIFIED = "verified", - COMPLETED = "completed", - CANCELED = "canceled", -} diff --git a/src/types/notification_priority.ts b/src/types/notification_priority.ts deleted file mode 100644 index 89a29a2..0000000 --- a/src/types/notification_priority.ts +++ /dev/null @@ -1,7 +0,0 @@ -/** - * Priority for notifications. - */ -export enum NotificationPriority { - NORMAL = "normal", - HIGH = "high", -} diff --git a/src/types/opd_report_grain.ts b/src/types/opd_report_grain.ts deleted file mode 100644 index 7dd2558..0000000 --- a/src/types/opd_report_grain.ts +++ /dev/null @@ -1,6 +0,0 @@ -export enum OpdReportGrain { - DAY = "day", - MONTH = "month", - QUARTER = "quarter", - YEAR = "year", -} diff --git a/src/types/patient_category.ts b/src/types/patient_category.ts deleted file mode 100644 index 3cec1e7..0000000 --- a/src/types/patient_category.ts +++ /dev/null @@ -1,11 +0,0 @@ -/** - * Workflow kategori pendaftaran pasien. - * Existing: pasien sudah lama daftar - * New: pasien baru dari pendaftaran pasien - * Foreigner: pasien asing - */ -export enum PatientCategory { - EXISTING = "existing", - NEW = "new", - FOREIGNER = "foreigner", -} diff --git a/src/types/pharmacy_order_status.ts b/src/types/pharmacy_order_status.ts deleted file mode 100644 index 3bc1790..0000000 --- a/src/types/pharmacy_order_status.ts +++ /dev/null @@ -1,20 +0,0 @@ -/** - * Workflow status untuk order farmasi. - * Waiting: menunggu konfirmasi order pasien - * Ordered: order diterima oleh farmasi - * Verified: order diverifikasi oleh farmasi - * Compounded: order diracik oleh farmasi - * Packed: order dibungkus oleh farmasi - * Submitted: order diserahkan kepada pasien - * Canceled: order dibatalkan - */ -export enum PharmacyOrderStatus { - WAITING = "waiting", - ORDERED = "ordered", - VERIFIED = "verified", - COMPOUNDED = "compounded", - PACKED = "packed", - SUBMITTED = "submitted", - CANCELED = "canceled", -} - diff --git a/src/types/prescription_pharmacy_status.ts b/src/types/prescription_pharmacy_status.ts deleted file mode 100644 index f23a2d8..0000000 --- a/src/types/prescription_pharmacy_status.ts +++ /dev/null @@ -1,7 +0,0 @@ -export enum PrescriptionPharmacyStatus { - PENDING = "pending", - PROCESSING = "processing", - DISPENSED = "dispensed", - CANCELLED = "cancelled", -} - diff --git a/src/types/procurement.ts b/src/types/procurement.ts deleted file mode 100644 index 16883aa..0000000 --- a/src/types/procurement.ts +++ /dev/null @@ -1,97 +0,0 @@ -export enum ProcurementStatusType { - draft = "draft", - pending_review = "pending_review", - pending_approve = "pending_approve", - approve = "approve", - reject = "reject", -} - -export enum ProcurementPreparationStatus { - ready = "ready", - completed = "completed", - approve = "approve", - not_ready = "not_ready", -} - -export enum ProcurementMethod { - DP = "DP", - SP = "SP", - RFP = "RFP", - SINGLE_SOURCE = "SINGLE_SOURCE", - RFQ = "RFQ", - NCB = "NCB", - ICB = "ICB", -} - -export enum ProcurementTenderStatus { - ON_GOING = "ON_GOING", - COMPLETED = "COMPLETED", - CANCELLED = "CANCELLED", -} - -export enum ProcurementChecklistPaymentItemType { - ADVANCE_FUND = "advance_fund", - FCP_CPV = "fcp_cpv", - PRT = "prt", - PAYMENT_ORDER = "payment_order", - OBLIGATION = "obligation", - PAYMENT_REQUEST = "payment_request", - CHEQUE = "cheque", - INVOICE = "invoice", - ASSET_REGISTRATION = "asset_registration", - AND_RECOMMENDATION = "and_recomendation", - SERVICE_REPORT = "service_report", - FINANCE_CODE = "finance_code", - OTHER_DOCUMENT = "other_document", -} - -export enum ProcurementChecklistPaymentApprovalRole { - PREPARER = "preparer", - VERIFIER = "verifier", - APPROVER = "approver", -} - -export enum ProcurementChecklistPaymentStatus { - DRAFT = "draft", - PENDING_VERIFY = "pending_verifier", - PENDING_APPROVE = "pending_approver", - SUCCESS = "success", - REJECTED = "rejected", -} - -export enum ProcurementChecklistPaymentType { - SALARY_PAYMENT = "salary_payment", - DIRECT_PAYMENT = "direct_payment", -} - -export enum ProcurementPOStatus { - APPROVED = "APPROVED", - REJECTED = "REJECTED", - PENDING = "PENDING", -} - -export enum ProcurementPRCStatus { - DRAFT = "DRAFT", - APPROVED = "APPROVED", - REJECTED = "REJECTED", - RECEIVED = "RECEIVED", -} - -export enum ProcurementWorkOrderStatus { - DRAFT = "DRAFT", - PENDING_APPROVAL = "PENDING_APPROVAL", - APPROVED = "APPROVED", - ISSUED = "ISSUED", - IN_PROGRESS = "IN_PROGRESS", - COMPLETED = "COMPLETED", - CANCELLED = "CANCELLED", -} - -export enum ProcurementSurveyStatus { - DRAFT = "DRAFT", - APPROVED = "APPROVED", - ISSUED = "ISSUED", - IN_PROGRESS = "IN_PROGRESS", - COMPLETED = "COMPLETED", - CANCELLED = "CANCELLED", -} diff --git a/src/types/public.ts b/src/types/public.ts deleted file mode 100644 index 7d42cfc..0000000 --- a/src/types/public.ts +++ /dev/null @@ -1,14 +0,0 @@ -export enum InpatientRoomBedStatus { - "Booked" = "booked", - "Empty" = "empty", - "Progress" = "progress", - "Occupied" = "occupied", - "Transfer" = 'transfer', -} - -export enum BoardingRoomDoctorType { - "Primary" = "primary", - "Secondary" = "secondary", -} - - diff --git a/src/types/radiology_order_status.ts b/src/types/radiology_order_status.ts deleted file mode 100644 index 8d2f201..0000000 --- a/src/types/radiology_order_status.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Workflow status untuk order radiologi. - * Waiting: menunggu konfirmasi order pasien - * Ordered: order diterima oleh radiologi - * Verified: order diverifikasi oleh radiologi - * Completed: order selesai - * Canceled: order dibatalkan - */ -export enum RadiologyOrderStatus { - WAITING = "waiting", - ORDERED = "ordered", - VERIFIED = "verified", - COMPLETED = "completed", - CANCELED = "canceled", -} - diff --git a/src/types/referral_hospital_type.ts b/src/types/referral_hospital_type.ts deleted file mode 100644 index e23a41c..0000000 --- a/src/types/referral_hospital_type.ts +++ /dev/null @@ -1,9 +0,0 @@ -/** - * Type of referral hospital. - */ -export enum RefferalHospitalType { - PRIVATE_CLINIC = "private_clinic", - PRIVATE_DOCTOR = "private_doctor", - CENTRO_SAUDE = "centro_saude", - HOSPITAL_REFERRAL = "hospital_referral", -} \ No newline at end of file diff --git a/src/types/registration_status.ts b/src/types/registration_status.ts deleted file mode 100644 index 602f593..0000000 --- a/src/types/registration_status.ts +++ /dev/null @@ -1,14 +0,0 @@ -/** - * Workflow status untuk registrasi EMR (bukan status Y/N). - */ -export enum RegistrationStatus { - SCHEDULED = "scheduled", // sudah didaftarkan, belum dipanggil - ONGOING = "ongoing", // sedang dalam proses (pasien sedang dilayani) - COMPLETED = "completed", // layanan sudah selesai - CANCELED = "canceled", // dibatalkan - RESERVED = "reserved", // sudah didaftarkan, belum dipanggil - REGISTERED = "registered", // sudah didaftarkan - UNREGISTERED = "unregistered", // belum didaftarkan - BOARDING = "boarding", - BOOKED = "booked", -} diff --git a/src/types/registration_type.ts b/src/types/registration_type.ts deleted file mode 100644 index 26a9fe0..0000000 --- a/src/types/registration_type.ts +++ /dev/null @@ -1,11 +0,0 @@ -/** - * Jenis registrasi: rawat jalan, rawat inap, emergency, hemodialysis. - * Masing-masing punya form dan field yang berbeda. - */ -export enum RegistrationType { - OUTPATIENT = "outpatient", // Rawat jalan - INPATIENT = "inpatient", // Rawat inap - EMERGENCY = "emergency", // Gawat darurat - HEMODIALYSIS = "hemodialysis", // Hemodialysis - TREATMENT = "treatment", // Treatment -} diff --git a/src/types/role.ts b/src/types/role.ts deleted file mode 100644 index 18edd28..0000000 --- a/src/types/role.ts +++ /dev/null @@ -1,23 +0,0 @@ -export enum RoleList { - "Dashboard" = "dashboard", - "Kinerja UKLN" = "ukln", - "Dana Pihak Ketiga" = "dpk", - "Posisi Outstanding Pinjaman" = "outstanding_loan", - "Presentasi NPL" = "npl", - "PPAP Amount NPL" = "ppap_amount", - "Report Regulator Bulanan" = "regulator_bulanan", - "Report Regulator Triwulan" = "regulator_triwulan", - "Report Regulator Publikasi" = "regulator_publikasi", - "Perhitungan Simulasi Perpajakan Per Bulan" = "pajak_per_bulan", - "Perhitungan Simulasi Perpajakan Per Tahun" = "pajak_per_tahun", - "Data Nasabah Potensial" = "nasabah_potensial", - "Master Data User" = "master_user", - "Master Data Product" = "master_product", - "Master Data Tier" = "master_tier", - "Master Klasifikasi Ekonomi" = "master_klasifikasi_ekonomi", - "Master District" = "master_district", - "Master Munisipu" = "master_munisipu", - "Master Administrativu" = "master_administrativu", - "Master Suco" = "master_suco", - "Master Aldeia" = "master_aldeia", -} \ No newline at end of file diff --git a/src/types/specialist_form.ts b/src/types/specialist_form.ts deleted file mode 100644 index 2801aa2..0000000 --- a/src/types/specialist_form.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** - * Workflow kategori form khusus poli. - * DENTAL: poli gigi - * CARDIOLOGY: poli jantung - * DERMATOLOGY: poli kulit dan kelamin - * GYNECOLOGY: poli kebidanan dan kandungan - * ORTHOPEDICS: poli orthopedi - * NEUROLOGY: poli neurologi - * EAR_NOSE_THROAT: poli tht - * PULMONOLOGY: poli paru - * UROLOGY: poli urologi - */ -export enum SpecialistForm { - DENTAL = 'dental', - CARDIOLOGY = 'cardiology', - DERMATOLOGY = 'dermatology', - GYNECOLOGY = 'gynecology', - ORTHOPEDICS = 'orthopedics', - NEUROLOGY = 'neurology', - EAR_NOSE_THROAT = 'ear-nose-throat', - PULMONOLOGY = 'pulmonology', - UROLOGY = 'urology' -} diff --git a/src/types/telegram.ts b/src/types/telegram.ts deleted file mode 100644 index b8c122d..0000000 --- a/src/types/telegram.ts +++ /dev/null @@ -1,31 +0,0 @@ -export class TelegramBody { - to: string; - message: string; -} - -export interface TelegramResponseSend { - ok: boolean - result: ResultResponseSend -} - -export interface ResultResponseSend { - message_id: number - from: FromResponseSend - chat: ChatResponseSend - date: number - text: string -} - -export interface FromResponseSend { - id: number - is_bot: boolean - first_name: string - username: string -} - -export interface ChatResponseSend { - id: number - title: string - type: string - all_members_are_administrators: boolean -} diff --git a/src/types/treatment_session.ts b/src/types/treatment_session.ts deleted file mode 100644 index 211bdee..0000000 --- a/src/types/treatment_session.ts +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Status untuk sesi rencana perawatan (treatment plan session status). - * Planned: sesi perawatan telah dijadwalkan - * Arrived: pasien telah tiba untuk sesi perawatan - * Ongoing: sesi perawatan sedang berlangsung - * Completed: sesi perawatan telah selesai - * Missed: pasien tidak hadir pada sesi perawatan (terlewat) - * Rescheduled: sesi perawatan dijadwalkan ulang - */ -export enum TreatmentSessionStatus { - PLANNED = "planned", - ARRIVED = "arrived", - ONGOING = "ongoing", - COMPLETED = "completed", - MISSED = "missed", - RESCHEDULED = "rescheduled" -} \ No newline at end of file