diff --git a/nirc_ehr/resources/queries/study/orchardData.sql b/nirc_ehr/resources/queries/study/orchardData.sql index 74b40b5d..d8a8643d 100644 --- a/nirc_ehr/resources/queries/study/orchardData.sql +++ b/nirc_ehr/resources/queries/study/orchardData.sql @@ -3,16 +3,15 @@ * * Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0 */ -SELECT +SELECT DISTINCT d.Id, d.gender, d.birth, d.species.scientific_name as species, - pa.protocol.title as protocol, - InitCap(pa.protocol.InvestigatorId.LastName) || ', ' || InitCap(pa.protocol.InvestigatorId.FirstName) as PI, - InitCap(pa.protocol.AuthorId.LastName) || ', ' || InitCap(pa.protocol.AuthorId.FirstName) as Vet, - dlh.cage.cage as cage, + dlp.protocol.title as protocol, + InitCap(dlp.protocol.InvestigatorId.LastName) || ', ' || InitCap(dlp.protocol.InvestigatorId.FirstName) as PI, + InitCap(dlp.protocol.AuthorId.LastName) || ', ' || InitCap(dlp.protocol.AuthorId.FirstName) as Vet, + d.Id.lastHousing.cage.cage as cage, d.calculated_status as alive FROM demographics d -LEFT JOIN demographicsLastHousing dlh ON d.Id = dlh.Id -LEFT JOIN protocolAssignment pa ON d.Id = pa.Id AND pa.endDate is null \ No newline at end of file +LEFT JOIN demographicsLastProtocol dlp ON d.Id = dlp.Id \ No newline at end of file diff --git a/nirc_ehr/src/org/labkey/nirc_ehr/NIRCOrchardFileGenerator.java b/nirc_ehr/src/org/labkey/nirc_ehr/NIRCOrchardFileGenerator.java index 4127955b..8bc828bb 100644 --- a/nirc_ehr/src/org/labkey/nirc_ehr/NIRCOrchardFileGenerator.java +++ b/nirc_ehr/src/org/labkey/nirc_ehr/NIRCOrchardFileGenerator.java @@ -130,19 +130,22 @@ public void run() else if (Objects.equals(rs.getString("gender"), "3")) sb.append("M"); else sb.append("U"); - sb.append("||NHP|"); //could change if more species - sb.append(rs.getString("cage")); + sb.append("||NHP|"); //build out if other than non-human primate + sb.append(rs.getString("cage") == null ? "" : rs.getString("cage")); sb.append("^New Iberia^LA^70506|||||||||||"); sb.append(rs.getString("species")).append("|"); - sb.append(rs.getString("protocol")).append("|||||||"); + if (Objects.equals(rs.getString("alive"),"Shipped")) + sb.append("OFFSITE").append("|||||||"); + else + sb.append(rs.getString("protocol") == null ? "" : rs.getString("protocol")).append("|||||||"); if (Objects.equals(rs.getString("alive"), "Alive")) sb.append("N"); else sb.append("Y"); sb.append(System.lineSeparator()); - sb.append("ZCP|Veterinarian|").append(rs.getString("Vet")).append("|"); + sb.append("ZCP|Veterinarian|").append(rs.getString("Vet") == null ? "" : rs.getString("Vet")).append("|"); sb.append(System.lineSeparator()); - sb.append("PD1||||").append(rs.getString("PI")).append("|"); + sb.append("PD1||||").append(rs.getString("PI") == null ? "" : rs.getString("PI")).append("|"); sb.append(System.lineSeparator()); });