私は、「プロシージャ」、「観察」、または「プロシージャ」のために医者の診察を受けた患者の数に基づいてカウントを得るselect文を持っています。ストアドプロシージャに含まれる '条件'。私はオプションのパラメータとして 'プロシージャ'、 '観測'、 '条件'を使用しています。 'procedure'、 'condition'、 'observation'はすべて別々のテーブルに格納されています。目的は、ある期間内に「手順」、「観察」または「状態」を有する患者数に対する「分子」値を計算することである。Where句はCount()の特定の行ではなく、すべての行を返します
同じ患者が複数の「手順」、複数の「観察」または複数の「条件」を持つように見える場合、「カウント」はそれらのすべてを導き出し、特定の「分子」値ストアドプロシージャ。
Parameter declarations:
@CareSite VARCHAR(1000), /* where visit occurs */
@AgeStart VARCHAR(10), /* starting age patient's age falls in */
@AgeEnd VARCHAR(10), /* ending age patient's age falls in */
@Gender VARCHAR(10), /* 'men' or 'women'
@Procedure_Numerator VARCHAR(1000)=null, /* procedure the visit is for */
@Condition_Numerator VARCHAR(1000)=null, /* condition the visit is for */
@Observation_Numerator VARCHAR(1000)=null /* observation the visit is for */
SELECT statement:
DECLARE @D1NumVal INT
SET @D1NumVal = (SELECT COUNT(*) AS Numerator
FROM SAS2SQL_DenominatorPersonTest DPT
JOIN SAS2SQL_DenominatorProcedureTest DPRT
ON DPRT.PersonID = DPT.PersonID
JOIN SAS2SQL_DenominatorConditionTest DCT
ON DCT.Person_ID = DPT.PersonID
JOIN SAS2SQL_DenominatorObservationsTest DOT
ON DOT.PersonID = DPT.PersonID
WHERE DPT.D1 = 1
AND DPT.Age >= @AgeStart AND DPT.Age <= @AgeEnd
AND (@Procedure_Numerator IS NOT NULL AND
DPT.CareSiteName = @CareSite AND DPT.Wave =
@Wave
AND DPT.Gender = @Gender AND
DPRT.ProcudureSourceValue =
@Procedure_Numerator)
OR (@Condition_Numerator IS NOT NULL AND
DPT.CareSiteName = @CareSite AND DPT.Wave =
@Wave
AND DPT.Gender = @Gender AND
DCT.X_Condition_Source_Desc =
@Condition_Numerator)
OR (@Observation_Numerator IS NOT NULL AND
DPT.CareSiteName = @CareSite AND DPT.Wave =
@Wave
AND DPT.Gender = @Gender AND
DOT.ObservationSourceValue =
@Observation_Numerator))
私は「CASE WHENに」アプローチを使用してみましたが、私は上記の持っていることは、私は生成しようとしているものに近い結果を返しました。
、その提案のためdnoethをいただきありがとうございます。それは働いたように見えます。波ごとに適切なカウントを含む結果しか表示されません。この訪問は、各ウェーブの開始日と終了日の間に行われ、約3ヶ月の期間です。ご協力ありがとうございました。 – M72
Hmmm ...カウントがオフになっていることに関して、他の分子値でさらにテストした後も問題は残っているようです。私はこれをもっと今日作業し、解決できるかどうかを見てみましょう... – M72