Data Architecture

Start > Documentation > Data Architecture

under development…

Standard Templates

Standard Templates

ELMO allows organizations to create standard sets of forms, questions, and option sets that can be re-used across missions. All of these forms, questions, and option sets — or standard “objects” — are indicated with a gold seal in ELMO.

To use standard objects effectively (and understand how they lay the ground work for comparisons), it is important to understand how they work. This section is a little technical, but helpful for those familiar with data objects or things like parent-child relationships.

  • Standard objects are created at the Admin level. They are then available to every mission as an import.
  • Importing a standard object creates a copy at the Mission level, available for editing and use. When a standard object is imported to a mission, the imported object is an identical copy or ‘standard copy’ of the original.
    • If an object has dependents (like a form has questions and a question has an option set), copies are also made of these as well.
    • Question conditions (e.g. question 5 depends on question 3) are also copied during import when possible. But if the option that the condition depends on is renamed or deleted, then the condition cannot be imported (though the question itself is).
  • Although a standard copy is distinct from its original, there is still a relationship between the two. This relationship — represented by the standard seal on copies at the mission level — has several purposes:
    • It prevents duplication of dependent objects during future imports (e.g. if a standard question has already been imported to a mission and another form containing that question is later imported, there is no need to make a second copy of the question).
    • To ease the retrospective analysis across missions (same questions across multiple missions are more easily identifiable).
    • To allow synchronization (see below).
  • A standard copy can lose its standard status in certain situations. You can modify or edit a standard copy at will, but if a modification makes the copy incompatible with its original, the relationship between the standard object and its copy is broken. In this case the copy will no longer bear the standard seal. At the moment, there is only one type of modification that does this:
    • A question becomes incompatible if its option set or type (e.g. integer, select one) is changed.
  • Importing a standard object will sometimes automatically change some properties in the copy in order to avoid confusing duplicates. Certain object properties — like form name, question code, and option set name — must remain unique in the mission. If an import operation would create a duplicate value for any of these fields, an alternate name is automatically generated (e.g. if importing a form called ‘My Form’ to a mission that already has a different form also called ‘My Form’, the imported form would be named ‘My Form 2’).
  • Codes of standard question copies cannot be changed directly in order to try and keep them in sync. To preserve name recognition and ease of post-hoc analysis, question codes are kept in sync between standard questions and their copies as much as possible. If a standard question’s code is changed, all its copies get the new code (subject to the above uniqueness constraints and adjustments).