Skip to main content

Data Model

Carium has four primary data types which underpin the entire system. These are:

  1. Organization
  2. User
  3. Individual
  4. IndividualGroup

All other data types are owned by one or more of these four types.

Organization

An object representing a care provider organization. Healthcare workflow management objects are owned by an Organization.

Organizations have associated Users of the Provider type, which are considered the Organization's care team members. The Organization may delegate its access, in whole or in part, to its care team members.

User

An object representing the primary acting principle. An end-user will log into their user account. A User performs actions against other data objects through the Carium API. A User has at least one "primary Individual" that the User owns.

Users are one of two types: Patient or Provider.

Provider Users

Provider Users ("Providers") are the subset of Users which are associated with an Organization. Typically, these are employees of the healthcare provider. Providers user accounts are managed by their Organization, which has ultimate control over all Provider accounts.

While Carium APIs support all Patient features for Provider users, the patient experience user interface is hidden.

Provider users have exactly one individual, and don't share their individual with other users.

Individual

An object representing and owning all healthcare data for a person. All details on a healthcare record reference an Individual. All Individuals have a single owning User. Individuals may be shared with additional Users or Organizations. An individual will created for a User on sign up. In the typical sign up flow, the created Individual will automatically be shared with the associated Organization.

IndividualGroup

An object representing a collection of Individuals and Users. An organization has many groups.

IndividualGroups consists of leaders (Provider Users), members (Provider Users), and individuals (Patient Individuals).

Organizations may delegate access to Individuals to leaders of an IndividualGroup. These are typically used to segment Patient Individuals and connect them with their Provider Users in an Organization.

IndividualGroups are also used for functionality other than access delegation.

Summary of Object Access

The following table summarizes object ownership and object access.

Data TypeOwned ByAccessible To
UserSelfLimited access to Primary Individual's shared Organizations
Individual"owner" UserShared-With Organizations, Users
OrganizationOrganization Administrator UserOrganization Administrators, CTM delegates
IndividualGroupOrganizationCTM delegates

Provider Roles

Provider Users are associated with at least one Organization. Optionally, a Provider User may be assigned the org.admin Role, which gives them full read and write access to the Organization, its configuration, and all Individuals shared with it.

Examples

Granting Provider Access to a Patient

  1. Create a new IndividualGroup.
  2. Assign the Provider User as a leader of the IndividualGroup.
  3. Assign the Patient User's Individual to the group's individuals list.

Now the provider will have read and write access to the Patient User's individual.