Files
rkm-conectasus-ci-sandbox/api/resources/views/impressoes/template/atencao-basica/relatorio-cuidado-desenvolvimento-infantil.blade.php
Antonio Lopes dos Santos afec302c3e
All checks were successful
build-api-image / build (push) Successful in 51s
init commit
2026-08-04 16:52:02 -03:00

228 lines
9.1 KiB
PHP

@extends('impressoes.layout1.content')
@section('conteudo')
<style>
.table th, .table td { font-size: 10px; vertical-align: middle; }
.table th { text-align: center; background-color: #f0f0f0; }
.text-center { text-align: center; }
.text-right { text-align: right; }
.badge-success { background-color: #28a745; color: #fff; padding: 1px 5px; border-radius: 3px; }
.badge-danger { background-color: #dc3545; color: #fff; padding: 1px 5px; border-radius: 3px; }
.totais-box { display: inline-block; border: 1px solid #ccc; border-radius: 4px; padding: 4px 10px; margin: 4px; text-align: center; min-width: 80px; }
.totais-box .valor { font-size: 16px; font-weight: bold; }
.totais-box .label { font-size: 9px; color: #555; }
fieldset { border: 1px solid #ccc; border-radius: 4px; padding: 8px 12px; margin-bottom: 10px; }
legend { font-weight: bold; font-size: 11px; padding: 0 4px; width: auto; }
.section-title { font-size: 12px; font-weight: bold; margin: 10px 0 4px; border-bottom: 1px solid #ccc; padding-bottom: 2px; }
.row { display: flex; flex-wrap: wrap; margin: 0 -6px; }
.col-3 { width: 25%; padding: 0 6px; box-sizing: border-box; }
.col-4 { width: 33.33%; padding: 0 6px; box-sizing: border-box; }
.col-6 { width: 50%; padding: 0 6px; box-sizing: border-box; }
strong { font-size: 10px; }
p { font-size: 10px; margin: 2px 0; }
</style>
{{-- Filtros --}}
@php
$feiInicial = collect([($faixaEtariaInicial['anos'] ?? null) ? ($faixaEtariaInicial['anos'].'a') : null, ($faixaEtariaInicial['meses'] ?? null) ? ($faixaEtariaInicial['meses'].'m') : null, ($faixaEtariaInicial['dias'] ?? null) ? ($faixaEtariaInicial['dias'].'d') : null])->filter()->implode(' ');
$feiFinal = collect([($faixaEtariaFinal['anos'] ?? null) ? ($faixaEtariaFinal['anos'].'a') : null, ($faixaEtariaFinal['meses'] ?? null) ? ($faixaEtariaFinal['meses'].'m') : null, ($faixaEtariaFinal['dias'] ?? null) ? ($faixaEtariaFinal['dias'].'d') : null])->filter()->implode(' ');
@endphp
<fieldset>
<legend>Filtros</legend>
<div class="row">
<div class="col-4">
<strong>Período</strong>
<p>
@if($quadrimestre)
Quadrimestre {{ $quadrimestre }}
@else
De {{ $inicio }} até {{ $fim }}
@endif
</p>
</div>
<div class="col-4">
<strong>Unidade</strong>
<p>{{ $unidade }}</p>
</div>
<div class="col-4">
<strong>Local de atendimento</strong>
<p>{{ $infraestrutura }}</p>
</div>
</div>
<div class="row" style="margin-top:4px">
<div class="col-4">
<strong>Equipe</strong>
<p>{{ $equipe }}</p>
</div>
<div class="col-4">
<strong>Sexo</strong>
<p>{{ $sexo }}</p>
</div>
<div class="col-4">
<strong>Boas Práticas</strong>
<p>{{ implode(', ', $boasPraticasSelecionadas) }}</p>
</div>
</div>
<div class="row" style="margin-top:4px">
<div class="col-3">
<strong>Faixa Etária Inicial</strong>
<p>{{ $feiInicial ?: '-' }}</p>
</div>
<div class="col-3">
<strong>Faixa Etária Final</strong>
<p>{{ $feiFinal ?: '-' }}</p>
</div>
<div class="col-3">
<strong>Paciente</strong>
<p>{{ $paciente }}</p>
</div>
<div class="col-3">
<strong>Busca Ativa</strong>
<p>{{ $buscaAtiva ? 'Sim' : 'Não' }}</p>
</div>
</div>
</fieldset>
{{-- Totalizadores --}}
<div class="section-title">Totais</div>
<div style="margin-bottom:8px;">
<div class="totais-box">
<div class="label">Pacientes</div>
<div class="valor">{{ $totalizadores['totalPacientes'] }}</div>
</div>
<div class="totais-box">
<div class="label">Equipes</div>
<div class="valor">{{ $totalizadores['totalEquipes'] }}</div>
</div>
<div class="totais-box">
<div class="label">Microáreas</div>
<div class="valor">{{ $totalizadores['totalMicroareas'] }}</div>
</div>
<div class="totais-box">
<div class="label">Denominador (D)</div>
<div class="valor">{{ $totalizadores['denominador'] }}</div>
</div>
<div class="totais-box">
<div class="label">Numerador (N)</div>
<div class="valor">{{ $totalizadores['numerador'] }}</div>
</div>
<div class="totais-box">
<div class="label">Resultado (%)</div>
<div class="valor">{{ $totalizadores['resultado'] }}%</div>
</div>
@foreach($boasPraticasSelecionadas as $pratica)
@if(isset($totalizadores['boasPraticas'][$pratica]))
<div class="totais-box">
<div class="label">% Boa Prática {{ $pratica }}</div>
<div class="valor">{{ $totalizadores['boasPraticas'][$pratica]['percentual'] }}%</div>
</div>
@endif
@endforeach
</div>
{{-- Resultado por Equipe --}}
@if(!empty($resultadoPorEquipe))
<div class="section-title">Resultado por Equipe</div>
<table class="table">
<thead>
<tr>
<th>Unidade</th>
<th>Equipe</th>
<th>Denominador (D)</th>
<th>Numerador (N)</th>
<th>Resultado (%)</th>
<th>Classificação</th>
@foreach($boasPraticasSelecionadas as $pratica)
<th>% Prática {{ $pratica }}</th>
@endforeach
</tr>
</thead>
<tbody>
@foreach($resultadoPorEquipe as $equipeItem)
<tr>
<td>{{ $equipeItem['unidadeNomeFantasia'] }}</td>
<td>{{ $equipeItem['equipeDescricao'] }}</td>
<td class="text-center">{{ $equipeItem['denominador'] }}</td>
<td class="text-center">{{ $equipeItem['numerador'] }}</td>
<td class="text-center">{{ $equipeItem['resultado'] }}%</td>
<td class="text-center">{{ $equipeItem['classificacao'] }}</td>
@foreach($boasPraticasSelecionadas as $pratica)
<td class="text-center">{{ $equipeItem['percentual' . $pratica] ?? '-' }}%</td>
@endforeach
</tr>
@endforeach
</tbody>
</table>
@endif
{{-- Busca Ativa --}}
@if(!empty($buscaAtivaDados))
<div class="section-title">Busca Ativa - Pacientes com Pendências</div>
<table class="table">
<thead>
<tr>
<th>Unidade</th>
<th>Equipe</th>
<th>Paciente</th>
<th>Sexo</th>
<th>Idade</th>
<th>Usuário Responsável</th>
@if(in_array('pacienteDataNascimento', $selectedColsBuscaAtiva))
<th>Data de Nascimento</th>
@endif
@if(in_array('pacienteTelefone', $selectedColsBuscaAtiva))
<th>Telefone</th>
@endif
@if(in_array('pacienteEndereco', $selectedColsBuscaAtiva))
<th>Endereço</th>
@endif
@if(in_array('areaMicroareaDomicilio', $selectedColsBuscaAtiva))
<th>Area/Microarea do Domicilio</th>
@endif
@foreach($boasPraticasSelecionadas as $pratica)
<th>{{ $pratica }}</th>
@endforeach
<th>Pontuação Total</th>
</tr>
</thead>
<tbody>
@foreach($buscaAtivaDados as $paciente)
<tr>
<td>{{ $paciente['unidadeNomeFantasia'] }}</td>
<td>{{ $paciente['equipeDescricao'] }}</td>
<td>{{ $paciente['pacienteNome'] }}</td>
<td class="text-center">{{ $paciente['pacienteSexo'] }}</td>
<td class="text-center">{{ $paciente['idadeCompleta'] }}</td>
<td class="text-center">{{ $paciente['usuarioResponsavelNome'] }}</td>
@if(in_array('pacienteDataNascimento', $selectedColsBuscaAtiva))
<td class="text-center">{{ $paciente['pacienteDataNascimento'] }}</td>
@endif
@if(in_array('pacienteTelefone', $selectedColsBuscaAtiva))
<td class="text-center">{{ $paciente['pacienteTelefone'] }}</td>
@endif
@if(in_array('pacienteEndereco', $selectedColsBuscaAtiva))
<td>{{ $paciente['pacienteEndereco'] }}</td>
@endif
@if(in_array('areaMicroareaDomicilio', $selectedColsBuscaAtiva))
<td>{{ $paciente['areaMicroareaDomicilio'] }}</td>
@endif
@foreach($boasPraticasSelecionadas as $pratica)
@php $campo = 'indicador' . $pratica; @endphp
<td class="text-center">
@if($paciente[$campo] ?? false)
<span class="badge-success">&#10003;</span>
@elseif($pratica === 'D' && ($paciente['areaTipoId'] ?? null) == 5)
N/C
@else
<span class="badge-danger">X</span>
@endif
</td>
@endforeach
<td class="text-center">{{ $paciente['pontuacaoTotal'] }}</td>
</tr>
@endforeach
</tbody>
</table>
@endif
@endsection