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

Property

Type

Description

id *

​String​

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

rev

​String​

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

deletionDate

​Long​

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

created

​Long​

format: int64.

name

​String​

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

properties *

​List​

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

permissions *

​List​

If permission to modify patient data is granted or revoked

roles *

​List​

Roles specified for the user

type

​String​

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

status

​String​

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

login

​String​

Username for this user. We encourage using an email address

passwordHash

​String​

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

secret

​String​

Secret token used to verify 2fa

use2fa

​Boolean​

Whether the user has activated two factors authentication

groupId

​String​

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

healthcarePartyId

​String​

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

patientId

​String​

Id of the patient if the user is a patient

autoDelegations *

​Map​

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

createdDate

​Date​

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

​Date​

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

email

​String​

email address of the user.

applicationTokens *

​Map​

Long lived authentication tokens used for inter-applications authentication.