ШАГ 1:
У меня есть следующий код, который создает таблицу ниже:
USE EMTCQIData
SELECT * , (FCT_MAX_CHARGES - CPT_CHARGES) AS DELTA
FROM
(
SELECT CONC.[FIN] as FIN, CONC.Clinical,
CASE
WHEN CONC.Clinical like '%level 5%' THEN '9285'
END FCT_MAX,
CASE
WHEN CONC.Clinical like '%level 5%' THEN CAST($200 AS int)
END FCT_MAX_CHARGES,
CPT.CPT,
CASE
WHEN CPT.CPT like '9285' THEN CAST($200 AS int)
END CPT_CHARGES
FROM CPT_MASTER as CPT
INNER JOIN
(
SELECT DISTINCT ST2.[FIN],
SUBSTRING(
(
SELECT ','+ST1.[Clinical Event Result] AS [text()]
FROM ED_FCT_Q1_FY19 ST1
WHERE ST1.[FIN] = ST2.[Financial Number] AND ST1.[FIN]<> 'No'
Order BY [Financial Number]
FOR XML PATH ('')
), 2, 1000) [Clinical]
FROM ED_FCT_Q1_FY19 ST2
) as CONC ON CONC.[Financial Number]=CPT.FIN
WHERE CPT.CPT LIKE '9928%'
) AS COMPLETE
ORDER BY FIN
ПРОИЗВОДСТВЕННАЯ ТАБЛИЦА (таблица результатов 1)
FIN Clinical FCT_MAX FCT_MAX_Charges CPT CPT_Charges DELTA
1 Dicharge[Level2] Transfer [Level3] 9284 200 9283 100 100
ШАГ 2:
У меня есть код CASE, который анализирует столбец «Клиника» на основе уровня клинического события (без каких-либо данных CPT / FCT, поскольку его нет в таблице ED_FCT_Q1_FY19).Так, например, приведенные выше результаты будут выглядеть одинаково, за исключением того, что столбец «Клинические» будет заменен столбцами с индивидуальным уровнем.
Как я могу вложить этот код CASE в код сверху для получения желаемой таблицы ниже.
Желаемая таблица
FIN Level 1 Level 3 FCT_MAX FCT_MAX_Charges CPT CPT_Charges DELTA
1 Dicharge Transfer 9284 200 9283 100 100
Пример кода дела, который я использовал для анализа КЛИНИЧЕСКОЙ КОЛОННЫ из таблицы результатов 1
SELECT [Financial Number], [Clinical Event Result],
CASE
WHEN [Clinical Event Result] like '%1:1 Nursing care%' Then '1'
ELSE '0'
End [1:1 Nursing Care],
CASE
WHEN [Clinical Event Result] like '%Admission or O.R. preparation%' Then '1'
ELSE '0'
End [Admission or O.R. preparation],
FROM ED_FCT_Q1_FY19