GithubHelp home page GithubHelp logo

vets-json-schema's Introduction

vets-json-schema Build Status

Purpose

Forms on VA.gov use JSON schema to define a common contract for data validation between the front and back ends. This is where those schemas are kept.

Development

Workflow

  1. Clone the repo
  2. Make a branch for your changes
  3. Make the changes needed for your form
  4. Update the version number in package.json
  5. Submit a PR
  6. Once that PR is merged
    1. Create a PR in vets-website to update the vets-json-schema dependency
      • This can be done with yarn update:schema
    2. If adding or removing a form, update forms tests in vets-website
    3. Create a PR in vets-api to update the dependency

Environment

node v8.10.0

I want to...

I want to... Then you should...
clone the repo git clone https://github.com/department-of-veterans-affairs/vets-json-schema.git followed by cd vets-json-schema, yarn install. Run yarn install any time package.json changes.
build the json schemas and examples yarn run build
watch for changes and rebuild when they happen yarn run watch
run tests on the built schemas yarn run test
create a new schema https://github.com/department-of-veterans-affairs/va.gov-team/blob/master/platform/engineering/frontend/vets-website/creating-form-schema.md

Updating Version

  • Update the "version" property in package.json with the new version. Please follow Semantic Versioning practices.
    • If implementing a major version update, add a link in your vets-json-schema PR that references the vets-api, or vets-website, PR that addresses the breaking changes.
    • Breaking changes include:
      • Removing a property from a schema
      • Adding a property to a schema that has additionalProperties set to false
      • Making a property required that was not previously required on that schema
      • Changing the type on a schema's property
      • Removing values in the enum key of a schema's property
      • ect.
  • Run yarn update.
  • Commit the changes to package.json and yarn.lock
  • After changes to vets-json-schema have been merged into master:
    • update vets-website to point to the latest vets-json-schema version by running yarn update:schema and making a PR
    • update vets-api by running bundle update vets_json_schema and making a PR. Caution: verify that you changes are only related to vets_json_schema version. If you see sidekiq changes, follow these instructions

vets-json-schema's People

Contributors

abhijitvk avatar annaswims avatar batemapf avatar bkjohnson avatar cehsu avatar cohnjesse avatar cvalarida avatar dependabot[bot] avatar dmccurdybah avatar edmangimelli avatar erikphansen avatar gcionapoleon avatar hughes-dustin avatar jbalboni avatar jerekshoe avatar jgacek avatar jholton avatar kevinmirc avatar kylesoskin avatar lihanli avatar markgreenburg avatar micahchiang avatar michelpmcdonald avatar mottie avatar rlbaker avatar stephenbarrs avatar timwright12 avatar u-don avatar voidspooks avatar zurbergram avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vets-json-schema's Issues

educationType should be an enum

On the front end form, educationType is a dropdown that will only have one value, so it makes more sense for it to be an enum instead of an object with boolean properties.

Contact Center prepare for launch of Epic #756 Texting for Medical Appointments

Contact Center prepare for launch of Epic #756 Texting for Medical Appointments

Following the document, https://github.com/department-of-veterans-affairs/va.gov-vfs-teams/blob/master/Request-Reviews/request-contact-center-review.md#request-a-contact-center-review , it appears we need two items for the completion of this issue in preparation to launch the Texting for Medical Appointments.

1- Update the Existing Product Guide-Clarice
2- Prepare a Video and Transcript for the Contact Center-ByLight

COVID-19 FAQs: Week of 4.6.20

Add new FAQs to page based on new VBA guidance

User story: As a Veteran, I need the latest information about how to manage my VA benefits, services, and claims during the COVID pandemic and how to manage specific financial concerns during this time.

Details

New VBA-provided references for sourcing content:

  • April 7, 2020 VBA COVID Comprehensive Blog, “Veterans Benefits Administration (VBA) is open for business!”
  • April 3, 2020 OPIA press release, “VA extends financial, benefit and claims relief to Veterans.” https://www.va.gov/opa/pressrel/pressrelease.cfm?id=5412
  • April 6, 2020 email forwarded from Justin R. Warren re: ExSum Veteran Debt. Language in email included below for reference:
    BOTTOM LINE UP FRONT: VHA to postpone collections of Veteran medical debt due to Presidential announcement
    EXECUTIVE SUMMARY: As announced during the April 2, 2020 White House COVID-19 Briefing, VA is expected to immediately suspend the creation of new Veteran debt across all VA programs. In addition, all actions on debts owed to the Department of Veterans Affairs under the jurisdiction of the Department of Treasury were suspended. To provide relief to Veterans experiencing financial difficulties with pre-existing VA debts, VA is suspending collection action or extending the terms of repayment agreements in accordance with the Veteran preference. VHA Office of Community Care is working with the Office of Management in ensuring compliance with the President’s announcement. This action will most likely impact the ability of VHA to meet the Medical Care Collections Goal included in the President’s Budget.
    ACTION REQUIRED: On April 6, 2020 VHA will suppress printing and mailing of first party monthly copayment billing statements for all Veterans, virtually stopping all first party copayments. Impact to collections is currently under development.

