from flask import jsonify from app.utils.logger import logger from app.api.services.base_service import BaseService from sqlalchemy import func, desc from app.api.helpers.response_helper import ResponseHelper from app.api.schemas.user import UserSchema from app.models import Members from app.extensions import db class CommonDataService(BaseService): @staticmethod def available_practices(data): try: with db.session.begin(): validated_data = CommonDataService.validate_data(data, UserSchema()) token = validated_data.get('token') uid = validated_data.get('uid') member_data = Members.get_member_by_uid(uid) member_id = member_data.id available_practices_data = { "pr01":{ "practice": "Physician", "specialties": [ "General Practitioner", "Cardiologist", "Dermatologist", "Pediatrician", "Surgeon", "Oncologist", "Neurologist", "Psychiatrist", "Radiologist", "Anesthesiologist" ] }, "pr02":{ "practice": "Nurse", "specialties": [ "Registered Nurse (RN)", "Nurse Practitioner (NP)", "Licensed Practical Nurse (LPN)", "Certified Nursing Assistant (CNA)", "Clinical Nurse Specialist (CNS)" ] }, "pr03":{ "practice": "Dentist", "specialties": [ "General Dentist", "Orthodontist", "Oral Surgeon", "Periodontist", "Endodontist" ] }, "pr04":{ "practice": "Pharmacist", "specialties": [ "Retail Pharmacist", "Hospital Pharmacist", "Clinical Pharmacist", "Compounding Pharmacist" ] }, "pr05":{ "practice": "Therapist", "specialties": [ "Physical Therapist (PT)", "Occupational Therapist (OT)", "Speech-Language Pathologist (SLP)", "Psychotherapist", "Massage Therapist" ] }, "pr06":{ "practice": "Other Allied Health Professional", "specialties": [ "Medical Assistant", "Phlebotomist", "Radiologic Technologist", "Dietitian/Nutritionist", "Optometrist", "Chiropractor", "Podiatrist", "Medical Laboratory Scientist" ] } } logger.info(f"available_practices_data = {available_practices_data}") return ResponseHelper.success(data=available_practices_data) except Exception as e: logger.error(f"An error occurred while getting dashboard data: {str(e)}", exc_info=True) return jsonify({"message": "Internal Server Error"}), 500