Я извлекаю данные встречи. использование хранимой процедуры из EMR для загрузки и форматирования для стороннего поставщика EDI. В некоторых данных отсутствует код процедуры, поэтому я создал таблицу «пешеходного перехода», которая сопоставляет типы поставщиков и типы посещений с соответствующими кодами. Теперь у меня проблемы с привязкой таблицы к тому месту, где код должен быть успешным. По сути, мне нужно следующее: «Если код процедуры равен нулю, перейдите в эту таблицу и найдите этот тип поставщика, затем этот тип посещения, а затем используйте код процедуры, связанный с этими двумя».
Я попытался использовать только цикл "Case when", но он дал такой большой результат, что не хватило места для его завершения (что определенно не должно быть так). Если я запускаю только код для таблицы «lookup», превращая ее во временную таблицу, она создает пропущенные коды. Я просто не могу понять, как вставить это в хранимую процедуру. Вот этот код:
SELECT #Crosswalk.PROC_CODE
FROM #Crosswalk
SELECT
DISTINCT
a.[encounter id],
CASE
WHEN a.[Code] IS NULL
THEN CASE
WHEN a.[Provider] = b.[Provider]
THEN CASE
WHEN a.[Visit Type] = b.[Visit Type]
THEN b.[Proxy Code]
ELSE a.[Code]
END
ELSE a.[Code]
END
ELSE a.[Code]
END AS 'PROC_CODE'
INTO #Crosswalk
FROM v_all_encounters AS a
FULL OUTER JOIN [dbo].[Crosswalk] AS b ON a.[Provider] = b.[Provider]
/* It needs to go in the stored procedure right where a.[Code] AS 'PROC CODE' is below; if a.[Code] is NULL--I need it to replace it with my alternate code*/
'' AS 'Type_of_Service',
'' AS 'Revenue_Code',
a.[Code] AS 'PROC_Code',
'' AS 'PROC_Code_MOD1',