Skip to content

0.0.3

Choose a tag to compare

@github-actions github-actions released this 07 Sep 04:35
· 92 commits to main since this release
Immutable release. Only release title and notes can be modified.
v0.0.3
61471f0

Added

  • Snapshots of the derived form over the whole vendored corpus (#18). An
    inventory carries one line per template with its group and field counts and
    the kinds it derives, so a change shows as one changed line naming the
    template rather than as a moved total; four whole documents are snapshotted
    beside it, from a 4-field form to a 303-field one. A test also derives twenty
    templates twice and compares the bytes, so the format's determinism claim is
    checked rather than trusted.
  • The ADL 2 reader runs over the published archetype library (#49): 322
    archetypes parse, 306 flatten into an operational template, and 301 read.
    The 5 the reader refuses are mandatory unfilled slots, which is the
    adjudication on #13; the 16 it never sees are refused by the upstream
    flattener because a differential path in a specialised child does not
    resolve in its parent, in a 2013 export that predates the AOM 2 validity
    rules. The two families are counted apart, because they belong to different
    owners. CI fetches the library and sets FERROCHART_REQUIRE_ADL2, so a
    fetch that stops working is a red build rather than a skipped suite.
  • A fetch script for the ADL 2 archetype library (#49), pinned to a commit of
    openEHR/adl-archetypes. It brings 322 ADL 2 archetypes and 330 ADL 1.4
    twins, 321 of them the same archetype in both dialects, which is the first
    real input for the property that both readers fill one internal constraint
    model. Nothing from it is committed: one of the 652 files states a licence
    and the rest state none, so the tree is fetched into a directory
    .gitignore refuses and PROVENANCE.md records the omission.
  • The published form definition type (#17), in ferrochart-form. A definition
    is a tree of groups rooted at the template root; a group holds items, an item
    is a nested group or a field, and a field carries one of eighteen field
    kinds, one per thing a clinician can enter. Labels and help text are resolved
    per language from the archetype terminology, occurrences carry repeatability
    and optionality, an ELEMENT the template permits to be omitted carries the
    four null flavours openEHR RM Release-1.1.0 data_structures.html
    section 4.1 names, and a default_value prefills the field. The crate
    performs no I/O and depends on nothing else in the tree, so a third party can
    write a renderer against it. Every map in the format is ordered and every
    list keeps template order, so recompiling an unchanged template produces an
    identical document.
  • The field derivation (#16), in ferrochart-compile: docs/architecture.md
    section 5 implemented against the internal constraint model, so it is written
    once for both ADL generations. Each permitted unit of a quantity carries its
    own magnitude bounds and decimal precision, so changing the unit changes
    both; a coded field's value set is enumerated with its rubrics where the
    archetype lists them and marked for expansion at render time where it only
    names them; an ordinal keeps list order, scores by its integer and stores its
    symbol's code; a date, time, date-and-time or duration pattern is honoured
    component by component; an occurrences upper bound above one makes an item
    repeatable; an assumed_value never reaches the data; and an open slot is
    recorded as undetermined content rather than rendered. A constraint the
    derivation does not understand is a typed error naming the node, never a
    permissive field. Each of the twelve cases docs/architecture.md
    section 5.2 lists as ungoverned carries a decision in code labelled as
    FerroCHART's own design. All 121 committed CKM templates the reader reads
    derive a form.