domx->registerNamespace('ns4', 'http://esus.ufsc.br/fichaatendimentoindividualmaster'); } public function __invoke() { $path = '//ns4:fichaAtendimentoIndividualMasterTransport'; $this->setProfissionalResponsavel($path); $this->setProfissionalAuxiliar($path); $this->setAtendimentos($path); return $this->ficha; } private function setProfissionalResponsavel($fichaAtendimentoIndividualMasterTransportPath) { $headerTransportPath = "{$fichaAtendimentoIndividualMasterTransportPath}/headerTransport"; $lotacaoFormPrincipalPath = "{$headerTransportPath}/lotacaoFormPrincipal"; $ocupacao = $this->getFirstNodeValue("{$lotacaoFormPrincipalPath}/cboCodigo_2002") ? Ocupacao::where('codigo', $this->getFirstNodeValue("{$lotacaoFormPrincipalPath}/cboCodigo_2002"))->first() : null; $campos = (object) [ 'dataAtendimento' => $this->getDateString($this->getFirstNodeValue("{$headerTransportPath}/dataAtendimento")), 'codigoIbgeMunicipio' => $this->getFirstNodeValue("{$headerTransportPath}/codigoIbgeMunicipio"), 'profissionalNome' => $this->inconsistenciaModel->usuario->cidadao->nome, 'profissionalCNS' => MaskUtil::getCnsMasked($this->getFirstNodeValue("{$lotacaoFormPrincipalPath}/profissionalCNS")), 'cboCodigo_2002' => $ocupacao ? "{$ocupacao->codigo} - {$ocupacao->nome}" : null, 'cnes' => $this->getFirstNodeValue("{$lotacaoFormPrincipalPath}/cnes"), 'ine' => $this->getFirstNodeValue("{$lotacaoFormPrincipalPath}/ine"), ]; $inconsistencias = $this->getInconsistencias([ ['Data', fn () => $this->inconsistencias->headerTransport->dataAtendimento], ['IBGE', fn () => $this->inconsistencias->headerTransport->codigoIbgeMunicipio], ['CNS', fn () => $this->inconsistencias->headerTransport->lotacaoFormPrincipal->profissionalCNS], ['CBO', fn () => $this->inconsistencias->headerTransport->lotacaoFormPrincipal->cboCodigo_2002], ['CNES', fn () => $this->inconsistencias->headerTransport->lotacaoFormPrincipal->cnes], ['INE', fn () => $this->inconsistencias->headerTransport->lotacaoFormPrincipal->ine], ]); $this->ficha->profissional_responsavel = (object) compact('campos', 'inconsistencias'); } private function setProfissionalAuxiliar($fichaAtendimentoIndividualMasterTransportPath) { $headerTransportPath = "{$fichaAtendimentoIndividualMasterTransportPath}/headerTransport"; $lotacaoFormAtendimentoCompartilhadoPath = "{$headerTransportPath}/lotacaoFormAtendimentoCompartilhado"; $ocupacao = $this->getFirstNodeValue("{$lotacaoFormAtendimentoCompartilhadoPath}/cboCodigo_2002") ? Ocupacao::where('codigo', $this->getFirstNodeValue("{$lotacaoFormAtendimentoCompartilhadoPath}/cboCodigo_2002"))->first() : null; $cns = $this->getFirstNodeValue("{$lotacaoFormAtendimentoCompartilhadoPath}/profissionalCNS"); $campos = (object) [ 'profissionalNome' => $this->inconsistenciaModel->atendimentosIndividuais() ->whereHas('usuarioAuxiliar', fn ($q) => $q ->whereHas('cidadao', fn ($q) => $q->where('cns', $cns)) ) ->first()->usuarioAuxiliar->cidadao->nome ?? null, 'profissionalCNS' => MaskUtil::getCnsMasked($cns), 'cboCodigo_2002' => $ocupacao ? "{$ocupacao->codigo} - {$ocupacao->nome}" : null, 'cnes' => $this->getFirstNodeValue("{$lotacaoFormAtendimentoCompartilhadoPath}/cnes"), 'ine' => $this->getFirstNodeValue("{$lotacaoFormAtendimentoCompartilhadoPath}/ine"), ]; $inconsistencias = $this->getInconsistencias([ ['CNS', fn () => $this->inconsistencias->headerTransport->lotacaoFormAtendimentoCompartilhado->profissionalCNS], ['CBO', fn () => $this->inconsistencias->headerTransport->lotacaoFormAtendimentoCompartilhado->cboCodigo_2002], ['CNES', fn () => $this->inconsistencias->headerTransport->lotacaoFormAtendimentoCompartilhado->cnes], ['INE', fn () => $this->inconsistencias->headerTransport->lotacaoFormAtendimentoCompartilhado->ine], ]); $this->ficha->profissional_auxiliar = (object) compact('campos', 'inconsistencias'); } private function setAtendimentos($fichaAtendimentoIndividualMasterTransportPath) { $path = "{$fichaAtendimentoIndividualMasterTransportPath}/atendimentosIndividuais"; $atendimentos = []; foreach ($this->domx->query($path) as $i => $context) { $posicao = $i + 1; $atendimentoIndividualModel = $this->inconsistenciaModel->atendimentosIndividuais() ->wherePivot('posicao', $posicao) ->first(); $inconsistencias = $this->inconsistencias->atendimentosIndividuais->{$posicao} ?? []; $atendimento = new stdClass; $this->setPaciente($atendimento, $context, $atendimentoIndividualModel, $inconsistencias); $this->setAtendimento($atendimento, $context, $inconsistencias); $this->setMedicoes($atendimento, $context, $inconsistencias); $this->setGestante($atendimento, $context, $inconsistencias); $this->setProblemasCondicoes($atendimento, $context, $inconsistencias); $this->setExames($atendimento, $context, $inconsistencias); $this->setObservacao($atendimento, $context, $inconsistencias); $this->setEmulti($atendimento, $context, $inconsistencias); $this->setConduta($atendimento, $context, $inconsistencias); $this->setSolicitacoesOci($atendimento, $context, $inconsistencias); $this->setIvcf($atendimento, $context, $inconsistencias); $atendimentos[] = $atendimento; } $this->ficha->atendimentos = (object) [ 'lista' => $atendimentos, 'inconsistencias' => $this->getInconsistencias([ fn () => $this->inconsistencias->atendimentosIndividuais, ]), ]; } private function setPaciente($atendimento, $atendimentoIndividualContext, $atendimentoIndividualModel, $inconsistencias) { $campos = (object) [ 'is_sexo_feminino' => $atendimentoIndividualModel->paciente->cidadao->sexo_id === Sexo::FEMININO, 'nomeCidadao' => $atendimentoIndividualModel->paciente->cidadao->nome, 'numeroProntuario' => $this->getFirstNodeValue('numeroProntuario', $atendimentoIndividualContext), 'cnsCidadao' => MaskUtil::getCnsMasked($this->getFirstNodeValue('cnsCidadao', $atendimentoIndividualContext)), 'cpfCidadao' => MaskUtil::getCpfMasked($this->getFirstNodeValue('cpfCidadao', $atendimentoIndividualContext)), 'dataNascimento' => $this->getDateString($this->getFirstNodeValue('dataNascimento', $atendimentoIndividualContext)), 'sexo' => $this->getSexo($this->getFirstNodeValue('sexo', $atendimentoIndividualContext)), ]; $inconsistencias = $this->getInconsistencias([ ['Prontuário', fn () => $inconsistencias->numeroProntuario], ['CNS', fn () => $inconsistencias->cnsCidadao], ['CPF', fn () => $inconsistencias->cpfCidadao], ['Data de nascimento', fn () => $inconsistencias->dataNascimento], ['Sexo', fn () => $inconsistencias->sexo], ]); $atendimento->paciente = (object) compact('campos', 'inconsistencias'); } private function setAtendimento($atendimento, $atendimentoIndividualContext, $inconsistencias) { $campos = (object) [ 'turno' => $this->getFirstNodeValue('turno', $atendimentoIndividualContext) ? Turno::find($this->getFirstNodeValue('turno', $atendimentoIndividualContext))->nome : null, 'localDeAtendimento' => $this->getFirstNodeValue('localDeAtendimento', $atendimentoIndividualContext) ? LocalAtendimento::find($this->getFirstNodeValue('localDeAtendimento', $atendimentoIndividualContext))->descricao : null, 'tipoAtendimento' => $this->getFirstNodeValue('tipoAtendimento', $atendimentoIndividualContext) ? TipoAtendimento::where( 'codigo_esus', $this->getFirstNodeValue('tipoAtendimento', $atendimentoIndividualContext) )->first()->descricao : null, 'vacinaEmDia' => DataUtil::getSimOuNao(DataUtil::getBooleanValueFromStringBoolean( $this->getFirstNodeValue('vacinaEmDia', $atendimentoIndividualContext))), 'atencaoDomiciliarModalidade' => $this->getFirstNodeValue('atencaoDomiciliarModalidade', $atendimentoIndividualContext) ? ModalidadeAtencaoDomiciliar::where( 'codigo_esus', $this->getFirstNodeValue('atencaoDomiciliarModalidade', $atendimentoIndividualContext) )->first()->descricao : null, 'aleitamentoMaterno' => $this->getFirstNodeValue('aleitamentoMaterno', $atendimentoIndividualContext) ? AleitamentoMaterno::where( 'codigo_esus', $this->getFirstNodeValue('aleitamentoMaterno', $atendimentoIndividualContext) )->first()->descricao : null, 'racionalidadeSaude' => $this->getFirstNodeValue('racionalidadeSaude', $atendimentoIndividualContext) ? RacionalidadeSaude::where( 'codigo_esus', $this->getFirstNodeValue('racionalidadeSaude', $atendimentoIndividualContext) )->first()->descricao : null, 'dataHoraInicialAtendimento' => $this->getDateTimeString( $this->getFirstNodeValue('dataHoraInicialAtendimento', $atendimentoIndividualContext)), 'dataHoraFinalAtendimento' => $this->getDateTimeString( $this->getFirstNodeValue('dataHoraFinalAtendimento', $atendimentoIndividualContext)), ]; $inconsistencias = $this->getInconsistencias([ ['Turno', fn () => $inconsistencias->turno], ['Local de atendimento', fn () => $inconsistencias->localAtendimento], ['Tipo de atendimento', fn () => $inconsistencias->tipoAtendimento], ['Vacinação em dia', fn () => $inconsistencias->vacinaEmDia], ['Atenção domiciliar', fn () => $inconsistencias->atencaoDomiciliarModalidade], ['Criança - Aleitamento materno', fn () => $inconsistencias->aleitamentoMaterno], ['Racionalidade em saúde (Exceto alopatia / convencional)', fn () => $inconsistencias->racionalidadeSaude], ['Data/hora inicial do atendimento', fn () => $inconsistencias->dataHoraInicialAtendimento], ['Data/hora final do atendimento', fn () => $inconsistencias->dataHoraFinalAtendimento], ]); $atendimento->atendimento = (object) compact('campos', 'inconsistencias'); } private function setMedicoes($atendimento, $atendimentoIndividualContext, $inconsistencias) { $medicoes = $this->domx->query('medicoes', $atendimentoIndividualContext); $medicoesContext = $medicoes->length > 0 ? $medicoes[0] : null; $campos = (object) [ 'circunferenciaAbdominal' => $this->getFirstNodeValue('circunferenciaAbdominal', $medicoesContext), 'perimetroPanturrilha' => $this->getFirstNodeValue('perimetroPanturrilha', $medicoesContext), 'pressaoArterial' => trim($this->getFirstNodeValue('pressaoArterialSistolica', $medicoesContext) . '/' . $this->getFirstNodeValue('pressaoArterialDiastolica', $medicoesContext), '/'), 'frequenciaRespiratoria' => $this->getFirstNodeValue('frequenciaRespiratoria', $medicoesContext), 'frequenciaCardiaca' => $this->getFirstNodeValue('frequenciaCardiaca', $medicoesContext), 'temperatura' => $this->getFirstNodeValue('temperatura', $medicoesContext), 'saturacaoO2' => $this->getFirstNodeValue('saturacaoO2', $medicoesContext), 'glicemiaCapilar' => $this->getFirstNodeValue('glicemiaCapilar', $medicoesContext), 'tipoGlicemiaCapilar' => !is_null($this->getFirstNodeValue('tipoGlicemiaCapilar', $medicoesContext)) ? GlicemiaCapilarMomentoColeta::where( 'codigo_esus', $this->getFirstNodeValue('tipoGlicemiaCapilar', $medicoesContext) )->first()->nome : null, 'peso' => $this->getFirstNodeValue('peso', $medicoesContext), 'altura' => $this->getFirstNodeValue('altura', $medicoesContext), 'perimetroCefalico' => $this->getFirstNodeValue('perimetroCefalico', $medicoesContext), ]; $inconsistencias = $this->getInconsistencias([ fn () => $inconsistencias->medicoes, ['Circunferência abdominal', fn () => $inconsistencias->medicoes->circunferenciaAbdominal], ['Perímetro da panturrilha', fn () => $inconsistencias->medicoes->perimetroPanturrilha], ['Pressão arterial sistólica', fn () => $inconsistencias->medicoes->pressaoArterialSistolica], ['Pressão arterial diastólica', fn () => $inconsistencias->medicoes->pressaoArterialDiastolica], ['Frequência respiratória', fn () => $inconsistencias->medicoes->frequenciaRespiratoria], ['Frequência cardíaca', fn () => $inconsistencias->medicoes->frequenciaCardiaca], ['Temperatura', fn () => $inconsistencias->medicoes->temperatura], ['Saturação de O2', fn () => $inconsistencias->medicoes->saturacaoO2], ['Glicemia capilar', fn () => $inconsistencias->medicoes->glicemiaCapilar], ['Momento da coleta', fn () => $inconsistencias->medicoes->tipoGlicemiaCapilar], ['Peso', fn () => $inconsistencias->medicoes->peso], ['Altura', fn () => $inconsistencias->medicoes->altura], ['Perímetro cefálico', fn () => $inconsistencias->medicoes->perimetroCefalico], ]); $atendimento->medicoes = (object) compact('campos', 'inconsistencias'); } private function setGestante($atendimento, $atendimentoIndividualContext, $inconsistencias) { $campos = (object) [ 'dumDaGestante' => $this->getDateString( $this->getFirstNodeValue('dumDaGestante', $atendimentoIndividualContext)), 'idadeGestacional' => $this->getFirstNodeValue('idadeGestacional', $atendimentoIndividualContext), 'stGravidezPlanejada' => DataUtil::getSimOuNao(DataUtil::getBooleanValueFromStringBoolean( $this->getFirstNodeValue('stGravidezPlanejada', $atendimentoIndividualContext))), 'nuGestasPrevias' => $this->getFirstNodeValue('nuGestasPrevias', $atendimentoIndividualContext), 'nuPartos' => $this->getFirstNodeValue('nuPartos', $atendimentoIndividualContext), ]; $inconsistencias = $this->getInconsistencias([ ['DUM', fn () => $inconsistencias->dumDaGestante], ['Idade gestacional', fn () => $inconsistencias->idadeGestacional], ['Gravidez planejada', fn () => $inconsistencias->stGravidezPlanejada], ['Gestações prévias', fn () => $inconsistencias->nuGestasPrevias], ['Partos', fn () => $inconsistencias->nuPartos], ]); $atendimento->gestante = (object) compact('campos', 'inconsistencias'); } private function setProblemasCondicoes($atendimento, $atendimentoIndividualContext, $inconsistencias) { $problemasCondicoes = []; foreach ($this->domx->query('problemasCondicoes', $atendimentoIndividualContext) as $i => $context) { $inconsistenciasProblemaCondicao = []; if (isset($inconsistencias->problemasCondicoes)) { if (is_array($inconsistencias->problemasCondicoes)) { $inconsistenciasProblemaCondicao = $inconsistencias->problemasCondicoes[$i] ?? []; } else { $posicao = $i + 1; $inconsistenciasProblemaCondicao = $inconsistencias->problemasCondicoes->{$posicao} ?? []; } } $ciap = null; if ($this->getFirstNodeValue('ciap', $context)) { $codigo = $this->getFirstNodeValue('ciap', $context); if ($ciap = Ciap::where('codigo', $codigo)->first()) { $ciap = "{$ciap->codigo} - {$ciap->descricao}"; } else if ($condicaoAvaliada = CondicaoAvaliada::where('codigo_esus', $codigo)->first()) { $ciap = $condicaoAvaliada->descricao; } else if ($doencaTransmissivel = DoencaTransmissivel::where('codigo_esus', $codigo)->first()) { $ciap = $doencaTransmissivel->descricao; } else if ($rastreamento = Rastreamento::where('codigo_esus', $codigo)->first()) { $ciap = $rastreamento->descricao; } } $cid = $this->getFirstNodeValue('cid10', $context) ? Cid::where('codigo', $this->getFirstNodeValue('cid10', $context))->first() : null; $problemasCondicoes[] = (object) [ 'campos' => (object) [ 'ciap' => $ciap, 'cid10' => $cid ? MaskUtil::getCidMasked($cid->codigo) . " - {$cid->nome}" : null, 'situacao' => !is_null($this->getFirstNodeValue('situacao', $context)) ? ProblemaCondicaoSituacao::where('codigo_esus', $this->getFirstNodeValue('situacao', $context))->first()->nome : null, 'dataInicioProblema' => $this->getFirstNodeValue('dataInicioProblema', $context) ? $this->getDateString($this->getFirstNodeValue('dataInicioProblema', $context)) : null, 'dataFimProblema' => $this->getFirstNodeValue('dataFimProblema', $context) ? $this->getDateString($this->getFirstNodeValue('dataFimProblema', $context)) : null, 'isAvaliado' => DataUtil::getSimOuNao(DataUtil::getBooleanValueFromStringBoolean( $this->getFirstNodeValue('isAvaliado', $context))), ], 'inconsistencias' => $this->getInconsistencias([ ['CIAP', fn () => $inconsistenciasProblemaCondicao->ciap], ['CID', fn () => $inconsistenciasProblemaCondicao->cid10], ['Situação', fn () => $inconsistenciasProblemaCondicao->situacao], ['Início', fn () => $inconsistenciasProblemaCondicao->dataInicioProblema], ['Fim', fn () => $inconsistenciasProblemaCondicao->dataFimProblema], ['Avaliado', fn () => $inconsistenciasProblemaCondicao->isAvaliado], ]), ]; } $atendimento->problemas_condicoes = (object) [ 'lista' => $problemasCondicoes, 'inconsistencias' => $this->getInconsistencias([ fn () => $inconsistencias->problemasCondicoes, ]), ]; } private function setExames($atendimento, $atendimentoIndividualContext, $inconsistencias) { $exames = []; foreach ($this->domx->query('exame', $atendimentoIndividualContext) as $context) { $codigo = $this->getFirstNodeValue('codigoExame', $context); $exame = (object) [ 'is_solicitado' => 'Não', 'is_avaliado' => 'Não', ]; if ($exameSolicitadoAvaliado = ExameSolicitadoAvaliado::where('codigo_esus', $codigo) ->orWhere('codigo_procedimento', $codigo)->first() ) { $exame->nome = $exameSolicitadoAvaliado->descricao; } else { $parametrizacaoExame = Exame::where('codigo', $codigo)->first(); $exame->nome = $parametrizacaoExame->nome; } foreach ($this->domx->query('solicitadoAvaliado', $context) as $contextSolicitadoAvaliado) { if ($contextSolicitadoAvaliado->nodeValue === 'S') { $exame->is_solicitado = 'Sim'; } else if ($contextSolicitadoAvaliado->nodeValue === 'A') { $exame->is_avaliado = 'Sim'; } } $exames[] = $exame; } $atendimento->exames = (object) [ 'lista' => $exames, 'inconsistencias' => $this->getInconsistencias([ fn () => $inconsistencias->exame, ]), ]; } private function setObservacao($atendimento, $atendimentoIndividualContext, $inconsistencias) { $campos = (object) [ 'ficouEmObservacao' => DataUtil::getSimOuNao(DataUtil::getBooleanValueFromStringBoolean( $this->getFirstNodeValue('ficouEmObservacao', $atendimentoIndividualContext))), ]; $inconsistencias = $this->getInconsistencias([ fn () => $inconsistencias->ficouEmObservacao, ]); $atendimento->observacao = (object) compact('campos', 'inconsistencias'); } private function setEmulti($atendimento, $atendimentoIndividualContext, $inconsistencias) { $emultis = []; foreach ($this->domx->query('emultis', $atendimentoIndividualContext) as $context) { $emultis[] = Nasf::where('codigo_esus', $context->nodeValue)->first()->descricao; } $atendimento->emultis = (object) [ 'lista' => $emultis, 'inconsistencias' => $this->getInconsistencias([ fn () => $inconsistencias->emultis, ]), ]; } private function setConduta($atendimento, $atendimentoIndividualContext, $inconsistencias) { $condutas = []; foreach ($this->domx->query('condutas', $atendimentoIndividualContext) as $context) { if ($conduta = Conduta::where('codigo_esus', $context->nodeValue)->first()) { $condutas[] = $conduta->descricao; } else if ($encaminhamento = Encaminhamento::where('codigo_esus', $context->nodeValue)->first()) { $condutas[] = $encaminhamento->descricao; } } $atendimento->condutas = (object) [ 'lista' => $condutas, 'inconsistencias' => $this->getInconsistencias([ fn () => $inconsistencias->condutas, ]), ]; } private function setSolicitacoesOci($atendimento, $atendimentoIndividualContext, $inconsistencias) { $solicitacoesOci = []; foreach ($this->domx->query('solicitacoesOci', $atendimentoIndividualContext) as $context) { $solicitacoesOci[] = (object) [ 'codigoSigtap' => MaskUtil::getProcedimentoMasked($this->getFirstNodeValue('codigoSigtap', $context)), ]; } $atendimento->solicitacoes_oci = (object) [ 'lista' => $solicitacoesOci, 'inconsistencias' => $this->getInconsistencias([ fn () => $inconsistencias->solicitacoesOci, ]), ]; } private function setIvcf($atendimento, $atendimentoIndividualContext, $inconsistencias) { $campos = (object) [ 'resultado' => $this->getFirstNodeValue('ivcf/resultado', $atendimentoIndividualContext), 'hasSgIdade' => DataUtil::getSimOuNao(DataUtil::getBooleanValueFromStringBoolean($this->getFirstNodeValue('ivcf/hasSgIdade', $atendimentoIndividualContext))), 'hasSgPercepcaoSaude' => DataUtil::getSimOuNao(DataUtil::getBooleanValueFromStringBoolean($this->getFirstNodeValue('ivcf/hasSgPercepcaoSaude', $atendimentoIndividualContext))), 'hasSgAvdInstrumental' => DataUtil::getSimOuNao(DataUtil::getBooleanValueFromStringBoolean($this->getFirstNodeValue('ivcf/hasSgAvdInstrumental', $atendimentoIndividualContext))), 'hasSgAvdBasica' => DataUtil::getSimOuNao(DataUtil::getBooleanValueFromStringBoolean($this->getFirstNodeValue('ivcf/hasSgAvdBasica', $atendimentoIndividualContext))), 'hasSgCognicao' => DataUtil::getSimOuNao(DataUtil::getBooleanValueFromStringBoolean($this->getFirstNodeValue('ivcf/hasSgCognicao', $atendimentoIndividualContext))), 'hasSgHumor' => DataUtil::getSimOuNao(DataUtil::getBooleanValueFromStringBoolean($this->getFirstNodeValue('ivcf/hasSgHumor', $atendimentoIndividualContext))), 'hasSgAlcancePreensaoPinca' => DataUtil::getSimOuNao(DataUtil::getBooleanValueFromStringBoolean($this->getFirstNodeValue('ivcf/hasSgAlcancePreensaoPinca', $atendimentoIndividualContext))), 'hasSgCapAerobicaMuscular' => DataUtil::getSimOuNao(DataUtil::getBooleanValueFromStringBoolean($this->getFirstNodeValue('ivcf/hasSgCapAerobicaMuscular', $atendimentoIndividualContext))), 'hasSgMarcha' => DataUtil::getSimOuNao(DataUtil::getBooleanValueFromStringBoolean($this->getFirstNodeValue('ivcf/hasSgMarcha', $atendimentoIndividualContext))), 'hasSgContinencia' => DataUtil::getSimOuNao(DataUtil::getBooleanValueFromStringBoolean($this->getFirstNodeValue('ivcf/hasSgContinencia', $atendimentoIndividualContext))), 'hasSgVisao' => DataUtil::getSimOuNao(DataUtil::getBooleanValueFromStringBoolean($this->getFirstNodeValue('ivcf/hasSgVisao', $atendimentoIndividualContext))), 'hasSgAudicao' => DataUtil::getSimOuNao(DataUtil::getBooleanValueFromStringBoolean($this->getFirstNodeValue('ivcf/hasSgAudicao', $atendimentoIndividualContext))), 'hasSgComorbidade' => DataUtil::getSimOuNao(DataUtil::getBooleanValueFromStringBoolean($this->getFirstNodeValue('ivcf/hasSgComorbidade', $atendimentoIndividualContext))), 'dataResultado' => $this->getFirstNodeValue('ivcf/dataResultado', $atendimentoIndividualContext), ]; $inconsistencias = $this->getInconsistencias([ ['Resultado', fn () => $inconsistencias->ivcf->resultado], ['Idade', fn () => $inconsistencias->ivcf->hasSgIdade], ['Percepção de saúde', fn () => $inconsistencias->ivcf->hasSgPercepcaoSaude], ['Atividades instrumentais da vida diária', fn () => $inconsistencias->ivcf->hasSgAvdInstrumental], ['Atividades básicas da vida diária', fn () => $inconsistencias->ivcf->hasSgAvdBasica], ['Cognição', fn () => $inconsistencias->ivcf->hasSgCognicao], ['Humor', fn () => $inconsistencias->ivcf->hasSgHumor], ['Alcance preensão pinça', fn () => $inconsistencias->ivcf->hasSgAlcancePreensaoPinca], ['Capacidade aeróbica muscular', fn () => $inconsistencias->ivcf->hasSgCapAerobicaMuscular], ['Marcha', fn () => $inconsistencias->ivcf->hasSgMarcha], ['Continência', fn () => $inconsistencias->ivcf->hasSgContinencia], ['Visão', fn () => $inconsistencias->ivcf->hasSgVisao], ['Audição', fn () => $inconsistencias->ivcf->hasSgAudicao], ['Comorbidade', fn () => $inconsistencias->ivcf->hasSgComorbidade], ['Data do resultado', fn () => $this->getDateString($inconsistencias->ivcf->dataResultado)], ]); $atendimento->ivcf = (object) compact('campos', 'inconsistencias'); } }