Впервые в SQL, и я использую со структурами запросов.
Давайте попробуем спросить это снова.
Я пытаюсь вложить два отдельных кода, чтобы окончательный результат выглядел следующим образом:
FIN Level1 Level2 Level 3 FCT_MAX FCT_MAX_Charges CPT CPT_Charges DELTA
1 1 0 1 9284 200 9283 100 100
2 0 1 1 9284 200 9281 50 150
Первый код (назовите его кодом X) создает следующую таблицу.Цель этого кода - объединить записи с одним и тем же FIN в одну строку и создать переменную DELTA и переменную CHARGES.
USE EMTCQIData
SELECT FIN, Clinical, FCT_MAX, FCT_MAX_CHARGES, CPT, CPT_CHARGES,
(FCT_MAX_CHARGES - CPT_CHARGES) AS DELTA
FROM
(
SELECT CONC.[Financial Number] as FIN, CONC.Clinical,
CASE
WHEN CONC.Clinical like '%level 5%' THEN '99285'
END FCT_MAX,
CASE
WHEN CONC.Clinical like '%level 5%' THEN CAST($3768 AS int)
END FCT_MAX_CHARGES,
CPT.CPT,
CASE
WHEN CPT.CPT like '99285' THEN CAST($3768 AS int)
END CPT_CHARGES
FROM CPT_MASTER as CPT
INNER JOIN
(
SELECT DISTINCT ST2.[Financial Number],
SUBSTRING(
(
SELECT ','+ST1.[Clinical Event Result] AS [text()]
FROM ED_FCT_Q1_FY19 ST1
WHERE ST1.[Financial Number] = ST2.[Financial Number] AND ST1.[Clinical Event Result]<> '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
ТАБЛИЦА ИЗ КОДА X
FIN Clinical FCT_MAX FCT_MAX_Charges CPT CPT_Charges DELTA
1 Discharge[Level1] Transfer[Leve3] 9284 200 9283 100 100
Единственное изменение из этой таблицы, которое я хочу, - это разбирать столбец Клинические данные по уровням.Так, например, любое клиническое событие уровня 1 будет иметь свой собственный столбец, аналогично для уровня 2, уровня 3 вплоть до событий уровня 5.
Чтобы разобрать события, я разработал другой код (CODE Z), см. Ниже, этот код анализирует КЛИНИЧЕСКУЮ КОЛОНКУ СОБЫТИЙ;однако он не объединяет столбцы, ниже приведен пример вывода:
FIN Level1 Level 2 Level3 ...
1 1 0 1
1 0 0 1
2 1 1 1
3 0 0 1
3 1 1 1
КОД Z
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]
...
FROM ED_FCT_Q1_FY19
МОИ ИСТОЧНИКИ ДАННЫХ: ED_FCT_Q1_FY19 имеет следующие столбцы - Финансовый номер, Результат клинического события, Код оплаты Эти данные содержат один и тот же финансовый номер в нескольких строках
CPT_MASTER- FIN, CPT. Эти данные содержат один и тот же FIN в нескольких строках
. Как указано выше, в конечной требуемой таблице будет содержаться уникальный FIN/ Только финансовый идентификатор.FIN может быть связан с финансовым идентификатором.