{
  "openapi": "3.0.1",
  "info": {
    "title": "UA API",
    "description": "API Client",
    "version": "1"
  },
  "paths": {
    "/v1/practitioners/{board}/{fid}": {
      "get": {
        "tags": [
          "Practitioners"
        ],
        "summary": "Gets the submissions for a practitioner.",
        "description": "Gets the submissions for a practitioner.",
        "operationId": "GetSubmissionByFid",
        "parameters": [
          {
            "name": "board",
            "in": "path",
            "description": "Board code.",
            "required": true,
            "schema": {
              "type": "string",
              "default": "me"
            }
          },
          {
            "name": "fid",
            "in": "path",
            "description": "FID of the practitioner",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fromDate",
            "in": "query",
            "description": "Optional from date to limit the submissions",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "toDate",
            "in": "query",
            "description": "Optional to date to limit the submissions",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "$orderBy",
            "in": "query",
            "description": "Optional fields to order by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$page",
            "in": "query",
            "description": "Optional one-based page index",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "$pageSize",
            "in": "query",
            "description": "Optional page size",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 25
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Submission"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Submission"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Submission"
                  }
                }
              }
            }
          },
          "204": {
            "description": "There are no submissions for the practitioner"
          },
          "404": {
            "description": "Board code for user is missing or invalid",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/v1/practitioners/{board}/{fid}/current": {
      "get": {
        "tags": [
          "Practitioners"
        ],
        "summary": "Gets the current submission for a practitioner.",
        "description": "Gets the current submission for a practitioner.",
        "operationId": "GetLatestSubmissionByFid",
        "parameters": [
          {
            "name": "board",
            "in": "path",
            "description": "Board code",
            "required": true,
            "schema": {
              "type": "string",
              "default": "me"
            }
          },
          {
            "name": "fid",
            "in": "path",
            "description": "FID of the practitioner",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Submission"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Submission"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Submission"
                }
              }
            }
          },
          "204": {
            "description": "There are no submissions for the practitioner"
          },
          "404": {
            "description": "Board code for user is missing or invalid",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/v1/practitioners/{board}/{fid}/{id}": {
      "get": {
        "tags": [
          "Practitioners"
        ],
        "summary": "Gets a submission for a practitioner.",
        "description": "Gets a submission for a practitioner.",
        "operationId": "GetSubmissionByFidAndId",
        "parameters": [
          {
            "name": "board",
            "in": "path",
            "description": "Board code",
            "required": true,
            "schema": {
              "type": "string",
              "default": "me"
            }
          },
          {
            "name": "fid",
            "in": "path",
            "description": "FID of the practitioner",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Submission ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Submission"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Submission"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Submission"
                }
              }
            }
          },
          "204": {
            "description": "There are no submissions for the practitioner"
          },
          "404": {
            "description": "Board code for user is missing or invalid, or submission ID is invalid",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/v1/submissions/{board}/{id}": {
      "get": {
        "tags": [
          "Submissions"
        ],
        "summary": "Gets a submission by its ID",
        "description": "Gets a submission by its ID.",
        "operationId": "GetSubmissionById",
        "parameters": [
          {
            "name": "board",
            "in": "path",
            "description": "Board code",
            "required": true,
            "schema": {
              "type": "string",
              "default": "me"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Submission ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Submission"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Submission"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Submission"
                }
              }
            }
          },
          "404": {
            "description": "Board code for user is missing or invalid, or submission ID is invalid",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/v1/submissions/{board}": {
      "get": {
        "tags": [
          "Submissions"
        ],
        "summary": "Gets the submissions given a set of filters",
        "description": "Gets the submissions given a set of filters.",
        "operationId": "GetSubmissions",
        "parameters": [
          {
            "name": "board",
            "in": "path",
            "description": "Board code",
            "required": true,
            "schema": {
              "type": "string",
              "default": "me"
            }
          },
          {
            "name": "Fid",
            "in": "query",
            "description": "Gets or sets the FID.",
            "schema": {
              "type": "string",
              "format": "FID"
            }
          },
          {
            "name": "FromDate",
            "in": "query",
            "description": "Gets or sets the from date.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "ToDate",
            "in": "query",
            "description": "Gets or sets the to date.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "HasPaging",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "HasSorting",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "OrderBy",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "$orderBy",
            "in": "query",
            "description": "Optional fields to order by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$page",
            "in": "query",
            "description": "Optional one-based page index",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "$pageSize",
            "in": "query",
            "description": "Optional page size",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 25
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Submission"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Submission"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Submission"
                  }
                }
              }
            }
          },
          "204": {
            "description": "There are no submissions that match the criteria"
          },
          "404": {
            "description": "Board code for user is missing or invalid",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Request is bad",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/v1/submissions/{board}/summary": {
      "get": {
        "tags": [
          "Submissions"
        ],
        "summary": "Get a summary of the submissions given a set of filters",
        "description": "Get a summary of the submissions given a set of filters",
        "operationId": "GetSubmissionSummary",
        "parameters": [
          {
            "name": "board",
            "in": "path",
            "description": "Board code",
            "required": true,
            "schema": {
              "type": "string",
              "default": "me"
            }
          },
          {
            "name": "Fid",
            "in": "query",
            "description": "Gets or sets the FID.",
            "schema": {
              "type": "string",
              "format": "FID"
            }
          },
          {
            "name": "FromDate",
            "in": "query",
            "description": "Gets or sets the from date.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "ToDate",
            "in": "query",
            "description": "Gets or sets the to date.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "HasPaging",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "HasSorting",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "OrderBy",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "$orderBy",
            "in": "query",
            "description": "Optional fields to order by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "$page",
            "in": "query",
            "description": "Optional one-based page index",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "$pageSize",
            "in": "query",
            "description": "Optional page size",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SubmissionSummary"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SubmissionSummary"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SubmissionSummary"
                  }
                }
              }
            }
          },
          "204": {
            "description": "There are no submissions that match the criteria"
          },
          "404": {
            "description": "Board code for user is missing or invalid",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Request is bad",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/connect/token": {
      "post": {
        "tags": [
          "Token"
        ],
        "summary": "Authentication endpoint.",
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AccreditedTraining": {
        "required": [
          "accreditationType",
          "program",
          "programCode",
          "programType",
          "specialty",
          "trainingStatus"
        ],
        "type": "object",
        "properties": {
          "accreditationType": {
            "maxLength": 5,
            "minLength": 1,
            "type": "string"
          },
          "programCode": {
            "maxLength": 10,
            "minLength": 1,
            "type": "string"
          },
          "program": {
            "$ref": "#/components/schemas/Program"
          },
          "specialty": {
            "$ref": "#/components/schemas/Specialty"
          },
          "programType": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "trainingStatus": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "beginDate": {
            "type": "string",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "format": "date-time"
          },
          "isAcgme": {
            "type": "boolean",
            "readOnly": true
          },
          "isAoa": {
            "type": "boolean",
            "readOnly": true
          },
          "percentageClinical": {
            "type": "integer",
            "format": "int32"
          },
          "percentageAdministrative": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Accredited training information"
      },
      "Activity": {
        "required": [
          "description",
          "id",
          "type"
        ],
        "type": "object",
        "properties": {
          "id": {
            "maxLength": 50,
            "minLength": 1,
            "type": "string"
          },
          "type": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "inProgress": {
            "type": "boolean"
          },
          "beginDate": {
            "type": "string",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "description": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "addressLines": {
            "maxItems": 100,
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "city": {
            "maxLength": 50,
            "type": "string",
            "nullable": true
          },
          "stateOrProvince": {
            "$ref": "#/components/schemas/StateOrProvince"
          },
          "postalCode": {
            "maxLength": 9,
            "type": "string",
            "nullable": true
          },
          "position": {
            "maxLength": 100,
            "type": "string",
            "nullable": true
          },
          "department": {
            "maxLength": 100,
            "type": "string",
            "nullable": true
          },
          "wasEmployed": {
            "type": "boolean"
          },
          "hadStaffPrivileges": {
            "type": "boolean"
          },
          "wasAffiliated": {
            "type": "boolean"
          },
          "percentageClinical": {
            "type": "integer",
            "format": "int32"
          },
          "percentageAdministrative": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Activity information"
      },
      "Address": {
        "required": [
          "addressType",
          "city",
          "postalCode",
          "stateOrProvince"
        ],
        "type": "object",
        "properties": {
          "addressType": {
            "maxLength": 20,
            "minLength": 1,
            "type": "string"
          },
          "lines": {
            "maxItems": 100,
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "city": {
            "maxLength": 50,
            "minLength": 1,
            "type": "string"
          },
          "stateOrProvince": {
            "$ref": "#/components/schemas/StateOrProvince"
          },
          "postalCode": {
            "maxLength": 9,
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false,
        "description": "Mailing address"
      },
      "Addresses": {
        "required": [
          "forBoard",
          "forPublic"
        ],
        "type": "object",
        "properties": {
          "forPublic": {
            "$ref": "#/components/schemas/Address"
          },
          "forBoard": {
            "$ref": "#/components/schemas/Address"
          },
          "other": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Address"
            },
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Mailing addresses"
      },
      "AmaDemographics": {
        "required": [
          "firstName",
          "lastName"
        ],
        "type": "object",
        "properties": {
          "prefix": {
            "type": "string",
            "description": "Legal name prefix.",
            "nullable": true
          },
          "firstName": {
            "minLength": 1,
            "type": "string",
            "description": "Legal first name."
          },
          "middleName": {
            "type": "string",
            "description": "Legal middle name.",
            "nullable": true
          },
          "lastName": {
            "minLength": 1,
            "type": "string",
            "description": "Legal last name."
          },
          "suffix": {
            "type": "string",
            "description": "Legal name suffix.",
            "nullable": true
          },
          "birthDate": {
            "type": "string",
            "description": "Date of birth.",
            "format": "date-time",
            "nullable": true
          },
          "deathDate": {
            "type": "string",
            "description": "Date that physician was confirmed deceased.",
            "format": "date-time",
            "nullable": true
          },
          "isStudent": {
            "type": "boolean",
            "description": "Indicates if the profile is for a medical student.",
            "nullable": true
          },
          "amaMembershipStatus": {
            "type": "string",
            "description": "Membership status (e.g. 'Member').",
            "nullable": true
          },
          "degreeCode": {
            "type": "string",
            "description": "Indicates what degree a physician was licensed as ('MD', 'DO').",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Physician demographic information."
      },
      "AmaLicense": {
        "required": [
          "licenseNumber"
        ],
        "type": "object",
        "properties": {
          "licenseNumber": {
            "minLength": 1,
            "type": "string",
            "description": "License number."
          },
          "issueDate": {
            "type": "string",
            "description": "Issue date.",
            "format": "date-time",
            "nullable": true
          },
          "expirationDate": {
            "type": "string",
            "description": "Expiration date.",
            "format": "date-time",
            "nullable": true
          },
          "lastReportedDate": {
            "type": "string",
            "description": "Last reported date.",
            "format": "date-time",
            "nullable": true
          },
          "typeDescription": {
            "type": "string",
            "description": "Type of license (e.g. 'Limited', 'Pending', 'Restricted', 'Temporary', 'Unlimited').",
            "nullable": true
          },
          "stateDescription": {
            "type": "string",
            "description": "State issuing the license.",
            "nullable": true
          },
          "degreeCode": {
            "type": "string",
            "description": "Licensing degree code (e.g. 'MD', 'DO').",
            "nullable": true
          },
          "licenseStatus": {
            "type": "string",
            "description": "Status of license (e.g. 'Active', 'Inactive', 'Denied', 'Unknown').",
            "nullable": true
          },
          "renewalDate": {
            "type": "string",
            "description": "Renewal date.",
            "format": "date-time",
            "nullable": true
          },
          "physicianName": {
            "$ref": "#/components/schemas/AmaName"
          }
        },
        "additionalProperties": false,
        "description": "State medical license information."
      },
      "AmaMedicalSchool": {
        "required": [
          "schoolName"
        ],
        "type": "object",
        "properties": {
          "schoolName": {
            "minLength": 1,
            "type": "string",
            "description": "Name of the medical school."
          },
          "educationType": {
            "type": "string",
            "description": "Type of medical education (Degree or Certificate).",
            "nullable": true
          },
          "degreeAwarded": {
            "type": "string",
            "description": "Indicates if a degree was awarded (Yes, No, Enrolled, or 5th Pathway).",
            "nullable": true
          },
          "graduationYear": {
            "type": "string",
            "description": "Graduation year.",
            "nullable": true
          },
          "graduationDateString": {
            "type": "string",
            "description": "Graduation year and optionally month in format 'yyyy-mm'.",
            "nullable": true
          },
          "degreeCode": {
            "type": "string",
            "description": "Degree code (e.g. 'MD', 'DO').",
            "nullable": true
          },
          "enrollmentDateString": {
            "type": "string",
            "description": "Enrollment year and optionally month in format 'yyyy-mm'.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Medical education."
      },
      "AmaMedicalTraining": {
        "type": "object",
        "properties": {
          "programName": {
            "type": "string",
            "description": "Name of the program.",
            "nullable": true
          },
          "trainingType": {
            "type": "string",
            "description": "Type of training.",
            "nullable": true
          },
          "institutionName": {
            "type": "string",
            "description": "Name of the institution.",
            "nullable": true
          },
          "institutionState": {
            "type": "string",
            "description": "State where the institution is located.",
            "nullable": true
          },
          "beginDate": {
            "type": "string",
            "description": "Date physician entered residency training program.",
            "format": "date-time",
            "nullable": true
          },
          "endDate": {
            "type": "string",
            "description": "Date physician completed or will complete training program.",
            "format": "date-time",
            "nullable": true
          },
          "primarySpecialty": {
            "type": "string",
            "description": "Physician's primary medical specialty based upon accredited graduate medical training program information.",
            "nullable": true
          },
          "confirmationStatus": {
            "type": "string",
            "description": "Indicates that current residency training is (Being Verified, Not Yet Verified, Being Reverified or Verified by primary source).",
            "nullable": true
          },
          "additionalMessage": {
            "type": "string",
            "description": "Extra messaging pertaining to this medical training record.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Medical training."
      },
      "AmaName": {
        "required": [
          "fullName"
        ],
        "type": "object",
        "properties": {
          "prefix": {
            "type": "string",
            "description": "Name prefix.",
            "nullable": true
          },
          "firstName": {
            "type": "string",
            "description": "First name.",
            "nullable": true
          },
          "middleName": {
            "type": "string",
            "description": "Middle name.",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "description": "Last name.",
            "nullable": true
          },
          "suffix": {
            "type": "string",
            "description": "Name suffix.",
            "nullable": true
          },
          "fullName": {
            "minLength": 1,
            "type": "string",
            "description": "Full name."
          }
        },
        "additionalProperties": false,
        "description": "Physician name."
      },
      "AmaNpi": {
        "required": [
          "npiNumber"
        ],
        "type": "object",
        "properties": {
          "npiNumber": {
            "minLength": 1,
            "type": "string",
            "description": "NPI number."
          },
          "deactivationDate": {
            "type": "string",
            "description": "Date the number was deactivated.",
            "format": "date-time",
            "nullable": true
          },
          "reactivationDate": {
            "type": "string",
            "description": "Date the number was reactivated.",
            "format": "date-time",
            "nullable": true
          },
          "replacementNpiNumber": {
            "type": "string",
            "description": "Replacement NPI number.",
            "nullable": true
          },
          "lastReportedDate": {
            "type": "string",
            "description": "Last reported date.",
            "format": "date-time",
            "nullable": true
          },
          "endDate": {
            "type": "string",
            "description": "End date.",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "NPI information."
      },
      "AmaReport": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "AMA unique ID.",
            "format": "int64"
          },
          "asOfDate": {
            "type": "string",
            "description": "Date the report was generated.",
            "format": "date-time"
          },
          "demographics": {
            "$ref": "#/components/schemas/AmaDemographics"
          },
          "medicalSchools": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AmaMedicalSchool"
            },
            "description": "Medical education.",
            "nullable": true
          },
          "medicalTraining": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AmaMedicalTraining"
            },
            "description": "Medical training.",
            "nullable": true
          },
          "npi": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AmaNpi"
            },
            "description": "NPI information.",
            "nullable": true
          },
          "licenses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AmaLicense"
            },
            "description": "Medical licenses.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Physician profile."
      },
      "AmaReportStatus": {
        "enum": [
          "NotAvailable",
          "Pending",
          "Available",
          "NotReleased"
        ],
        "type": "string",
        "description": "AMA report status"
      },
      "Application": {
        "required": [
          "boardName",
          "licenseSubtypeDetails",
          "licenseType"
        ],
        "type": "object",
        "properties": {
          "licenseType": {
            "maxLength": 5,
            "minLength": 1,
            "type": "string"
          },
          "boardName": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "licenseSubtypeDetails": {
            "$ref": "#/components/schemas/LicenseSubtype"
          }
        },
        "additionalProperties": false,
        "description": "Application information"
      },
      "BoardActionStatus": {
        "enum": [
          "Cleared",
          "Alerted"
        ],
        "type": "string",
        "description": "Board action status (e.g. Alerted, Cleared)"
      },
      "Ecfmg": {
        "required": [
          "ecfmgNumber"
        ],
        "type": "object",
        "properties": {
          "ecfmgNumber": {
            "maxLength": 8,
            "minLength": 1,
            "type": "string"
          },
          "issueDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "ECFMG information"
      },
      "EmailAddress": {
        "required": [
          "email"
        ],
        "type": "object",
        "properties": {
          "email": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false,
        "description": "Email address"
      },
      "EmailAddresses": {
        "required": [
          "forBoard",
          "forPublic"
        ],
        "type": "object",
        "properties": {
          "forPublic": {
            "$ref": "#/components/schemas/EmailAddress"
          },
          "forBoard": {
            "$ref": "#/components/schemas/EmailAddress"
          },
          "other": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EmailAddress"
            },
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Email information"
      },
      "Exam": {
        "required": [
          "examType",
          "passFail"
        ],
        "type": "object",
        "properties": {
          "examType": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "stateBoardDetail": {
            "$ref": "#/components/schemas/ExamStateBoard"
          },
          "examDate": {
            "type": "string",
            "format": "date-time"
          },
          "numberOfAttempts": {
            "type": "integer",
            "format": "int32"
          },
          "passFail": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false,
        "description": "Exam"
      },
      "ExamStateBoard": {
        "required": [
          "code",
          "description"
        ],
        "type": "object",
        "properties": {
          "code": {
            "maxLength": 5,
            "minLength": 1,
            "type": "string"
          },
          "description": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false,
        "description": "State board for exam"
      },
      "FcvsProfileReport": {
        "type": "object",
        "properties": {
          "profileId": {
            "type": "integer",
            "description": "Profile ID",
            "format": "int64"
          },
          "profileStatus": {
            "$ref": "#/components/schemas/FcvsProfileStatus"
          },
          "profileSubmitDateUtc": {
            "type": "string",
            "description": "Profile submission date/time, in UTC",
            "format": "date-time"
          },
          "hasBeenSent": {
            "type": "boolean",
            "description": "Determines if the profile has been sent",
            "readOnly": true
          },
          "profileSentDateUtc": {
            "type": "string",
            "description": "Profile sent date/time, in UTC, if any",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "FCVS profile report"
      },
      "FcvsProfileStatus": {
        "enum": [
          "NotAvailable",
          "Submitted",
          "Sent"
        ],
        "type": "string",
        "description": "Defines the status of an FCVS profile."
      },
      "FifthPathway": {
        "required": [
          "school"
        ],
        "type": "object",
        "properties": {
          "school": {
            "$ref": "#/components/schemas/FifthPathwaySchool"
          },
          "startDate": {
            "type": "string",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "format": "date-time"
          },
          "certificateDate": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "5th Pathway information"
      },
      "FifthPathwaySchool": {
        "required": [
          "affiliatedInstitution",
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "affiliatedInstitution": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "city": {
            "maxLength": 50,
            "type": "string",
            "nullable": true
          },
          "stateOrProvince": {
            "$ref": "#/components/schemas/StateOrProvince"
          }
        },
        "additionalProperties": false,
        "description": "5th Pathway school information"
      },
      "Identification": {
        "required": [
          "birthCity",
          "birthStateOrProvince",
          "gender"
        ],
        "type": "object",
        "properties": {
          "ssn": {
            "maxLength": 9,
            "type": "string",
            "nullable": true
          },
          "ssnLast4": {
            "maxLength": 4,
            "type": "string",
            "nullable": true
          },
          "npi": {
            "maxLength": 10,
            "type": "string",
            "nullable": true
          },
          "usmleId": {
            "maxLength": 9,
            "type": "string",
            "nullable": true
          },
          "isUSCitizen": {
            "maxLength": 1,
            "type": "string",
            "nullable": true
          },
          "birthDate": {
            "type": "string",
            "format": "date-time"
          },
          "birthCity": {
            "maxLength": 50,
            "minLength": 1,
            "type": "string"
          },
          "birthStateOrProvince": {
            "$ref": "#/components/schemas/StateOrProvince"
          },
          "gender": {
            "maxLength": 1,
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false,
        "description": "Identity information"
      },
      "License": {
        "type": "object",
        "properties": {
          "licenseType": {
            "maxLength": 100,
            "type": "string",
            "nullable": true
          },
          "licensingEntity": {
            "$ref": "#/components/schemas/LicensingEntity"
          },
          "status": {
            "maxLength": 100,
            "type": "string",
            "nullable": true
          },
          "practitionerType": {
            "$ref": "#/components/schemas/PractitionerType"
          },
          "licenseNumber": {
            "maxLength": 20,
            "type": "string",
            "nullable": true
          },
          "issueDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "expirationDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "License information"
      },
      "LicenseSubtype": {
        "required": [
          "code",
          "description"
        ],
        "type": "object",
        "properties": {
          "code": {
            "maxLength": 5,
            "minLength": 1,
            "type": "string"
          },
          "description": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false,
        "description": "License subtype information"
      },
      "LicensingEntity": {
        "required": [
          "code",
          "description"
        ],
        "type": "object",
        "properties": {
          "code": {
            "maxLength": 5,
            "minLength": 1,
            "type": "string"
          },
          "description": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false,
        "description": "Entity issuing license"
      },
      "Malpractice": {
        "required": [
          "claimStatus",
          "courtName",
          "explanation",
          "insuranceName",
          "patientName",
          "role",
          "state"
        ],
        "type": "object",
        "properties": {
          "state": {
            "$ref": "#/components/schemas/StateOrProvince"
          },
          "eventDate": {
            "type": "string",
            "format": "date-time"
          },
          "patientName": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "courtName": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "caseNumber": {
            "maxLength": 50,
            "type": "string",
            "nullable": true
          },
          "role": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "lawsuitDate": {
            "type": "string",
            "format": "date-time"
          },
          "claimStatus": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "insuranceName": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "judgementAmount": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "behalfAmount": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "explanation": {
            "maxLength": 2000,
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false,
        "description": "Malpractice information"
      },
      "MedicalDegree": {
        "required": [
          "code",
          "description"
        ],
        "type": "object",
        "properties": {
          "code": {
            "maxLength": 5,
            "minLength": 1,
            "type": "string"
          },
          "description": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false,
        "description": "Medical degree"
      },
      "MedicalEducation": {
        "required": [
          "school"
        ],
        "type": "object",
        "properties": {
          "school": {
            "$ref": "#/components/schemas/School"
          },
          "beginDate": {
            "type": "string",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "format": "date-time"
          },
          "degree": {
            "$ref": "#/components/schemas/MedicalDegree"
          },
          "graduationDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Medical school education"
      },
      "MedicalEducationTraining": {
        "required": [
          "graduating"
        ],
        "type": "object",
        "properties": {
          "isInternationalGraduate": {
            "type": "boolean"
          },
          "graduating": {
            "$ref": "#/components/schemas/MedicalEducation"
          },
          "other": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MedicalEducation"
            },
            "nullable": true
          },
          "ecfmg": {
            "$ref": "#/components/schemas/Ecfmg"
          },
          "fifthPathway": {
            "$ref": "#/components/schemas/FifthPathway"
          }
        },
        "additionalProperties": false,
        "description": "Medical education"
      },
      "Name": {
        "required": [
          "firstName",
          "lastName"
        ],
        "type": "object",
        "properties": {
          "firstName": {
            "maxLength": 50,
            "minLength": 1,
            "type": "string"
          },
          "middleName": {
            "maxLength": 50,
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "maxLength": 50,
            "minLength": 1,
            "type": "string"
          },
          "suffix": {
            "maxLength": 4,
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Name of a person"
      },
      "Names": {
        "required": [
          "legalName"
        ],
        "type": "object",
        "properties": {
          "legalName": {
            "$ref": "#/components/schemas/Name"
          },
          "other": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Name"
            },
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Deprecated in v1, use KnownNames"
      },
      "NpdbReport": {
        "type": "object",
        "properties": {
          "asOfDate": {
            "type": "string",
            "description": "Date the report was generated.",
            "format": "date-time"
          },
          "availableReports": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NpdbReportType"
            },
            "description": "List of available reports, if any",
            "nullable": true
          },
          "hasAvailableReports": {
            "type": "boolean",
            "description": "Determines if there are any available reports",
            "readOnly": true
          }
        },
        "additionalProperties": false,
        "description": "NPDB report"
      },
      "NpdbReportStatus": {
        "enum": [
          "NotAvailable",
          "Available",
          "Pending"
        ],
        "type": "string",
        "description": "Defines the status of an NPDB report."
      },
      "NpdbReportType": {
        "required": [
          "code",
          "description"
        ],
        "type": "object",
        "properties": {
          "code": {
            "maxLength": 5,
            "minLength": 1,
            "type": "string"
          },
          "description": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false,
        "description": "Type of NPDB report"
      },
      "OtherTraining": {
        "required": [
          "program",
          "programType",
          "specialty",
          "trainingStatus"
        ],
        "type": "object",
        "properties": {
          "program": {
            "$ref": "#/components/schemas/Program"
          },
          "specialty": {
            "$ref": "#/components/schemas/Specialty"
          },
          "programType": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "trainingStatus": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "beginDate": {
            "type": "string",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "format": "date-time"
          },
          "percentageClinical": {
            "type": "integer",
            "format": "int32"
          },
          "percentageAdministrative": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Non-accredited postgraduate training"
      },
      "PartialDate": {
        "type": "object",
        "properties": {
          "month": {
            "pattern": "\\d{2}",
            "type": "string",
            "nullable": true
          },
          "day": {
            "pattern": "\\d{2}",
            "type": "string",
            "nullable": true
          },
          "year": {
            "pattern": "\\d{4}",
            "type": "string",
            "nullable": true
          },
          "date": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "PdcAbms": {
        "type": "object",
        "properties": {
          "certifications": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PdcAbmsCertification"
            },
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "PDC ABMS information"
      },
      "PdcAbmsCertification": {
        "required": [
          "boardName",
          "certificateDuration",
          "certificateName",
          "certificateType",
          "occurrenceType"
        ],
        "type": "object",
        "properties": {
          "reportDate": {
            "type": "string",
            "format": "date-time"
          },
          "boardName": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "certificateName": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "meetsMocRequirements": {
            "maxLength": 20,
            "type": "string",
            "nullable": true
          },
          "isCertified": {
            "type": "boolean"
          },
          "certificateStatus": {
            "maxLength": 100,
            "type": "string",
            "nullable": true
          },
          "certificateType": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "certificateDuration": {
            "maxLength": 20,
            "minLength": 1,
            "type": "string"
          },
          "occurrenceType": {
            "maxLength": 20,
            "minLength": 1,
            "type": "string"
          },
          "effectiveDate": {
            "$ref": "#/components/schemas/PartialDate"
          },
          "expirationDate": {
            "$ref": "#/components/schemas/PartialDate"
          },
          "reverificationDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "mocPathwayId": {
            "maxLength": 2,
            "type": "string",
            "nullable": true
          },
          "mocPathwayName": {
            "maxLength": 100,
            "type": "string",
            "nullable": true
          },
          "occupationStatus": {
            "maxLength": 2,
            "type": "string",
            "nullable": true
          },
          "occupationStatusNotifyYear": {
            "pattern": "\\d{4}",
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "PDC ABMS certification"
      },
      "PdcAoa": {
        "type": "object",
        "properties": {
          "certifications": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PdcAoaCertification"
            },
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "PDC AOA information"
      },
      "PdcAoaCertification": {
        "required": [
          "aoaId",
          "boardName",
          "certificationName",
          "certificationType"
        ],
        "type": "object",
        "properties": {
          "aoaId": {
            "maxLength": 6,
            "minLength": 1,
            "type": "string"
          },
          "reportDate": {
            "type": "string",
            "format": "date-time"
          },
          "boardName": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "certificationName": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "certificationStatus": {
            "maxLength": 20,
            "type": "string",
            "nullable": true
          },
          "certificationType": {
            "maxLength": 50,
            "minLength": 1,
            "type": "string"
          },
          "isOccParticipating": {
            "type": "boolean"
          },
          "isOccRequired": {
            "type": "boolean"
          },
          "certificationIssueDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "certificationEndDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "recertificationIssueDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "recertificationExpireDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PdcDea": {
        "type": "object",
        "properties": {
          "certifications": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PdcDeaCertification"
            },
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "PDC DEA information"
      },
      "PdcDeaCertification": {
        "required": [
          "deaNumber"
        ],
        "type": "object",
        "properties": {
          "reportDate": {
            "type": "string",
            "format": "date-time"
          },
          "deaNumber": {
            "maxLength": 9,
            "minLength": 1,
            "type": "string"
          },
          "expirationDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "drugSchedules": {
            "maxLength": 20,
            "type": "string",
            "nullable": true
          },
          "city": {
            "maxLength": 50,
            "type": "string",
            "nullable": true
          },
          "state": {
            "maxLength": 2,
            "type": "string",
            "nullable": true
          },
          "zipCode": {
            "maxLength": 9,
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "PDC DEA certificate"
      },
      "PdcGraduationDate": {
        "required": [
          "year"
        ],
        "type": "object",
        "properties": {
          "year": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false,
        "description": "PDC graduation date"
      },
      "PdcLicense": {
        "required": [
          "issuer"
        ],
        "type": "object",
        "properties": {
          "reportDate": {
            "type": "string",
            "format": "date-time"
          },
          "licenseType": {
            "maxLength": 100,
            "type": "string",
            "nullable": true
          },
          "issuer": {
            "$ref": "#/components/schemas/LicensingEntity"
          },
          "status": {
            "maxLength": 100,
            "type": "string",
            "nullable": true
          },
          "licenseNumber": {
            "maxLength": 20,
            "type": "string",
            "nullable": true
          },
          "issueDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "expirationDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "PDC license"
      },
      "PdcMedicalDegree": {
        "required": [
          "code",
          "description"
        ],
        "type": "object",
        "properties": {
          "code": {
            "maxLength": 5,
            "minLength": 1,
            "type": "string"
          },
          "description": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false,
        "description": "PDC medical degree"
      },
      "PdcMedicalEducation": {
        "type": "object",
        "properties": {
          "school": {
            "$ref": "#/components/schemas/PdcMedicalSchool"
          },
          "graduationDate": {
            "$ref": "#/components/schemas/PdcGraduationDate"
          },
          "degree": {
            "$ref": "#/components/schemas/PdcMedicalDegree"
          }
        },
        "additionalProperties": false,
        "description": "PDC medical education"
      },
      "PdcMedicalSchool": {
        "required": [
          "cibisCode",
          "name",
          "schoolType"
        ],
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "alternateNames": {
            "maxItems": 100,
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "cibisCode": {
            "maxLength": 6,
            "minLength": 1,
            "type": "string"
          },
          "schoolType": {
            "$ref": "#/components/schemas/SchoolType"
          },
          "city": {
            "maxLength": 50,
            "type": "string",
            "nullable": true
          },
          "stateOrProvince": {
            "$ref": "#/components/schemas/StateOrProvince"
          }
        },
        "additionalProperties": false,
        "description": "PDC medical school"
      },
      "PdcName": {
        "required": [
          "lastName"
        ],
        "type": "object",
        "properties": {
          "firstName": {
            "maxLength": 50,
            "type": "string",
            "nullable": true
          },
          "middleName": {
            "maxLength": 50,
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "maxLength": 50,
            "minLength": 1,
            "type": "string"
          },
          "suffix": {
            "maxLength": 4,
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "PDC Name"
      },
      "PdcNames": {
        "required": [
          "legal"
        ],
        "type": "object",
        "properties": {
          "legal": {
            "$ref": "#/components/schemas/PdcName"
          },
          "other": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PdcName"
            },
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "PDC names"
      },
      "PdcNpi": {
        "required": [
          "entityType",
          "npiNumber"
        ],
        "type": "object",
        "properties": {
          "npiNumber": {
            "maxLength": 10,
            "minLength": 1,
            "type": "string"
          },
          "entityType": {
            "maxLength": 20,
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false,
        "description": "PDC NPI"
      },
      "PdcReport": {
        "required": [
          "medicalEducation",
          "names"
        ],
        "type": "object",
        "properties": {
          "asOfDate": {
            "type": "string",
            "format": "date-time"
          },
          "boardActionStatus": {
            "$ref": "#/components/schemas/BoardActionStatus"
          },
          "names": {
            "$ref": "#/components/schemas/PdcNames"
          },
          "birthDate": {
            "$ref": "#/components/schemas/PartialDate"
          },
          "medicalEducation": {
            "$ref": "#/components/schemas/PdcMedicalEducation"
          },
          "licenses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PdcLicense"
            },
            "nullable": true
          },
          "npi": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PdcNpi"
            },
            "nullable": true
          },
          "abms": {
            "$ref": "#/components/schemas/PdcAbms"
          },
          "aoa": {
            "$ref": "#/components/schemas/PdcAoa"
          },
          "dea": {
            "$ref": "#/components/schemas/PdcDea"
          }
        },
        "additionalProperties": false,
        "description": "PDC report"
      },
      "Phone": {
        "required": [
          "phoneNumber",
          "phoneType"
        ],
        "type": "object",
        "properties": {
          "phoneType": {
            "maxLength": 20,
            "minLength": 1,
            "type": "string"
          },
          "phoneNumber": {
            "maxLength": 10,
            "minLength": 1,
            "type": "string"
          },
          "extension": {
            "maxLength": 4,
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Phone number"
      },
      "Phones": {
        "required": [
          "forBoard",
          "forPublic"
        ],
        "type": "object",
        "properties": {
          "forPublic": {
            "$ref": "#/components/schemas/Phone"
          },
          "forBoard": {
            "$ref": "#/components/schemas/Phone"
          },
          "other": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Phone"
            },
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Phone information"
      },
      "PostGraduateTraining": {
        "type": "object",
        "properties": {
          "accreditedTraining": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccreditedTraining"
            },
            "nullable": true
          },
          "otherTraining": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OtherTraining"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PractitionerType": {
        "required": [
          "code",
          "description"
        ],
        "type": "object",
        "properties": {
          "code": {
            "maxLength": 5,
            "minLength": 1,
            "type": "string"
          },
          "description": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false,
        "description": "Practitioner type"
      },
      "ProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": { }
      },
      "Program": {
        "required": [
          "city",
          "hospitalName",
          "stateOrProvince"
        ],
        "type": "object",
        "properties": {
          "hospitalName": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "affiliatedInstitution": {
            "maxLength": 200,
            "type": "string",
            "nullable": true
          },
          "city": {
            "maxLength": 50,
            "minLength": 1,
            "type": "string"
          },
          "stateOrProvince": {
            "$ref": "#/components/schemas/StateOrProvince"
          }
        },
        "additionalProperties": false,
        "description": "Postgraduate training program"
      },
      "ReportStatus": {
        "enum": [
          "NotAvailable",
          "Pending",
          "Available"
        ],
        "type": "string",
        "description": "Defines the status of a report (e.g. `NotAvailable`, `Pending`, `Available`)."
      },
      "School": {
        "required": [
          "name",
          "schoolType"
        ],
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "cibisCode": {
            "maxLength": 6,
            "type": "string",
            "nullable": true
          },
          "schoolType": {
            "$ref": "#/components/schemas/SchoolType"
          },
          "city": {
            "maxLength": 50,
            "type": "string",
            "nullable": true
          },
          "stateOrProvince": {
            "$ref": "#/components/schemas/StateOrProvince"
          }
        },
        "additionalProperties": false,
        "description": "Medical school"
      },
      "SchoolType": {
        "required": [
          "code",
          "description"
        ],
        "type": "object",
        "properties": {
          "code": {
            "maxLength": 5,
            "minLength": 1,
            "type": "string"
          },
          "description": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false,
        "description": "Type of medical school"
      },
      "Specialty": {
        "required": [
          "description"
        ],
        "type": "object",
        "properties": {
          "description": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false,
        "description": "Training specialty"
      },
      "StateAddendum": {
        "required": [
          "completedDate",
          "questions"
        ],
        "type": "object",
        "properties": {
          "completedDate": {
            "type": "string",
            "description": "Date and time the addendum was completed.",
            "format": "date-time"
          },
          "questions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StateAddendumQuestion"
            },
            "description": "List of questions and answers."
          }
        },
        "additionalProperties": false,
        "description": "State addendum."
      },
      "StateAddendumQuestion": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Question name"
          },
          "answer": {
            "type": "string",
            "description": "Answer",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "State addendum question."
      },
      "StateOrProvince": {
        "required": [
          "code",
          "description"
        ],
        "type": "object",
        "properties": {
          "code": {
            "maxLength": 3,
            "minLength": 1,
            "type": "string"
          },
          "description": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "countryCode": {
            "maxLength": 2,
            "type": "string",
            "nullable": true
          },
          "countryDescription": {
            "maxLength": 100,
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "State or province"
      },
      "Submission": {
        "required": [
          "addresses",
          "application",
          "emailAddresses",
          "fid",
          "identity",
          "names",
          "phones"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Submission ID",
            "format": "int64"
          },
          "fid": {
            "maxLength": 9,
            "minLength": 1,
            "type": "string",
            "description": "FID of practitioner"
          },
          "submitDate": {
            "type": "string",
            "description": "Date/time of submission",
            "format": "date-time"
          },
          "application": {
            "$ref": "#/components/schemas/Application"
          },
          "identity": {
            "$ref": "#/components/schemas/Identification"
          },
          "names": {
            "$ref": "#/components/schemas/Names"
          },
          "addresses": {
            "$ref": "#/components/schemas/Addresses"
          },
          "emailAddresses": {
            "$ref": "#/components/schemas/EmailAddresses"
          },
          "phones": {
            "$ref": "#/components/schemas/Phones"
          },
          "medicalEducation": {
            "$ref": "#/components/schemas/MedicalEducationTraining"
          },
          "postGraduateTraining": {
            "$ref": "#/components/schemas/PostGraduateTraining"
          },
          "exams": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Exam"
            },
            "description": "Exams",
            "nullable": true
          },
          "licenses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/License"
            },
            "description": "Licenses",
            "nullable": true
          },
          "malpractice": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Malpractice"
            },
            "description": "Malpractice information",
            "nullable": true
          },
          "activities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Activity"
            },
            "description": "Chronology of activity",
            "nullable": true
          },
          "pdc": {
            "$ref": "#/components/schemas/PdcReport"
          },
          "pdcReportStatus": {
            "$ref": "#/components/schemas/ReportStatus"
          },
          "ama": {
            "$ref": "#/components/schemas/AmaReport"
          },
          "amaReportStatus": {
            "$ref": "#/components/schemas/AmaReportStatus"
          },
          "fcvsProfile": {
            "$ref": "#/components/schemas/FcvsProfileReport"
          },
          "fcvsProfileStatus": {
            "$ref": "#/components/schemas/FcvsProfileStatus"
          },
          "npdbReport": {
            "$ref": "#/components/schemas/NpdbReport"
          },
          "npdbReportStatus": {
            "$ref": "#/components/schemas/NpdbReportStatus"
          },
          "stateAddendum": {
            "$ref": "#/components/schemas/StateAddendum"
          },
          "addendum": {
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Submission"
      },
      "SubmissionSummary": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "fid": {
            "maxLength": 9,
            "type": "string",
            "nullable": true
          },
          "name": {
            "$ref": "#/components/schemas/Name"
          },
          "submitDate": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Summary of a submission"
      }
    },
    "securitySchemes": {
      "oauth2": {
        "type": "oauth2",
        "flows": {
          "clientCredentials": {
            "authorizationUrl": "https://services-ua-demo.fsmb.org/connect/token",
            "tokenUrl": "https://services-ua-demo.fsmb.org/connect/token",
            "scopes": {
              "ua.read": "Read UA information"
            }
          }
        }
      }
    }
  },
  "security": [
    { }
  ]
}