{
  "schema_version": 1,
  "title": "Fictional Chapter 10 screening-score teaching case",
  "fictional": true,
  "provenance": "Generated entirely by fixed integer rules in tools/ch10-generate-case.py; not people, clinical observations, or a validated screening instrument.",
  "n_cases": 60,
  "class_counts": {
    "positive": 27,
    "negative": 33
  },
  "score_range": {
    "minimum": 0,
    "maximum": 100
  },
  "decision_rule": "Predict positive when screening_score >= threshold.",
  "rounding": "Rates are rounded to four decimal places; a zero denominator is JSON null.",
  "threshold_evaluations": [
    {
      "threshold": -1,
      "true_positive": 27,
      "false_positive": 33,
      "true_negative": 0,
      "false_negative": 0,
      "predicted_positive_n": 60,
      "predicted_negative_n": 0,
      "accuracy": 0.45,
      "precision": 0.45,
      "recall_sensitivity": 1.0,
      "specificity": 0.0,
      "false_positive_rate": 1.0,
      "false_negative_rate": 0.0,
      "negative_predictive_value": null,
      "f1": 0.6207
    },
    {
      "threshold": 40,
      "true_positive": 27,
      "false_positive": 10,
      "true_negative": 23,
      "false_negative": 0,
      "predicted_positive_n": 37,
      "predicted_negative_n": 23,
      "accuracy": 0.8333,
      "precision": 0.7297,
      "recall_sensitivity": 1.0,
      "specificity": 0.697,
      "false_positive_rate": 0.303,
      "false_negative_rate": 0.0,
      "negative_predictive_value": 1.0,
      "f1": 0.8438
    },
    {
      "threshold": 55,
      "true_positive": 25,
      "false_positive": 2,
      "true_negative": 31,
      "false_negative": 2,
      "predicted_positive_n": 27,
      "predicted_negative_n": 33,
      "accuracy": 0.9333,
      "precision": 0.9259,
      "recall_sensitivity": 0.9259,
      "specificity": 0.9394,
      "false_positive_rate": 0.0606,
      "false_negative_rate": 0.0741,
      "negative_predictive_value": 0.9394,
      "f1": 0.9259
    },
    {
      "threshold": 70,
      "true_positive": 19,
      "false_positive": 0,
      "true_negative": 33,
      "false_negative": 8,
      "predicted_positive_n": 19,
      "predicted_negative_n": 41,
      "accuracy": 0.8667,
      "precision": 1.0,
      "recall_sensitivity": 0.7037,
      "specificity": 1.0,
      "false_positive_rate": 0.0,
      "false_negative_rate": 0.2963,
      "negative_predictive_value": 0.8049,
      "f1": 0.8261
    },
    {
      "threshold": 101,
      "true_positive": 0,
      "false_positive": 0,
      "true_negative": 33,
      "false_negative": 27,
      "predicted_positive_n": 0,
      "predicted_negative_n": 60,
      "accuracy": 0.55,
      "precision": null,
      "recall_sensitivity": 0.0,
      "specificity": 1.0,
      "false_positive_rate": 0.0,
      "false_negative_rate": 1.0,
      "negative_predictive_value": 0.55,
      "f1": 0.0
    }
  ]
}
