Hospital API docs v1.1 · 4 באוגוסט 2026

API ומודל מותאם לנתוני בית חולים

חוזה נתונים למחקר PenuX-AP-Severity המבוסס על דמוגרפיה, מחלות רקע, סימנים חיוניים ובדיקות שגרתיות ב־24 השעות הראשונות — ללא דרישה לנתוני הדמיה.

0–24 שעות ללא imaging dependency 8 מתוך 16 קבוצות ליבה Imputation בתוך CV Target sensitivity 98% Research Use Only
מחקר בלבד — לא כלי קליני ה־API והמודלים המתוארים בעמוד זה אינם מאושרים לשימוש קליני, אינם מחליפים שיקול דעת רפואי ולא עברו אימות חיצוני או פרוספקטיבי.
הפרדה בין ה־API הישן למודל בית החולים השירות הקיים ב־api.main נשמר לצורך תאימות. המודל המותאם נמצא ב־api.hospital_app, משתמש ב־HospitalModelBundle ואינו מבצע חיזוי כאשר לא נטען מודל מאומן. אין fallback של נוסחת heuristic בממשק בית החולים.

הגדרת המקרה

אבחנת AP מתועדת וליפאז או עמילאז ברמה של לפחות פי 3 מה־ULN. הדמיה אינה נדרשת בחוזה הנוכחי.

חוסרים

חוסר אינו אפס ואינו תקין. מטופל אינו נפסל משום שחסרים חמישה משתנים אופציונליים.

סף מטופל

לפיתוח המודל הראשי נדרשות לפחות 8 מתוך 16 קבוצות ליבה, ולפחות נתון vital אחד ונתון מעבדה אחד.

סף משתנה

ברירת המחדל למודל הראשי היא זמינות של 80% ומעלה בעוקבת הפיתוח.

מניעת leakage

התוצא וכשל איברים לאחר חלון הניבוי אינם מועברים למסגרת מאפייני המודל.

אימון

אימפוטציה, קידוד ותקנון נלמדים בתוך כל קפל Cross-Validation בלבד.

1. חוזה הקלט

הקלט יכול לכלול את כל שדות בית החולים הזמינים. השדות שאינם קיימים נשארים null. רשימת TOP 48 המלאה, יחידות ומקורות מופיעה ב־מפרט הנתונים לבית החולים.

קבוצהדוגמאותשימוש
חובה להגדרת עוקבהencounter_id, admission_time, age, acute_pancreatitis_diagnosis, lipase/lipase_uln או amylase/amylase_uln, outcome_followup_availableזכאות לפיתוח המודל; לא אימפוטציה
קבוצות ליבהגיל, מין, HR, SBP, RR, חום, SpO₂, הכרה, WBC, Hb/HCT, Urea/BUN, Creatinine, Glucose, Calcium, Albumin, Bilirubinלפחות 8 מתוך 16 לפיתוח הראשי
משלימיםCRP, platelets, sodium, potassium, LDH, AST/ALT, triglycerides, lactate, coagulationנבחרים לפי זמינות
אופציונלייםעישון, אלכוהול, תרופות, PCT, D-dimer, blood gas, magnesium, phosphateמודל מורחב או ניתוח משני
דוגמת JSON מלאה יחסית
{
  "encounter_id": "ENC-2026-0001",
  "admission_time": "2026-08-04T08:15:00+03:00",
  "data_context": "model_development",
  "age": 64,
  "sex": "M",
  "acute_pancreatitis_diagnosis": true,
  "lipase": 480,
  "lipase_uln": 60,
  "outcome_followup_available": true,
  "imaging_available": false,
  "height_cm": 176,
  "weight_kg": 89,
  "heart_rate": 108,
  "systolic_bp": 101,
  "diastolic_bp": 61,
  "respiratory_rate": 24,
  "temperature": 38.2,
  "spo2": 93,
  "gcs": 15,
  "wbc": 17.2,
  "hemoglobin": 15.3,
  "hematocrit": 47.1,
  "platelets": 186,
  "urea_mmol_l": 11.4,
  "creatinine_umol_l": 132,
  "sodium": 137,
  "potassium": 4.3,
  "glucose_mmol_l": 10.6,
  "calcium_mmol_l": 1.96,
  "albumin_g_l": 31,
  "bilirubin_total_umol_l": 29,
  "ast": 118,
  "alt": 144,
  "ldh": 420,
  "crp": 178,
  "triglycerides_mmol_l": 2.1,
  "diabetes": true,
  "heart_failure": false,
  "smoking_status": "former",
  "alcohol_status": "current",
  "home_medications": ["metformin", "atorvastatin"]
}

2. בודק זכאות ושלמות מקומי

הבדיקה מתבצעת בדפדפן בלבד ואינה שולחת מידע לשרת. אין להדביק מזהים אמיתיים או מידע רפואי מזוהה באתר ציבורי.

תוצאת הבדיקה תופיע כאן.

3. התאמת המודל

Pipeline חדש לבית החולים

  1. סינון העוקבה לפי זכאות, ללא דרישת הדמיה.
  2. שמירת מטופלים עם חוסרים כל עוד קיימות לפחות 8 מתוך 16 קבוצות הליבה.
  3. בחירת משתנים זמינים אצל לפחות 80% מהעוקבה כברירת מחדל.
  4. אימפוטציית חציון למשתנים מספריים עם missing indicators.
  5. אימפוטציית השכיח וקידוד One-Hot למשתנים קטגוריאליים.
  6. כל preprocessing מתבצע בתוך כל קפל CV כדי למנוע דליפת מידע.
  7. רגרסיה לוגיסטית מאוזנת משמשת baseline שקוף; ניתן להשוות בהמשך ל־GBDT/XGBoost.
  8. סף ההחלטה נבחר מתוצאות Out-of-Fold להשגת רגישות יעד של 98%, תוך מיקסום הסגוליות האפשרית.
  9. המודל הסופי נשמר יחד עם רשימת המאפיינים, זמינותם, הסף ומדדי OOF.
אין אימון מחדש ללא דאטה אמיתי הקוד הותאם, אך קובץ מודל חדש לא נוצר ולא פורסמו מדדי ביצוע לבית החולים, משום שטרם סופק מאגר בית החולים. אין להשתמש בתוצאות הדאטה הציבורי כאילו הן אימות של העוקבה המקומית.

אימון מקומי

cd PenuX-AP-Severity
python scripts/train_hospital_model.py \
  --input hospital_ap_pseudonymised.csv \
  --target persistent_organ_failure_gt_48h \
  --output models/hospital_ap_model.joblib \
  --minimum-availability 0.80 \
  --target-sensitivity 0.98 \
  --cv-folds 5

הפעלת API המודל המותאם

export PENUX_AP_HOSPITAL_MODEL_PATH=models/hospital_ap_model.joblib
uvicorn api.hospital_app:app --host 127.0.0.1 --port 8001

אם משתנה הסביבה אינו מוגדר, נקודת הקצה מחזירה 503 ואינה עוברת לנוסחת heuristic.

4. נקודות הקצה במודל בית החולים

MethodPathמטרהמצב
GET/healthמצב השירות והאם מודל נטעןממומש ב־hospital_app
POST/validateבדיקת זכאות לעוקבת פיתוח, כולל מעקב תוצאממומש
POST/predictחיזוי מחקרי עם נתוני 24 שעות; אינו דורש outcomeממומש, דורש bundle מאומן

5. OpenAPI — חוזה המודל המותאם

התיעוד אינטראקטיבי לצפייה בלבד. שליחת בקשות מהעמוד מושבתת.

6. מגבלות שחייבות להישאר בתיעוד