Authoring a WHO SMART DAK (L2)

On this page
  1. The L2 artifacts
  2. Workflow
  3. A mock session
  4. Next

This page is generated from site-docs/source/guides-who-smart-dak/ — each section below links to its own source.

✎ Edit

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

✎ Edit

BPMN swimlane diagram: the programme manager scopes the DAK, the plan is seeded as beans, then a parallel gateway fans out the five business-analyst artifacts (personas, BPMN processes, DMN decision logic, data dictionary, indicators) alongside the terminologist's bindings; a clinical SME validates, and the DAK is assembled once accurate.

BPMN 2.0 source · full-size SVG

ArtifactSkillFormat
Business processesbpmn-authoringBPMN 2.0 XML
Decision logicdmn-authoringDMN tables
Data dictionaryl2-dak-authoringExcel / structured
Terminologyterminology-managementcode systems / value sets
Reviewcontent-reviewcriteria-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 componentcovered above by
1Health interventions and recommendations— (cites L1)
2Generic personas—
3User scenarios—
4Business processes and workflowsbpmn-authoring
5Core data elementsl2-dak-authoring, terminology-management
6Decision-support logicdmn-authoring
7Scheduling logicdmn-authoring (decision tables)
8Indicators and monitoring—
9Functional and non-functional requirements—
10Test 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 DAK logical 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.md in WorldHealthOrganization/smart-ig-starter-kit, read from main on 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

✎ Edit

  1. Plan — content-plan: enumerate the processes, decisions, and data elements the guideline implies; identify actors (business analyst, clinical SME, terminologist).
  2. Author business processes — ask the agent to draft BPMN for each clinical workflow (bpmn-authoring); it produces valid BPMN 2.0.
  3. Author decision logic — capture recommendations as DMN decision tables (dmn-authoring), linked to the data dictionary.
  4. Author the data dictionary — define core data elements with types, cardinality, and terminology bindings (l2-dak-authoring).
  5. Manage terminology — define code systems / value sets and bind them (terminology-management).
  6. Validate & review — content-validate then content-review against the DAK criteria.

A mock session

✎ Edit

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 process administer-vaccine, 1 DMN decision client-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. (calls content_validate) All artifacts valid.

Next

✎ Edit

Turn the L2 DAK into a computable FHIR Implementation Guide → Authoring a WHO SMART IG (L3).


folio-assistant — code under the Apache License 2.0, documentation under CC BY 3.0. Generated schema and API references are rebuilt from source on every push to main.

deployed b08c961 · 2026-10-23T23:11:09Z