Escolar Documentos
Profissional Documentos
Cultura Documentos
utilString = Scripts.util_string.importar();
// ESQUEMA
esquema = [
profissionalMedico: Esquema.caracter,
contagemImovel: Esquema.numero,
contagemCadastro: Esquema.numero,
totalContagemImovel: Esquema.numero,
totalContagemCadastro: Esquema.numero,
]
// FONTE DE DADOS
fonte = Dados.dinamico.v2.novo(esquema)
fonteDomiciliarTerritorialImovel = Dados.saude.v1.domiciliarTerritorialImovel
fonteDomiciliarTerritorialCadastroIndividual =
Dados.saude.v1.domiciliarTerritorialCadastroIndividual
fonteProfissionalCbo = Dados.saude.v1.profissionalCbo
// PARÂMETROS
pUnidade =
utilString.removeColchetes(parametros?.pUnidade?.selecionados?.valor?:"");
pProfissional =
utilString.removeColchetes(parametros?.pProfissional?.selecionados?.valor?:"");
pEquipe = utilString.removeColchetes(parametros?.pEquipe?.selecionados?.valor?:"");
pSituacao = parametros?.pSituacao?.selecionados?.valor?:"";
// VARIAVEIS GLOBAIS
def contagemProfissionais = [:]
def unidadeNome = ""
def contagemCadastro = ""
def profissionalMedico = ""
def totalContagemImovel = 0
def totalContagemCadastro = 0
criterioDomiciliar = "ultimaVersao = true"
if (pProfissional){
criterioDomiciliar += " and profissional.id in (${pProfissional})"
}
if (pEquipe){
criterioDomiciliar += " and equipe.id in (${pEquipe})"
}
se (pSituacao != ""){
percorrer (pSituacao) { valor ->
se (valor == "usaAlcool"){
isContemAlcool = true;
}
se (valor == 'teveDiagnosticoProblemaSaudeMental'){
isteveDiagnosticoProblemaSaudeMental = true;
}
se (valor == 'usaOutrasDrogas'){
isusaOutrasDrogas = true;
}
se (valor =='teveHipertensaoArterial'){
isteveHipertensaoArterial = true;
}
se (valor == 'possuiTeveCancer'){
ispossuiTeveCancer = true;
}
se (valor == 'acamado'){
isacamado = true;
}
se (valor == 'possuiTuberculose'){
ispossuiTuberculose == true;
}
se (valor == 'gestante'){
isgestante = true;
}
se (valor == 'possuiHanseniase'){
ispossuiHanseniase = true;
}
se (valor == 'teveInfarto'){
isteveInfarto = true;
}
se (valor == 'teveAvcDerrame'){
isteveAvcDerrame = true;
}
se (valor == 'usaPlantasMedicinais'){
isusaPlantasMedicinais = true;
}
se (valor == 'teveDiabetes'){
isteveDiabetes = true;
}
se (valor == 'domiciliado'){
isdomiciliado = true;
}
se (valor == 'possuiTeveProblemaRins'){
ispossuiTeveProblemaRins = true;
}
se (valor == 'possuiDoencaCardiaca'){
ispossuiDoencaCardiaca = true;
}
se (valor == 'internacaoUltimosDozeMeses'){
isinternacaoUltimosDozeMeses = true;
}
se (valor == 'usaPraticasIntegrativasComplementares'){
isusaPraticasIntegrativasComplementares = true;
}
se (valor == 'teveDoencaoRespiratoria'){
isteveDoencaoRespiratoria = true;
}
se (valor == 'fumante'){
isfumante = true;
}
}
}
se (isteveDiagnosticoProblemaSaudeMental == true) {
se(filtro == ""){
filtro += " teveDiagnosticoProblemaSaudeMental = true ";
}senao{
filtro += " and teveDiagnosticoProblemaSaudeMental = true ";
}
}
se (isusaOutrasDrogas == true) {
se(filtro == ""){
filtro += " usaOutrasDrogas = true ";
}senao{
filtro += " and usaOutrasDrogas = true ";
}
}
se (isteveHipertensaoArterial == true) {
se(filtro == ""){
filtro += " teveHipertensaoArterial = true ";
}senao{
filtro += " and teveHipertensaoArterial = true ";
}
}
se (ispossuiTeveCancer == true) {
se(filtro == ""){
filtro += " possuiTeveCancer = true ";
}senao{
filtro += " and possuiTeveCancer = true ";
}
}
se (isacamado == true) {
se(filtro == ""){
filtro += " acamado = true ";
}senao{
filtro += " and acamado = true ";
}
}
se (ispossuiTuberculose == true) {
se(filtro == ""){
filtro += " possuiTuberculose = true ";
}senao{
filtro += " and possuiTuberculose = true ";
}
}
se (isgestante == true) {
se(filtro == ""){
filtro += " gestante = true ";
}senao{
filtro += " and gestante = true ";
}
}
se (ispossuiHanseniase == true) {
se(filtro == ""){
filtro += " possuiHanseniase = true ";
}senao{
filtro += " and possuiHanseniase = true ";
}
}
se (isteveInfarto == true) {
se(filtro == ""){
filtro += " teveInfarto = true ";
}senao{
filtro += " and teveInfarto = true ";
}
}
se (isteveAvcDerrame == true) {
se(filtro == ""){
filtro += " teveAvcDerrame = true ";
}senao{
filtro += " and teveAvcDerrame = true ";
}
}
se (isusaPlantasMedicinais == true) {
se(filtro == ""){
filtro += " usaPlantasMedicinais = true ";
}senao{
filtro += " and usaPlantasMedicinais = true ";
}
}
se (isteveDiabetes == true) {
se(filtro == ""){
filtro += " teveDiabetes = true ";
}senao{
filtro += " and teveDiabetes = true ";
}
}
se (isdomiciliado == true) {
se(filtro == ""){
filtro += " domiciliado = true ";
}senao{
filtro += " and domiciliado = true ";
}
}
se (ispossuiTeveProblemaRins == true) {
se(filtro == ""){
filtro += " possuiTeveProblemaRins = true ";
}senao{
filtro += " and possuiTeveProblemaRins = true ";
}
}
se (ispossuiDoencaCardiaca == true) {
se(filtro == ""){
filtro += " possuiDoencaCardiaca = true ";
}senao{
filtro += " and possuiDoencaCardiaca = true ";
}
}
se (isinternacaoUltimosDozeMeses == true) {
se(filtro == ""){
filtro += " internacaoUltimosDozeMeses = true ";
}senao{
filtro += " and internacaoUltimosDozeMeses = true ";
}
}
se (isusaPraticasIntegrativasComplementares == true) {
se(filtro == ""){
filtro += " usaPraticasIntegrativasComplementares = true ";
}senao{
filtro += " and usaPraticasIntegrativasComplementares = true ";
}
}
se (isteveDoencaoRespiratoria == true) {
se(filtro == ""){
filtro += " teveDoencaoRespiratoria = true ";
}senao{
filtro += " and teveDoencaoRespiratoria = true ";
}
}
se (isfumante == true) {
se(filtro == ""){
filtro += " fumante = true ";
}senao{
filtro += " and fumante = true ";
}
}
dadosDomiciliarTerritorialImovel = fonteDomiciliarTerritorialImovel.busca(campos:
"id, profissional(id, nome), equipe(id, nome)", criterio: criterioDomiciliar)
percorrer (dadosDomiciliarTerritorialImovel) { imoveis ->
filtroAlternativo = ""
filtroAlternativo += filtro + " and profissional.id in
($imoveis.profissional.id)"
profissionalMedico = imoveis.profissional.nome
contagemImovel = imoveis.profissional.nome
if(!contagemProfissionais[chave]){
dadosDomiciliarTerritorialCadastroIndividual =
fonteDomiciliarTerritorialCadastroIndividual.busca(criterio: "profissional.id =
$imoveis.profissional.id and ultimaVersao = true and cancelado = false", campos:
"cliente.nome")
contagemProfissionais[chave] = [contagemImovel:
totalImoveisProfissional.size(),contagemCadastro:
dadosDomiciliarTerritorialCadastroIndividual.size(),profissionalMedico:imoveis.prof
issional.nome]
}
}
fonte.inserirLinha(linha)
imprimir JSON.escrever(linha)
}
def totalContagem = [
totalContagemImovel: totalContagemImovel,
totalContagemCadastro: totalContagemCadastro
]
fonte.inserirLinha(totalContagem)
imprimir JSON.escrever(totalContagem)
retornar fonte