我正在提取表 AbsDrgDiagnosis.Diagnosis 中的一个代码 (ICD9)。当 DMisNomenclatureMapCodes.CodeSetID = 'SNOMED_CT' 时,我需要提取另一个表 DMisNomenclatureMapCodes.CodeID 中的另一个代码(SNOMED_CT)
那么链接这两个表的唯一方法是当 DMisNomenclatureMapCodes.CodeSetID = 'ICD9' 时通过 AbsDrgDiagnosis.Diagnosis = DMisNomenclatureMapCodes.CodeID
例如,当 CodeSetID = 'SNOMED_CT' 时,我必须从 DMisNomenclatureMapCodes.CodeID 报告 3942005。
EXAMPLE DATA:
Diagnosis
AbsDrgDiagnosis 290.23
CodeID CodeSetID MisNomenclatureMapID
DMisNomenclatureMapCodes 290.23 ICD9 IMO-PROC-99959
3942005 SNOMED_CT IMO-PROC-99959
53899 CPT IMO-PROC-99959
到目前为止,我只能比较 DMisNomenclatureMapCodes.CodeID 上的 AbsDrgDiagnosis.Diagnosis,它们都等于 290.23,但之后我不知道如何获得 SNOMED 代码。我假设我必须对 DMisNomenclatureMapCodes.MisNomenclatureMapID 执行另一个子查询以获取分组,然后找到 SNOMED_CT 的 CodeSetID 以获取 CodeID 3942005 的最终值。我该如何尝试呢?任何帮助将不胜感激,我尝试了几个子查询,但他们出错了。我是 SQL 新手,所以如果我说的不正确或以专家的方式写出来,请善待。
CODE:
DECLARE
SET @StartDate = '10/28/2013 00:00:000'
SET @EndDate = '12/28/2013 23:59:000'
SELECT
,Diagnosis AS Code_3
,DMisNomenclatureMapCodes.CodeID
,DMisNomenclatureMapCodes.MisNomenclatureMapID
FROM AbsDrgDiagnoses
LEFT JOIN AbstractData
ON AbstractData.VisitID = AbsDrgDiagnoses.VisitID
LEFT JOIN DMisNomenclatureMapCodes
ON DMisNomenclatureMapCodes.CodeID = AbsDrgDiagnoses.Diagnosis
WHERE AbstractData.DischargeDateTime BETWEEN @StartDate and @EndDate