Dateien nach "backend/app" hochladen

This commit is contained in:
2026-04-21 12:08:51 +00:00
parent 0a32b1c47e
commit 4c16d75706
2 changed files with 64 additions and 0 deletions
Binary file not shown.
+64
View File
@@ -0,0 +1,64 @@
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from pydantic import BaseModel
from typing import Any, Dict, List, Optional
class Answer(BaseModel):
question_code: str
value: Any
class SessionCreate(BaseModel):
language: str
answers: List[Answer]
class MtsPreparation(BaseModel):
session_id: str
proposed_presenting_flowchart: Optional[str] = None
red_flag_indicators: List[str] = []
suggested_priority_level: Optional[str] = None
app = FastAPI(title="Triage-Fragen API", version="0.1.0")
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
@app.get("/health")
async def health() -> Dict[str, str]:
return {"status": "ok"}
@app.post("/sessions", response_model=MtsPreparation)
async def create_session(payload: SessionCreate) -> MtsPreparation:
session_id = "dummy-session-id"
flowchart: Optional[str] = None
red_flags: List[str] = []
priority: Optional[str] = None
for ans in payload.answers:
if ans.question_code == "chief_complaint" and ans.value == "chest_pain":
flowchart = "CHEST_PAIN"
if ans.question_code == "breathlessness" and ans.value is True:
red_flags.append("breathlessness")
if ans.question_code == "pain_intensity" and isinstance(ans.value, int) and ans.value >= 8:
red_flags.append("severe_pain")
if "breathlessness" in red_flags:
priority = "RED_OR_ORANGE"
return MtsPreparation(
session_id=session_id,
proposed_presenting_flowchart=flowchart,
red_flag_indicators=red_flags,
suggested_priority_level=priority,
)