Skip to content

Commit

Permalink
Merge 23.11 to 24.3
Browse files Browse the repository at this point in the history
  • Loading branch information
labkey-teamcity committed Apr 1, 2024
2 parents 5d72614 + 5f9af50 commit a894472
Showing 1 changed file with 10 additions and 13 deletions.
23 changes: 10 additions & 13 deletions onprc_ehr/src/org/labkey/onprc_ehr/table/ONPRC_EHRCustomizer.java
Original file line number Diff line number Diff line change
Expand Up @@ -889,12 +889,12 @@ private void customizeCasesTable(AbstractTableInfo ti)
if (realTable == null)
return;

SQLFragment sql = new SQLFragment("(select CAST(" + ti.getSqlDialect().getGroupConcat(new SQLFragment(ti.getSqlDialect().concatenate("pl.category", "CASE WHEN pl.subcategory IS NULL THEN '' ELSE (" + ti.getSqlDialect().concatenate("': '", "pl.subcategory") + ") END")), true, true, getChr(ti) + "(10)").getSqlCharSequence() + "AS varchar(200)) as expr FROM " + realTable.getSelectName() + " pl WHERE pl.caseId = " + ExprColumn.STR_TABLE_ALIAS + ".objectid AND (pl.enddate IS NULL OR pl.enddate > {fn now()}))");
SQLFragment sql = new SQLFragment("(select CAST(" + ti.getSqlDialect().getGroupConcat(new SQLFragment(ti.getSqlDialect().concatenate("pl.category", "CASE WHEN pl.subcategory IS NULL THEN '' ELSE (" + ti.getSqlDialect().concatenate("': '", "pl.subcategory") + ") END")), true, true, getNewlineSql(ti)).getSqlCharSequence() + "AS varchar(200)) as expr FROM " + realTable.getSelectName() + " pl WHERE pl.caseId = " + ExprColumn.STR_TABLE_ALIAS + ".objectid AND (pl.enddate IS NULL OR pl.enddate > {fn now()}))");
ExprColumn newCol = new ExprColumn(ti, problemCategories, sql, JdbcType.VARCHAR, ti.getColumn("objectid"));
newCol.setLabel("Active Master Problem(s)");
ti.addColumn(newCol);

