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
|
when coalesce(t1.id_verification_status, t2.id_verification_status) = 1
|
||||||
then 1
|
then 1
|
||||||
else 0
|
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
|
from expected_verification_types evt
|
||||||
left join
|
left join
|
||||||
same_vr_verification_state as t1
|
same_vr_verification_state as t1
|
||||||
|
|
@ -109,13 +115,53 @@ with
|
||||||
by_user_verification_state as t2
|
by_user_verification_state as t2
|
||||||
on evt.id_user_guest = t2.id_user_guest
|
on evt.id_user_guest = t2.id_user_guest
|
||||||
and evt.verification_type = t2.verification
|
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
|
select
|
||||||
id_verification_request,
|
id_verification_request,
|
||||||
count(1) as expected_verification_count,
|
expected_verification_count,
|
||||||
sum(global_id_verification_status) as confirmed_verification_count,
|
confirmed_from_same_verification_request_count,
|
||||||
coalesce(
|
confirmed_from_previous_verification_requests_count,
|
||||||
count(1) = sum(verification_is_complete), false
|
confirmed_verification_count,
|
||||||
) as is_verification_request_complete
|
is_verification_request_complete,
|
||||||
from completeness_summary
|
case
|
||||||
group by id_verification_request
|
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.
|
description: name of the business metric.
|
||||||
tests:
|
tests:
|
||||||
- not_null
|
- 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