@medplum/definitions
Version:
Medplum Data Definitions
1,304 lines • 363 kB
JSON
{
"resourceType" : "Bundle",
"id" : "resources",
"meta" : {
"lastUpdated" : "2019-11-01T09:29:23.356+11:00"
},
"type" : "collection",
"entry" : [{
"fullUrl" : "https://medplum.com/fhir/StructureDefinition/Project",
"resource" : {
"resourceType" : "StructureDefinition",
"id" : "Project",
"name" : "Project",
"url" : "https://medplum.com/fhir/StructureDefinition/Project",
"status" : "active",
"description": "Encapsulation of resources for a specific project or organization.",
"kind" : "resource",
"abstract" : false,
"type" : "Project",
"baseDefinition" : "http://hl7.org/fhir/StructureDefinition/DomainResource",
"snapshot" : {
"element" : [
{
"id" : "Project",
"path" : "Project",
"short" : "Encapsulation of resources for a specific project or organization.",
"definition" : "Encapsulation of resources for a specific project or organization.",
"min" : 0,
"max" : "*",
"base": {
"min" : 0,
"max" : "*",
"path" : "Project"
}
},
{
"id" : "Project.id",
"path" : "Project.id",
"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.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "Resource.id",
"min" : 0,
"max" : "1"
},
"type" : [{
"code" : "string"
}]
},
{
"id" : "Project.meta",
"path" : "Project.meta",
"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.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "Resource.meta",
"min" : 0,
"max" : "1"
},
"type" : [{
"code" : "Meta"
}]
},
{
"id" : "Project.implicitRules",
"path" : "Project.implicitRules",
"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.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "Resource.implicitRules",
"min" : 0,
"max" : "1"
},
"type" : [{
"code" : "uri"
}]
},
{
"id" : "Project.language",
"path" : "Project.language",
"definition" : "The base language in which the resource is written.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "Resource.language",
"min" : 0,
"max" : "1"
},
"type" : [{
"code" : "code"
}]
},
{
"id" : "Project.text",
"path" : "Project.text",
"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.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "DomainResource.text",
"min" : 0,
"max" : "1"
},
"type" : [{
"code" : "Narrative"
}]
},
{
"id" : "Project.contained",
"path" : "Project.contained",
"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.",
"min" : 0,
"max" : "*",
"base" : {
"path" : "DomainResource.contained",
"min" : 0,
"max" : "*"
},
"type" : [{
"code" : "Resource"
}]
},
{
"id" : "Project.extension",
"path" : "Project.extension",
"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.",
"min" : 0,
"max" : "*",
"base" : {
"path" : "DomainResource.extension",
"min" : 0,
"max" : "*"
},
"type" : [{
"code" : "Extension"
}]
},
{
"id" : "Project.modifierExtension",
"path" : "Project.modifierExtension",
"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).",
"min" : 0,
"max" : "*",
"base" : {
"path" : "DomainResource.modifierExtension",
"min" : 0,
"max" : "*"
},
"type" : [{
"code" : "Extension"
}]
},
{
"id" : "Project.identifier",
"path" : "Project.identifier",
"short" : "An identifier for this project",
"definition" : "An identifier for this project.",
"min" : 0,
"max" : "*",
"type" : [{
"code" : "Identifier"
}],
"base" : {
"path" : "Project.identifier",
"min" : 0,
"max" : "*"
}
},
{
"id" : "Project.name",
"path" : "Project.name",
"definition" : "A name associated with the Project.",
"min" : 0,
"max" : "1",
"type" : [{
"code" : "string"
}],
"base" : {
"path" : "Project.name",
"min" : 0,
"max" : "1"
}
},
{
"id" : "Project.description",
"path" : "Project.description",
"definition" : "A summary, characterization or explanation of the Project.",
"min" : 0,
"max" : "1",
"type" : [{
"code" : "string"
}],
"base" : {
"path" : "Project.description",
"min" : 0,
"max" : "1"
}
},
{
"id" : "Project.superAdmin",
"path" : "Project.superAdmin",
"short" : "Whether this project is the super administrator project.",
"definition" : "Whether this project is the super administrator project. A super administrator is a user who has complete access to all resources in all projects.",
"min" : 0,
"max" : "1",
"type" : [{
"code" : "boolean"
}],
"base" : {
"path" : "Project.superAdmin",
"min" : 0,
"max" : "1"
}
},
{
"id" : "Project.strictMode",
"path" : "Project.strictMode",
"short" : "Whether this project uses strict FHIR validation.",
"definition" : "Whether this project uses strict FHIR validation. This setting has been deprecated, and can only be set by a super admin.",
"min" : 0,
"max" : "1",
"type" : [{
"code" : "boolean"
}],
"base" : {
"path" : "Project.strictMode",
"min" : 0,
"max" : "1"
}
},
{
"id" : "Project.checkReferencesOnWrite",
"path" : "Project.checkReferencesOnWrite",
"short" : "Whether this project uses referential integrity on write operations such as 'create' and 'update'.",
"definition" : "Whether this project uses referential integrity on write operations such as 'create' and 'update'.",
"min" : 0,
"max" : "1",
"type" : [{
"code" : "boolean"
}],
"base" : {
"path" : "Project.checkReferencesOnWrite",
"min" : 0,
"max" : "1"
}
},
{
"id" : "Project.owner",
"path" : "Project.owner",
"definition" : "The user who owns the project.",
"min" : 0,
"max" : "1",
"type" : [{
"code" : "Reference",
"targetProfile" : ["https://medplum.com/fhir/StructureDefinition/User"]
}],
"base" : {
"path" : "Project.owner",
"min" : 0,
"max" : "1"
}
},
{
"id" : "Project.features",
"path" : "Project.features",
"definition" : "A list of optional features that are enabled for the project.",
"min" : 0,
"max" : "*",
"type" : [{
"code" : "code"
}],
"base" : {
"path" : "Project.features",
"min" : 0,
"max" : "*"
},
"binding" : {
"strength" : "required",
"valueSet" : "https://medplum.com/fhir/ValueSet/project-feature"
}
},
{
"id" : "Project.defaultPatientAccessPolicy",
"path" : "Project.defaultPatientAccessPolicy",
"definition" : "@deprecated Use defaultAccessPolicies instead. The default access policy for patients using open registration.",
"min" : 0,
"max" : "1",
"type" : [{
"code" : "Reference",
"targetProfile" : ["https://medplum.com/fhir/StructureDefinition/AccessPolicy"]
}],
"base" : {
"path" : "Project.defaultPatientAccessPolicy",
"min" : 0,
"max" : "1"
}
},
{
"id" : "Project.setting",
"path" : "Project.setting",
"definition" : "Option or parameter that can be adjusted within the Medplum Project to customize its behavior.",
"min" : 0,
"max" : "*",
"type" : [{
"code" : "BackboneElement"
}],
"base" : {
"path" : "Project.setting",
"min" : 0,
"max" : "*"
}
},
{
"id" : "Project.setting.name",
"path" : "Project.setting.name",
"definition" : "The secret name.",
"min" : 1,
"max" : "1",
"type" : [{
"code" : "string"
}],
"base" : {
"path" : "Project.setting.name",
"min" : 1,
"max" : "1"
}
},
{
"id" : "Project.setting.value[x]",
"path" : "Project.setting.value[x]",
"definition" : "The secret value.",
"min" : 1,
"max" : "1",
"type" : [{
"code" : "string"
},
{
"code" : "boolean"
},
{
"code" : "decimal"
},
{
"code" : "integer"
}],
"base" : {
"path" : "Project.setting.value[x]",
"min" : 1,
"max" : "1"
}
},
{
"id" : "Project.secret",
"path" : "Project.secret",
"definition" : "Option or parameter that can be adjusted within the Medplum Project to customize its behavior, only visible to project administrators.",
"min" : 0,
"max" : "*",
"base" : {
"path" : "Project.secret",
"min" : 0,
"max" : "*"
},
"contentReference" : "#Project.setting"
},
{
"id" : "Project.systemSetting",
"path" : "Project.systemSetting",
"definition" : "Option or parameter that can be adjusted within the Medplum Project to customize its behavior, only modifiable by system administrators.",
"min" : 0,
"max" : "*",
"base" : {
"path" : "Project.systemSetting",
"min" : 0,
"max" : "*"
},
"contentReference" : "#Project.setting"
},
{
"id" : "Project.systemSecret",
"path" : "Project.systemSecret",
"definition" : "Option or parameter that can be adjusted within the Medplum Project to customize its behavior, only visible to system administrators.",
"min" : 0,
"max" : "*",
"base" : {
"path" : "Project.systemSecret",
"min" : 0,
"max" : "*"
},
"contentReference" : "#Project.setting"
},
{
"id" : "Project.site",
"path" : "Project.site",
"definition" : "Web application or web site that is associated with the project.",
"min" : 0,
"max" : "*",
"type" : [{
"code" : "BackboneElement"
}],
"base" : {
"path" : "Project.site",
"min" : 0,
"max" : "*"
}
},
{
"id" : "Project.site.name",
"path" : "Project.site.name",
"definition" : "Friendly name that will make it easy for you to identify the site in the future.",
"min" : 1,
"max" : "1",
"type" : [{
"code" : "string"
}],
"base" : {
"path" : "Project.site.name",
"min" : 1,
"max" : "1"
}
},
{
"id" : "Project.site.domain",
"path" : "Project.site.domain",
"definition" : "The list of domain names associated with the site. User authentication will be restricted to the domains you enter here, plus any subdomains. In other words, a registration for example.com also registers subdomain.example.com. A valid domain requires a host and must not include any path, port, query or fragment.",
"min" : 1,
"max" : "*",
"type" : [{
"code" : "string"
}],
"base" : {
"path" : "Project.site.domain",
"min" : 1,
"max" : "*"
}
},
{
"id" : "Project.site.googleClientId",
"path" : "Project.site.googleClientId",
"definition" : "The publicly visible Google Client ID for the site. This is used to authenticate users with Google. This value is available in the Google Developer Console.",
"min" : 0,
"max" : "1",
"type" : [{
"code" : "string"
}],
"base" : {
"path" : "Project.site.googleClientId",
"min" : 0,
"max" : "1"
}
},
{
"id" : "Project.site.googleClientSecret",
"path" : "Project.site.googleClientSecret",
"definition" : "The private Google Client Secret for the site. This value is available in the Google Developer Console.",
"min" : 0,
"max" : "1",
"type" : [{
"code" : "string"
}],
"base" : {
"path" : "Project.site.googleClientSecret",
"min" : 0,
"max" : "1"
}
},
{
"id" : "Project.site.recaptchaSiteKey",
"path" : "Project.site.recaptchaSiteKey",
"definition" : "The publicly visible reCAPTCHA site key. This value is generated when you create a new reCAPTCHA site in the reCAPTCHA admin console. Use this site key in the HTML code your site serves to users.",
"min" : 0,
"max" : "1",
"type" : [{
"code" : "string"
}],
"base" : {
"path" : "Project.site.recaptchaSiteKey",
"min" : 0,
"max" : "1"
}
},
{
"id" : "Project.site.recaptchaSecretKey",
"path" : "Project.site.recaptchaSecretKey",
"definition" : "The private reCAPTCHA secret key. This value is generated when you create a new reCAPTCHA site in the reCAPTCHA admin console. Use this secret key for communication between your site and reCAPTCHA.",
"min" : 0,
"max" : "1",
"type" : [{
"code" : "string"
}],
"base" : {
"path" : "Project.site.recaptchaSecretKey",
"min" : 0,
"max" : "1"
}
},
{
"id": "Project.link",
"path": "Project.link",
"definition": "Linked Projects whose contents are made available to this one",
"min": 0,
"max": "*",
"type": [{"code": "BackboneElement"}],
"base": {
"path": "Project.link",
"min": 0,
"max": "*"
}
},
{
"id": "Project.link.project",
"path": "Project.link.project",
"definition": "A reference to the Project to be linked into this one",
"min": 1,
"max": "1",
"type": [{"code": "Reference", "targetProfile": ["Project"]}],
"base": {
"path": "Project.link.project",
"min": 1,
"max": "1"
}
},
{
"id": "Project.defaultProfile",
"path": "Project.defaultProfile",
"definition": "Default profiles to apply to resources in this project that do not individually specify profiles",
"min": 0,
"max": "*",
"type": [{"code": "BackboneElement"}],
"base": {
"path": "Project.defaultProfile",
"min": 0,
"max": "*"
}
},
{
"id": "Project.defaultProfile.resourceType",
"path": "Project.defaultProfile.resourceType",
"definition": "The resource type onto which to apply the default profiles",
"min": 1,
"max": "1",
"type": [{"code": "code"}],
"base": {
"path": "Project.defaultProfile.resourceType",
"min": 1,
"max": "1"
},
"binding": {
"strength": "required",
"valueSet": "http://hl7.org/fhir/ValueSet/resource-types"
}
},
{
"id": "Project.defaultProfile.profile",
"path": "Project.defaultProfile.profile",
"definition": "The profiles to add by default",
"min": 1,
"max": "*",
"type": [{
"code" : "canonical",
"targetProfile" : ["http://hl7.org/fhir/StructureDefinition/StructureDefinition"]
}],
"base": {
"path": "Project.defaultProfile.profile",
"min": 1,
"max": "*"
}
},
{
"id": "Project.defaultAccessPolicies",
"path": "Project.defaultAccessPolicies",
"definition": "Default access policies to apply to project members by role when no explicit policy is provided.",
"min": 0,
"max": "*",
"type": [{"code": "BackboneElement"}],
"base": {
"path": "Project.defaultAccessPolicies",
"min": 0,
"max": "*"
}
},
{
"id": "Project.defaultAccessPolicies.profileType",
"path": "Project.defaultAccessPolicies.profileType",
"definition": "The member role this policy applies to.",
"min": 1,
"max": "1",
"type": [{"code": "code"}],
"base": {
"path": "Project.defaultAccessPolicies.profileType",
"min": 1,
"max": "1"
},
"binding": {
"strength": "required",
"valueSet": "https://medplum.com/fhir/ValueSet/project-membership-profile-type"
}
},
{
"id": "Project.defaultAccessPolicies.accessPolicy",
"path": "Project.defaultAccessPolicies.accessPolicy",
"definition": "The access policy to apply to members of this role.",
"min": 1,
"max": "1",
"type": [{
"code": "Reference",
"targetProfile": ["https://medplum.com/fhir/StructureDefinition/AccessPolicy"]
}],
"base": {
"path": "Project.defaultAccessPolicies.accessPolicy",
"min": 1,
"max": "1"
}
},
{
"id": "Project.exportedResourceType",
"path": "Project.exportedResourceType",
"definition": "The resource types exported by the project when linked",
"min": 0,
"max": "*",
"type": [{"code": "code"}],
"base": {
"path": "Project.exportedResourceType",
"min": 0,
"max": "*"
},
"binding": {
"strength": "required",
"valueSet": "http://hl7.org/fhir/ValueSet/resource-types"
}
}
]
}
}
},
{
"fullUrl" : "https://medplum.com/fhir/StructureDefinition/ClientApplication",
"resource" : {
"resourceType" : "StructureDefinition",
"id" : "ClientApplication",
"name" : "ClientApplication",
"url" : "https://medplum.com/fhir/StructureDefinition/ClientApplication",
"status" : "active",
"description": "Medplum client application for automated access.",
"kind" : "resource",
"abstract" : false,
"type" : "ClientApplication",
"baseDefinition" : "http://hl7.org/fhir/StructureDefinition/DomainResource",
"snapshot" : {
"element" : [
{
"id" : "ClientApplication",
"path" : "ClientApplication",
"short" : "Medplum client application for automated access.",
"definition" : "Medplum client application for automated access.",
"min" : 0,
"max" : "*",
"base": {
"path" : "ClientApplication",
"min" : 0,
"max" : "*"
}
},
{
"id" : "ClientApplication.id",
"path" : "ClientApplication.id",
"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.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "Resource.id",
"min" : 0,
"max" : "1"
},
"type" : [{
"code" : "string"
}]
},
{
"id" : "ClientApplication.meta",
"path" : "ClientApplication.meta",
"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.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "Resource.meta",
"min" : 0,
"max" : "1"
},
"type" : [{
"code" : "Meta"
}]
},
{
"id" : "ClientApplication.implicitRules",
"path" : "ClientApplication.implicitRules",
"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.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "Resource.implicitRules",
"min" : 0,
"max" : "1"
},
"type" : [{
"code" : "uri"
}]
},
{
"id" : "ClientApplication.language",
"path" : "ClientApplication.language",
"definition" : "The base language in which the resource is written.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "Resource.language",
"min" : 0,
"max" : "1"
},
"type" : [{
"code" : "code"
}]
},
{
"id" : "ClientApplication.text",
"path" : "ClientApplication.text",
"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.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "DomainResource.text",
"min" : 0,
"max" : "1"
},
"type" : [{
"code" : "Narrative"
}]
},
{
"id" : "ClientApplication.contained",
"path" : "ClientApplication.contained",
"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.",
"min" : 0,
"max" : "*",
"base" : {
"path" : "DomainResource.contained",
"min" : 0,
"max" : "*"
},
"type" : [{
"code" : "Resource"
}]
},
{
"id" : "ClientApplication.extension",
"path" : "ClientApplication.extension",
"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.",
"min" : 0,
"max" : "*",
"base" : {
"path" : "DomainResource.extension",
"min" : 0,
"max" : "*"
},
"type" : [{
"code" : "Extension"
}]
},
{
"id" : "ClientApplication.modifierExtension",
"path" : "ClientApplication.modifierExtension",
"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).",
"min" : 0,
"max" : "*",
"base" : {
"path" : "DomainResource.modifierExtension",
"min" : 0,
"max" : "*"
},
"type" : [{
"code" : "Extension"
}]
},
{
"id" : "ClientApplication.status",
"path" : "ClientApplication.status",
"short" : "active | error | off",
"definition" : "The client application status. The status is active by default. The status can be set to error to indicate that the client application is not working properly. The status can be set to off to indicate that the client application is no longer in use.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "ClientApplication.status",
"min" : 1,
"max" : "1"
},
"type" : [{
"code" : "code"
}],
"binding" : {
"strength" : "required",
"valueSet" : "https://medplum.com/fhir/CodeSystem/client-application-status"
}
},
{
"id" : "ClientApplication.name",
"path" : "ClientApplication.name",
"definition" : "A name associated with the ClientApplication.",
"min" : 0,
"max" : "1",
"type" : [{
"code" : "string"
}],
"base": {
"path" : "ClientApplication.name",
"min" : 0,
"max" : "1"
}
},
{
"id" : "ClientApplication.description",
"path" : "ClientApplication.description",
"definition" : "A summary, characterization or explanation of the ClientApplication.",
"min" : 0,
"max" : "1",
"type" : [{
"code" : "string"
}],
"base": {
"path" : "ClientApplication.description",
"min" : 0,
"max" : "1"
}
},
{
"id" : "ClientApplication.signInForm",
"path" : "ClientApplication.signInForm",
"definition" : "Custom values for the Log In form.",
"min" : 0,
"max" : "1",
"type" : [{
"code" : "BackboneElement"
}],
"base" : {
"path" : "ClientApplication.signInForm",
"min" : 0,
"max" : "1"
}
},
{
"id" : "ClientApplication.signInForm.welcomeString",
"path" : "ClientApplication.signInForm.welcomeString",
"definition" : "Welcome string for the Log In Form.",
"min" : 0,
"max" : "1",
"type" : [{
"code" : "string"
}],
"base": {
"path" : "ClientApplication.signInForm.welcomeString",
"min" : 0,
"max" : "1"
}
},
{
"id" : "ClientApplication.signInForm.logo",
"path" : "ClientApplication.signInForm.logo",
"definition" : "Logo for the Log In Form.",
"min" : 0,
"max" : "1",
"type" : [{
"code" : "Attachment"
}],
"base": {
"path" : "ClientApplication.signInForm.logo",
"min" : 0,
"max" : "1"
}
},
{
"id" : "ClientApplication.secret",
"path" : "ClientApplication.secret",
"definition" : "Client secret string used to verify the identity of a client.",
"min" : 0,
"max" : "1",
"type" : [{
"code" : "string"
}],
"base": {
"path" : "ClientApplication.secret",
"min" : 0,
"max" : "1"
}
},
{
"id" : "ClientApplication.retiringSecret",
"path" : "ClientApplication.retiringSecret",
"definition" : "Old version of the client secret that is being rotated out. Instances of the client using this value should update to use the value in ClientApplication.secret",
"min" : 0,
"max" : "1",
"type" : [{
"code" : "string"
}],
"base": {
"path" : "ClientApplication.retiringSecret",
"min" : 0,
"max" : "1"
}
},
{
"id" : "ClientApplication.jwksUri",
"path" : "ClientApplication.jwksUri",
"definition" : "Optional JWKS URI for public key verification of JWTs issued by the authorization server (client_secret_jwt).",
"min" : 0,
"max" : "1",
"type" : [{
"code" : "uri"
}],
"base": {
"path" : "ClientApplication.jwksUri",
"min" : 0,
"max" : "1"
}
},
{
"id" : "ClientApplication.redirectUris",
"path" : "ClientApplication.redirectUris",
"definition" : "Optional redirect URI array used when redirecting a client back to the client application.",
"min" : 0,
"max" : "*",
"type" : [{
"code" : "uri"
}],
"base": {
"path" : "ClientApplication.redirectUris",
"min" : 0,
"max" : "*"
}
},
{
"id" : "ClientApplication.launchUri",
"path" : "ClientApplication.launchUri",
"definition" : "Optional launch URI for SMART EHR launch sequence.",
"min" : 0,
"max" : "1",
"type" : [{
"code" : "uri"
}],
"base": {
"path" : "ClientApplication.launchUri",
"min" : 0,
"max" : "1"
}
},
{
"id" : "ClientApplication.launchIdentifierSystems",
"path" : "ClientApplication.launchIdentifierSystems",
"definition" : "Optional array of identifier systems to use in SMART launch context. When specified, the resource's identifier with the matching system will be included in the SmartAppLaunch resource's reference and returned to the SMART app in the token response.",
"min" : 0,
"max" : "*",
"type" : [{
"code" : "BackboneElement"
}],
"base": {
"path" : "ClientApplication.launchIdentifierSystems",
"min" : 0,
"max" : "*"
}
},
{
"id" : "ClientApplication.launchIdentifierSystems.resourceType",
"path" : "ClientApplication.launchIdentifierSystems.resourceType",
"definition" : "The resource type for which to use the identifier system (e.g., 'Patient', 'Encounter').",
"min" : 1,
"max" : "1",
"type" : [{
"code" : "code"
}],
"base": {
"path" : "ClientApplication.launchIdentifierSystems.resourceType",
"min" : 1,
"max" : "1"
}
},
{
"id" : "ClientApplication.launchIdentifierSystems.system",
"path" : "ClientApplication.launchIdentifierSystems.system",
"definition" : "The identifier system URI to use for the specified resource type.",
"min" : 1,
"max" : "1",
"type" : [{
"code" : "uri"
}],
"base": {
"path" : "ClientApplication.launchIdentifierSystems.system",
"min" : 1,
"max" : "1"
}
},
{
"id" : "ClientApplication.pkceOptional",
"path" : "ClientApplication.pkceOptional",
"definition" : "Flag to make PKCE optional for this client application. PKCE is required by default for compliance with Smart App Launch. It can be disabled for compatibility with legacy client applications.",
"min" : 0,
"max" : "1",
"type" : [{
"code" : "boolean"
}],
"base": {
"path" : "ClientApplication.pkceOptional",
"min" : 0,
"max" : "1"
}
},
{
"id" : "ClientApplication.identityProvider",
"path" : "ClientApplication.identityProvider",
"definition" : "Optional external Identity Provider (IdP) for the client application.",
"min" : 0,
"max" : "1",
"type" : [{
"code" : "IdentityProvider"
}],
"base": {
"path" : "ClientApplication.identityProvider",
"min" : 0,
"max" : "1"
}
},
{
"id" : "ClientApplication.accessTokenLifetime",
"path" : "ClientApplication.accessTokenLifetime",
"definition" : "Optional configuration to set the access token duration",
"min" : 0,
"max" : "1",
"type" : [{
"code" : "string"
}],
"constraint" : [{
"key" : "clapp-1",
"severity" : "error",
"human" : "Token lifetime must be a valid string representing time duration (eg. 2w, 1h)",
"expression" : "$this.matches('^[0-9]+[smhdwy]$')"
}],
"base": {
"path" : "ClientApplication.accessTokenLifetime",
"min" : 0,
"max" : "1"
}
},
{
"id" : "ClientApplication.refreshTokenLifetime",
"path" : "ClientApplication.refreshTokenLifetime",
"definition" : "Optional configuration to set the refresh token duration",
"min" : 0,
"max" : "1",
"type" : [{
"code" : "string"
}],
"constraint" : [{
"key" : "clapp-1",
"severity" : "error",
"human" : "Token lifetime must be a valid string representing time duration (eg. 2w, 1h)",
"expression" : "$this.matches('^[0-9]+[smhdwy]$')"
}],
"base": {
"path" : "ClientApplication.refreshTokenLifetime",
"min" : 0,
"max" : "1"
}
},
{
"id" : "ClientApplication.allowedOrigin",
"path" : "ClientApplication.allowedOrigin",
"definition" : "Optional CORS allowed origin for the client application. By default, all origins are allowed.",
"min" : 0,
"max" : "*",
"type" : [{
"code" : "string"
}],
"base": {
"path" : "ClientApplication.allowedOrigin",
"min" : 0,
"max" : "*"
}
},
{
"id" : "ClientApplication.grantType",
"path" : "ClientApplication.grantType",
"definition" : "Optional OAuth grant type for the client application. This specifies the allowed grant types for the client application.",
"min" : 0,
"max" : "*",
"type" : [{
"code" : "string"
}],
"base": {
"path" : "ClientApplication.grantType",
"min" : 0,
"max" : "*"
}
},
{
"id" : "ClientApplication.responseType",
"path" : "ClientApplication.responseType",
"definition" : "Optional OAuth response type for the client application. This specifies the allowed response types for the client application.",
"min" : 0,
"max" : "*",
"type" : [{
"code" : "string"
}],
"base": {
"path" : "ClientApplication.responseType",
"min" : 0,
"max" : "*"
}
},
{
"id" : "ClientApplication.defaultScope",
"path" : "ClientApplication.defaultScope",
"definition" : "Optional default OAuth scope for the client application. This scope is used when the client application does not specify a scope in the authorization request.",
"min" : 0,
"max" : "*",
"type" : [{
"code" : "string"
}],
"base": {
"path" : "ClientApplication.defaultScope",
"min" : 0,
"max" : "*"
}
},
{
"id" : "ClientApplication.certificateTrustStore",
"path" : "ClientApplication.certificateTrustStore",
"definition" : "Optional PEM-formatted certificates that are allowed to authenticate to this service via mutual TLS. Supports both Certificate Authorities (CAs) and self-signed certificates. Multiple certificates can be included.",
"min" : 0,
"max" : "1",
"type" : [{
"code" : "string"
}],
"base": {
"path" : "ClientApplication.certificateTrustStore",
"min" : 0,
"max" : "1"
}
},
{
"id" : "ClientApplication.redirectUri",
"path" : "ClientApplication.redirectUri",
"definition" : "@deprecated This field is deprecated. Use redirectUris instead.",
"min" : 0,
"max" : "1",
"type" : [{
"code" : "uri"
}],
"base": {
"path" : "ClientApplication.redirectUri",
"min" : 0,
"max" : "1"
}
}
]
}
}
},
{
"fullUrl" : "https://medplum.com/fhir/StructureDefinition/User",
"resource" : {
"resourceType" : "StructureDefinition",
"id" : "User",
"name" : "User",
"url" : "https://medplum.com/fhir/StructureDefinition/User",
"status" : "active",
"kind" : "resource",
"abstract" : false,
"type" : "User",
"baseDefinition" : "http://hl7.org/fhir/StructureDefinition/DomainResource",
"description" : "Representation of a human user of the system.",
"snapshot" : {
"element" : [
{
"id" : "User",
"path" : "User",
"short" : "Representation of a human user of the system",
"definition" : "Representation of a human user of the system.",
"min" : 0,
"max" : "*",
"base" : {
"path" : "User",
"min" : 0,
"max" : "*"
}
},
{
"id" : "User.id",
"path" : "User.id",
"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.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "Resource.id",
"min" : 0,
"max" : "1"
},
"type" : [{
"code" : "string"
}]
},
{
"id" : "User.meta",
"path" : "User.meta",
"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.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "Resource.meta",
"min" : 0,
"max" : "1"
},
"type" : [{
"code" : "Meta"
}]
},
{
"id" : "User.implicitRules",
"path" : "User.implicitRules",
"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.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "Resource.implicitRules",
"min" : 0,
"max" : "1"
},
"type" : [{
"code" : "uri"
}]
},
{
"id" : "User.language",
"path" : "User.language",
"definition" : "The base language in which the resource is written.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "Resource.language",
"min" : 0,
"max" : "1"
},
"type" : [{
"code" : "code"
}]
},
{
"id" : "User.text",
"path" : "User.text",
"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.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "DomainResource.text",
"min" : 0,
"max" : "1"
},
"type" : [{
"code" : "Narrative"
}]
},
{
"id" : "User.contained",
"path" : "User.contained",
"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.",
"min" : 0,
"max" : "*",
"base" : {
"path" : "DomainResource.contained",
"min" : 0,
"max" : "*"
},
"type" : [{
"code" : "Resource"
}]
},
{
"id" : "User.extension",
"path" : "User.extension",
"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.",
"min" : 0,
"max