Добавил исправление даты смерти
This commit is contained in:
@@ -372,14 +372,18 @@ class DutyReportService
|
||||
}
|
||||
}
|
||||
|
||||
// Выбытие в периоде (есть out_date в периоде)
|
||||
if ($outDate && $this->dateRangeService->dateInPeriod($outDate, $dateRange)) {
|
||||
// Смерть (коды 5, 15 - умер в стационаре)
|
||||
if (in_array($visitResultId, [5, 15])) {
|
||||
// Умер в периоде
|
||||
if (!empty($patient['death_date'])) {
|
||||
$deathDateCarbon = Carbon::parse($patient['death_date']);
|
||||
if ($deathDateCarbon >= $periodStartCarbon && $deathDateCarbon <= $periodEndCarbon) {
|
||||
$hasDeathInPeriod = true;
|
||||
}
|
||||
}
|
||||
|
||||
// Выбытие в периоде (есть out_date в периоде)
|
||||
if ($outDate && $this->dateRangeService->dateInPeriod($outDate, $dateRange)) {
|
||||
// Перевод (коды 4, 14)
|
||||
elseif (in_array($visitResultId, [4, 14])) {
|
||||
if (in_array($visitResultId, [4, 14])) {
|
||||
$hasTransferInPeriod = true;
|
||||
}
|
||||
// Выписка
|
||||
@@ -645,16 +649,24 @@ class DutyReportService
|
||||
// Модифицируем patientBatch перед сохранением
|
||||
$filteredPatientBatch = array_map(function($patient) use ($reportDutyId, $reportDate) {
|
||||
// Очищаем death_date, если она есть
|
||||
// (заплатка для данных из МИС - бывает что дата смерти не устанавливается)
|
||||
// Пример карт - 329609 и 325529
|
||||
if (!empty($patient['death_date'])) {
|
||||
// Проверяем, была ли смерть на момент отчета
|
||||
$deathDate = Carbon::parse($patient['death_date']);
|
||||
$extractDate = Carbon::parse($patient['extract_date']);
|
||||
} else {
|
||||
$deathDate = Carbon::parse($patient['extract_date']);
|
||||
}
|
||||
|
||||
$visitResultId = $patient['visit_result_id'];
|
||||
|
||||
if (in_array($visitResultId, [5, 15])) {
|
||||
// Если дата смерти ПОЗЖЕ даты отчета - удаляем
|
||||
if ($deathDate->gt($reportDate)) {
|
||||
$patient['death_date'] = null;
|
||||
} else {
|
||||
// Если дата смерти в тот же день или раньше - оставляем
|
||||
$patient['death_date'] = $deathDate;
|
||||
}
|
||||
// Если дата смерти в тот же день или раньше - оставляем
|
||||
}
|
||||
|
||||
// extract_date оставляем всегда (это дата перевода/выбытия из отделения)
|
||||
|
||||
Reference in New Issue
Block a user