105 lines
2.9 KiB
PHP
105 lines
2.9 KiB
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use DB;
|
|
|
|
class RequestDailyMonitoring extends Model
|
|
{
|
|
use HasFactory;
|
|
|
|
protected $table = "request_log_daily_monitorings";
|
|
|
|
protected $fillable = [
|
|
'request_log_id',
|
|
'subject',
|
|
'object',
|
|
'submission_date',
|
|
'body_temperature',
|
|
'respiration_rate',
|
|
'sistole',
|
|
'diastole',
|
|
'analysis',
|
|
'lab_date',
|
|
'provider',
|
|
'examination',
|
|
'created_by',
|
|
'updated_by',
|
|
'deleted_by',
|
|
];
|
|
|
|
protected $appends = ['medical_plan', 'non_medikamentosa_plan', 'document', 'discharge_date'];
|
|
|
|
public function getBodyTemperatureAttribute()
|
|
{
|
|
return round($this->attributes['body_temperature'], 0);
|
|
}
|
|
|
|
public function getSistoleAttribute()
|
|
{
|
|
return round($this->attributes['sistole'], 0);
|
|
}
|
|
|
|
public function getDiastoleAttribute()
|
|
{
|
|
return round($this->attributes['diastole'], 0);
|
|
}
|
|
|
|
public function getRespirationRateAttribute()
|
|
{
|
|
return round($this->attributes['respiration_rate'], 0);
|
|
}
|
|
|
|
public function getMedicalPlanAttribute()
|
|
{
|
|
$arr_medical_plan = [];
|
|
$medical_plan = DB::table('request_log_medical_plan')->where(['request_log_daily_monitoring_id' => $this->attributes['id'], 'type' => 1])->get();
|
|
|
|
foreach ($medical_plan as $row) {
|
|
$arr_medical_plan[] = [
|
|
'medical_plan_str' => $row->plan
|
|
];
|
|
}
|
|
|
|
return $arr_medical_plan;
|
|
}
|
|
|
|
public function getNonMedikamentosaPlanAttribute()
|
|
{
|
|
$arr_non_medikamentosa_plan = [];
|
|
$non_medikamentosa_plan = DB::table('request_log_medical_plan')->where(['request_log_daily_monitoring_id' => $this->attributes['id'], 'type' => 2])->get();
|
|
|
|
foreach ($non_medikamentosa_plan as $row) {
|
|
$arr_non_medikamentosa_plan[] = [
|
|
'non_medikamentosa_plan_str' => $row->plan
|
|
];
|
|
}
|
|
|
|
return $arr_non_medikamentosa_plan;
|
|
}
|
|
|
|
public function getDocumentAttribute()
|
|
{
|
|
$arr_document = [];
|
|
$document = DB::table('files')->where(['fileable_type' => 'App\Models\LaboratoriumResult', 'fileable_id' => $this->attributes['id']])->get();
|
|
|
|
foreach ($document as $row) {
|
|
$arr_document[] = [
|
|
'file_name' => $row->original_name,
|
|
'path' => env('APP_URL') . '/storage/lab_result/' . $row->name .'.'. $row->extension,
|
|
'type' => $row->type,
|
|
];
|
|
}
|
|
|
|
return $arr_document;
|
|
}
|
|
|
|
public function getDischargeDateAttribute()
|
|
{
|
|
return $discharge_date = DB::table('request_logs')->where('id', $this->attributes['request_log_id'])->select('discharge_date')->first();
|
|
}
|
|
|
|
}
|