Добавил дополнительные проверки для даты смерти при переводе
This commit is contained in:
@@ -424,7 +424,15 @@ class DutyReportService
|
|||||||
$hasDeathInPeriod = false;
|
$hasDeathInPeriod = false;
|
||||||
if (!empty($patient['death_date'])) {
|
if (!empty($patient['death_date'])) {
|
||||||
$deathDateCarbon = Carbon::parse($patient['death_date']);
|
$deathDateCarbon = Carbon::parse($patient['death_date']);
|
||||||
if ($deathDateCarbon >= $periodStartCarbon && $deathDateCarbon <= $periodEndCarbon) {
|
$deathInPeriod = $deathDateCarbon >= $periodStartCarbon && $deathDateCarbon <= $periodEndCarbon;
|
||||||
|
|
||||||
|
// Если пациента выписали/перевели из этого отделения раньше даты смерти,
|
||||||
|
// значит смерть наступила уже в другом отделении - здесь её не учитываем,
|
||||||
|
// иначе одна смерть считается в нескольких отделениях (источник + принимающее).
|
||||||
|
$diedAfterLeavingDepartment = $migrationOutDate
|
||||||
|
&& Carbon::parse($migrationOutDate)->lt($deathDateCarbon);
|
||||||
|
|
||||||
|
if ($deathInPeriod && !$diedAfterLeavingDepartment) {
|
||||||
$hasDeathInPeriod = true;
|
$hasDeathInPeriod = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -436,7 +444,8 @@ class DutyReportService
|
|||||||
// Приоритет: данные из миграции (если есть), иначе из карты
|
// Приоритет: данные из миграции (если есть), иначе из карты
|
||||||
$patientData['visit_result_id'] = $migrationVisitResultId ?? $patient['visit_result_id'] ?? null;
|
$patientData['visit_result_id'] = $migrationVisitResultId ?? $patient['visit_result_id'] ?? null;
|
||||||
$patientData['extract_date'] = $migrationOutDate ?? $patient['extract_date'] ?? null;
|
$patientData['extract_date'] = $migrationOutDate ?? $patient['extract_date'] ?? null;
|
||||||
$patientData['death_date'] = $patient['death_date'] ?? null;
|
// Дату смерти проставляем только если пациент действительно умер в этом отделении
|
||||||
|
$patientData['death_date'] = $hasDeathInPeriod ? ($patient['death_date'] ?? null) : null;
|
||||||
} else {
|
} else {
|
||||||
$patientData['visit_result_id'] = null;
|
$patientData['visit_result_id'] = null;
|
||||||
$patientData['extract_date'] = null;
|
$patientData['extract_date'] = null;
|
||||||
|
|||||||
Reference in New Issue
Block a user