{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/elation-health/main/json-schema/elation-health-patched-contact-schema.json",
  "title": "PatchedContact",
  "x-generated": "2026-10-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/elation-health-contacts-api-openapi.yml#/components/schemas/PatchedContact",
  "properties": {
    "accepting_insurance": {
      "description": "Whether the contact indicates they accept insurance.",
      "type": [
        "boolean",
        "null"
      ]
    },
    "accepting_new_patients": {
      "description": "Whether the contact indicates they are accepting new patients.",
      "type": [
        "boolean",
        "null"
      ]
    },
    "address": {
      "description": "The specific address line registered for this contact.",
      "maxLength": 200,
      "type": "string"
    },
    "back_office_phone": {
      "maxLength": 20,
      "type": "string"
    },
    "cell_phone": {
      "description": "The mobile phone registered to the contact.",
      "maxLength": 20,
      "type": "string"
    },
    "city": {
      "description": "The city of the contact.",
      "maxLength": 50,
      "type": "string"
    },
    "contact_type": {
      "description": "The type of contact. {physician, medical_group}",
      "maxLength": 15,
      "type": "string"
    },
    "created_date": {
      "description": "The timestamp when the contact was created.",
      "format": "date-time",
      "readOnly": true,
      "type": [
        "string",
        "null"
      ]
    },
    "credentials": {
      "description": "The credentials for the provider, e.g. MD or DO. Ignored if contact is a medical_group.",
      "maxLength": 200,
      "type": "string"
    },
    "deleted_date": {
      "description": "The timestamp when the contact was deleted.",
      "format": "date-time",
      "readOnly": true,
      "type": [
        "string",
        "null"
      ]
    },
    "direct_address": {
      "maxLength": 500,
      "type": "string"
    },
    "email": {
      "type": "string"
    },
    "fax": {
      "maxLength": 15,
      "type": "string"
    },
    "first_name": {
      "description": "The first name of the contact. Ignored if contact is a medical_group.",
      "maxLength": 50,
      "type": "string"
    },
    "id": {
      "readOnly": true,
      "type": "integer"
    },
    "is_elation_confirmed": {
      "description": "Whether the contact has been verified by someone on the elation team to be available for search within the application. Will always be false for any contact created within a practice.",
      "type": [
        "boolean",
        "null"
      ]
    },
    "is_verified": {
      "description": "Whether the contact has been verified to be a available for search within the application. Will always be true for any contact created by a practice.",
      "type": [
        "boolean",
        "null"
      ]
    },
    "last_name": {
      "description": "The last name of the contact. Ignored if contact is a medical_group.",
      "maxLength": 60,
      "type": "string"
    },
    "middle_name": {
      "description": "The middle name of the contact. Ignored if contact is a medical_group.",
      "maxLength": 50,
      "type": "string"
    },
    "npi": {
      "type": "string"
    },
    "org_name": {
      "maxLength": 100,
      "type": [
        "string",
        "null"
      ]
    },
    "other_specialties": {
      "description": "The list of specialties after the primary specialty related to this contact.",
      "items": {
        "allOf": [
          {
            "$ref": "#/$defs/MedicalSpecialty"
          }
        ]
      },
      "type": "array"
    },
    "phone": {
      "maxLength": 20,
      "type": "string"
    },
    "practice": {
      "description": "The id of the practice that the contact belongs to.",
      "format": "int64",
      "type": "integer"
    },
    "specialty": {
      "allOf": [
        {
          "$ref": "#/$defs/MedicalSpecialty"
        }
      ],
      "description": "The id of the specialty of the contact."
    },
    "specialty_categories": {
      "items": {},
      "type": "array"
    },
    "state": {
      "description": "The state of the contact.",
      "maxLength": 2,
      "type": "string"
    },
    "suite": {
      "maxLength": 20,
      "type": "string"
    },
    "user": {
      "description": "The user id of the contact.",
      "readOnly": true,
      "type": "integer"
    },
    "zip": {
      "maxLength": 10,
      "type": "string"
    }
  },
  "type": "object",
  "$defs": {
    "MedicalSpecialty": {
      "properties": {
        "abbreviation": {
          "maxLength": 20,
          "type": "string"
        },
        "category": {
          "$ref": "#/$defs/MedicalSpecialtyCategory"
        },
        "created_date": {
          "format": "date-time",
          "readOnly": true,
          "type": [
            "string",
            "null"
          ]
        },
        "id": {
          "readOnly": true,
          "type": "integer"
        },
        "name": {
          "maxLength": 100,
          "type": "string"
        },
        "practice_created": {
          "format": "int64",
          "type": [
            "integer",
            "null"
          ]
        }
      },
      "required": [
        "abbreviation",
        "name"
      ],
      "type": "object"
    },
    "MedicalSpecialtyCategory": {
      "properties": {
        "abbreviation": {
          "maxLength": 20,
          "type": [
            "string",
            "null"
          ]
        },
        "created_date": {
          "format": "date-time",
          "readOnly": true,
          "type": [
            "string",
            "null"
          ]
        },
        "id": {
          "readOnly": true,
          "type": "integer"
        },
        "name": {
          "maxLength": 100,
          "type": "string"
        }
      },
      "required": [
        "name"
      ],
      "type": "object"
    }
  }
}