Authoring a WHO SMART DAK (L2)
On this page
This page is generated from site-docs/source/guides-who-smart-dak/ — each section below links to its own source.
A Digital Adaptation Kit (DAK) is the L2 — machine-readable but implementation-neutral — representation of a WHO SMART Guideline. This guide covers authoring the L2 artifacts with folio-assistant and an LLM.
Skill package: authoring-who-smart-guidelines
The L2 artifacts
BPMN 2.0 source · full-size SVG
| Artifact | Skill | Format |
|---|---|---|
| Business processes | bpmn-authoring | BPMN 2.0 XML |
| Decision logic | dmn-authoring | DMN tables |
| Data dictionary | l2-dak-authoring | Excel / structured |
| Terminology | terminology-management | code systems / value sets |
| Review | content-review | criteria-based |
The table is the authoring skills, not the DAK. A DAK has ten components (owner, 2026-09-30): the original eight, plus scheduling logic, split out of decision-support logic, and test scenarios. Against the skills above:
| # | DAK component | covered above by |
|---|---|---|
| 1 | Health interventions and recommendations | — (cites L1) |
| 2 | Generic personas | — |
| 3 | User scenarios | — |
| 4 | Business processes and workflows | bpmn-authoring |
| 5 | Core data elements | l2-dak-authoring, terminology-management |
| 6 | Decision-support logic | dmn-authoring |
| 7 | Scheduling logic | dmn-authoring (decision tables) |
| 8 | Indicators and monitoring | — |
| 9 | Functional and non-functional requirements | — |
| 10 | Test scenarios | — |
A dash means no skill in this table. It does not mean no skill anywhere. It is where to look before starting a component.
Scheduling logic is authored, but not yet formalized. It is written as DMN decision tables, like decision-support logic. But it may not yet have its own L2 logical-model component or L3 artefact (owner, 2026-09-30). That is why the sources count differently, and the difference is recorded here:
- WHO’s DAK figure (slide 3 of
cat-harness/library/kg-folio-asst-2026-09-30) shows nine cards, with scheduling logic as #7, and testing drawn beside them. - The SMART Base
DAKlogical model (DAK.fsh) declares nine fields: test scenarios in, and scheduling logic carried inside decision-support logic. - The speaker notes on that slide said eight.
- WHO’s IG starter kit, L2 DAK authoring
(https://smart.who.int/ig-starter-kit/l2_dak_authoring.html; source
input/pagecontent/l2_dak_authoring.mdinWorldHealthOrganization/smart-ig-starter-kit, read frommainon 2026-09-30) disagrees with itself. Its introduction counts “9 interlinked components” with scheduling logic as #7 and no testing. Its own table counts 9 with test scenarios as #9, and scheduling logic inside decision-support logic.
Ten is the owner’s count, and this repository encodes it. DAK_COMPONENTS in
the DAK layer’s schemas/dak-kinds.ts lists ten, and names scheduling logic in
DAK_UNFORMALIZED_COMPONENTS: it has a field name ready (schedulingLogic),
but DAK.fsh does not yet declare that field. The other nine are checked
against DAK.fsh field for field.
Workflow
- Plan —
content-plan: enumerate the processes, decisions, and data elements the guideline implies; identify actors (business analyst, clinical SME, terminologist). - Author business processes — ask the agent to draft BPMN for each clinical
workflow (
bpmn-authoring); it produces valid BPMN 2.0. - Author decision logic — capture recommendations as DMN decision tables
(
dmn-authoring), linked to the data dictionary. - Author the data dictionary — define core data elements with types,
cardinality, and terminology bindings (
l2-dak-authoring). - Manage terminology — define code systems / value sets and bind them
(
terminology-management). - Validate & review —
content-validatethencontent-reviewagainst the DAK criteria.
A mock session
You: Plan the L2 DAK for the immunization guideline — I need the “administer vaccine” process and the “is the client due” decision.
Assistant: (loads
content-plan) Proposed: 1 BPMN processadminister-vaccine, 1 DMN decisionclient-due-for-vaccine, 4 core data elements (client id, antigen, dose number, date administered), 1 value set (antigen codes). Scaffold it?You: Yes.
Assistant: (loads
bpmn-authoring,dmn-authoring,l2-dak-authoring) Created the BPMN with start → check eligibility → administer → record, the DMN table keyed on age/last-dose, and the data dictionary. (callscontent_validate) All artifacts valid.
Next
Turn the L2 DAK into a computable FHIR Implementation Guide → Authoring a WHO SMART IG (L3).