#!/usr/bin/env python3
from pathlib import Path
import json,sys
P=Path(__file__).resolve().parents[1]
t=(P/'script/script_pressure_phosphene.txt').read_text().casefold()
groups={
 'no_external_light':['không có ánh sáng thật','không có nguồn sáng'],
 'pressure_phosphene':['pressure phosphene','cảm giác sáng do áp lực'],
 'retina':['võng mạc'],
 'photoreceptors':['tế bào que','tế bào nón'],
 'retinal_neurons':['tế bào lưỡng cực','tế bào hạch','các neuron võng mạc','nhiều lớp neuron'],
 'mechanical_deformation':['biến dạng','kích thích cơ học'],
 'membrane_activity':['điện thế màng','hoạt động điện'],
 'optic_nerve':['dây thần kinh thị giác'],
 'visual_cortex':['vùng thị giác','vỏ não thị giác'],
 'signal_not_photon':['không cần phải “tạo ra ánh sáng”','không phải những photon'],
 'pattern_variability':['vị trí, hướng và mức độ lực','vị trí đặt lực, hướng lực','không tạo ra cùng một hoa văn'],
 'entoptic':['entoptic'],
 'afterimage':['ảnh lưu','afterimage'],
 'light_adaptation':['thích nghi sáng tối','thích nghi với ánh sáng'],
 'stop_with_pressure':['biến mất khi lực dừng lại','khi lực dừng'],
 'do_not_rub':['không nên cố tạo','không nên dụi','không có nghĩa dụi'],
 'surface_irritation':['kích ứng','giác mạc','kết mạc'],
 'allergy_dry_eye':['dị ứng','khô'],
 'contamination':['vi khuẩn','rửa tay'],
 'corneal_risk':['giác mạc','biến dạng giác mạc'],
 'blink_tears':['chớp mắt','nước mắt nhân tạo không chất bảo quản'],
 'cool_compress':['gạc sạch mát','không đè'],
 'chemical_rinse':['hóa chất bắn','rửa mắt liên tục'],
 'spontaneous_flashes':['tia chớp xuất hiện tự phát','không chạm'],
 'floaters':['ruồi bay'],
 'curtain_field_loss':['rèm kéo','trường nhìn bị mất'],
 'vision_loss':['thị lực giảm bất ngờ','thị lực mờ đột ngột'],
 'retinal_tear_detachment':['rách võng mạc','bong võng mạc'],
 'vitreous_traction':['dịch kính','kéo võng mạc'],
 'trauma_pain_redness':['chấn thương','đau mắt','đỏ nhiều'],
 'one_eye':['một mắt'],
 'migraine_aura':['đau nửa đầu có aura','aura thị giác'],
 'aura_bilateral':['hai bên trường nhìn','cả hai mắt'],
 'no_self_diagnosis':['không nên tự','không tự chẩn đoán','không thể phân biệt chắc chắn chỉ bằng cách quan sát'],
 'urgent_assessment':['đánh giá khẩn','khám mắt khẩn'],
 'evidence':['điện sinh lý','nhãn khoa'],
 'safe_ending':['không phải bằng thêm áp lực','không cần được mở bằng cách ấn mạnh hơn']
}
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))
