@ -88,7 +88,8 @@ main_menu = InlineKeyboardMarkup(row_width=2).add(
					 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    InlineKeyboardButton ( " 🌍 Контакты " ,  callback_data = " menu_contacts " ) ,   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    InlineKeyboardButton ( " 📞 Связь " ,  callback_data = " menu_contact " ) ,   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    InlineKeyboardButton ( " ✅ Добавить пациента " ,  callback_data = " menu_registration " ) ,   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    InlineKeyboardButton ( " 🏥 О Клинике " ,  callback_data = " o_klinike " )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    InlineKeyboardButton ( " 🏥 О Клинике " ,  callback_data = " o_klinike " ) ,   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    InlineKeyboardButton ( " 📑 Заказать справку для налоговой " ,  callback_data = " fns_spravka " )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					# Подменю "контакты"  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -201,6 +202,30 @@ async def handle_main_menu(call: types.CallbackQuery):
					 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					@dp . callback_query_handler ( lambda  c :  c . data  ==  " fns_spravka " )  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					async  def  show_patient_list ( call :  types . CallbackQuery ) :  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    user_id  =  call . from_user . id   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    form_url  =  f " https://tgbotpolimed.pirogov.ai/?user_id= { user_id } "   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    form_url_fns  =  f " https://tgbotpolimed.pirogov.ai/fns?user_id= { user_id } "   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    telegram_id  =  call . from_user . id   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    patients  =  find_patients_by_id ( telegram_id )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    if  not  patients :   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        await  call . message . edit_text ( " Пациенты с вашим Telegram ID не найдены. " )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        return   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    patient_list  =  " \n " . join (   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        [ f " { i  +  1 } .  { patient [ ' ФИО ' ] } "  for  i ,  patient  in  enumerate ( patients ) ]   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    await  call . message . edit_text ( f ' Если пациент присутствует в списке, то для оформления налогового вычета за медицинские услуги, предоставленные в Клинике, пожалуйста, заполните форму ниже, нажав на кнопку  " Заказать справку " . \n \n '   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                                           f ' ☝🏼Если пациента нет в списке зарегистрированных, пожалуйста, добавьте его через Telegram, нажав на кнопку ниже  " Добавить пациента " . \n \n '   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                                           f " <b>Список зарегистрированных пациентов:</b> \n \n { patient_list } \n \n " ,   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                                           reply_markup = InlineKeyboardMarkup ( row_width = 1 ) . add ( InlineKeyboardButton ( text = " Заказать справку " ,  web_app = WebAppInfo ( url = form_url_fns ) ) ,   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                                                                                              InlineKeyboardButton ( text = " Добавить пациента " ,  web_app = WebAppInfo ( url = form_url ) ) ,   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                                                                                              InlineKeyboardButton ( " ▶️   Назад " ,  callback_data = " main_menu " ) ) , parse_mode = " HTML " )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					# Обработка нажатия на "Запись на исследование"  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -591,7 +616,7 @@ def find_patients_by_id(telegram_id):
					 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    records  =  sheet . get_all_records ( )   # Получаем все строки таблицы   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    patients  =  [ ]   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    for  record  in  records :   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if  str ( record [ " Telegram ID " ] )  ==  str ( telegram_id ) :   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if  str ( record [ " Telegram ID " ] )  ==  str ( telegram_id )  and  str ( record [ " Верификация " ] )  ==  " Пройдена "  :   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            patients . append ( record )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    return  patients   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -753,24 +778,18 @@ patient_callback = CallbackData("patient", "index")
					 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					async  def  show_patients ( message :  types . Message ) :  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    telegram_id  =  message . from_user . id   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    patients  =  find_patients_by_id ( telegram_id )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    print ( patients )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    if  not  patients :   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        await  message . answer ( " Пациенты с вашим Telegram ID не найдены. " )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        return   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    keyboard  =  InlineKeyboardMarkup ( row_width = 3 )   # Теперь 2 кнопки в строке   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    buttons  =  [   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        InlineKeyboardButton (   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            text = patient [ " ФИО " ] ,   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            callback_data = patient_callback . new ( index = index )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    # Формируем текстовый список пациентов   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    patient_list  =  " \n " . join (   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        [ f " { index  +  1 } .  { patient [ ' ФИО ' ] } "  for  index ,  patient  in  enumerate ( patients ) ]   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        for  index ,  patient  in  enumerate ( patients )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    ]   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    # Добавляем кнопки в клавиатуру по 2 в строке   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    keyboard . add ( * buttons )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    await  message . answer ( " Выберите пациента: " ,  reply_markup = keyboard  )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    await  message . answer ( f " Вот список ваших пациентов: \n \n { patient_list } " )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					def  authorize_google ( ) :