簡體   English   中英

如果滿足條件,請執行以下操作

[英]If condition is met then do the following

我正在努力創建查詢,並希望從比我聰明的人那里獲得一些指導。 我正在嘗試編寫一個查詢,以使當DRG Code = 005時,從該查詢中獲取所有HOSP_ADMT_DT,然后再次查詢一般索賠表,而沒有DRG = 5條件,並提取30天或更早的所有索賠錄取日期,且在錄取日期之后180天以內,然后加入結果。

編輯:我正在尋找的結果將運行下面的查詢。 我需要這個結果。 然后,從下面的查詢中得出所有的會員ID和入場日期,並執行一個查詢,該查詢拉出所有原始字段而沒有DRG條件= 005,但是具有DRG 5和入場日期的會員ID的條件,然后拉此子集中的所有聲明,並拉取范圍Admit Date(定義為:HOSP_ADMT_DT)-30和Admit Date + 180中的所有聲明。CLM_LN_SVC_FROM_DT,CLM_LN_SVC_TO_DT-定義為

SELECT CLM_MED_DETL_ID
       ,CLM_ID_TXT
       ,CLM_SRC_CD
       ,CLM_LN_SEQ_NUM
       ,MBR_ID
       ,MBR_LST_NAME
       ,MBR_FST_NAME
       ,SVCG_PROV_ADDR_ZIP_CD
       ,SVCG_PROV - ADDR_CNTY
       ,SBMTD_DRG_CD
       ,HOSP_ADMT_DT
       ,HOSP_DSCHRG_DT
       ,RVNU_CD
       ,CLM_LN_UNITS_NUM
       ,CLM_LN_CHRG_AMT
       ,CLM_LN_ALWD_AMT
       ,CLM_LN_PD_AMT
       ,TIN_TXT
       ,HOSP_ADMT_DT
       ,CLM_LN_SVC_FROM_DT
       ,CLM_LN_SVC_TO_DT
    FROM CLM_MED_DETL
    WHERE TIN_TXT IN ( 'A', 'B' )
        AND SBMTD_DRG_CD = '005'
        AND CLM_SRC_CD = 'TRG_FA'
    ORDER BY MBR_LST_NAME ASC
       ,CLM_LN_SEQ_NUM ASC;

試試這個

...在WHERE (SBMTD_DRG_CD='005' OR (SBMTD_DRG_CD <>'005 AND (claim is > 30 days OR laim.date < (180 + admit.date)) ))

我不知道您的日期如何存儲。 (抱歉,在電話上寫,無法格式化代碼)

我認為您需要這樣的東西:

  • CD_005子查詢返回DRG標准= 005的醫療詳細信息,我還在這里包括了您的其他條件,您可能需要修改它們
  • 並且CD_ANY別名包含該表中的所有記錄

當我們在MBR_IDHOSP_ADMT_DT范圍內加入這些別名時,對於曾經有“ 005”索賠要求的客戶,我們會收到[-30; +180]日期范圍在“ 005”索賠要求范圍內的所有記錄。

WITH CD_005 as (
    SELECT  MBR_ID, HOSP_ADMT_DT
        FROM CLM_MED_DETL
        WHERE TIN_TXT IN ( 'A', 'B' )
            AND SBMTD_DRG_CD = '005'
            AND CLM_SRC_CD = 'TRG_FA'
)
SELECT CLM_MED_DETL_ID
       ,CLM_ID_TXT
       ,CLM_SRC_CD
       ,CLM_LN_SEQ_NUM
       ,CD_ANY.MBR_ID
       ,MBR_LST_NAME
       ,MBR_FST_NAME
       ,SVCG_PROV_ADDR_ZIP_CD
       ,SVCG_PROV - ADDR_CNTY
       ,SBMTD_DRG_CD
       ,CD_ANY.HOSP_ADMT_DT
       ,HOSP_DSCHRG_DT
       ,RVNU_CD
       ,CLM_LN_UNITS_NUM
       ,CLM_LN_CHRG_AMT
       ,CLM_LN_ALWD_AMT
       ,CLM_LN_PD_AMT
       ,TIN_TXT
       ,HOSP_ADMT_DT
       ,CLM_LN_SVC_FROM_DT
       ,CLM_LN_SVC_TO_DT
   FROM CLM_MED_DETL CD_ANY 
   JOIN CD_005 
     on CD_ANY.MBR_ID = CD_005.MBR_ID 
    and CD_ANY.HOSP_ADMT_DT >= CD_005.HOSP_ADMT_DT -  30
    and CD_ANY.HOSP_ADMT_DT <= CD_005.HOSP_ADMT_DT + 180
  ORDER BY MBR_LST_NAME ASC
       ,CLM_LN_SEQ_NUM ASC;

希望它運行良好並且真的有幫助,因為我沒有這樣的表,所以我無法檢查它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM