Data Model

 

Introduction

Beginning in 2014, ActivityInfo is transitioning towards a simpler, more flexible data model to support a growing range of needs of our users. In the original model, many types of data required by the user were treated "specially" by ActivityInfo. For example, data reported by users had to be linked to special Location objects which were shared amongst all users. Locations in turn were linked to Administrative Levels, which are centrally managed by BeDataDriven and not user editable. The feedback from our users has been clear: they want more control over these special objects, for example, to manage their own lists of school locations or define their own administrative hierarchies. 

The types of relationships defined in the original model are also not sufficient. Users are limited to linking their results to a single location, and have no way of establishing other types of relationships between results - for example, linking the output of an intervention to a subsequent monitoring visit.

To address these new needs without increasing complexity, we will instead simplify the model.

The Form Model

The many different types of collections within the original model will be collapsed into a single UserForm model. 

FormClassFormInstanceFormField
ActivitySiteIndicator, AttributeInActivity
AttributeGroupAttribute 
LocationTypeLocation 
AdminLevelAdminEntity 
 Country 

Folders

Currently all Form-like objects are located within a specific UserDatabase. Many users are confused by this because there are generally hierarchical structures to take into account. We will be moving away from the concept of "UserDatabase" which has too many different confusing meanings, to simply "Folders." 

Folders contain Forms and other Folders, and have an owner, can define UserGroups, and can inherit or redefine permissions from their parent.

Old modelNew Model
PartnerUserGroup
UserDatabaseFolder
Activity.categoryFolder