{
  "stage": "cleaning",
  "generated_at": "2026-02-16T13:42:02",
  "steps": [
    "ตัดช่องว่างและปรับค่า text สำคัญเป็นค่าว่างมาตรฐาน",
    "แปลงคอลัมน์วันที่หลัก (adate, hdate) เป็น datetime (day-first locale)",
    "ปรับชนิดข้อมูลคอลัมน์เชิงตัวเลขด้วย pd.to_numeric",
    "มาตรฐานรหัสอำเภอ aampur ให้เป็น 2 หลัก",
    "สร้างฟิลด์คำนวณ time_to_hospital_min (นาที)",
    "ลบแถวซ้ำทั้งแบบ exact และ business key พร้อมรายงานก่อน-หลัง",
    "จัดการ outlier ด้วย IQR capping ในคอลัมน์ตัวเลขหลัก"
  ],
  "text_normalized_columns": [
    "adate",
    "apoint",
    "hdate",
    "icdcause",
    "injby",
    "injfrom",
    "injfrom_t",
    "injoccu",
    "injp",
    "injt_t",
    "occu",
    "occu_t",
    "prov",
    "risk1",
    "risk2",
    "risk3",
    "risk4",
    "risk5"
  ],
  "sex_invalid_to_na": 23,
  "age_invalid_to_na": 0,
  "age_impute_median": 30.0,
  "negative_time_to_hospital_to_na": 0,
  "rows_dropped_missing_keys": 5,
  "duplicates_removed": {
    "exact_duplicates_removed": 0,
    "business_key_duplicates_removed": 0
  },
  "rows_before_cleaning": 1000,
  "rows_after_cleaning": 995,
  "outlier_handling": {
    "age": {
      "outliers_before": 0,
      "outliers_after": 0,
      "lower": -27.75,
      "upper": 94.25,
      "method": "IQR Capping"
    },
    "time_to_hospital_min": {
      "outliers_before": 155,
      "outliers_after": 0,
      "lower": -80.5,
      "upper": 203.5,
      "method": "IQR Capping"
    },
    "pmi": {
      "outliers_before": 95,
      "outliers_after": 0,
      "lower": 2.0,
      "upper": 2.0,
      "method": "IQR Capping"
    },
    "ems": {
      "outliers_before": 48,
      "outliers_after": 0,
      "lower": 0.5,
      "upper": 4.5,
      "method": "IQR Capping"
    },
    "er": {
      "outliers_before": 146,
      "outliers_after": 0,
      "lower": 0.0,
      "upper": 0.0,
      "method": "IQR Capping"
    }
  },
  "reconciliation_note": {
    "summary": "ตรวจสอบ count/mean/median/std หลัง cleaning เพื่อยืนยันว่าแนวโน้มหลักไม่ผิดเพี้ยนโดยไม่มีเหตุผล",
    "metrics": {
      "age": {
        "count": 995,
        "mean": 34.18,
        "median": 30.0,
        "std": 18.98
      },
      "time_to_hospital_min": {
        "count": 995,
        "mean": 72.65,
        "median": 42.0,
        "std": 67.01
      },
      "pmi": {
        "count": 995,
        "mean": 2.0,
        "median": 2.0,
        "std": 0.0
      },
      "ems": {
        "count": 407,
        "mean": 2.18,
        "median": 2.0,
        "std": 0.9
      }
    }
  }
}