Closed angela-tran closed 1 month ago
We're not going to work on this right now for the MVP of the in-person eligibility and enrollment feature.
We'll come back to this feature later and specify it in more detail.
Updated this ticket to describe just modeling and capturing the data for a local enrollment log.
We'll come back to visualizing and reporting on this data later.
As we roll out the in-person eligibility and enrollment feature, we'd like to implement a basic enrollment log to support reporting or auditing requests from agencies -- in a way that is not tied to an external service.
Since Django already provides a framework for modeling this data, we can start simply by:
EnrollmentEvent
Acceptance Criteria
EnrollmentEvent
benefits/core/models.py
with migrationsid
(pk):UUIDField
with default configuredagency
:ForeignKey
toTransitAgency
flow
:ForeignKey
toEnrollmentFlow
method
:TextField
withchoices=["digital", "in_person"]
verified_by
:TextField
enrollment_datetime
:DateTimeField
with default to the current datetime when the model instance is createdexpiration_datetime
:DateTimeField
expiration_datetime
superuser
(except in production, where they are read-only)STAFF_GROUP_NAME
members in all environments, and added/changed in non-production environments__str__
for default Admin display to output theenrollment_datetime
Implementation
EnrollmentEvent
:agency
: the agency from the user's sessionflow
: the flow from the user's sessionmethod
:"digital"
verified_by
depends on the value ofuses_claims_verification
True
:flow.claims_provider.client_name
False
:flow.eligibility_api_url
expiration_datetime
: calculated enrollment expiry, if anyEnrollmentEvent
:agency
: the agency from the user's sessionflow
: the flow from the user's sessionmethod
:"in_person"
verified_by
:f"{user.first_name} {user.last_name}"
from the currently logged-in agency userexpiration_datetime
: calculated enrollment expiry, if anyAdditional context