Extend Entities API

Description

Extend Entities API to enable/simplify working with groups of entities (e.g. entities containing other entities, such as families containing patients, or projects/etc.) - need to provide interfaces and base implementations.

Things to do/fix:

1) current implementation only provides rudimentary support. Missing: members with parameters (e.g. patients with access level in a project), working with members of type X, etc.

2) as discussed in PT-2640, the new design is to have Groups separate from Entities themselves, e.g. an EntityGroupManager is not an EntityManager any more (the goal is to separate managing entities themselves form managing relations between entities). This design makes it easy to group any existing entities without affecting any existing code or existing EntityManagers. E.g. if Patients are to contain new entity X , just a new EntityGroupManager<Patient, X> has to be implemented (in most cases just extending the default abstract implementation with no or litle new code), and the basic EntityManager<Patient> and EntityManager<X> (and all the code using those) will not be affected

Environment

None

Status

Assignee

Andrew Misyura

Reporter

Andrew Misyura

Labels

None

External issue ID

None

External issue ID

None

Components

Fix versions

Priority

Medium
Configure