SMART Trust HCERT library tools
SMART Trust Tools
Requirements knowledge graph

Node kinds

The graph the explorer and the matrix draw is read from this instance's cat-harness nodes, nothing else. Each kind below is a directory declared in smart-trust-tools.json, and each edge is a field of one of those nodes. tools/check-req-nodes fails the build if any edge names no node.

Kinds

KindNodesRead fromNode type
requirement95skills/requirements/*.jsonbootstrap requirement (req:)
section49library/<entry>/sections/cat-harness library section
document47library/<entry>/, references/*.json, vectors/<set>/*library entry, folio-reference/v1, test vector (every file of a vector set but its SOURCE.yaml and README)
standard29external-schemas/*.jsonfolio-external-schema/v1
directive5memory/dir-*.mdfolio-memory/v1
upstream11library/who-smart-trust-requirements-fshsmart-trust FHIR Requirements, as ingested
skill16skills/<package>/*.mdskill with satisfies
tool15tools/<id>/<id>.tscat-harness Tool (defineTool)
process4processes/*/*.bpmnBPMN process, tasks naming skills
role6scenarios/roles.jsonrole graph
api131api/wit/*.wit, api/cddl/*.cddlWIT interface, world or item, or CDDL rule (hcert-contract typology)
issue35beans/defs/*.mdbean
test170the files a skill's tested-by namesa Kotlin test function named after the requirements it verifies, or a script
test-plan2test/plans/*.test-plan.jsontest-plan/v1 (cat-harness), shaped after FHIR R5 TestPlan
model8models/fhir/*.json, models/generated/*FHIR logical model (fhir-logical-models: an R5 StructureDefinition, or the R5 primitive patterns), or a payload model lm-derive writes from them (payload-models: JSON-LD context, SHACL shapes, CDDL)

Edges

EdgeCountFrom → toField
references219requirement → sourcereference of the req: node (FHIR Requirements.reference): what it is drawn from
satisfies10requirement → smart-trusta smart-trust FHIR Requirements canonical in reference
derivedFrom63requirement → requirement; model or vector → library entry, standard, model or vectorderivedFrom of the req: node (FHIR Requirements.derivedFrom): the broader requirement it narrows. For a model: the library entry whose FSH declares it, its baseDefinition, the FHIR core package it was taken from, or the directory declaration's derivedFrom (a payload model). For a vector: its SOURCE.yaml's derivedFrom, or the library entry its files: line names
writes4Tool → model or vectorthe directory declaration's writer (payload-models), or a vector set's SOURCE.yaml generator
realizedBy130requirement → skillthe skill's satisfies
implementedBy37skill → Toolthe Tool's satisfies
usedIn18skill → processa BPMN task's skill ref
performedBy32skill → rolethe role's skills
constrainsApi88requirement → WIT item or CDDL rulean [STT-…] tag in the item's comments
affectedBy49requirement → issuethe bean's Requirements affected
testedBy183skill → testthe skill's tested-by
verifies274test → requirementthe requirement ids a test is named after
assesses89test plan → requirementan assertion id, a success criterion req:<id>#<statement>/<criterion>
planCase15test plan → skilla case named after the skill
precededBy1test plan → test plana dependency's predecessor
concerns73issue → sourcethe bean's Sources
partOf172section → entry, statement → requirement, item → interface or CDDL filestructure

Data

The whole graph as JSON: data/graph.json.