
prerna.query.parsers.ProjectionOnlySqlParser Maven / Gradle / Ivy
The newest version!
package prerna.query.parsers;
import java.util.List;
import java.util.Vector;
import net.sf.jsqlparser.expression.Alias;
import net.sf.jsqlparser.parser.CCJSqlParserUtil;
import net.sf.jsqlparser.statement.Statement;
import net.sf.jsqlparser.statement.select.PlainSelect;
import net.sf.jsqlparser.statement.select.Select;
import net.sf.jsqlparser.statement.select.SelectExpressionItem;
import net.sf.jsqlparser.statement.select.SelectItem;
public class ProjectionOnlySqlParser {
public List projections = new Vector();
public void processQuery(String query) throws Exception {
// parse the sql
Statement stmt = CCJSqlParserUtil.parse(query);
Select select = ((Select)stmt);
PlainSelect sb = (PlainSelect)select.getSelectBody();
List selects = sb.getSelectItems();
for(int selectIndex = 0;selectIndex < selects.size();selectIndex++) {
SelectItem si = selects.get(selectIndex);
if(si instanceof SelectExpressionItem) {
SelectExpressionItem sei = (SelectExpressionItem) si;
Alias seiAlias = sei.getAlias();
if(seiAlias == null) {
projections.add(sei.toString());
} else {
String aliasName = seiAlias.getName().trim();
if(aliasName.startsWith("\"") || aliasName.startsWith("'")) {
aliasName = aliasName.substring(1); //remove the first quote
}
if(aliasName.endsWith("\"") || aliasName.endsWith("'")) {
aliasName = aliasName.substring(0, aliasName.length()-1); //remove the end quote
}
projections.add(aliasName);
}
}
}
}
public List getProjections() {
return projections;
}
public static void main(String[] args) throws Exception {
String query = "\r\n" +
"SELECT CLM_MBRSHP.YEAR_ID AS \"Year_ID\",\r\n" +
"CLM_MBRSHP.MBR_CVRG_TYPE_CD AS Coverage,\r\n" +
"CLM_MBRSHP.AGE_BAND_DESC AS \"Age_Desc\",\r\n" +
"CLM_MBRSHP.MBR_GNDR_CD AS Gender,\r\n" +
"CLM_MBRSHP.RPTG_MBR_RLTNSHP_CD AS Relationship,\r\n" +
"CLM_MBRSHP.CBSA_NM AS \"CBSA_NM\",\r\n" +
"CLM_MBRSHP.ST_CD AS State,\r\n" +
"CLM_MBRSHP.ZIP_CD AS \"Zip Code\",\r\n" +
"BDTC_CTGRY_CD,\r\n" +
"HLTH1.RISK_STG_VAL_TXT AS Health_Status,\r\n" +
"(CASE WHEN HCC_COST >= 25000 THEN 'Yes' ELSE 'No' \r\n" +
" END) AS HCC, \r\n" +
"\r\n" +
"COALESCE(EN_PRD.IsTraditional, 0) AS \"Is_Traditional\", \r\n" +
"COALESCE(EN_PRD.IsEnhanced, 0) AS \"Is_Enhanced\", \r\n" +
"COALESCE(EN_PRD.IsExpanded, 0) AS \"Is_Expanded\", \r\n" +
"COALESCE(EN_PRD.EngagementType, 'Not_Engaged') AS \"Engagement_Type\",\r\n" +
"\r\n" +
"COALESCE(Case EN_PRD.EngagementType when 'Primary' then 'Traditional'\r\n" +
" WHEN 'Enhanced' then 'Care Coordination'\r\n" +
" Else EN_PRD.EngagementType end, 'Not Engaged')as Report_Display,\r\n" +
"--CLM_MBRSHP.MCID as \"Members_mcid\", -- for Testing purpose Only\r\n" +
"--COUNT( CLM_MBRSHP.MCID) over (PARTITION BY CLM_MBRSHP.YEAR_ID,CLM_MBRSHP.MBR_CVRG_TYPE_CD, BDTC_CTGRY_CD, HLTH1.RISK_STG_VAL_TXT, HCC ) as Num_Members,\r\n" +
"sum(MemberMonthsTotal) as \"Member_Months_Total\",\r\n" +
"max(MemberMonthsDenominator) as \"Member_Months_Denominator\",\r\n" +
"sum(MEMBER_MONTHS_COVERAGE) as \"Member_Months_Coverage\",\r\n" +
"sum(TOTL_COST_AMT) as \"Cost_Total\",\r\n" +
"sum(TOTL_INPAT_COST_AMT) as \"IP_Cost_Total\",\r\n" +
"sum(TOTL_OUTPAT_COST_AMT )as \"OP_Cost_Total\",\r\n" +
"sum(TOTL_ED_COST_AMT) as \"ED_Cost_Total\",\r\n" +
"sum(TOTL_PROF_COST_AMT) as \"Prof_Cost_Total\",\r\n" +
"sum(TOTL_AVDBL_ED_COST_AMT) as \"Avoidable_ED_Cost_Total\",\r\n" +
"sum(TOTL_RX_COST_AMT) as \"Rx_Cost_Total\",\r\n" +
"sum(ADMIT) as Admit,\r\n" +
"sum(INPAT_ADMT_CNT) as \"IP_Admit\",\r\n" +
"sum(OUTPAT_ADMT_CNT) as \"OP_Admit\",\r\n" +
"sum(ED_ADMT_CNT) as \"ED_Admit\",\r\n" +
"sum(PROF_ADMT_CNT) as \"Prof_Admit\",\r\n" +
"sum(AVDBL_ED_VST_CNT) as \"Avoidable_ED_Admit\",\r\n" +
"sum(ACUT_INPAT_ADMT_CNT) as \"Acute_IP_Admit\",\r\n" +
"sum(ACUT_INPAT_ADMT_DAYS_CNT) as \"Acute_IP_Admit_Days\"\r\n" +
"FROM\r\n" +
"(\r\n" +
"SELECT\r\n" +
"fact.MCID, \r\n" +
"fact.ACCT_ID,\r\n" +
"TP.YEAR_ID , \r\n" +
"MBR_CVRG_TYPE_CD, \r\n" +
"AGE_BAND_DESC, \r\n" +
"MBR_GNDR_CD,\r\n" +
"RPTG_MBR_RLTNSHP_CD, \r\n" +
"CBSA_NM AS CBSA_NM,\r\n" +
"ST_CD AS ST_CD,\r\n" +
"ZIP_CD AS ZIP_CD,\r\n" +
"BDTC_CTGRY_CD, \r\n" +
"-- cost / admit\r\n" +
"SUM(TOTL_COST_AMT) AS TOTL_COST_AMT,\r\n" +
"SUM(TOTL_INPAT_COST_AMT) AS TOTL_INPAT_COST_AMT,\r\n" +
"SUM(TOTL_OUTPAT_COST_AMT) AS TOTL_OUTPAT_COST_AMT,\r\n" +
"SUM(TOTL_ED_COST_AMT) AS TOTL_ED_COST_AMT,\r\n" +
"SUM(TOTL_PROF_COST_AMT) AS TOTL_PROF_COST_AMT,\r\n" +
"SUM(TOTL_AVDBL_ED_COST_AMT) AS TOTL_AVDBL_ED_COST_AMT,\r\n" +
"SUM(TOTL_RX_COST_AMT) AS TOTL_RX_COST_AMT,\r\n" +
"--admits\r\n" +
"SUM(INPAT_ADMT_CNT) AS INPAT_ADMT_CNT,\r\n" +
"SUM(OUTPAT_ADMT_CNT) AS OUTPAT_ADMT_CNT,\r\n" +
"SUM(ED_ADMT_CNT) AS ED_ADMT_CNT,\r\n" +
"SUM(PROF_ADMT_CNT) AS PROF_ADMT_CNT,\r\n" +
"SUM(AVDBL_ED_VST_CNT) AS AVDBL_ED_VST_CNT,\r\n" +
"SUM(ACUT_INPAT_ADMT_CNT) AS ACUT_INPAT_ADMT_CNT,\r\n" +
"SUM(ACUT_INPAT_ADMT_DAYS_CNT) AS ACUT_INPAT_ADMT_DAYS_CNT,\r\n" +
"sum(ADMT_CNT) as Admit,\r\n" +
"0 AS MemberMonthsDenominator,\r\n" +
"SUM(0) AS MemberMonthsTotal,\r\n" +
"sum(0) as MEMBER_MONTHS_COVERAGE\r\n" +
"FROM CII_CLMS_DSHBRD fact\r\n" +
"/*INNER JOIN ACIISST_USER_SGMNTN SGMNT ON fact.ACCT_ID=SGMNT.ACCT_ID AND fact.SGMNTN_DIM_KEY=SGMNT.ACIISST_SGMNTN_DIM_KEY \r\n" +
"AND ACIISST_USER_ID= AND SESN_ID= AND fact.ACCT_ID='W0003618'*/\r\n" +
"INNER JOIN \r\n" +
"(\r\n" +
"SELECT YEAR_ID ,\r\n" +
"(CASE WHEN YEAR_ID=1 THEN 201809 WHEN YEAR_ID=2 THEN 201709 ELSE 201609 END) AS StartYearMonth\r\n" +
",(CASE WHEN YEAR_ID=1 THEN 201908 WHEN YEAR_ID=2 THEN 201808 ELSE 201708 END) AS EndYearMonth,\r\n" +
"'2019-08-' AS StaticEndDate, 888812 as HighMonth, 111101 as lowMonth, 'Paid' as PaidIncurred,\r\n" +
"EXTRACT (YEAR FROM \r\n" +
"(ADD_MONTHS((CAST (CAST(StaticEndDate as CHAR(6))||'01' AS DATE)), 0)))*100\r\n" +
"+ EXTRACT (MONTH FROM \r\n" +
"(ADD_MONTHS((CAST (CAST(StaticEndDate as CHAR(6))||'01' AS DATE)), 0))) as LagMonth, -- replace 3 with parm 0\r\n" +
"case when 'Paid'='Paid' then LowMonth else StartYearMonth end as Srvc_Start_Year_month ,\r\n" +
"case WHEN 'Paid'='Paid' then HighMonth else EndYearMonth end as Srvc_End_Year_month,\r\n" +
"Case when 'Paid'='Paid' then EndYearMonth when 'Paid'='Incurred' and 0=0 then LagMonth else HighMonth end as Rptg_Paid_End_Year_Mnth\r\n" +
"FROM ACIISST_PERIOD_KEY\r\n" +
"WHERE LKUP_ID=1 AND Year_ID <= 1\r\n" +
") TP ON fact.CLM_SRVC_YEAR_MNTH_NBR >= TP.Srvc_Start_Year_month AND fact.CLM_SRVC_YEAR_MNTH_NBR<= TP.Srvc_End_Year_month\r\n" +
"AND fact.RPTG_PAID_YEAR_MNTH_NBR >= TP.StartYearMonth AND fact.RPTG_PAID_YEAR_MNTH_NBR <=Rptg_Paid_End_Year_Mnth\r\n" +
"AND fact.ACCT_ID='W0004156'\r\n" +
"AND fact.PAID_ALWD_CD= 'Paid'\r\n" +
"/*AND(fact.DMSTC_FRGN_IND= or ='All' or ='')\r\n" +
"and (fact.PROV_NTWK_TYPE_CD= or ='All' or ='')\r\n" +
"and (fact.NTWK_TIER_CD= or ='All' or ='')*/\r\n" +
"GROUP BY \r\n" +
"fact.MCID, \r\n" +
"fact.ACCT_ID,\r\n" +
"YEAR_ID, \r\n" +
"MBR_CVRG_TYPE_CD,\r\n" +
"AGE_BAND_DESC, \r\n" +
"MBR_GNDR_CD,\r\n" +
"RPTG_MBR_RLTNSHP_CD, \r\n" +
"CBSA_NM,\r\n" +
"ST_CD,\r\n" +
"ZIP_CD,\r\n" +
"BDTC_CTGRY_CD\r\n" +
"\r\n" +
"UNION ALL \r\n" +
"\r\n" +
"SELECT \r\n" +
"fact.MCID, \r\n" +
"fact.ACCT_ID,\r\n" +
"tp.YEAR_ID, \r\n" +
"fact.MBR_CVRG_TYPE_CD,\r\n" +
"AGE_BAND_DESC,\r\n" +
"MBR_GNDR_NM AS MBR_GNDR_CD,\r\n" +
"RPTG_MBR_RLTNSHP_CD, \r\n" +
"CBSA_NM,\r\n" +
"ST_CD,\r\n" +
"ZIP_CD,\r\n" +
"BDTC_CTGRY_CD,\r\n" +
"SUM(0) AS TOTL_COST_AMT,\r\n" +
"SUM(0) AS TOTL_INPAT_COST_AMT,\r\n" +
"SUM(0) AS TOTL_OUTPAT_COST_AMT,\r\n" +
"SUM(0) AS TOTL_ED_COST_AMT,\r\n" +
"SUM(0) AS TOTL_PROF_COST_AMT,\r\n" +
"SUM(0) AS TOTL_AVDBL_ED_COST_AMT,\r\n" +
"SUM(0) AS TOTL_RX_COST_AMT,\r\n" +
"--admits\r\n" +
"SUM(0) AS INPAT_ADMT_CNT,\r\n" +
"SUM(0) AS OUTPAT_ADMT_CNT,\r\n" +
"SUM(0) AS ED_ADMT_CNT,\r\n" +
"SUM(0) AS PROF_ADMT_CNT,\r\n" +
"SUM(0) AS AVDBL_ED_VST_CNT,\r\n" +
"SUM(0) AS ACUT_INPAT_ADMT_CNT,\r\n" +
"SUM(0) AS ACUT_INPAT_ADMT_DAYS_CNT,\r\n" +
"sum(0) as Admit,\r\n" +
"Count( Distinct fact.ELGBLTY_CY_MNTH_END_NBR ) AS MemberMonthsDenominator,\r\n" +
"SUM( CASE WHEN fact.MBR_CVRG_TYPE_CD = 'Medical' THEN fact.MBR_CVRG_CNT ELSE 0 END +\r\n" +
" CASE WHEN fact.MBR_CVRG_TYPE_CD = 'RX' THEN RX_ONLY.RX_CNT ELSE 0 END ) AS MemberMonthsTotal,\r\n" +
"sum(MBR_CVRG_CNT) as MEMBER_MONTHS_COVERAGE\r\n" +
"FROM CII_MBRSHP_DSHBRD fact\r\n" +
"/*INNER JOIN ACIISST_USER_SGMNTN SGMNT ON fact.ACCT_ID=SGMNT.ACCT_ID AND fact.SGMNTN_DIM_KEY=SGMNT.ACIISST_SGMNTN_DIM_KEY \r\n" +
"AND ACIISST_USER_ID= \r\n" +
"AND SESN_ID=\r\n" +
"AND fact.ACCT_ID= 'W0003618'*/\r\n" +
"INNER JOIN\r\n" +
"(\r\n" +
"SELECT \r\n" +
"YEAR_ID ,\r\n" +
"(CASE WHEN YEAR_ID=1 THEN 201809 WHEN YEAR_ID=2 THEN 201709 ELSE 201609 END) AS StartYearMonth\r\n" +
",(CASE WHEN YEAR_ID=1 THEN 201908 WHEN YEAR_ID=2 THEN 201808 ELSE 201708 END) AS EndYearMonth\r\n" +
"FROM ACIISST_PERIOD_KEY\r\n" +
"WHERE LKUP_ID=1 AND YEAR_ID <= 1\r\n" +
") tp ON fact.ELGBLTY_CY_MNTH_END_NBR >=tp.StartYearMonth and fact.ELGBLTY_CY_MNTH_END_NBR <=tp.EndYearMonth\r\n" +
"AND fact.ACCT_ID= 'W0004156'\r\n" +
"LEFT JOIN\r\n" +
"( SELECT fact.ACCT_ID,TP.YEAR_ID,\r\n" +
"MCID,SUM( CASE WHEN MBR_CVRG_TYPE_CD='RX' THEN MBR_CVRG_CNT END) AS RX_CNT,\r\n" +
"ELGBLTY_CY_MNTH_END_NBR\r\n" +
"FROM CII_MBRSHP_DSHBRD fact \r\n" +
"/*INNER JOIN ACIISST_USER_SGMNTN SGMNT ON fact.ACCT_ID=SGMNT.ACCT_ID AND fact.SGMNTN_DIM_KEY=SGMNT.ACIISST_SGMNTN_DIM_KEY \r\n" +
"AND ACIISST_USER_ID= \r\n" +
"AND SESN_ID=*/\r\n" +
"INNER JOIN\r\n" +
"(\r\n" +
"SELECT \r\n" +
"YEAR_ID ,\r\n" +
"(CASE WHEN YEAR_ID=1 THEN 201809 WHEN YEAR_ID=2 THEN 201709 ELSE 201609 END) AS StartYearMonth\r\n" +
",(CASE WHEN YEAR_ID=1 THEN 201908 WHEN YEAR_ID=2 THEN 201808 ELSE 201708 END) AS EndYearMonth\r\n" +
"FROM ACIISST_PERIOD_KEY\r\n" +
"WHERE LKUP_ID=1 AND YEAR_ID <= 1\r\n" +
") tp ON fact.ELGBLTY_CY_MNTH_END_NBR >=tp.StartYearMonth and fact.ELGBLTY_CY_MNTH_END_NBR <=tp.EndYearMonth \r\n" +
"where fact.ACCT_ID= 'W0004156'\r\n" +
"GROUP BY MCID,ELGBLTY_CY_MNTH_END_NBR, fact.ACCT_ID, TP.YEAR_ID\r\n" +
"HAVING SUM( CASE WHEN MBR_CVRG_TYPE_CD='Medical' THEN MBR_CVRG_CNT END)=0\r\n" +
")RX_ONLY ON fact.MCID = RX_ONLY.MCID\r\n" +
"AND fact.ELGBLTY_CY_MNTH_END_NBR = RX_ONLY.ELGBLTY_CY_MNTH_END_NBR\r\n" +
"AND fact.ACCT_ID= RX_ONLY.ACCT_ID\r\n" +
"AND TP.YEAR_ID=RX_ONLY.YEAR_ID\r\n" +
"AND fact.ACCT_ID= 'W0004156'\r\n" +
"GROUP BY \r\n" +
"fact.MCID, \r\n" +
"fact.ACCT_ID,\r\n" +
"tp.YEAR_ID, \r\n" +
"MBR_CVRG_TYPE_CD,\r\n" +
"AGE_BAND_DESC,\r\n" +
"MBR_GNDR_NM,\r\n" +
"RPTG_MBR_RLTNSHP_CD, \r\n" +
"CBSA_NM,\r\n" +
"ST_CD,\r\n" +
"ZIP_CD,\r\n" +
"BDTC_CTGRY_CD\r\n" +
") CLM_MBRSHP\r\n" +
"left JOIN -- HCC\r\n" +
"(\r\n" +
"SELECT \r\n" +
"ACCT_ID, tp.YEAR_ID, MCID,\r\n" +
"SUM(TOTL_COST_AMT) AS HCC_COST \r\n" +
"\r\n" +
"FROM CII_CLMS_DSHBRD fact \r\n" +
"INNER JOIN \r\n" +
"(\r\n" +
"SELECT YEAR_ID ,\r\n" +
"(CASE WHEN YEAR_ID=1 THEN 201809 WHEN YEAR_ID=2 THEN 201709 ELSE 201609 END) AS StartYearMonth\r\n" +
",(CASE WHEN YEAR_ID=1 THEN 201908 WHEN YEAR_ID=2 THEN 201808 ELSE 201708 END) AS EndYearMonth,\r\n" +
"'2019-08-' AS StaticEndDate, 888812 as HighMonth, 111101 as lowMonth, 'Paid' as PaidIncurred,\r\n" +
"EXTRACT (YEAR FROM \r\n" +
"(ADD_MONTHS((CAST (CAST(StaticEndDate as CHAR(6))||'01' AS DATE)), 0)))*100\r\n" +
"+ EXTRACT (MONTH FROM \r\n" +
"(ADD_MONTHS((CAST (CAST(StaticEndDate as CHAR(6))||'01' AS DATE)), 0))) as LagMonth, -- replace 3 with parm 0\r\n" +
"case when 'Paid'='Paid' then LowMonth else StartYearMonth end as Srvc_Start_Year_month ,\r\n" +
"case WHEN 'Paid'='Paid' then HighMonth else EndYearMonth end as Srvc_End_Year_month,\r\n" +
"Case when 'Paid'='Paid' then EndYearMonth when 'Paid'='Incurred' and 0=0 then LagMonth else HighMonth end as Rptg_Paid_End_Year_Mnth\r\n" +
"FROM ACIISST_PERIOD_KEY\r\n" +
"WHERE LKUP_ID=1 AND Year_ID <= 1\r\n" +
") TP ON fact.CLM_SRVC_YEAR_MNTH_NBR >= TP.Srvc_Start_Year_month AND fact.CLM_SRVC_YEAR_MNTH_NBR<= TP.Srvc_End_Year_month\r\n" +
"AND fact.RPTG_PAID_YEAR_MNTH_NBR >= TP.StartYearMonth AND fact.RPTG_PAID_YEAR_MNTH_NBR <=Rptg_Paid_End_Year_Mnth\r\n" +
"WHERE fact.acct_id='W0004156'\r\n" +
"AND fact.PAID_ALWD_CD= 'Paid'\r\n" +
"\r\n" +
"GROUP BY \r\n" +
"fact.ACCT_ID, MCID, YEAR_ID)HCC\r\n" +
"ON CLM_MBRSHP.MCID=HCC.MCID\r\n" +
"AND CLM_MBRSHP.ACCT_ID=HCC.ACCT_ID\r\n" +
"AND CLM_MBRSHP.YEAR_ID=HCC.YEAR_ID\r\n" +
"\r\n" +
"LEFT OUTER JOIN \r\n" +
"(select \r\n" +
"MCID, RISK_STG_VAL_TXT , YEAR_ID\r\n" +
"from \r\n" +
"(select \r\n" +
"MCID, YEAR_ID, RISK_STG_VAL_TXT, ELGBLTY_CY_MNTH_END_NBR,\r\n" +
"ROW_NUMBER() OVER (PARTITION BY MCID, YEAR_ID ORDER BY ELGBLTY_CY_MNTH_END_NBR desc ,\r\n" +
"RPTG_MBR_RLTNSHP_CD,\r\n" +
"MBR_GNDR_NM (CHAR(4)),\r\n" +
"CASE WHEN AGE_IN_YRS_NBR = -1 THEN 999 ELSE AGE_IN_YRS_NBR END, \r\n" +
"fact.SGMNTN_DIM_KEY DESC,\r\n" +
"CASE WHEN ST_CD = 'NA' THEN 'ZZ' ELSE ST_CD END) as RNK \r\n" +
"from CII_MBRSHP_DSHBRD fact\r\n" +
"INNER JOIN \r\n" +
"(SELECT \r\n" +
"YEAR_ID ,\r\n" +
"(CASE WHEN YEAR_ID=1 THEN 201809 WHEN YEAR_ID=2 THEN 201709 ELSE 201609 END) AS StartYearMonth\r\n" +
",(CASE WHEN YEAR_ID=1 THEN 201908 WHEN YEAR_ID=2 THEN 201808 ELSE 201708 END) AS EndYearMonth\r\n" +
"FROM ACIISST_PERIOD_KEY\r\n" +
"WHERE LKUP_ID=1 AND YEAR_ID <= 1\r\n" +
") tp ON fact.ELGBLTY_CY_MNTH_END_NBR >=tp.StartYearMonth and fact.ELGBLTY_CY_MNTH_END_NBR <=tp.EndYearMonth \r\n" +
"WHERE fact.ACCT_ID='W0004156'\r\n" +
"and MBR_CVRG_TYPE_CD='Medical'\r\n" +
") X where RNK=1 \r\n" +
"GROUP BY MCID, RISK_STG_VAL_TXT , YEAR_ID\r\n" +
")HLTH1 on CLM_MBRSHP.MCID=HLTH1.MCID AND CLM_MBRSHP.YEAR_ID = HLTH1.YEAR_ID\r\n" +
"\r\n" +
"LEFT JOIN\r\n" +
"(SELECT MCID, fact.ACCT_ID, tp.YEAR_ID, MAXIMUM ( TRDTNL_IND ) AS isTraditional ,\r\n" +
" MAXIMUM ( ENHNCD_IND ) AS isEnhanced, MAXIMUM ( EXPNDD_IND ) AS isExpanded ,\r\n" +
"( CASE \r\n" +
" WHEN max(TRDTNL_IND) = 1 THEN 'Primary'\r\n" +
"WHEN max(TRDTNL_IND) = 0 AND max(ENHNCD_IND) = 1 THEN 'Enhanced'\r\n" +
"WHEN max(TRDTNL_IND) = 0 AND max(ENHNCD_IND) = 0 AND max(EXPNDD_IND) = 1 THEN 'Comprehensive Only' \r\n" +
" ELSE 'Not Engaged' \r\n" +
"END ) AS EngagementType \r\n" +
"FROM CII_CLNCL_ENGGMNT_DTL fact \r\n" +
"INNER JOIN \r\n" +
"(SELECT \r\n" +
"YEAR_ID ,\r\n" +
"(CASE WHEN YEAR_ID=1 THEN 201809 WHEN YEAR_ID=2 THEN 201709 ELSE 201609 END) AS StartYearMonth\r\n" +
",(CASE WHEN YEAR_ID=1 THEN 201908 WHEN YEAR_ID=2 THEN 201808 ELSE 201708 END) AS EndYearMonth\r\n" +
"FROM ACIISST_PERIOD_KEY\r\n" +
"WHERE LKUP_ID=1 AND YEAR_ID <= 1\r\n" +
") tp ON fact.YEAR_MNTH_NBR >=tp.StartYearMonth and fact.YEAR_MNTH_NBR <=tp.EndYearMonth \r\n" +
" AND fact.ACCT_ID = 'W0004156' \r\n" +
"GROUP BY MCID, fact.ACCT_ID, YEAR_ID\r\n" +
")EN_PRD ON CLM_MBRSHP.MCID = EN_PRD.MCID AND CLM_MBRSHP.ACCT_ID = EN_PRD.ACCT_ID \r\n" +
"AND CLM_MBRSHP.YEAR_ID = EN_PRD.YEAR_ID\r\n" +
"GROUP BY\r\n" +
"CLM_MBRSHP.YEAR_ID ,\r\n" +
"CLM_MBRSHP.MBR_CVRG_TYPE_CD ,\r\n" +
"CLM_MBRSHP.AGE_BAND_DESC ,\r\n" +
"CLM_MBRSHP.MBR_GNDR_CD ,\r\n" +
"CLM_MBRSHP.RPTG_MBR_RLTNSHP_CD ,\r\n" +
"CLM_MBRSHP.CBSA_NM ,\r\n" +
"CLM_MBRSHP.ST_CD ,\r\n" +
"CLM_MBRSHP.ZIP_CD ,\r\n" +
"BDTC_CTGRY_CD,\r\n" +
"HLTH1.RISK_STG_VAL_TXT ,\r\n" +
"(CASE WHEN HCC_COST >= 25000 THEN 'Yes' ELSE 'No' \r\n" +
" END),\r\n" +
"COALESCE(EN_PRD.IsTraditional, 0) , \r\n" +
"COALESCE(EN_PRD.IsEnhanced, 0) , \r\n" +
"COALESCE(EN_PRD.IsExpanded, 0) , \r\n" +
"COALESCE(EN_PRD.EngagementType, 'Not Engaged'),\r\n" +
"Report_Display";
ProjectionOnlySqlParser parser = new ProjectionOnlySqlParser();
parser.processQuery(query);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy