Spaces:
Sleeping
Sleeping
Download dataFusion/tests/test_data.py from shak3008/cdss-backend: direct link, hf CLI and curl.
- Browser
- Download file 7.88 kB
-
https://huggingface.co/spaces/shak3008/cdss-backend/resolve/main/dataFusion/tests/test_data.py
- Command line
-
hf download hf://spaces/shak3008/cdss-backend/dataFusion/tests/test_data.py
-
curl -L -o test_data.py https://huggingface.co/spaces/shak3008/cdss-backend/resolve/main/dataFusion/tests/test_data.py
7.88 kB
| """Reusable mock data structures for Clinical Data Fusion tests.""" | |
| from app.schemas import ( | |
| Agent2Output, | |
| Agent3Output, | |
| ConflictEvidence, | |
| EvidencePriority, | |
| KnowledgeGraphEvidence, | |
| MedicalEvidence, | |
| MergedFinding, | |
| RAGEvidence, | |
| Relationship, | |
| SourceTraceability, | |
| SupportingEvidence, | |
| UnifiedClinicalContext, | |
| ) | |
| VALID_AGENT2_OUTPUT = Agent2Output( | |
| rag_evidence=[ | |
| RAGEvidence( | |
| retrieved_literature=[ | |
| " ST-elevation myocardial infarction (STEMI) requires immediate reperfusion. ", | |
| "Patient exhibits acute chest pain." | |
| ], | |
| similarity_score=0.92, | |
| confidence_score=0.88, | |
| supporting_research_info=["Research paper on reperfusion timing."] | |
| ) | |
| ], | |
| kg_evidence=[ | |
| KnowledgeGraphEvidence( | |
| disease_info="ami", | |
| relationships=[ | |
| Relationship(source="AMI", target="SOB", type="associated_symptom"), | |
| Relationship(source="AMI", target="aspirin", type="treatment_option") | |
| ], | |
| confidence_score=0.85 | |
| ) | |
| ] | |
| ) | |
| VALID_AGENT3_OUTPUT = Agent3Output( | |
| medical_evidence=[ | |
| MedicalEvidence( | |
| latest_evidence="Administer Aspirin 325 mg orally. Contraindicated in patients with active aspirin allergy or severe bleeding.", | |
| pubmed_articles=[], | |
| europe_pmc_articles=[], | |
| clinical_guidelines=[ | |
| "A 12-lead Electrocardiogram (ECG) must be performed immediately for patients presenting with chest pain.", | |
| "Beta-blockers may be considered if no contraindications are present." | |
| ], | |
| abstracts=["Abstract on acute coronary syndrome treatments."], | |
| source_info={"database": "guideline_clearinghouse"} | |
| ) | |
| ] | |
| ) | |
| VALID_FUSION_REQUEST_DICT = { | |
| "agent2_output": { | |
| "rag_evidence": [ | |
| { | |
| "retrieved_literature": [ | |
| " ST-elevation myocardial infarction (STEMI) requires immediate reperfusion. ", | |
| "Patient exhibits acute chest pain." | |
| ], | |
| "similarity_score": 0.92, | |
| "confidence_score": 0.88, | |
| "supporting_research_info": ["Research paper on reperfusion timing."] | |
| } | |
| ], | |
| "kg_evidence": [ | |
| { | |
| "disease_info": "ami", | |
| "relationships": [ | |
| {"source": "AMI", "target": "SOB", "type": "associated_symptom"}, | |
| {"source": "AMI", "target": "aspirin", "type": "treatment_option"} | |
| ], | |
| "confidence_score": 0.85 | |
| } | |
| ] | |
| }, | |
| "agent3_output": { | |
| "medical_evidence": [ | |
| { | |
| "latest_evidence": "Administer Aspirin 325 mg orally. Contraindicated in patients with active aspirin allergy or severe bleeding.", | |
| "pubmed_articles": [], | |
| "europe_pmc_articles": [], | |
| "clinical_guidelines": [ | |
| "A 12-lead Electrocardiogram (ECG) must be performed immediately for patients presenting with chest pain.", | |
| "Beta-blockers may be considered if no contraindications are present." | |
| ], | |
| "abstracts": ["Abstract on acute coronary syndrome treatments."], | |
| "source_info": {"database": "guideline_clearinghouse"} | |
| } | |
| ] | |
| } | |
| } | |
| EXPECTED_RULE_BASED_CONTEXT = UnifiedClinicalContext( | |
| merged_findings=[ | |
| MergedFinding(finding="Electrocardiogram (ECG)", sources=["Latest Medical Evidence"]), | |
| MergedFinding(finding="Aspirin", sources=["Knowledge Graph", "Latest Medical Evidence"]), | |
| MergedFinding(finding="Acute Myocardial Infarction", sources=["Knowledge Graph"]), | |
| MergedFinding(finding="Shortness of Breath", sources=["Knowledge Graph"]), | |
| ], | |
| normalized_medical_terms=[ | |
| "Electrocardiogram (ECG)", | |
| "Aspirin", | |
| "Acute Myocardial Infarction", | |
| "Shortness of Breath", | |
| ], | |
| supporting_evidence=[ | |
| SupportingEvidence(finding="Electrocardiogram (ECG)", source_attribution="Latest Medical Evidence"), | |
| SupportingEvidence(finding="Aspirin", source_attribution="Knowledge Graph, Latest Medical Evidence"), | |
| SupportingEvidence(finding="Acute Myocardial Infarction", source_attribution="Knowledge Graph"), | |
| SupportingEvidence(finding="Shortness of Breath", source_attribution="Knowledge Graph"), | |
| ], | |
| conflicting_evidence=[ | |
| ConflictEvidence( | |
| type="Treatment Conflict", | |
| finding="Aspirin", | |
| description="Treatment 'Aspirin' is suggested by some findings, but another source warns: 'Administer Aspirin 325 mg orally. Contraindicated in patients with active aspirin allergy or severe bleeding.'" | |
| ) | |
| ], | |
| evidence_priority=[ | |
| EvidencePriority(finding="Electrocardiogram (ECG)", priority_score=1.0, primary_source="Latest Medical Evidence"), | |
| EvidencePriority(finding="Aspirin", priority_score=1.0, primary_source="Knowledge Graph"), | |
| EvidencePriority(finding="Acute Myocardial Infarction", priority_score=0.8, primary_source="Knowledge Graph"), | |
| EvidencePriority(finding="Shortness of Breath", priority_score=0.8, primary_source="Knowledge Graph"), | |
| ], | |
| source_traceability=[ | |
| SourceTraceability(finding="Electrocardiogram (ECG)", sources=["Latest Medical Evidence"], upstream_agents=["Agent 3"]), | |
| SourceTraceability(finding="Aspirin", sources=["Knowledge Graph", "Latest Medical Evidence"], upstream_agents=["Agent 2", "Agent 3"]), | |
| SourceTraceability(finding="Acute Myocardial Infarction", sources=["Knowledge Graph"], upstream_agents=["Agent 2"]), | |
| SourceTraceability(finding="Shortness of Breath", sources=["Knowledge Graph"], upstream_agents=["Agent 2"]), | |
| ], | |
| fusion_summary="Clinical Data Fusion consolidated 4 medical finding(s) across Agent 2 and Agent 3 evidence sources. Identified 1 conflict(s).", | |
| confidence_score=0.89, | |
| ) | |
| EXPECTED_LLM_RESULT_DICT = { | |
| "unified_context": { | |
| "merged_findings": [ | |
| {"finding": "Acute Myocardial Infarction", "sources": ["Knowledge Graph", "Biomedical RAG"]}, | |
| {"finding": "Aspirin 325 mg", "sources": ["Latest Medical Evidence"]} | |
| ], | |
| "normalized_medical_terms": [ | |
| "Acute Myocardial Infarction", | |
| "Shortness of Breath", | |
| "Electrocardiogram (ECG)", | |
| "Aspirin 325 mg" | |
| ], | |
| "supporting_evidence": [ | |
| {"finding": "Acute Myocardial Infarction", "source_attribution": "Knowledge Graph, Biomedical RAG"}, | |
| {"finding": "Aspirin 325 mg", "source_attribution": "Latest Medical Evidence"} | |
| ], | |
| "conflicting_evidence": [ | |
| { | |
| "type": "Treatment Conflict", | |
| "finding": "Aspirin", | |
| "description": "Suggested by guidelines, but contraindicated if patient has severe aspirin allergy." | |
| } | |
| ], | |
| "evidence_priority": [ | |
| {"finding": "Aspirin 325 mg", "priority_score": 1.0, "primary_source": "Latest Medical Evidence"}, | |
| {"finding": "Acute Myocardial Infarction", "priority_score": 0.8, "primary_source": "Knowledge Graph"} | |
| ], | |
| "source_traceability": [ | |
| {"finding": "Acute Myocardial Infarction", "sources": ["Knowledge Graph", "Biomedical RAG"], "upstream_agents": ["Agent 2"]}, | |
| {"finding": "Aspirin 325 mg", "sources": ["Latest Medical Evidence"], "upstream_agents": ["Agent 3"]} | |
| ], | |
| "fusion_summary": "Llama 3.1 enhanced semantic fusion of clinical evidence.", | |
| "confidence_score": 0.95 | |
| } | |
| } | |
| VALID_LLM_FUSION_RESULT = EXPECTED_LLM_RESULT_DICT | |