Skip to content

Commit b1fd584

Browse files
committed
new T-SQL
1 parent e862214 commit b1fd584

File tree

1 file changed

+68
-0
lines changed

1 file changed

+68
-0
lines changed
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
-- =============================================================================
2+
-- META-ELEMENT: {"type": "drop_table"}
3+
-- Note: uncomment only if dropping to apply new structural update(s)
4+
-- =============================================================================
5+
-- DROP TABLE IF EXISTS ssd_disability;
6+
7+
-- =============================================================================
8+
-- META-ELEMENT: {"type": "create_table"}
9+
-- =============================================================================
10+
11+
CREATE TABLE IF NOT EXISTS ssd_disability
12+
(
13+
disa_table_id VARCHAR(48) PRIMARY KEY, -- metadata={"item_ref":"DISA003A"}
14+
disa_person_id VARCHAR(48) NOT NULL, -- metadata={"item_ref":"DISA001A"}
15+
disa_disability_code VARCHAR(48) NOT NULL -- metadata={"item_ref":"DISA002A"}
16+
);
17+
18+
-- =============================================================================
19+
-- Truncate before reload
20+
-- =============================================================================
21+
TRUNCATE TABLE ssd_disability;
22+
23+
-- =============================================================================
24+
-- Load data into ssd_disability
25+
-- =============================================================================
26+
27+
INSERT INTO ssd_disability (
28+
disa_table_id,
29+
disa_person_id,
30+
disa_disability_code
31+
)
32+
;WITH EXCLUSIONS AS (
33+
SELECT
34+
PV.PERSONID
35+
FROM [eclipseDelta].[dbo].[PERSONVIEW] PV
36+
WHERE PV.PERSONID IN (1,2,3,4,5,6) -- hard filter admin/test/duplicate records
37+
OR COALESCE(PV.DUPLICATED,'?') = 'DUPLICATE'
38+
OR UPPER(PV.FORENAME) LIKE '%DUPLICATE%'
39+
OR UPPER(PV.SURNAME) LIKE '%DUPLICATE%'
40+
)
41+
SELECT
42+
CLA.CLASSIFICATIONASSIGNMENTID AS disa_table_id, -- metadata={"item_ref":"DISA003A"}
43+
CLA.PERSONID AS disa_person_id, -- metadata={"item_ref":"DISA001A"}
44+
CASE
45+
WHEN CLASSIFICATION.NAME = 'No disability' THEN 'NONE'
46+
WHEN CLASSIFICATION.NAME = 'Mobility' THEN 'MOB'
47+
WHEN CLASSIFICATION.NAME = 'Hand function' THEN 'HAND'
48+
WHEN CLASSIFICATION.NAME = 'Personal care' THEN 'PC'
49+
WHEN CLASSIFICATION.NAME = 'Incontinence' THEN 'INC'
50+
WHEN CLASSIFICATION.NAME = 'Communication' THEN 'COMM'
51+
WHEN CLASSIFICATION.NAME = 'Learning Disability'
52+
OR CLA.NAME = 'Learning' THEN 'LD'
53+
WHEN CLASSIFICATION.NAME = 'Hearing' THEN 'HEAR'
54+
WHEN CLASSIFICATION.NAME = 'Vision' THEN 'VIS'
55+
WHEN CLASSIFICATION.NAME = 'Behaviour' THEN 'BEH'
56+
WHEN CLASSIFICATION.NAME = 'Consciousness' THEN 'CON'
57+
WHEN CLASSIFICATION.NAME = 'Diagnosed autism/aspergers'
58+
OR CLASSIFICATION.NAME = 'Autistic Spectrum Disorder'
59+
OR CLASSIFICATION.NAME = 'Autism spectrum condition'
60+
THEN 'AUT'
61+
ELSE 'DDA'
62+
END AS disa_disability_code -- metadata={"item_ref":"DISA002A"}
63+
FROM [eclipseDelta].[dbo].[CLASSIFICATIONPERSONVIEW] CLA
64+
LEFT JOIN CLASSIFICATION
65+
ON CLASSIFICATION.ID = CLA.CLASSIFICATIONCODEID
66+
WHERE CLA.STATUS NOT IN ('DELETED')
67+
AND CLA.CLASSIFICATIONPATHID IN (55, 58, 79, 172, 186)
68+
AND CLA.PERSONID NOT IN (SELECT PERSONID FROM EXCLUSIONS);

0 commit comments

Comments
 (0)