#!/usr/bin/env python3
from pathlib import Path
import json,sys
P=Path(__file__).resolve().parents[1]
t=(P/'script/script_dry_mouth_stress.txt').read_text().casefold()
groups={
 'saliva_role':['nước bọt'],
 'salivary_glands':['tuyến nước bọt'],
 'lubrication':['bôi trơn','giữ ẩm'],
 'digestion_taste':['tiêu hóa','vị giác'],
 'tooth_protection':['bảo vệ răng','men răng'],
 'autonomic':['hệ thần kinh tự chủ'],
 'sympathetic':['hệ giao cảm','giao cảm'],
 'parasympathetic':['đối giao cảm','phó giao cảm'],
 'stress_response':['căng thẳng','stress'],
 'reduced_flow':['giảm dòng nước bọt','dòng nước bọt có thể giảm','ít nước bọt','tiết nước bọt giảm'],
 'composition_change':['đặc hơn','thành phần'],
 'not_always_dehydration':['không nhất thiết','không đồng nghĩa'],
 'mouth_breathing':['thở bằng miệng','thở miệng'],
 'speech_swallow':['nói nhiều','nuốt'],
 'dehydration':['mất nước'],
 'caffeine_alcohol_tobacco':['caffeine','rượu','thuốc lá'],
 'medication':['thuốc'],
 'do_not_stop_medication':['không tự ý ngừng thuốc','không tự ngừng thuốc'],
 'diabetes':['đái tháo đường','tiểu đường'],
 'sjogren':['sjögren','sjogren'],
 'radiotherapy':['xạ trị đầu cổ','xạ trị vùng đầu cổ'],
 'gland_problem':['tắc tuyến','sỏi tuyến','bệnh tuyến nước bọt'],
 'transient_vs_persistent':['thoáng qua','kéo dài'],
 'caries':['sâu răng'],
 'bad_breath':['hôi miệng'],
 'oral_thrush':['nấm miệng','nhiễm nấm'],
 'chew_swallow_speak':['khó nhai','khó nuốt','khó nói'],
 'sip_water':['nhấp từng ngụm nước','nhấp nước'],
 'nasal_breathing':['thở chậm bằng mũi','thở bằng mũi'],
 'sugar_free_gum':['kẹo cao su không đường','xylitol'],
 'oral_hygiene':['vệ sinh răng miệng','kem đánh răng có fluoride'],
 'persistent_assessment':['đi khám','đánh giá y tế','khám nha khoa'],
 'gland_pain_swelling':['đau hoặc sưng','sưng tuyến'],
 'ulcers_thrush':['loét','mảng trắng'],
 'rapid_caries':['sâu răng nhanh','nhiều lỗ sâu'],
 'polyuria_thirst':['tiểu nhiều','khát nhiều'],
 'dry_eyes':['khô mắt'],
 'weight_loss':['sụt cân'],
 'emergency_airway':['khó thở','sưng lưỡi','sưng họng'],
 'allergy_emergency':['phản ứng dị ứng','cấp cứu'],
 'no_self_diagnosis':['không tự chẩn đoán','không đủ để kết luận'],
 'safe_payoff':['không phải lúc nào cũng chỉ cần uống thật nhiều','hiểu đúng tín hiệu']
}
missing=[k for k,v in groups.items() if not any(x in t for x in v)]
out={'status':'PASS' if not missing else 'FAIL','missing':missing,'groups':len(groups)}
print(json.dumps(out,ensure_ascii=False));sys.exit(bool(missing))
