Skip to content

Instantly share code, notes, and snippets.

@jbalboni
Created October 16, 2020 19:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jbalboni/89da4ec7350b76dcb441d11550037d81 to your computer and use it in GitHub Desktop.
Save jbalboni/89da4ec7350b76dcb441d11550037d81 to your computer and use it in GitHub Desktop.
{
"definitions": {
"VVSPersonIdentifier": {
"type": "object",
"required": [
"assigningAuthority",
"uniqueId"
],
"properties": {
"assigningAuthority": {
"type": "string"
},
"uniqueId": {
"type": "string"
}
}
},
"VVSAppointment": {
"type": "object",
"required": [
"appointmentKind",
"dateTime",
"duration",
"id",
"patients",
"sourceSystem"
],
"properties": {
"id": {
"type": "string"
},
"appointmentKind": {
"$ref": "#/definitions/VVSAppointmentKind"
},
"sourceSystem": {
"type": "string"
},
"dateTime": {
"type": "string",
"example": "2018-06-22T08:00:19Z",
"format": "date-time"
},
"desiredDate": {
"type": "string",
"example": "2018-06-22T08:00:19Z",
"format": "date-time"
},
"duration": {
"type": "integer",
"format": "int32"
},
"status": {
"$ref": "#/definitions/VVSStatus"
},
"schedulingRequestType": {
"$ref": "#/definitions/VVSSchedulingRequestType"
},
"type": {
"$ref": "#/definitions/VVSAppointmentType"
},
"bookingNotes": {
"type": "string"
},
"version": {
"type": "string",
"xml": {
"attribute": true
}
},
"instruction": {
"type": "string",
"minLength": 0,
"maxLength": 10000
},
"instructionsOther": {
"type": "boolean"
},
"instructionsTitle": {
"type": "string"
},
"patients": {
"$ref": "#/definitions/VVSPatientList"
},
"providers": {
"$ref": "#/definitions/VVSProviderList"
},
"invities": {
"type": "array",
"items": {
"$ref": "#/definitions/VVSInvitee"
}
},
"groupAppointmentName": {
"type": "string"
},
"tasInfo": {
"$ref": "#/definitions/VVSTasInfo"
}
}
},
"VVSAppointmentKind": {
"type": "string",
"description": "",
"enum": [
"ADHOC",
"NO_VA_ID",
"CLINIC_BASED",
"MOBILE_ANY",
"MOBILE_GFE",
"STORE_FORWARD"
]
},
"VVSAppointmentType": {
"type": "string",
"description": "",
"enum": [
"COMPENSATION_AND_PENSION",
"CLASS_II_DENTAL",
"ORGAN_DONORS",
"EMPLOYEE",
"PRIMA_FACIA",
"RESEARCH",
"COLLATERAL_OF_VET",
"SHARING_AGREEMENT",
"REGULAR",
"COMPUTER_GENERATED",
"SERVICE_CONNECTED"
]
},
"VVSClinic": {
"type": "object",
"required": [
"ien",
"name"
],
"properties": {
"ien": {
"type": "string"
},
"name": {
"type": "string"
}
}
},
"VVSContactInformation": {
"type": "object",
"properties": {
"mobile": {
"type": "string"
},
"preferredEmail": {
"type": "string"
},
"alternativeEmail": {
"type": "string"
},
"timeZone": {
"$ref": "#/definitions/VVSTimeZone"
},
"timeZoneName": {
"description": "Time zone canonical name:\n \"Etc/GMT+12\",\n \"Etc/GMT+11\",\n \"Pacific/Pago_Pago\",\n \"Pacific/Honolulu\",\n \"America/Anchorage\",\n \"America/Los_Angeles\",\n \"America/Tijuana\",\n \"America/Denver\",\n \"America/Mazatlan\",\n \"America/Phoenix\",\n \"America/Chicago\",\n \"America/Regina\",\n \"America/Monterrey\",\n \"America/Mexico_City\",\n \"America/New_York\",\n \"America/Indiana/Indianapolis\",\n \"America/Bogota\",\n \"America/Caracas\",\n \"America/Santiago\",\n \"America/Halifax\",\n \"America/La_Paz\",\n \"America/Cuiaba\",\n \"America/Asuncion\",\n \"America/St_Johns\",\n \"America/Sao_Paulo\",\n \"America/Argentina/Buenos_Aires\",\n \"America/Cayenne\",\n \"America/Bahia\",\n \"America/Godthab\",\n \"America/Montevideo\",\n \"Etc/GMT+1\",\n \"Etc/GMT+2\",\n \"Atlantic/Azores\",\n \"Atlantic/Cape_Verde\",\n \"Africa/Casablanca\",\n \"Etc/GMT\",\n \"Africa/Monrovia\",\n \"UTC\",\n \"Europe/Belgrade\",\n \"Europe/Warsaw\",\n \"Europe/Brussels\",\n \"Europe/Amsterdam\",\n \"Africa/Windhoek\",\n \"Africa/Cairo\",\n \"Europe/Helsinki\",\n \"Asia/Amman\",\n \"Europe/Athens\",\n \"Asia/Beirut\",\n \"Asia/Damascus\",\n \"Europe/Istanbul\",\n \"Asia/Jerusalem\",\n \"Africa/Harare\",\n \"Europe/Kaliningrad\",\n \"Europe/Minsk\",\n \"Europe/Moscow\",\n \"Asia/Kuwait\",\n \"Africa/Nairobi\",\n \"Asia/Baghdad\",\n \"Europe/Samara\",\n \"Asia/Tehran\",\n \"Asia/Muscat\",\n \"Asia/Baku\",\n \"Asia/Yerevan\",\n \"Indian/Mauritius\",\n \"Asia/Tbilisi\",\n \"Asia/Kabul\",\n \"Asia/Yekaterinburg\",\n \"Asia/Karachi\",\n \"Asia/Tashkent\",\n \"Asia/Kolkata\",\n \"Asia/Colombo\",\n \"Asia/Kathmandu\",\n \"Asia/Dhaka\",\n \"Asia/Novosibirsk\",\n \"Asia/Rangoon\",\n \"Asia/Bangkok\",\n \"Asia/Krasnoyarsk\",\n \"Asia/Hong_Kong\",\n \"Asia/Kuala_Lumpur\",\n \"Asia/Taipei\",\n \"Australia/Perth\",\n \"Asia/Irkutsk\",\n \"Asia/Ulaanbaatar\",\n \"Asia/Pyongyang\",\n \"Asia/Seoul\",\n \"Asia/Tokyo\",\n \"Asia/Yakutsk\",\n \"Australia/Darwin\",\n \"Australia/Adelaide\",\n \"Australia/Sydney\",\n \"Australia/Brisbane\",\n \"Australia/Hobart\",\n \"Asia/Vladivostok\",\n \"Pacific/Guam\",\n \"Asia/Magadan\",\n \"Etc/GMT12\",\n \"Pacific/Fiji\",\n \"Pacific/Auckland\",\n \"Pacific/Tongatapu\"",
"type": "string"
}
}
},
"VVSFacility": {
"type": "object",
"required": [
"name",
"siteCode",
"timeZone"
],
"properties": {
"name": {
"type": "string"
},
"siteCode": {
"type": "string"
},
"timeZone": {
"$ref": "#/definitions/VVSTimeZone"
},
"timeZoneName": {
"description": "Time zone canonical name:\n \"Etc/GMT+12\",\n \"Etc/GMT+11\",\n \"Pacific/Pago_Pago\",\n \"Pacific/Honolulu\",\n \"America/Anchorage\",\n \"America/Los_Angeles\",\n \"America/Tijuana\",\n \"America/Denver\",\n \"America/Mazatlan\",\n \"America/Phoenix\",\n \"America/Chicago\",\n \"America/Regina\",\n \"America/Monterrey\",\n \"America/Mexico_City\",\n \"America/New_York\",\n \"America/Indiana/Indianapolis\",\n \"America/Bogota\",\n \"America/Caracas\",\n \"America/Santiago\",\n \"America/Halifax\",\n \"America/La_Paz\",\n \"America/Cuiaba\",\n \"America/Asuncion\",\n \"America/St_Johns\",\n \"America/Sao_Paulo\",\n \"America/Argentina/Buenos_Aires\",\n \"America/Cayenne\",\n \"America/Bahia\",\n \"America/Godthab\",\n \"America/Montevideo\",\n \"Etc/GMT+1\",\n \"Etc/GMT+2\",\n \"Atlantic/Azores\",\n \"Atlantic/Cape_Verde\",\n \"Africa/Casablanca\",\n \"Etc/GMT\",\n \"Africa/Monrovia\",\n \"UTC\",\n \"Europe/Belgrade\",\n \"Europe/Warsaw\",\n \"Europe/Brussels\",\n \"Europe/Amsterdam\",\n \"Africa/Windhoek\",\n \"Africa/Cairo\",\n \"Europe/Helsinki\",\n \"Asia/Amman\",\n \"Europe/Athens\",\n \"Asia/Beirut\",\n \"Asia/Damascus\",\n \"Europe/Istanbul\",\n \"Asia/Jerusalem\",\n \"Africa/Harare\",\n \"Europe/Kaliningrad\",\n \"Europe/Minsk\",\n \"Europe/Moscow\",\n \"Asia/Kuwait\",\n \"Africa/Nairobi\",\n \"Asia/Baghdad\",\n \"Europe/Samara\",\n \"Asia/Tehran\",\n \"Asia/Muscat\",\n \"Asia/Baku\",\n \"Asia/Yerevan\",\n \"Indian/Mauritius\",\n \"Asia/Tbilisi\",\n \"Asia/Kabul\",\n \"Asia/Yekaterinburg\",\n \"Asia/Karachi\",\n \"Asia/Tashkent\",\n \"Asia/Kolkata\",\n \"Asia/Colombo\",\n \"Asia/Kathmandu\",\n \"Asia/Dhaka\",\n \"Asia/Novosibirsk\",\n \"Asia/Rangoon\",\n \"Asia/Bangkok\",\n \"Asia/Krasnoyarsk\",\n \"Asia/Hong_Kong\",\n \"Asia/Kuala_Lumpur\",\n \"Asia/Taipei\",\n \"Australia/Perth\",\n \"Asia/Irkutsk\",\n \"Asia/Ulaanbaatar\",\n \"Asia/Pyongyang\",\n \"Asia/Seoul\",\n \"Asia/Tokyo\",\n \"Asia/Yakutsk\",\n \"Australia/Darwin\",\n \"Australia/Adelaide\",\n \"Australia/Sydney\",\n \"Australia/Brisbane\",\n \"Australia/Hobart\",\n \"Asia/Vladivostok\",\n \"Pacific/Guam\",\n \"Asia/Magadan\",\n \"Etc/GMT12\",\n \"Pacific/Fiji\",\n \"Pacific/Auckland\",\n \"Pacific/Tongatapu\"",
"type": "string"
}
}
},
"VVSInviteType": {
"type": "string",
"description": "",
"enum": [
"CAREGIVER",
"STAFF"
]
},
"VVSTasInfo": {
"type": "object",
"required": [
"siteCode",
"slotId",
"confirmationCode"
],
"properties": {
"siteCode": {
"type": "string"
},
"slotId": {
"type": "string"
},
"confirmationCode": {
"type": "string"
},
"address": {
"$ref": "#/definitions/VVSAddress"
},
"contacts": {
"type": "array",
"items": {
"$ref": "#/definitions/VVSSiteContact"
}
}
}
},
"VVSAddress": {
"type": "object",
"required": [
"longitude",
"latitude"
],
"properties": {
"streetAddress": {
"type": "string",
"description": "streetAddress of the site"
},
"city": {
"type": "string",
"description": "city of the site"
},
"state": {
"type": "string",
"description": "state of the site"
},
"zipCode": {
"type": "string",
"description": "zip code of the site"
},
"country": {
"type": "string",
"description": "country of the site"
},
"longitude": {
"type": "number",
"format": "double",
"description": "Longitude of the site"
},
"latitude": {
"type": "number",
"format": "double",
"description": "Latitude of the site"
},
"additionalDetails": {
"type": "string",
"description": "AdditionalDetails of the site"
}
}
},
"VVSSiteContact": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "contact name of the person at the site"
},
"phone": {
"type": "string",
"description": "contact phone of the person at the site"
},
"email": {
"type": "string",
"description": "contact email of the person at the site"
}
}
},
"VVSInvitee": {
"type": "object",
"required": [
"inviteType"
],
"properties": {
"email": {
"type": "string"
},
"name": {
"$ref": "#/definitions/VVSPersonName"
},
"inviteType": {
"$ref": "#/definitions/VVSInviteType"
}
}
},
"VVSLocation": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"$ref": "#/definitions/VVSLocationType"
},
"facility": {
"$ref": "#/definitions/VVSFacility"
},
"clinic": {
"$ref": "#/definitions/VVSClinic"
}
}
},
"VVSLocationType": {
"type": "string",
"description": "",
"enum": [
"VA",
"NonVA"
]
},
"VVSPatient": {
"type": "object",
"required": [
"contactInformation",
"id",
"location",
"name"
],
"properties": {
"id": {
"$ref": "#/definitions/VVSPersonIdentifier"
},
"name": {
"$ref": "#/definitions/VVSPersonName"
},
"contactInformation": {
"$ref": "#/definitions/VVSContactInformation"
},
"location": {
"$ref": "#/definitions/VVSLocation"
},
"patientAppointment": {
"type": "boolean",
"default": true
},
"invities": {
"type": "array",
"items": {
"$ref": "#/definitions/VVSInvitee"
}
},
"virtualMeetingRoom": {
"$ref": "#/definitions/VVSVirtualMeetingRoom"
}
}
},
"VVSPatientList": {
"type": "object",
"properties": {
"patient": {
"type": "array",
"items": {
"$ref": "#/definitions/VVSPatient"
}
}
}
},
"VVSPersonName": {
"type": "object",
"required": [
"firstName",
"lastName"
],
"properties": {
"firstName": {
"type": "string"
},
"lastName": {
"type": "string"
},
"middleInitial": {
"type": "string"
}
}
},
"VVSProvider": {
"type": "object",
"required": [
"contactInformation",
"location"
],
"properties": {
"name": {
"$ref": "#/definitions/VVSPersonName"
},
"id": {
"$ref": "#/definitions/VVSPersonIdentifier"
},
"contactInformation": {
"$ref": "#/definitions/VVSContactInformation"
},
"location": {
"$ref": "#/definitions/VVSLocation"
},
"virtualMeetingRoom": {
"$ref": "#/definitions/VVSVirtualMeetingRoom"
},
"vistaDateTime": {
"type": "string",
"example": "2018-06-22T08:00:19Z",
"format": "date-time"
}
}
},
"VVSProviderList": {
"type": "object",
"properties": {
"provider": {
"type": "array",
"items": {
"$ref": "#/definitions/VVSProvider"
}
}
}
},
"VVSReasonCode": {
"type": "string",
"description": "",
"enum": [
"APPOINTMENT_NO_LONGER_REQUIRED",
"CLINIC_CANCELLED",
"CLINIC_STAFFING",
"DEATH_IN_FAMILY",
"INPATIENT_STATUS",
"OTHER",
"PATIENT_DEATH",
"PATIENT_NOT_ELIGIBLE",
"SCHEDULING_CONFLICT_OR_ERROR",
"TRANSFER_OPT_CARE_TO_OTHER_VA",
"TRAVEL_DIFFICULTY",
"UNABLE_TO_KEEP_APPOINTMENT",
"WEATHER"
]
},
"VVSSchedulingRequestType": {
"type": "string",
"description": "",
"enum": [
"NEXT_AVAILABLE_APPT",
"OTHER_THAN_NEXT_AVAILABLE_CLINICIAN_REQUESTED",
"OTHER_THAN_NEXT_AVAILABLE_PATIENT_REQUESTED",
"WALKIN_APPTOINTMENT",
"MULTIPLE_APPTOINTMENT_BOOKING",
"AUTO_REBOOK",
"OTHER_THAN_NEXT_AVAILABLE_APPOINTMENT"
]
},
"VVSStatus": {
"type": "object",
"properties": {
"description": {
"type": "string"
},
"code": {
"$ref": "#/definitions/VVSStatusCode"
},
"reason": {
"$ref": "#/definitions/VVSReasonCode"
}
}
},
"VVSStatusCode": {
"type": "string",
"description": "",
"enum": [
"CHECKED_IN",
"CHECKED_OUT",
"NO_ACTION_TAKEN",
"NO_SHOW",
"CANCELLED_BY_CLINIC",
"NO_SHOW_AND_AUTO_RE_BOOK",
"CANCELLED_BY_CLINIC_AND_AUTO_RE_BOOK",
"INPATIENT_APPOINTMENT",
"CANCELLED_BY_PATIENT",
"CANCELLED_BY_PATIENT_AND_AUTO_REBOOK",
"FUTURE",
"NON_COUNT",
"DELETED",
"ACTION_REQUIRED"
]
},
"VVSTimeZone": {
"type": "string",
"description": "Numeric time zone value:\n * 0 - Etc/GMT+12 \n * 6 - Etc/GMT+11 \n * 1 - Pacific/Pago_Pago \n * 2 - Pacific/Honolulu \n * 3 - America/Anchorage \n * 4 - America/Los_Angeles \n * 5 - America/Tijuana \n * 10 - America/Denver \n * 13 - America/Mazatlan \n * 15 - America/Phoenix \n * 25 - America/Regina \n * 29 - America/Monterrey \n * 33 - America/Chicago \n * 35 - America/New_York \n * 40 - America/Indiana/Indianapolis \n * 45 - America/Bogota \n * 301 - America/Mexico_City \n * 47 - America/Caracas \n * 56 - America/Santiago \n * 50 - America/Halifax \n * 55 - America/La_Paz \n * 58 - America/Cuiaba \n * 59 - America/Asuncion \n * 60 - America/St_Johns \n * 65 - America/Sao_Paulo \n * 69 - America/Argentina/Buenos_Aires \n * 70 - America/Cayenne \n * 71 - America/Bahia \n * 73 - America/Godthab \n * 74 - America/Montevideo \n * 75 - Etc/GMT+1 \n * 76 - Etc/GMT+2 \n * 80 - Atlantic/Azores \n * 83 - Atlantic/Cape_Verde \n * 84 - Africa/Casablanca \n * 85 - Etc/GMT \n * 90 - Africa/Monrovia \n * 92 - UTC \n * 95 - Europe/Belgrade \n * 100 - Europe/Warsaw \n * 105 - Europe/Brussels \n * 110 - Europe/Amsterdam \n * 141 - Africa/Windhoek \n * 120 - Africa/Cairo \n * 125 - Europe/Helsinki \n * 129 - Asia/Amman \n * 130 - Europe/Athens \n * 131 - Asia/Beirut \n * 133 - Asia/Damascus \n * 134 - Europe/Istanbul \n * 135 - Asia/Jerusalem \n * 140 - Africa/Harare \n * 159 - Europe/Kaliningrad \n * 151 - Europe/Minsk \n * 145 - Europe/Moscow \n * 150 - Asia/Kuwait \n * 155 - Africa/Nairobi \n * 158 - Asia/Baghdad \n * 174 - Europe/Samara \n * 160 - Asia/Tehran \n * 165 - Asia/Muscat \n * 169 - Asia/Baku \n * 170 - Asia/Yerevan \n * 172 - Indian/Mauritius \n * 173 - Asia/Tbilisi \n * 175 - Asia/Kabul \n * 180 - Asia/Yekaterinburg \n * 184 - Asia/Karachi \n * 185 - Asia/Tashkent \n * 190 - Asia/Kolkata \n * 200 - Asia/Colombo \n * 193 - Asia/Kathmandu \n * 196 - Asia/Dhaka \n * 201 - Asia/Novosibirsk \n * 203 - Asia/Rangoon \n * 205 - Asia/Bangkok \n * 207 - Asia/Krasnoyarsk \n * 210 - Asia/Hong_Kong \n * 215 - Asia/Kuala_Lumpur \n * 220 - Asia/Taipei \n * 225 - Australia/Perth \n * 227 - Asia/Irkutsk \n * 228 - Asia/Ulaanbaatar \n * 229 - Asia/Pyongyang \n * 230 - Asia/Seoul \n * 235 - Asia/Tokyo \n * 240 - Asia/Yakutsk \n * 245 - Australia/Darwin \n * 250 - Australia/Adelaide \n * 256 - Australia/Sydney \n * 260 - Australia/Brisbane \n * 265 - Australia/Hobart \n * 270 - Asia/Vladivostok \n * 275 - Pacific/Guam \n * 281 - Asia/Magadan \n *284 - Etc/GMT-12 \n * 285 - Pacific/Fiji \n * 290 - Pacific/Auckland \n * 300 - Pacific/Tongatapu \n",
"enum": [
"0",
"6",
"1",
"2",
"3",
"4",
"5",
"10",
"12",
"13",
"15",
"20",
"25",
"29",
"30",
"33",
"35",
"40",
"45",
"301",
"47",
"56",
"50",
"55",
"58",
"59",
"60",
"65",
"69",
"70",
"71",
"73",
"74",
"75",
"76",
"80",
"83",
"84",
"85",
"90",
"92",
"95",
"100",
"105",
"110",
"113",
"141",
"115",
"120",
"125",
"129",
"130",
"131",
"133",
"134",
"135",
"140",
"159",
"151",
"145",
"150",
"155",
"158",
"174",
"160",
"165",
"169",
"170",
"172",
"173",
"175",
"180",
"184",
"185",
"190",
"200",
"193",
"195",
"196",
"201",
"203",
"205",
"207",
"210",
"215",
"220",
"225",
"227",
"228",
"229",
"230",
"235",
"240",
"245",
"250",
"251",
"255",
"256",
"260",
"265",
"266",
"270",
"275",
"279",
"280",
"281",
"284",
"285",
"290",
"295",
"300"
]
},
"VVSVirtualMeetingRoom": {
"type": "object",
"required": [
"conference",
"pin",
"url"
],
"properties": {
"conference": {
"type": "string"
},
"pin": {
"type": "string"
},
"url": {
"type": "string",
"format": "url"
}
}
},
"VVSCancelAppointmentRequest": {
"type": "object",
"required": [
"id",
"patientBookingStatuses",
"sourceSystem"
],
"properties": {
"id": {
"type": "string"
},
"sourceSystem": {
"type": "string"
},
"patientBookingStatuses": {
"$ref": "#/definitions/VVSPersonBookingStatuses"
}
}
},
"VVSPersonBookingStatus": {
"type": "object",
"required": [
"id",
"status"
],
"properties": {
"id": {
"$ref": "#/definitions/VVSPersonIdentifier"
},
"status": {
"$ref": "#/definitions/VVSStatus"
}
}
},
"VVSPersonBookingStatuses": {
"type": "object",
"properties": {
"personBookingStatus": {
"type": "array",
"items": {
"$ref": "#/definitions/VVSPersonBookingStatus"
}
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment