{
   "$schema": "https://json-schema.org/draft/2020-12/schema",
   "title": "Clinician",
   "type": "object",
   "required": [
      "name",
      "npi"
   ],
   "properties": {
      "clinician_id": {
         "$ref": "../ids.json#/definitions/ClinicianId"
      },
      "name": {
         "$ref": "../structs.json#/definitions/Name"
      },
      "contact_info": {
         "type": "array",
         "items": {
            "$ref": "../structs.json#/definitions/ContactInfoOptional"
         },
         "maxItems": 1
      },
      "clinic_name": {
         "type": "string"
      },
      "npi": {
         "$ref": "../core.json#/definitions/NPI"
      },
      "clinics": {
         "type": "array",
         "items": {
            "type": "object",
            "additionalProperties": false,
            "required": [
               "name",
               "clinic_id"
            ],
            "properties": {
               "name": {
                  "type": "string"
               },
               "clinic_id": {
                  "$ref": "../ids.json#/definitions/ClinicId"
               },
               "roles": {
                  "type": "array",
                  "items": {
                     "$ref": "../core.json#/definitions/OrganizationProviderRole"
                  }
               },
               "can_order": {
                  "type": "boolean",
                  "description": "Provider can place a new order at this organization"
               }
            }
         }
      },
      "communication_preferences": {
         "type": "object"
      },
      "campaigns": {
         "type": "array",
         "items": {
            "$ref": "./Campaign.json"
         }
      },
      "license_status": {
         "$ref": "../core.json#/definitions/ProviderLicenseStatus"
      },
      "is_active": {
         "type": "boolean",
         "description": "Whether the clinician is active (not archived and in_use)."
      }
   },
   "additionalProperties": false
}