@php($diskUrl = fn (string $path) => \Illuminate\Support\Facades\Storage::url($path))

{{ $patient->name }}

@if ($patient->clinical_code)

{{ __('Expediente paciente') }}: {{ $patient->clinical_code }}

@endif
{{-- Representante --}}

{{ __('Representante / titular') }}

@if ($client->photo_path) @else
{{ mb_strtoupper(mb_substr($client->name, 0, 1)) }}
@endif

{{ __('Nombre') }}: {{ $client->name }}

@if ($client->registration_code)

{{ __('Código titular') }}: {{ $client->registration_code }}

@endif @if ($client->phone)

{{ __('Teléfono') }}: {{ $client->phone }}

@endif @if ($client->email)

{{ __('Correo') }}: {{ $client->email }}

@endif
{{-- Datos del paciente --}}

{{ __('Datos del paciente') }}

@if ($patient->photo_path) @else
{{ mb_strtoupper(mb_substr($patient->name, 0, 1)) }}
@endif
@if ($patient->species || $patient->breed)

{{ __('Especie / raza') }}: {{ collect([$patient->species, $patient->breed])->filter()->join(' · ') }}

@endif @if ($patient->sex)

{{ __('Sexo') }}: {{ match ($patient->sex) { 'M' => __('Macho'), 'F' => __('Hembra'), default => __('Desconocido'), } }}

@endif @if ($patient->birth_date)

{{ __('Nacimiento') }}: {{ $patient->birth_date->translatedFormat('d M Y') }}

@endif @if ($patient->current_weight_kg)

{{ __('Peso actual') }}: {{ $patient->current_weight_kg }} kg

@endif @if ($patient->color)

{{ __('Color') }}: {{ $patient->color }}

@endif @if ($patient->microchip)

{{ __('Microchip') }}: {{ $patient->microchip }}

@endif

{{ __('Estado') }}: {{ $patient->is_active ? __('Activo') : __('Inactivo') }}

@if (! is_null($patient->sterilized))

{{ __('Esterilización') }}: {{ $patient->sterilized ? __('Sí') : __('No') }}

@endif @if ($patient->allergies)

{{ __('Alergias') }}: {{ $patient->allergies }}

@endif @if ($patient->notes)

{{ __('Notas') }}:
{{ $patient->notes }}

@endif
{{-- Multimedia del expediente --}} @can('clients.view')

{{ __('Multimedia del expediente') }}

{{ __('Estudios, radiografías, documentos generales del paciente') }}

@can('medical_records.edit')
@csrf
{{ __('Subir archivos') }}
@endcan @if ($patient->mediaFiles->isEmpty())

{{ __('No hay archivos en el expediente todavía.') }}

@else
    @foreach ($patient->mediaFiles as $file) @php($u = $diskUrl($file->path))
  • @if ($file->isImage()) @elseif ($file->isPdf())
    PDF
    @elseif ($file->isVideo())
    @else
    @endif

    {{ $file->title ?: $file->original_name }}

    {{ $file->created_at->translatedFormat('d M Y H:i') }}

    {{ __('Descargar') }} @can('medical_records.edit')
    @csrf @method('delete')
    @endcan
  • @endforeach
@endif
@endcan {{-- Historia clínica --}}

{{ __('Historia clínica') }}

@can('medical_records.view') {{ __('Ver historial completo') }} @endcan @can('medical_records.edit') {{ __('Nueva consulta') }} @endcan
@can('medical_records.view') @if ($patient->medicalRecords->isEmpty())

{{ __('Sin consultas registradas.') }}

@else
    @foreach ($patient->medicalRecords as $record)
  • {{ $record->title ?: __('Consulta') }}

    {{ $record->recorded_at->translatedFormat('d M Y H:i') }} @if ($record->author) · {{ $record->author->name }} @endif @if (($record->attachments_count ?? 0) > 0) · {{ $record->attachments_count }} {{ $record->attachments_count === 1 ? __('adjunto') : __('adjuntos') }} @endif

  • @endforeach
@if ($patient->medical_records_count > $patient->medicalRecords->count())

{{ __('Ver las :total entradas', ['total' => $patient->medical_records_count]) }}

@endif @endif @else

{{ __('No tiene permiso para ver el historial clínico.') }}

@endcan
@can('reservations.view')

{{ __('Reservas de farmacia (caja)') }}

{{ __('Ver reservas') }} @can('reservations.manage') {{ __('Nueva reserva para caja') }} @endcan @can('appointments.manage') {{ __('Nueva cita') }} @endcan

{{ __('El médico indica productos de farmacia clínica; en el POS se cargan y cobran cuando el cliente paga.') }}

@endcan @can('clients.manage')
@csrf @method('delete')
@endcan @include('partials.file-preview-modal')