SQLFragment sql2 = new SQLFragment("(select CAST(" + ti.getSqlDialect().getGroupConcat(new SQLFragment(ti.getSqlDialect().concatenate("pl.category", "CASE WHEN pl.subcategory IS NULL THEN '' ELSE (" + ti.getSqlDialect().concatenate("': '", "pl.subcategory") + ") END")), true, true, getChr(ti) + "(10)").getSqlCharSequence() + "AS varchar(200)) as expr FROM " + realTable.getSelectName() + " pl WHERE pl.caseId = " + ExprColumn.STR_TABLE_ALIAS + ".objectid)");
SQLFragment sql2 = new SQLFragment("(select CAST(" + ti.getSqlDialect().getGroupConcat(new SQLFragment(ti.getSqlDialect().concatenate("pl.category", "CASE WHEN pl.subcategory IS NULL THEN '' ELSE (" + ti.getSqlDialect().concatenate("': '", "pl.subcategory") + ") END")), true, true, getNewlineSql(ti)).getSqlCharSequence() + "AS varchar(200)) as expr FROM " + realTable.getSelectName() + " pl WHERE pl.caseId = " + ExprColumn.STR_TABLE_ALIAS + ".objectid)");
ExprColumn newCol2 = new ExprColumn(ti, "allProblemCategories", sql2, JdbcType.VARCHAR, ti.getColumn("objectid"));
newCol2.setLabel("All Master Problem(s)");
ti.addColumn(newCol2);
Expand Down Expand Up @@ -1065,12 +1065,11 @@ private void customizeTreatmentOrdersTable(AbstractTableInfo ti)
String name = "treatmentTimes";
if (null == ti.getColumn(name) && null != ti.getColumn("objectid"))
{
String chr = ti.getSqlDialect().isPostgreSQL() ? "chr" : "char";
SQLFragment sql = new SQLFragment("COALESCE(" +
"(SELECT " + ti.getSqlDialect().getGroupConcat(new SQLFragment("REPLICATE('0', 4 - LEN(tt.time)) + cast(tt.time as varchar(4))"), true, false, chr + "(10)").getSqlCharSequence() + " as _expr " +
"(SELECT " + ti.getSqlDialect().getGroupConcat(new SQLFragment("REPLICATE('0', 4 - LEN(tt.time)) + cast(tt.time as varchar(4))"), true, false, getNewlineSql(ti)).getSqlCharSequence() + " as _expr " +
" FROM ehr.treatment_times tt " +
" WHERE tt.treatmentId = " + ExprColumn.STR_TABLE_ALIAS + ".objectid)" +
", (SELECT " + ti.getSqlDialect().getGroupConcat(new SQLFragment("REPLICATE('0', 4 - LEN(ft.hourofday)) + cast(ft.hourofday as varchar(4))"), true, false, chr + "(10)").getSqlCharSequence() + " as _expr " +
", (SELECT " + ti.getSqlDialect().getGroupConcat(new SQLFragment("REPLICATE('0', 4 - LEN(ft.hourofday)) + cast(ft.hourofday as varchar(4))"), true, false, getNewlineSql(ti)).getSqlCharSequence() + " as _expr " +
" FROM ehr_lookups.treatment_frequency f " +
" JOIN ehr_lookups.treatment_frequency_times ft ON (f.meaning = ft.frequency) WHERE f.rowid = " + ExprColumn.STR_TABLE_ALIAS + ".frequency)" +
", 'Custom')"
Expand Down Expand Up @@ -1141,7 +1140,7 @@ private void customizeDemographicsTable(AbstractTableInfo ti)
ColumnInfo idCol = ti.getColumn("Id");
assert idCol != null;

SQLFragment sql = new SQLFragment("(SELECT " + ti.getSqlDialect().getGroupConcat(new SQLFragment("r.hx"), true, false, getChr(ti) + "(10)").getSqlCharSequence() + " FROM " + realTable.getSelectName() +
SQLFragment sql = new SQLFragment("(SELECT " + ti.getSqlDialect().getGroupConcat(new SQLFragment("r.hx"), true, false, getNewlineSql(ti)).getSqlCharSequence() + " FROM " + realTable.getSelectName() +
" r WHERE r.participantId = " + ExprColumn.STR_TABLE_ALIAS + ".participantId AND r.hx IS NOT NULL AND (r.category != ? OR r.category IS NULL) AND r.date = (SELECT max(date) as expr FROM " + realTable.getSelectName() + " r2 "
+ " WHERE r2.participantId = r.participantId AND r2.hx is not null AND (r2.category != ? OR r2.category IS NULL)))", ONPRC_EHRManager.REPLACED_SOAP, ONPRC_EHRManager.REPLACED_SOAP
);
Expand Down Expand Up @@ -1331,7 +1330,6 @@ private void appendLatestHxCol(AbstractTableInfo ti)
if (null == objectId || null == ti.getColumn("Id"))
return;

String chr = ti.getSqlDialect().isPostgreSQL() ? "chr" : "char";
SQLFragment latestHxSql = new SQLFragment("(SELECT " + prefix + " (" + "r.hx" + ") as _expr FROM " + realTable.getSelectName() +
" r WHERE "
+ " r.caseid = " + ExprColumn.STR_TABLE_ALIAS + ".objectid AND "
Expand Down Expand Up @@ -1376,7 +1374,7 @@ private void appendLatestHxCol(AbstractTableInfo ti)
ti.addColumn(recentCeg_plan);

//does not use caseId
SQLFragment p2Sql = new SQLFragment("(SELECT " + ti.getSqlDialect().getGroupConcat(new SQLFragment(ti.getSqlDialect().concatenate("'P2: '", "r.p2")), true, false, chr + "(10)").getSqlCharSequence() + " FROM " + realTable.getSelectName() +
SQLFragment p2Sql = new SQLFragment("(SELECT " + ti.getSqlDialect().getGroupConcat(new SQLFragment(ti.getSqlDialect().concatenate("'P2: '", "r.p2")), true, false, getNewlineSql(ti)).getSqlCharSequence() + " FROM " + realTable.getSelectName() +
" r WHERE "
//+ " r.caseid = " + ExprColumn.STR_TABLE_ALIAS + ".objectid AND "
+ " r.participantId = " + ExprColumn.STR_TABLE_ALIAS + ".participantId AND r.p2 IS NOT NULL AND CAST(r.date AS date) = CAST(? as date) AND (r.category != ? OR r.category IS NULL))", new Date(), ONPRC_EHRManager.REPLACED_SOAP);
Expand All @@ -1390,7 +1388,7 @@ private void appendLatestHxCol(AbstractTableInfo ti)
yesterday.add(Calendar.DATE, -1);

//does not use caseId
SQLFragment p2Sql2 = new SQLFragment("(SELECT " + ti.getSqlDialect().getGroupConcat(new SQLFragment(ti.getSqlDialect().concatenate("'P2: '", "r.p2")), true, false, chr + "(10)").getSqlCharSequence() + " FROM " + realTable.getSelectName() +
SQLFragment p2Sql2 = new SQLFragment("(SELECT " + ti.getSqlDialect().getGroupConcat(new SQLFragment(ti.getSqlDialect().concatenate("'P2: '", "r.p2")), true, false, getNewlineSql(ti)).getSqlCharSequence() + " FROM " + realTable.getSelectName() +
" r WHERE "
//+ " r.caseid = " + ExprColumn.STR_TABLE_ALIAS + ".objectid AND "
+ " r.participantId = " + ExprColumn.STR_TABLE_ALIAS + ".participantId AND r.p2 IS NOT NULL AND CAST(r.date AS date) = CAST(? as date) AND (r.category != ? OR r.category IS NULL))", yesterday.getTime(), ONPRC_EHRManager.REPLACED_SOAP);
Expand All @@ -1400,7 +1398,7 @@ private void appendLatestHxCol(AbstractTableInfo ti)
ti.addColumn(yesterdaysP2);

//uses caseId as a proxy for rounds
SQLFragment rmSql = new SQLFragment("(SELECT " + ti.getSqlDialect().getGroupConcat(new SQLFragment("r.remark"), true, false, chr + "(10)").getSqlCharSequence() + " FROM " + realTable.getSelectName() +
SQLFragment rmSql = new SQLFragment("(SELECT " + ti.getSqlDialect().getGroupConcat(new SQLFragment("r.remark"), true, false, getNewlineSql(ti)).getSqlCharSequence() + " FROM " + realTable.getSelectName() +
" r WHERE "
+ " r.caseid = " + ExprColumn.STR_TABLE_ALIAS + ".objectid AND "
+ " r.participantId = " + ExprColumn.STR_TABLE_ALIAS + ".participantId AND r.remark IS NOT NULL AND CAST(r.date AS date) = CAST(? as date) AND (r.category != ? OR r.category IS NULL))", new Date(), ONPRC_EHRManager.REPLACED_SOAP);
Expand All @@ -1411,7 +1409,7 @@ private void appendLatestHxCol(AbstractTableInfo ti)
ti.addColumn(todaysRemarks);

//TODO: convert to a real column
SQLFragment assesmentSql = new SQLFragment("(SELECT " + ti.getSqlDialect().getGroupConcat(new SQLFragment("r.a"), true, false, chr + "(10)").getSqlCharSequence() + " FROM " + realTable.getSelectName() +
SQLFragment assesmentSql = new SQLFragment("(SELECT " + ti.getSqlDialect().getGroupConcat(new SQLFragment("r.a"), true, false, getNewlineSql(ti)).getSqlCharSequence() + " FROM " + realTable.getSelectName() +
" r WHERE "
+ " r.caseid = " + ExprColumn.STR_TABLE_ALIAS + ".objectid AND "
+ " r.participantId = " + ExprColumn.STR_TABLE_ALIAS + ".participantId AND r.a IS NOT NULL AND r.date = " + ExprColumn.STR_TABLE_ALIAS + ".date AND (r.category != ? OR r.category IS NULL))", ONPRC_EHRManager.REPLACED_SOAP);
Expand Down Expand Up @@ -1448,8 +1446,7 @@ private void appendSurgeryCol(AbstractTableInfo ti)
}

//find any surgical procedures from the same date as this case
String chr = ti.getSqlDialect().isPostgreSQL() ? "chr" : "char";
SQLFragment procedureSql = new SQLFragment("(SELECT " + ti.getSqlDialect().getGroupConcat(new SQLFragment("p.name"), false, false, chr + "(10)").getSqlCharSequence() +
SQLFragment procedureSql = new SQLFragment("(SELECT " + ti.getSqlDialect().getGroupConcat(new SQLFragment("p.name"), false, false, getNewlineSql(ti)).getSqlCharSequence() +
" FROM " + realTable.getSelectName() + " r " +
" JOIN ehr_lookups.procedures p ON (p.rowid = r.procedureid) " +
//r.caseid = " + ExprColumn.STR_TABLE_ALIAS + ".objectid AND
Expand Down

0 comments on commit a894472

Please sign in to comment.