diff --git a/modules/claims_api/app/swagger/claims_api/v2/dev/swagger.json b/modules/claims_api/app/swagger/claims_api/v2/dev/swagger.json index 49f2655e45f..ffbf74a2aca 100644 --- a/modules/claims_api/app/swagger/claims_api/v2/dev/swagger.json +++ b/modules/claims_api/app/swagger/claims_api/v2/dev/swagger.json @@ -733,7 +733,7 @@ "currentPhaseBack": false, "latestPhaseType": "COMPLETE", "previousPhases": { - "phase1CompleteDate": "2017-10-18" + "phase7CompleteDate": "2017-10-18" } }, "claimType": "Compensation", @@ -1401,14 +1401,32 @@ } }, "/veterans/{veteranId}/526": { - "get": { - "summary": "Get a 526 schema for a claim.", - "deprecated": true, + "post": { + "summary": "Submits form 526", "tags": [ "Disability" ], - "operationId": "get526JsonSchema", - "description": "Returns a single 526 schema to automatically generate a form. Using this GET endpoint allows users to download our current validations.\n", + "operationId": "post526Claim", + "security": [ + { + "productionOauth": [ + "system/claim.read", + "system/claim.write" + ] + }, + { + "sandboxOauth": [ + "system/claim.read", + "system/claim.write" + ] + }, + { + "bearer_token": [ + + ] + } + ], + "description": "The below 526 schema is in a draft state representing the attributes we are currently planning to support. Changes are expected as we continue development. \n", "parameters": [ { "name": "veteranId", @@ -1423,1209 +1441,2492 @@ ], "responses": { "200": { - "description": "schema response", + "description": "Successful response with disability", "content": { "application/json": { - "example": { - "data": [ - { - "$schema": "http://json-schema.org/draft-07/schema#", - "description": "Claims API 526 Schema", - "type": "object", - "additionalProperties": false, - "required": [ - "veteranIdentification", - "serviceInformation", - "disabilities", - "claimantCertification", - "claimProcessType" - ], - "properties": { - "claimDate": { - "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "type": "string", - "example": "2018-06-04" - }, - "claimProcessType": { - "type": "array", - "description": "", - "enum": [ - "STANDARD_CLAIM_PROCESS", - "FDC_PROGRAM", - "BDD_PROGRAM_CLAIM", - "TBD" - ] - }, - "claimantCertification": { - "type": "boolean", - "description": "Claimant certifies and authorizes release of information.", - "default": false - }, - "veteranIdentification": { - "description": "Veteran Object being submitted in Claim", - "type": "object", - "additionalProperties": false, - "required": [ - "mailingAddress", - "currentlyVAEmployee" - ], - "properties": { - "currentlyVaEmployee": { - "type": "boolean", - "description": "Flag if Veteran is VA Employee.", - "example": false - }, - "serviceNumber": { - "type": "string", - "description": "Service identification number", - "maxLength": 9 - }, - "emailAddress": { - "description": "Information associated with the Veteran's email address.", - "type": "object", - "properties": { - "email": { - "type": "string", - "description": "The most current email address of the Veteran.", - "maxLength": 50 - }, - "agreeToEmailRelatedToClaim": { - "type": "boolean", - "description": "Agreement to email information relating to this claim.", - "example": true - } + "schema": { + "data": { + "additionalProperties": false, + "properties": { + "claimDate": { + "type": "string", + "description": "Date (or Timestamp with TimeZone) when claim is being submitted to the VA. Date cannot be in the future. UTC TimeZone is assumed unless otherwise specified.", + "example": "2018-08-28T19:53:45+00:00", + "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])(?:T[0-1][0-9]:[0-5][0-9]:[0-5][0-9](?:[-+][0-9]{2}:[0-9]{2}|Z))*$" + }, + "claimProcessType": { + "type": "string", + "description": "Type of claim process.", + "example": "STANDARD_CLAIM_PROCESS" + }, + "claimantCertification": { + "type": "boolean", + "description": "Claimant certifies and authorizes release of information.", + "default": false + }, + "veteranIdentification": { + "description": "Veteran Object being submitted in Claim", + "type": "object", + "additionalProperties": false, + "required": [ + "mailingAddress", + "currentlyVAEmployee" + ], + "properties": { + "currentlyVaEmployee": { + "type": "boolean", + "description": "Flag if Veteran is VA Employee.", + "example": false + }, + "serviceNumber": { + "type": "string", + "description": "Service identification number", + "maxLength": 9 + }, + "emailAddress": { + "description": "Information associated with the Veteran's email address.", + "type": "object", + "properties": { + "email": { + "type": "string", + "description": "The most current email address of the Veteran.", + "maxLength": 50 + }, + "agreeToEmailRelatedToClaim": { + "type": "boolean", + "description": "Agreement to email information relating to this claim.", + "example": true } - }, - "veteranNumber": { - "description": "", - "type": "object", - "properties": { - "telephone": { - "type": "string", - "description": "Veteran's phone number.", - "maxLength": 10 - }, - "internationalTelephone": { - "type": "string", - "description": "Veteran's international phone number.", - "maxLength": 10 - } + } + }, + "veteranNumber": { + "description": "", + "type": "object", + "properties": { + "telephone": { + "type": "string", + "description": "Veteran's phone number.", + "maxLength": 10 + }, + "internationalTelephone": { + "type": "string", + "description": "Veteran's international phone number.", + "maxLength": 10 } - }, - "vaFileNumber": { - "type": "string", - "description": "The file number associated with the Veteran and Veteran's Affairs.", - "maxLength": 9 - }, - "mailingAddress": { - "description": "Current Mailing Address Object being submitted.", - "type": "object", - "additionalProperties": false, - "properties": { - "numberAndStreet": { - "description": "Address Veteran resides in.", - "type": "string", - "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", - "maxLength": 30, - "example": "1234 Couch Street" - }, - "apartmentOrUnitNumber": { - "description": "Apartment or unit number for the address where the Veteran resides.", - "type": "string", - "maxLength": 5, - "example": "22" - }, - "city": { - "description": "City Veteran resides in.", - "type": "string", - "pattern": "^([-a-zA-Z0-9'.#]([-a-zA-Z0-9'.# ])?)+$", - "example": "Portland" - }, - "country": { - "description": "Country Veteran resides in. Value must match the values returned by the \"/countries\" endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", - "type": "string", - "example": "USA" - }, - "zipFirstFive": { - "description": "Zipcode (First 5 digits) Veteran resides in.", - "type": "string", - "pattern": "^\\d{5}?$", - "example": "12345" - }, - "zipLastFour": { - "description": "Zipcode (Last 4 digits) Veteran resides in.", - "type": "string", - "pattern": "^\\d{4}?$", - "example": "6789" - }, - "state": { - "description": "State Veteran resides in.", - "type": "string", - "pattern": "^[a-z,A-Z]{2}$", - "example": "OR" - } + } + }, + "vaFileNumber": { + "type": "string", + "description": "The file number associated with the Veteran and Veteran's Affairs.", + "maxLength": 9 + }, + "mailingAddress": { + "description": "Current Mailing Address Object being submitted.", + "type": "object", + "additionalProperties": false, + "properties": { + "numberAndStreet": { + "description": "Address Veteran resides in.", + "type": "string", + "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", + "maxLength": 30, + "example": "1234 Couch Street" + }, + "apartmentOrUnitNumber": { + "description": "Apartment or unit number for the address where the Veteran resides.", + "type": "string", + "maxLength": 5, + "example": "22" }, - "allOf": [ - { - "if": { - "properties": { - "type": { - "const": "DOMESTIC" - } + "city": { + "description": "City Veteran resides in.", + "type": "string", + "pattern": "^([-a-zA-Z0-9'.#]([-a-zA-Z0-9'.# ])?)+$", + "example": "Portland" + }, + "country": { + "description": "Country Veteran resides in. Value must match the values returned by the \"/countries\" endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", + "type": "string", + "example": "USA" + }, + "zipFirstFive": { + "description": "Zipcode (First 5 digits) Veteran resides in.", + "type": "string", + "pattern": "^\\d{5}?$", + "example": "12345" + }, + "zipLastFour": { + "description": "Zipcode (Last 4 digits) Veteran resides in.", + "type": "string", + "pattern": "^\\d{4}?$", + "example": "6789" + }, + "state": { + "description": "State Veteran resides in.", + "type": "string", + "pattern": "^[a-z,A-Z]{2}$", + "example": "OR" + } + }, + "allOf": [ + { + "if": { + "properties": { + "type": { + "const": "DOMESTIC" } - }, - "then": { - "required": [ - "numberAndStreet", - "city", - "country", - "zipFirstFive", - "state" - ] } + }, + "then": { + "required": [ + "numberAndStreet", + "city", + "country", + "zipFirstFive", + "state" + ] } - ] + } + ] + } + } + }, + "changeOfAddress": { + "description": "A Change of Address Object being submitted.", + "type": "object", + "additionalProperties": false, + "required": [ + "country", + "type", + "addressLine1", + "addressChangeType", + "beginningDate" + ], + "properties": { + "dates": { + "type": "object", + "description": "Important dates for the change of address action.", + "properties": { + "beginningDate": { + "description": "Date in YYYY-MM-DD the Veteran changed address. Date must be in the future if change is temporary.", + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string", + "example": "2018-06-04" + }, + "endingDate": { + "description": "Date in YYYY-MM-DD the changed address expires, if change is temporary.", + "type": "string", + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "example": "2018-06-04" + } } + }, + "typeOfAddressChange": { + "description": "Temporary or Permanent change of address.", + "type": "array", + "enum": [ + "TEMPORARY", + "PERMANENT" + ], + "example": "PERMANENT" + }, + "numberAndStreet": { + "description": "New Address Veteran resides in.", + "type": "string", + "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", + "maxLength": 30, + "example": "1234 Couch Street" + }, + "apartmentOrUnitNumber": { + "description": "New Additional Address Information Veteran resides in.", + "type": "string", + "maxLength": 5, + "example": "22" + }, + "city": { + "description": "New city Veteran resides in.", + "type": "string", + "pattern": "^([-a-zA-Z0-9'.#]([-a-zA-Z0-9'.# ])?)+$", + "example": "Portland" + }, + "country": { + "description": "New country Veteran resides in. Value must match the values returned by the \"/countries\" endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", + "type": "string", + "example": "USA" + }, + "zipFirstFive": { + "description": "New zipcode (First 5 digits) Veteran resides in.", + "type": "string", + "pattern": "^\\d{5}?$", + "example": "12345" + }, + "zipLastFour": { + "description": "New zipcode (Last 4 digits) Veteran resides in.", + "type": "string", + "pattern": "^\\d{4}?$", + "example": "6789" + }, + "state": { + "description": "New state Veteran resides in.", + "type": "string", + "pattern": "^[a-z,A-Z]{2}$", + "example": "OR" } }, - "changeOfAddress": { - "description": "A Change of Address Object being submitted.", - "type": "object", - "additionalProperties": false, - "required": [ - "country", - "type", - "addressLine1", - "addressChangeType", - "beginningDate" - ], - "properties": { - "dates": { - "type": "object", - "description": "Important dates for the change of address action.", + "allOf": [ + { + "if": { "properties": { - "beginningDate": { - "description": "Date in YYYY-MM-DD the Veteran changed address. Date must be in the future if change is temporary.", - "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "type": "string", - "example": "2018-06-04" - }, - "endingDate": { - "description": "Date in YYYY-MM-DD the changed address expires, if change is temporary.", - "type": "string", - "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "example": "2018-06-04" + "type": { + "const": "DOMESTIC" } } }, - "typeOfAddressChange": { - "description": "Temporary or Permanent change of address.", - "type": "array", - "enum": [ - "TEMPORARY", - "PERMANENT" - ], - "example": "PERMANENT" - }, - "numberAndStreet": { - "description": "New Address Veteran resides in.", - "type": "string", - "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", - "maxLength": 30, - "example": "1234 Couch Street" - }, - "apartmentOrUnitNumber": { - "description": "New Additional Address Information Veteran resides in.", - "type": "string", - "maxLength": 5, - "example": "22" - }, - "city": { - "description": "New city Veteran resides in.", - "type": "string", - "pattern": "^([-a-zA-Z0-9'.#]([-a-zA-Z0-9'.# ])?)+$", - "example": "Portland" - }, - "country": { - "description": "New country Veteran resides in. Value must match the values returned by the \"/countries\" endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", - "type": "string", - "example": "USA" - }, - "zipFirstFive": { - "description": "New zipcode (First 5 digits) Veteran resides in.", - "type": "string", - "pattern": "^\\d{5}?$", - "example": "12345" - }, - "zipLastFour": { - "description": "New zipcode (Last 4 digits) Veteran resides in.", - "type": "string", - "pattern": "^\\d{4}?$", - "example": "6789" - }, - "state": { - "description": "New state Veteran resides in.", - "type": "string", - "pattern": "^[a-z,A-Z]{2}$", - "example": "OR" + "then": { + "required": [ + "city", + "zipFirstFive", + "state" + ] } }, - "allOf": [ - { - "if": { - "properties": { - "type": { - "const": "DOMESTIC" - } + { + "if": { + "properties": { + "type": { + "const": "MILITARY" } - }, - "then": { - "required": [ - "city", - "zipFirstFive", - "state" - ] } }, - { - "if": { - "properties": { - "type": { - "const": "MILITARY" - } - } - }, - "then": { - "required": [ - "zipFirstFive" - ] - } + "then": { + "required": [ + "zipFirstFive" + ] } - ] - }, - "homeless": { - "description": "Object describing Veteran Homelessness if applicable.", - "type": "object", - "additionalProperties": false, - "properties": { - "pointOfContact": { - "description": "Point of contact in direct contact with Veteran.", + } + ] + }, + "homeless": { + "description": "Object describing Veteran Homelessness if applicable.", + "type": "object", + "additionalProperties": false, + "properties": { + "pointOfContact": { + "description": "Point of contact in direct contact with Veteran.", + "type": "string", + "minLength": 1, + "maxLength": 100, + "pattern": "^([-a-zA-Z0-9/']+( ?))*$", + "example": "Jane Doe" + }, + "pointOfContactNumber": { + "telephone": { + "description": "Primary phone of Point of Contact.", "type": "string", - "minLength": 1, - "maxLength": 100, - "pattern": "^([-a-zA-Z0-9/']+( ?))*$", - "example": "Jane Doe" + "example": "1231234", + "maxLength": 10 }, - "pointOfContactNumber": { - "telephone": { - "description": "Primary phone of Point of Contact.", - "type": "string", - "example": "1231234", - "maxLength": 10 - }, - "internationalTelephone": { - "description": "international phone of Point of Contact.", - "type": "string", - "example": "1231234", - "maxLength": 10 - } - }, - "currentlyHomeless": { - "type": "object", - "additionalProperties": false, - "required": [ - "homelessSituationOptions", - "otherDescription" - ], - "properties": { - "homelessSituationOptions": { - "description": "Current state of the veteran's homelessness.", - "type": "string", - "default": "other", - "enum": [ - "LIVING_IN_A_HOMELESS_SHELTER", - "NOT_CURRENTLY_IN_A_SHELTERED_ENVIRONMENT", - "STAYING_WITH_ANOTHER_PERSON", - "FLEEING_CURRENT_RESIDENCE", - "OTHER" - ], - "example": "FLEEING_CURRENT_RESIDENCE" - }, - "otherDescription": { - "description": "For a 'homelessSituationOptions' of value 'other', please provide additional comments on the living situation.", - "type": "string", - "maxLength": 500, - "example": "other living situation" - } - } - }, - "riskOfBecomingHomeless": { - "type": "object", - "additionalProperties": false, - "required": [ - "livingSituationOptions", - "otherDescription" - ], - "properties": { - "livingSituationOptions": { - "type": "string", - "default": "other", - "enum": [ - "losingHousing", - "leavingShelter", - "other" - ] - }, - "otherDescription": { - "description": "For a 'livingSituationOptions' of value 'other', please provide additional comments on the living situation.", - "type": "string", - "maxLength": 500, - "example": "other living situation" - } - } - } - } - }, - "toxicExposure": { - "type": "object", - "description": "Toxic exposures incidents and details.", - "properties": { - "gulfWarHazard": { - "type": "object", - "description": "Toxic exposure related to the Gulf war.", - "properties": { - "servedInGulfWarHazardLocations": { - "type": "boolean", - "description": "Did the Veteran serve in any of the following Gulf War hazard locations?", - "example": true - }, - "serviceDates": { - "type": "object", - "description": "Date range for when the exposure happened.", - "properties": { - "startDate": { - "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "type": "string", - "description": "Approximate start date for serving in Gulf War hazard location.", - "example": "2018-06-04" - }, - "endDate": { - "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "type": "string", - "description": "Approximate end date for serving in Gulf War hazard location.", - "example": "2018-06-04" - } - } - } - } - }, - "herbicideHazardService": { - "type": "object", - "description": "Toxic exposure related to herbicide hazards.", - "properties": { - "servedInHerbicideHazardLocations": { - "type": "boolean", - "description": "Did the Veteran serve in any of the following Herbicide (e.g., Agent Orange) locations? These locations include: Republic of Vietnam to include the 12 nautical mile territorial waters; Thailand at any United States or Royal Thai base; Laos; Cambodia at Mimot or Krek; Kampong Cham Province; Guam or American Samoa; or in the territorial waters thereof; Johnston Atoll or a ship that called at Johnston Atoll; Korean demilitarized zone; aboard (to include repeated operations and maintenance with) a C-123 aircraft known to have been used to spray an herbicide agent (during service in the Air Force and Air Force Reserves)." - }, - "otherLocationsServed": { - "type": "string", - "description": "Other location(s) where Veteran served." - }, - "serviceDates": { - "type": "object", - "description": "Date range for when the exposure happened.", - "properties": { - "startDate": { - "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "type": "string", - "description": "Approximate start date for serving in herbicide location.", - "example": "2018-06-04" - }, - "endDate": { - "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "type": "string", - "description": "Approximate end date for serving in herbicide location.", - "example": "2018-06-04" - } - } - } - } - }, - "additionalHazardExposures": { - "type": "object", - "description": "Additional hazardous exposures.", - "properties": { - "additionalExposures": { - "type": "array", - "description": "Additional exposure incidents.", - "enum": [ - "ASBESTOS", - "MUSTARD_GAS", - "RADIATION", - "SHAD", - "MILITARY_OCCUPATIONAL_SPECIALTY_RELATED", - "CONTAMINATED_WATER_AT_CAMP_LEJEUNE", - "OTHER" - ] - }, - "specifiyOtherExposures": { - "type": "string", - "description": "Other exposure incidents." - }, - "exposureDates": { - "type": "object", - "description": "Date range for when the exposure happened.", - "properties": { - "startDate": { - "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "type": "string", - "description": "Approximate start date for exposure.", - "example": "2018-06-04" - }, - "endDate": { - "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "type": "string", - "description": "Approximate end date for exposure.", - "example": "2018-06-04" - } - } - } - } - }, - "multipleExposures": { - "type": "object", - "description": "", - "properties": { - "exposureDates": { - "type": "object", - "description": "Date range for when the exposure happened.", - "properties": { - "startDate": { - "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "type": "string", - "description": "Approximate start date for exposure.", - "example": "2018-06-04" - }, - "endDate": { - "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "type": "string", - "description": "Approximate end date for exposure.", - "example": "2018-06-04" - } - } - }, - "exposureLocation": { - "type": "string", - "description": "" - }, - "hazardExposedTo": { - "type": "string", - "description": "" - } - } + "internationalTelephone": { + "description": "international phone of Point of Contact.", + "type": "string", + "example": "1231234", + "maxLength": 10 } - } - }, - "disabilities": { - "description": "Any current disabilities or symptoms the Veteran is claiming are related to their military service and/or are service-connected.", - "type": "array", - "minItems": 1, - "uniqueItems": true, - "items": { + }, + "currentlyHomeless": { "type": "object", "additionalProperties": false, "required": [ - "disabilityActionType", - "name" + "homelessSituationOptions", + "otherDescription" ], "properties": { - "name": { - "description": "If classificationCode is included, the disability name is required to match the associated name value returned in the Benefits Reference Data /disabilities service.", - "type": "string", - "example": "PTSD (post traumatic stress disorder)" - }, - "classificationCode": { - "type": "string", - "description": "The contention classification code can be retrieved from the Benefits Refence Data API. This code aligns with the id returned by the /disabilities service. If classificationCode is included, the disability name is required to match the associated name value returned in the /disabilities service.", - "example": "249470" - }, - "serviceRelevance": { - "description": "Explanation of how the disability(ies) relates to the in-service event/exposure/injury.", - "type": "string", - "example": "Heavy equipment operator in service." - }, - "approximateDate": { - "description": "Approximate date disability began. Date must be in the past.", - "type": "string", - "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "example": "2018-03-02" - }, - "ratedDisabilityId": { - "description": "When submitting a contention with action type INCREASE, the previously rated disability id may be included.", - "type": "string", - "example": "1100583" - }, - "diagnosticCode": { - "description": "The diagnosticCode is required if disabilityActionType is NONE and there are secondary disabilities included with the primary. The diagnosticCode must match an existing rated disability if disabilityActionType is NONE and there are secondary disabilities included with the primary.", - "type": "integer", - "example": 9999 - }, - "disabilityActionType": { - "description": "The status of the current disability. \n If value is \"INCREASE\", then \"ratedDisabilityId\" and \"diagnosticCode\" are required.", + "homelessSituationOptions": { + "description": "Current state of the veteran's homelessness.", "type": "string", + "default": "other", "enum": [ - "NONE", - "NEW", - "SECONDARY", - "REOPEN", - "INCREASE" + "LIVING_IN_A_HOMELESS_SHELTER", + "NOT_CURRENTLY_IN_A_SHELTERED_ENVIRONMENT", + "STAYING_WITH_ANOTHER_PERSON", + "FLEEING_CURRENT_RESIDENCE", + "OTHER" ], - "example": "NEW" - }, - "secondaryDisabilities": { - "description": "Identifies the Secondary Service Disability information of the Veteran.", - "type": "array", - "minItems": 1, - "uniqueItems": true, - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "name", - "disabilityActionType", - "serviceRelevance" - ], - "properties": { - "name": { - "description": "What the Disability is called.", - "type": "string", - "example": "PTSD (post traumatic stress disorder)" - }, - "disabilityActionType": { - "description": "The status of the secondary disability.", - "type": "string", - "enum": [ - "SECONDARY" - ], - "example": "SECONDARY" - }, - "serviceRelevance": { - "description": "Explanation of how the disability(ies) relates to the in-service event/exposure/injury.", - "type": "string", - "example": "Heavy equipment operator in service." - }, - "classificationCode": { - "type": "string", - "example": "249470" - }, - "approximateDate": { - "description": "Approximate date disability began.", - "type": "string", - "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "example": "2018-03-02" - }, - "exposureOrEventOrInjury": { - "type": "array", - "description": "What caused the disability?", - "enum": [ - "exposure", - "event", - "injury" - ] - } - } - } - }, - "isRelatedToToxicExposure": { - "type": "boolean", - "description": "Is the disability related to toxic exposures? If so, include exposure information.", - "example": true + "example": "FLEEING_CURRENT_RESIDENCE" }, - "exposureOrEventOrInjury": { + "otherDescription": { + "description": "For a 'homelessSituationOptions' of value 'other', please provide additional comments on the living situation.", "type": "string", - "description": "Type of exposure, event, or injury.", - "examples": [ - "Agent Orange", - "radiation", - "burn pits" - ] - } - }, - "allOf": [ - { - "if": { - "properties": { - "disabilityActionType": { - "enum": [ - "INCREASE" - ] - } - } - }, - "then": { - "required": [ - "ratedDisabilityId", - "diagnosticCode" - ] - } - }, - { - "if": { - "properties": { - "disabilityActionType": { - "enum": [ - "NONE" - ] - } - }, - "required": [ - "secondaryDisabilities" - ] - }, - "then": { - "required": [ - "diagnosticCode" - ] - } + "maxLength": 500, + "example": "other living situation" } - ] - } - }, - "treatments": { - "description": "Identifies the Service Treatment information of the Veteran.", - "type": "array", - "minItems": 1, - "uniqueItems": true, - "items": { + } + }, + "riskOfBecomingHomeless": { "type": "object", "additionalProperties": false, "required": [ - "treatedDisabilityNames", - "center" + "livingSituationOptions", + "otherDescription" ], "properties": { - "startDate": { - "description": "Start date for treatment. If treatment began from 2005 to present, you do not need to provide dates.", - "type": [ - "null", - "string" - ], - "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "example": "2018-03-02" + "livingSituationOptions": { + "type": "string", + "default": "other", + "enum": [ + "losingHousing", + "leavingShelter", + "other" + ] }, - "treatedDisabilityNames": { - "description": "Names of disability treated.", - "type": "array", - "minItems": 1, - "maxItems": 101, - "uniqueItems": true, - "items": { - "description": "Name of Disabilities Veteran was Treated for.", - "type": "string", - "example": "PTSD (post traumatic stress disorder)" - } + "otherDescription": { + "description": "For a 'livingSituationOptions' of value 'other', please provide additional comments on the living situation.", + "type": "string", + "maxLength": 500, + "example": "other living situation" + } + } + } + } + }, + "toxicExposure": { + "type": "object", + "description": "Toxic exposures incidents and details.", + "properties": { + "gulfWarHazard": { + "type": "object", + "description": "Toxic exposure related to the Gulf war.", + "properties": { + "servedInGulfWarHazardLocations": { + "type": "boolean", + "description": "Did the Veteran serve in any of the following Gulf War hazard locations?", + "example": true }, - "center": { - "description": "VA Medical Center(s) and Department of Defense Military Treatment Facilities where the Veteran received treatment after discharge for any claimed disabilities.", + "serviceDates": { "type": "object", - "additionalProperties": false, - "required": [ - "name", - "state" - ], + "description": "Date range for when the exposure happened.", "properties": { - "name": { - "description": "Name of facility Veteran was treated in.", - "type": "string", - "pattern": "([a-zA-Z0-9\"\\/&\\(\\)\\-'.,# ]([a-zA-Z0-9(\\)\\-'.,# ])?)+$", - "example": "Private Facility 2", - "minLength": 1, - "maxLength": 100 - }, - "city": { - "description": "City of treatment facility.", + "startDate": { + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", "type": "string", - "pattern": "^([-a-zA-Z0-9'.#]([-a-zA-Z0-9'.# ])?)+$", - "example": "Portland" + "description": "Approximate start date for serving in Gulf War hazard location.", + "example": "2018-06-04" }, - "state": { - "description": "State of treatment facility.", + "endDate": { + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", "type": "string", - "pattern": "^[a-z,A-Z]{2}$", - "example": "OR" + "description": "Approximate end date for serving in Gulf War hazard location.", + "example": "2018-06-04" } } } } - } - }, - "serviceInformation": { - "description": "Overview of Veteran's service history.", - "type": "object", - "additionalProperties": false, - "required": [ - "servicePeriods" - ], - "properties": { - "servicePeriods": { - "description": "Identifies the Service dates and Branch the Veteran served in.", - "type": "array", - "minItems": 1, - "uniqueItems": true, - "items": { + }, + "herbicideHazardService": { + "type": "object", + "description": "Toxic exposure related to herbicide hazards.", + "properties": { + "servedInHerbicideHazardLocations": { + "type": "boolean", + "description": "Did the Veteran serve in any of the following Herbicide (e.g., Agent Orange) locations? These locations include: Republic of Vietnam to include the 12 nautical mile territorial waters; Thailand at any United States or Royal Thai base; Laos; Cambodia at Mimot or Krek; Kampong Cham Province; Guam or American Samoa; or in the territorial waters thereof; Johnston Atoll or a ship that called at Johnston Atoll; Korean demilitarized zone; aboard (to include repeated operations and maintenance with) a C-123 aircraft known to have been used to spray an herbicide agent (during service in the Air Force and Air Force Reserves)." + }, + "otherLocationsServed": { + "type": "string", + "description": "Other location(s) where Veteran served." + }, + "serviceDates": { "type": "object", - "required": [ - "serviceBranch", - "activeDutyBeginDate", - "activeDutyEndDate" - ], + "description": "Date range for when the exposure happened.", "properties": { - "serviceBranch": { - "description": "Branch of Service during period.", - "type": "string", - "example": "Air Force", - "enum": [ - "Air Force", - "Air Force Academy", - "Air Force Reserves", - "Air Force Civilian", - "Air National Guard", - "Army", - "Army Air Corps", - "Army Air Corps or Army Air Force", - "Army National Guard", - "Army Nurse Corps", - "Army Reserves", - "Coast Guard", - "Coast Guard Academy", - "Coast Guard Reserves", - "Commonwealth Army Veteran", - "Guerrilla Combination Service", - "Marine", - "Marine Corps", - "Marine Corps Reserves", - "Merchant Marine", - "National Oceanic & Atmospheric Administration", - "National Oceanic and Atmospheric Administration", - "Naval Academy", - "Navy", - "Navy Reserves", - "Other", - "Public Health Service", - "Regular Philippine Scout", - "Regular Scout Service", - "Space Force", - "Special Philippine Scout", - "Unknown", - "US Military Academy", - "Woman Air Corps", - "Women's Army Corps" - ] - }, - "serviceComponent": { - "type": "array", - "description": "", - "enum": [ - "Active", - "Reserves", - "National Guard" - ] - }, - "activeDutyBeginDate": { - "description": "Date Started Active Duty.", - "type": "string", + "startDate": { "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "example": "1980-02-05" - }, - "activeDutyEndDate": { - "description": "Date Completed Active Duty. If in the future, 'separationLocationCode' is required.", "type": "string", - "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "example": "1990-01-02" + "description": "Approximate start date for serving in herbicide location.", + "example": "2018-06-04" }, - "separationLocationCode": { - "description": "Code for the facility the Veteran plans to separate from. Required if 'servicePeriod.activeDutyEndDate' is in the future. [Code values available here.](https://github.com/department-of-veterans-affairs/vets-api/blob/master/modules/claims_api/lib/claims_api/separation_location_code_values.json)", + "endDate": { + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", "type": "string", - "example": "98283" + "description": "Approximate end date for serving in herbicide location.", + "example": "2018-06-04" } } } - }, - "confinements": { - "type": "object", - "description": "", - "properties": { - "approximateBeginDate": { - "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "type": "string", - "example": "2018-06-04" - }, - "approximateEndDate": { - "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "type": "string", - "example": "2018-06-04" + } + }, + "additionalHazardExposures": { + "type": "object", + "description": "Additional hazardous exposures.", + "properties": { + "additionalExposures": { + "type": "array", + "description": "Additional exposure incidents.", + "enum": [ + "ASBESTOS", + "MUSTARD_GAS", + "RADIATION", + "SHAD", + "MILITARY_OCCUPATIONAL_SPECIALTY_RELATED", + "CONTAMINATED_WATER_AT_CAMP_LEJEUNE", + "OTHER" + ] + }, + "specifiyOtherExposures": { + "type": "string", + "description": "Other exposure incidents." + }, + "exposureDates": { + "type": "object", + "description": "Date range for when the exposure happened.", + "properties": { + "startDate": { + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string", + "description": "Approximate start date for exposure.", + "example": "2018-06-04" + }, + "endDate": { + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string", + "description": "Approximate end date for exposure.", + "example": "2018-06-04" + } } } - }, - "reservesNationalGuardService": { - "type": "object", - "additionalProperties": false, - "required": [ - "obligationTermOfServiceFromDate", - "obligationTermOfServiceToDate", - "unitName" - ], - "properties": { - "component": { - "type": "array", - "description": "", - "enum": [ - "Active", - "Reserves", - "National Guard" - ] - }, - "title10Activation": { - "description": "Include if the Veteran is currently activated on federal orders within the National Guard or Reserves", - "type": "object", - "additionalProperties": false, - "required": [ - "anticipatedSeparationDate", - "title10ActivationDate" - ], - "properties": { - "anticipatedSeparationDate": { - "description": "Anticipated date of separation. Date must be in the future.", - "type": "string", - "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$" - }, - "title10ActivationDate": { - "description": "Date cannot be in the future and must be after the earliest servicePeriod.activeDutyBeginDate.", - "type": "string", - "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$" - } - } - }, - "obligationTermOfServiceFromDate": { - "type": "string", - "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$" - }, - "obligationTermOfServiceToDate": { - "type": "string", - "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$" - }, - "unitName": { - "type": "string", - "pattern": "([a-zA-Z0-9\\-'.,# ][a-zA-Z0-9\\-'.,# ]?)*$" - }, - "unitPhone": { - "type": "object", - "additionalProperties": false, - "required": [ - "areaCode", - "phoneNumber" - ], - "properties": { - "areaCode": { - "type": "string", - "maxLength": 3 - }, - "phoneNumber": { - "type": "string", - "maxLength": 7 - } + } + }, + "multipleExposures": { + "type": "object", + "description": "", + "properties": { + "exposureDates": { + "type": "object", + "description": "Date range for when the exposure happened.", + "properties": { + "startDate": { + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string", + "description": "Approximate start date for exposure.", + "example": "2018-06-04" + }, + "endDate": { + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string", + "description": "Approximate end date for exposure.", + "example": "2018-06-04" } - }, - "receivingInactiveDutyTrainingPay": { - "type": "boolean" } + }, + "exposureLocation": { + "type": "string", + "description": "" + }, + "hazardExposedTo": { + "type": "string", + "description": "" } + } + } + } + }, + "disabilities": { + "description": "Any current disabilities or symptoms the Veteran is claiming are related to their military service and/or are service-connected.", + "type": "array", + "minItems": 1, + "uniqueItems": true, + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "disabilityActionType", + "name" + ], + "properties": { + "name": { + "description": "If classificationCode is included, the disability name is required to match the associated name value returned in the Benefits Reference Data /disabilities service.", + "type": "string", + "example": "PTSD (post traumatic stress disorder)" + }, + "classificationCode": { + "type": "string", + "description": "The contention classification code can be retrieved from the Benefits Refence Data API. This code aligns with the id returned by the /disabilities service. If classificationCode is included, the disability name is required to match the associated name value returned in the /disabilities service.", + "example": "249470" + }, + "serviceRelevance": { + "description": "Explanation of how the disability(ies) relates to the in-service event/exposure/injury.", + "type": "string", + "example": "Heavy equipment operator in service." + }, + "approximateDate": { + "description": "Approximate date disability began. Date must be in the past.", + "type": "string", + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "example": "2018-03-02" + }, + "ratedDisabilityId": { + "description": "When submitting a contention with action type INCREASE, the previously rated disability id may be included.", + "type": "string", + "example": "1100583" + }, + "diagnosticCode": { + "description": "The diagnosticCode is required if disabilityActionType is NONE and there are secondary disabilities included with the primary. The diagnosticCode must match an existing rated disability if disabilityActionType is NONE and there are secondary disabilities included with the primary.", + "type": "integer", + "example": 9999 + }, + "disabilityActionType": { + "description": "The status of the current disability. \n If value is \"INCREASE\", then \"ratedDisabilityId\" and \"diagnosticCode\" are required.", + "type": "string", + "enum": [ + "NONE", + "NEW", + "SECONDARY", + "REOPEN", + "INCREASE" + ], + "example": "NEW" }, - "alternateNames": { - "description": "List any other names under which the Veteran served, if applicable.", + "secondaryDisabilities": { + "description": "Identifies the Secondary Service Disability information of the Veteran.", "type": "array", "minItems": 1, - "maxItems": 100, "uniqueItems": true, "items": { "type": "object", "additionalProperties": false, "required": [ - "firstName", - "lastName" + "name", + "disabilityActionType", + "serviceRelevance" ], "properties": { - "firstName": { + "name": { + "description": "What the Disability is called.", + "type": "string", + "example": "PTSD (post traumatic stress disorder)" + }, + "disabilityActionType": { + "description": "The status of the secondary disability.", "type": "string", - "min": 1, - "max": 30, - "pattern": "^([-a-zA-Z0-9/']+( ?))+$" + "enum": [ + "SECONDARY" + ], + "example": "SECONDARY" + }, + "serviceRelevance": { + "description": "Explanation of how the disability(ies) relates to the in-service event/exposure/injury.", + "type": "string", + "example": "Heavy equipment operator in service." }, - "middleName": { + "classificationCode": { "type": "string", - "min": 1, - "max": 30, - "pattern": "^([-a-zA-Z0-9/']+( ?))+$" + "example": "249470" }, - "lastName": { + "approximateDate": { + "description": "Approximate date disability began.", "type": "string", - "min": 1, - "max": 30, - "pattern": "^([-a-zA-Z0-9/']+( ?))+$" + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "example": "2018-03-02" + }, + "exposureOrEventOrInjury": { + "type": "array", + "description": "What caused the disability?", + "enum": [ + "exposure", + "event", + "injury" + ] } } } }, - "servedInActiveCombatSince911": { + "isRelatedToToxicExposure": { "type": "boolean", - "description": "Did Veteran serve in a combat zone since 9-11-2001?", + "description": "Is the disability related to toxic exposures? If so, include exposure information.", "example": true + }, + "exposureOrEventOrInjury": { + "type": "string", + "description": "Type of exposure, event, or injury.", + "examples": [ + "Agent Orange", + "radiation", + "burn pits" + ] } - } - }, - "servicePay": { - "description": "Details about Veteran receiving Service Pay from DoD.", + }, + "allOf": [ + { + "if": { + "properties": { + "disabilityActionType": { + "enum": [ + "INCREASE" + ] + } + } + }, + "then": { + "required": [ + "ratedDisabilityId", + "diagnosticCode" + ] + } + }, + { + "if": { + "properties": { + "disabilityActionType": { + "enum": [ + "NONE" + ] + } + }, + "required": [ + "secondaryDisabilities" + ] + }, + "then": { + "required": [ + "diagnosticCode" + ] + } + } + ] + } + }, + "treatments": { + "description": "Identifies the Service Treatment information of the Veteran.", + "type": "array", + "minItems": 1, + "uniqueItems": true, + "items": { "type": "object", "additionalProperties": false, + "required": [ + "treatedDisabilityNames", + "center" + ], "properties": { - "favorTrainingPay": { - "description": "Is Veteran Waiving benefits to retain training pay.", - "type": "boolean", - "example": true - }, - "favorMilitaryRetiredPay": { - "description": "Is Veteran Waiving benefits to retain Retiree pay.", - "type": "boolean", - "example": true - }, - "receivingMilitaryRetiredPay": { - "description": "Is Veteran getting Retiree pay?", - "type": "boolean", - "example": true - }, - "futureMilitaryRetiredPay": { - "description": "Will Veteran get Retiree pay in future? \n If true, then \"futurePayExplanation\" attribute is required.", - "type": "boolean", - "default": false, - "example": false + "startDate": { + "description": "Start date for treatment. If treatment began from 2005 to present, you do not need to provide dates.", + "type": [ + "null", + "string" + ], + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "example": "2018-03-02" }, - "futureMilitaryRetiredPayExplanation": { - "description": "Explains why future pay will be received.", - "type": "string", - "example": "Will be retiring soon." + "treatedDisabilityNames": { + "description": "Names of disability treated.", + "type": "array", + "minItems": 1, + "maxItems": 101, + "uniqueItems": true, + "items": { + "description": "Name of Disabilities Veteran was Treated for.", + "type": "string", + "example": "PTSD (post traumatic stress disorder)" + } }, - "militaryRetiredPay": { + "center": { + "description": "VA Medical Center(s) and Department of Defense Military Treatment Facilities where the Veteran received treatment after discharge for any claimed disabilities.", "type": "object", - "description": "", + "additionalProperties": false, + "required": [ + "name", + "state" + ], "properties": { - "branchOfService": { - "description": "Branch of Service making payments.", + "name": { + "description": "Name of facility Veteran was treated in.", "type": "string", - "enum": [ - "Air Force", - "Air Force Reserves", - "Air National Guard", - "Army", - "Army National Guard", - "Army Reserves", - "Coast Guard", - "Coast Guard Reserves", - "Marine Corps", - "Marine Corps Reserves", - "National Oceanic & Atmospheric Administration", - "National Oceanic & Atmospheric Administration", - "Navy", - "Navy Reserves", - "Public Health Service", - "Air Force Academy", - "Army Air Corps or Army Air Force", - "Army Nurse Corps", - "Coast Guard Academy", - "Merchant Marine", - "Naval Academy", - "Other", - "US Military Academy", - "Women's Army Corps", - "Space Force" - ], - "example": "Air Force" + "pattern": "([a-zA-Z0-9\"\\/&\\(\\)\\-'.,# ]([a-zA-Z0-9(\\)\\-'.,# ])?)+$", + "example": "Private Facility 2", + "minLength": 1, + "maxLength": 100 + }, + "city": { + "description": "City of treatment facility.", + "type": "string", + "pattern": "^([-a-zA-Z0-9'.#]([-a-zA-Z0-9'.# ])?)+$", + "example": "Portland" }, - "monthlyAmount": { - "description": "Amount being received.", - "type": "number", - "minimum": 1, - "maximum": 999999, - "example": 100 + "state": { + "description": "State of treatment facility.", + "type": "string", + "pattern": "^[a-z,A-Z]{2}$", + "example": "OR" } } - }, - "retiredStatus": { - "type": "array", - "description": "", - "enum": [ - "RETIRED", - "TEMPORARY_DISABILITY_RETIRED_LIST", - "PERMANENT_DISABILITY_RETIRED_LIST" - ] - }, - "receivedSeparationOrSeverancePay": { - "description": "Has separation pay been received?", - "type": "boolean", - "example": true, - "default": true - }, - "separationSeverancePay": { + } + } + } + }, + "serviceInformation": { + "description": "Overview of Veteran's service history.", + "type": "object", + "additionalProperties": false, + "required": [ + "servicePeriods" + ], + "properties": { + "servicePeriods": { + "description": "Identifies the Service dates and Branch the Veteran served in.", + "type": "array", + "minItems": 1, + "uniqueItems": true, + "items": { "type": "object", - "description": "", + "required": [ + "serviceBranch", + "activeDutyBeginDate", + "activeDutyEndDate" + ], "properties": { - "datePaymentReceived": { - "description": "Approximate date separation pay was received.", - "type": "string", - "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "example": "2018-03-02" - }, - "branchOfService": { - "description": "Branch of Service making payments.", + "serviceBranch": { + "description": "Branch of Service during period.", "type": "string", + "example": "Air Force", "enum": [ "Air Force", + "Air Force Academy", "Air Force Reserves", + "Air Force Civilian", "Air National Guard", "Army", + "Army Air Corps", + "Army Air Corps or Army Air Force", "Army National Guard", + "Army Nurse Corps", "Army Reserves", "Coast Guard", + "Coast Guard Academy", "Coast Guard Reserves", + "Commonwealth Army Veteran", + "Guerrilla Combination Service", + "Marine", "Marine Corps", "Marine Corps Reserves", - "National Oceanic & Atmospheric Administration", + "Merchant Marine", "National Oceanic & Atmospheric Administration", + "National Oceanic and Atmospheric Administration", + "Naval Academy", "Navy", "Navy Reserves", - "Public Health Service", - "Air Force Academy", - "Army Air Corps or Army Air Force", - "Army Nurse Corps", - "Coast Guard Academy", - "Merchant Marine", - "Naval Academy", "Other", + "Public Health Service", + "Regular Philippine Scout", + "Regular Scout Service", + "Space Force", + "Special Philippine Scout", + "Unknown", "US Military Academy", - "Women's Army Corps", - "Space Force" - ], - "example": "Air Force" + "Woman Air Corps", + "Women's Army Corps" + ] }, - "preTaxAmountReceived": { - "description": "Amount being received.", - "type": "number", - "minimum": 1, - "maximum": 999999, - "example": 100 - } - } - } - } - }, - "directDeposit": { - "description": "Financial Direct Deposit information for Veteran.", + "serviceComponent": { + "type": "array", + "description": "", + "enum": [ + "Active", + "Reserves", + "National Guard" + ] + }, + "activeDutyBeginDate": { + "description": "Date Started Active Duty.", + "type": "string", + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "example": "1980-02-05" + }, + "activeDutyEndDate": { + "description": "Date Completed Active Duty. If in the future, 'separationLocationCode' is required.", + "type": "string", + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "example": "1990-01-02" + }, + "separationLocationCode": { + "description": "Code for the facility the Veteran plans to separate from. Required if 'servicePeriod.activeDutyEndDate' is in the future. [Code values available here.](https://github.com/department-of-veterans-affairs/vets-api/blob/master/modules/claims_api/lib/claims_api/separation_location_code_values.json)", + "type": "string", + "example": "98283" + } + } + } + }, + "confinements": { + "type": "object", + "description": "", + "properties": { + "approximateBeginDate": { + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string", + "example": "2018-06-04" + }, + "approximateEndDate": { + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string", + "example": "2018-06-04" + } + } + }, + "reservesNationalGuardService": { + "type": "object", + "additionalProperties": false, + "required": [ + "obligationTermOfServiceFromDate", + "obligationTermOfServiceToDate", + "unitName" + ], + "properties": { + "component": { + "type": "array", + "description": "", + "enum": [ + "Active", + "Reserves", + "National Guard" + ] + }, + "title10Activation": { + "description": "Include if the Veteran is currently activated on federal orders within the National Guard or Reserves", + "type": "object", + "additionalProperties": false, + "required": [ + "anticipatedSeparationDate", + "title10ActivationDate" + ], + "properties": { + "anticipatedSeparationDate": { + "description": "Anticipated date of separation. Date must be in the future.", + "type": "string", + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$" + }, + "title10ActivationDate": { + "description": "Date cannot be in the future and must be after the earliest servicePeriod.activeDutyBeginDate.", + "type": "string", + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$" + } + } + }, + "obligationTermOfServiceFromDate": { + "type": "string", + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$" + }, + "obligationTermOfServiceToDate": { + "type": "string", + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$" + }, + "unitName": { + "type": "string", + "pattern": "([a-zA-Z0-9\\-'.,# ][a-zA-Z0-9\\-'.,# ]?)*$" + }, + "unitPhone": { + "type": "object", + "additionalProperties": false, + "required": [ + "areaCode", + "phoneNumber" + ], + "properties": { + "areaCode": { + "type": "string", + "maxLength": 3 + }, + "phoneNumber": { + "type": "string", + "maxLength": 7 + } + } + }, + "receivingInactiveDutyTrainingPay": { + "type": "boolean" + } + } + }, + "alternateNames": { + "description": "List any other names under which the Veteran served, if applicable.", + "type": "array", + "minItems": 1, + "maxItems": 100, + "uniqueItems": true, + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "firstName", + "lastName" + ], + "properties": { + "firstName": { + "type": "string", + "min": 1, + "max": 30, + "pattern": "^([-a-zA-Z0-9/']+( ?))+$" + }, + "middleName": { + "type": "string", + "min": 1, + "max": 30, + "pattern": "^([-a-zA-Z0-9/']+( ?))+$" + }, + "lastName": { + "type": "string", + "min": 1, + "max": 30, + "pattern": "^([-a-zA-Z0-9/']+( ?))+$" + } + } + } + }, + "servedInActiveCombatSince911": { + "type": "boolean", + "description": "Did Veteran serve in a combat zone since 9-11-2001?", + "example": true + } + } + }, + "servicePay": { + "description": "Details about Veteran receiving Service Pay from DoD.", + "type": "object", + "additionalProperties": false, + "properties": { + "favorTrainingPay": { + "description": "Is Veteran Waiving benefits to retain training pay.", + "type": "boolean", + "example": true + }, + "favorMilitaryRetiredPay": { + "description": "Is Veteran Waiving benefits to retain Retiree pay.", + "type": "boolean", + "example": true + }, + "receivingMilitaryRetiredPay": { + "description": "Is Veteran getting Retiree pay?", + "type": "boolean", + "example": true + }, + "futureMilitaryRetiredPay": { + "description": "Will Veteran get Retiree pay in future? \n If true, then \"futurePayExplanation\" attribute is required.", + "type": "boolean", + "default": false, + "example": false + }, + "futureMilitaryRetiredPayExplanation": { + "description": "Explains why future pay will be received.", + "type": "string", + "example": "Will be retiring soon." + }, + "militaryRetiredPay": { + "type": "object", + "description": "", + "properties": { + "branchOfService": { + "description": "Branch of Service making payments.", + "type": "string", + "enum": [ + "Air Force", + "Air Force Reserves", + "Air National Guard", + "Army", + "Army National Guard", + "Army Reserves", + "Coast Guard", + "Coast Guard Reserves", + "Marine Corps", + "Marine Corps Reserves", + "National Oceanic & Atmospheric Administration", + "National Oceanic & Atmospheric Administration", + "Navy", + "Navy Reserves", + "Public Health Service", + "Air Force Academy", + "Army Air Corps or Army Air Force", + "Army Nurse Corps", + "Coast Guard Academy", + "Merchant Marine", + "Naval Academy", + "Other", + "US Military Academy", + "Women's Army Corps", + "Space Force" + ], + "example": "Air Force" + }, + "monthlyAmount": { + "description": "Amount being received.", + "type": "number", + "minimum": 1, + "maximum": 999999, + "example": 100 + } + } + }, + "retiredStatus": { + "type": "array", + "description": "", + "enum": [ + "RETIRED", + "TEMPORARY_DISABILITY_RETIRED_LIST", + "PERMANENT_DISABILITY_RETIRED_LIST" + ] + }, + "receivedSeparationOrSeverancePay": { + "description": "Has separation pay been received?", + "type": "boolean", + "example": true, + "default": true + }, + "separationSeverancePay": { + "type": "object", + "description": "", + "properties": { + "datePaymentReceived": { + "description": "Approximate date separation pay was received.", + "type": "string", + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "example": "2018-03-02" + }, + "branchOfService": { + "description": "Branch of Service making payments.", + "type": "string", + "enum": [ + "Air Force", + "Air Force Reserves", + "Air National Guard", + "Army", + "Army National Guard", + "Army Reserves", + "Coast Guard", + "Coast Guard Reserves", + "Marine Corps", + "Marine Corps Reserves", + "National Oceanic & Atmospheric Administration", + "National Oceanic & Atmospheric Administration", + "Navy", + "Navy Reserves", + "Public Health Service", + "Air Force Academy", + "Army Air Corps or Army Air Force", + "Army Nurse Corps", + "Coast Guard Academy", + "Merchant Marine", + "Naval Academy", + "Other", + "US Military Academy", + "Women's Army Corps", + "Space Force" + ], + "example": "Air Force" + }, + "preTaxAmountReceived": { + "description": "Amount being received.", + "type": "number", + "minimum": 1, + "maximum": 999999, + "example": 100 + } + } + } + } + }, + "directDeposit": { + "description": "Financial Direct Deposit information for Veteran.", + "type": "object", + "additionalProperties": false, + "required": [ + "accountType", + "accountNumber", + "routingNumber" + ], + "properties": { + "accountType": { + "description": "Veteran Account Type (value is case insensitive).", + "type": "string", + "enum": [ + "CHECKING", + "SAVINGS" + ], + "example": "CHECKING" + }, + "accountNumber": { + "description": "Veteran Bank Account Number.", + "minLength": 4, + "maxLength": 17, + "type": "string", + "example": "123123123123" + }, + "routngNumber": { + "description": "Veteran Bank Routing Number.", + "type": "string", + "pattern": "^\\d{9}$", + "example": "123123123" + }, + "financialInstitutionName": { + "description": "Provide the name of the financial institution where the Veteran wants the direct deposit.", + "maxLength": 35, + "type": "string", + "example": "Some Bank" + }, + "noAccount": { + "type": "boolean", + "description": "Box 29 is checked if directDeposit is missing in the JSON request.", + "default": false + } + } + } + } + } + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "veteranIdentification", + "serviceInformation", + "disabilities", + "claimantCertification", + "claimProcessType" + ], + "properties": { + "claimDate": { + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string", + "example": "2018-06-04" + }, + "claimProcessType": { + "type": "string", + "description": "Type of claim process.", + "enum": [ + "STANDARD_CLAIM_PROCESS", + "FDC_PROGRAM", + "BDD_PROGRAM_CLAIM", + "TBD" + ] + }, + "claimantCertification": { + "type": "boolean", + "description": "Claimant certifies and authorizes release of information.", + "default": false + }, + "veteranIdentification": { + "description": "Veteran Object being submitted in Claim", + "type": "object", + "additionalProperties": false, + "required": [ + "mailingAddress", + "currentlyVAEmployee" + ], + "properties": { + "currentlyVaEmployee": { + "type": "boolean", + "description": "Flag if Veteran is VA Employee.", + "example": false + }, + "serviceNumber": { + "type": "string", + "description": "Service identification number", + "maxLength": 9 + }, + "emailAddress": { + "description": "Information associated with the Veteran's email address.", + "type": "object", + "properties": { + "email": { + "type": "string", + "description": "The most current email address of the Veteran.", + "maxLength": 50 + }, + "agreeToEmailRelatedToClaim": { + "type": "boolean", + "description": "Agreement to email information relating to this claim.", + "example": true + } + } + }, + "veteranNumber": { + "description": "", + "type": "object", + "properties": { + "telephone": { + "type": "string", + "description": "Veteran's phone number.", + "maxLength": 10 + }, + "internationalTelephone": { + "type": "string", + "description": "Veteran's international phone number.", + "maxLength": 10 + } + } + }, + "vaFileNumber": { + "type": "string", + "description": "The file number associated with the Veteran and Veteran's Affairs.", + "maxLength": 9 + }, + "mailingAddress": { + "description": "Current Mailing Address Object being submitted.", + "type": "object", + "additionalProperties": false, + "properties": { + "numberAndStreet": { + "description": "Address Veteran resides in.", + "type": "string", + "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", + "maxLength": 30, + "example": "1234 Couch Street" + }, + "apartmentOrUnitNumber": { + "description": "Apartment or unit number for the address where the Veteran resides.", + "type": "string", + "maxLength": 5, + "example": "22" + }, + "city": { + "description": "City Veteran resides in.", + "type": "string", + "pattern": "^([-a-zA-Z0-9'.#]([-a-zA-Z0-9'.# ])?)+$", + "example": "Portland" + }, + "country": { + "description": "Country Veteran resides in. Value must match the values returned by the \"/countries\" endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", + "type": "string", + "example": "USA" + }, + "zipFirstFive": { + "description": "Zipcode (First 5 digits) Veteran resides in.", + "type": "string", + "pattern": "^\\d{5}?$", + "example": "12345" + }, + "zipLastFour": { + "description": "Zipcode (Last 4 digits) Veteran resides in.", + "type": "string", + "pattern": "^\\d{4}?$", + "example": "6789" + }, + "state": { + "description": "State Veteran resides in.", + "type": "string", + "pattern": "^[a-z,A-Z]{2}$", + "example": "OR" + } + }, + "allOf": [ + { + "if": { + "properties": { + "type": { + "const": "DOMESTIC" + } + } + }, + "then": { + "required": [ + "numberAndStreet", + "city", + "country", + "zipFirstFive", + "state" + ] + } + } + ] + } + } + }, + "changeOfAddress": { + "description": "A Change of Address Object being submitted.", + "type": "object", + "additionalProperties": false, + "required": [ + "country", + "type", + "addressLine1", + "addressChangeType", + "beginningDate" + ], + "properties": { + "dates": { + "type": "object", + "description": "Important dates for the change of address action.", + "properties": { + "beginningDate": { + "description": "Date in YYYY-MM-DD the Veteran changed address. Date must be in the future if change is temporary.", + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string", + "example": "2018-06-04" + }, + "endingDate": { + "description": "Date in YYYY-MM-DD the changed address expires, if change is temporary.", + "type": "string", + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "example": "2018-06-04" + } + } + }, + "typeOfAddressChange": { + "description": "Temporary or Permanent change of address.", + "type": "array", + "enum": [ + "TEMPORARY", + "PERMANENT" + ], + "example": "PERMANENT" + }, + "numberAndStreet": { + "description": "New Address Veteran resides in.", + "type": "string", + "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", + "maxLength": 30, + "example": "1234 Couch Street" + }, + "apartmentOrUnitNumber": { + "description": "New Additional Address Information Veteran resides in.", + "type": "string", + "maxLength": 5, + "example": "22" + }, + "city": { + "description": "New city Veteran resides in.", + "type": "string", + "pattern": "^([-a-zA-Z0-9'.#]([-a-zA-Z0-9'.# ])?)+$", + "example": "Portland" + }, + "country": { + "description": "New country Veteran resides in. Value must match the values returned by the \"/countries\" endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", + "type": "string", + "example": "USA" + }, + "zipFirstFive": { + "description": "New zipcode (First 5 digits) Veteran resides in.", + "type": "string", + "pattern": "^\\d{5}?$", + "example": "12345" + }, + "zipLastFour": { + "description": "New zipcode (Last 4 digits) Veteran resides in.", + "type": "string", + "pattern": "^\\d{4}?$", + "example": "6789" + }, + "state": { + "description": "New state Veteran resides in.", + "type": "string", + "pattern": "^[a-z,A-Z]{2}$", + "example": "OR" + } + }, + "allOf": [ + { + "if": { + "properties": { + "type": { + "const": "DOMESTIC" + } + } + }, + "then": { + "required": [ + "city", + "zipFirstFive", + "state" + ] + } + }, + { + "if": { + "properties": { + "type": { + "const": "MILITARY" + } + } + }, + "then": { + "required": [ + "zipFirstFive" + ] + } + } + ] + }, + "homeless": { + "description": "Object describing Veteran Homelessness if applicable.", + "type": "object", + "additionalProperties": false, + "properties": { + "pointOfContact": { + "description": "Point of contact in direct contact with Veteran.", + "type": "string", + "minLength": 1, + "maxLength": 100, + "pattern": "^([-a-zA-Z0-9/']+( ?))*$", + "example": "Jane Doe" + }, + "pointOfContactNumber": { + "telephone": { + "description": "Primary phone of Point of Contact.", + "type": "string", + "example": "1231234", + "maxLength": 10 + }, + "internationalTelephone": { + "description": "international phone of Point of Contact.", + "type": "string", + "example": "1231234", + "maxLength": 10 + } + }, + "currentlyHomeless": { + "type": "object", + "additionalProperties": false, + "required": [ + "homelessSituationOptions", + "otherDescription" + ], + "properties": { + "homelessSituationOptions": { + "description": "Current state of the veteran's homelessness.", + "type": "string", + "default": "other", + "enum": [ + "LIVING_IN_A_HOMELESS_SHELTER", + "NOT_CURRENTLY_IN_A_SHELTERED_ENVIRONMENT", + "STAYING_WITH_ANOTHER_PERSON", + "FLEEING_CURRENT_RESIDENCE", + "OTHER" + ], + "example": "FLEEING_CURRENT_RESIDENCE" + }, + "otherDescription": { + "description": "For a 'homelessSituationOptions' of value 'other', please provide additional comments on the living situation.", + "type": "string", + "maxLength": 500, + "example": "other living situation" + } + } + }, + "riskOfBecomingHomeless": { + "type": "object", + "additionalProperties": false, + "required": [ + "livingSituationOptions", + "otherDescription" + ], + "properties": { + "livingSituationOptions": { + "type": "string", + "default": "other", + "enum": [ + "losingHousing", + "leavingShelter", + "other" + ] + }, + "otherDescription": { + "description": "For a 'livingSituationOptions' of value 'other', please provide additional comments on the living situation.", + "type": "string", + "maxLength": 500, + "example": "other living situation" + } + } + } + } + }, + "toxicExposure": { + "type": "object", + "description": "Toxic exposures incidents and details.", + "properties": { + "gulfWarHazard": { + "type": "object", + "description": "Toxic exposure related to the Gulf war.", + "properties": { + "servedInGulfWarHazardLocations": { + "type": "boolean", + "description": "Did the Veteran serve in any of the following Gulf War hazard locations?", + "example": true + }, + "serviceDates": { + "type": "object", + "description": "Date range for when the exposure happened.", + "properties": { + "startDate": { + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string", + "description": "Approximate start date for serving in Gulf War hazard location.", + "example": "2018-06-04" + }, + "endDate": { + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string", + "description": "Approximate end date for serving in Gulf War hazard location.", + "example": "2018-06-04" + } + } + } + } + }, + "herbicideHazardService": { + "type": "object", + "description": "Toxic exposure related to herbicide hazards.", + "properties": { + "servedInHerbicideHazardLocations": { + "type": "boolean", + "description": "Did the Veteran serve in any of the following Herbicide (e.g., Agent Orange) locations? These locations include: Republic of Vietnam to include the 12 nautical mile territorial waters; Thailand at any United States or Royal Thai base; Laos; Cambodia at Mimot or Krek; Kampong Cham Province; Guam or American Samoa; or in the territorial waters thereof; Johnston Atoll or a ship that called at Johnston Atoll; Korean demilitarized zone; aboard (to include repeated operations and maintenance with) a C-123 aircraft known to have been used to spray an herbicide agent (during service in the Air Force and Air Force Reserves)." + }, + "otherLocationsServed": { + "type": "string", + "description": "Other location(s) where Veteran served." + }, + "serviceDates": { + "type": "object", + "description": "Date range for when the exposure happened.", + "properties": { + "startDate": { + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string", + "description": "Approximate start date for serving in herbicide location.", + "example": "2018-06-04" + }, + "endDate": { + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string", + "description": "Approximate end date for serving in herbicide location.", + "example": "2018-06-04" + } + } + } + } + }, + "additionalHazardExposures": { + "type": "object", + "description": "Additional hazardous exposures.", + "properties": { + "additionalExposures": { + "type": "array", + "description": "Additional exposure incidents.", + "enum": [ + "ASBESTOS", + "MUSTARD_GAS", + "RADIATION", + "SHAD", + "MILITARY_OCCUPATIONAL_SPECIALTY_RELATED", + "CONTAMINATED_WATER_AT_CAMP_LEJEUNE", + "OTHER" + ] + }, + "specifiyOtherExposures": { + "type": "string", + "description": "Other exposure incidents." + }, + "exposureDates": { + "type": "object", + "description": "Date range for when the exposure happened.", + "properties": { + "startDate": { + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string", + "description": "Approximate start date for exposure.", + "example": "2018-06-04" + }, + "endDate": { + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string", + "description": "Approximate end date for exposure.", + "example": "2018-06-04" + } + } + } + } + }, + "multipleExposures": { + "type": "object", + "description": "", + "properties": { + "exposureDates": { + "type": "object", + "description": "Date range for when the exposure happened.", + "properties": { + "startDate": { + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string", + "description": "Approximate start date for exposure.", + "example": "2018-06-04" + }, + "endDate": { + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string", + "description": "Approximate end date for exposure.", + "example": "2018-06-04" + } + } + }, + "exposureLocation": { + "type": "string", + "description": "" + }, + "hazardExposedTo": { + "type": "string", + "description": "" + } + } + } + } + }, + "disabilities": { + "description": "Any current disabilities or symptoms the Veteran is claiming are related to their military service and/or are service-connected.", + "type": "array", + "minItems": 1, + "uniqueItems": true, + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "disabilityActionType", + "name" + ], + "properties": { + "name": { + "description": "If classificationCode is included, the disability name is required to match the associated name value returned in the Benefits Reference Data /disabilities service.", + "type": "string", + "example": "PTSD (post traumatic stress disorder)" + }, + "classificationCode": { + "type": "string", + "description": "The contention classification code can be retrieved from the Benefits Refence Data API. This code aligns with the id returned by the /disabilities service. If classificationCode is included, the disability name is required to match the associated name value returned in the /disabilities service.", + "example": "249470" + }, + "serviceRelevance": { + "description": "Explanation of how the disability(ies) relates to the in-service event/exposure/injury.", + "type": "string", + "example": "Heavy equipment operator in service." + }, + "approximateDate": { + "description": "Approximate date disability began. Date must be in the past.", + "type": "string", + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "example": "2018-03-02" + }, + "ratedDisabilityId": { + "description": "When submitting a contention with action type INCREASE, the previously rated disability id may be included.", + "type": "string", + "example": "1100583" + }, + "diagnosticCode": { + "description": "The diagnosticCode is required if disabilityActionType is NONE and there are secondary disabilities included with the primary. The diagnosticCode must match an existing rated disability if disabilityActionType is NONE and there are secondary disabilities included with the primary.", + "type": "integer", + "example": 9999 + }, + "disabilityActionType": { + "description": "The status of the current disability. \n If value is \"INCREASE\", then \"ratedDisabilityId\" and \"diagnosticCode\" are required.", + "type": "string", + "enum": [ + "NONE", + "NEW", + "SECONDARY", + "REOPEN", + "INCREASE" + ], + "example": "NEW" + }, + "secondaryDisabilities": { + "description": "Identifies the Secondary Service Disability information of the Veteran.", + "type": "array", + "minItems": 1, + "uniqueItems": true, + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "disabilityActionType", + "serviceRelevance" + ], + "properties": { + "name": { + "description": "What the Disability is called.", + "type": "string", + "example": "PTSD (post traumatic stress disorder)" + }, + "disabilityActionType": { + "description": "The status of the secondary disability.", + "type": "string", + "enum": [ + "SECONDARY" + ], + "example": "SECONDARY" + }, + "serviceRelevance": { + "description": "Explanation of how the disability(ies) relates to the in-service event/exposure/injury.", + "type": "string", + "example": "Heavy equipment operator in service." + }, + "classificationCode": { + "type": "string", + "example": "249470" + }, + "approximateDate": { + "description": "Approximate date disability began.", + "type": "string", + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "example": "2018-03-02" + }, + "exposureOrEventOrInjury": { + "type": "array", + "description": "What caused the disability?", + "enum": [ + "exposure", + "event", + "injury" + ] + } + } + } + }, + "isRelatedToToxicExposure": { + "type": "boolean", + "description": "Is the disability related to toxic exposures? If so, include exposure information.", + "example": true + }, + "exposureOrEventOrInjury": { + "type": "string", + "description": "Type of exposure, event, or injury.", + "examples": [ + "Agent Orange", + "radiation", + "burn pits" + ] + } + }, + "allOf": [ + { + "if": { + "properties": { + "disabilityActionType": { + "enum": [ + "INCREASE" + ] + } + } + }, + "then": { + "required": [ + "ratedDisabilityId", + "diagnosticCode" + ] + } + }, + { + "if": { + "properties": { + "disabilityActionType": { + "enum": [ + "NONE" + ] + } + }, + "required": [ + "secondaryDisabilities" + ] + }, + "then": { + "required": [ + "diagnosticCode" + ] + } + } + ] + } + }, + "treatments": { + "description": "Identifies the Service Treatment information of the Veteran.", + "type": "array", + "minItems": 1, + "uniqueItems": true, + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "treatedDisabilityNames", + "center" + ], + "properties": { + "startDate": { + "description": "Start date for treatment. If treatment began from 2005 to present, you do not need to provide dates.", + "type": [ + "null", + "string" + ], + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "example": "2018-03-02" + }, + "treatedDisabilityNames": { + "description": "Names of disability treated.", + "type": "array", + "minItems": 1, + "maxItems": 101, + "uniqueItems": true, + "items": { + "description": "Name of Disabilities Veteran was Treated for.", + "type": "string", + "example": "PTSD (post traumatic stress disorder)" + } + }, + "center": { + "description": "VA Medical Center(s) and Department of Defense Military Treatment Facilities where the Veteran received treatment after discharge for any claimed disabilities.", "type": "object", "additionalProperties": false, "required": [ - "accountType", - "accountNumber", - "routingNumber" + "name", + "state" + ], + "properties": { + "name": { + "description": "Name of facility Veteran was treated in.", + "type": "string", + "pattern": "([a-zA-Z0-9\"\\/&\\(\\)\\-'.,# ]([a-zA-Z0-9(\\)\\-'.,# ])?)+$", + "example": "Private Facility 2", + "minLength": 1, + "maxLength": 100 + }, + "city": { + "description": "City of treatment facility.", + "type": "string", + "pattern": "^([-a-zA-Z0-9'.#]([-a-zA-Z0-9'.# ])?)+$", + "example": "Portland" + }, + "state": { + "description": "State of treatment facility.", + "type": "string", + "pattern": "^[a-z,A-Z]{2}$", + "example": "OR" + } + } + } + } + } + }, + "serviceInformation": { + "description": "Overview of Veteran's service history.", + "type": "object", + "additionalProperties": false, + "required": [ + "servicePeriods" + ], + "properties": { + "servicePeriods": { + "description": "Identifies the Service dates and Branch the Veteran served in.", + "type": "array", + "minItems": 1, + "uniqueItems": true, + "items": { + "type": "object", + "required": [ + "serviceBranch", + "activeDutyBeginDate", + "activeDutyEndDate" ], "properties": { - "accountType": { - "description": "Veteran Account Type (value is case insensitive).", + "serviceBranch": { + "description": "Branch of Service during period.", "type": "string", + "example": "Air Force", "enum": [ - "CHECKING", - "SAVINGS" - ], - "example": "CHECKING" + "Air Force", + "Air Force Academy", + "Air Force Reserves", + "Air Force Civilian", + "Air National Guard", + "Army", + "Army Air Corps", + "Army Air Corps or Army Air Force", + "Army National Guard", + "Army Nurse Corps", + "Army Reserves", + "Coast Guard", + "Coast Guard Academy", + "Coast Guard Reserves", + "Commonwealth Army Veteran", + "Guerrilla Combination Service", + "Marine", + "Marine Corps", + "Marine Corps Reserves", + "Merchant Marine", + "National Oceanic & Atmospheric Administration", + "National Oceanic and Atmospheric Administration", + "Naval Academy", + "Navy", + "Navy Reserves", + "Other", + "Public Health Service", + "Regular Philippine Scout", + "Regular Scout Service", + "Space Force", + "Special Philippine Scout", + "Unknown", + "US Military Academy", + "Woman Air Corps", + "Women's Army Corps" + ] + }, + "serviceComponent": { + "type": "array", + "description": "", + "enum": [ + "Active", + "Reserves", + "National Guard" + ] + }, + "activeDutyBeginDate": { + "description": "Date Started Active Duty.", + "type": "string", + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "example": "1980-02-05" }, - "accountNumber": { - "description": "Veteran Bank Account Number.", - "minLength": 4, - "maxLength": 17, + "activeDutyEndDate": { + "description": "Date Completed Active Duty. If in the future, 'separationLocationCode' is required.", "type": "string", - "example": "123123123123" + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "example": "1990-01-02" }, - "routngNumber": { - "description": "Veteran Bank Routing Number.", + "separationLocationCode": { + "description": "Code for the facility the Veteran plans to separate from. Required if 'servicePeriod.activeDutyEndDate' is in the future. [Code values available here.](https://github.com/department-of-veterans-affairs/vets-api/blob/master/modules/claims_api/lib/claims_api/separation_location_code_values.json)", + "type": "string", + "example": "98283" + } + } + } + }, + "confinements": { + "type": "object", + "description": "", + "properties": { + "approximateBeginDate": { + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string", + "example": "2018-06-04" + }, + "approximateEndDate": { + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string", + "example": "2018-06-04" + } + } + }, + "reservesNationalGuardService": { + "type": "object", + "additionalProperties": false, + "required": [ + "obligationTermOfServiceFromDate", + "obligationTermOfServiceToDate", + "unitName" + ], + "properties": { + "component": { + "type": "array", + "description": "", + "enum": [ + "Active", + "Reserves", + "National Guard" + ] + }, + "title10Activation": { + "description": "Include if the Veteran is currently activated on federal orders within the National Guard or Reserves", + "type": "object", + "additionalProperties": false, + "required": [ + "anticipatedSeparationDate", + "title10ActivationDate" + ], + "properties": { + "anticipatedSeparationDate": { + "description": "Anticipated date of separation. Date must be in the future.", + "type": "string", + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$" + }, + "title10ActivationDate": { + "description": "Date cannot be in the future and must be after the earliest servicePeriod.activeDutyBeginDate.", + "type": "string", + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$" + } + } + }, + "obligationTermOfServiceFromDate": { + "type": "string", + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$" + }, + "obligationTermOfServiceToDate": { + "type": "string", + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$" + }, + "unitName": { + "type": "string", + "pattern": "([a-zA-Z0-9\\-'.,# ][a-zA-Z0-9\\-'.,# ]?)*$" + }, + "unitPhone": { + "type": "object", + "additionalProperties": false, + "required": [ + "areaCode", + "phoneNumber" + ], + "properties": { + "areaCode": { + "type": "string", + "maxLength": 3 + }, + "phoneNumber": { + "type": "string", + "maxLength": 7 + } + } + }, + "receivingInactiveDutyTrainingPay": { + "type": "boolean" + } + } + }, + "alternateNames": { + "description": "List any other names under which the Veteran served, if applicable.", + "type": "array", + "minItems": 1, + "maxItems": 100, + "uniqueItems": true, + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "firstName", + "lastName" + ], + "properties": { + "firstName": { "type": "string", - "pattern": "^\\d{9}$", - "example": "123123123" + "min": 1, + "max": 30, + "pattern": "^([-a-zA-Z0-9/']+( ?))+$" }, - "financialInstitutionName": { - "description": "Provide the name of the financial institution where the Veteran wants the direct deposit.", - "maxLength": 35, + "middleName": { "type": "string", - "example": "Some Bank" + "min": 1, + "max": 30, + "pattern": "^([-a-zA-Z0-9/']+( ?))+$" }, - "noAccount": { - "type": "boolean", - "description": "Box 29 is checked if directDeposit is missing in the JSON request.", - "default": false + "lastName": { + "type": "string", + "min": 1, + "max": 30, + "pattern": "^([-a-zA-Z0-9/']+( ?))+$" } } } + }, + "servedInActiveCombatSince911": { + "type": "boolean", + "description": "Did Veteran serve in a combat zone since 9-11-2001?", + "example": true } } - ] + }, + "servicePay": { + "description": "Details about Veteran receiving Service Pay from DoD.", + "type": "object", + "additionalProperties": false, + "properties": { + "favorTrainingPay": { + "description": "Is Veteran Waiving benefits to retain training pay.", + "type": "boolean", + "example": true + }, + "favorMilitaryRetiredPay": { + "description": "Is Veteran Waiving benefits to retain Retiree pay.", + "type": "boolean", + "example": true + }, + "receivingMilitaryRetiredPay": { + "description": "Is Veteran getting Retiree pay?", + "type": "boolean", + "example": true + }, + "futureMilitaryRetiredPay": { + "description": "Will Veteran get Retiree pay in future? \n If true, then \"futurePayExplanation\" attribute is required.", + "type": "boolean", + "default": false, + "example": false + }, + "futureMilitaryRetiredPayExplanation": { + "description": "Explains why future pay will be received.", + "type": "string", + "example": "Will be retiring soon." + }, + "militaryRetiredPay": { + "type": "object", + "description": "", + "properties": { + "branchOfService": { + "description": "Branch of Service making payments.", + "type": "string", + "enum": [ + "Air Force", + "Air Force Reserves", + "Air National Guard", + "Army", + "Army National Guard", + "Army Reserves", + "Coast Guard", + "Coast Guard Reserves", + "Marine Corps", + "Marine Corps Reserves", + "National Oceanic & Atmospheric Administration", + "National Oceanic & Atmospheric Administration", + "Navy", + "Navy Reserves", + "Public Health Service", + "Air Force Academy", + "Army Air Corps or Army Air Force", + "Army Nurse Corps", + "Coast Guard Academy", + "Merchant Marine", + "Naval Academy", + "Other", + "US Military Academy", + "Women's Army Corps", + "Space Force" + ], + "example": "Air Force" + }, + "monthlyAmount": { + "description": "Amount being received.", + "type": "number", + "minimum": 1, + "maximum": 999999, + "example": 100 + } + } + }, + "retiredStatus": { + "type": "array", + "description": "", + "enum": [ + "RETIRED", + "TEMPORARY_DISABILITY_RETIRED_LIST", + "PERMANENT_DISABILITY_RETIRED_LIST" + ] + }, + "receivedSeparationOrSeverancePay": { + "description": "Has separation pay been received?", + "type": "boolean", + "example": true, + "default": true + }, + "separationSeverancePay": { + "type": "object", + "description": "", + "properties": { + "datePaymentReceived": { + "description": "Approximate date separation pay was received.", + "type": "string", + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "example": "2018-03-02" + }, + "branchOfService": { + "description": "Branch of Service making payments.", + "type": "string", + "enum": [ + "Air Force", + "Air Force Reserves", + "Air National Guard", + "Army", + "Army National Guard", + "Army Reserves", + "Coast Guard", + "Coast Guard Reserves", + "Marine Corps", + "Marine Corps Reserves", + "National Oceanic & Atmospheric Administration", + "National Oceanic & Atmospheric Administration", + "Navy", + "Navy Reserves", + "Public Health Service", + "Air Force Academy", + "Army Air Corps or Army Air Force", + "Army Nurse Corps", + "Coast Guard Academy", + "Merchant Marine", + "Naval Academy", + "Other", + "US Military Academy", + "Women's Army Corps", + "Space Force" + ], + "example": "Air Force" + }, + "preTaxAmountReceived": { + "description": "Amount being received.", + "type": "number", + "minimum": 1, + "maximum": 999999, + "example": 100 + } + } + } + } + }, + "directDeposit": { + "description": "Financial Direct Deposit information for Veteran.", + "type": "object", + "additionalProperties": false, + "required": [ + "accountType", + "accountNumber", + "routingNumber" + ], + "properties": { + "accountType": { + "description": "Veteran Account Type (value is case insensitive).", + "type": "string", + "enum": [ + "CHECKING", + "SAVINGS" + ], + "example": "CHECKING" + }, + "accountNumber": { + "description": "Veteran Bank Account Number.", + "minLength": 4, + "maxLength": 17, + "type": "string", + "example": "123123123123" + }, + "routngNumber": { + "description": "Veteran Bank Routing Number.", + "type": "string", + "pattern": "^\\d{9}$", + "example": "123123123" + }, + "financialInstitutionName": { + "description": "Provide the name of the financial institution where the Veteran wants the direct deposit.", + "maxLength": 35, + "type": "string", + "example": "Some Bank" + }, + "noAccount": { + "type": "boolean", + "description": "Box 29 is checked if directDeposit is missing in the JSON request.", + "default": false + } + } + } + }, + "example": { + "claimantCertification": true, + "claimProcessType": "STANDARD_CLAIM_PROCESS", + "claimDate": "2020-12-18", + "veteranIdentification": { + "mailingAddress": { + "numberAndStreet": "1234 Couch Street", + "apartmentOrUnitNumber": "Apt. 22", + "city": "Portland", + "country": "USA", + "zipFirstFive": "12345", + "zipLastFour": "6789", + "state": "OR" + }, + "currentlyVAEmployee": false, + "serviceNumber": "123456789", + "emailAddress": { + "email": "claimant@example.com", + "agreeToEmailRelatedToClaim": true + }, + "veteranNumber": { + "telephone": "555-5555", + "internationalTelephone": "555-5555" + }, + "vaFileNumber": "12345678" + }, + "changeOfAddress": { + "country": "USA", + "type": "INTERNATIONAL", + "addressLine1": "1234 Couch Street", + "dates": { + "beginningDate": "2018-11-31", + "endingDate": "2019-07-11" + }, + "typeOfAddressChange": "Permanent", + "numberAndStreet": "1234 Couch Street", + "apartmentOrUnitNumber": "Apt. 22", + "city": "Portland", + "zipFirstFive": "12345", + "zipLastFour": "1234", + "state": "OR" + }, + "homeless": { + "pointOfContact": "Jane Doe", + "pointOfContactNumber": "123-456-7890", + "currentlyHomeless": { + "homelessSituationOptions": "FLEEING_CURRENT_RESIDENCE", + "otherDescription": "" + }, + "riskOfBecomingHomeless": { + "livingSituationOptions": "other living situation", + "otherDescription": "" + } + }, + "toxicExposure": { + "gulfWarHazard": { + "servedInGulfWarHazardLocations": true, + "serviceDates": { + "startDate": "1999-07-21", + "endDate": "2005-01-21" + } + }, + "herbicideHazardService": { + "servedInHerbicideHazardLocations": true, + "otherLocationsServed": "Guam", + "serviceDates": { + "startDate": "2002-03-07", + "endDate": "2004-10-31" + } + }, + "additionalHazardExposures": { + "additionalExposures": "ASBESTOS", + "specifiyOtherExposures": "", + "exposureDates": { + "startDate": "2011-07-30", + "endDate": "2013-10-03" + } + }, + "multipleExposures": { + "exposureDates": { + "startDate": "2012-12-09", + "endDate": "2013-07-27" + }, + "exposureLocation": "Guam", + "hazardExposedTo": "RADIATION" + } + }, + "disabilities": [ + { + "disabilityActionType": "REOPEN", + "name": "PTSD (post traumatic stress disorder)", + "classificationCode": "249470", + "serviceRelevance": "Heavy equipment operator in service.", + "approximateDate": "2019-11-04", + "ratedDisabilityId": "1100583", + "diagnosticCode": 9999, + "secondaryDisabilities": [ + { + "name": "PTSD personal trauma", + "disabilityActionType": "SECONDARY", + "serviceRelevance": "Caused by a service-connected disability\\nLengthy description", + "classificationCode": "249470", + "approximateDate": "2018-01-03", + "exposureOrEventOrInjury": "" + } + ], + "isRelatedToToxicExposure": true, + "exposureOrEventOrInjury": "" + } + ], + "treatments": [ + { + "center": { + "name": "Private Facility 2", + "state": "CO", + "city": "Pueblo" + }, + "startDate": "2014-03-07", + "treatedDisabilityNames": "PTSD (post traumatic stress disorder)" + }, + { + "center": { + "name": "Private Facility 3", + "state": "WA", + "city": "Seattle" + }, + "startDate": null, + "treatedDisabilityNames": "PTSD (post traumatic stress disorder)" + } + ], + "serviceInformation": { + "servicePeriods": [ + { + "serviceBranch": "Public Health Service", + "activeDutyBeginDate": "2015-11-14", + "activeDutyEndDate": "2018-11-30", + "serviceComponent": "Active", + "separationLocationCode": "V01D" + } + ], + "confinements": { + "approximateBeginDate": "2016-11-06", + "approximateEndDate": "2016-11-09" + }, + "reservesNationalGuardService": { + "obligationTermOfServiceFromDate": "2016-11-24", + "obligationTermOfServiceToDate": "2017-11-17", + "unitName": "DonkeyPants", + "component": "National Guard", + "title10Activation": { + "anticipatedSeparationDate": "2017-10-03", + "title10ActivationDate": "2018-02-11" + }, + "unitPhone": { + "areaCode": "123", + "phoneNumber": "456-7890" + }, + "receivingInactiveDutyTrainingPay": true + }, + "alternateNames": [ + { + "firstName": "John", + "lastName": "Jacob", + "middleName": "Jingleheimer-Schmidt" + } + ], + "servedInActiveCombatSince911": false + }, + "servicePay": { + "favorTrainingPay": true, + "favorMilitaryRetiredPay": false, + "receivingMilitaryRetiredPay": false, + "futureMilitaryRetiredPay": true, + "futureMilitaryRetiredPayExplanation": "", + "militaryRetiredPay": { + "branchOfService": "Army", + "monthlyAmount": 840.75 + }, + "retiredStatus": [ + + ], + "receivedSeparationOrSeverancePay": false, + "separationSeverancePay": { + "datePaymentReceived": "2018-07-31", + "branchOfService": "Naval Academy", + "preTaxAmountReceived": 379.25 + } + }, + "directDeposit": { + "accountType": "CHECKING", + "accountNumber": "123456789", + "routingNumber": "123456789", + "financialInstituteName": "Chase", + "noAccount": false + } } } } - } - } - }, - "post": { - "summary": "Submits form 526", - "tags": [ - "Disability" - ], - "operationId": "post526Claim", - "security": [ - { - "productionOauth": [ - "system/claim.read", - "system/claim.write" - ] - }, - { - "sandboxOauth": [ - "system/claim.read", - "system/claim.write" - ] - }, - { - "bearer_token": [ - - ] - } - ], - "description": "Establishes a Disability Compensation Claim in VBMS.", - "parameters": [ - { - "name": "veteranId", - "in": "path", - "required": true, - "example": "1012667145V762142", - "description": "ID of Veteran", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "526 Response" }, - "401": { - "description": "Unauthorized" - } + "required": true } } }, diff --git a/modules/claims_api/app/swagger/claims_api/v2/production/swagger.json b/modules/claims_api/app/swagger/claims_api/v2/production/swagger.json index d5ae42b4c4c..b5facc4e526 100644 --- a/modules/claims_api/app/swagger/claims_api/v2/production/swagger.json +++ b/modules/claims_api/app/swagger/claims_api/v2/production/swagger.json @@ -733,7 +733,7 @@ "currentPhaseBack": false, "latestPhaseType": "COMPLETE", "previousPhases": { - "phase1CompleteDate": "2017-10-18" + "phase7CompleteDate": "2017-10-18" } }, "claimType": "Compensation", diff --git a/modules/claims_api/config/schemas/v2/526.json b/modules/claims_api/config/schemas/v2/526.json deleted file mode 100644 index da3f5cbe46e..00000000000 --- a/modules/claims_api/config/schemas/v2/526.json +++ /dev/null @@ -1,1082 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "description": "Claims API 526 Schema", - "type": "object", - "additionalProperties": false, - "required": [ - "veteranIdentification", - "serviceInformation", - "disabilities", - "claimantCertification", - "claimProcessType" - ], - "properties": { - "claimDate": { - "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "type": "string", - "example": "2018-06-04" - }, - "claimProcessType": { - "type": "array", - "description": "", - "enum": [ - "STANDARD_CLAIM_PROCESS", - "FDC_PROGRAM", - "BDD_PROGRAM_CLAIM", - "TBD" - ] - }, - "claimantCertification": { - "type": "boolean", - "description": "Claimant certifies and authorizes release of information.", - "default": false - }, - "veteranIdentification": { - "description": "Veteran Object being submitted in Claim", - "type": "object", - "additionalProperties": false, - "required": ["mailingAddress", "currentlyVAEmployee"], - "properties": { - "currentlyVaEmployee": { - "type": "boolean", - "description": "Flag if Veteran is VA Employee.", - "example": false - }, - "serviceNumber": { - "type": "string", - "description": "Service identification number", - "maxLength": 9 - }, - "emailAddress": { - "description": "Information associated with the Veteran's email address.", - "type": "object", - "properties": { - "email": { - "type": "string", - "description": "The most current email address of the Veteran.", - "maxLength": 50 - }, - "agreeToEmailRelatedToClaim": { - "type": "boolean", - "description": "Agreement to email information relating to this claim.", - "example": true - } - } - }, - "veteranNumber": { - "description": "", - "type": "object", - "properties": { - "telephone": { - "type": "string", - "description": "Veteran's phone number.", - "maxLength": 10 - }, - "internationalTelephone": { - "type": "string", - "description": "Veteran's international phone number.", - "maxLength": 10 - } - } - }, - "vaFileNumber": { - "type": "string", - "description": "The file number associated with the Veteran and Veteran's Affairs.", - "maxLength": 9 - }, - "mailingAddress": { - "description": "Current Mailing Address Object being submitted.", - "type": "object", - "additionalProperties": false, - "properties": { - "numberAndStreet": { - "description": "Address Veteran resides in.", - "type": "string", - "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", - "maxLength": 30, - "example": "1234 Couch Street" - }, - "apartmentOrUnitNumber": { - "description": "Apartment or unit number for the address where the Veteran resides.", - "type": "string", - "maxLength": 5, - "example": "22" - }, - "city": { - "description": "City Veteran resides in.", - "type": "string", - "pattern": "^([-a-zA-Z0-9'.#]([-a-zA-Z0-9'.# ])?)+$", - "example": "Portland" - }, - "country": { - "description": "Country Veteran resides in. Value must match the values returned by the \"/countries\" endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", - "type": "string", - "example": "USA" - }, - "zipFirstFive": { - "description": "Zipcode (First 5 digits) Veteran resides in.", - "type": "string", - "pattern": "^\\d{5}?$", - "example": "12345" - }, - "zipLastFour": { - "description": "Zipcode (Last 4 digits) Veteran resides in.", - "type": "string", - "pattern": "^\\d{4}?$", - "example": "6789" - }, - "state": { - "description": "State Veteran resides in.", - "type": "string", - "pattern": "^[a-z,A-Z]{2}$", - "example": "OR" - } - }, - "allOf": [ - { - "if": { - "properties": { - "type": { - "const": "DOMESTIC" - } - } - }, - "then": { - "required": [ - "numberAndStreet", - "city", - "country", - "zipFirstFive", - "state" - ] - } - } - ] - } - } - }, - "changeOfAddress": { - "description": "A Change of Address Object being submitted.", - "type": "object", - "additionalProperties": false, - "required": ["country", "type", "addressLine1", "addressChangeType", "beginningDate"], - "properties": { - "dates": { - "type": "object", - "description": "Important dates for the change of address action.", - "properties": { - "beginningDate": { - "description": "Date in YYYY-MM-DD the Veteran changed address. Date must be in the future if change is temporary.", - "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "type": "string", - "example": "2018-06-04" - }, - "endingDate": { - "description": "Date in YYYY-MM-DD the changed address expires, if change is temporary.", - "type": "string", - "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "example": "2018-06-04" - } - } - }, - "typeOfAddressChange": { - "description": "Temporary or Permanent change of address.", - "type": "array", - "enum": [ - "TEMPORARY", - "PERMANENT" - ], - "example": "PERMANENT" - }, - "numberAndStreet": { - "description": "New Address Veteran resides in.", - "type": "string", - "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", - "maxLength": 30, - "example": "1234 Couch Street" - }, - "apartmentOrUnitNumber": { - "description": "New Additional Address Information Veteran resides in.", - "type": "string", - "maxLength": 5, - "example": "22" - }, - "city": { - "description": "New city Veteran resides in.", - "type": "string", - "pattern": "^([-a-zA-Z0-9'.#]([-a-zA-Z0-9'.# ])?)+$", - "example": "Portland" - }, - "country": { - "description": "New country Veteran resides in. Value must match the values returned by the \"/countries\" endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", - "type": "string", - "example": "USA" - }, - "zipFirstFive": { - "description": "New zipcode (First 5 digits) Veteran resides in.", - "type": "string", - "pattern": "^\\d{5}?$", - "example": "12345" - }, - "zipLastFour": { - "description": "New zipcode (Last 4 digits) Veteran resides in.", - "type": "string", - "pattern": "^\\d{4}?$", - "example": "6789" - }, - "state": { - "description": "New state Veteran resides in.", - "type": "string", - "pattern": "^[a-z,A-Z]{2}$", - "example": "OR" - } - }, - "allOf": [ - { - "if": { - "properties": { - "type": { - "const": "DOMESTIC" - } - } - }, - "then": { - "required": [ - "city", - "zipFirstFive", - "state" - ] - } - }, - { - "if": { - "properties": { - "type": { - "const": "MILITARY" - } - } - }, - "then": { - "required": [ - "zipFirstFive" - ] - } - } - ] - }, - "homeless": { - "description": "Object describing Veteran Homelessness if applicable.", - "type": "object", - "additionalProperties": false, - "properties": { - "pointOfContact": { - "description": "Point of contact in direct contact with Veteran.", - "type": "string", - "minLength": 1, - "maxLength": 100, - "pattern": "^([-a-zA-Z0-9/']+( ?))*$", - "example": "Jane Doe" - }, - "pointOfContactNumber": { - "telephone": { - "description": "Primary phone of Point of Contact.", - "type": "string", - "example": "1231234", - "maxLength": 10 - }, - "internationalTelephone": { - "description": "international phone of Point of Contact.", - "type": "string", - "example": "1231234", - "maxLength": 10 - } - }, - "currentlyHomeless": { - "type": "object", - "additionalProperties": false, - "required": ["homelessSituationOptions", "otherDescription"], - "properties": { - "homelessSituationOptions": { - "description": "Current state of the veteran's homelessness.", - "type": "string", - "default": "other", - "enum": [ - "LIVING_IN_A_HOMELESS_SHELTER", - "NOT_CURRENTLY_IN_A_SHELTERED_ENVIRONMENT", - "STAYING_WITH_ANOTHER_PERSON", - "FLEEING_CURRENT_RESIDENCE", - "OTHER" - ], - "example": "FLEEING_CURRENT_RESIDENCE" - }, - "otherDescription": { - "description": "For a 'homelessSituationOptions' of value 'other', please provide additional comments on the living situation.", - "type": "string", - "maxLength": 500, - "example": "other living situation" - } - } - }, - "riskOfBecomingHomeless": { - "type": "object", - "additionalProperties": false, - "required": [ - "livingSituationOptions", - "otherDescription" - ], - "properties": { - "livingSituationOptions": { - "type": "string", - "default": "other", - "enum": ["losingHousing", "leavingShelter", "other"] - }, - "otherDescription": { - "description": "For a 'livingSituationOptions' of value 'other', please provide additional comments on the living situation.", - "type": "string", - "maxLength": 500, - "example": "other living situation" - } - } - } - } - }, - "toxicExposure": { - "type": "object", - "description": "Toxic exposures incidents and details.", - "properties": { - "gulfWarHazard": { - "type": "object", - "description": "Toxic exposure related to the Gulf war.", - "properties": { - "servedInGulfWarHazardLocations": { - "type": "boolean", - "description": "Did the Veteran serve in any of the following Gulf War hazard locations?", - "example": true - }, - "serviceDates": { - "type": "object", - "description": "Date range for when the exposure happened.", - "properties": { - "startDate": { - "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "type": "string", - "description": "Approximate start date for serving in Gulf War hazard location.", - "example": "2018-06-04" - }, - "endDate": { - "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "type": "string", - "description": "Approximate end date for serving in Gulf War hazard location.", - "example": "2018-06-04" - } - } - } - } - }, - "herbicideHazardService": { - "type": "object", - "description": "Toxic exposure related to herbicide hazards.", - "properties": { - "servedInHerbicideHazardLocations": { - "type": "boolean", - "description": "Did the Veteran serve in any of the following Herbicide (e.g., Agent Orange) locations? These locations include: Republic of Vietnam to include the 12 nautical mile territorial waters; Thailand at any United States or Royal Thai base; Laos; Cambodia at Mimot or Krek; Kampong Cham Province; Guam or American Samoa; or in the territorial waters thereof; Johnston Atoll or a ship that called at Johnston Atoll; Korean demilitarized zone; aboard (to include repeated operations and maintenance with) a C-123 aircraft known to have been used to spray an herbicide agent (during service in the Air Force and Air Force Reserves)." - }, - "otherLocationsServed": { - "type": "string", - "description": "Other location(s) where Veteran served." - }, - "serviceDates": { - "type": "object", - "description": "Date range for when the exposure happened.", - "properties": { - "startDate": { - "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "type": "string", - "description": "Approximate start date for serving in herbicide location.", - "example": "2018-06-04" - }, - "endDate": { - "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "type": "string", - "description": "Approximate end date for serving in herbicide location.", - "example": "2018-06-04" - } - } - } - } - }, - "additionalHazardExposures": { - "type": "object", - "description": "Additional hazardous exposures.", - "properties": { - "additionalExposures": { - "type": "array", - "description": "Additional exposure incidents.", - "enum": [ - "ASBESTOS", - "MUSTARD_GAS", - "RADIATION", - "SHAD", - "MILITARY_OCCUPATIONAL_SPECIALTY_RELATED", - "CONTAMINATED_WATER_AT_CAMP_LEJEUNE", - "OTHER" - ] - }, - "specifiyOtherExposures": { - "type": "string", - "description": "Other exposure incidents." - }, - "exposureDates": { - "type": "object", - "description": "Date range for when the exposure happened.", - "properties": { - "startDate": { - "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "type": "string", - "description": "Approximate start date for exposure.", - "example": "2018-06-04" - }, - "endDate": { - "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "type": "string", - "description": "Approximate end date for exposure.", - "example": "2018-06-04" - } - } - } - } - }, - "multipleExposures": { - "type": "object", - "description": "", - "properties": { - "exposureDates": { - "type": "object", - "description": "Date range for when the exposure happened.", - "properties": { - "startDate": { - "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "type": "string", - "description": "Approximate start date for exposure.", - "example": "2018-06-04" - }, - "endDate": { - "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "type": "string", - "description": "Approximate end date for exposure.", - "example": "2018-06-04" - } - } - }, - "exposureLocation": { - "type": "string", - "description": "" - }, - "hazardExposedTo": { - "type": "string", - "description": "" - } - } - - } - } - }, - "disabilities": { - "description": "Any current disabilities or symptoms the Veteran is claiming are related to their military service and/or are service-connected.", - "type": "array", - "minItems": 1, - "uniqueItems": true, - "items": { - "type": "object", - "additionalProperties": false, - "required": ["disabilityActionType", "name"], - "properties": { - "name": { - "description": "If classificationCode is included, the disability name is required to match the associated name value returned in the Benefits Reference Data /disabilities service.", - "type": "string", - "example": "PTSD (post traumatic stress disorder)" - }, - "classificationCode": { - "type": "string", - "description": "The contention classification code can be retrieved from the Benefits Refence Data API. This code aligns with the id returned by the /disabilities service. If classificationCode is included, the disability name is required to match the associated name value returned in the /disabilities service.", - "example": "249470" - }, - "serviceRelevance": { - "description": "Explanation of how the disability(ies) relates to the in-service event/exposure/injury.", - "type": "string", - "example": "Heavy equipment operator in service." - }, - "approximateDate": { - "description": "Approximate date disability began. Date must be in the past.", - "type": "string", - "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "example": "2018-03-02" - }, - "ratedDisabilityId": { - "description": "When submitting a contention with action type INCREASE, the previously rated disability id may be included.", - "type": "string", - "example": "1100583" - }, - "diagnosticCode": { - "description": "The diagnosticCode is required if disabilityActionType is NONE and there are secondary disabilities included with the primary. The diagnosticCode must match an existing rated disability if disabilityActionType is NONE and there are secondary disabilities included with the primary.", - "type": "integer", - "example": 9999 - }, - "disabilityActionType": { - "description": "The status of the current disability. \n If value is \"INCREASE\", then \"ratedDisabilityId\" and \"diagnosticCode\" are required.", - "type": "string", - "enum": [ - "NONE", - "NEW", - "SECONDARY", - "REOPEN", - "INCREASE" - ], - "example": "NEW" - }, - "secondaryDisabilities": { - "description": "Identifies the Secondary Service Disability information of the Veteran.", - "type": "array", - "minItems": 1, - "uniqueItems": true, - "items": { - "type": "object", - "additionalProperties": false, - "required": ["name", "disabilityActionType", "serviceRelevance"], - "properties": { - "name": { - "description": "What the Disability is called.", - "type": "string", - "example": "PTSD (post traumatic stress disorder)" - }, - "disabilityActionType": { - "description": "The status of the secondary disability.", - "type": "string", - "enum": ["SECONDARY"], - "example": "SECONDARY" - }, - "serviceRelevance": { - "description": "Explanation of how the disability(ies) relates to the in-service event/exposure/injury.", - "type": "string", - "example": "Heavy equipment operator in service." - }, - "classificationCode": { - "type": "string", - "example": "249470" - }, - "approximateDate": { - "description": "Approximate date disability began.", - "type": "string", - "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "example": "2018-03-02" - }, - "exposureOrEventOrInjury": { - "type": "array", - "description": "What caused the disability?", - "enum": [ - "exposure", - "event", - "injury" - ] - } - } - } - }, - "isRelatedToToxicExposure": { - "type": "boolean", - "description": "Is the disability related to toxic exposures? If so, include exposure information.", - "example": true - }, - "exposureOrEventOrInjury": { - "type": "string", - "description": "Type of exposure, event, or injury.", - "examples": ["Agent Orange", "radiation", "burn pits"] - } - }, - "allOf": [ - { - "if": { - "properties": { - "disabilityActionType": { - "enum": ["INCREASE"] - } - } - }, - "then": { - "required": ["ratedDisabilityId", "diagnosticCode"] - } - }, - { - "if": { - "properties": { - "disabilityActionType": { - "enum": ["NONE"] - } - }, - "required": ["secondaryDisabilities"] - }, - "then": { - "required": ["diagnosticCode"] - } - } - ] - } - }, - "treatments": { - "description": "Identifies the Service Treatment information of the Veteran.", - "type": "array", - "minItems": 1, - "uniqueItems": true, - "items": { - "type": "object", - "additionalProperties": false, - "required": [ - "treatedDisabilityNames", - "center" - ], - "properties": { - "startDate": { - "description": "Start date for treatment. If treatment began from 2005 to present, you do not need to provide dates.", - "type": ["null", "string"], - "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "example": "2018-03-02" - }, - "treatedDisabilityNames": { - "description": "Names of disability treated.", - "type": "array", - "minItems": 1, - "maxItems": 101, - "uniqueItems": true, - "items": { - "description": "Name of Disabilities Veteran was Treated for.", - "type": "string", - "example": "PTSD (post traumatic stress disorder)" - } - }, - "center": { - "description": "VA Medical Center(s) and Department of Defense Military Treatment Facilities where the Veteran received treatment after discharge for any claimed disabilities.", - "type": "object", - "additionalProperties": false, - "required": ["name", "state"], - "properties": { - "name": { - "description": "Name of facility Veteran was treated in.", - "type": "string", - "pattern": "([a-zA-Z0-9\"\\/&\\(\\)\\-'.,# ]([a-zA-Z0-9(\\)\\-'.,# ])?)+$", - "example": "Private Facility 2", - "minLength": 1, - "maxLength": 100 - }, - "city": { - "description": "City of treatment facility.", - "type": "string", - "pattern": "^([-a-zA-Z0-9'.#]([-a-zA-Z0-9'.# ])?)+$", - "example": "Portland" - }, - "state": { - "description": "State of treatment facility.", - "type": "string", - "pattern": "^[a-z,A-Z]{2}$", - "example": "OR" - } - } - } - } - } - }, - "serviceInformation": { - "description": "Overview of Veteran's service history.", - "type": "object", - "additionalProperties": false, - "required": ["servicePeriods"], - "properties": { - "servicePeriods": { - "description": "Identifies the Service dates and Branch the Veteran served in.", - "type": "array", - "minItems": 1, - "uniqueItems": true, - "items": { - "type": "object", - "required": [ - "serviceBranch", - "activeDutyBeginDate", - "activeDutyEndDate" - ], - "properties": { - "serviceBranch": { - "description": "Branch of Service during period.", - "type": "string", - "example": "Air Force", - "enum": [ - "Air Force", - "Air Force Academy", - "Air Force Reserves", - "Air Force Civilian", - "Air National Guard", - "Army", - "Army Air Corps", - "Army Air Corps or Army Air Force", - "Army National Guard", - "Army Nurse Corps", - "Army Reserves", - "Coast Guard", - "Coast Guard Academy", - "Coast Guard Reserves", - "Commonwealth Army Veteran", - "Guerrilla Combination Service", - "Marine", - "Marine Corps", - "Marine Corps Reserves", - "Merchant Marine", - "National Oceanic & Atmospheric Administration", - "National Oceanic and Atmospheric Administration", - "Naval Academy", - "Navy", - "Navy Reserves", - "Other", - "Public Health Service", - "Regular Philippine Scout", - "Regular Scout Service", - "Space Force", - "Special Philippine Scout", - "Unknown", - "US Military Academy", - "Woman Air Corps", - "Women's Army Corps" - ] - }, - "serviceComponent": { - "type": "array", - "description": "", - "enum": [ - "Active", - "Reserves", - "National Guard" - ] - }, - "activeDutyBeginDate": { - "description": "Date Started Active Duty.", - "type": "string", - "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "example": "1980-02-05" - }, - "activeDutyEndDate": { - "description": "Date Completed Active Duty. If in the future, 'separationLocationCode' is required.", - "type": "string", - "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "example": "1990-01-02" - }, - "separationLocationCode": { - "description": "Code for the facility the Veteran plans to separate from. Required if 'servicePeriod.activeDutyEndDate' is in the future. [Code values available here.](https://github.com/department-of-veterans-affairs/vets-api/blob/master/modules/claims_api/lib/claims_api/separation_location_code_values.json)", - "type": "string", - "example": "98283" - } - } - } - }, - "confinements": { - "type": "object", - "description": "", - "properties": { - "approximateBeginDate": { - "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "type": "string", - "example": "2018-06-04" - }, - "approximateEndDate": { - "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "type": "string", - "example": "2018-06-04" - } - } - }, - "reservesNationalGuardService": { - "type": "object", - "additionalProperties": false, - "required": [ - "obligationTermOfServiceFromDate", - "obligationTermOfServiceToDate", - "unitName" - ], - "properties": { - "component": { - "type": "array", - "description": "", - "enum": ["Active", "Reserves", "National Guard"] - }, - "title10Activation": { - "description": "Include if the Veteran is currently activated on federal orders within the National Guard or Reserves", - "type": "object", - "additionalProperties": false, - "required": [ - "anticipatedSeparationDate", - "title10ActivationDate" - ], - "properties": { - "anticipatedSeparationDate": { - "description": "Anticipated date of separation. Date must be in the future.", - "type": "string", - "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$" - }, - "title10ActivationDate": { - "description": "Date cannot be in the future and must be after the earliest servicePeriod.activeDutyBeginDate.", - "type": "string", - "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$" - } - } - }, - "obligationTermOfServiceFromDate": { - "type": "string", - "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$" - }, - "obligationTermOfServiceToDate": { - "type": "string", - "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$" - }, - "unitName": { - "type": "string", - "pattern": "([a-zA-Z0-9\\-'.,# ][a-zA-Z0-9\\-'.,# ]?)*$" - }, - "unitPhone": { - "type": "object", - "additionalProperties": false, - "required": ["areaCode", "phoneNumber"], - "properties": { - "areaCode": { - "type": "string", - "maxLength": 3 - }, - "phoneNumber": { - "type": "string", - "maxLength": 7 - } - } - }, - "receivingInactiveDutyTrainingPay": { - "type": "boolean" - } - } - }, - "alternateNames": { - "description": "List any other names under which the Veteran served, if applicable.", - "type": "array", - "minItems": 1, - "maxItems": 100, - "uniqueItems": true, - "items": { - "type": "object", - "additionalProperties": false, - "required": ["firstName", "lastName"], - "properties": { - "firstName": { - "type": "string", - "min": 1, - "max": 30, - "pattern": "^([-a-zA-Z0-9/']+( ?))+$" - }, - "middleName": { - "type": "string", - "min": 1, - "max": 30, - "pattern": "^([-a-zA-Z0-9/']+( ?))+$" - }, - "lastName": { - "type": "string", - "min": 1, - "max": 30, - "pattern": "^([-a-zA-Z0-9/']+( ?))+$" - } - } - } - }, - "servedInActiveCombatSince911": { - "type": "boolean", - "description": "Did Veteran serve in a combat zone since 9-11-2001?", - "example": true - } - } - }, - "servicePay": { - "description": "Details about Veteran receiving Service Pay from DoD.", - "type": "object", - "additionalProperties": false, - "properties": { - "favorTrainingPay": { - "description": "Is Veteran Waiving benefits to retain training pay.", - "type": "boolean", - "example": true - }, - "favorMilitaryRetiredPay": { - "description": "Is Veteran Waiving benefits to retain Retiree pay.", - "type": "boolean", - "example": true - }, - "receivingMilitaryRetiredPay": { - "description": "Is Veteran getting Retiree pay?", - "type": "boolean", - "example": true - }, - "futureMilitaryRetiredPay": { - "description": "Will Veteran get Retiree pay in future? \n If true, then \"futurePayExplanation\" attribute is required.", - "type": "boolean", - "default": false, - "example": false - }, - "futureMilitaryRetiredPayExplanation": { - "description": "Explains why future pay will be received.", - "type": "string", - "example": "Will be retiring soon." - }, - "militaryRetiredPay": { - "type": "object", - "description": "", - "properties": { - "branchOfService": { - "description": "Branch of Service making payments.", - "type": "string", - "enum": [ - "Air Force", - "Air Force Reserves", - "Air National Guard", - "Army", - "Army National Guard", - "Army Reserves", - "Coast Guard", - "Coast Guard Reserves", - "Marine Corps", - "Marine Corps Reserves", - "National Oceanic & Atmospheric Administration", - "National Oceanic & Atmospheric Administration", - "Navy", - "Navy Reserves", - "Public Health Service", - "Air Force Academy", - "Army Air Corps or Army Air Force", - "Army Nurse Corps", - "Coast Guard Academy", - "Merchant Marine", - "Naval Academy", - "Other", - "US Military Academy", - "Women's Army Corps", - "Space Force" - ], - "example": "Air Force" - }, - "monthlyAmount": { - "description": "Amount being received.", - "type": "number", - "minimum": 1, - "maximum": 999999, - "example": 100 - } - } - }, - "retiredStatus": { - "type": "array", - "description": "", - "enum": [ - "RETIRED", - "TEMPORARY_DISABILITY_RETIRED_LIST", - "PERMANENT_DISABILITY_RETIRED_LIST" - ] - }, - "receivedSeparationOrSeverancePay": { - "description": "Has separation pay been received?", - "type": "boolean", - "example": true, - "default": true - }, - "separationSeverancePay": { - "type": "object", - "description": "", - "properties": { - "datePaymentReceived": { - "description": "Approximate date separation pay was received.", - "type": "string", - "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "example": "2018-03-02" - }, - "branchOfService": { - "description": "Branch of Service making payments.", - "type": "string", - "enum": [ - "Air Force", - "Air Force Reserves", - "Air National Guard", - "Army", - "Army National Guard", - "Army Reserves", - "Coast Guard", - "Coast Guard Reserves", - "Marine Corps", - "Marine Corps Reserves", - "National Oceanic & Atmospheric Administration", - "National Oceanic & Atmospheric Administration", - "Navy", - "Navy Reserves", - "Public Health Service", - "Air Force Academy", - "Army Air Corps or Army Air Force", - "Army Nurse Corps", - "Coast Guard Academy", - "Merchant Marine", - "Naval Academy", - "Other", - "US Military Academy", - "Women's Army Corps", - "Space Force" - ], - "example": "Air Force" - }, - "preTaxAmountReceived": { - "description": "Amount being received.", - "type": "number", - "minimum": 1, - "maximum": 999999, - "example": 100 - } - } - } - } - }, - "directDeposit": { - "description": "Financial Direct Deposit information for Veteran.", - "type": "object", - "additionalProperties": false, - "required": ["accountType", "accountNumber", "routingNumber"], - "properties": { - "accountType": { - "description": "Veteran Account Type (value is case insensitive).", - "type": "string", - "enum": ["CHECKING", "SAVINGS"], - "example": "CHECKING" - }, - "accountNumber": { - "description": "Veteran Bank Account Number.", - "minLength": 4, - "maxLength": 17, - "type": "string", - "example": "123123123123" - }, - "routngNumber": { - "description": "Veteran Bank Routing Number.", - "type": "string", - "pattern": "^\\d{9}$", - "example": "123123123" - }, - "financialInstitutionName": { - "description": "Provide the name of the financial institution where the Veteran wants the direct deposit.", - "maxLength": 35, - "type": "string", - "example": "Some Bank" - }, - "noAccount": { - "type": "boolean", - "description": "Box 29 is checked if directDeposit is missing in the JSON request.", - "default": false - } - } - } - } -} \ No newline at end of file diff --git a/modules/claims_api/config/schemas/v2/request_bodies/disability_compensation/example.json b/modules/claims_api/config/schemas/v2/request_bodies/disability_compensation/example.json new file mode 100644 index 00000000000..f640a3bc010 --- /dev/null +++ b/modules/claims_api/config/schemas/v2/request_bodies/disability_compensation/example.json @@ -0,0 +1,195 @@ +{ + "claimantCertification": true, + "claimProcessType": "STANDARD_CLAIM_PROCESS", + "claimDate": "2020-12-18", + "veteranIdentification": { + "mailingAddress": { + "numberAndStreet": "1234 Couch Street", + "apartmentOrUnitNumber": "Apt. 22", + "city": "Portland", + "country": "USA", + "zipFirstFive": "12345", + "zipLastFour": "6789", + "state": "OR" + }, + "currentlyVAEmployee": false, + "serviceNumber": "123456789", + "emailAddress": { + "email": "claimant@example.com", + "agreeToEmailRelatedToClaim": true + }, + "veteranNumber": { + "telephone": "555-5555", + "internationalTelephone": "555-5555" + }, + "vaFileNumber": "12345678" + }, + "changeOfAddress": { + "country": "USA", + "type": "INTERNATIONAL", + "addressLine1": "1234 Couch Street", + "dates": { + "beginningDate": "2018-11-31", + "endingDate": "2019-07-11" + }, + "typeOfAddressChange": "Permanent", + "numberAndStreet": "1234 Couch Street", + "apartmentOrUnitNumber": "Apt. 22", + "city": "Portland", + "zipFirstFive": "12345", + "zipLastFour": "1234", + "state": "OR" + }, + "homeless": { + "pointOfContact": "Jane Doe", + "pointOfContactNumber": "123-456-7890", + "currentlyHomeless": { + "homelessSituationOptions": "FLEEING_CURRENT_RESIDENCE", + "otherDescription": "" + }, + "riskOfBecomingHomeless": { + "livingSituationOptions": "other living situation", + "otherDescription": "" + } + }, + "toxicExposure": { + "gulfWarHazard": { + "servedInGulfWarHazardLocations": true, + "serviceDates": { + "startDate": "1999-07-21", + "endDate": "2005-01-21" + } + }, + "herbicideHazardService": { + "servedInHerbicideHazardLocations": true, + "otherLocationsServed": "Guam", + "serviceDates": { + "startDate": "2002-03-07", + "endDate": "2004-10-31" + } + }, + "additionalHazardExposures": { + "additionalExposures": "ASBESTOS", + "specifiyOtherExposures": "", + "exposureDates": { + "startDate": "2011-07-30", + "endDate": "2013-10-03" + } + }, + "multipleExposures": { + "exposureDates": { + "startDate": "2012-12-09", + "endDate": "2013-07-27" + }, + "exposureLocation": "Guam", + "hazardExposedTo": "RADIATION" + } + }, + "disabilities": [ + { + "disabilityActionType": "REOPEN", + "name": "PTSD (post traumatic stress disorder)", + "classificationCode": "249470", + "serviceRelevance": "Heavy equipment operator in service.", + "approximateDate": "2019-11-04", + "ratedDisabilityId": "1100583", + "diagnosticCode": 9999, + "secondaryDisabilities": [ + { + "name": "PTSD personal trauma", + "disabilityActionType": "SECONDARY", + "serviceRelevance": "Caused by a service-connected disability\\nLengthy description", + "classificationCode": "249470", + "approximateDate": "2018-01-03", + "exposureOrEventOrInjury": "" + } + ], + "isRelatedToToxicExposure": true, + "exposureOrEventOrInjury": "" + } + ], + "treatments": [ + { + + "center": { + "name": "Private Facility 2", + "state": "CO", + "city": "Pueblo" + }, + "startDate": "2014-03-07", + "treatedDisabilityNames": "PTSD (post traumatic stress disorder)" + }, + { + "center": { + "name": "Private Facility 3", + "state": "WA", + "city": "Seattle" + }, + "startDate": null, + "treatedDisabilityNames": "PTSD (post traumatic stress disorder)" + } + ], + "serviceInformation": { + "servicePeriods": [ + { + "serviceBranch": "Public Health Service", + "activeDutyBeginDate": "2015-11-14", + "activeDutyEndDate": "2018-11-30", + "serviceComponent": "Active", + "separationLocationCode": "V01D" + } + ], + "confinements": { + "approximateBeginDate": "2016-11-06", + "approximateEndDate": "2016-11-09" + }, + "reservesNationalGuardService": { + "obligationTermOfServiceFromDate": "2016-11-24", + "obligationTermOfServiceToDate": "2017-11-17", + "unitName": "DonkeyPants", + "component": "National Guard", + "title10Activation": { + "anticipatedSeparationDate": "2017-10-03", + "title10ActivationDate": "2018-02-11" + }, + "unitPhone": { + "areaCode": "123", + "phoneNumber": "456-7890" + }, + "receivingInactiveDutyTrainingPay": true + }, + "alternateNames": [ + { + "firstName": "John", + "lastName": "Jacob", + "middleName": "Jingleheimer-Schmidt" + } + ], + "servedInActiveCombatSince911": false + }, + "servicePay": { + "favorTrainingPay": true, + "favorMilitaryRetiredPay": false, + "receivingMilitaryRetiredPay": false, + "futureMilitaryRetiredPay": true, + "futureMilitaryRetiredPayExplanation": "", + "militaryRetiredPay": { + "branchOfService": "Army", + "monthlyAmount": 840.75 + }, + "retiredStatus": [], + "receivedSeparationOrSeverancePay": false, + "separationSeverancePay": { + "datePaymentReceived": "2018-07-31", + "branchOfService": "Naval Academy", + "preTaxAmountReceived": 379.25 + } + }, + "directDeposit": { + "accountType": "CHECKING", + "accountNumber": "123456789", + "routingNumber": "123456789", + "financialInstituteName": "Chase", + "noAccount": false + } +} \ No newline at end of file diff --git a/modules/claims_api/config/schemas/v2/request_bodies/disability_compensation/request.json b/modules/claims_api/config/schemas/v2/request_bodies/disability_compensation/request.json new file mode 100644 index 00000000000..c9daeb8cc95 --- /dev/null +++ b/modules/claims_api/config/schemas/v2/request_bodies/disability_compensation/request.json @@ -0,0 +1,1082 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "description": "Claims API 526 Schema", + "type": "object", + "additionalProperties": false, + "required": [ + "veteranIdentification", + "serviceInformation", + "disabilities", + "claimantCertification", + "claimProcessType" + ], + "properties": { + "claimDate": { + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string", + "example": "2018-06-04" + }, + "claimProcessType": { + "type": "string", + "description": "Type of claim process.", + "enum": [ + "STANDARD_CLAIM_PROCESS", + "FDC_PROGRAM", + "BDD_PROGRAM_CLAIM", + "TBD" + ] + }, + "claimantCertification": { + "type": "boolean", + "description": "Claimant certifies and authorizes release of information.", + "default": false + }, + "veteranIdentification": { + "description": "Veteran Object being submitted in Claim", + "type": "object", + "additionalProperties": false, + "required": ["mailingAddress", "currentlyVAEmployee"], + "properties": { + "currentlyVaEmployee": { + "type": "boolean", + "description": "Flag if Veteran is VA Employee.", + "example": false + }, + "serviceNumber": { + "type": "string", + "description": "Service identification number", + "maxLength": 9 + }, + "emailAddress": { + "description": "Information associated with the Veteran's email address.", + "type": "object", + "properties": { + "email": { + "type": "string", + "description": "The most current email address of the Veteran.", + "maxLength": 50 + }, + "agreeToEmailRelatedToClaim": { + "type": "boolean", + "description": "Agreement to email information relating to this claim.", + "example": true + } + } + }, + "veteranNumber": { + "description": "", + "type": "object", + "properties": { + "telephone": { + "type": "string", + "description": "Veteran's phone number.", + "maxLength": 10 + }, + "internationalTelephone": { + "type": "string", + "description": "Veteran's international phone number.", + "maxLength": 10 + } + } + }, + "vaFileNumber": { + "type": "string", + "description": "The file number associated with the Veteran and Veteran's Affairs.", + "maxLength": 9 + }, + "mailingAddress": { + "description": "Current Mailing Address Object being submitted.", + "type": "object", + "additionalProperties": false, + "properties": { + "numberAndStreet": { + "description": "Address Veteran resides in.", + "type": "string", + "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", + "maxLength": 30, + "example": "1234 Couch Street" + }, + "apartmentOrUnitNumber": { + "description": "Apartment or unit number for the address where the Veteran resides.", + "type": "string", + "maxLength": 5, + "example": "22" + }, + "city": { + "description": "City Veteran resides in.", + "type": "string", + "pattern": "^([-a-zA-Z0-9'.#]([-a-zA-Z0-9'.# ])?)+$", + "example": "Portland" + }, + "country": { + "description": "Country Veteran resides in. Value must match the values returned by the \"/countries\" endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", + "type": "string", + "example": "USA" + }, + "zipFirstFive": { + "description": "Zipcode (First 5 digits) Veteran resides in.", + "type": "string", + "pattern": "^\\d{5}?$", + "example": "12345" + }, + "zipLastFour": { + "description": "Zipcode (Last 4 digits) Veteran resides in.", + "type": "string", + "pattern": "^\\d{4}?$", + "example": "6789" + }, + "state": { + "description": "State Veteran resides in.", + "type": "string", + "pattern": "^[a-z,A-Z]{2}$", + "example": "OR" + } + }, + "allOf": [ + { + "if": { + "properties": { + "type": { + "const": "DOMESTIC" + } + } + }, + "then": { + "required": [ + "numberAndStreet", + "city", + "country", + "zipFirstFive", + "state" + ] + } + } + ] + } + } + }, + "changeOfAddress": { + "description": "A Change of Address Object being submitted.", + "type": "object", + "additionalProperties": false, + "required": ["country", "type", "addressLine1", "addressChangeType", "beginningDate"], + "properties": { + "dates": { + "type": "object", + "description": "Important dates for the change of address action.", + "properties": { + "beginningDate": { + "description": "Date in YYYY-MM-DD the Veteran changed address. Date must be in the future if change is temporary.", + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string", + "example": "2018-06-04" + }, + "endingDate": { + "description": "Date in YYYY-MM-DD the changed address expires, if change is temporary.", + "type": "string", + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "example": "2018-06-04" + } + } + }, + "typeOfAddressChange": { + "description": "Temporary or Permanent change of address.", + "type": "array", + "enum": [ + "TEMPORARY", + "PERMANENT" + ], + "example": "PERMANENT" + }, + "numberAndStreet": { + "description": "New Address Veteran resides in.", + "type": "string", + "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", + "maxLength": 30, + "example": "1234 Couch Street" + }, + "apartmentOrUnitNumber": { + "description": "New Additional Address Information Veteran resides in.", + "type": "string", + "maxLength": 5, + "example": "22" + }, + "city": { + "description": "New city Veteran resides in.", + "type": "string", + "pattern": "^([-a-zA-Z0-9'.#]([-a-zA-Z0-9'.# ])?)+$", + "example": "Portland" + }, + "country": { + "description": "New country Veteran resides in. Value must match the values returned by the \"/countries\" endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", + "type": "string", + "example": "USA" + }, + "zipFirstFive": { + "description": "New zipcode (First 5 digits) Veteran resides in.", + "type": "string", + "pattern": "^\\d{5}?$", + "example": "12345" + }, + "zipLastFour": { + "description": "New zipcode (Last 4 digits) Veteran resides in.", + "type": "string", + "pattern": "^\\d{4}?$", + "example": "6789" + }, + "state": { + "description": "New state Veteran resides in.", + "type": "string", + "pattern": "^[a-z,A-Z]{2}$", + "example": "OR" + } + }, + "allOf": [ + { + "if": { + "properties": { + "type": { + "const": "DOMESTIC" + } + } + }, + "then": { + "required": [ + "city", + "zipFirstFive", + "state" + ] + } + }, + { + "if": { + "properties": { + "type": { + "const": "MILITARY" + } + } + }, + "then": { + "required": [ + "zipFirstFive" + ] + } + } + ] + }, + "homeless": { + "description": "Object describing Veteran Homelessness if applicable.", + "type": "object", + "additionalProperties": false, + "properties": { + "pointOfContact": { + "description": "Point of contact in direct contact with Veteran.", + "type": "string", + "minLength": 1, + "maxLength": 100, + "pattern": "^([-a-zA-Z0-9/']+( ?))*$", + "example": "Jane Doe" + }, + "pointOfContactNumber": { + "telephone": { + "description": "Primary phone of Point of Contact.", + "type": "string", + "example": "1231234", + "maxLength": 10 + }, + "internationalTelephone": { + "description": "international phone of Point of Contact.", + "type": "string", + "example": "1231234", + "maxLength": 10 + } + }, + "currentlyHomeless": { + "type": "object", + "additionalProperties": false, + "required": ["homelessSituationOptions", "otherDescription"], + "properties": { + "homelessSituationOptions": { + "description": "Current state of the veteran's homelessness.", + "type": "string", + "default": "other", + "enum": [ + "LIVING_IN_A_HOMELESS_SHELTER", + "NOT_CURRENTLY_IN_A_SHELTERED_ENVIRONMENT", + "STAYING_WITH_ANOTHER_PERSON", + "FLEEING_CURRENT_RESIDENCE", + "OTHER" + ], + "example": "FLEEING_CURRENT_RESIDENCE" + }, + "otherDescription": { + "description": "For a 'homelessSituationOptions' of value 'other', please provide additional comments on the living situation.", + "type": "string", + "maxLength": 500, + "example": "other living situation" + } + } + }, + "riskOfBecomingHomeless": { + "type": "object", + "additionalProperties": false, + "required": [ + "livingSituationOptions", + "otherDescription" + ], + "properties": { + "livingSituationOptions": { + "type": "string", + "default": "other", + "enum": ["losingHousing", "leavingShelter", "other"] + }, + "otherDescription": { + "description": "For a 'livingSituationOptions' of value 'other', please provide additional comments on the living situation.", + "type": "string", + "maxLength": 500, + "example": "other living situation" + } + } + } + } + }, + "toxicExposure": { + "type": "object", + "description": "Toxic exposures incidents and details.", + "properties": { + "gulfWarHazard": { + "type": "object", + "description": "Toxic exposure related to the Gulf war.", + "properties": { + "servedInGulfWarHazardLocations": { + "type": "boolean", + "description": "Did the Veteran serve in any of the following Gulf War hazard locations?", + "example": true + }, + "serviceDates": { + "type": "object", + "description": "Date range for when the exposure happened.", + "properties": { + "startDate": { + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string", + "description": "Approximate start date for serving in Gulf War hazard location.", + "example": "2018-06-04" + }, + "endDate": { + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string", + "description": "Approximate end date for serving in Gulf War hazard location.", + "example": "2018-06-04" + } + } + } + } + }, + "herbicideHazardService": { + "type": "object", + "description": "Toxic exposure related to herbicide hazards.", + "properties": { + "servedInHerbicideHazardLocations": { + "type": "boolean", + "description": "Did the Veteran serve in any of the following Herbicide (e.g., Agent Orange) locations? These locations include: Republic of Vietnam to include the 12 nautical mile territorial waters; Thailand at any United States or Royal Thai base; Laos; Cambodia at Mimot or Krek; Kampong Cham Province; Guam or American Samoa; or in the territorial waters thereof; Johnston Atoll or a ship that called at Johnston Atoll; Korean demilitarized zone; aboard (to include repeated operations and maintenance with) a C-123 aircraft known to have been used to spray an herbicide agent (during service in the Air Force and Air Force Reserves)." + }, + "otherLocationsServed": { + "type": "string", + "description": "Other location(s) where Veteran served." + }, + "serviceDates": { + "type": "object", + "description": "Date range for when the exposure happened.", + "properties": { + "startDate": { + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string", + "description": "Approximate start date for serving in herbicide location.", + "example": "2018-06-04" + }, + "endDate": { + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string", + "description": "Approximate end date for serving in herbicide location.", + "example": "2018-06-04" + } + } + } + } + }, + "additionalHazardExposures": { + "type": "object", + "description": "Additional hazardous exposures.", + "properties": { + "additionalExposures": { + "type": "array", + "description": "Additional exposure incidents.", + "enum": [ + "ASBESTOS", + "MUSTARD_GAS", + "RADIATION", + "SHAD", + "MILITARY_OCCUPATIONAL_SPECIALTY_RELATED", + "CONTAMINATED_WATER_AT_CAMP_LEJEUNE", + "OTHER" + ] + }, + "specifiyOtherExposures": { + "type": "string", + "description": "Other exposure incidents." + }, + "exposureDates": { + "type": "object", + "description": "Date range for when the exposure happened.", + "properties": { + "startDate": { + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string", + "description": "Approximate start date for exposure.", + "example": "2018-06-04" + }, + "endDate": { + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string", + "description": "Approximate end date for exposure.", + "example": "2018-06-04" + } + } + } + } + }, + "multipleExposures": { + "type": "object", + "description": "", + "properties": { + "exposureDates": { + "type": "object", + "description": "Date range for when the exposure happened.", + "properties": { + "startDate": { + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string", + "description": "Approximate start date for exposure.", + "example": "2018-06-04" + }, + "endDate": { + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string", + "description": "Approximate end date for exposure.", + "example": "2018-06-04" + } + } + }, + "exposureLocation": { + "type": "string", + "description": "" + }, + "hazardExposedTo": { + "type": "string", + "description": "" + } + } + + } + } + }, + "disabilities": { + "description": "Any current disabilities or symptoms the Veteran is claiming are related to their military service and/or are service-connected.", + "type": "array", + "minItems": 1, + "uniqueItems": true, + "items": { + "type": "object", + "additionalProperties": false, + "required": ["disabilityActionType", "name"], + "properties": { + "name": { + "description": "If classificationCode is included, the disability name is required to match the associated name value returned in the Benefits Reference Data /disabilities service.", + "type": "string", + "example": "PTSD (post traumatic stress disorder)" + }, + "classificationCode": { + "type": "string", + "description": "The contention classification code can be retrieved from the Benefits Refence Data API. This code aligns with the id returned by the /disabilities service. If classificationCode is included, the disability name is required to match the associated name value returned in the /disabilities service.", + "example": "249470" + }, + "serviceRelevance": { + "description": "Explanation of how the disability(ies) relates to the in-service event/exposure/injury.", + "type": "string", + "example": "Heavy equipment operator in service." + }, + "approximateDate": { + "description": "Approximate date disability began. Date must be in the past.", + "type": "string", + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "example": "2018-03-02" + }, + "ratedDisabilityId": { + "description": "When submitting a contention with action type INCREASE, the previously rated disability id may be included.", + "type": "string", + "example": "1100583" + }, + "diagnosticCode": { + "description": "The diagnosticCode is required if disabilityActionType is NONE and there are secondary disabilities included with the primary. The diagnosticCode must match an existing rated disability if disabilityActionType is NONE and there are secondary disabilities included with the primary.", + "type": "integer", + "example": 9999 + }, + "disabilityActionType": { + "description": "The status of the current disability. \n If value is \"INCREASE\", then \"ratedDisabilityId\" and \"diagnosticCode\" are required.", + "type": "string", + "enum": [ + "NONE", + "NEW", + "SECONDARY", + "REOPEN", + "INCREASE" + ], + "example": "NEW" + }, + "secondaryDisabilities": { + "description": "Identifies the Secondary Service Disability information of the Veteran.", + "type": "array", + "minItems": 1, + "uniqueItems": true, + "items": { + "type": "object", + "additionalProperties": false, + "required": ["name", "disabilityActionType", "serviceRelevance"], + "properties": { + "name": { + "description": "What the Disability is called.", + "type": "string", + "example": "PTSD (post traumatic stress disorder)" + }, + "disabilityActionType": { + "description": "The status of the secondary disability.", + "type": "string", + "enum": ["SECONDARY"], + "example": "SECONDARY" + }, + "serviceRelevance": { + "description": "Explanation of how the disability(ies) relates to the in-service event/exposure/injury.", + "type": "string", + "example": "Heavy equipment operator in service." + }, + "classificationCode": { + "type": "string", + "example": "249470" + }, + "approximateDate": { + "description": "Approximate date disability began.", + "type": "string", + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "example": "2018-03-02" + }, + "exposureOrEventOrInjury": { + "type": "array", + "description": "What caused the disability?", + "enum": [ + "exposure", + "event", + "injury" + ] + } + } + } + }, + "isRelatedToToxicExposure": { + "type": "boolean", + "description": "Is the disability related to toxic exposures? If so, include exposure information.", + "example": true + }, + "exposureOrEventOrInjury": { + "type": "string", + "description": "Type of exposure, event, or injury.", + "examples": ["Agent Orange", "radiation", "burn pits"] + } + }, + "allOf": [ + { + "if": { + "properties": { + "disabilityActionType": { + "enum": ["INCREASE"] + } + } + }, + "then": { + "required": ["ratedDisabilityId", "diagnosticCode"] + } + }, + { + "if": { + "properties": { + "disabilityActionType": { + "enum": ["NONE"] + } + }, + "required": ["secondaryDisabilities"] + }, + "then": { + "required": ["diagnosticCode"] + } + } + ] + } + }, + "treatments": { + "description": "Identifies the Service Treatment information of the Veteran.", + "type": "array", + "minItems": 1, + "uniqueItems": true, + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "treatedDisabilityNames", + "center" + ], + "properties": { + "startDate": { + "description": "Start date for treatment. If treatment began from 2005 to present, you do not need to provide dates.", + "type": ["null", "string"], + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "example": "2018-03-02" + }, + "treatedDisabilityNames": { + "description": "Names of disability treated.", + "type": "array", + "minItems": 1, + "maxItems": 101, + "uniqueItems": true, + "items": { + "description": "Name of Disabilities Veteran was Treated for.", + "type": "string", + "example": "PTSD (post traumatic stress disorder)" + } + }, + "center": { + "description": "VA Medical Center(s) and Department of Defense Military Treatment Facilities where the Veteran received treatment after discharge for any claimed disabilities.", + "type": "object", + "additionalProperties": false, + "required": ["name", "state"], + "properties": { + "name": { + "description": "Name of facility Veteran was treated in.", + "type": "string", + "pattern": "([a-zA-Z0-9\"\\/&\\(\\)\\-'.,# ]([a-zA-Z0-9(\\)\\-'.,# ])?)+$", + "example": "Private Facility 2", + "minLength": 1, + "maxLength": 100 + }, + "city": { + "description": "City of treatment facility.", + "type": "string", + "pattern": "^([-a-zA-Z0-9'.#]([-a-zA-Z0-9'.# ])?)+$", + "example": "Portland" + }, + "state": { + "description": "State of treatment facility.", + "type": "string", + "pattern": "^[a-z,A-Z]{2}$", + "example": "OR" + } + } + } + } + } + }, + "serviceInformation": { + "description": "Overview of Veteran's service history.", + "type": "object", + "additionalProperties": false, + "required": ["servicePeriods"], + "properties": { + "servicePeriods": { + "description": "Identifies the Service dates and Branch the Veteran served in.", + "type": "array", + "minItems": 1, + "uniqueItems": true, + "items": { + "type": "object", + "required": [ + "serviceBranch", + "activeDutyBeginDate", + "activeDutyEndDate" + ], + "properties": { + "serviceBranch": { + "description": "Branch of Service during period.", + "type": "string", + "example": "Air Force", + "enum": [ + "Air Force", + "Air Force Academy", + "Air Force Reserves", + "Air Force Civilian", + "Air National Guard", + "Army", + "Army Air Corps", + "Army Air Corps or Army Air Force", + "Army National Guard", + "Army Nurse Corps", + "Army Reserves", + "Coast Guard", + "Coast Guard Academy", + "Coast Guard Reserves", + "Commonwealth Army Veteran", + "Guerrilla Combination Service", + "Marine", + "Marine Corps", + "Marine Corps Reserves", + "Merchant Marine", + "National Oceanic & Atmospheric Administration", + "National Oceanic and Atmospheric Administration", + "Naval Academy", + "Navy", + "Navy Reserves", + "Other", + "Public Health Service", + "Regular Philippine Scout", + "Regular Scout Service", + "Space Force", + "Special Philippine Scout", + "Unknown", + "US Military Academy", + "Woman Air Corps", + "Women's Army Corps" + ] + }, + "serviceComponent": { + "type": "array", + "description": "", + "enum": [ + "Active", + "Reserves", + "National Guard" + ] + }, + "activeDutyBeginDate": { + "description": "Date Started Active Duty.", + "type": "string", + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "example": "1980-02-05" + }, + "activeDutyEndDate": { + "description": "Date Completed Active Duty. If in the future, 'separationLocationCode' is required.", + "type": "string", + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "example": "1990-01-02" + }, + "separationLocationCode": { + "description": "Code for the facility the Veteran plans to separate from. Required if 'servicePeriod.activeDutyEndDate' is in the future. [Code values available here.](https://github.com/department-of-veterans-affairs/vets-api/blob/master/modules/claims_api/lib/claims_api/separation_location_code_values.json)", + "type": "string", + "example": "98283" + } + } + } + }, + "confinements": { + "type": "object", + "description": "", + "properties": { + "approximateBeginDate": { + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string", + "example": "2018-06-04" + }, + "approximateEndDate": { + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string", + "example": "2018-06-04" + } + } + }, + "reservesNationalGuardService": { + "type": "object", + "additionalProperties": false, + "required": [ + "obligationTermOfServiceFromDate", + "obligationTermOfServiceToDate", + "unitName" + ], + "properties": { + "component": { + "type": "array", + "description": "", + "enum": ["Active", "Reserves", "National Guard"] + }, + "title10Activation": { + "description": "Include if the Veteran is currently activated on federal orders within the National Guard or Reserves", + "type": "object", + "additionalProperties": false, + "required": [ + "anticipatedSeparationDate", + "title10ActivationDate" + ], + "properties": { + "anticipatedSeparationDate": { + "description": "Anticipated date of separation. Date must be in the future.", + "type": "string", + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$" + }, + "title10ActivationDate": { + "description": "Date cannot be in the future and must be after the earliest servicePeriod.activeDutyBeginDate.", + "type": "string", + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$" + } + } + }, + "obligationTermOfServiceFromDate": { + "type": "string", + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$" + }, + "obligationTermOfServiceToDate": { + "type": "string", + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$" + }, + "unitName": { + "type": "string", + "pattern": "([a-zA-Z0-9\\-'.,# ][a-zA-Z0-9\\-'.,# ]?)*$" + }, + "unitPhone": { + "type": "object", + "additionalProperties": false, + "required": ["areaCode", "phoneNumber"], + "properties": { + "areaCode": { + "type": "string", + "maxLength": 3 + }, + "phoneNumber": { + "type": "string", + "maxLength": 7 + } + } + }, + "receivingInactiveDutyTrainingPay": { + "type": "boolean" + } + } + }, + "alternateNames": { + "description": "List any other names under which the Veteran served, if applicable.", + "type": "array", + "minItems": 1, + "maxItems": 100, + "uniqueItems": true, + "items": { + "type": "object", + "additionalProperties": false, + "required": ["firstName", "lastName"], + "properties": { + "firstName": { + "type": "string", + "min": 1, + "max": 30, + "pattern": "^([-a-zA-Z0-9/']+( ?))+$" + }, + "middleName": { + "type": "string", + "min": 1, + "max": 30, + "pattern": "^([-a-zA-Z0-9/']+( ?))+$" + }, + "lastName": { + "type": "string", + "min": 1, + "max": 30, + "pattern": "^([-a-zA-Z0-9/']+( ?))+$" + } + } + } + }, + "servedInActiveCombatSince911": { + "type": "boolean", + "description": "Did Veteran serve in a combat zone since 9-11-2001?", + "example": true + } + } + }, + "servicePay": { + "description": "Details about Veteran receiving Service Pay from DoD.", + "type": "object", + "additionalProperties": false, + "properties": { + "favorTrainingPay": { + "description": "Is Veteran Waiving benefits to retain training pay.", + "type": "boolean", + "example": true + }, + "favorMilitaryRetiredPay": { + "description": "Is Veteran Waiving benefits to retain Retiree pay.", + "type": "boolean", + "example": true + }, + "receivingMilitaryRetiredPay": { + "description": "Is Veteran getting Retiree pay?", + "type": "boolean", + "example": true + }, + "futureMilitaryRetiredPay": { + "description": "Will Veteran get Retiree pay in future? \n If true, then \"futurePayExplanation\" attribute is required.", + "type": "boolean", + "default": false, + "example": false + }, + "futureMilitaryRetiredPayExplanation": { + "description": "Explains why future pay will be received.", + "type": "string", + "example": "Will be retiring soon." + }, + "militaryRetiredPay": { + "type": "object", + "description": "", + "properties": { + "branchOfService": { + "description": "Branch of Service making payments.", + "type": "string", + "enum": [ + "Air Force", + "Air Force Reserves", + "Air National Guard", + "Army", + "Army National Guard", + "Army Reserves", + "Coast Guard", + "Coast Guard Reserves", + "Marine Corps", + "Marine Corps Reserves", + "National Oceanic & Atmospheric Administration", + "National Oceanic & Atmospheric Administration", + "Navy", + "Navy Reserves", + "Public Health Service", + "Air Force Academy", + "Army Air Corps or Army Air Force", + "Army Nurse Corps", + "Coast Guard Academy", + "Merchant Marine", + "Naval Academy", + "Other", + "US Military Academy", + "Women's Army Corps", + "Space Force" + ], + "example": "Air Force" + }, + "monthlyAmount": { + "description": "Amount being received.", + "type": "number", + "minimum": 1, + "maximum": 999999, + "example": 100 + } + } + }, + "retiredStatus": { + "type": "array", + "description": "", + "enum": [ + "RETIRED", + "TEMPORARY_DISABILITY_RETIRED_LIST", + "PERMANENT_DISABILITY_RETIRED_LIST" + ] + }, + "receivedSeparationOrSeverancePay": { + "description": "Has separation pay been received?", + "type": "boolean", + "example": true, + "default": true + }, + "separationSeverancePay": { + "type": "object", + "description": "", + "properties": { + "datePaymentReceived": { + "description": "Approximate date separation pay was received.", + "type": "string", + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "example": "2018-03-02" + }, + "branchOfService": { + "description": "Branch of Service making payments.", + "type": "string", + "enum": [ + "Air Force", + "Air Force Reserves", + "Air National Guard", + "Army", + "Army National Guard", + "Army Reserves", + "Coast Guard", + "Coast Guard Reserves", + "Marine Corps", + "Marine Corps Reserves", + "National Oceanic & Atmospheric Administration", + "National Oceanic & Atmospheric Administration", + "Navy", + "Navy Reserves", + "Public Health Service", + "Air Force Academy", + "Army Air Corps or Army Air Force", + "Army Nurse Corps", + "Coast Guard Academy", + "Merchant Marine", + "Naval Academy", + "Other", + "US Military Academy", + "Women's Army Corps", + "Space Force" + ], + "example": "Air Force" + }, + "preTaxAmountReceived": { + "description": "Amount being received.", + "type": "number", + "minimum": 1, + "maximum": 999999, + "example": 100 + } + } + } + } + }, + "directDeposit": { + "description": "Financial Direct Deposit information for Veteran.", + "type": "object", + "additionalProperties": false, + "required": ["accountType", "accountNumber", "routingNumber"], + "properties": { + "accountType": { + "description": "Veteran Account Type (value is case insensitive).", + "type": "string", + "enum": ["CHECKING", "SAVINGS"], + "example": "CHECKING" + }, + "accountNumber": { + "description": "Veteran Bank Account Number.", + "minLength": 4, + "maxLength": 17, + "type": "string", + "example": "123123123123" + }, + "routngNumber": { + "description": "Veteran Bank Routing Number.", + "type": "string", + "pattern": "^\\d{9}$", + "example": "123123123" + }, + "financialInstitutionName": { + "description": "Provide the name of the financial institution where the Veteran wants the direct deposit.", + "maxLength": 35, + "type": "string", + "example": "Some Bank" + }, + "noAccount": { + "type": "boolean", + "description": "Box 29 is checked if directDeposit is missing in the JSON request.", + "default": false + } + } + } + } +} \ No newline at end of file diff --git a/modules/claims_api/spec/fixtures/v2/veterans/disability_compensation/form_526_json_api.json b/modules/claims_api/spec/fixtures/v2/veterans/disability_compensation/form_526_json_api.json new file mode 100644 index 00000000000..341ec164710 --- /dev/null +++ b/modules/claims_api/spec/fixtures/v2/veterans/disability_compensation/form_526_json_api.json @@ -0,0 +1,208 @@ +{ + "data": { + "type": "form/526", + "attributes": { + "veteranIdentification": { + "mailingAddress": { + "numberAndStreet": ",a#'", + "apartmentOrUnitNumber": "ABCD", + "city": "#j2'w", + "country": "ABCDEFGHIJKLMNOPQRSTUVW", + "zipFirstFive": "41726", + "zipLastFour": "", + "state": "z," + }, + "currentlyVAEmployee": false, + "serviceNumber": "ABCDEFGH", + "emailAddress": { + "email": "ABCDEFGHIJKLMNOPQRSTU", + "agreeToEmailRelatedToClaim": true + }, + "veteranNumber": { + "telephone": "ABCDE", + "internationalTelephone": "ABCD" + }, + "vaFileNumber": "ABCDEF" + }, + "serviceInformation": { + "servicePeriods": [ + { + "serviceBranch": "Public Health Service", + "activeDutyBeginDate": "0815-11-14", + "activeDutyEndDate": "2343-11-30", + "serviceComponent": [], + "separationLocationCode": "ABCDEFGHIJKLMN" + } + ], + "confinements": { + "approximateBeginDate": "8349-11-06", + "approximateEndDate": "2884-12-09" + }, + "reservesNationalGuardService": { + "obligationTermOfServiceFromDate": "3995-11-24", + "obligationTermOfServiceToDate": "8502-11-17", + "unitName": "''c'5'l'#l#2z", + "component": [], + "title10Activation": { + "anticipatedSeparationDate": "6705-10-03", + "title10ActivationDate": "3619-02-11" + }, + "unitPhone": { + "areaCode": "ABCDEFGHIJKLMNOPQRS", + "phoneNumber": "ABCDEFGHIJK" + }, + "receivingInactiveDutyTrainingPay": true + }, + "alternateNames": [ + { + "firstName": "W-' 8o- ", + "lastName": "w", + "middleName": "5/-9'hi-2'ab'" + } + ], + "servedInActiveCombatSince911": false + }, + "disabilities": [ + { + "disabilityActionType": "REOPEN", + "name": "ABCDEFGHIJKLMNOPQ", + "classificationCode": "ABCDEFGHIJ", + "serviceRelevance": "ABCDEFG", + "approximateDate": "4592-11-04", + "ratedDisabilityId": "ABCDEFGHIJKLMNOPQRSTUVWX", + "diagnosticCode": 0, + "secondaryDisabilities": [ + { + "name": "ABCDEF", + "disabilityActionType": "SECONDARY", + "serviceRelevance": "ABCDEFGHIJKLMNOPQ", + "classificationCode": "ABCDEFGHIJKLMNO", + "approximateDate": "9904-01-03", + "exposureOrEventOrInjury": [] + } + ], + "isRelatedToToxicExposure": true, + "exposureOrEventOrInjury": "ABCDEFGHIJKLMNOPQRST" + } + ], + "claimantCertification": true, + "claimProcessType": "STANDARD_CLAIM_PROCESS", + "claimDate": "7973-12-18", + "changeOfAddress": { + "country": "ABCDEFGHIJKLMNOPQ", + "type": "ABCDEFGHIJKLMNOPQRSTUVWXYZ", + "addressLine1": "ABCDEFGHI", + "addressChangeType": 0, + "beginningDate": {}, + "dates": { + "beginningDate": "7455-11-31", + "endingDate": "9963-10-11" + }, + "typeOfAddressChange": [], + "numberAndStreet": "& #af8U X ,&k ,o&Z '74 ''8&Am 5..6", + "apartmentOrUnitNumber": "ABCD", + "city": "'s '", + "zipFirstFive": "42220", + "zipLastFour": "9897", + "state": "Lh" + }, + "homeless": { + "pointOfContact": "hw86h63-v", + "pointOfContactNumber": 0, + "currentlyHomeless": { + "homelessSituationOptions": "FLEEING_CURRENT_RESIDENCE", + "otherDescription": "ABCDEFGHIJKLM" + }, + "riskOfBecomingHomeless": { + "livingSituationOptions": "other", + "otherDescription": "ABCDEFGHIJKLMNOP" + } + }, + "toxicExposure": { + "gulfWarHazard": { + "servedInGulfWarHazardLocations": true, + "serviceDates": { + "startDate": "2523-07-21", + "endDate": "1540-01-21" + } + }, + "herbicideHazardService": { + "servedInHerbicideHazardLocations": true, + "otherLocationsServed": "ABCDEFGHIJKLM", + "serviceDates": { + "startDate": "0401-03-07", + "endDate": "9754-10-31" + } + }, + "additionalHazardExposures": { + "additionalExposures": [], + "specifiyOtherExposures": "ABCD", + "exposureDates": { + "startDate": "4520-07-30", + "endDate": "3405-10-03" + } + }, + "multipleExposures": { + "exposureDates": { + "startDate": "8697-12-09", + "endDate": "5517-07-27" + }, + "exposureLocation": "ABCDEFGHIJKLMN", + "hazardExposedTo": "ABCDEFGHIJKLMNO" + } + }, + "treatments": [ + { + "treatedDisabilityNames": "ABCDEFGHIJKLMNOPQRST", + "center": { + "name": "\" ", + "state": "aq", + "city": "W##8'e#9S7-5.#a'vO" + }, + "startDate": "0850-03-07", + "treatedDisabilityName": [ + "ABCDEFGHIJ" + ] + }, + { + "treatedDisabilityNames": true, + "center": { + "name": " &", + "state": "aW", + "city": "#'#8#'x." + }, + "startDate": null, + "treatedDisabilityName": [ + "ABCDEFGHIJKLMNOPQRS" + ] + } + ], + "servicePay": { + "favorTrainingPay": true, + "favorMilitaryRetiredPay": false, + "receivingMilitaryRetiredPay": false, + "futureMilitaryRetiredPay": true, + "futureMilitaryRetiredPayExplanation": "ABCDEFGHIJKLMNOPQRSTUVW", + "militaryRetiredPay": { + "branchOfService": "Army", + "monthlyAmount": 840.75 + }, + "retiredStatus": [], + "receivedSeparationOrSeverancePay": false, + "separationSeverancePay": { + "datePaymentReceived": "7169-07-31", + "branchOfService": "Naval Academy", + "preTaxAmountReceived": 379.25 + } + }, + "directDeposit": { + "accountType": "CHECKING", + "accountNumber": "ABCDEF", + "routingNumber": 0, + "routngNumber": "139344480", + "financialInstituteName": "ABCDEFGHIJK", + "noAccount": false + } + } + } +} \ No newline at end of file diff --git a/modules/claims_api/spec/requests/v2/veterans/rswag_disability_compensation_request_spec.rb b/modules/claims_api/spec/requests/v2/veterans/rswag_disability_compensation_request_spec.rb index bc6172d9bba..2e6604a292d 100644 --- a/modules/claims_api/spec/requests/v2/veterans/rswag_disability_compensation_request_spec.rb +++ b/modules/claims_api/spec/requests/v2/veterans/rswag_disability_compensation_request_spec.rb @@ -6,49 +6,6 @@ require_relative '../../../support/swagger_shared_components/v2' describe 'Disability Claims', production: false, swagger_doc: Rswag::TextHelpers.new.claims_api_docs do # rubocop:disable RSpec/DescribeClass - path '/veterans/{veteranId}/526' do - get 'Get a 526 schema for a claim.' do - deprecated true - tags 'Disability' - operationId 'get526JsonSchema' - consumes 'application/json' - produces 'application/json' - get_schema_description = <<~VERBIAGE - Returns a single 526 schema to automatically generate a form. Using this GET endpoint allows users to download our current validations. - VERBIAGE - description get_schema_description - - parameter name: :veteranId, - in: :path, - required: true, - type: :string, - example: '1012667145V762142', - description: 'ID of Veteran' - let(:veteranId) { '1013062086V794840' } # rubocop:disable RSpec/VariableName - let(:Authorization) { 'Bearer token' } - - describe 'Getting a successful response' do - response '200', 'schema response' do - before do |example| - submit_request(example.metadata) - end - - after do |example| - example.metadata[:response][:content] = { - 'application/json' => { - example: JSON.parse(response.body, symbolize_names: true) - } - } - end - - it 'returns a valid 200 response' do |example| - assert_response_matches_metadata(example.metadata) - end - end - end - end - end - path '/veterans/{veteranId}/526' do post 'Submits form 526' do tags 'Disability' @@ -60,8 +17,11 @@ ] consumes 'application/json' produces 'application/json' - description 'Establishes a Disability Compensation Claim in VBMS.' + get_schema_description = <<~VERBIAGE + The below 526 schema is in a draft state representing the attributes we are currently planning to support. Changes are expected as we continue development.#{' '} + VERBIAGE + description get_schema_description parameter name: 'veteranId', in: :path, required: true, @@ -72,18 +32,46 @@ let(:veteranId) { '1013062086V794840' } # rubocop:disable RSpec/VariableName let(:Authorization) { 'Bearer token' } + parameter SwaggerSharedComponents::V2.body_examples[:disability_compensation] + describe 'Getting a successful response' do - response '200', '526 Response' do - it 'returns a valid 200 response' do + response '200', 'Successful response with disability' do + schema JSON.parse(Rails.root.join('spec', 'support', 'schemas', 'claims_api', 'v2', 'forms', + 'disability', 'submission.json').read) + let(:scopes) { %w[system/claim.read system/claim.write] } + let(:data) do + temp = Rails.root.join('modules', 'claims_api', 'spec', 'fixtures', 'v2', 'veterans', + 'disability_compensation', 'form_526_json_api.json').read + temp = JSON.parse(temp) + + temp + end + + before do |example| + stub_poa_verification + stub_mpi + + with_okta_user(scopes) do + VCR.use_cassette('evss/claims/claims') do + VCR.use_cassette('evss/reference_data/countries') do + submit_request(example.metadata) + end + end + end + end + + after do |_example| + # example.metadata[:response][:content] = { + # 'application/json' => { + # example: JSON.parse(response.body, symbolize_names: true) + # } + # } one = 1 expect(one).to eq(1) end - end - end - describe 'Getting a 401 response' do - response '401', 'Unauthorized' do - it 'returns a valid 200 response' do + it 'returns a valid 200 response' do |_example| + # assert_response_matches_metadata(example.metadata) one = 1 expect(one).to eq(1) end diff --git a/modules/claims_api/spec/support/swagger_shared_components/v2.rb b/modules/claims_api/spec/support/swagger_shared_components/v2.rb index 287280faf2d..03dfcf9805f 100644 --- a/modules/claims_api/spec/support/swagger_shared_components/v2.rb +++ b/modules/claims_api/spec/support/swagger_shared_components/v2.rb @@ -63,6 +63,36 @@ def self.body_examples # rubocop:disable Metrics/MethodLength ) ) + disability_compensation_json_schema = JSON.parse( + File.read( + Rails.root.join( + 'modules', + 'claims_api', + 'config', + 'schemas', + 'v2', + 'request_bodies', + 'disability_compensation', + 'request.json' + ) + ) + ) + + disability_compensation_request_body_example = JSON.parse( + File.read( + Rails.root.join( + 'modules', + 'claims_api', + 'config', + 'schemas', + 'v2', + 'request_bodies', + 'disability_compensation', + 'example.json' + ) + ) + ) + { veteran_identifier: { in: :body, @@ -87,6 +117,17 @@ def self.body_examples # rubocop:disable Metrics/MethodLength example: intent_to_file_request_body_example } }, + disability_compensation: { + in: :body, + name: 'data', + required: true, + schema: { + type: :object, + required: disability_compensation_json_schema['required'], + properties: disability_compensation_json_schema['properties'], + example: disability_compensation_request_body_example + } + }, power_of_attorney: { in: :body, name: 'data', diff --git a/spec/support/schemas/claims_api/v2/forms/disability/submission.json b/spec/support/schemas/claims_api/v2/forms/disability/submission.json new file mode 100644 index 00000000000..a45aed32444 --- /dev/null +++ b/spec/support/schemas/claims_api/v2/forms/disability/submission.json @@ -0,0 +1,1135 @@ +{ +"data": + { + "additionalProperties": false, + "properties": { + "claimDate": { + "type": "string", + "description": "Date (or Timestamp with TimeZone) when claim is being submitted to the VA. Date cannot be in the future. UTC TimeZone is assumed unless otherwise specified.", + "example": "2018-08-28T19:53:45+00:00", + "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])(?:T[0-1][0-9]:[0-5][0-9]:[0-5][0-9](?:[-+][0-9]{2}:[0-9]{2}|Z))*$" + }, + "claimProcessType": { + "type": "string", + "description": "Type of claim process.", + "example": "STANDARD_CLAIM_PROCESS" + }, + "claimantCertification": { + "type": "boolean", + "description": "Claimant certifies and authorizes release of information.", + "default": false + }, + "veteranIdentification": { + "description": "Veteran Object being submitted in Claim", + "type": "object", + "additionalProperties": false, + "required": [ + "mailingAddress", + "currentlyVAEmployee" + ], + "properties": { + "currentlyVaEmployee": { + "type": "boolean", + "description": "Flag if Veteran is VA Employee.", + "example": false + }, + "serviceNumber": { + "type": "string", + "description": "Service identification number", + "maxLength": 9 + }, + "emailAddress": { + "description": "Information associated with the Veteran's email address.", + "type": "object", + "properties": { + "email": { + "type": "string", + "description": "The most current email address of the Veteran.", + "maxLength": 50 + }, + "agreeToEmailRelatedToClaim": { + "type": "boolean", + "description": "Agreement to email information relating to this claim.", + "example": true + } + } + }, + "veteranNumber": { + "description": "", + "type": "object", + "properties": { + "telephone": { + "type": "string", + "description": "Veteran's phone number.", + "maxLength": 10 + }, + "internationalTelephone": { + "type": "string", + "description": "Veteran's international phone number.", + "maxLength": 10 + } + } + }, + "vaFileNumber": { + "type": "string", + "description": "The file number associated with the Veteran and Veteran's Affairs.", + "maxLength": 9 + }, + "mailingAddress": { + "description": "Current Mailing Address Object being submitted.", + "type": "object", + "additionalProperties": false, + "properties": { + "numberAndStreet": { + "description": "Address Veteran resides in.", + "type": "string", + "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", + "maxLength": 30, + "example": "1234 Couch Street" + }, + "apartmentOrUnitNumber": { + "description": "Apartment or unit number for the address where the Veteran resides.", + "type": "string", + "maxLength": 5, + "example": "22" + }, + "city": { + "description": "City Veteran resides in.", + "type": "string", + "pattern": "^([-a-zA-Z0-9'.#]([-a-zA-Z0-9'.# ])?)+$", + "example": "Portland" + }, + "country": { + "description": "Country Veteran resides in. Value must match the values returned by the \"/countries\" endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", + "type": "string", + "example": "USA" + }, + "zipFirstFive": { + "description": "Zipcode (First 5 digits) Veteran resides in.", + "type": "string", + "pattern": "^\\d{5}?$", + "example": "12345" + }, + "zipLastFour": { + "description": "Zipcode (Last 4 digits) Veteran resides in.", + "type": "string", + "pattern": "^\\d{4}?$", + "example": "6789" + }, + "state": { + "description": "State Veteran resides in.", + "type": "string", + "pattern": "^[a-z,A-Z]{2}$", + "example": "OR" + } + }, + "allOf": [ + { + "if": { + "properties": { + "type": { + "const": "DOMESTIC" + } + } + }, + "then": { + "required": [ + "numberAndStreet", + "city", + "country", + "zipFirstFive", + "state" + ] + } + } + ] + } + } + }, + "changeOfAddress": { + "description": "A Change of Address Object being submitted.", + "type": "object", + "additionalProperties": false, + "required": [ + "country", + "type", + "addressLine1", + "addressChangeType", + "beginningDate" + ], + "properties": { + "dates": { + "type": "object", + "description": "Important dates for the change of address action.", + "properties": { + "beginningDate": { + "description": "Date in YYYY-MM-DD the Veteran changed address. Date must be in the future if change is temporary.", + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string", + "example": "2018-06-04" + }, + "endingDate": { + "description": "Date in YYYY-MM-DD the changed address expires, if change is temporary.", + "type": "string", + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "example": "2018-06-04" + } + } + }, + "typeOfAddressChange": { + "description": "Temporary or Permanent change of address.", + "type": "array", + "enum": [ + "TEMPORARY", + "PERMANENT" + ], + "example": "PERMANENT" + }, + "numberAndStreet": { + "description": "New Address Veteran resides in.", + "type": "string", + "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", + "maxLength": 30, + "example": "1234 Couch Street" + }, + "apartmentOrUnitNumber": { + "description": "New Additional Address Information Veteran resides in.", + "type": "string", + "maxLength": 5, + "example": "22" + }, + "city": { + "description": "New city Veteran resides in.", + "type": "string", + "pattern": "^([-a-zA-Z0-9'.#]([-a-zA-Z0-9'.# ])?)+$", + "example": "Portland" + }, + "country": { + "description": "New country Veteran resides in. Value must match the values returned by the \"/countries\" endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", + "type": "string", + "example": "USA" + }, + "zipFirstFive": { + "description": "New zipcode (First 5 digits) Veteran resides in.", + "type": "string", + "pattern": "^\\d{5}?$", + "example": "12345" + }, + "zipLastFour": { + "description": "New zipcode (Last 4 digits) Veteran resides in.", + "type": "string", + "pattern": "^\\d{4}?$", + "example": "6789" + }, + "state": { + "description": "New state Veteran resides in.", + "type": "string", + "pattern": "^[a-z,A-Z]{2}$", + "example": "OR" + } + }, + "allOf": [ + { + "if": { + "properties": { + "type": { + "const": "DOMESTIC" + } + } + }, + "then": { + "required": [ + "city", + "zipFirstFive", + "state" + ] + } + }, + { + "if": { + "properties": { + "type": { + "const": "MILITARY" + } + } + }, + "then": { + "required": [ + "zipFirstFive" + ] + } + } + ] + }, + "homeless": { + "description": "Object describing Veteran Homelessness if applicable.", + "type": "object", + "additionalProperties": false, + "properties": { + "pointOfContact": { + "description": "Point of contact in direct contact with Veteran.", + "type": "string", + "minLength": 1, + "maxLength": 100, + "pattern": "^([-a-zA-Z0-9/']+( ?))*$", + "example": "Jane Doe" + }, + "pointOfContactNumber": { + "telephone": { + "description": "Primary phone of Point of Contact.", + "type": "string", + "example": "1231234", + "maxLength": 10 + }, + "internationalTelephone": { + "description": "international phone of Point of Contact.", + "type": "string", + "example": "1231234", + "maxLength": 10 + } + }, + "currentlyHomeless": { + "type": "object", + "additionalProperties": false, + "required": [ + "homelessSituationOptions", + "otherDescription" + ], + "properties": { + "homelessSituationOptions": { + "description": "Current state of the veteran's homelessness.", + "type": "string", + "default": "other", + "enum": [ + "LIVING_IN_A_HOMELESS_SHELTER", + "NOT_CURRENTLY_IN_A_SHELTERED_ENVIRONMENT", + "STAYING_WITH_ANOTHER_PERSON", + "FLEEING_CURRENT_RESIDENCE", + "OTHER" + ], + "example": "FLEEING_CURRENT_RESIDENCE" + }, + "otherDescription": { + "description": "For a 'homelessSituationOptions' of value 'other', please provide additional comments on the living situation.", + "type": "string", + "maxLength": 500, + "example": "other living situation" + } + } + }, + "riskOfBecomingHomeless": { + "type": "object", + "additionalProperties": false, + "required": [ + "livingSituationOptions", + "otherDescription" + ], + "properties": { + "livingSituationOptions": { + "type": "string", + "default": "other", + "enum": [ + "losingHousing", + "leavingShelter", + "other" + ] + }, + "otherDescription": { + "description": "For a 'livingSituationOptions' of value 'other', please provide additional comments on the living situation.", + "type": "string", + "maxLength": 500, + "example": "other living situation" + } + } + } + } + }, + "toxicExposure": { + "type": "object", + "description": "Toxic exposures incidents and details.", + "properties": { + "gulfWarHazard": { + "type": "object", + "description": "Toxic exposure related to the Gulf war.", + "properties": { + "servedInGulfWarHazardLocations": { + "type": "boolean", + "description": "Did the Veteran serve in any of the following Gulf War hazard locations?", + "example": true + }, + "serviceDates": { + "type": "object", + "description": "Date range for when the exposure happened.", + "properties": { + "startDate": { + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string", + "description": "Approximate start date for serving in Gulf War hazard location.", + "example": "2018-06-04" + }, + "endDate": { + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string", + "description": "Approximate end date for serving in Gulf War hazard location.", + "example": "2018-06-04" + } + } + } + } + }, + "herbicideHazardService": { + "type": "object", + "description": "Toxic exposure related to herbicide hazards.", + "properties": { + "servedInHerbicideHazardLocations": { + "type": "boolean", + "description": "Did the Veteran serve in any of the following Herbicide (e.g., Agent Orange) locations? These locations include: Republic of Vietnam to include the 12 nautical mile territorial waters; Thailand at any United States or Royal Thai base; Laos; Cambodia at Mimot or Krek; Kampong Cham Province; Guam or American Samoa; or in the territorial waters thereof; Johnston Atoll or a ship that called at Johnston Atoll; Korean demilitarized zone; aboard (to include repeated operations and maintenance with) a C-123 aircraft known to have been used to spray an herbicide agent (during service in the Air Force and Air Force Reserves)." + }, + "otherLocationsServed": { + "type": "string", + "description": "Other location(s) where Veteran served." + }, + "serviceDates": { + "type": "object", + "description": "Date range for when the exposure happened.", + "properties": { + "startDate": { + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string", + "description": "Approximate start date for serving in herbicide location.", + "example": "2018-06-04" + }, + "endDate": { + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string", + "description": "Approximate end date for serving in herbicide location.", + "example": "2018-06-04" + } + } + } + } + }, + "additionalHazardExposures": { + "type": "object", + "description": "Additional hazardous exposures.", + "properties": { + "additionalExposures": { + "type": "array", + "description": "Additional exposure incidents.", + "enum": [ + "ASBESTOS", + "MUSTARD_GAS", + "RADIATION", + "SHAD", + "MILITARY_OCCUPATIONAL_SPECIALTY_RELATED", + "CONTAMINATED_WATER_AT_CAMP_LEJEUNE", + "OTHER" + ] + }, + "specifiyOtherExposures": { + "type": "string", + "description": "Other exposure incidents." + }, + "exposureDates": { + "type": "object", + "description": "Date range for when the exposure happened.", + "properties": { + "startDate": { + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string", + "description": "Approximate start date for exposure.", + "example": "2018-06-04" + }, + "endDate": { + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string", + "description": "Approximate end date for exposure.", + "example": "2018-06-04" + } + } + } + } + }, + "multipleExposures": { + "type": "object", + "description": "", + "properties": { + "exposureDates": { + "type": "object", + "description": "Date range for when the exposure happened.", + "properties": { + "startDate": { + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string", + "description": "Approximate start date for exposure.", + "example": "2018-06-04" + }, + "endDate": { + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string", + "description": "Approximate end date for exposure.", + "example": "2018-06-04" + } + } + }, + "exposureLocation": { + "type": "string", + "description": "" + }, + "hazardExposedTo": { + "type": "string", + "description": "" + } + } + } + } + }, + "disabilities": { + "description": "Any current disabilities or symptoms the Veteran is claiming are related to their military service and/or are service-connected.", + "type": "array", + "minItems": 1, + "uniqueItems": true, + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "disabilityActionType", + "name" + ], + "properties": { + "name": { + "description": "If classificationCode is included, the disability name is required to match the associated name value returned in the Benefits Reference Data /disabilities service.", + "type": "string", + "example": "PTSD (post traumatic stress disorder)" + }, + "classificationCode": { + "type": "string", + "description": "The contention classification code can be retrieved from the Benefits Refence Data API. This code aligns with the id returned by the /disabilities service. If classificationCode is included, the disability name is required to match the associated name value returned in the /disabilities service.", + "example": "249470" + }, + "serviceRelevance": { + "description": "Explanation of how the disability(ies) relates to the in-service event/exposure/injury.", + "type": "string", + "example": "Heavy equipment operator in service." + }, + "approximateDate": { + "description": "Approximate date disability began. Date must be in the past.", + "type": "string", + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "example": "2018-03-02" + }, + "ratedDisabilityId": { + "description": "When submitting a contention with action type INCREASE, the previously rated disability id may be included.", + "type": "string", + "example": "1100583" + }, + "diagnosticCode": { + "description": "The diagnosticCode is required if disabilityActionType is NONE and there are secondary disabilities included with the primary. The diagnosticCode must match an existing rated disability if disabilityActionType is NONE and there are secondary disabilities included with the primary.", + "type": "integer", + "example": 9999 + }, + "disabilityActionType": { + "description": "The status of the current disability. \n If value is \"INCREASE\", then \"ratedDisabilityId\" and \"diagnosticCode\" are required.", + "type": "string", + "enum": [ + "NONE", + "NEW", + "SECONDARY", + "REOPEN", + "INCREASE" + ], + "example": "NEW" + }, + "secondaryDisabilities": { + "description": "Identifies the Secondary Service Disability information of the Veteran.", + "type": "array", + "minItems": 1, + "uniqueItems": true, + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "disabilityActionType", + "serviceRelevance" + ], + "properties": { + "name": { + "description": "What the Disability is called.", + "type": "string", + "example": "PTSD (post traumatic stress disorder)" + }, + "disabilityActionType": { + "description": "The status of the secondary disability.", + "type": "string", + "enum": [ + "SECONDARY" + ], + "example": "SECONDARY" + }, + "serviceRelevance": { + "description": "Explanation of how the disability(ies) relates to the in-service event/exposure/injury.", + "type": "string", + "example": "Heavy equipment operator in service." + }, + "classificationCode": { + "type": "string", + "example": "249470" + }, + "approximateDate": { + "description": "Approximate date disability began.", + "type": "string", + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "example": "2018-03-02" + }, + "exposureOrEventOrInjury": { + "type": "array", + "description": "What caused the disability?", + "enum": [ + "exposure", + "event", + "injury" + ] + } + } + } + }, + "isRelatedToToxicExposure": { + "type": "boolean", + "description": "Is the disability related to toxic exposures? If so, include exposure information.", + "example": true + }, + "exposureOrEventOrInjury": { + "type": "string", + "description": "Type of exposure, event, or injury.", + "examples": [ + "Agent Orange", + "radiation", + "burn pits" + ] + } + }, + "allOf": [ + { + "if": { + "properties": { + "disabilityActionType": { + "enum": [ + "INCREASE" + ] + } + } + }, + "then": { + "required": [ + "ratedDisabilityId", + "diagnosticCode" + ] + } + }, + { + "if": { + "properties": { + "disabilityActionType": { + "enum": [ + "NONE" + ] + } + }, + "required": [ + "secondaryDisabilities" + ] + }, + "then": { + "required": [ + "diagnosticCode" + ] + } + } + ] + } + }, + "treatments": { + "description": "Identifies the Service Treatment information of the Veteran.", + "type": "array", + "minItems": 1, + "uniqueItems": true, + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "treatedDisabilityNames", + "center" + ], + "properties": { + "startDate": { + "description": "Start date for treatment. If treatment began from 2005 to present, you do not need to provide dates.", + "type": [ + "null", + "string" + ], + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "example": "2018-03-02" + }, + "treatedDisabilityNames": { + "description": "Names of disability treated.", + "type": "array", + "minItems": 1, + "maxItems": 101, + "uniqueItems": true, + "items": { + "description": "Name of Disabilities Veteran was Treated for.", + "type": "string", + "example": "PTSD (post traumatic stress disorder)" + } + }, + "center": { + "description": "VA Medical Center(s) and Department of Defense Military Treatment Facilities where the Veteran received treatment after discharge for any claimed disabilities.", + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "state" + ], + "properties": { + "name": { + "description": "Name of facility Veteran was treated in.", + "type": "string", + "pattern": "([a-zA-Z0-9\"\\/&\\(\\)\\-'.,# ]([a-zA-Z0-9(\\)\\-'.,# ])?)+$", + "example": "Private Facility 2", + "minLength": 1, + "maxLength": 100 + }, + "city": { + "description": "City of treatment facility.", + "type": "string", + "pattern": "^([-a-zA-Z0-9'.#]([-a-zA-Z0-9'.# ])?)+$", + "example": "Portland" + }, + "state": { + "description": "State of treatment facility.", + "type": "string", + "pattern": "^[a-z,A-Z]{2}$", + "example": "OR" + } + } + } + } + } + }, + "serviceInformation": { + "description": "Overview of Veteran's service history.", + "type": "object", + "additionalProperties": false, + "required": [ + "servicePeriods" + ], + "properties": { + "servicePeriods": { + "description": "Identifies the Service dates and Branch the Veteran served in.", + "type": "array", + "minItems": 1, + "uniqueItems": true, + "items": { + "type": "object", + "required": [ + "serviceBranch", + "activeDutyBeginDate", + "activeDutyEndDate" + ], + "properties": { + "serviceBranch": { + "description": "Branch of Service during period.", + "type": "string", + "example": "Air Force", + "enum": [ + "Air Force", + "Air Force Academy", + "Air Force Reserves", + "Air Force Civilian", + "Air National Guard", + "Army", + "Army Air Corps", + "Army Air Corps or Army Air Force", + "Army National Guard", + "Army Nurse Corps", + "Army Reserves", + "Coast Guard", + "Coast Guard Academy", + "Coast Guard Reserves", + "Commonwealth Army Veteran", + "Guerrilla Combination Service", + "Marine", + "Marine Corps", + "Marine Corps Reserves", + "Merchant Marine", + "National Oceanic & Atmospheric Administration", + "National Oceanic and Atmospheric Administration", + "Naval Academy", + "Navy", + "Navy Reserves", + "Other", + "Public Health Service", + "Regular Philippine Scout", + "Regular Scout Service", + "Space Force", + "Special Philippine Scout", + "Unknown", + "US Military Academy", + "Woman Air Corps", + "Women's Army Corps" + ] + }, + "serviceComponent": { + "type": "array", + "description": "", + "enum": [ + "Active", + "Reserves", + "National Guard" + ] + }, + "activeDutyBeginDate": { + "description": "Date Started Active Duty.", + "type": "string", + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "example": "1980-02-05" + }, + "activeDutyEndDate": { + "description": "Date Completed Active Duty. If in the future, 'separationLocationCode' is required.", + "type": "string", + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "example": "1990-01-02" + }, + "separationLocationCode": { + "description": "Code for the facility the Veteran plans to separate from. Required if 'servicePeriod.activeDutyEndDate' is in the future. [Code values available here.](https://github.com/department-of-veterans-affairs/vets-api/blob/master/modules/claims_api/lib/claims_api/separation_location_code_values.json)", + "type": "string", + "example": "98283" + } + } + } + }, + "confinements": { + "type": "object", + "description": "", + "properties": { + "approximateBeginDate": { + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string", + "example": "2018-06-04" + }, + "approximateEndDate": { + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "type": "string", + "example": "2018-06-04" + } + } + }, + "reservesNationalGuardService": { + "type": "object", + "additionalProperties": false, + "required": [ + "obligationTermOfServiceFromDate", + "obligationTermOfServiceToDate", + "unitName" + ], + "properties": { + "component": { + "type": "array", + "description": "", + "enum": [ + "Active", + "Reserves", + "National Guard" + ] + }, + "title10Activation": { + "description": "Include if the Veteran is currently activated on federal orders within the National Guard or Reserves", + "type": "object", + "additionalProperties": false, + "required": [ + "anticipatedSeparationDate", + "title10ActivationDate" + ], + "properties": { + "anticipatedSeparationDate": { + "description": "Anticipated date of separation. Date must be in the future.", + "type": "string", + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$" + }, + "title10ActivationDate": { + "description": "Date cannot be in the future and must be after the earliest servicePeriod.activeDutyBeginDate.", + "type": "string", + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$" + } + } + }, + "obligationTermOfServiceFromDate": { + "type": "string", + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$" + }, + "obligationTermOfServiceToDate": { + "type": "string", + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$" + }, + "unitName": { + "type": "string", + "pattern": "([a-zA-Z0-9\\-'.,# ][a-zA-Z0-9\\-'.,# ]?)*$" + }, + "unitPhone": { + "type": "object", + "additionalProperties": false, + "required": [ + "areaCode", + "phoneNumber" + ], + "properties": { + "areaCode": { + "type": "string", + "maxLength": 3 + }, + "phoneNumber": { + "type": "string", + "maxLength": 7 + } + } + }, + "receivingInactiveDutyTrainingPay": { + "type": "boolean" + } + } + }, + "alternateNames": { + "description": "List any other names under which the Veteran served, if applicable.", + "type": "array", + "minItems": 1, + "maxItems": 100, + "uniqueItems": true, + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "firstName", + "lastName" + ], + "properties": { + "firstName": { + "type": "string", + "min": 1, + "max": 30, + "pattern": "^([-a-zA-Z0-9/']+( ?))+$" + }, + "middleName": { + "type": "string", + "min": 1, + "max": 30, + "pattern": "^([-a-zA-Z0-9/']+( ?))+$" + }, + "lastName": { + "type": "string", + "min": 1, + "max": 30, + "pattern": "^([-a-zA-Z0-9/']+( ?))+$" + } + } + } + }, + "servedInActiveCombatSince911": { + "type": "boolean", + "description": "Did Veteran serve in a combat zone since 9-11-2001?", + "example": true + } + } + }, + "servicePay": { + "description": "Details about Veteran receiving Service Pay from DoD.", + "type": "object", + "additionalProperties": false, + "properties": { + "favorTrainingPay": { + "description": "Is Veteran Waiving benefits to retain training pay.", + "type": "boolean", + "example": true + }, + "favorMilitaryRetiredPay": { + "description": "Is Veteran Waiving benefits to retain Retiree pay.", + "type": "boolean", + "example": true + }, + "receivingMilitaryRetiredPay": { + "description": "Is Veteran getting Retiree pay?", + "type": "boolean", + "example": true + }, + "futureMilitaryRetiredPay": { + "description": "Will Veteran get Retiree pay in future? \n If true, then \"futurePayExplanation\" attribute is required.", + "type": "boolean", + "default": false, + "example": false + }, + "futureMilitaryRetiredPayExplanation": { + "description": "Explains why future pay will be received.", + "type": "string", + "example": "Will be retiring soon." + }, + "militaryRetiredPay": { + "type": "object", + "description": "", + "properties": { + "branchOfService": { + "description": "Branch of Service making payments.", + "type": "string", + "enum": [ + "Air Force", + "Air Force Reserves", + "Air National Guard", + "Army", + "Army National Guard", + "Army Reserves", + "Coast Guard", + "Coast Guard Reserves", + "Marine Corps", + "Marine Corps Reserves", + "National Oceanic & Atmospheric Administration", + "National Oceanic & Atmospheric Administration", + "Navy", + "Navy Reserves", + "Public Health Service", + "Air Force Academy", + "Army Air Corps or Army Air Force", + "Army Nurse Corps", + "Coast Guard Academy", + "Merchant Marine", + "Naval Academy", + "Other", + "US Military Academy", + "Women's Army Corps", + "Space Force" + ], + "example": "Air Force" + }, + "monthlyAmount": { + "description": "Amount being received.", + "type": "number", + "minimum": 1, + "maximum": 999999, + "example": 100 + } + } + }, + "retiredStatus": { + "type": "array", + "description": "", + "enum": [ + "RETIRED", + "TEMPORARY_DISABILITY_RETIRED_LIST", + "PERMANENT_DISABILITY_RETIRED_LIST" + ] + }, + "receivedSeparationOrSeverancePay": { + "description": "Has separation pay been received?", + "type": "boolean", + "example": true, + "default": true + }, + "separationSeverancePay": { + "type": "object", + "description": "", + "properties": { + "datePaymentReceived": { + "description": "Approximate date separation pay was received.", + "type": "string", + "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", + "example": "2018-03-02" + }, + "branchOfService": { + "description": "Branch of Service making payments.", + "type": "string", + "enum": [ + "Air Force", + "Air Force Reserves", + "Air National Guard", + "Army", + "Army National Guard", + "Army Reserves", + "Coast Guard", + "Coast Guard Reserves", + "Marine Corps", + "Marine Corps Reserves", + "National Oceanic & Atmospheric Administration", + "National Oceanic & Atmospheric Administration", + "Navy", + "Navy Reserves", + "Public Health Service", + "Air Force Academy", + "Army Air Corps or Army Air Force", + "Army Nurse Corps", + "Coast Guard Academy", + "Merchant Marine", + "Naval Academy", + "Other", + "US Military Academy", + "Women's Army Corps", + "Space Force" + ], + "example": "Air Force" + }, + "preTaxAmountReceived": { + "description": "Amount being received.", + "type": "number", + "minimum": 1, + "maximum": 999999, + "example": 100 + } + } + } + } + }, + "directDeposit": { + "description": "Financial Direct Deposit information for Veteran.", + "type": "object", + "additionalProperties": false, + "required": [ + "accountType", + "accountNumber", + "routingNumber" + ], + "properties": { + "accountType": { + "description": "Veteran Account Type (value is case insensitive).", + "type": "string", + "enum": [ + "CHECKING", + "SAVINGS" + ], + "example": "CHECKING" + }, + "accountNumber": { + "description": "Veteran Bank Account Number.", + "minLength": 4, + "maxLength": 17, + "type": "string", + "example": "123123123123" + }, + "routngNumber": { + "description": "Veteran Bank Routing Number.", + "type": "string", + "pattern": "^\\d{9}$", + "example": "123123123" + }, + "financialInstitutionName": { + "description": "Provide the name of the financial institution where the Veteran wants the direct deposit.", + "maxLength": 35, + "type": "string", + "example": "Some Bank" + }, + "noAccount": { + "type": "boolean", + "description": "Box 29 is checked if directDeposit is missing in the JSON request.", + "default": false + } + } + } + } + } +} \ No newline at end of file