Process

  • Content triage meeting 4.6.20
  • Draft copy
  • Peer review (Jen, Peggy)
  • Send PDF of content to VBA via Sandy for approval by 4.8.20 10 a.m.
  • Flow content into Drupal and create PDF
  • Incorporate changes from VBA in Drupal and send to Lauren for JTF review by 4.8.20 12 noon
  • Incorporate JTF changes by 4.10.20, 12 noon for Friday deploy

Connect to VAMF appointments

Utilize VAMF service for appointment reads as does VAOS. This would be done in the staging environment when access can be obtained

Add .gitgnore

Should add a .gitignore file so we can ignore node_modules.

Downtime Notifications - Reduce performance burden of previous DTN implementation for apps and forms

Previously we employed a DTN implementation for apps and forms that was made quickly and it introduced code that would impact the performance of va.gov. Those changes were rolled back right after the scheduled downtime to remove the performance problem. A long-term solution has drafted, but the effort is not small and the forecast of downtime was also very small so this work was deprioritized. With more scheduled downtime looming there are quick fixes that we can do to refactor the previous implementation so that it can remain in the code permanently with drastically hampering performance. This will alleviate the issue of having to add and revert this code every time there is downtime.

  • Refactor the code so it doesn't hamper performance of the FE
  • Test out pager duty document to make sure that it turns on automatically when vets-api is not available.

Change Query Time Parameter for Appointment Lookup - Questionnaire Manager

Background
Currently, the time parameter in the appointment lookup query for questionnaires is set from current day, to 1 year in the past and 1 year in the future. This is results in a large amount of JSON data being captured that gets sent to a mobile device in which we have no control over internet connection. The result is a slow load time of up to over 1 minute (this varies).

image.png

Slack thread here:
https://dsva.slack.com/archives/C0136TS768M/p1623411776209200This issue to to complete the necessary

Acceptance Criteria:
Time parameter for the appointment query in questionnaire manager changed from the current time frame to the following:

  • 1 month in the past from current date.
  • 2 weeks in the future from current date.

serviceStatus should not be required

serviceStatus in toursOfDuty should not be required.

months and postMilitaryJob in non-military jobs should not be required.

city in postHighSchoolTrainings should not be required.

involuntarilyCalledToDuty in toursOfDuty should not be required.

Benefits selection fields

The benefits selection part of the schema looks like this:

    "chapter33": {
      "type": "object",
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "electionType": {
          "type": "string"
        },
        "electionDate": {
          "$ref": "#/definitions/date"
        }
      }
    },
    "chapter30": {
      "type": "boolean"
    },
    "chapter1606": {
      "type": "boolean"
    },
    "chapter32": {
      "type": "boolean"
    },

In the wireframes and in the question doc the way chapter 33 benefits works is slightly different. If you choose chapter33, then you need to pick a benefit to relinquish, which can be chapter 30, chapter 1606, chapter 1607, or "I don't know." The front end model looks like this right now, for example:

    "chapter33": true,
    "chapter30": false,
    "chapter1606": true,
    "chapter32": false,
    "benefitsRelinquished": "chapter30" // or chapter1606, chapter1607, or unknown

I think the chapter 33 part of the schema is more than we need for the form we're building. What do you think about something more like what the front end model looks like?

Build LOA1 Account Security Screen

User story

We realized we need to create a profile design for users who are LOA1 and hide certain features of the profile

From Slack:
Right now, LOA1 users can view the account settings page to verify their identities, add 2FA, and see info on how to update their sign-in email address. But for the profile, they can't view it at all because we don't know they are who they say they are. That's great and works for an approach where profile and account are two separate pages.
However, we can't take the same approach with Profile 2.0 and just hide the whole profile from LOA1 users because they still need to see the options to verify their identity, add 2FA, and update their sign in email addresses. This means we need an LOA1 version of the profile which is basically the account settings stuff only.

Additional background

Epic #

Design & Specs

##Copy
ALERT:
Verify your identity to view your profile

