Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LG-14988 Send additional attributes to AAMVA #11565

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

jmhooper
Copy link
Member

We are planning on sending additional attributes that we read off of documents to AAMVA. This commit modifies the AAMVA client to do so. The new attributes are:

  • Middle name
  • Name suffix
  • Sex
  • Height
  • Weight
  • Eye color

These attributes are only sent if they are available in the applicant. For most of the attributes we do not currently read them from the document so they will not be sent until we enable the feature to do so. The exception to this is middle name. For that reason a feature flag controls whether we send middle name.

We will log whether these attributes are sent and whether they are validated. None of these attributes are "required attributes" so a user will still pass if they are absent or if they do not match.

We are planning on sending additional attributes that we read off of documents to AAMVA. This commit modifies the AAMVA client to do so. The new attributes are:

- Middle name
- Name suffix
- Sex
- Height
- Weight
- Eye color

These attributes are only sent if they are available in the applicant. For most of the attributes we do not currently read them from the document so they will not be sent until we enable the feature to do so. The exception to this is middle name. For that reason a feature flag controls whether we send middle name.

We will log whether these attributes are sent and whether they are validated. None of these attributes are "required attributes" so a user will still pass if they are absent or if they do not match.

changelog: Internal, AAMVA DLDV, Send additional attributes to AAMVA
@jmhooper jmhooper requested a review from a team November 26, 2024 19:45
Copy link
Member

@n1zyy n1zyy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know you're just implementing a feature we were asked to implement, but as this is written this would discriminate against non-binary folks.

I know we are not enforcing a match initially, but because it's all behind one feature flag, I fear some day we're going to look at aggregate proofing rate, see that this PR doesn't hurt it, and switch this over to match.

I'd like to ask that we remove the sex parameter for this until AAMVA fixes their API.

#
# The height is provided in feet-inches (i.e. 5 foot 10 inches is presented as "510").
#
[(height / 12).to_s, (height % 12).to_s].join('')
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need to zero-pad inches? E.g., if someone is 61" tall, are they 51 or 501?

1
when 'female'
2
end
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know you're just following the AAMVA spec, but do they really not have any provision for other designations? E.g., Massachusetts allows an 'X' for sex. And this isn't an isolated edge cases in a progressive state; the State Department does it with passports too.

In general I'm onboard with these changes since we're just matching what the ID says with what the issuing authority's database says it should say: i.e., we're not weighing users, or even looking at what the value is ourselves, just confirming that the weight on the license is what the DMV says they printed on it.

But if AAMVA's implementation doesn't properly map to what states allow, I think the effect of this is discriminatory. Can we pull sex out and land the rest of this?

aamva_applicant = Proofing::Aamva::Applicant.from_proofer_applicant(proofer_applicant)

# This is intended to describe 6'1"
expect(aamva_applicant[:height]).to eq('61')
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, provided this matches what AAMVA says, this answers my first question about padding.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants