94 lines
4.9 KiB
Python
94 lines
4.9 KiB
Python
"""
|
||
Script to add the 10 UMP innovation ideas to the vector database
|
||
"""
|
||
import asyncio
|
||
import sys
|
||
from pathlib import Path
|
||
|
||
# Add parent directory to path
|
||
sys.path.insert(0, str(Path(__file__).parent.parent))
|
||
|
||
from src.infrastructure.vector_db.qdrant_service import get_qdrant_service
|
||
|
||
UMP_IDEAS = [
|
||
{
|
||
"title": "Nền tảng Trợ lý AI học tập lâm sàng (Clinical AI Tutor)",
|
||
"description": "Ứng dụng AI đóng vai trò trợ giảng cho sinh viên y, hỗ trợ phân tích ca bệnh giả lập, giải thích cận lâm sàng, và gợi ý chẩn đoán theo phác đồ Việt Nam.",
|
||
"category": "Giáo dục - AI"
|
||
},
|
||
{
|
||
"title": "Hệ thống bệnh án điện tử học thuật (Academic EMR Sandbox)",
|
||
"description": "Môi trường EMR mô phỏng cho đào tạo và nghiên cứu, cho phép sinh viên và giảng viên thực hành nhập – phân tích – khai thác dữ liệu y khoa mà không ảnh hưởng dữ liệu bệnh nhân thật.",
|
||
"category": "Giáo dục - Chuyển đổi số"
|
||
},
|
||
{
|
||
"title": "Trung tâm mô phỏng y khoa bằng AR/VR & Digital Twin",
|
||
"description": "Xây dựng phòng lab mô phỏng phẫu thuật, cấp cứu, và quy trình điều trị bằng AR/VR, kết hợp mô hình \"digital twin\" của cơ thể người phục vụ đào tạo nâng cao.",
|
||
"category": "Giáo dục - AR/VR"
|
||
},
|
||
{
|
||
"title": "Chương trình Y tế cộng đồng số cho vùng sâu vùng xa",
|
||
"description": "Kết hợp telehealth, trợ lý ảo y tế (agentic care) và AI sàng lọc sớm bệnh không lây (NCD) cho người dân vùng nông thôn, miền núi và hải đảo.",
|
||
"category": "Tác động xã hội - Telehealth"
|
||
},
|
||
{
|
||
"title": "Nền tảng nghiên cứu AI y sinh dùng chung (UMP AI Research Hub)",
|
||
"description": "Cung cấp hạ tầng GPU, kho dữ liệu y khoa ẩn danh, và công cụ phân tích AI cho giảng viên – nghiên cứu sinh – startup hợp tác nghiên cứu.",
|
||
"category": "Nghiên cứu - AI"
|
||
},
|
||
{
|
||
"title": "Hệ thống theo dõi và dự báo sức khỏe sinh viên & nhân viên y tế",
|
||
"description": "Ứng dụng phân tích dữ liệu và AI để phát hiện sớm stress, burnout, và vấn đề sức khỏe tâm thần trong cộng đồng sinh viên và nhân viên y tế.",
|
||
"category": "Tác động xã hội - Sức khỏe"
|
||
},
|
||
{
|
||
"title": "Vườn ươm khởi nghiệp công nghệ y sinh (MedTech Incubator)",
|
||
"description": "Hỗ trợ sinh viên, bác sĩ và giảng viên phát triển startup MedTech, HealthTech, AI y tế thông qua mentoring, quỹ seed và kết nối bệnh viện – doanh nghiệp.",
|
||
"category": "Khởi nghiệp - MedTech"
|
||
},
|
||
{
|
||
"title": "Hệ thống quản lý chất lượng đào tạo và kiểm định số",
|
||
"description": "Số hóa toàn bộ quy trình đảm bảo chất lượng nội bộ (IQA), đánh giá chương trình đào tạo, và chuẩn hóa theo tiêu chuẩn quốc tế (WFME, AUN-QA).",
|
||
"category": "Giáo dục - Quản lý chất lượng"
|
||
},
|
||
{
|
||
"title": "Nền tảng dữ liệu lớn phòng chống dịch và bệnh không lây",
|
||
"description": "Phân tích dữ liệu dịch tễ, môi trường, và hành vi để dự báo dịch bệnh, hỗ trợ Sở Y tế và Bộ Y tế trong ra quyết định chính sách.",
|
||
"category": "Nghiên cứu - Dịch tễ học"
|
||
},
|
||
{
|
||
"title": "Học viện Y học chính xác & Y học cá thể hóa",
|
||
"description": "Kết hợp dữ liệu gen, hình ảnh y khoa, lối sống và AI để nghiên cứu và ứng dụng điều trị cá thể hóa cho bệnh ung thư, tim mạch và bệnh mạn tính.",
|
||
"category": "Nghiên cứu - Y học chính xác"
|
||
}
|
||
]
|
||
|
||
async def main():
|
||
"""Add all UMP ideas to the database"""
|
||
print("Initializing Qdrant service...")
|
||
qdrant_service = get_qdrant_service()
|
||
|
||
print("Initializing collection...")
|
||
await qdrant_service.initialize_collection()
|
||
|
||
print(f"Adding {len(UMP_IDEAS)} ideas to the database...")
|
||
results = []
|
||
for i, idea in enumerate(UMP_IDEAS, 1):
|
||
try:
|
||
print(f"Adding idea {i}/{len(UMP_IDEAS)}: {idea['title']}")
|
||
result = await qdrant_service.add_idea(
|
||
title=idea['title'],
|
||
description=idea['description'],
|
||
category=idea['category']
|
||
)
|
||
results.append(result)
|
||
print(f"✓ Added: {result['id']}")
|
||
except Exception as e:
|
||
print(f"✗ Error adding idea {i}: {e}")
|
||
|
||
print(f"\n✓ Successfully added {len(results)}/{len(UMP_IDEAS)} ideas")
|
||
return results
|
||
|
||
if __name__ == "__main__":
|
||
asyncio.run(main())
|