Schema for Cleo Profile Metadata

From ProfileMetadata.schema.yaml (cleo/ProfileMetadata.schema)

---
$id: https://skeleton.botmd.io/cleo/ProfileMetadata.schema
$schema: http://json-schema.org/draft-07/schema#

title: Profile Metadata
description: Provides supplementary information about the clinician.

type: object
additionalProperties: false
required: []

properties:
  language:
    title: Language
    description: Profile's preferred language. Use the [ISO 639-1 code](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes).

    type: string
    pattern: "^[a-z][a-z]$"
  #end language

  email:
    title: E-mail
    description: Profile's email address.

    type: string
    format: idn-email
  #end email

  avatar:
    title: Avatar
    description: Profile's avatar.
    enum: [avatar_blue_male, avatar_blue_female, avatar_yellow_male, avatar_yellow_female, avatar_pink_male, avatar_pink_female, avatar_grey_male, avatar_grey_female]

  engage:
    title: Engage
    description: Patient metadata for the Engage v1 flow.

    type: object
    additionalProperties: false
    required: [module, stage]

    properties:
      module:
        title: Module
        description: The current module the patient signed up for. If this field is absent, it is assumed that the patient is not enrolled into anything.
        enum: [Pre Genetic Counseling, Post Genetic Counseling, Post Genetic Testing]

      stage:
        title: Stage
        description: The current stage of the patient on the onboarding process.
        type: string
    #end properties
  #end engage

  maxicare:
    title: Maxicare
    description: Maxicare's metadata
    type: object
    additionalProperties: true
    properties:
      coverages:
        title: Coverage
        description: Coverage that patient has access to.
        type: array
        minLength: 1
        items:
          type: object
          properties:
            code:
              title: Code
              description: Code of the coverage
              enum: [ACU, C, IP, OP, ER, M]

            description:
              title: Description
              description: Description of the coverage
              type: string
      expiry_date:
        title: Expiry Date
        description: Expiry date of the maxicare card
        type: string
        format: date-time
#end properties

[Main Page] [Schema Documentation] [Examples]