Form generator language

From Endeavour Knowledge Base

The IM form generation language extends SHACL with the introduction of form builder predicates required to help a form based application to generate forms and validate content.

The Rationale for a form generator

SHACL shapes dictate the shape of data i.e. a SHACL node shape is part of a data model. The shape may be of health records (e.g. an Observation) but also may be the shape of a class within the information model itself.

All of the information model class types are subject to constraints by shape. For example:

  • Entities : All entities in the information model have an IRI and label and entity type and optional a description.
  • Concepts : All concepts are entities of type concept, have an IRI with a generated code, have a code and a scheme, a name and perhaps a description or set of synonyms and are either subclasses of, or sub properties of, another concept.
  • Value sets: All value sets are entities of type value set and either have a definition which is a type of query or a simple list of members which are concepts. The value set definition query is limited to a query pattern referred to as "Expression constraint" consisting of concepts, refined perhaps with properties, values and toed together with the boolean operators of AND, OR or MINUS
  • Data models: data models are shapes themselves which are entities in folders or subclasses with properties, each of which would have cardinality, a property IRI and a type of value , thus there is a shape of a shape.

It is perfectly possible to generate a form directly from a shape. However, such an application is likely to be clunky or counter-intuitive.

It is useful to extend SHACL by introducing predicates and shapes used to help the application generate the screen component and validate the data entry or support data entry input.

Maintaining information model concepts is highly specialised requiring knowledge of Description logic, inference, inheritance, clinical safety and knowledge of use cases.