This commit is contained in:
@@ -0,0 +1,120 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Mobile\ConectaSusAb\AtencaoBasica\CadastroDomiciliar;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\AtencaoBasica\CadastroDomiciliar\CadastroDomiciliar;
|
||||
use Illuminate\Http\Response;
|
||||
|
||||
class CadastroDomiciliarController extends Controller
|
||||
{
|
||||
protected $modulo = 'atencao-basica';
|
||||
protected $funcionalidade = 'cadastro-domiciliar';
|
||||
|
||||
public function index($idUnidade, $idEquipe, $idMicoarea, $exibirForaArea)
|
||||
{
|
||||
|
||||
$vinculos = [
|
||||
'domicilio',
|
||||
'domicilio.endereco',
|
||||
'equipe' => function ($query) use ($idUnidade) {
|
||||
$query->where('unidade_id', $idUnidade);
|
||||
},
|
||||
'microarea:id,area_id',
|
||||
'lazer:id',
|
||||
'animal:id'
|
||||
];
|
||||
|
||||
$cadastrosDomiciliares = CadastroDomiciliar::with($vinculos)
|
||||
->where(function ($query) use ($idEquipe, $exibirForaArea) {
|
||||
|
||||
if ($exibirForaArea == 1) {
|
||||
|
||||
$query->whereNull('equipe_id');
|
||||
$query->orWhere('equipe_id', $idEquipe);
|
||||
} else {
|
||||
|
||||
$query->where('equipe_id', $idEquipe);
|
||||
}
|
||||
})
|
||||
->where('microarea_id', $idMicoarea)
|
||||
->get()
|
||||
->map(function ($cadastroDomiciliar) {
|
||||
|
||||
$domicilioId = $cadastroDomiciliar->domicilio->id ?? null;
|
||||
$domicilioEnderecoId = $cadastroDomiciliar->domicilio->endereco->id ?? null;
|
||||
$domicilioEnderecoNumero = $cadastroDomiciliar->domicilio->endereco->numero ?? null;
|
||||
$domicilioEnderecoComplemento = $cadastroDomiciliar->domicilio->endereco->complemento ?? null;
|
||||
$domicilioEnderecoSemNumero = $cadastroDomiciliar->domicilio->endereco->sem_numero ?? null;
|
||||
$loteamento = $cadastroDomiciliar->domicilio->loteamento->nome ?? null;
|
||||
$loteamentoId = $cadastroDomiciliar->domicilio->loteamento->id ?? null;
|
||||
$logradouroId = $cadastroDomiciliar->domicilio->endereco->logradouro->id ?? null;
|
||||
$logradouroTipoId = $cadastroDomiciliar->domicilio->endereco->logradouro->tipo->id ?? null;
|
||||
$bairroId = $cadastroDomiciliar->domicilio->endereco->logradouro->bairro->id ?? null;
|
||||
$cep = $cadastroDomiciliar->domicilio->endereco->logradouro->cep ?? null;
|
||||
$latitude = $cadastroDomiciliar->domicilio->endereco->latitude ?? null;
|
||||
$longitude = $cadastroDomiciliar->domicilio->endereco->longitude ?? null;
|
||||
$areaId = $cadastroDomiciliar->microarea->area_id ?? null;
|
||||
|
||||
unset($cadastroDomiciliar->microarea);
|
||||
unset($cadastroDomiciliar->domicilio);
|
||||
|
||||
return [
|
||||
'id' => $cadastroDomiciliar->id,
|
||||
'area_id' => $areaId,
|
||||
'microarea_id' => $cadastroDomiciliar->microarea_id,
|
||||
'fora_area' => $cadastroDomiciliar->fora_area,
|
||||
'instituicao_nome' => $cadastroDomiciliar->instituicao_nome,
|
||||
'instituicao_nome_responsavel_tecnico' => $cadastroDomiciliar->instituicao_nome_responsavel_tecnico,
|
||||
'instituicao_cns_responsavel_tecnico' => $cadastroDomiciliar->instituicao_cns_responsavel_tecnico,
|
||||
'instituicao_cargo_responsavel_tecnico' => $cadastroDomiciliar->instituicao_cargo_responsavel_tecnico,
|
||||
'instituicao_telefone_responsavel_tecnico' => $cadastroDomiciliar->instituicao_telefone_responsavel_tecnico,
|
||||
'imovel_tipo_id' => $cadastroDomiciliar->imovel_tipo_id,
|
||||
'situacao_domicilio_id' => $cadastroDomiciliar->situacao_domicilio_id,
|
||||
'domicilio_tipo_id' => $cadastroDomiciliar->domicilio_tipo_id,
|
||||
'quantidade_comodos' => $cadastroDomiciliar->quantidade_comodos,
|
||||
'situacao_rural_id' => $cadastroDomiciliar->situacao_rural_id,
|
||||
'domicilio_zona_id' => $cadastroDomiciliar->domicilio_zona_id,
|
||||
'domicilio_tipo_acesso_id' => $cadastroDomiciliar->domicilio_tipo_acesso_id,
|
||||
'material_predominante_id' => $cadastroDomiciliar->material_predominante_id,
|
||||
'abastecimento_id' => $cadastroDomiciliar->abastecimento_id,
|
||||
'tratamento_id' => $cadastroDomiciliar->tratamento_id,
|
||||
'destino_lixo_id' => $cadastroDomiciliar->destino_lixo_id,
|
||||
'forma_escoamento_id' => $cadastroDomiciliar->forma_escoamento_id,
|
||||
'possui_animais' => $cadastroDomiciliar->possui_animais,
|
||||
'energia_eletrica' => $cadastroDomiciliar->energia_eletrica,
|
||||
'quantidade_animais' => $cadastroDomiciliar->quantidade_animais,
|
||||
'usuario_id' => $cadastroDomiciliar->usuario_id,
|
||||
'equipe_id' => $cadastroDomiciliar->equipe_id,
|
||||
'usuario_ocupacao_id' => $cadastroDomiciliar->usuario_ocupacao_id,
|
||||
'data_usuario_responsavel' => $cadastroDomiciliar->data_usuario_responsavel,
|
||||
'escala_coelho_id' => $cadastroDomiciliar->escala_coelho_id,
|
||||
'higiene_residencial_id' => $cadastroDomiciliar->higiene_residencial_id,
|
||||
'bolsa_familia' => $cadastroDomiciliar->bolsa_familia,
|
||||
'vale_gas' => $cadastroDomiciliar->vale_gas,
|
||||
'bolsa_escola' => $cadastroDomiciliar->bolsa_escola,
|
||||
'bpc' => $cadastroDomiciliar->bpc,
|
||||
'recusa_cadastro' => $cadastroDomiciliar->recusa_cadastro,
|
||||
'domicilio_id' => $domicilioId,
|
||||
'domicilio_endereco_id' => $domicilioEnderecoId,
|
||||
'domicilio_endereco_numero' => $domicilioEnderecoNumero,
|
||||
'domicilio_endereco_complemento' => $domicilioEnderecoComplemento,
|
||||
'domicilio_endereco_sem_numero' => $domicilioEnderecoSemNumero,
|
||||
'loteamento' => $loteamento,
|
||||
'loteamento_id' => $loteamentoId,
|
||||
'lazer' => $cadastroDomiciliar->lazer->pluck('id'),
|
||||
'animal' => $cadastroDomiciliar->animal->pluck('id'),
|
||||
'unidade_id' => $cadastroDomiciliar->equipe->unidade_id,
|
||||
'infraestrutura_id' => $cadastroDomiciliar->equipe->infraestrutura_id,
|
||||
'logradouro_id' => $logradouroId,
|
||||
'logradouro_tipo_id' => $logradouroTipoId,
|
||||
'bairro_id' => $bairroId,
|
||||
'cep' => $cep,
|
||||
'latitude' => $latitude,
|
||||
'longitude' => $longitude,
|
||||
];
|
||||
});
|
||||
|
||||
return response()->json($cadastrosDomiciliares, Response::HTTP_OK);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,129 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Mobile\ConectaSusAb\AtencaoBasica\CadastroIndividual;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\AtencaoBasica\CadastroIndividual\CadastroIndividual;
|
||||
use Illuminate\Http\Response;
|
||||
|
||||
class CadastroIndividualController extends Controller
|
||||
{
|
||||
protected $modulo = 'atencao-basica';
|
||||
protected $funcionalidade = 'cadastro-individual';
|
||||
|
||||
public function index($idUnidade, $idEquipe, $exibirForaArea)
|
||||
{
|
||||
|
||||
$vinculos = [
|
||||
'paciente' => function ($query) use ($idUnidade) {
|
||||
$query->where('unidade_id', $idUnidade);
|
||||
},
|
||||
'paciente.cidadao',
|
||||
'paciente.informacaoSocial',
|
||||
'deficiencia',
|
||||
'acompanhamentoInfantil',
|
||||
'doencaCardiaca',
|
||||
'problemasRins',
|
||||
'doencaRespiratoria',
|
||||
'origemAlimentacao',
|
||||
'higienePessoal'
|
||||
];
|
||||
|
||||
$cadastrosIndividuais = CadastroIndividual::with($vinculos)
|
||||
->where(function ($query) use ($idEquipe, $exibirForaArea) {
|
||||
|
||||
if ($exibirForaArea == 1) {
|
||||
|
||||
$query->whereNull('equipe_id');
|
||||
$query->orWhere('equipe_id', $idEquipe);
|
||||
} else {
|
||||
|
||||
$query->where('equipe_id', $idEquipe);
|
||||
}
|
||||
})
|
||||
->get()
|
||||
->map(function ($cadastroIndividual) {
|
||||
|
||||
return [
|
||||
'id' => $cadastroIndividual->id,
|
||||
'paciente_id' => $cadastroIndividual->paciente_id,
|
||||
'usuario_id' => $cadastroIndividual->usuario_id,
|
||||
'equipe_id' => $cadastroIndividual->equipe_id,
|
||||
'usuario_ocupacao_id' => $cadastroIndividual->usuario_ocupacao_id,
|
||||
'data_usuario_responsavel' => $cadastroIndividual->data_usuario_responsavel,
|
||||
'responsavel' => $cadastroIndividual->responsavel,
|
||||
'responsavel_cidadao_id' => $cadastroIndividual->responsavel_cidadao_id,
|
||||
'renda_mensal' => $cadastroIndividual->renda_mensal,
|
||||
'ativo' => $cadastroIndividual->ativo,
|
||||
'parentesco_responsavel_id' => $cadastroIndividual->parentesco_responsavel_id,
|
||||
'ocupacao_id' => $cadastroIndividual->ocupacao_id,
|
||||
'curso_id' => $cadastroIndividual->curso_id,
|
||||
'frequenta_escola_creche' => $cadastroIndividual->frequenta_escola_creche,
|
||||
'situacao_mercado_trabalho_id' => $cadastroIndividual->situacao_mercado_trabalho_id,
|
||||
'frequenta_cuidador_tradicional' => $cadastroIndividual->frequenta_cuidador_tradicional,
|
||||
'participa_grupo_comunitario' => $cadastroIndividual->participa_grupo_comunitario,
|
||||
'acompanhamento_infantil' => $cadastroIndividual->acompanhamentoInfantil->pluck('id'),
|
||||
'plano_saude' => $cadastroIndividual->plano_saude,
|
||||
'comunidade_tradicional' => $cadastroIndividual->comunidade_tradicional,
|
||||
'comunidade_tradicional_id' => $cadastroIndividual->comunidade_tradicional_id,
|
||||
'orientacao_sexual' => $cadastroIndividual->orientacao_sexual,
|
||||
'orientacao_sexual_id' => $cadastroIndividual->orientacao_sexual_id,
|
||||
'identidade_genero' => $cadastroIndividual->identidade_genero,
|
||||
'identidade_genero_id' => $cadastroIndividual->paciente ? $cadastroIndividual->paciente->cidadao ? $cadastroIndividual->paciente->cidadao->identidade_genero_id : null : null,
|
||||
'deficiente' => $cadastroIndividual->deficiente,
|
||||
'deficiencias' => $cadastroIndividual->deficiencia->pluck('id'),
|
||||
'saida_cidadao_id' => $cadastroIndividual->saida_cidadao_id,
|
||||
'motivo_saida_data' => $cadastroIndividual->motivo_saida_data,
|
||||
'recusa_cadastro' => $cadastroIndividual->recusa_cadastro,
|
||||
'gestante' => $cadastroIndividual->gestante,
|
||||
'maternidade_referencia' => $cadastroIndividual->maternidade_referencia,
|
||||
'peso_id' => $cadastroIndividual->peso_id,
|
||||
'fumante' => $cadastroIndividual->fumante,
|
||||
'usa_alcool' => $cadastroIndividual->usa_alcool,
|
||||
'outras_drogas' => $cadastroIndividual->outras_drogas,
|
||||
'hipertensao' => $cadastroIndividual->hipertensao,
|
||||
'diabetes' => $cadastroIndividual->diabetes,
|
||||
'avc_derrame' => $cadastroIndividual->avc_derrame,
|
||||
'infarto' => $cadastroIndividual->infarto,
|
||||
'hanseniase' => $cadastroIndividual->hanseniase,
|
||||
'tuberculose' => $cadastroIndividual->tuberculose,
|
||||
'cancer' => $cadastroIndividual->cancer,
|
||||
'fibromialgia' => $cadastroIndividual->fibromialgia,
|
||||
'transtorno_espectro_autista' => $cadastroIndividual->transtorno_espectro_autista,
|
||||
'internacao' => $cadastroIndividual->internacao,
|
||||
'internacao_motivo' => $cadastroIndividual->internacao_motivo,
|
||||
'doenca_cardiaca' => $cadastroIndividual->doenca_cardiaca,
|
||||
'doenca_cardiaca_quais' => $cadastroIndividual->doencaCardiaca->pluck('id'),
|
||||
'problemas_rins' => $cadastroIndividual->problemas_rins,
|
||||
'problemas_rins_quais' => $cadastroIndividual->problemasRins->pluck('id'),
|
||||
'doenca_respiratoria' => $cadastroIndividual->doenca_respiratoria,
|
||||
'doenca_respiratoria_quais' => $cadastroIndividual->doencaRespiratoria->pluck('id'),
|
||||
'tratamento_saude_mental' => $cadastroIndividual->tratamento_saude_mental,
|
||||
'acamado' => $cadastroIndividual->acamado,
|
||||
'domiciliado' => $cadastroIndividual->domiciliado,
|
||||
'plantas_medicinais' => $cadastroIndividual->plantas_medicinais,
|
||||
'plantas_medicinais_quais' => $cadastroIndividual->plantas_medicinais_quais,
|
||||
'praticas_integrativas' => $cadastroIndividual->praticas_integrativas,
|
||||
'outras_condicoes_primaria' => $cadastroIndividual->outras_condicoes_primaria,
|
||||
'outras_condicoes_secundaria' => $cadastroIndividual->outras_condicoes_secundaria,
|
||||
'outras_condicoes_terciaria' => $cadastroIndividual->outras_condicoes_terciaria,
|
||||
'situacao_rua_id' => $cadastroIndividual->situacao_rua_id,
|
||||
'outra_instituicao' => $cadastroIndividual->outra_instituicao,
|
||||
'outra_instituicao_quais' => $cadastroIndividual->outra_instituicao_quais,
|
||||
'recebe_beneficio' => $cadastroIndividual->recebe_beneficio,
|
||||
'referencia_familiar' => $cadastroIndividual->referencia_familiar,
|
||||
'visita_familiar' => $cadastroIndividual->visita_familiar,
|
||||
'parentesco' => $cadastroIndividual->parentesco,
|
||||
'alimentacao_diaria_id' => $cadastroIndividual->alimentacao_diaria_id,
|
||||
'origem_alimentacao' => $cadastroIndividual->origemAlimentacao->pluck('id'),
|
||||
'higiene_pessoal' => $cadastroIndividual->higiene_pessoal,
|
||||
'higiene_pessoal_quais' => $cadastroIndividual->higienePessoal->pluck('id'),
|
||||
'supervisor_id' => $cadastroIndividual->supervisor_id,
|
||||
"alimentos_acabaram" => $cadastroIndividual->alimentos_acabaram,
|
||||
"comeu_alguns_alimentos" => $cadastroIndividual->comeu_alguns_alimentos,
|
||||
];
|
||||
});
|
||||
|
||||
return response()->json($cadastrosIndividuais, Response::HTTP_OK);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Mobile\ConectaSusAb\AtencaoBasica\CadastroIndividual;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\AtencaoBasica\CadastroIndividual\ComunidadeTradicional;
|
||||
use Illuminate\Http\Response;
|
||||
|
||||
class ComunidadeTradicionalController extends Controller
|
||||
{
|
||||
protected $modulo = 'atencao-basica';
|
||||
protected $funcionalidade = 'cadastro-individual';
|
||||
|
||||
public function index()
|
||||
{
|
||||
|
||||
$comunidadesTradicionais = ComunidadeTradicional::all(['id', 'descricao'])
|
||||
->toArray();
|
||||
|
||||
return response()->json($comunidadesTradicionais, Response::HTTP_OK);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Mobile\ConectaSusAb\AtencaoBasica\Parametrizacao;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\AtencaoBasica\Parametrizacao\Equipe;
|
||||
use App\Models\AtencaoBasica\Parametrizacao\EquipeUsuario;
|
||||
use Illuminate\Http\Response;
|
||||
|
||||
class ParametrizacaoController extends Controller
|
||||
{
|
||||
protected $modulo = 'atencao-basica';
|
||||
protected $funcionalidade = 'parametrizacao';
|
||||
|
||||
public function obterEquipe($idUsuario)
|
||||
{
|
||||
|
||||
$vinculos = [
|
||||
'area',
|
||||
'infraestrutura',
|
||||
'microarea',
|
||||
'unidade',
|
||||
'usuarios',
|
||||
];
|
||||
|
||||
$equipes = Equipe::with($vinculos)
|
||||
->whereHas('usuarios', function ($query) use ($idUsuario) {
|
||||
|
||||
$query->where('usuario_id', $idUsuario);
|
||||
})
|
||||
->get()
|
||||
->map(function ($equipe) {
|
||||
|
||||
return [
|
||||
'id' => $equipe->id,
|
||||
'area_id' => $equipe->area_id,
|
||||
'descricao_area' => $equipe->area->descricao,
|
||||
'microarea_id' => $equipe->microarea_id ?? null,
|
||||
'microarea_descricao' => $equipe->microarea->descricao ?? null,
|
||||
'numero_ine' => $equipe->area->numero_ine,
|
||||
'area_tipo' => $equipe->area->tipo_id,
|
||||
'unidade_id' => $equipe->unidade->id,
|
||||
'unidade_descricao' => $equipe->unidade->nome_fantasia,
|
||||
'infraestrutura_id' => $equipe->infraestrutura_id,
|
||||
'infraestrutura_descricao' => $equipe->infraestrutura->nome
|
||||
];
|
||||
});
|
||||
|
||||
return response()->json($equipes, Response::HTTP_OK);
|
||||
}
|
||||
|
||||
public function obterEquipeUsuario($idUnidade, $idUsuario)
|
||||
{
|
||||
|
||||
$equipesUsuario = EquipeUsuario::where('usuario_id', $idUsuario)
|
||||
->whereIn('equipe_id', function ($query) use ($idUnidade) {
|
||||
|
||||
$query->select('id')
|
||||
->from('atencao_basica_parametrizacao_equipe')
|
||||
->where('unidade_id', $idUnidade);
|
||||
})
|
||||
->get();
|
||||
|
||||
return response()->json($equipesUsuario, Response::HTTP_OK);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Mobile\ConectaSusAb\AtencaoBasica\Parametrizacao;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\Parametrizacao\Exame\Exame;
|
||||
use Illuminate\Http\Response;
|
||||
|
||||
class ParametrizacaoExameController extends Controller
|
||||
{
|
||||
protected $modulo = 'parametrizacao';
|
||||
protected $funcionalidade = 'exame';
|
||||
|
||||
public function index()
|
||||
{
|
||||
$parametrizacaoExames = Exame::all(['id', 'codigo', 'nome'])
|
||||
->toArray();
|
||||
|
||||
return response()->json($parametrizacaoExames, Response::HTTP_OK);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user