%PDF- %PDF-
Direktori : /var/www/html/klinisol/klinisol-api/app/Transformers/App/ |
Current File : /var/www/html/klinisol/klinisol-api/app/Transformers/App/PatientTransformer.php |
<?php namespace App\Transformers\App; use App\Models\BaseModel; use App\Models\Enrollment; use App\Models\IcdSubmission; use App\Models\Submission; use App\Transformers\BaseTransformer; use Spatie\MediaLibrary\MediaCollections\Models\Media; class PatientTransformer extends BaseTransformer { protected $availableIncludes = []; protected $defaultIncludes = []; public function transform($item) { $hasCompletedIcd = (boolean)$item->has_completed_icd; $hasSignedIcd = (boolean)$item->has_signed_icd; $hasCompletedIncExc = (boolean)$item->has_completed_inc_exc; $hasSignedIncExc = (boolean)$item->has_signed_inc_exc; $hasCompletedIncEnrollment = (boolean)$item->has_completed_enrollment; $hasSignedEnrollment = (boolean)$item->has_signed_enrollment; $data = [ 'id' => $item->patient_id, 'code' => $item->code, 'status' => $item->status, 'signed_at' => $item->patient_signed_at, 'has_completed_icd' => $hasCompletedIcd, 'has_signed_icd' => $hasSignedIcd, 'has_completed_inc_exc' => $hasCompletedIncExc, 'has_signed_inc_exc' => $hasSignedIncExc, 'has_completed_enrollment' => $hasCompletedIncEnrollment, 'has_signed_enrollment' => $hasSignedEnrollment, ]; if ($hasCompletedIncExc) { /** @var Media $media */ $media = Media::query() ->where('model_type', Submission::class) ->where('model_id', $item->submission_id) ->first(); if ($media) { $data['inc_exc_preview'] = base64_encode(file_get_contents(BaseModel::getMediaFinalUrl($media))); } } if ($hasCompletedIcd) { /** @var Media $media */ $media = Media::query() ->where('model_type', IcdSubmission::class) ->where('model_id', $item->icd_id) ->first(); if ($media) { $data['icd_preview'] = base64_encode(file_get_contents(BaseModel::getMediaFinalUrl($media))); } } if ($hasCompletedIncEnrollment) { /** @var Media $media */ $media = Media::query() ->where('model_type', Enrollment::class) ->where('model_id', $item->enrollment_id) ->first(); if ($media) { $data['enrollment_preview'] = base64_encode(file_get_contents(BaseModel::getMediaFinalUrl($media))); } } return $data; } }