Documentation on the domain objects used by this sytem.


There are four main "categories" of domain objects used by the system

  • Terminology Objects - e.g. Concepts, Descriptions, Relationships
  • Map Objects - e.g. MapProject, MapRecord, MapEntry
  • Workflow Objects - e.g. TrackingRecord, FeedbackConversation, Workflow Exception
  • Report Objects - e.g. ReportDefinition, Report, ReportResult, ReportResultItem

When there are connections between objects of one category and another category, they are made by value rather than by reference.  Thus a MapRecord has a "conceptId" field that does not directly point to a Concept object but instead contains an identifier for a Concept object that may or may not exist.  This allows for potential gaps in referential integrity as there is no enforcement that the values are valid.  On the other hand, it allows for flexibility (in handling Concepts that disappear, etc) and it allows services to independently manage their own objects.  

Following is information about the domain objects within each category.  @Audited indicates that the object is audited, so any additions, changes, or deletions are tracked by the system allowing a complete historical view of these objects.

Terminology Objects

  • AttributeValueRefSetMember 
    • Entries from the RF2 attribute value refset member file
    • Also used by ClaML loader to indicate dagger/asterisk info
  • ComplexMapRefSetMember
    • Entries from the RF2 complex and extended map refset member files
    • These members can be used to generate map records when loading a project for the first time
  • Concept
    • Terminology concepts
  • Description
    • Terminology descriptions
  • LanguageRefSetMember
    • Entries from the RF2 language refset file
  • Relationship
    • Terminology relationships
    • Also used by ClaML loader to indicate references, including dagger/asterisk or asterisk/dagger  references
  • SimpleMapRefSetMember
    • Entries from the RF2 simple map refset member file
  • SimpleRefSetMember
    • Entries from the RF2 simple refset member file
  • TreePosition
    • Terminology tree positions for a concept
    • The entire tree is computed, including all paths from the root to individual concepts.

Map Objects

  • MapAdvice - @Audited
    • Advice values used within a map project for a map entry
  • MapAgeRange - @Audited
    • Preset age ranges used within a map project for a map entry
  • MapNote - @Audited
    • Notes added to map records
  • MapPrinciple - @Audited
    • Principles used within a map project for a map recors
  • MapProject - @Audited
    • Map project information and metadata
  • MapRecord - @Audited
    • A collection of map entries representing a complete map for a terminology concept.
  • MapRelation - @Audited
    • Relation values used within a map project for a map entry
  • MapUserPreferences
    • Application user preferences - a means for saving application state across multiple logins
  • MapUser - @Audited
    • Application user - has an application role and project specific roles within each project

Workflow Objects

  • FeedbackConversation - @Audited
    • Represents a conversation about feedback on a map record with one or more feedbacks
  • Feedback - @Audited
    • An entry of feedback within a conversation
  • TrackingRecord
    • Represents a workflow state for a particular concept within a map project
  • WorkflowException
    • Represents an exception to the normal workflow (typically something reported by the system as a conflict that really isn't)

Report Objects

  • ReportDefinition - @Audited
    • A report definition that can be executed
  • ReportNote
    • A note on a report
  • ReportResultItem
    • An item within a report result, typically a concept id
  • ReportResult
    • A result entry within a larger report, typically a "count" and a "value"
  • Report
    • A collection of ReportResults created by executing a ReportDefinition
  • n/a


  • No labels