Data Model
Carium has four primary data types which underpin the entire system. These are:
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 Type | Owned By | Accessible To |
---|---|---|
User | Self | Limited access to Primary Individual's shared Organizations |
Individual | "owner" User | Shared-With Organizations, Users |
Organization | Organization Administrator User | Organization Administrators, CTM delegates |
IndividualGroup | Organization | CTM 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
- Create a new IndividualGroup.
- Assign the Provider User as a leader of the IndividualGroup.
- 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.