screening_yield
How many people a screening programme would find positive and negative, true and false, and what its positive and negative predictive value would be, given a declared test sensitivity, specificity, prevalence and population size. A what-would-this-test-find or what-is-its-predictive-value question is this tool, not a search; this is straight Bayes over exactly the numbers supplied, and this world ships no default for any of the four inputs. Vocabulary: sensitivity and specificity are the test's own declared performance, each on the unit interval from zero to one. prevalence is the declared frequency of the condition in the population being screened, also on the unit interval, and it must travel with prevalence_basis, naming the measurement class it came from: administrative (from claims or enrollment records), measured (from a direct clinical or epidemiological survey), or self_reported (from a respondent's own account). population is the declared number of people the programme screens, a positive whole number. Every answer carries basis: assumption, because every input was declared rather than measured by this world; carries a basis_detail naming all four inputs, each also an assumption, with the prevalence input recording the measurement class you declared for it as its source, since a prevalence_basis of measured is your word for a number you typed and not a register this world read; restates the four inputs it was given, so a figure cannot be quoted without its assumptions; and carries an interpretation_note stating plainly, in the caller's own numbers, what the positive predictive value means at the given prevalence. Positive predictive value collapses at low prevalence: a test with excellent sensitivity and specificity can still return mostly false positives when the condition being screened for is rare, and making that visible is the point of this tool.
Use this form for new arguments. Follow concrete links for known values. Fetch-only readers may be unable to submit new URLs.
Exact input contract
{
"additionalProperties": false,
"properties": {
"population": {
"description": "The declared number of people the programme screens, a positive whole number. Required; this world ships no default.",
"minimum": 1,
"type": "integer"
},
"prevalence": {
"description": "The condition's declared frequency in the population to be screened, on the unit interval, zero to one inclusive. Must be accompanied by prevalence_basis. Required; this world ships no default.",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"prevalence_basis": {
"description": "The measurement class the prevalence figure came from: administrative (claims or enrollment records), measured (a direct clinical or epidemiological survey), modelled (a statistical model predicting a small-area rate from a survey conducted elsewhere), or self_reported (a respondent's own account). Required whenever prevalence is supplied; a prevalence without this class is not a figure this world will compute on. Name \"undeclared\" if the provenance is not known to you: it is absent from this enum because it is refused rather than computed, and that refusal names what would settle it.",
"enum": [
"administrative",
"measured",
"modelled",
"self_reported"
],
"type": "string"
},
"sensitivity": {
"description": "The test's declared sensitivity: the probability a person with the condition tests positive. On the unit interval, zero to one inclusive. Required; this world ships no default.",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"specificity": {
"description": "The test's declared specificity: the probability a person without the condition tests negative. On the unit interval, zero to one inclusive. Required; this world ships no default.",
"maximum": 1,
"minimum": 0,
"type": "number"
}
},
"required": [
"sensitivity",
"specificity",
"prevalence",
"prevalence_basis",
"population"
],
"type": "object"
}