Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Further fixes to water system #440

Open
wants to merge 15 commits into
base: release22.11-SNAPSHOT
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ SELECT
provideFruit AS provideFruit,
provideFruitTitle AS provideFruitTitle,
dataSource AS dataSource,
waterSource AS conditionAtTime,
assignedTo AS assignedToCoalesced,
assignedToTitle AS assignedToTitleCoalesced,
frequency AS frequencyCoalesced,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<customView xmlns="http://labkey.org/data/xml/queryCustomView">
<columns>
<column name="lsid" />
<column name="objectIdCoalesced"/>
<column name="waterOrderObjectId"/>
<column name="projectCoalesced"/>
<column name="Id" />
<column name="date" />
<column name="dateOrdered"/>
<column name="location"/>
<column name="volume" />
<column name="provideFruit"/>
<column name="provideFruitTitle"/>
<column name="dataSource"/>
<column name="assignedToCoalesced"/>
<column name="assignedToTitleCoalesced"/>
<column name="frequencyCoalesced"/>
<column name="frequencyMeaningCoalesced"/>
<column name="displaytimeofday"/>
<column name="rawDate"/>
<column name="mlsPerKg"/>
<column name="conditionAtTime"/>
<column name="qcstate" />
<column name="taskid" />
</columns>
<sorts>
<sort column="date" descending="false"/>
<sort column="location" />
<sort column="Id"/>

</sorts>
</customView>
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<query xmlns="http://labkey.org/data/xml/query">
<metadata>
<tables xmlns="http://labkey.org/data/xml">
<table tableName="demographicsMostRecentWaterCondition" tableDbType="TABLE" useColumnOrder="true">
<table tableName="demographicsMostRecentWaterCondition" tableDbType="NOT_IN_DB" useColumnOrder="true">
<tableUrl />
<insertUrl />
<importUrl />
Expand All @@ -12,12 +12,12 @@

</column>
<column columnName="mostRecentWaterConditionDate">
<columntitle>Start Date</columntitle>
<columnTitle>Start Date Water Condition</columnTitle>
<formatString>yyyy-MM-dd</formatString>
</column>

<column columnName="mostRecentWaterCondition">
<columnTitle>Condition</columnTitle>
<columnTitle>Water Condition</columnTitle>
<fk>
<fkDbSchema>ehr_lookups</fkDbSchema>
<fkTable>water_source</fkTable>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ SELECT

