Merged PR 2020: Verification request completeness for intermediate steps + schema documentation
Add more detailed logic into the verification request completeness for intermediate stages. Added schema documentation Related work items: #17268
This commit is contained in:
parent
6ef278a271
commit
6b4490b017
2 changed files with 110 additions and 8 deletions
|
|
@ -99,7 +99,13 @@ with
|
|||
when coalesce(t1.id_verification_status, t2.id_verification_status) = 1
|
||||
then 1
|
||||
else 0
|
||||
end as verification_is_complete
|
||||
end as verification_is_complete,
|
||||
case
|
||||
when t2.id_verification_status = 1 then 1 else 0
|
||||
end as confirmed_from_previous_verification_requests,
|
||||
case
|
||||
when t1.id_verification_status = 1 then 1 else 0
|
||||
end as confirmed_from_same_verification_request
|
||||
from expected_verification_types evt
|
||||
left join
|
||||
same_vr_verification_state as t1
|
||||
|
|
@ -109,13 +115,53 @@ with
|
|||
by_user_verification_state as t2
|
||||
on evt.id_user_guest = t2.id_user_guest
|
||||
and evt.verification_type = t2.verification
|
||||
),
|
||||
completeness_count as (
|
||||
select
|
||||
id_verification_request,
|
||||
count(1) as expected_verification_count,
|
||||
sum(
|
||||
confirmed_from_same_verification_request
|
||||
) as confirmed_from_same_verification_request_count,
|
||||
sum(
|
||||
confirmed_from_previous_verification_requests
|
||||
) as confirmed_from_previous_verification_requests_count,
|
||||
coalesce(
|
||||
sum(global_id_verification_status), 0
|
||||
) as confirmed_verification_count,
|
||||
coalesce(
|
||||
count(1) = sum(verification_is_complete), false
|
||||
) as is_verification_request_complete
|
||||
from completeness_summary
|
||||
group by id_verification_request
|
||||
)
|
||||
select
|
||||
id_verification_request,
|
||||
count(1) as expected_verification_count,
|
||||
sum(global_id_verification_status) as confirmed_verification_count,
|
||||
coalesce(
|
||||
count(1) = sum(verification_is_complete), false
|
||||
) as is_verification_request_complete
|
||||
from completeness_summary
|
||||
group by id_verification_request
|
||||
expected_verification_count,
|
||||
confirmed_from_same_verification_request_count,
|
||||
confirmed_from_previous_verification_requests_count,
|
||||
confirmed_verification_count,
|
||||
is_verification_request_complete,
|
||||
case
|
||||
when
|
||||
confirmed_from_same_verification_request_count > 0
|
||||
and is_verification_request_complete
|
||||
then true
|
||||
else false
|
||||
end as used_verification_from_same_verification_request,
|
||||
case
|
||||
when
|
||||
confirmed_from_previous_verification_requests_count > 0
|
||||
and is_verification_request_complete
|
||||
then true
|
||||
else false
|
||||
end as used_verification_from_previous_verification_requests,
|
||||
case
|
||||
when
|
||||
confirmed_from_previous_verification_requests_count > 0
|
||||
and confirmed_from_same_verification_request_count = 0
|
||||
and is_verification_request_complete
|
||||
then true
|
||||
else false
|
||||
end as is_complete_only_from_previous_verification_requests
|
||||
from completeness_count
|
||||
|
|
|
|||
|
|
@ -210,3 +210,59 @@ models:
|
|||
description: name of the business metric.
|
||||
tests:
|
||||
- not_null
|
||||
|
||||
- name: int_core__verification_request_completeness
|
||||
description: |
|
||||
The `int_core__verification_request_completeness` model allows to determine if a verification request is
|
||||
completed or not. To achieve it, it encapsulates the logic to determine the different possibilites. Its main
|
||||
output is the column is_verification_request_complete, but it also provides outputs of the intermediate logic
|
||||
steps to be used for further modeling, such as determining the completion date.
|
||||
|
||||
columns:
|
||||
- name: id_verification_request
|
||||
data_type: bigint
|
||||
description: id of the verification request. It's the unique key for this model.
|
||||
tests:
|
||||
- not_null
|
||||
- unique
|
||||
|
||||
- name: expected_verification_count
|
||||
data_type: int
|
||||
description: count of verifications that are expected to be passed in order to complete the request.
|
||||
|
||||
- name: confirmed_from_same_verification_request_count
|
||||
data_type: int
|
||||
description: count of confirmed verifications that its logic is computed from the same verification request.
|
||||
|
||||
- name: confirmed_from_previous_verification_requests_count
|
||||
data_type: int
|
||||
description: count of confirmed verifications that its logic is computed from previous verification requests.
|
||||
|
||||
- name: confirmed_verification_count
|
||||
data_type: int
|
||||
description: |
|
||||
total count of confirmed verifications. Mainly, it's the sum of the confirmed verifications
|
||||
that come from the same verification request plus the ones that come from previous verifications requests.
|
||||
|
||||
- name: is_verification_request_complete
|
||||
data_type: boolean
|
||||
description: if the verification request can be considered as completed or not.
|
||||
|
||||
- name: used_verification_from_same_verification_request
|
||||
data_type: boolean
|
||||
description: |
|
||||
if the verification request can be considered as completed and has at least one confirmed verification
|
||||
from the same verification request.
|
||||
|
||||
- name: used_verification_from_previous_verification_requests
|
||||
data_type: boolean
|
||||
description: |
|
||||
if the verification request can be considered as completed and has at least one confirmed verification
|
||||
from a previous verification request.
|
||||
|
||||
- name: is_complete_only_from_previous_verification_requests
|
||||
data_type: boolean
|
||||
description: |
|
||||
if the verification request can be considered as completed and all confirmed verifications are from
|
||||
previous verification requests.
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue