From ApplicationInput.schema.yaml (heimdall/ApplicationInput.schema
)
---
$id: https://skeleton.botmd.io/heimdall/ApplicationInput.schema
$schema: http://json-schema.org/draft-07/schema#
title: Application Input
description: Application inputs are used by Heimdall login frontends for application specific input values.
anyOf:
- $ref: "/skeleton/Empty.schema"
- $ref: "#/definitions/cleo"
- $ref: "#/definitions/hospital"
- $ref: "#/definitions/maxwell"
#end anyOf
definitions:
cleo:
title: Cleo
description: Application input needed by Cleo heimdall application
type: object
additionalProperties: false
anyOf:
- required: [domain]
- required: [domain, patient_verification_fields]
- required: [patient_verification_fields]
properties:
domain:
title: Domain
description: Domain of the clinic. This is used to identify the clinic to create the session for during authorization flow. This is currently used with clinician authorization flows only (i.e., Auth0, Session exchange).
type: string
minLength: 1
patient_verification_fields:
title: Verification Fields
description: An array of verification fields containing key, value pairs of the user's input during patient login.
type: array
items:
type: object
additionalProperties: false
required: [key, value]
properties:
key:
title: Key
description: Key representing the verification type. See [cleo/ClinicSettings.schema](cleo-clinicsettings-generated.html) for more information.
enum: [identifier, identifier_last_4, verification_token, verification_token_last_4, phone_e164, phone_without_country_code, phone_last_4]
value:
title: Value
description: Patient input for the corresponding `key`. When validating on the backend, it is case insensitive and "space" insensitive.
type: string
minLength: 1
#end properties
#end patient_verification_fields
#end properties
#end cleo
hospital:
title: HospitalHeimdallApplication
description: Application input for `HospitalHeimdallApplication`
type: object
additionalProperties: false
required: [allow_guest]
properties:
allow_guest:
title: Allow Guest
description: Boolean that indicates whether guest login is allowed or not.
type: boolean
default: false
#end allow_guest
organization_key:
title: Organization key
description: If specified, the authorization flow will only check the user’s identifiable information against the specific hospital’s `DirectoryProfile` and API. Note that this refers to the `Hospital.settings['organization_key']`.
$ref: "/hospital/ProfileTags.schema#/definitions/Organization Keys"
#end organization_key
device_uid:
title: Device UID
description: Device UID for public session. If specified, backend will send message to device during authorization flow.
type: string
#end device_uid
#end hospital
maxwell:
title: MaxwellApplication
description: Application input for `MaxwellApplication`
type: object
additionalProperties: false
required: [user_role]
properties:
user_role:
title: User Role
description: User Role assumed by a clinician user of maxwell application
type: string
enum: [doctor, assistant]
#end user_role
#end properties
#end maxwell
#end definitions