4 · Identify
For Both Executive and Technical ReadersThe gate. No certificate, no answer.
01 What happens
Identifiability is a binary check. Either the estimand can be computed from data, or it cannot.
Step 4 runs the identification algorithm against the routed model(s) and the formal estimand. It tries back-door adjustment first, then front-door, then full do-calculus. If any criterion applies, an IdentificationCertificate is issued. If none apply, the step returns partial bounds or a structured refusal.
This is the hinge of auditability. An answer that cannot show its certificate does not ship.
02 In / Out
A formal estimand in. A certificate or a refusal out.
IN Formal estimand from Step 2
IN Routed model(s) from Step 3
OUT IdentificationCertificate or RefusalObject
| Estimand | P(Sepsis | do(Treatment=empirical), Lactate=gt_4) |
| Criterion | Back-door |
| Adjustment set | Age, Comorbidity |
| Identified | Yes |
03 Identification criteria
Three criteria, tried in order. First to apply wins.
Back-door adjustment: blocks all back-door paths from intervention to outcome. Most common for Rung 2 queries.
Front-door adjustment: when unmeasured confounders exist but a measured mediator does. Less common.
do-calculus (ID algorithm): the general case. If this fails, the estimand is provably non-identifiable.
04 The gate logic
Certificate issued → proceed. Certificate refused → stop.
if result.identified:
return IdentificationCertificate(result)
elif result.partial_bounds:
return BoundsResult(result.lower, result.upper)
else:
return RefusalObject(reason=result.failure_reason)
05 Architecture components
Inference owns the identification theory. Pipeline owns the gate.
Pipeline →, Identify is Step 4 and the primary refusal gate.
Inference →, defines the identification theory underlying the gate.