Je tire un code (ICD9) qui se trouve dans la table AbsDrgDiagnosis.Diagnosis. Je dois tirer un autre code (SNOMED_CT) qui est dans une autre table DMisNomenclatureMapCodes.CodeID quand DMisNomenclatureMapCodes.CodeSetID = « SNOMED_CT »Exécution de plusieurs sous-requêtes
Alors seul moyen de relier ces deux tableaux est par AbsDrgDiagnosis.Diagnosis = DMisNomenclatureMapCodes.CodeID quand DMisNomenclatureMapCodes.CodeSetID = 'ICD9'
Par exemple, je dois signaler 3942005 de DMisNomenclatureMapCodes.CodeID lorsque CodeSetID = 'SNOMED_CT'.
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
Jusqu'à présent, je ne peux comparer AbsDrgDiagnosis.Diagnosis sur DMisNomenclatureMapCodes.CodeID, qui tous deux égaux 290,23, mais après que je suis perdu comment j'obtenir le code SNOMED. Je suppose que je dois faire une autre sous-requête sur DMisNomenclatureMapCodes.MisNomenclatureMapID pour obtenir le groupement, puis trouver le CodeSetID de SNOMED_CT pour obtenir la valeur finale de CodeID 3942005. comment puis-je tenter cela? Toute aide serait grandement appréciée, j'ai essayé quelques sous-requêtes mais elles ont fait une erreur. Je suis nouveau à SQL donc si je n'ai pas dit quelque chose correctement ou écris de manière experte s'il vous plaît soyez gentil.
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
Techniquement, je ne pouvais pas faire une jointure de NMC.CodeID = AbsDrgDiagnoses.Diagnosis, puis faire une sous-requête sur la jointure? – Rich