Skip to content

Commit a145656

Browse files
committed
Update logic in the ART fields
1 parent ff33e32 commit a145656

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

SivStudies/src/org/labkey/sivstudies/query/SivStudiesCustomizer.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -322,6 +322,7 @@ private void appendSivChallengeColumns(AbstractTableInfo targetTable, String sub
322322
@Override
323323
public TableInfo getLookupTableInfo()
324324
{
325+
// TODO: mock?
325326
String name = queryName + "_sivChallenge";
326327
UserSchema targetSchema = targetTable.getUserSchema().getDefaultSchema().getUserSchema(targetSchemaName);
327328
QueryDefinition qd = QueryService.get().createQueryDef(u, targetSchemaContainer, targetSchema, name);
@@ -414,14 +415,14 @@ public TableInfo getLookupTableInfo()
414415
"CONVERT(TIMESTAMPDIFF('SQL_TSI_DAY', CAST(max(tr.date) AS DATE), CAST(c." + dateColName + " AS DATE)), INTEGER) as daysPostArtInitiation,\n" +
415416
"CONVERT(age_in_months(CAST(max(tr.date) AS DATE), CAST(c." + dateColName + " AS DATE)), FLOAT) as monthsPostArtInitiation,\n" +
416417
"max(tr.enddate) as artRelease,\n" +
417-
"CONVERT(TIMESTAMPDIFF('SQL_TSI_DAY', CAST(max(tr.enddate) AS DATE), CAST(c." + dateColName + " AS DATE)), INTEGER) as daysPostArtRelease,\n" +
418-
"CONVERT(age_in_months(CAST(max(tr.enddate) AS DATE), CAST(c." + dateColName + " AS DATE)), FLOAT) as monthsPostArtRelease,\n" +
419-
"CAST(CASE WHEN max(tr.date) IS NULL THEN NULL ELSE 'Y' END as VARCHAR) as onArt,\n" +
418+
"CONVERT(CASE WHEN max(tr.enddate) IS NULL THEN NULL ELSE TIMESTAMPDIFF('SQL_TSI_DAY', CAST(max(tr.enddate) AS DATE), CAST(c." + dateColName + " AS DATE)) END, INTEGER) as daysPostArtRelease,\n" +
419+
"CONVERT(CASE WHEN max(tr.enddate) IS NULL THEN NULL ELSE age_in_months(CAST(max(tr.enddate) AS DATE), CAST(c." + dateColName + " AS DATE)) END, FLOAT) as monthsPostArtRelease,\n" +
420+
"CAST(CASE WHEN CAST(max(tr.date) AS DATE) < CAST(c." + dateCol.getFieldKey().toString() + " AS DATE) AND CAST(max(coalesce(tr.enddate, now())) AS DATE) >= CAST(c." + dateCol.getFieldKey().toString() + " AS DATE) THEN 'Y' ELSE null END as VARCHAR) as onArt,\n" +
420421
"GROUP_CONCAT(DISTINCT tr.treatment) AS artTreatment,\n" +
421422
"c." + pkCol.getFieldKey().toString() + "\n" +
422423
"FROM \"" + schemaName + "\".\"" + queryName + "\" c " +
423-
"JOIN study.treatments tr ON (tr.category = 'ART' AND CAST(tr.date AS DATE) <= CAST(c." + dateCol.getFieldKey().toString() + " AS DATE) AND COALESCE(tr.enddate, now()) >= CAST(c." + dateCol.getFieldKey().toString() + " AS DATE) AND tr.Id = c." + idCol.getFieldKey().toSQLString() + ")\n" +
424-
"GROUP BY c.date, c." + pkCol.getFieldKey().toString() + "\n" +
424+
"JOIN study.treatments tr ON (tr.category = 'ART' AND CAST(tr.date AS DATE) <= CAST(c." + dateCol.getFieldKey().toString() + " AS DATE) AND tr.Id = c." + idCol.getFieldKey().toSQLString() + ")\n" +
425+
"GROUP BY c." + dateCol.getFieldKey().toString() + ", c." + pkCol.getFieldKey().toString() + "\n" +
425426
"HAVING COUNT(*) = 1"
426427
);
427428
qd.setIsTemporary(true);

0 commit comments

Comments
 (0)