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