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.