competing_event_coupling
How much of a readmission rate's movement between two periods is the survivor denominator moving underneath it. A patient who dies in hospital cannot be readmitted, so death is a competing event: it removes people from the denominator a readmission rate is measured over rather than contributing a zero to it. The crude rate an operator reports therefore moves when mortality moves, with nothing about readmission having changed at all, and the direction is the one that flatters, mortality up and readmissions down. Route here whenever a readmission figure is being read as an improvement. Declare two periods, `period_one` and `period_two`, each carrying `cohort`, `deaths` and `readmissions` as whole counts of people. Both are required: one period on its own has no movement to read, and the movement is this tool's whole subject. `readmissions` is read as the count of survivors readmitted at least once rather than as a count of readmission events, so that the rate over survivors is a share of them; a figure counting events is refused rather than silently reinterpreted, because the two are different numerators and only the first is a share. The answer serves, for each period, the survivors, the readmission rate among survivors, the crude readmission rate per admission and the survival share. The crude rate is the survivor rate multiplied by the survival share, which is why two different things can move it and why this tool serves both. Beside them sits what period two would have shown had its mortality been period one's, holding period two's own survivor rate fixed. `basis` is assumption, because every count was declared by the caller rather than measured by this world. THE SHARE OF THE MOVEMENT CONSISTENT WITH THE MORTALITY SHIFT IS A BOUND AND NEVER A DECOMPOSITION. Splitting the movement of a product between the movement of its two factors has no unique answer: holding the survivor rate at one period's value gives one figure and holding it at the other's gives another, and neither weighting is more correct. That is the index-number problem rather than a rounding difference, so both endpoints are served and the result is named a bound. A single figure here would be one arbitrary choice reported as the answer. WHAT THIS TOOL WILL NOT DO IS EXPLAIN. There is no field on the payload a cause could be written into, and the absence is the design: a payload with a slot for an explanation gets an explanation written into it. This world saw the counts you typed and nothing about case mix, coding, allocation or a comparison group, so the bound says how much of the movement needs no other explanation and never that mortality produced any part of it. A caller who names a competing-risks estimator, a Fine-Gray or subdistribution hazard, a cause-specific hazard, a cumulative incidence function or an Aalen-Johansen estimate, is refused BY NAME under a kind of its own. Every one of them needs event-level data, one row per patient carrying a follow-up time and which event ended it, and no arithmetic over aggregate counts recovers a time-to-event distribution. Serving such a caller a number would hand them a different quantity wearing the name they asked for, which is worse than a refusal because they would report it as the thing they asked for.
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": {
"period_one": {
"additionalProperties": false,
"description": "The earlier period's counts. Required; a single period carries no movement to read.",
"properties": {
"cohort": {
"description": "The people admitted in this period, a whole count of at least one. A rate over nobody admitted is not a rate.",
"minimum": 1,
"type": "integer"
},
"deaths": {
"description": "The people in this cohort who died, a whole count. It may not exceed the cohort, and a cohort with no survivors left is refused rather than served as a readmission rate of nothing.",
"minimum": 0,
"type": "integer"
},
"readmissions": {
"description": "The survivors of this cohort readmitted at least once, a whole count. Read as patients rather than as readmission events, so it may not exceed the survivors.",
"minimum": 0,
"type": "integer"
}
},
"required": [
"cohort",
"deaths",
"readmissions"
],
"type": "object"
},
"period_two": {
"additionalProperties": false,
"description": "The later period's counts, in the same three fields as `period_one`. Required.",
"properties": {
"cohort": {
"description": "The people admitted in this period, a whole count of at least one.",
"minimum": 1,
"type": "integer"
},
"deaths": {
"description": "The people in this cohort who died, a whole count, no greater than the cohort.",
"minimum": 0,
"type": "integer"
},
"readmissions": {
"description": "The survivors of this cohort readmitted at least once, a whole count, no greater than the survivors.",
"minimum": 0,
"type": "integer"
}
},
"required": [
"cohort",
"deaths",
"readmissions"
],
"type": "object"
}
},
"required": [
"period_one",
"period_two"
],
"type": "object"
}