User

This entity is a root level object. It represents an user that can log in to the iCure platform. It is serialized in JSON and saved in the underlying icure-base CouchDB database.

Properties

PropertyTypeDescription

id *

the Id of the user. We encourage using either a v4 UUID or a HL7 Id.

rev

the revision of the user in the database, used for conflict management / optimistic locking.

deletionDate

hard delete (unix epoch in ms) timestamp of the object. Filled automatically when deletePatient is called. format: int64.

created

format: int64.

name

Last name of the user. This is the official last name that should be used for official administrative purposes.

properties *

Extra properties for the user. Those properties are typed (see class Property)

permissions *

If permission to modify patient data is granted or revoked

roles *

Roles specified for the user

type

Authorization source for user. 'Database', 'ldap' or 'token' Values: database, ldap, token

status

State of user's activeness: 'Active', 'Disabled' or 'Registering' Values: ACTIVE, DISABLED, REGISTERING

login

Username for this user. We encourage using an email address

passwordHash

Hashed version of the password (BCrypt is used for hashing)

secret

Secret token used to verify 2fa

use2fa

Whether the user has activated two factors authentication

groupId

id of the group (practice/hospital) the user is member of

healthcarePartyId

Id of the healthcare party if the user is a healthcare party.

patientId

Id of the patient if the user is a patient

autoDelegations *

Delegations that are automatically generated client side when a new database object is created by this user

createdDate

the timestamp (unix epoch in ms) of creation of the user, will be filled automatically if missing. Not enforced by the application server. format: date-time.

termsOfUseDate

the timestamp (unix epoch in ms) of the latest validation of the terms of use of the application format: date-time.

email

email address of the user.

applicationTokens *

Long lived authentication tokens used for inter-applications authentication.

authenticationTokens *

Encrypted and time-limited Authentication tokens used for inter-applications authentication

Last updated