user.json•11.1 kB
{
"name": "User",
"location": "medplum",
"description": "Representation of a human user of the system.",
"properties": [
{
"name": "User",
"depth": 0,
"types": [
{
"datatype": ""
}
],
"path": "User",
"min": 0,
"max": "*",
"short": "Representation of a human user of the system",
"definition": "Representation of a human user of the system.",
"comment": "",
"inherited": false
},
{
"name": "id",
"depth": 1,
"types": [
{
"datatype": "string"
}
],
"path": "User.id",
"min": 0,
"max": "1",
"short": "Logical id of this artifact",
"definition": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
"comment": "",
"inherited": true,
"base": "Resource"
},
{
"name": "meta",
"depth": 1,
"types": [
{
"datatype": "Meta",
"documentLocation": "datatype"
}
],
"path": "User.meta",
"min": 0,
"max": "1",
"short": "",
"definition": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
"comment": "",
"inherited": true,
"base": "Resource"
},
{
"name": "implicitRules",
"depth": 1,
"types": [
{
"datatype": "uri"
}
],
"path": "User.implicitRules",
"min": 0,
"max": "1",
"short": "",
"definition": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.",
"comment": "",
"inherited": true,
"base": "Resource"
},
{
"name": "language",
"depth": 1,
"types": [
{
"datatype": "code"
}
],
"path": "User.language",
"min": 0,
"max": "1",
"short": "",
"definition": "The base language in which the resource is written.",
"comment": "",
"inherited": true,
"base": "Resource"
},
{
"name": "text",
"depth": 1,
"types": [
{
"datatype": "Narrative",
"documentLocation": "datatype"
}
],
"path": "User.text",
"min": 0,
"max": "1",
"short": "Text summary of the resource, for human interpretation",
"definition": "A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
"comment": "",
"inherited": true,
"base": "DomainResource"
},
{
"name": "contained",
"depth": 1,
"types": [
{
"datatype": "Resource"
}
],
"path": "User.contained",
"min": 0,
"max": "*",
"short": "Contained, inline Resources",
"definition": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
"comment": "",
"inherited": true,
"base": "DomainResource"
},
{
"name": "extension",
"depth": 1,
"types": [
{
"datatype": "Extension",
"documentLocation": "datatype"
}
],
"path": "User.extension",
"min": 0,
"max": "*",
"short": "Additional content defined by implementations",
"definition": "May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
"comment": "",
"inherited": true,
"base": "DomainResource"
},
{
"name": "modifierExtension",
"depth": 1,
"types": [
{
"datatype": "Extension",
"documentLocation": "datatype"
}
],
"path": "User.modifierExtension",
"min": 0,
"max": "*",
"short": "Extensions that cannot be ignored",
"definition": "May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
"comment": "",
"inherited": true,
"base": "DomainResource"
},
{
"name": "identifier",
"depth": 1,
"types": [
{
"datatype": "Identifier",
"documentLocation": "datatype"
}
],
"path": "User.identifier",
"min": 0,
"max": "*",
"short": "An identifier for this user",
"definition": "An identifier for this user.",
"comment": "",
"inherited": false
},
{
"name": "firstName",
"depth": 1,
"types": [
{
"datatype": "string"
}
],
"path": "User.firstName",
"min": 1,
"max": "1",
"short": "",
"definition": "The first name or given name of the user. This is the value as entered when the user is created. It is used to populate the profile resource.",
"comment": "",
"inherited": false
},
{
"name": "lastName",
"depth": 1,
"types": [
{
"datatype": "string"
}
],
"path": "User.lastName",
"min": 1,
"max": "1",
"short": "",
"definition": "The last name or family name of the user. This is the value as entered when the user is created. It is used to populate the profile resource.",
"comment": "",
"inherited": false
},
{
"name": "externalId",
"depth": 1,
"types": [
{
"datatype": "string"
}
],
"path": "User.externalId",
"min": 0,
"max": "1",
"short": "",
"definition": "@deprecated Replaced by ProjectMembership.externalId.",
"comment": "",
"inherited": false
},
{
"name": "email",
"depth": 1,
"types": [
{
"datatype": "string"
}
],
"path": "User.email",
"min": 0,
"max": "1",
"short": "",
"definition": "The email address that uniquely identifies the user.",
"comment": "",
"inherited": false
},
{
"name": "emailVerified",
"depth": 1,
"types": [
{
"datatype": "boolean"
}
],
"path": "User.emailVerified",
"min": 0,
"max": "1",
"short": "",
"definition": "Whether the system has verified that the user has access to the email address.",
"comment": "",
"inherited": false
},
{
"name": "admin",
"depth": 1,
"types": [
{
"datatype": "boolean"
}
],
"path": "User.admin",
"min": 0,
"max": "1",
"short": "@deprecated",
"definition": "@deprecated",
"comment": "",
"inherited": false
},
{
"name": "passwordHash",
"depth": 1,
"types": [
{
"datatype": "string"
}
],
"path": "User.passwordHash",
"min": 0,
"max": "1",
"short": "",
"definition": "Encrypted hash of the user's password.",
"comment": "",
"inherited": false
},
{
"name": "mfaSecret",
"depth": 1,
"types": [
{
"datatype": "string"
}
],
"path": "User.mfaSecret",
"min": 0,
"max": "1",
"short": "",
"definition": "Shared secret for MFA authenticator applications.",
"comment": "",
"inherited": false
},
{
"name": "mfaRequired",
"depth": 1,
"types": [
{
"datatype": "boolean"
}
],
"path": "User.mfaRequired",
"min": 0,
"max": "1",
"short": "",
"definition": "Whether the user is required to complete MFA enrollment. If true, the user must complete MFA enrollment before they can log in.",
"comment": "",
"inherited": false
},
{
"name": "mfaEnrolled",
"depth": 1,
"types": [
{
"datatype": "boolean"
}
],
"path": "User.mfaEnrolled",
"min": 0,
"max": "1",
"short": "",
"definition": "Whether the user has completed MFA enrollment.",
"comment": "",
"inherited": false
},
{
"name": "project",
"depth": 1,
"types": [
{
"datatype": "Reference",
"documentLocation": "datatype"
}
],
"referenceTypes": [
{
"datatype": "Project",
"documentLocation": "medplum"
}
],
"path": "User.project",
"min": 0,
"max": "1",
"short": "",
"definition": "Optional project if the user only exists for the project. This is used for the project-specific user database.",
"comment": "",
"inherited": false
}
],
"searchParameters": [
{
"name": "identifier",
"type": "token",
"description": "The identifier of the user",
"expression": "User.identifier"
},
{
"name": "email",
"type": "string",
"description": "The email address of the user",
"expression": "User.email"
},
{
"name": "external-id",
"type": "string",
"description": "The externalID of the user",
"expression": "User.externalId"
},
{
"name": "project",
"type": "reference",
"description": "The project that contains the user",
"expression": "User.project"
}
]
}