Files
CHIEFSOFT\ameye d1339a4964 DAta id
2025-08-13 15:12:51 -04:00

100 lines
3.9 KiB
Python

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