-
Notifications
You must be signed in to change notification settings - Fork 9
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
Medicare cardholder: distinguish between Older Adult and Disabled riders #2355
Comments
@indexing @o-ram we discussed an approach for this that will work given what we know IdG is capable of supporting. The last question is, how should this distinction be represented in analytics?
We'll have a new situation here where we only have a single system name (e.g. (Likely) preferred optionOne option is another field on the event to hold these "extra claims" as we are calling them. This would result in e.g. an Enrollment event that looks something like (simplified): Enrollment event for an under 65 Medicare userAmplitude event {
"event_type": "returned enrollment",
"event_properties": {
"status": "success",
"enrollment_flows": ["medicare"],
"extra_claims": ["disabled"]
}
} Metabase event
Enrollment event for a 65+ Medicare userAmplitude event {
"event_type": "returned enrollment"
"event_properties": {
"status": "success",
"enrollment_flows": ["medicare"]
"extra_claims": []
}
} Metabase event
Alternative optionAn alternative, that may have wider implications if/when we go to a "multiple eligibility checks at the same time" model (and hence probably not our preferred approach until we get deeper into that work), would be to send everything in the Enrollment event for an under 65 Medicare userAmplitude event {
"event_type": "returned enrollment",
"event_properties": {
"status": "success",
"enrollment_flows": ["medicare", "disabled"]
}
} Metabase event
Enrollment event for a 65+ Medicare user{
"event_type": "returned enrollment"
"event_properties": {
"status": "success",
"enrollment_flows": ["medicare"]
}
}
We don't think there is really a difference from the Amplitude/Metabase side, but wanted to run this by both of you for feedback or any other ideas you may have from your experience reporting out of Metabase. RelatedA related question is, how should this be represented in our local Currently this looks like: |
@thekaveman Provided we can easily segment enrollment by type using a set of criteria in Amplitude, either option works for me. Do both options allow using the Thinking forward to the enhanced Veteran API, I think I prefer your preferred option. We would need to establish the "base" eligibility qualifier for a Veteran, perhaps Once we nail down the approach, I will revisit the enrollments list view for Administrator. |
@indexing yes I think the preferred approach above is more suited to something like you describe for the enhanced Veterans API. We can whiteboard it out at some point 👍 |
Background
Medicare is available to generally two different types of people:
This distinction between different types of Medicare recipients is important for the Benefits application enrollment analytics and reporting purposes.
Current state
The Medicare Cardholder flow will rely on the OIDC exchange of scopes and claims with the CDT Identity Gateway (IdG). The code that implements this exchange is found in:
The
EnrollmentFlow
model contains all the information needed for this exchange: the scope(s), the claim, AND the value eventually needed for analytics (the system name).We know that the IdG supports receiving multiple scopes with a given request; we also know that the IdG supports sending back multiple associated claims.
Proposal
The dev team discussed various approaches on 10/9 and here's where we landed:
medicare
anddisabled
claims coming out of IdG rather than doing any calculation on the Benefits sidemedicare
) AND any additional claims (e.g.disabled
) on theEnrollmentFlow
modelAcceptance criteria
EnrollmentFlow.claims_claim
is renamed to something likeEnrollmentFlow.eligibility_claim
EnrollmentFlow.extra_claims
-- space separated string of any additional claims for that flowuserinfo
object returned in the IdG token is parsed for all claims on the given floweligibility.verify.eligibility_from_oauth
modified to check only the "main" claim of the flowThe text was updated successfully, but these errors were encountered: