Spaces:
Running
Running
| import datetime as _dt | |
| import uuid | |
| from dataclasses import dataclass, field | |
| from typing import Any, Dict, List, Optional | |
| CANCER_RISK_TEMPLATE_COLUMNS: List[str] = [ | |
| "record_id", | |
| "chemical_name", | |
| "casrn", | |
| "route", | |
| "exposure_value", | |
| "exposure_unit", | |
| "body_weight_kg", | |
| "csf_value", | |
| "csf_unit", | |
| "iur_value", | |
| "air_conc_value", | |
| "air_conc_unit", | |
| "source_reference", | |
| ] | |
| def default_run_id(prefix: str = "run") -> str: | |
| ts = _dt.datetime.utcnow().strftime("%Y%m%d_%H%M%S") | |
| return f"{prefix}_{ts}_{uuid.uuid4().hex[:8]}" | |
| class RegulatoryClause: | |
| clause_id: str | |
| framework: str | |
| title: str | |
| description: str | |
| required_fields: List[str] = field(default_factory=list) | |
| required_evidence_terms: List[str] = field(default_factory=list) | |
| acceptance_rule: str = "all_required_fields" | |
| applicability: Dict[str, Any] = field(default_factory=dict) | |
| source_reference: str = "" | |
| class ClauseEvaluation: | |
| clause_id: str | |
| framework: str | |
| status: str | |
| fields_present: List[str] = field(default_factory=list) | |
| missing_fields: List[str] = field(default_factory=list) | |
| evidence_hits: List[str] = field(default_factory=list) | |
| prompt: str = "" | |
| reason: str = "" | |
| RISK_TIER_THRESHOLDS = { | |
| "low": 1e-6, | |
| "moderate": 1e-4, | |
| } | |
| def classify_risk_tier(value: Optional[float]) -> str: | |
| if value is None: | |
| return "unknown" | |
| if value < RISK_TIER_THRESHOLDS["low"]: | |
| return "de_minimis" | |
| if value <= RISK_TIER_THRESHOLDS["moderate"]: | |
| return "monitor" | |
| return "high_priority" | |