We need to make sure you’re you - and not someone pretending to be you - before we can give you access to your personal and health-related information. This helps to keep your information safe, and to prevent fraud and identity theft.

This one-time process takes about 5-10 minutes.

DROPDOWN:
How will VA.gov verify my identity?

We use ID.me, our Veteran-owned technology partner that provides the strongest identity verification system available to prevent fraud and identity theft.

To verify your identity, you’ll need both of these:

  • A smartphone (or a landline or mobile phone and a computer with an Internet connection),
    and
  • Your Social Security number

You’ll also need one of these:

  • A digital image of your driver’s license or passport,
    or
  • The ability to answer certain questions based on private and public data (like your credit report or mortgage history) to prove you’re you

Tasks

  • Build the LOA1 Account Security Screen
  • Implement correct copy.
  • Get Tressa to test out this section and make sure it looks OK.

Acceptance criteria

  • This section has been built and reviewed by Tressa.

COVID-19 Content: Week of 4.13.20: Restructure FAQs

User story

As a Veteran, I want to get my top questions about the coronavirus and VA answered as quickly as possible, and have easy access to other questions if I need them.

Details

Restructure the VA.gov Coronavirus FAQs page as below. Note that we may need to make adjustments to which questions we feature in the top trending questions. I've taken a first pass based on the limited info we have.

  1. H1 (no change)
  2. Intro (no change)
  3. CDC alert (no change)
  4. On this page, with updates as below:

Top trending questions from Veterans [alt: Questions Veterans are asking most]
More health care questions
More benefit, claims, and claim exams questions
More debt, copays, and financial questions
More VA national cemeteries and burials questions
Helpful online tools

  1. First H2 - change to Top trending questions from Veterans

Include the below Q&As in this section, and keep them open (no accordions).

  • What should I do if I have symptoms?
  • What's VA doing to deal with COVID-19?
  • Can I be tested for COVID-19?
  • What should I do if I have an upcoming VA health appointment?
  • How do I reschedule or cancel my upcoming VA appointment?
  • What should I do if I need to refill my prescription?
  • Can I use emergency care?
  • Will my benefit payment be delayed because of COVID-19?
  • My school changed all classes to online. Will I still qualify for my GI Bill benefits?
  • Is VA still doing claim exams (also called compensation and pension, or C&P, exams)?
  • What if I had or need an in-person appointment for VA benefits or services?
  • What if I can't pay my existing VA debt?
  1. Second H2 - change to More health care questions

Include the below Q&As in this section as collapsed accordions.

  • What's coronavirus COVID-19?
  • Can I get a referral to see a community care provider if I can't be seen at VA?
  • What should I do if I have a community care appointment?
  • What if I tried to call my clinic, and I can't get through?
  • What should I do if I need to renew my prescription? [Note: This is a new question. I will provide content later today]
  • I don't have symptoms, but I feel anxious and overwhelmed. What can I do?
  • How do I know if my VA health facility is still open for regular appointments?
  • Can I visit a patient at a VA facility?
  1. Third H2 - change to More benefit, claims, and claim exams questions

Include the below Q&As in this section as collapsed accordions.

  • Are VA regional offices closed?
  • How can I stay updated on regional office closures or service interruptions?
  • How do I contact my local regional office?
  • What if I need to turn in paperwork for my claim or appeal?
  • What if I need to sign paperwork for my VA claim or other documents?
  1. Fourth H2 - change to More debt, copays, and financial questions

Include the below Q&As in this section as collapsed accordions.

  • Will my COVID-19 stimulus check lower my VA payments?
  • What if I’m having trouble paying my VA-backed home loan during this time?
  • Will I still have to pay my VA copays during the pandemic?
  • What if I’ve been diagnosed with COVID-19 and need immediate action on my VA appeal?
  • How do I get help if I'm homeless or at risk of becoming homeless?
  1. Fifth H2 - change to More VA national cemeteries and burials questions

Include the below Q&As in this section as collapsed accordions.

  • Are VA national cemeteries open?
  • Can I still schedule a burial at a national cemetery?
  • Can I schedule a committal service or a military funeral honors service?
  1. Helpful online tools (no changes)

  2. More information (no changes)

Style guide updates to root pages

Confirm that the copyeditor checklist is complete and "heading" work in front matter is done for root pages.

Copyeditor Checklist

