modified: .gitignore

This commit is contained in:
brusnitsyn
2026-04-21 10:08:14 +09:00
parent 0e8b6f61b4
commit 2041ab54ea
74 changed files with 7533 additions and 1544 deletions

View File

@@ -4,6 +4,7 @@ namespace App\Models;
use App\Services\DateRange;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Carbon;
class LifeMisMigrationPatient extends Model
{
@@ -72,18 +73,19 @@ class LifeMisMigrationPatient extends Model
*/
public function scopeOutcomePatients($query, $branchId = null, DateRange $dateRange = null)
{
$query->where('rf_kl_VisitResultID', '<>', 0) // не активное лечение
->whereDate('DateOut', '<>', '1900-01-01') // есть дата выбытия
->where('rf_MedicalHistoryID', '<>', 0);
$query->where('rf_MedicalHistoryID', '<>', 0);
if ($branchId) {
$query->where('rf_StationarBranchID', $branchId);
}
if ($dateRange) {
// $query->whereBetween('DateOut', [$dateRange->startSql(), $dateRange->endSql()]);
$query->where('DateOut', '>=', $dateRange->startSql())
->where('DateOut', '<=', $dateRange->endSql());
$startDate = Carbon::parse($dateRange->startSql())->toDateString();
$endDate = Carbon::parse($dateRange->endSql())->toDateString();
$query->whereHas('medicalHistory', function ($mhQuery) use ($startDate, $endDate) {
$mhQuery->whereDate('DateExtract', '>', $startDate)
->whereDate('DateExtract', '<=', $endDate);
});
}
return $query;
@@ -94,11 +96,10 @@ class LifeMisMigrationPatient extends Model
*/
public function scopeOutcomeDischarged($query, $branchId = null, DateRange $dateRange = null)
{
// ID выписки
$dischargeCodes = [1, 7, 8, 9, 10, 11, 48, 49, 124];
// По уточненному SQL: Выписано за период
$dischargeCodes = [1, 11, 2, 12, 7, 18, 48];
$query->whereIn('rf_kl_VisitResultID', $dischargeCodes)
->whereDate('DateOut', '<>', '1900-01-01')
->where('rf_MedicalHistoryID', '<>', 0);
if ($branchId) {
@@ -106,9 +107,12 @@ class LifeMisMigrationPatient extends Model
}
if ($dateRange) {
// $query->whereBetween('DateOut', [$dateRange->startSql(), $dateRange->endSql()]);
$query->where('DateOut', '>=', $dateRange->startSql())
->where('DateOut', '<=', $dateRange->endSql());
$startDate = Carbon::parse($dateRange->startSql())->toDateString();
$endDate = Carbon::parse($dateRange->endSql())->toDateString();
$query->whereHas('medicalHistory', function ($mhQuery) use ($startDate, $endDate) {
$mhQuery->whereDate('DateExtract', '>', $startDate)
->whereDate('DateExtract', '<=', $endDate);
});
}
return $query;
@@ -119,11 +123,10 @@ class LifeMisMigrationPatient extends Model
*/
public function scopeOutcomeTransferred($query, $branchId = null, DateRange $dateRange = null)
{
// ID перевода
$transferCodes = [2, 3, 4, 12, 13, 14];
// По заданному SQL: только эти коды перевода
$transferCodes = [4, 14];
$query->whereIn('rf_kl_VisitResultID', $transferCodes)
->whereDate('DateOut', '<>', '1900-01-01')
->where('rf_MedicalHistoryID', '<>', 0);
if ($branchId) {
@@ -131,9 +134,12 @@ class LifeMisMigrationPatient extends Model
}
if ($dateRange) {
// $query->whereBetween('DateOut', [$dateRange->startSql(), $dateRange->endSql()]);
$query->where('DateOut', '>=', $dateRange->startSql())
->where('DateOut', '<=', $dateRange->endSql());
$startDate = Carbon::parse($dateRange->startSql())->toDateString();
$endDate = Carbon::parse($dateRange->endSql())->toDateString();
$query->whereHas('medicalHistory', function ($mhQuery) use ($startDate, $endDate) {
$mhQuery->whereDate('DateExtract', '>', $startDate)
->whereDate('DateExtract', '<=', $endDate);
});
}
return $query;
@@ -148,7 +154,6 @@ class LifeMisMigrationPatient extends Model
$deceasedCodes = [5, 6, 15, 16];
$query->whereIn('rf_kl_VisitResultID', $deceasedCodes)
->whereDate('DateOut', '<>', '1900-01-01')
->where('rf_MedicalHistoryID', '<>', 0);
if ($branchId) {
@@ -156,9 +161,12 @@ class LifeMisMigrationPatient extends Model
}
if ($dateRange) {
// $query->whereBetween('DateOut', [$dateRange->startSql(), $dateRange->endSql()]);
$query->where('DateOut', '>=', $dateRange->startSql())
->where('DateOut', '<=', $dateRange->endSql());
$startDate = Carbon::parse($dateRange->startSql())->toDateString();
$endDate = Carbon::parse($dateRange->endSql())->toDateString();
$query->whereHas('medicalHistory', function ($mhQuery) use ($startDate, $endDate) {
$mhQuery->whereDate('DateExtract', '>', $startDate)
->whereDate('DateExtract', '<=', $endDate);
});
}
return $query;
@@ -166,11 +174,8 @@ class LifeMisMigrationPatient extends Model
public function scopeOutcomeWithoutTransferred($query, $branchId = null, DateRange $dateRange = null)
{
// ID выписанных, без переводных
$outcomeWithoutTransferredIds = [5, 6, 15, 16, 1, 7, 8, 9, 10, 11, 48, 49, 124];
$query->whereIn('rf_kl_VisitResultID', $outcomeWithoutTransferredIds)
->whereDate('DateOut', '<>', '1900-01-01')
$query->whereNotIn('rf_kl_VisitResultID', [4, 14])
->where('rf_kl_VisitResultID', '<>', 0)
->where('rf_MedicalHistoryID', '<>', 0);
if ($branchId) {
@@ -178,9 +183,12 @@ class LifeMisMigrationPatient extends Model
}
if ($dateRange) {
// $query->whereBetween('DateOut', [$dateRange->startSql(), $dateRange->endSql()]);
$query->where('DateOut', '>=', $dateRange->startSql())
->where('DateOut', '<=', $dateRange->endSql());
$startDate = Carbon::parse($dateRange->startSql())->toDateString();
$endDate = Carbon::parse($dateRange->endSql())->toDateString();
$query->whereHas('medicalHistory', function ($mhQuery) use ($startDate, $endDate) {
$mhQuery->whereDate('DateExtract', '>', $startDate)
->whereDate('DateExtract', '<=', $endDate);
});
}
return $query;
@@ -194,9 +202,12 @@ class LifeMisMigrationPatient extends Model
$query->where('rf_kl_VisitResultID', '<>', 0)
->where('rf_MedicalHistoryID', '<>', 0)
->when($dateRange, function($query) use ($dateRange) {
// return $query->whereBetween('DateOut', [$dateRange->startSql(), $dateRange->endSql()]);
return $query->where('DateOut', '>=', $dateRange->startSql())
->where('DateOut', '<=', $dateRange->endSql());
$startDate = Carbon::parse($dateRange->startSql())->toDateString();
$endDate = Carbon::parse($dateRange->endSql())->toDateString();
return $query->whereHas('medicalHistory', function ($mhQuery) use ($startDate, $endDate) {
$mhQuery->whereDate('DateExtract', '>', $startDate)
->whereDate('DateExtract', '<=', $endDate);
});
});
if ($branchId) {