@if ($patient->isRestricted()) @endif @if ($patient->currentAdmission) @endif @if ($patient->blood_group_display !== '—') @endif ID card Wristband @can('patient-access-logs.view') Access trail @endcan @can('patients.edit') Amend @endcan @foreach ([ 'overview' => 'Overview', 'visits' => 'Visits & Appointments', 'insurance' => 'Insurance', 'documents' => 'Documents', 'contacts' => 'Contacts', ] as $key => $label) @endforeach @can('emr.view') @endcan @can('invoices.view') @endcan @if ($patient->isRestricted())
Access to this record is limited. You are seeing it because your account holds the restricted-access permission, and this visit has been logged.
@endif {{-- ------------------------------------------------------------ overview --}}
@can('patients.edit') Amend @endcan
Date of birth
{{ $patient->date_of_birth?->format('d M Y') ?? 'Not recorded' }}
Age
{{ $patient->age_display }}
Gender
{{ $patient->gender_label }}
National ID
{{ $patient->national_id ?: '—' }}
Mobile
{{ $patient->phone ?: '—' }}
Alternative phone
{{ $patient->alt_phone ?: '—' }}
Email
{{ $patient->email ?: '—' }}
County
{{ collect([$patient->town, $patient->sub_county, $patient->county])->filter()->implode(', ') ?: '—' }}
Address
{{ collect([$patient->address, $patient->postal_code])->filter()->implode(' ') ?: '—' }}
Marital status
{{ lookup_label('marital_status', $patient->marital_status) }}
Occupation
{{ $patient->occupation ?: '—' }}
Nationality
{{ $patient->nationality ?: '—' }}
@if ($canViewClinical) Carried into every encounter — kept current at the front desk.
Blood group
{{ $patient->blood_group_display }}
Disability
{{ $patient->disability ?: 'None recorded' }}
Preferred language
{{ $patient->preferred_language ?: 'Not recorded' }}

Known allergies

@if ($patient->allergies_summary)

{{ $patient->allergies_summary }}

@else

None recorded — confirm with the patient.

@endif

Chronic conditions

@if ($patient->chronic_conditions)

{{ $patient->chronic_conditions }}

@else

None recorded.

@endif
@endif
Registered on
{{ $patient->registration_date?->format('d M Y') ?? $patient->created_at?->format('d M Y') }}
Registered by
{{ $patient->registeredBy?->name ?? 'System' }}
Category
{{ $patient->category_label }}
Referred by
{{ $patient->referred_by ?: '—' }}
Referral source
{{ $patient->referral_source ?: '—' }}
Linked portal account
{{ $patient->user?->name ?? 'Not linked' }}
@if ($patient->notes)

Front-desk notes

{{ $patient->notes }}

@endif
Barcode for {{ $patient->medical_record_number }}

{{ $patient->medical_record_number }}

Patient status
Confidentiality @if ($patient->is_confidential) @else @endif
@if ($patient->is_confidential && $patient->confidentiality_reason)

{{ $patient->confidentiality_reason }}

@endif
@can('patients.edit') @endcan @can('patients.manage-confidentiality') @endcan @can('patients.delete') @endcan
@if ($patient->next_of_kin_name)
Name
{{ $patient->next_of_kin_name }}
Relationship
{{ lookup_label('patient_contact_relationship', $patient->next_of_kin_relationship) }}
Phone
{{ $patient->next_of_kin_phone ?: '—' }}
@else

No next of kin recorded.

@endif
{{-- --------------------------------------------------------------- visits --}}
Outpatient and emergency attendance at this facility. @if ($visits->isEmpty()) @else
@foreach ($visits as $visit) @endforeach
Visit Date Type Clinic Clinician Priority Status
{{ $visit->visit_no }} {{ $visit->visit_date?->format('d M Y') }} {{ $visit->department?->name ?? '—' }} {{ $visit->doctor?->name ?? 'Unassigned' }}
@endif
@if ($appointments->isEmpty()) @else
@foreach ($appointments as $appointment) @endforeach
Date Time Clinic Clinician Type Status
{{ $appointment->appointment_date?->format('d M Y') }} {{ $appointment->slot_time ? \Illuminate\Support\Str::of($appointment->slot_time)->substr(0, 5) : '—' }} {{ $appointment->department?->name ?? '—' }} {{ $appointment->doctor?->name ?? 'Unassigned' }}
@endif
@if ($admissions->isEmpty()) @else
@foreach ($admissions as $admission) @endforeach
Admission Admitted Discharged Ward / bed Type Status
{{ $admission->admission_no }} {{ $admission->admission_date?->format('d M Y') }} {{ $admission->discharge_date?->format('d M Y') ?? '—' }} {{ $admission->bed?->ward?->name ?? '—' }} @if ($admission->bed) · {{ $admission->bed->bed_number }} @endif
@endif
{{-- ------------------------------------------------------------ insurance --}}
@include('registration.patients._insurances')
{{-- ------------------------------------------------------------ documents --}}
@include('registration.patients._documents')
{{-- ------------------------------------------------------------- contacts --}}
@include('registration.patients._contacts')
{{-- ------------------------------------------------------------- clinical --}} @can('emr.view')
What a clinician must know before touching this patient. The full record lives in the clinical hub.

Known allergies

@if ($patient->allergies_summary)

{{ $patient->allergies_summary }}

@else

None recorded — confirm with the patient, and record any answer here.

@endif

Chronic conditions

@if ($patient->chronic_conditions)

{{ $patient->chronic_conditions }}

@else

None recorded.

@endif

Allergies, problems and past history are kept on the clinical record rather than here, so they follow the patient between visits. This summary is the headline only.

Encounters, observations, diagnoses, notes, allergies and past history for this patient.

Everything clinical is read and written from the patient's clinical hub: the standing record on one page, with each panel drawn only for the staff entitled to it.

Open the clinical record @can('encounters.create') Open encounter @endcan

Clinical panels are gated by permission, not by role name. What you see on the clinical record is what your account is entitled to; nothing else is loaded.

Every opening of the record is written to the patient's access trail.

@endcan {{-- -------------------------------------------------------------- billing --}} @can('invoices.view')
Raised against this patient at this facility. @if ($invoices->isEmpty()) @else
@foreach ($invoices as $invoice) @endforeach
Invoice Date Type Total Paid Balance Status
{{ $invoice->invoice_no }} {{ $invoice->invoice_date?->format('d M Y') }} {{ money($invoice->total_amount) }} {{ money($invoice->amount_paid) }} {{ money($invoice->balance) }}
@endif
@endcan
@stack('modals') @can('patients.edit')
@csrf @method('PATCH')

Change patient status

Deactivating keeps the record and its history but removes the patient from active lists.

@endcan @can('patients.manage-confidentiality')
@csrf @method('PATCH')

Record confidentiality

A restricted record disappears from the index of anyone without the restricted-access permission, and each opening is logged with the reason below.

@endcan @can('patients.delete')
@csrf @method('DELETE')

Remove this patient record?

{{ $patient->full_name }} ({{ $patient->medical_record_number }}) leaves the active index. Clinical history attached to the record is retained and remains auditable.

@endcan