wsa.id,
wsa.MostRecentWaterConditionDate,
wsa.room || '-' || wsa.cage as location,
(
SELECT wsainner.project
FROM study.waterScheduledAnimals wsainner
Expand All @@ -23,7 +24,10 @@ wsa.MostRecentWaterConditionDate,
FROM(
SELECT
wsaouter.id as id,
max(wsaouter.date) AS MostRecentWaterConditionDate
max(wsaouter.date) AS MostRecentWaterConditionDate,
max(wsaouter.id.dataset.activehousing.room) AS room,
max(wsaouter.id.dataset.activehousing.cage) AS cage,

FROM study.waterScheduledAnimals wsaouter
WHERE wsaouter.qcstate.publicdata = true AND wsaouter.condition IS NOT NULL
GROUP BY wsaouter.id
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -138,15 +138,13 @@
<fkDbSchema>ehr_lookups</fkDbSchema>
<fkTable>water_source</fkTable>
<fkColumnName>value</fkColumnName>
<fkDisplayColumn>title</fkDisplayColumn>
</fk>
</column>
<column columnName="provideFruit">
<fk>
<fkDbSchema>ehr_lookups</fkDbSchema>
<fkTable>husbandry_fruit</fkTable>
<fkColumnName>value</fkColumnName>
<fkDisplayColumn>title</fkDisplayColumn>
</fk>

</column>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
<column name="waterSource"/>
<column name="assignedTo"/>
<column name="provideFruit"/>
<column name="qcstate/Label">
<column name="qcstate">
<properties>
<property name="columnTitle" value="Status"/>
</properties>
Expand All @@ -26,6 +26,6 @@
<filters>
<filter column="dateOrdered" operator="dategte" value="-30d"/>
<filter column="Id/dataset/demographics/calculated_status" operator="eq" value="Alive"/>
<filter column="qctate/Label" operator="neqornull" value="Completed"/>
<filter column="qcstate" operator="neqornull" value="Completed"/>
</filters>
</customView>
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
<query xmlns="http://labkey.org/data/xml/query">
<metadata>
<tables xmlns="http://labkey.org/data/xml">
<table tableName="waterScheduledAnimalsWithOutEntries" tableDbType="NOT_IN_DB" useColumnOrder="true">
<tableUrl />
<insertUrl />
<importUrl />
<updateUrl />
<deleteUrl />
<columns>
<column columnName="Id">

</column>
<column columnName="date">
<columnTitle>Date</columnTitle>
<formatString>yyyy-MM-dd</formatString>
</column>
<column columnName="project">
<columnTitle>Project</columnTitle>
</column>
<column columnName="location">
<columnTitle>Location</columnTitle>
<fk>
<fkDbSchema>ehr_lookups</fkDbSchema>
<fkTable>cage</fkTable>
<fkColumnName>location</fkColumnName>
</fk>
</column>
</columns>
</table>
</tables>
</metadata>
</query>
Original file line number Diff line number Diff line change
@@ -1,7 +1,18 @@
PARAMETERS(CheckDate TIMESTAMP)

SELECT DISTINCT(id), CheckDate AS date, project AS project FROM
(SELECT a.id, a.MostRecentWaterCondition, a.MostRecentWaterConditionDate, a.project FROM study.demographicsMostRecentWaterCondition a
SELECT
DISTINCT(id),
CheckDate AS date,
project AS project,
location as location
FROM
(SELECT
a.id,
a.MostRecentWaterCondition,
a.MostRecentWaterConditionDate,
a.project,
a.location
FROM study.demographicsMostRecentWaterCondition a
WHERE NOT EXISTS (
SELECT 1 FROM study.waterTotalByDate b
WHERE a.id = b.id AND b.date = CheckDate AND b.TotalWater IS NOT NULL
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<customView xmlns="http://labkey.org/data/xml/queryCustomView">
<columns>
<column name="Id" />
<column name="location"/>
<column name="date" />
<column name="project"/>
</columns>
<sorts>
<sort column="date" descending="true"/>
</sorts>
</customView>
84 changes: 51 additions & 33 deletions WNPRC_EHR/resources/queries/study/waterTotalByDate.sql
Original file line number Diff line number Diff line change
Expand Up @@ -9,46 +9,64 @@ SELECT
cal.targetdate AS date,
waterSummary.TotalWater,
waterSummary.provideFruit,
waterSummary.remark,
waterSummary.remarksConcat,
waterSummary.volumeGivenInLabSub,
waterSummary.volumeGivenInCage,
waterSummary.volumeGivenInImage,
waterSummary.volumeGivenInProcedure,
waterSummary.performedConcat,
odrwc.currentWaterCondition,
odrwc.latestConditionDate,
waterSummary.project,
waterSummary.qcstate,
waterSummary.curRoom,
waterSummary.curCage
waterSummary.qcstate

FROM ehr_lookups.calendar cal
LEFT OUTER JOIN (SELECT drwc.Id AS Id,
MIN(drwc.date) AS firstDate,
(SELECT wsainner.condition
FROM study.waterScheduledAnimals wsainner
WHERE drwc.id = wsainner.id
ORDER BY wsainner.date DESC LIMIT 1) AS currentWaterCondition

LEFT OUTER JOIN (
SELECT
drwc.Id AS Id,
MIN(drwc.date) AS firstDate,
(SELECT
wsainner.condition
FROM study.waterScheduledAnimals wsainner
WHERE drwc.id = wsainner.id
ORDER BY wsainner.date DESC LIMIT 1) AS currentWaterCondition,
(SELECT
wsa2inner.date
FROM study.waterScheduledAnimals wsa2inner
WHERE drwc.id = wsa2inner.id
ORDER BY wsa2inner.date DESC LIMIT 1) AS latestConditionDate
FROM study.waterScheduledAnimals drwc
GROUP BY Id) odrwc
ON cal.targetdate >= CAST (odrwc.firstDate AS DATE) AND cal.targetdate <= curdate()
LEFT OUTER JOIN(
SELECT Id AS innerId,
CAST(iwg.date as DATE) as date,
COALESCE (SUM(CASE WHEN iwg.location = 'lab' THEN iwg.volume ELSE 0 END),0) AS volumeGivenInLabSub,
COALESCE (SUM(CASE WHEN iwg.location = 'animalRoom' THEN iwg.volume ELSE 0 END),0) AS volumeGivenInCage,
COALESCE (SUM(CASE WHEN iwg.location = 'imaging' THEN iwg.volume ELSE 0 END), 0) AS volumeGivenInImage,
COALESCE (SUM(CASE WHEN iwg.location = 'procedureRoom' THEN iwg.volume ELSE 0 END), 0) AS volumeGivenInProcedure,
COALESCE(SUM(iwg.volume), 0) AS TotalWater,
COALESCE(GROUP_CONCAT(iwg.provideFruit.title,'; '),'') AS provideFruit,
COALESCE(GROUP_CONCAT(iwg.remarks,'; '),'') AS remark,
COALESCE(GROUP_CONCAT(iwg.performedby, ';'),'') AS performedConcat,
MAX(iwg.project) AS project,
COALESCE(MAX(iwg.qcstate),1) AS qcstate,
MAX(iwg.id.curLocation.room) as curRoom,
MAX(iwg.id.curLocation.cage) as curCage,
FROM study.waterGiven iwg WHERE qcstate.label = 'Completed'
GROUP BY iwg.Id, CAST(iwg.date AS DATE)
)waterSummary
ON CAST(cal.targetdate AS DATE) = waterSummary.date AND waterSummary.innerId = Id
WHERE cal.targetdate <= curdate() AND Id IS NOT NULL
GROUP BY Id
) odrwc
ON cal.targetdate >= CAST (odrwc.firstDate AS DATE)
AND cal.targetdate <= curdate()
AND ( Id.death.date IS NULL OR cal.targetdate <= CAST(Id.death.date AS DATE) )

LEFT OUTER JOIN (
SELECT
Id AS innerId,
CAST(iwg.date as DATE) as date,
COALESCE (SUM(CASE WHEN iwg.location = 'lab' THEN iwg.volume ELSE 0 END),0) AS volumeGivenInLabSub,
COALESCE (SUM(CASE WHEN iwg.location = 'animalRoom' THEN iwg.volume ELSE 0 END),0) AS volumeGivenInCage,
COALESCE (SUM(CASE WHEN iwg.location = 'imaging' THEN iwg.volume ELSE 0 END), 0) AS volumeGivenInImage,
COALESCE (SUM(CASE WHEN iwg.location = 'procedureRoom' THEN iwg.volume ELSE 0 END), 0) AS volumeGivenInProcedure,
COALESCE(SUM(iwg.volume), 0) AS TotalWater,
COALESCE(GROUP_CONCAT(iwg.provideFruit.title,'; '),'') AS provideFruit,
COALESCE(GROUP_CONCAT(iwg.remarks,'; '),'') AS remarksConcat,
COALESCE(GROUP_CONCAT(iwg.performedby, ';'),'') AS performedConcat,
MAX(iwg.project) AS project,
COALESCE(MAX(iwg.qcstate),1) AS qcstate,
FROM study.waterGiven iwg
WHERE
qcstate.label = 'Completed'
AND ( iwg.Id.death.date IS NULL OR CAST(iwg.date as DATE) <= iwg.Id.death.date )
GROUP BY
iwg.Id,
CAST(iwg.date AS DATE)
)waterSummary
ON
CAST(cal.targetdate AS DATE) = waterSummary.date
AND waterSummary.innerId = Id
WHERE
cal.targetdate <= curdate()
AND Id IS NOT NULL
2 changes: 2 additions & 0 deletions WNPRC_EHR/resources/queries/study/waterTotalByDate/.qview.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<customView xmlns="http://labkey.org/data/xml/queryCustomView">
<columns>
<column name="Id" />
<column name="Id/curLocation/location"/>
<column name="date" />
<column name="TotalWater" />
<column name="provideFruit"/>
Expand All @@ -12,6 +13,7 @@
<column name="volumeGivenInProcedure" />
<column name="performedConcat" />
<column name="currentWaterCondition" />
<column name="latestConditionDate" />
<column name="project"/>
<column name="qcstate" />
</columns>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,9 @@
<column columnName="InnerMlsPerKg">
<columnTitle>Allowed MlsPerKg</columnTitle>
</column>
<column columnName="remarksConcat">
<columnTitle>Water Given Remarks</columnTitle>
</column>

</columns>
</table>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,15 @@ SELECT wtbd.Id as Id,
wtbd.volumeGivenInImage,
wtbd.volumeGivenInProcedure,
wtbd.currentWaterCondition,
wtbd.remarksConcat,
waterScheduledAnimalsOuter.condition AS conditionAtTime,
waterScheduledAnimalsOuter.endDate as endDateCondition,

CAST(waterScheduledAnimalsOuter.mlsperKg AS NUMERIC) AS InnerMlsPerKg,
waterScheduledAnimalsOuter.project,
wtbd.performedConcat,
wtbd.qcstate,
wtbd.curRoom || '-' || wtbd.curCage AS location,
COALESCE(CAST(wtbd.TotalWater/weigthDates.weight AS NUMERIC), 0) AS zeroOrmlsPerKg,
'waterTotal' AS dataSource
FROM study.waterTotalByDate wtbd

Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,22 @@
<customView xmlns="http://labkey.org/data/xml/queryCustomView">
<columns>
<column name="Id"/>
<column name="Id/lastHousing/location"/>
<column name="Id/curLocation/location"/>
<column name="Id/Demographics/calculated_status"/>
<column name="date"/>
<column name="TotalWater"/>
<column name="mlsPerKg"/>
<column name="remarksConcat"/>
<column name="weight"/>
<column name="volumeGivenInLabSub"/>
<column name="volumeGivenInCage"/>
<column name="volumeGivenInImage"/>
<column name="volumeGivenInProcedure"/>
<column name="currentWaterCondition"/>
<column name="conditionAtTime"/>
<column name="performedConcat"/>
<column name="InnerMlsPerKg"/>
<column name="location"/>
<column name="dataSource"/>
<column name="qcstate"/>

</columns>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<customView xmlns="http://labkey.org/data/xml/queryCustomView">
<columns>
<column name="Id"/>
<column name="Id/lastHousing/location"/>
<column name="Id/curLocation/location"/>
<column name="Id/Demographics/calculated_status"/>
<column name="date"/>
<column name="TotalWater"/>
<column name="mlsPerKg"/>
<column name="remarksConcat"/>
<column name="weight"/>
<column name="volumeGivenInLabSub"/>
<column name="volumeGivenInCage"/>
<column name="volumeGivenInImage"/>
<column name="volumeGivenInProcedure"/>
<column name="conditionAtTime"/>
<column name="performedConcat"/>
<column name="InnerMlsPerKg"/>
<column name="location"/>
<column name="qcstate"/>

</columns>
<sorts>
<sort column="date" descending="true"/>
</sorts>
<filters>
<!-- <filter column="mlsPerKg" operator="lte" value="10"/>-->
<filter column="zeroOrmlsPerKg" operator="lte" value="10"/>
<filter column="currentWaterCondition" operator="eq" value="regulated"/>
</filters>
</customView>
Loading