|
@@ -46,7 +46,11 @@
|
|
|
$nextDay = date_format(date_add(date_create($nextDay), date_interval_create_from_date_string('1 day')), 'Y-m-d');
|
|
|
}
|
|
|
|
|
|
- $allMeasurements = $patient->nonZeroMeasurements->toArray();
|
|
|
+ /** @var \App\Models\Client $patient */
|
|
|
+
|
|
|
+ // BP
|
|
|
+ $bpMeasurements = $patient->getNonZeroBpMeasurements->toArray();
|
|
|
+ $weightMeasurements = $patient->getNonZeroWeightMeasurements->toArray();
|
|
|
|
|
|
$bpData = [];
|
|
|
$weightData = [];
|
|
@@ -55,45 +59,30 @@
|
|
|
|
|
|
$date = $dates[$i];
|
|
|
|
|
|
- // sbp
|
|
|
- $sbp = array_filter($allMeasurements, function($_measurement) use ($date) {
|
|
|
- return $_measurement['label'] === 'SBP' && $_measurement['effective_date'] === $date && !!$_measurement['numeric_value'];
|
|
|
+ // bp
|
|
|
+ $bp = array_filter($bpMeasurements, function($_measurement) use ($date) {
|
|
|
+ return $_measurement['effective_date'] === $date;
|
|
|
});
|
|
|
- if(count($sbp)) {
|
|
|
- $sbp = array_values($sbp);
|
|
|
- $sbp = $sbp[count($sbp) - 1];
|
|
|
+ if(count($bp)) {
|
|
|
+ $bp = array_values($bp);
|
|
|
+ $bp = $bp[count($bp) - 1];
|
|
|
}
|
|
|
else {
|
|
|
- $sbp = null;
|
|
|
- }
|
|
|
- // dbp
|
|
|
- $dbp = null;
|
|
|
- if($sbp) {
|
|
|
- $dbp = array_filter($allMeasurements, function($_measurement) use ($date) {
|
|
|
- $measurementDate = date('Y-m-d', strtotime($_measurement['effective_date']));
|
|
|
- return $_measurement['label'] === 'DBP' && $measurementDate === $date && !!$_measurement['numeric_value'];
|
|
|
- });
|
|
|
- if(count($dbp)) {
|
|
|
- $dbp = array_values($dbp);
|
|
|
- $dbp = $dbp[count($dbp) - 1];
|
|
|
- }
|
|
|
- else {
|
|
|
- $dbp = null;
|
|
|
- }
|
|
|
+ $bp = null;
|
|
|
}
|
|
|
- if ($sbp && $dbp) {
|
|
|
+
|
|
|
+
|
|
|
+ if ($bp) {
|
|
|
$bpData[] = [
|
|
|
"date" => $date,
|
|
|
- "sbp" => $sbp["numeric_value"],
|
|
|
- "dbp" => $dbp["numeric_value"]
|
|
|
+ "sbp" => $bp["sbp_mm_hg"],
|
|
|
+ "dbp" => $bp["dbp_mm_hg"]
|
|
|
];
|
|
|
}
|
|
|
|
|
|
// weight
|
|
|
- $weight = array_filter($allMeasurements, function($_measurement) use ($date) {
|
|
|
- return $_measurement['label'] === 'Wt. (lbs.)' &&
|
|
|
- $_measurement['effective_date'] === $date &&
|
|
|
- !!$_measurement['numeric_value'];
|
|
|
+ $weight = array_filter($weightMeasurements, function($_measurement) use ($date) {
|
|
|
+ return $_measurement['effective_date'] === $date;
|
|
|
});
|
|
|
if(count($weight)) {
|
|
|
$weight = array_values($weight);
|