Leerplichtwet 1969 art. 13a lid 1 lets the head of a school grant leave “op aanvraag”. The rest comes from the Algemene wet bestuursrecht (Awb). Awb 4:2 says what an application holds and 4:13 when the decision is due; 7:11 decides an objection. Art. 13a names none of them.
The law format could not express this:
AANVRAAG stage, but a hook there fires only when a caller runs the decision from that stage.The law format says what is submitted and what is decided on it. RFC-046 covers how a cell records it, and Applications, Decisions and Objections shows the pieces together.
produces is a list when an article yields more than one thing: one item per type, a kind of submission (AANVRAAG, BEZWAAR) or a legal character. A submission lists its parameters and names the decision it asks for (requests). A decision lists its outputs and its derived data.
Every output belongs to at most one item. One that belongs to none is allowed only beside a decision that lists its own outputs, and is not part of that decision. The engine computes an output only when something reads it (RFC-043).
A hook can apply to a submission (applies_to.submission), narrowed to one article with established_by. It takes no stage or decision_type, and names a legal character or a submission, not both.
produces.moment names the parameter that holds the moment the law counts from, with its legal_basis. The engine does not read it; a recording runtime does.
Each item has its own stage. The stage named after the submission kind fires the hooks on the submission and computes no decision output. The other stages compute the decision. Outside a procedure every hook fires, as before.
A decision gets its inputs from the submission, then policy (implements), then the authority’s findings (decided_per_case_by), passed apart from the parameters. Policy wins over a finding; a finding no article asks for is an error. Policy may take a cell’s answer (RFC-048 §2); where the cell answers, that answer sets a finding aside.
A decision can be taken again. The type decision holds a decision value. source.article calls an article’s decision, by reference or by value. The call uses the decision’s own fields and findings, plus findings given anew.
An objection is a second submission. Awb 7:11 establishes it and decides on it by calling the contested decision anew. It is admissible when on time and not against a decision on objection (taken_on). It gives cause when an output differs; derived data does not count.
required: false.Open points are listed in Applications, Decisions and Objections.
includes: algemene_wet_bestuursrecht#4:2). The text does not say it, and forgetting it loses the Awb fields silently.legal_character: AANVRAAG. An application is not a decision (Awb 1:3).submission and legal_character. The engine then skipped outputs at AANVRAAG by a rule of its own.id per item and decides_on (PR #1689). Names the law does not have, pointing the wrong way: an application asks for a decision. For the objection, Awb 6:4 with a link from 7:11 would likewise add a key that requests covers.origin). That is process, not law.Their text is not changed.
type.type: BESCHIKKING.| Schema | Adds |
|---|---|
| v0.8.0 | produces.submission, produces.moment, applies_to.submission, established_by |
| v0.8.1 | produces as a list |
| v0.8.3 | BEZWAAR |
| v0.8.4 | the type decision, source.article, source.parameters_from, derived |
Engine: hooks on a submission in the hooks index, LawExecutionService::execute_stage_at, resolve_article_call, load_check::reject_ambiguous_produces. Corpus: Leerplichtwet 1969 art. 13a, the Awb articles above and BABW art. 49, with scenarios.
An exploration into transparent, executable legislation, and one of the three projects in the starting selection of the Nederlandse Digitale Dienst.
GitHub repository
How it works
Stay informed
Roadmap (Dutch)
Documentation
Research
Nederlandse Digitale Dienst
Ministry of Economic Affairs and Climate Policy