{
  "stage": "before_cleaning",
  "generated_at": "2026-02-16T13:42:02",
  "shape": {
    "rows": 1000,
    "columns": 49
  },
  "variable_types": {
    "numeric": 24,
    "categorical": 25,
    "datetime": 0
  },
  "dtypes": {
    "record_id": "int64",
    "prov": "object",
    "sex": "float64",
    "age": "float64",
    "occu": "object",
    "occu_t": "object",
    "adate": "object",
    "atime": "object",
    "hdate": "object",
    "htime": "object",
    "aplace": "float64",
    "aampur": "float64",
    "apoint": "object",
    "injby": "object",
    "injoccu": "object",
    "cause": "int64",
    "injp": "object",
    "injt": "float64",
    "injt_t": "object",
    "injfrom": "object",
    "injfrom_t": "object",
    "icdcause": "object",
    "activity": "float64",
    "risk1": "object",
    "risk2": "object",
    "risk3": "object",
    "risk4": "object",
    "risk5": "object",
    "pmi": "float64",
    "atohosp": "object",
    "ems": "float64",
    "hprov": "float64",
    "refer": "float64",
    "diser": "object",
    "timer": "object",
    "er": "float64",
    "er_t": "float64",
    "staer": "float64",
    "staward": "float64",
    "rdate": "object",
    "mass_casualty": "int64",
    "head_injury": "int64",
    "home": "object",
    "kratom": "int64",
    "cannabis": "int64",
    "sedative_drug": "int64",
    "amphetamine": "int64",
    "drugs": "int64",
    "risk2_etc": "int64"
  },
  "missing_pct_by_column": {
    "record_id": 0.0,
    "prov": 0.2,
    "sex": 1.5,
    "age": 1.6,
    "occu": 0.0,
    "occu_t": 91.8,
    "adate": 0.0,
    "atime": 0.0,
    "hdate": 0.0,
    "htime": 0.0,
    "aplace": 2.5,
    "aampur": 0.3,
    "apoint": 0.0,
    "injby": 0.3,
    "injoccu": 0.2,
    "cause": 0.0,
    "injp": 3.9,
    "injt": 2.7,
    "injt_t": 98.7,
    "injfrom": 0.6,
    "injfrom_t": 99.8,
    "icdcause": 26.1,
    "activity": 4.4,
    "risk1": 0.1,
    "risk2": 0.1,
    "risk3": 9.0,
    "risk4": 1.9,
    "risk5": 0.3,
    "pmi": 0.1,
    "atohosp": 2.3,
    "ems": 59.1,
    "hprov": 9.5,
    "refer": 9.8,
    "diser": 7.0,
    "timer": 7.4,
    "er": 11.1,
    "er_t": 98.3,
    "staer": 5.2,
    "staward": 86.7,
    "rdate": 88.0,
    "mass_casualty": 0.0,
    "head_injury": 0.0,
    "home": 0.0,
    "kratom": 0.0,
    "cannabis": 0.0,
    "sedative_drug": 0.0,
    "amphetamine": 0.0,
    "drugs": 0.0,
    "risk2_etc": 0.0
  },
  "missing_top10": [
    {
      "column": "injfrom_t",
      "missing_pct": 99.8
    },
    {
      "column": "injt_t",
      "missing_pct": 98.7
    },
    {
      "column": "er_t",
      "missing_pct": 98.3
    },
    {
      "column": "occu_t",
      "missing_pct": 91.8
    },
    {
      "column": "rdate",
      "missing_pct": 88.0
    },
    {
      "column": "staward",
      "missing_pct": 86.7
    },
    {
      "column": "ems",
      "missing_pct": 59.1
    },
    {
      "column": "icdcause",
      "missing_pct": 26.1
    },
    {
      "column": "er",
      "missing_pct": 11.1
    },
    {
      "column": "refer",
      "missing_pct": 9.8
    }
  ],
  "completeness": {
    "key_fields": [
      "record_id",
      "prov",
      "adate",
      "hdate",
      "cause",
      "injby"
    ],
    "business_key_fields": [
      "prov",
      "sex",
      "age",
      "adate",
      "hdate",
      "cause",
      "injby"
    ],
    "key_missing_pct": {
      "record_id": 0.0,
      "prov": 0.2,
      "adate": 0.0,
      "hdate": 0.0,
      "cause": 0.0,
      "injby": 0.3
    },
    "important_missing_pct": {
      "sex": 1.5,
      "age": 1.6,
      "aplace": 2.5,
      "aampur": 0.3,
      "icdcause": 26.1,
      "activity": 4.4
    },
    "key_threshold": "<= 1%",
    "important_threshold": "<= 5%"
  },
  "duplicate": {
    "exact_count": 0,
    "exact_rate_pct": 0.0,
    "business_key_count": 0,
    "business_key_rate_pct": 0.0
  },
  "id_format_checks": {
    "aampur_2digits": {
      "valid_rate_pct": 0.0,
      "invalid_count": 997
    },
    "injt_numeric_code": {
      "valid_rate_pct": 0.0,
      "invalid_count": 973
    },
    "risk1_domain": {
      "valid_rate_pct": 100.0,
      "invalid_count": 0
    }
  },
  "domain_checks": {
    "sex_domain": {
      "allowed": [
        1,
        2,
        9
      ],
      "invalid_count": 8,
      "valid_rate_pct": 99.19
    },
    "age_range": {
      "expected_range": "0-110 ปี",
      "invalid_count": 0,
      "valid_rate_pct": 100.0
    },
    "mass_casualty_binary": {
      "invalid_count": 0,
      "valid_rate_pct": 100.0
    },
    "head_injury_binary": {
      "invalid_count": 0,
      "valid_rate_pct": 100.0
    },
    "kratom_binary": {
      "invalid_count": 0,
      "valid_rate_pct": 100.0
    },
    "cannabis_binary": {
      "invalid_count": 0,
      "valid_rate_pct": 100.0
    },
    "sedative_drug_binary": {
      "invalid_count": 0,
      "valid_rate_pct": 100.0
    },
    "amphetamine_binary": {
      "invalid_count": 0,
      "valid_rate_pct": 100.0
    },
    "drugs_binary": {
      "invalid_count": 0,
      "valid_rate_pct": 100.0
    }
  },
  "outlier_iqr": {
    "age": {
      "q1": 18.0,
      "q3": 49.0,
      "iqr": 31.0,
      "lower": -28.5,
      "upper": 95.5,
      "outlier_count": 0,
      "outlier_rate_pct": 0.0
    },
    "activity": {
      "q1": 9.0,
      "q3": 9.0,
      "iqr": 0.0,
      "lower": 9.0,
      "upper": 9.0,
      "outlier_count": 236,
      "outlier_rate_pct": 24.69
    },
    "pmi": {
      "q1": 2.0,
      "q3": 2.0,
      "iqr": 0.0,
      "lower": 2.0,
      "upper": 2.0,
      "outlier_count": 96,
      "outlier_rate_pct": 9.61
    },
    "ems": {
      "q1": 2.0,
      "q3": 3.0,
      "iqr": 1.0,
      "lower": 0.5,
      "upper": 4.5,
      "outlier_count": 49,
      "outlier_rate_pct": 11.98
    },
    "er": {
      "q1": 0.0,
      "q3": 0.0,
      "iqr": 0.0,
      "lower": 0.0,
      "upper": 0.0,
      "outlier_count": 146,
      "outlier_rate_pct": 16.42
    },
    "staer": {
      "q1": 2.0,
      "q3": 7.0,
      "iqr": 5.0,
      "lower": -5.5,
      "upper": 14.5,
      "outlier_count": 0,
      "outlier_rate_pct": 0.0
    },
    "staward": {
      "q1": 1.0,
      "q3": 1.0,
      "iqr": 0.0,
      "lower": 1.0,
      "upper": 1.0,
      "outlier_count": 18,
      "outlier_rate_pct": 13.53
    }
  },
  "fk_integrity": {
    "status": "คำนวณไม่ได้",
    "reason": "ชุดข้อมูลนี้เป็น single-table ไม่มี foreign key ให้ตรวจสอบ",
    "fk_match_rate_pct": null
  }
}