department-of-veterans-affairs/vets-website

View on GitHub
src/applications/appeals/testing/sc/config/form-0995-schema.json

Summary

Maintainability
Test Coverage
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "description": "JSON Schema for VA Form 20-0995",
  "$ref": "#/definitions/scCreate",
  "definitions": {
    "address": {
      "type": "object",
      "properties": {
        "addressLine1": {
          "type": "string",
          "minLength": 1,
          "maxLength": 60
        },
        "addressLine2": {
          "type": "string",
          "minLength": 1,
          "maxLength": 30
        },
        "addressLine3": {
          "type": "string",
          "minLength": 1,
          "maxLength": 10
        },
        "city": {
          "type": "string",
          "minLength": 1,
          "maxLength": 60
        },
        "stateCode": {
          "type": "string",
          "enum": [
            "AL",
            "AK",
            "AS",
            "AZ",
            "AR",
            "AA",
            "AE",
            "AP",
            "CA",
            "CO",
            "CT",
            "DE",
            "DC",
            "FM",
            "FL",
            "GA",
            "GU",
            "HI",
            "ID",
            "IL",
            "IN",
            "IA",
            "KS",
            "KY",
            "LA",
            "ME",
            "MH",
            "MD",
            "MA",
            "MI",
            "MN",
            "MS",
            "MO",
            "MT",
            "NE",
            "NV",
            "NH",
            "NJ",
            "NM",
            "NY",
            "NC",
            "ND",
            "MP",
            "OH",
            "OK",
            "OR",
            "PW",
            "PA",
            "PR",
            "RI",
            "SC",
            "SD",
            "TN",
            "TX",
            "UT",
            "VT",
            "VI",
            "VA",
            "WA",
            "WV",
            "WI",
            "WY"
          ]
        },
        "countryCodeISO2": {
          "type": "string",
          "pattern": "^[A-Z]{2}$",
          "minLength": 2,
          "maxLength": 2
        },
        "zipCode5": {
          "type": "string",
          "description": "5-digit zipcode. Use \"00000\" if address is outside the United States",
          "pattern": "^[0-9]{5}$",
          "minLength": 5,
          "maxLength": 5
        },
        "internationalPostalCode": {
          "type": "string",
          "minLength": 1,
          "maxLength": 16
        }
      },
      "required": [
        "addressLine1",
        "city",
        "countryCodeISO2",
        "zipCode5"
      ]
    },
    "date": {
      "type": "string",
      "pattern": "^[0-9]{4}(-[0-9]{2}){2}$",
      "minLength": 10,
      "maxLength": 10
    },
    "phone": {
      "type": "object",
      "properties": {
        "countryCode": {
          "type": "string",
          "pattern": "^[0-9]+$",
          "minLength": 1,
          "maxLength": 3
        },
        "areaCode": {
          "type": "string",
          "pattern": "^[0-9]{1,4}$",
          "minLength": 1,
          "maxLength": 4
        },
        "phoneNumber": {
          "type": "string",
          "pattern": "^[0-9]{1,14}$",
          "minLength": 1,
          "maxLength": 14
        },
        "phoneNumberExt": {
          "type": "string",
          "pattern": "^[a-zA-Z0-9]{1,10}$",
          "minLength": 1,
          "maxLength": 10
        }
      },
      "required": [
        "areaCode",
        "phoneNumber"
      ]
    },
    "timezone": {
      "type": "string",
      "enum": [
        "Abu Dhabi",
        "Adelaide",
        "Africa/Abidjan",
        "Africa/Accra",
        "Africa/Addis_Ababa",
        "Africa/Algiers",
        "Africa/Asmara",
        "Africa/Asmera",
        "Africa/Bamako",
        "Africa/Bangui",
        "Africa/Banjul",
        "Africa/Bissau",
        "Africa/Blantyre",
        "Africa/Brazzaville",
        "Africa/Bujumbura",
        "Africa/Cairo",
        "Africa/Casablanca",
        "Africa/Ceuta",
        "Africa/Conakry",
        "Africa/Dakar",
        "Africa/Dar_es_Salaam",
        "Africa/Djibouti",
        "Africa/Douala",
        "Africa/El_Aaiun",
        "Africa/Freetown",
        "Africa/Gaborone",
        "Africa/Harare",
        "Africa/Johannesburg",
        "Africa/Juba",
        "Africa/Kampala",
        "Africa/Khartoum",
        "Africa/Kigali",
        "Africa/Kinshasa",
        "Africa/Lagos",
        "Africa/Libreville",
        "Africa/Lome",
        "Africa/Luanda",
        "Africa/Lubumbashi",
        "Africa/Lusaka",
        "Africa/Malabo",
        "Africa/Maputo",
        "Africa/Maseru",
        "Africa/Mbabane",
        "Africa/Mogadishu",
        "Africa/Monrovia",
        "Africa/Nairobi",
        "Africa/Ndjamena",
        "Africa/Niamey",
        "Africa/Nouakchott",
        "Africa/Ouagadougou",
        "Africa/Porto-Novo",
        "Africa/Sao_Tome",
        "Africa/Timbuktu",
        "Africa/Tripoli",
        "Africa/Tunis",
        "Africa/Windhoek",
        "Alaska",
        "Almaty",
        "America/Adak",
        "America/Anchorage",
        "America/Anguilla",
        "America/Antigua",
        "America/Araguaina",
        "America/Argentina/Buenos_Aires",
        "America/Argentina/Catamarca",
        "America/Argentina/ComodRivadavia",
        "America/Argentina/Cordoba",
        "America/Argentina/Jujuy",
        "America/Argentina/La_Rioja",
        "America/Argentina/Mendoza",
        "America/Argentina/Rio_Gallegos",
        "America/Argentina/Salta",
        "America/Argentina/San_Juan",
        "America/Argentina/San_Luis",
        "America/Argentina/Tucuman",
        "America/Argentina/Ushuaia",
        "America/Aruba",
        "America/Asuncion",
        "America/Atikokan",
        "America/Atka",
        "America/Bahia",
        "America/Bahia_Banderas",
        "America/Barbados",
        "America/Belem",
        "America/Belize",
        "America/Blanc-Sablon",
        "America/Boa_Vista",
        "America/Bogota",
        "America/Boise",
        "America/Buenos_Aires",
        "America/Cambridge_Bay",
        "America/Campo_Grande",
        "America/Cancun",
        "America/Caracas",
        "America/Catamarca",
        "America/Cayenne",
        "America/Cayman",
        "America/Chicago",
        "America/Chihuahua",
        "America/Coral_Harbour",
        "America/Cordoba",
        "America/Costa_Rica",
        "America/Creston",
        "America/Cuiaba",
        "America/Curacao",
        "America/Danmarkshavn",
        "America/Dawson",
        "America/Dawson_Creek",
        "America/Denver",
        "America/Detroit",
        "America/Dominica",
        "America/Edmonton",
        "America/Eirunepe",
        "America/El_Salvador",
        "America/Ensenada",
        "America/Fort_Nelson",
        "America/Fort_Wayne",
        "America/Fortaleza",
        "America/Glace_Bay",
        "America/Godthab",
        "America/Goose_Bay",
        "America/Grand_Turk",
        "America/Grenada",
        "America/Guadeloupe",
        "America/Guatemala",
        "America/Guayaquil",
        "America/Guyana",
        "America/Halifax",
        "America/Havana",
        "America/Hermosillo",
        "America/Indiana/Indianapolis",
        "America/Indiana/Knox",
        "America/Indiana/Marengo",
        "America/Indiana/Petersburg",
        "America/Indiana/Tell_City",
        "America/Indiana/Vevay",
        "America/Indiana/Vincennes",
        "America/Indiana/Winamac",
        "America/Indianapolis",
        "America/Inuvik",
        "America/Iqaluit",
        "America/Jamaica",
        "America/Jujuy",
        "America/Juneau",
        "America/Kentucky/Louisville",
        "America/Kentucky/Monticello",
        "America/Knox_IN",
        "America/Kralendijk",
        "America/La_Paz",
        "America/Lima",
        "America/Los_Angeles",
        "America/Louisville",
        "America/Lower_Princes",
        "America/Maceio",
        "America/Managua",
        "America/Manaus",
        "America/Marigot",
        "America/Martinique",
        "America/Matamoros",
        "America/Mazatlan",
        "America/Mendoza",
        "America/Menominee",
        "America/Merida",
        "America/Metlakatla",
        "America/Mexico_City",
        "America/Miquelon",
        "America/Moncton",
        "America/Monterrey",
        "America/Montevideo",
        "America/Montreal",
        "America/Montserrat",
        "America/Nassau",
        "America/New_York",
        "America/Nipigon",
        "America/Nome",
        "America/Noronha",
        "America/North_Dakota/Beulah",
        "America/North_Dakota/Center",
        "America/North_Dakota/New_Salem",
        "America/Ojinaga",
        "America/Panama",
        "America/Pangnirtung",
        "America/Paramaribo",
        "America/Phoenix",
        "America/Port-au-Prince",
        "America/Port_of_Spain",
        "America/Porto_Acre",
        "America/Porto_Velho",
        "America/Puerto_Rico",
        "America/Punta_Arenas",
        "America/Rainy_River",
        "America/Rankin_Inlet",
        "America/Recife",
        "America/Regina",
        "America/Resolute",
        "America/Rio_Branco",
        "America/Rosario",
        "America/Santa_Isabel",
        "America/Santarem",
        "America/Santiago",
        "America/Santo_Domingo",
        "America/Sao_Paulo",
        "America/Scoresbysund",
        "America/Shiprock",
        "America/Sitka",
        "America/St_Barthelemy",
        "America/St_Johns",
        "America/St_Kitts",
        "America/St_Lucia",
        "America/St_Thomas",
        "America/St_Vincent",
        "America/Swift_Current",
        "America/Tegucigalpa",
        "America/Thule",
        "America/Thunder_Bay",
        "America/Tijuana",
        "America/Toronto",
        "America/Tortola",
        "America/Vancouver",
        "America/Virgin",
        "America/Whitehorse",
        "America/Winnipeg",
        "America/Yakutat",
        "America/Yellowknife",
        "American Samoa",
        "Amsterdam",
        "Antarctica/Casey",
        "Antarctica/Davis",
        "Antarctica/DumontDUrville",
        "Antarctica/Macquarie",
        "Antarctica/Mawson",
        "Antarctica/McMurdo",
        "Antarctica/Palmer",
        "Antarctica/Rothera",
        "Antarctica/South_Pole",
        "Antarctica/Syowa",
        "Antarctica/Troll",
        "Antarctica/Vostok",
        "Arctic/Longyearbyen",
        "Arizona",
        "Asia/Aden",
        "Asia/Almaty",
        "Asia/Amman",
        "Asia/Anadyr",
        "Asia/Aqtau",
        "Asia/Aqtobe",
        "Asia/Ashgabat",
        "Asia/Ashkhabad",
        "Asia/Atyrau",
        "Asia/Baghdad",
        "Asia/Bahrain",
        "Asia/Baku",
        "Asia/Bangkok",
        "Asia/Barnaul",
        "Asia/Beirut",
        "Asia/Bishkek",
        "Asia/Brunei",
        "Asia/Calcutta",
        "Asia/Chita",
        "Asia/Choibalsan",
        "Asia/Chongqing",
        "Asia/Chungking",
        "Asia/Colombo",
        "Asia/Dacca",
        "Asia/Damascus",
        "Asia/Dhaka",
        "Asia/Dili",
        "Asia/Dubai",
        "Asia/Dushanbe",
        "Asia/Famagusta",
        "Asia/Gaza",
        "Asia/Harbin",
        "Asia/Hebron",
        "Asia/Ho_Chi_Minh",
        "Asia/Hong_Kong",
        "Asia/Hovd",
        "Asia/Irkutsk",
        "Asia/Istanbul",
        "Asia/Jakarta",
        "Asia/Jayapura",
        "Asia/Jerusalem",
        "Asia/Kabul",
        "Asia/Kamchatka",
        "Asia/Karachi",
        "Asia/Kashgar",
        "Asia/Kathmandu",
        "Asia/Katmandu",
        "Asia/Khandyga",
        "Asia/Kolkata",
        "Asia/Krasnoyarsk",
        "Asia/Kuala_Lumpur",
        "Asia/Kuching",
        "Asia/Kuwait",
        "Asia/Macao",
        "Asia/Macau",
        "Asia/Magadan",
        "Asia/Makassar",
        "Asia/Manila",
        "Asia/Muscat",
        "Asia/Nicosia",
        "Asia/Novokuznetsk",
        "Asia/Novosibirsk",
        "Asia/Omsk",
        "Asia/Oral",
        "Asia/Phnom_Penh",
        "Asia/Pontianak",
        "Asia/Pyongyang",
        "Asia/Qatar",
        "Asia/Qostanay",
        "Asia/Qyzylorda",
        "Asia/Rangoon",
        "Asia/Riyadh",
        "Asia/Saigon",
        "Asia/Sakhalin",
        "Asia/Samarkand",
        "Asia/Seoul",
        "Asia/Shanghai",
        "Asia/Singapore",
        "Asia/Srednekolymsk",
        "Asia/Taipei",
        "Asia/Tashkent",
        "Asia/Tbilisi",
        "Asia/Tehran",
        "Asia/Tel_Aviv",
        "Asia/Thimbu",
        "Asia/Thimphu",
        "Asia/Tokyo",
        "Asia/Tomsk",
        "Asia/Ujung_Pandang",
        "Asia/Ulaanbaatar",
        "Asia/Ulan_Bator",
        "Asia/Urumqi",
        "Asia/Ust-Nera",
        "Asia/Vientiane",
        "Asia/Vladivostok",
        "Asia/Yakutsk",
        "Asia/Yangon",
        "Asia/Yekaterinburg",
        "Asia/Yerevan",
        "Astana",
        "Athens",
        "Atlantic Time (Canada)",
        "Atlantic/Azores",
        "Atlantic/Bermuda",
        "Atlantic/Canary",
        "Atlantic/Cape_Verde",
        "Atlantic/Faeroe",
        "Atlantic/Faroe",
        "Atlantic/Jan_Mayen",
        "Atlantic/Madeira",
        "Atlantic/Reykjavik",
        "Atlantic/South_Georgia",
        "Atlantic/St_Helena",
        "Atlantic/Stanley",
        "Auckland",
        "Australia/ACT",
        "Australia/Adelaide",
        "Australia/Brisbane",
        "Australia/Broken_Hill",
        "Australia/Canberra",
        "Australia/Currie",
        "Australia/Darwin",
        "Australia/Eucla",
        "Australia/Hobart",
        "Australia/LHI",
        "Australia/Lindeman",
        "Australia/Lord_Howe",
        "Australia/Melbourne",
        "Australia/NSW",
        "Australia/North",
        "Australia/Perth",
        "Australia/Queensland",
        "Australia/South",
        "Australia/Sydney",
        "Australia/Tasmania",
        "Australia/Victoria",
        "Australia/West",
        "Australia/Yancowinna",
        "Azores",
        "Baghdad",
        "Baku",
        "Bangkok",
        "Beijing",
        "Belgrade",
        "Berlin",
        "Bern",
        "Bogota",
        "Brasilia",
        "Bratislava",
        "Brazil/Acre",
        "Brazil/DeNoronha",
        "Brazil/East",
        "Brazil/West",
        "Brisbane",
        "Brussels",
        "Bucharest",
        "Budapest",
        "Buenos Aires",
        "CET",
        "CST6CDT",
        "Cairo",
        "Canada/Atlantic",
        "Canada/Central",
        "Canada/Eastern",
        "Canada/Mountain",
        "Canada/Newfoundland",
        "Canada/Pacific",
        "Canada/Saskatchewan",
        "Canada/Yukon",
        "Canberra",
        "Cape Verde Is.",
        "Caracas",
        "Casablanca",
        "Central America",
        "Central Time (US & Canada)",
        "Chatham Is.",
        "Chennai",
        "Chihuahua",
        "Chile/Continental",
        "Chile/EasterIsland",
        "Chongqing",
        "Copenhagen",
        "Cuba",
        "Darwin",
        "Dhaka",
        "Dublin",
        "EET",
        "EST",
        "EST5EDT",
        "Eastern Time (US & Canada)",
        "Edinburgh",
        "Egypt",
        "Eire",
        "Ekaterinburg",
        "Etc/GMT",
        "Etc/GMT+0",
        "Etc/GMT+1",
        "Etc/GMT+10",
        "Etc/GMT+11",
        "Etc/GMT+12",
        "Etc/GMT+2",
        "Etc/GMT+3",
        "Etc/GMT+4",
        "Etc/GMT+5",
        "Etc/GMT+6",
        "Etc/GMT+7",
        "Etc/GMT+8",
        "Etc/GMT+9",
        "Etc/GMT-0",
        "Etc/GMT-1",
        "Etc/GMT-10",
        "Etc/GMT-11",
        "Etc/GMT-12",
        "Etc/GMT-13",
        "Etc/GMT-14",
        "Etc/GMT-2",
        "Etc/GMT-3",
        "Etc/GMT-4",
        "Etc/GMT-5",
        "Etc/GMT-6",
        "Etc/GMT-7",
        "Etc/GMT-8",
        "Etc/GMT-9",
        "Etc/GMT0",
        "Etc/Greenwich",
        "Etc/UCT",
        "Etc/UTC",
        "Etc/Universal",
        "Etc/Zulu",
        "Europe/Amsterdam",
        "Europe/Andorra",
        "Europe/Astrakhan",
        "Europe/Athens",
        "Europe/Belfast",
        "Europe/Belgrade",
        "Europe/Berlin",
        "Europe/Bratislava",
        "Europe/Brussels",
        "Europe/Bucharest",
        "Europe/Budapest",
        "Europe/Busingen",
        "Europe/Chisinau",
        "Europe/Copenhagen",
        "Europe/Dublin",
        "Europe/Gibraltar",
        "Europe/Guernsey",
        "Europe/Helsinki",
        "Europe/Isle_of_Man",
        "Europe/Istanbul",
        "Europe/Jersey",
        "Europe/Kaliningrad",
        "Europe/Kiev",
        "Europe/Kirov",
        "Europe/Lisbon",
        "Europe/Ljubljana",
        "Europe/London",
        "Europe/Luxembourg",
        "Europe/Madrid",
        "Europe/Malta",
        "Europe/Mariehamn",
        "Europe/Minsk",
        "Europe/Monaco",
        "Europe/Moscow",
        "Europe/Nicosia",
        "Europe/Oslo",
        "Europe/Paris",
        "Europe/Podgorica",
        "Europe/Prague",
        "Europe/Riga",
        "Europe/Rome",
        "Europe/Samara",
        "Europe/San_Marino",
        "Europe/Sarajevo",
        "Europe/Saratov",
        "Europe/Simferopol",
        "Europe/Skopje",
        "Europe/Sofia",
        "Europe/Stockholm",
        "Europe/Tallinn",
        "Europe/Tirane",
        "Europe/Tiraspol",
        "Europe/Ulyanovsk",
        "Europe/Uzhgorod",
        "Europe/Vaduz",
        "Europe/Vatican",
        "Europe/Vienna",
        "Europe/Vilnius",
        "Europe/Volgograd",
        "Europe/Warsaw",
        "Europe/Zagreb",
        "Europe/Zaporozhye",
        "Europe/Zurich",
        "Factory",
        "Fiji",
        "GB",
        "GB-Eire",
        "GMT",
        "GMT+0",
        "GMT-0",
        "GMT0",
        "Georgetown",
        "Greenland",
        "Greenwich",
        "Guadalajara",
        "Guam",
        "HST",
        "Hanoi",
        "Harare",
        "Hawaii",
        "Helsinki",
        "Hobart",
        "Hong Kong",
        "Hongkong",
        "Iceland",
        "Indian/Antananarivo",
        "Indian/Chagos",
        "Indian/Christmas",
        "Indian/Cocos",
        "Indian/Comoro",
        "Indian/Kerguelen",
        "Indian/Mahe",
        "Indian/Maldives",
        "Indian/Mauritius",
        "Indian/Mayotte",
        "Indian/Reunion",
        "Indiana (East)",
        "International Date Line West",
        "Iran",
        "Irkutsk",
        "Islamabad",
        "Israel",
        "Istanbul",
        "Jakarta",
        "Jamaica",
        "Japan",
        "Jerusalem",
        "Kabul",
        "Kaliningrad",
        "Kamchatka",
        "Karachi",
        "Kathmandu",
        "Kolkata",
        "Krasnoyarsk",
        "Kuala Lumpur",
        "Kuwait",
        "Kwajalein",
        "Kyiv",
        "La Paz",
        "Libya",
        "Lima",
        "Lisbon",
        "Ljubljana",
        "London",
        "MET",
        "MST",
        "MST7MDT",
        "Madrid",
        "Magadan",
        "Marshall Is.",
        "Mazatlan",
        "Melbourne",
        "Mexico City",
        "Mexico/BajaNorte",
        "Mexico/BajaSur",
        "Mexico/General",
        "Mid-Atlantic",
        "Midway Island",
        "Minsk",
        "Monrovia",
        "Monterrey",
        "Montevideo",
        "Moscow",
        "Mountain Time (US & Canada)",
        "Mumbai",
        "Muscat",
        "NZ",
        "NZ-CHAT",
        "Nairobi",
        "Navajo",
        "New Caledonia",
        "New Delhi",
        "Newfoundland",
        "Novosibirsk",
        "Nuku'alofa",
        "Osaka",
        "PRC",
        "PST8PDT",
        "Pacific Time (US & Canada)",
        "Pacific/Apia",
        "Pacific/Auckland",
        "Pacific/Bougainville",
        "Pacific/Chatham",
        "Pacific/Chuuk",
        "Pacific/Easter",
        "Pacific/Efate",
        "Pacific/Enderbury",
        "Pacific/Fakaofo",
        "Pacific/Fiji",
        "Pacific/Funafuti",
        "Pacific/Galapagos",
        "Pacific/Gambier",
        "Pacific/Guadalcanal",
        "Pacific/Guam",
        "Pacific/Honolulu",
        "Pacific/Johnston",
        "Pacific/Kiritimati",
        "Pacific/Kosrae",
        "Pacific/Kwajalein",
        "Pacific/Majuro",
        "Pacific/Marquesas",
        "Pacific/Midway",
        "Pacific/Nauru",
        "Pacific/Niue",
        "Pacific/Norfolk",
        "Pacific/Noumea",
        "Pacific/Pago_Pago",
        "Pacific/Palau",
        "Pacific/Pitcairn",
        "Pacific/Pohnpei",
        "Pacific/Ponape",
        "Pacific/Port_Moresby",
        "Pacific/Rarotonga",
        "Pacific/Saipan",
        "Pacific/Samoa",
        "Pacific/Tahiti",
        "Pacific/Tarawa",
        "Pacific/Tongatapu",
        "Pacific/Truk",
        "Pacific/Wake",
        "Pacific/Wallis",
        "Pacific/Yap",
        "Paris",
        "Perth",
        "Poland",
        "Port Moresby",
        "Portugal",
        "Prague",
        "Pretoria",
        "Puerto Rico",
        "Quito",
        "ROC",
        "ROK",
        "Rangoon",
        "Riga",
        "Riyadh",
        "Rome",
        "Samara",
        "Samoa",
        "Santiago",
        "Sapporo",
        "Sarajevo",
        "Saskatchewan",
        "Seoul",
        "Singapore",
        "Skopje",
        "Sofia",
        "Solomon Is.",
        "Srednekolymsk",
        "Sri Jayawardenepura",
        "St. Petersburg",
        "Stockholm",
        "Sydney",
        "Taipei",
        "Tallinn",
        "Tashkent",
        "Tbilisi",
        "Tehran",
        "Tijuana",
        "Tokelau Is.",
        "Tokyo",
        "Turkey",
        "UCT",
        "US/Alaska",
        "US/Aleutian",
        "US/Arizona",
        "US/Central",
        "US/East-Indiana",
        "US/Eastern",
        "US/Hawaii",
        "US/Indiana-Starke",
        "US/Michigan",
        "US/Mountain",
        "US/Pacific",
        "US/Pacific-New",
        "US/Samoa",
        "UTC",
        "Ulaanbaatar",
        "Universal",
        "Urumqi",
        "Vienna",
        "Vilnius",
        "Vladivostok",
        "Volgograd",
        "W-SU",
        "WET",
        "Warsaw",
        "Wellington",
        "West Central Africa",
        "Yakutsk",
        "Yerevan",
        "Zagreb",
        "Zulu",
        "Zurich"
      ]
    },
    "scCreate": {
      "type": "object",
      "properties": {
        "data": {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "supplementalClaim"
              ]
            },
            "attributes": {
              "required": [
                "veteran",
                "benefitType",
                "claimantType",
                "evidenceSubmission",
                "socOptIn"
              ],
              "if": {
                "properties": {
                  "benefitType": {
                    "const": "compensation"
                  },
                  "claimantType": {
                    "const": "other",
                    "enum": [
                      "spouse_of_veteran",
                      "child_of_veteran",
                      "parent_of_veteran",
                      "other"
                    ]
                  }
                }
              },
              "then": {
                "required": [
                  "claimant"
                ],
                "properties": {
                  "form5103Acknowledged": {
                    "enum": [
                      true
                    ]
                  }
                }
              },
              "type": "object",
              "properties": {
                "benefitType": {
                  "type": "string",
                  "description": "If the contested issue is a Disability Compensation issue, acknowledgement of form 5103 is required - see form5103Acknowledged.",
                  "enum": [
                    "compensation",
                    "pensionSurvivorsBenefits",
                    "fiduciary",
                    "lifeInsurance",
                    "veteransHealthAdministration",
                    "veteranReadinessAndEmployment",
                    "loanGuaranty",
                    "education",
                    "nationalCemeteryAdministration"
                  ]
                },
                "claimantType": {
                  "type": "string",
                  "enum": [
                    "veteran",
                    "spouse_of_veteran",
                    "child_of_veteran",
                    "parent_of_veteran",
                    "other"
                  ]
                },
                "claimantTypeOtherValue": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 25
                },
                "veteran": {
                  "type": "object",
                  "properties": {
                    "address": {
                      "$ref": "#/definitions/address"
                    },
                    "phone": {
                      "$ref": "https://dev-api.va.gov/internal/docs/appeals-decision-reviews/v2/openapi.json#/definitions/phone"
                    },
                    "email": {
                      "type": "string",
                      "format": "email",
                      "minLength": 6,
                      "maxLength": 255
                    },
                    "timezone": {
                      "description": "Veteran's timezone. Used for adding the current date to the signature according to the veteran's local time. If not specified, the current UTC date will be used for the signature (which may be ahead or behind the local date).",
                      "$ref": "https://dev-api.va.gov/internal/docs/appeals-decision-reviews/v2/openapi.json#/definitions/timezone"
                    }
                  },
                  "required": [
                    "address",
                    "phone",
                    "email"
                  ]
                },
                "evidenceSubmission": {
                  "description": "Evidence may be uploaded up to 7 days from the 'created_at' date of the associated Supplemental Claim via 'supplemental_claims/evidence_submissions'.",
                  "type": "object",
                  "properties": {
                    "evidenceType": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "enum": [
                          "upload",
                          "retrieval"
                        ]
                      },
                      "minItems": 1,
                      "uniqueItems": true
                    },
                    "retrieveFrom": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "type": {
                            "type": "string",
                            "enum": [
                              "retrievalEvidence"
                            ]
                          },
                          "attributes": {
                            "type": "object",
                            "properties": {
                              "locationAndName": {
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 255
                              },
                              "evidenceDates": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "startDate": {
                                      "$ref": "#/definitions/date"
                                    },
                                    "endDate": {
                                      "$ref": "#/definitions/date"
                                    }
                                  },
                                  "required": [
                                    "startDate",
                                    "endDate"
                                  ]
                                },
                                "minItems": 1,
                                "maxItems": 4
                              }
                            },
                            "required": [
                              "locationAndName",
                              "evidenceDates"
                            ]
                          }
                        },
                        "required": [
                          "type",
                          "attributes"
                        ]
                      },
                      "minItems": 1,
                      "uniqueItems": true
                    }
                  },
                  "required": [
                    "evidenceType"
                  ],
                  "if": {
                    "properties": {
                      "evidenceType": {
                        "const": "retrieval"
                      }
                    }
                  },
                  "then": {
                    "required": [
                      "retrieveFrom"
                    ]
                  }
                },
                "form5103Acknowledged": {
                  "type": "boolean",
                  "description": "The 5103 Notice regarding new & relevant evidence must be acknowledged when the issue(s) being contested is a Disability Compensation issue. The notice can be found here: http://www.va.gov/disability/how-to-file-claim/evidence-needed. If the issue(s) being submitted are Disability Compensation and 'No' is selected, the API will return an error.  Please ensure the Veteran reviews the content about the 5103 Notice at the link above."
                },
                "socOptIn": {
                  "type": "boolean"
                }
              }
            }
          },
          "required": [
            "type",
            "attributes"
          ]
        },
        "included": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "contestableIssue"
                ]
              },
              "attributes": {
                "type": "object",
                "properties": {
                  "issue": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 140
                  },
                  "decisionDate": {
                    "$ref": "#/definitions/date"
                  },
                  "decisionIssueId": {
                    "type": "integer"
                  },
                  "ratingIssueReferenceId": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "ratingDecisionReferenceId": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "socDate": {
                    "$ref": "#/definitions/date"
                  }
                },
                "required": [
                  "issue",
                  "decisionDate"
                ]
              }
            },
            "required": [
              "type",
              "attributes"
            ]
          },
          "minItems": 1,
          "maxItems": 100,
          "uniqueItems": true
        }
      },
      "required": [
        "data",
        "included"
      ]
    }
  }
}