soaps()->where('is_rascunho', false)->get()->each(function ($soap) use ($solicitacoesExames) { $soap->solicitacoesExames->each(function ($solicitacao) use ($solicitacoesExames) { $hasExame = $solicitacao->itens() ->whereHas('exame', fn ($q) => $q ->whereIn('codigo', [ Procedimento::EXAME_ANATOMOPATOLOGICO_DE_MAMA_BIOPSIA, Procedimento::EXAME_ANATOMOPATOLOGICO_DE_MAMA_PECA_CIRURGICA, ]) ) ->exists(); if ($hasExame) { $solicitacoesExames->push([]); } }); }); $data = [ 'requisitante' => [ 'unidade' => $atendimento->createdLotacao->infraestrutura->unidade->nome_fantasia, 'cnes' => $atendimento->createdLotacao->infraestrutura->unidade->cnes, 'municipio_uf' => $atendimento->createdLotacao->infraestrutura->endereco->logradouro->municipio->nome . " / {$atendimento->createdLotacao->infraestrutura->endereco->logradouro->municipio->estado->uf}", 'ibge' => $atendimento->createdLotacao->infraestrutura->endereco->logradouro->municipio->ibge, ], 'paciente' => [ 'prontuario' => $atendimento->paciente->prontuario, 'cns' => MaskUtil::getCnsMasked($atendimento->paciente->cidadao->cns), 'cpf' => MaskUtil::getCpfMasked($atendimento->paciente->cidadao->cpf), 'sexo' => $atendimento->paciente->cidadao->sexo->descricao ?? null, 'nome' => $atendimento->paciente->cidadao->nome, 'nome_social' => $atendimento->paciente->cidadao->nome_social, 'nome_mae' => $atendimento->paciente->cidadao->nome_mae, 'rg' => [ 'numero' => $atendimento->paciente->cidadao->carteiraIdentidade->numero ?? null, 'orgao_emissor' => $atendimento->paciente->cidadao->carteiraIdentidade->orgao_emissor ?? null, 'uf' => $atendimento->paciente->cidadao->carteiraIdentidade->estado->uf ?? null, ], 'data_nascimento' => is_null($atendimento->paciente->cidadao->data_nascimento) ? null : (new Carbon($atendimento->paciente->cidadao->data_nascimento))->format('d/m/Y'), 'idade' => $atendimento->paciente->cidadao->idade_formatada, 'raca_cor' => is_null($atendimento->paciente->cidadao->raca_cor_id) ? null : ($atendimento->paciente->cidadao->racaCor->descricao . ( $atendimento->paciente->cidadao->raca_cor_id === RacaCor::INDIGENA && !is_null($atendimento->paciente->cidadao->etnia_indigena_id) ? " ({$atendimento->paciente->cidadao->etniaIndigena->descricao})" : '' )), 'endereco' => is_null($atendimento->paciente->cidadao->domicilio_id) ? null : $atendimento->paciente->cidadao->domicilio->endereco->completo, 'cep' => MaskUtil::getCepMasked($atendimento->paciente->cidadao->domicilio->endereco->logradouro->cep), 'ibge' => $atendimento->paciente->cidadao->domicilio->endereco->logradouro->municipio->ibge, 'telefone' => MaskUtil::getPhoneMasked($atendimento->paciente->cidadao->telefone_principal->numero ?? null), 'escolaridade' => $atendimento->paciente->cidadao->escolaridade->descricao ?? null, ], 'solicitacoes' => $solicitacoesExames, ]; return Pdf1::generate(self::TITLE, self::TEMPLATE, $data); } }