[ ] Search for “Servicemember” (uppercase, 1 word) on all pages.
The correct style is: “service member”
[ ] Search for “sign on,” “log in,” “login,” “log on.”
The correct style is: “sign in,” “sign out”
[ ] Scan the page for text links
Remove all periods from textual links. (Keep track in the zenhub issue of any that look awkward
because the text is super long)
[ ] Search for (ET), (CT), (PT)
Remove the parentheses around time zone. This will mostly appear where we’ve listed phone
numbers.
[ ] Scan the page for labels to change to sentence casing
• H1 titles (the title of the page) located in the front matter of the .md file
• Display titles (what shows up in the left nav) also located in the front matter
• Subheads (H2, H3, H4, which often appear as ## or ### or ####)
• Related and major links at the bottom of pages appear sometimes in a gray box (see
screenshot on the next page for a visual)
• Right column callout headings and links (see screenshot on the last page)
[ ] Note 1: Keep the following capped: Veteran / Veterans, VA.gov, proper nouns (including official
program names like Post-911 GI Bill, as well as proper nouns like Agent Orange and Gulf War)
[ ] Note 2: Keep a running list of terms here in this issue (start a new comment box below) that you're
not sure about--does VA consider them proper nouns?: "caregiver coordinator" vs "Caregiver
Coordinator"
[ ] Phone numbers
Remove the 1- before area codes, unless the information is addressed specifically to audience outside U.S. (in which case, use the +1-).
[ ] Fix hierarchy of subheads: H2-H3-H4
[ ] Add (PDF) to ends of links that link to a PDF

Add "heading" tag underneath "title" tag in front matter, copy and paste text from "title" tag and sentence case it in the "heading" tag.

[Analytics] Research ALL VISN 4 Facilities information required for facilities web pages [BA]

VAMC - Product Outline

VAMC-upgrade Product Outline

High Level User Story

As a Veteran Web User, I need clear, concise, and instructions for all VISN 4 Medical facilities, so I can quickly plan my journey to the facility and get to where I want, the data I require, and the support I need.

VAMC-Upgrade KPI met with this EPIC

These tasks support the load of CONTENT from legacy to NEW web systems prior to Milestone date for VISN 4.
Reduce click through count for Veteran Web Users

TASKS: See below list of Stories

Definition of Done

  • All required STORIES, NEW RELEASES, AND EVENTS (within the last 24 months MAX) have been loaded for all 8 remaining VISN 4 Health Systems to include:
  • Altoona
  • Butler
  • Coatesville
  • Erie
  • Lebanon
  • Philadelphia
  • Wilkes-Barre
  • Wilmington
  • _All Data has been provided on VISN 4 spreadsheet and loaded to Share drive/web page.

Contact Center prepare for launch of Epic #756 Texting for Medical Appointments

Contact Center prepare for launch of Epic #756 Texting for Medical Appointments

Following the document, https://github.com/department-of-veterans-affairs/va.gov-vfs-teams/blob/master/Request-Reviews/request-contact-center-review.md#request-a-contact-center-review , it appears we need two items for the completion of this issue in preparation to launch the Texting for Medical Appointments.

1- Update the Existing Product Guide-Clarice
2- Prepare a Video and Transcript for the Contact Center-ByLight

PDF generation for CH 31

CentralMail requires we convert form data into a PDF before uploading. We were not aware of the full implementation scope when we spec'd out CH31

[ENGINEER] Create ALL the Required web pages for each medical center system in VISN 4 [Engineer]

VAMC - Product Outline

VAMC-upgrade Product Outline

High Level User Story

As a Veteran Web User, I need clear, concise, and instructional language on all VISN 4 Medical System web sites, so I quickly get to where I want, the data I require, and the support I need.

VAMC-Upgrade KPI met with this EPIC

These tasks support the load of CONTENT from legacy to NEW web systems prior to Milestone date for VISN 4.

TASKS: See below list of Stories

Definition of Done

  • All required STORIES, NEW RELEASES, AND EVENTS (within the last 24 months MAX) have been loaded for all 8 remaining VISN 4 Health Systems to include:
  • Altoona
  • Butler
  • Coatesville
  • Erie
  • Lebanon
  • Philadelphia
  • Wilkes-Barre
  • Wilmington
  • _Preview URL has been provided to specific System PAO for review.

Schema updates

Some new fields have been added to the wireframes that need to be in the json schema:

applyingUsingOwnBenefits: boolean
benefitsRelinquishedDate: date

Changes:

benefitsToApplyTo: should be enum
faaFlightCertificatesInformation: should be an array of names

staging.va.gov: Past Appointments On the Current Date Not Displaying

Steps to recreate

  1. In VistA create two appointments (in a clinic configured for VAOS) on the current date for a patients. One appt for a time that has passed and one for a time in the future.
  2. Log in to New UI
  3. Expected Response: In Upcoming Appointments tab the future appt displays. In Past Appointment tab the past appointment displays.
  4. Actual Response: In Upcoming Appointments tab the future appt displays. In Past Appointment tab the past appointment does NOT display.

This is the patient and these are the appointments current time is as indicated below

APPOINTMENTS FOR: HDRPSIMPATIENTA,JOANN *--9121 PRINTED: 8/7/2020@14:44

Aug 07, 2020 11:20 AM (60 MINUTES) CHY PC CASSIDY DOES NOT DISPLAY in Past Appts tab. In VistA the status of this appointment is Chy Pc Cassidy 08/07/2020@11:20 No Action Taken/Today and this is an appointment that should display with no status shown.

Aug 07, 2020 2:20 PM (60 MINUTES) CHY PC CASSIDY DOES DISPLAY IN Upcoming appts tab.

Consistent naming

@markolson @lihanli I noticed that some of the names of the fields are not consistent with the names HCA uses for the same fields (e.g., for the veteran's name, HCA uses veteranFullName and the education schema just uses fullName). While the veteran objects are separate now, I think eventually we may move to using a single veteran object for all of vets.gov, so we might as well start making things consistent now. Thoughts?

21-526EZ-allclaims ratedDisabilities and newDisabilities have different properties

ratedDisabilities uses the property name where as newDisabilities uses the property condition this difference cause issues with various places of the code by requiring code to check for the existence of both properties when iterating through the ratedDisabilities, newDisabilities, newPrimaryDisabilities, and newSecondaryDisabilities

ratedDisabilities definition -

ratedDisabilities: _.merge(disabilitiesBaseDef, {

newDisabilities, newPrimaryDisabilities, and newSecondaryDisabilities =

Discovery: Rudimentary Personas & Scenarios

User Story or Problem Statement

As a UX Designer, I need to create rudimentary personas and scenarios so I can share these artifacts with my team prior to the feature scoping activity.

Tasks

  • Meet with designers to discuss synthesized findings and determine intended persona archetypes (1 hour)
  • Create rudimentary persona documents (1 hour)

Acceptance Criteria

  • Rough outline of personas uploaded to GH
  • Rough list of scenarios uploaded to GH

Next Steps

  • Create higher fidelity personas
  • Turn scenarios into customer journeys (and possibly service blueprints)

Blockers

  • N/A

Add ErrorMessage Override

As a user I would like to see more than a hard coded error for every form in the FormBuilder, please make an enhancement so we can override the default hard coded ErrorMessage with out own Custom ErrrorMessage component.

secondaryContact name is just text

On the front end form, the name field for secondaryContact isn't the full 3+ field name, it's a free form text input. I think the schema should be updated so the field is just a string.

Staging: Direct Scheduling Should be Allowed for Patient in Optometry and Food when VATS is Yes 12 or Yes 24/Optometry Request Should be Allowed

Scenarios
Scenario #1 Timeframe 12 mos and #2 TimeFrame 24 mos

  1. In VATS direct scheduling settings for Cheyenne Audiology, Cheyenne Food/Nutrition, Cheyenne Optometry, Sidney Ophthalmology and Cheyenne Move are set to YES, Based on Timeframe 12 mos (same thing happens in Timeframe 24 mos). In VATS requests settings for Cheyenne Audiology, Cheyenne Food/Nutrition, Cheyenne Optometry, Sidney Opthalmology and Cheyenne Move are set to YES, Any Veteran.
  2. [email protected] has past checked out appts in Optometry and Nutrition in clinics that are not filtered by MAS:
  • Chy Optometry (IEN 999) 09/07/2020@08:00 Act Req/Checked Out and

  • Chy Nutrition/Satp (IEN 707) 09/07/2020@11:00 Act Req/Checked Out

  1. Select Optometry, VA, Cheyenne. Expected Response: Direct Scheduling Flow Displays. Actual response: We couldn't find a recent appointment at this location.
  2. Change type of care to Food/nutrition, VA, Cheyenne. Expected Response: Direct Scheduling Flow Displays. Actual Response: Request flow displays.

**Scenario#3.

  1. In VATS Optometry in Cheyenne: Direct Schedule = No. Requests = Yes
  2. [email protected]. Select Optometry, VA, Cheyenne. Expected Response: Request Flow Displays. Actual response: We couldn't find a recent appointment at this location.

School object in schema

The school object in the schema is structured a little differently than the way the form is asking those questions. startDate and educationObjective are always available to be filled out. School name and address only come up when a particular educationType is chosen.

The minimal fix is to change name from being required. It might also make sense to move startDate and educationObjective out of the school object, since they apply to other education types.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.