@@ -1343,14 +1343,14 @@ END
13431343 END AS IsProtected,
13441344
13451345 -- Postcode cleanse rules:
1346- -- * Protected addresses -> 'con'
1346+ -- * Protected addresses -> 'CON'
13471347 -- * All-X postcodes -> ''
13481348 -- * 'nopostcode' -> ''
13491349 -- * Otherwise retain trimmed postcode
13501350 CASE
13511351 WHEN UPPER (ISNULL (pa .CONFIDENTIAL , ' N' )) = ' Y'
13521352 OR UPPER (ISNULL (pa .IS_RESTRICTED_FLAG , ' N' )) = ' Y'
1353- THEN ' con'
1353+ THEN ' CON' -- confidential/restricted mask
13541354 WHEN REPLACE (pa .POSTCODE , ' ' , ' ' ) =
13551355 REPLICATE (' X' , LEN (REPLACE (pa .POSTCODE , ' ' , ' ' )))
13561356 THEN ' '
@@ -4370,9 +4370,10 @@ PRINT 'Table created: ' + @TableName;
43704370-- =============================================================================
43714371-- Description:
43724372-- Author: D2I
4373- -- Version: 1.0
4374- -- 0.2: 060324 JH
4375- -- 0.1: Corrected/removal of placement_la & episode_id 090124 RH
4373+ -- Version: 1.1
4374+ -- 1.0 placement_postcode CON mask for restricted address added 210826 RH
4375+ -- 0.2: 060324 JH
4376+ -- 0.1: Corrected/removal of placement_la & episode_id 090124 RH
43764377-- Status: [R]elease
43774378-- Remarks: [EA_API_PRIORITY_TABLE]
43784379-- DEV: filtering for OFSTED_URN LIKE 'SC%'
@@ -4445,10 +4446,28 @@ SELECT
44454446 TRY_CAST (fcp .DISTANCE_FROM_HOME AS FLOAT ) AS clap_cla_placement_distance, -- convert to FLOAT (source col is nvarchar, also holds nulls/ints)
44464447 fcp .DIM_LOOKUP_PLACEMENT_PROVIDER_CODE AS clap_cla_placement_provider,
44474448
4448- CASE -- removal of common/invalid placeholder data i.e ZZZ, XX
4449- WHEN LEN (LTRIM (RTRIM (fcp .POSTCODE ))) <= 4 THEN NULL
4450- ELSE LTRIM (RTRIM (fcp .POSTCODE )) -- simplistic clean-up
4451- END AS clap_cla_placement_postcode,
4449+ CASE
4450+ WHEN EXISTS
4451+ (
4452+ SELECT 1
4453+ -- if child had ANY protected/CON address instance
4454+ -- we CON mask the placement location
4455+ FROM HDM .Child_Social .DIM_PERSON_ADDRESS pa
4456+ WHERE pa .DIM_PERSON_ID = fcp .DIM_PERSON_ID
4457+ AND (
4458+ UPPER (ISNULL (pa .CONFIDENTIAL , ' N' )) = ' Y'
4459+ OR UPPER (ISNULL (pa .IS_RESTRICTED_FLAG , ' N' )) = ' Y'
4460+ )
4461+ )
4462+ THEN ' CON'
4463+
4464+ -- clean common/invalid placeholder data i.e ZZZ, XX
4465+ WHEN LEN (LTRIM (RTRIM (fcp .POSTCODE ))) <= 4
4466+ THEN NULL
4467+
4468+ ELSE LTRIM (RTRIM (fcp .POSTCODE ))
4469+ END AS clap_cla_placement_postcode,
4470+
44524471 fcp .END_DTTM AS clap_cla_placement_end_date,
44534472 fcp .DIM_LOOKUP_PLAC_CHNG_REAS_CODE AS clap_cla_placement_change_reason
44544473
0 commit comments