34 lines
1.1 KiB
PHP
34 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Resources\Mis;
|
|
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Http\Resources\Json\JsonResource;
|
|
use Illuminate\Support\Carbon;
|
|
use Illuminate\Support\Str;
|
|
|
|
class FormattedPatientResource extends JsonResource
|
|
{
|
|
/**
|
|
* Transform the resource into an array.
|
|
*
|
|
* @return array<string, mixed>
|
|
*/
|
|
public function toArray(Request $request): array
|
|
{
|
|
return [
|
|
'id' => $this->MedicalHistoryID,
|
|
'num' => $this->num,
|
|
'mkb' => $this->whenLoaded('migrations', function () {
|
|
return [
|
|
'ds' => $this->migrations()->first()->diagnosis()->first()->mkb()->first()->DS ?? null,
|
|
'name' => $this->migrations()->first()->diagnosis()->first()->mkb()->first()->NAME ?? null,
|
|
];
|
|
}),
|
|
'fullname' => Str::ucwords(Str::lower("$this->FAMILY $this->Name $this->OT")),
|
|
'age' => Carbon::parse($this->BD)->diff(Carbon::now())->format('%y'),
|
|
'birth_date' => Carbon::parse($this->BD)->format('d.m.Y'),
|
|
];
|
|
}
|
|
}
|