UML — fhir-harness
Generated by cat-harness-tools/scripts/gen-uml-overview.ts — do not edit. Every named sub-graph the fhir-harness instance declares, one box each, with the node schema kinds found in it.
Sources (same model): PlantUML · Mermaid · Graphviz DOT
The interactive view lays this diagram out in your browser with Graphviz, and needs JavaScript. Without it, pick Portrait or Landscape, or read the DOT source.
| sub-graph | directory | graph typologies | node schema | nodes | cohesion | in | out |
|---|---|---|---|---|---|---|---|
fhir-harness/fhir-harness-translations | fhir-harness/translations | translation-sources | TranslationConfigSchema | not measured | |||
fhir-harness/fhir-harness-validators | fhir-harness/validators | validators | ValidatorNodeSchema | not measured | |||
fhir-harness/fhir-harness-typologies | fhir-harness/typologies | typologies | GraphTypologyNodeSchema | not measured | |||
fhir-harness/library | fhir-harness/library | library | ImagesSidecarSchema; KeywordsFileSchema | not measured | |||
fhir-harness/fhir-ig-skills | fhir-harness/skills | skills | skills: could not determine | not measured | |||
fhir-harness/fhir-ig-tools | fhir-harness/tools | tools | ToolDefinitionSchema | not measured | |||
fhir-harness/fhir-ig-scripts | fhir-harness/scripts | code | code: could not determine | not measured | |||
fhir-harness/fhir-harness-pipeline-plugins | fhir-harness/pipeline-plugins | pipeline-plugins | PipelinePluginNodeSchema | not measured | |||
fhir-harness/fhir-harness-plugin-slots | fhir-harness/pipeline | code | code: could not determine | not measured | |||
fhir-harness/fhir-harness-processes | fhir-harness/processes | processes | ext: omg-bpmn-2.0 | not measured | |||
fhir-harness/fhir-harness-docs | fhir-harness/docs | docs | docs: could not determine | not measured | |||
fhir-harness/qa | fhir-harness/test/results | qa | ts: QaResult | not measured |
Nodes, cohesion, in and out are the detangler’s pinned measurements for the same directory (bun run cat kg:detangle; skill graph-detanglement). Not measured means the detangler does not scan that directory, not that it has no edges.
Sub-graphs
- fhir-harness/fhir-harness-translations
- fhir-harness/fhir-harness-validators
- fhir-harness/fhir-harness-typologies
- fhir-harness/library
- fhir-harness/fhir-ig-skills
- fhir-harness/fhir-ig-tools
- fhir-harness/fhir-ig-scripts
- fhir-harness/fhir-harness-pipeline-plugins
- fhir-harness/fhir-harness-plugin-slots
- fhir-harness/fhir-harness-processes
- fhir-harness/fhir-harness-docs
- fhir-harness/qa
The same model, drawn by Mermaid
Kept so the page renders even where the PlantUML image is missing, and because Mermaid nodes carry the CSS class that colours them from uml.css.
classDiagram
direction LR
namespace fhir_harness__fhir_harness_translations {
class fhir_harness_fhir_harness_translations_TranslationConfig["TranslationConfig"] {
<<json: TranslationConfigSchema>>
defaultLocale [0..1] string
supportedLocales [0..*] string[]
translationDir [0..1] string
potGranularity [0..1] block | chapter | folio
officialRequired [0..1] boolean
}
}
namespace fhir_harness__fhir_harness_validators {
class fhir_harness_fhir_harness_validators_folio_validator_v1_folio_validator_v1["folio-validator/v1"] {
<<json: ValidatorNodeSchema>>
$schema [1] 'folio-validator/v1'
id [1] string
validates [1] object
schema [1] string
pages [0..1] string
rationale [0..1] string
}
}
namespace fhir_harness__fhir_harness_typologies {
class fhir_harness_fhir_harness_typologies_folio_graph_typology_v1_folio_graph_typology_v1["folio-graph-typology/v1"] {
<<json: GraphTypologyNodeSchema>>
$schema [1] 'folio-graph-typology/v1'
kind [1] string
title [0..1] string
layer [0..1] 'core'
perInstance [0..1] true
newInstanceSource [0..1] object
renderable [1] boolean
recordsWork [0..1] boolean
holds [1] content | context | state | derived
summary [1] string
schema [0..1] string
validator [0..1] string
validatorNotApplicable [0..1] string
nodeSchemas [0..1] map~object~
declarationFile [0..1] string
concernGroups [0..1] true
within [0..1] string
avatar [0..1] object
tileIcon [0..1] string
published [0..1] false
skillBearing [0..1] true
kgContent [0..1] true
description [0..1] string
renderableNote [0..1] string
anyLayer [0..1] true
rationale [0..1] string
}
}
namespace fhir_harness__library {
class fhir_harness_library_folio_document_images_v1_folio_document_images_v1["folio-document-images/v1"] {
<<json: ImagesSidecarSchema>>
$schema [1] 'folio-document-images/v1'
doc_id [1] string
images [1] object[] | null
undetermined_reason [0..1] string
}
class fhir_harness_library_folio_keywords_v1_Document["Document"] {
<<json: KeywordsFileSchema>>
term [1] string
score [1] number
evidence [0..*] heading[]
}
class fhir_harness_library_folio_keywords_v1_folio_keywords_v1["folio-keywords/v1"] {
<<json: KeywordsFileSchema>>
$schema [1] 'folio-keywords/v1'
entry [1] string
corpus [1] object
document [0..*] Document[]
sections [1] map~object[]~
}
}
namespace fhir_harness__fhir_ig_skills {
class n_fhir_harness_fhir_ig_skills_skills["skills: no node schema"] {
<<could not determine>>
}
}
namespace fhir_harness__fhir_ig_tools {
class fhir_harness_fhir_ig_tools_Remedy["Remedy"] {
<<json: ToolDefinitionSchema>>
host [1] string
error [0..1] string
tool [0..1] string
none [0..1] string
}
class fhir_harness_fhir_ig_tools_Maintain["Maintain"] {
<<json: ToolDefinitionSchema>>
source [1] string
artefact [1] string
format [0..1] string
}
class fhir_harness_fhir_ig_tools_ToolDefinition["ToolDefinition"] {
<<json: ToolDefinitionSchema>>
id [1] string
title [1] string
description [1] string
install [1] object
invoke [1] object
io [1] object
satisfies [1..*] string[]
selection [0..1] object
requires [0..1] object
remedies [0..*] Remedy[]
maintains [0..*] Maintain[]
downstream [0..1] object
renders [0..*] string[]
subprocesses [0..*] string[]
}
}
namespace fhir_harness__fhir_ig_scripts {
class n_fhir_harness_fhir_ig_scripts_code["code: no node schema"] {
<<could not determine>>
}
}
namespace fhir_harness__fhir_harness_pipeline_plugins {
class fhir_harness_fhir_harness_pipeline_plugins_folio_pipeline_plugin_v1_folio_pipeline_plugin_v1["folio-pipeline-plugin/v1"] {
<<json: PipelinePluginNodeSchema>>
$schema [1] 'folio-pipeline-plugin/v1'
slot [1] string
implementation [1] string
rationale [0..1] string
}
}
namespace fhir_harness__fhir_harness_plugin_slots {
class n_fhir_harness_fhir_harness_plugin_slots_code["code: no node schema"] {
<<could not determine>>
}
}
namespace fhir_harness__fhir_harness_processes {
class fhir_harness_fhir_harness_processes_omg_bpmn_2_0["Business Process Model and Notation (BPMN)"] {
<<ext: omg-bpmn-2.0>>
bpmn:callActivity [0..*] element
bpmn:collaboration [0..*] element
bpmn:definitions [0..*] element
bpmn:documentation [0..*] element
bpmn:endEvent [0..*] element
bpmn:exclusiveGateway [0..*] element
bpmn:extensionElements [0..*] element
bpmn:flowNodeRef [0..*] element
bpmn:import [0..*] element
bpmn:incoming [0..*] element
bpmn:lane [0..*] element
bpmn:laneSet [0..*] element
bpmn:outgoing [0..*] element
bpmn:parallelGateway [0..*] element
bpmn:participant [0..*] element
bpmn:process [0..*] element
bpmn:resource [0..*] element
bpmn:sequenceFlow [0..*] element
bpmn:serviceTask [0..*] element
bpmn:startEvent [0..*] element
bpmn:task [0..*] element
bpmn:timerEventDefinition [0..*] element
bpmn:userTask [0..*] element
}
}
namespace fhir_harness__fhir_harness_docs {
class n_fhir_harness_fhir_harness_docs_docs["docs: no node schema"] {
<<could not determine>>
}
}
namespace fhir_harness__qa {
class fhir_harness_qa_qa_results_v1["qa-results/v1"] {
<<ts: QaResult>>
$schema [1] 'qa-results/v1'
producer [1] /** Repo-relative path to the script. */ script: string; /** 12-char SHA-256 prefix of that script's source, as `script-qa` writes. */ script_hash: string;
subject [1] kind: string; id: string
families [1] Record~string, QaResultFamily~
total [1] number
}
}
cssClass "fhir_harness_fhir_harness_translations_TranslationConfig" fa_uml_kind_translation_sources
cssClass "fhir_harness_fhir_harness_validators_folio_validator_v1_folio_validator_v1" fa_uml_kind_validators
cssClass "fhir_harness_fhir_harness_typologies_folio_graph_typology_v1_folio_graph_typology_v1" fa_uml_kind_typologies
fhir_harness_library_folio_keywords_v1_folio_keywords_v1 *-- "0..*" fhir_harness_library_folio_keywords_v1_Document : document
cssClass "fhir_harness_library_folio_document_images_v1_folio_document_images_v1" fa_uml_kind_library
cssClass "fhir_harness_library_folio_keywords_v1_Document" fa_uml_kind_library
cssClass "fhir_harness_library_folio_keywords_v1_folio_keywords_v1" fa_uml_kind_library
cssClass "n_fhir_harness_fhir_ig_skills_skills" fa_uml_kind_skills
cssClass "n_fhir_harness_fhir_ig_skills_skills" fa_uml_undetermined
fhir_harness_fhir_ig_tools_ToolDefinition *-- "0..*" fhir_harness_fhir_ig_tools_Remedy : remedies
fhir_harness_fhir_ig_tools_ToolDefinition *-- "0..*" fhir_harness_fhir_ig_tools_Maintain : maintains
cssClass "fhir_harness_fhir_ig_tools_Remedy" fa_uml_kind_tools
cssClass "fhir_harness_fhir_ig_tools_Maintain" fa_uml_kind_tools
cssClass "fhir_harness_fhir_ig_tools_ToolDefinition" fa_uml_kind_tools
cssClass "n_fhir_harness_fhir_ig_scripts_code" fa_uml_kind_code
cssClass "n_fhir_harness_fhir_ig_scripts_code" fa_uml_undetermined
cssClass "fhir_harness_fhir_harness_pipeline_plugins_folio_pipeline_plugin_v1_folio_pipeline_plugin_v1" fa_uml_kind_pipeline_plugins
cssClass "n_fhir_harness_fhir_harness_plugin_slots_code" fa_uml_kind_code
cssClass "n_fhir_harness_fhir_harness_plugin_slots_code" fa_uml_undetermined
cssClass "fhir_harness_fhir_harness_processes_omg_bpmn_2_0" fa_uml_kind_processes
cssClass "n_fhir_harness_fhir_harness_docs_docs" fa_uml_kind_docs
cssClass "n_fhir_harness_fhir_harness_docs_docs" fa_uml_undetermined
cssClass "fhir_harness_qa_qa_results_v1" fa_uml_kind_qa