|
|
|
|
|
from pydantic import BaseModel |
|
from typing import List, Optional |
|
|
|
class Paper(BaseModel): |
|
title: str |
|
authors: str |
|
summary: str |
|
link: str |
|
published: str |
|
source: str |
|
|
|
class UMLSConcept(BaseModel): |
|
term: str |
|
cui: Optional[str] |
|
name: Optional[str] |
|
definition: Optional[str] |
|
|
|
class DrugSafety(BaseModel): |
|
safety_report_id: Optional[str] |
|
serious: Optional[str] |
|
reactions: Optional[List[str]] |
|
receivedate: Optional[str] |
|
|
|
class UnifiedSearchResult(BaseModel): |
|
papers: List[Paper] |
|
umls: List[UMLSConcept] |
|
drug_safety: List[DrugSafety] |
|
ai_summary: str |
|
suggested_reading: List[str] |
|
|
|
class UnifiedSearchInput(BaseModel): |
|
query: str |
|
|