public SintomaResponse CrearSitoma(SintomaRequest request)
        {
            Sintoma sintoma = _unitOfWork.SintomaRepository.FindFirstOrDefault(S => S.Codigo == request.Codigo);

            if (sintoma == null)
            {
                Sintoma NuevoSintoma = new Sintoma();
                NuevoSintoma.Codigo      = request.Codigo;
                NuevoSintoma.Descripcion = request.Descripcion;
                _unitOfWork.SintomaRepository.Add(NuevoSintoma);
                _unitOfWork.Commit();

                return(new SintomaResponse()
                {
                    Message = $"Se Registro"
                });
            }
            else
            {
                return(new SintomaResponse()
                {
                    Message = $"Ya Existe Compa"
                });
            }
        }
示例#2
0
        public EliminarResponse DeleteSintoma(int id)
        {
            Sintoma sintoma           = _unitOfWork.SintomaRepository.Find(id);
            var     enfermedadSintoma = _unitOfWork.IEnfermedadSintoma.FindBy(p => p.Enfermedad.Id == id, includeProperties: "Sintoma,Enfermedad").ToList();

            if (sintoma == null)
            {
                return(new EliminarResponse()
                {
                    Message = $"No Existe"
                });
            }
            else
            {
                _unitOfWork.SintomaRepository.Delete(sintoma);
                if (enfermedadSintoma != null)
                {
                    _unitOfWork.IEnfermedadSintoma.DeleteRange(enfermedadSintoma);
                }
                _unitOfWork.Commit();
                return(new EliminarResponse()
                {
                    Message = $"Se Elimio"
                });
            }
        }
        public static int ActualizarSintoma(Sintoma sintoma)
        {
            int resultado = 0;

            using (SqlConnection sqlConnection = new SqlConnection(connectionString))
            {
                SqlCommand sqlCommand = new SqlCommand(null, sqlConnection);
                sqlCommand.CommandText = "UPDATE Sintoma SET nombre_sintoma = @nombre_sintoma , detalle_sintoma = @detalle_sintoma where id_sintoma= @id_sintoma";

                sqlCommand.Parameters.AddWithValue("@nombre_sintoma", sintoma.NombreSintoma);
                sqlCommand.Parameters.AddWithValue("@id_sintoma", sintoma.IdSintoma);
                sqlCommand.Parameters.AddWithValue("@detalle_sintoma", sintoma.DetalleSintoma);



                try
                {
                    sqlConnection.Open();

                    resultado = sqlCommand.ExecuteNonQuery();

                    sqlConnection.Close();
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }

                return(resultado);
            }
        }
        public async Task <IActionResult> Edit(int id, [Bind("SintomaID,DataRegisto,NomeSintoma")] Sintoma sintoma)
        {
            if (id != sintoma.SintomaID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(sintoma);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!SintomaExists(sintoma.SintomaID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(sintoma));
        }
        public static int AgregarSintoma(Sintoma sintoma)
        {
            int resultado = 0;

            using (SqlConnection sqlConnection = new SqlConnection(connectionString))
            {
                SqlCommand sqlCommand = new SqlCommand(null, sqlConnection);
                sqlCommand.CommandText = "Insert into Sintoma(nombre_sintoma , detalle_sintoma) values (@nombre_sintoma , @detalle_sintoma)";

                sqlCommand.Parameters.AddWithValue("@nombre_sintoma", sintoma.NombreSintoma);
                sqlCommand.Parameters.AddWithValue("@detalle_sintoma", sintoma.DetalleSintoma);


                try
                {
                    sqlConnection.Open();

                    resultado = sqlCommand.ExecuteNonQuery();

                    sqlConnection.Close();
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }

                return(resultado);
            }
        }
示例#6
0
        public EliminarResponse DeleteSintoma(string id)
        {
            Sintoma sintoma           = _unitOfWork.SintomaRepository.FindFirstOrDefault(p => p.Codigo == id);
            var     enfermedadSintoma = _unitOfWork.IEnfermedadSintoma.FindBy(p => p.Sintoma.Codigo == id, includeProperties: "Sintoma,Enfermedad").ToList();

            if (sintoma == null)
            {
                return(new EliminarResponse()
                {
                    Message = $"No Existe el sintoma"
                });
            }
            else
            {
                _unitOfWork.SintomaRepository.Delete(sintoma);
                if (enfermedadSintoma != null)
                {
                    _unitOfWork.IEnfermedadSintoma.DeleteRange(enfermedadSintoma);
                }
                _unitOfWork.Commit();
                return(new EliminarResponse()
                {
                    Message = $"Se Elimio el sintoma"
                });
            }
        }
示例#7
0
        public void RegistrarIncorrectamenteFaltaDescripcion()
        {
            Sintoma Sinto = new Sintoma();

            Sinto.Codigo = "123";

            InvalidOperationException ex = Assert.Throws <InvalidOperationException>(() => Sinto.Guardar(Sinto));

            Assert.AreEqual(ex.Message, "Llene todos los campos");
        }
        public async Task <IActionResult> Create([Bind("SintomaID,DataRegisto,NomeSintoma")] Sintoma sintoma)
        {
            if (ModelState.IsValid)
            {
                _context.Add(sintoma);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(sintoma));
        }
示例#9
0
        public void RegistrarCorrectamente()
        {
            Sintoma Sinto = new Sintoma();

            Sinto.Codigo      = "123";
            Sinto.Descripcion = "fiebre";

            InvalidOperationException ex = Assert.Throws <InvalidOperationException>(() => Sinto.Guardar(Sinto));

            Assert.AreEqual(ex.Message, "se guardo todo cachon");
        }
示例#10
0
        public async Task <IActionResult> Post(SintomaViewModel viewModel)
        {
            var sintoma = new Sintoma
            {
                Descricao = viewModel.Descricao
            };

            await _service.AdicionarSintoma(sintoma);

            return(Ok());
        }
示例#11
0
        //TEST 1: Sintomas
        static void TestSintoma()
        {
            SintomaServico r = new SintomaServico();
            Sintoma        s = new Sintoma();

            // s.codigoSintoma = 1;
            s.descripcion = "dolor";
            s.observacion = "fuerte";

            r.Insetar(s);
            Console.WriteLine(r);
        }
示例#12
0
        public override async void Execute(Message message)
        {
            if (message.Text.Split(' ').Length <= 1)
            {
                await Bot.SendTextMessageAsync(
                    message.Chat.Id,
                    "Por favor, informe um sintoma. " + "\n" +
                    "Ex.: /diagnose dor de cabeça, febre, dor no corpo",
                    replyMarkup : new ReplyKeyboardRemove());

                return;
            }

            var sintoma = new Sintoma
            {
                Descricao = message.Text.Substring(message.Text.IndexOf(" ")).Trim()
            };

            var medicamentos = realizacaoDeDiagnosticos.RealizaDiagnostico(sintoma);

            if (medicamentos.Count == 0)
            {
                await Bot.SendTextMessageAsync(
                    message.Chat.Id,
                    "Desculpe, mas nenhum medicamento foi encontrado para o(s) sintoma(s) informado(s).",
                    replyMarkup : new ReplyKeyboardRemove());
            }
            else
            {
                InlineKeyboardButton[] opcoes = new InlineKeyboardButton[medicamentos.Count];

                var idx = 0;

                foreach (var medicamento in medicamentos)
                {
                    opcoes[idx] = InlineKeyboardButton.WithCallbackData(medicamento.Nome, JsonConvert.SerializeObject(new
                    {
                        type = BotCallbackType.ADD_CARRINHO_CALLBACK,
                        id   = medicamento.Id
                    }));

                    idx++;
                }

                var inlineKeyboard = new InlineKeyboardMarkup(opcoes);

                await Bot.SendTextMessageAsync(
                    message.Chat.Id,
                    "Baseado no(s) sintoma(s) informado(s), os seguintes medicamentos foram sugeridos:",
                    replyMarkup : inlineKeyboard);
            }
        }
示例#13
0
 public static List <Sintoma> ListarSintoma(DataTable dataTable)
 {
     sintomas = new List <Sintoma>();
     for (int i = 0; i < dataTable.Rows.Count; i++)
     {
         Sintoma sintoma = new Sintoma();
         sintoma.IdSintoma      = int.Parse(dataTable.Rows[i]["id_sintoma"].ToString());
         sintoma.NombreSintoma  = dataTable.Rows[i]["nombre_sintoma"].ToString();
         sintoma.DetalleSintoma = dataTable.Rows[i]["detalle_sintoma"].ToString();
         sintomas.Add(sintoma);
     }
     return(sintomas);
 }
示例#14
0
        public override void CargarDatos(int?entidadId)
        {
            // Instancion por medio del Inyector el Objeto Grupo
            sintoma = ObjectFactory.GetInstance <Sintoma>();

            if (entidadId.HasValue)
            {
                sintoma = consultaPacienteUoW.SintomasRepositorio.ObtenerPorId(entidadId.Value);

                this.txtCodigoSintomas.Text      = sintoma.Codigo.ToString();
                this.txtDescripcionSintomas.Text = sintoma.Descripcion;
            }
            else
            {
                Mensaje.Mostrar(new Exception("Error al cargar los Datos"), Constantes.TipoMensaje.Error);
            }
        }
示例#15
0
        public List <Medicamento> Diagnosticar(Sintoma sintoma)
        {
            // Busca os medicamentos que cobrem os sintomas um a um e os adiciona em uma lista.

            Dictionary <int, int> quantidadePorMedicamentoSugerido = new Dictionary <int, int>();

            var sintomas = sintoma.AsList();

            var medicamentos = repositorioDeMedicamentos.ObtemMedicamentosParaDiagnostico();

            foreach (var s in sintomas)
            {
                foreach (var medicamento in medicamentos)
                {
                    if (medicamento.CobreSintoma(s))
                    {
                        if (quantidadePorMedicamentoSugerido.TryGetValue(medicamento.Id, out int total))
                        {
                            quantidadePorMedicamentoSugerido[medicamento.Id] = total + 1;
                        }
                        else
                        {
                            quantidadePorMedicamentoSugerido.Add(medicamento.Id, 1);
                        }
                    }
                }
            }

            // Seleciona os 4 primeiros medicamentos que mais aparecem na lista.

            const int QUANTIDADE_DE_MEDICAMENTOS_SUGERIDOS = 4;

            var idsDeMedicamentosMaisSugeridos = quantidadePorMedicamentoSugerido.OrderByDescending(p => p.Value).Take(QUANTIDADE_DE_MEDICAMENTOS_SUGERIDOS);

            var medicamentosSugeridos = new List <Medicamento>();

            foreach (var idDeMedicamento in idsDeMedicamentosMaisSugeridos)
            {
                medicamentosSugeridos.Add(medicamentos.Single(p => p.Id == idDeMedicamento.Key));
            }

            return(medicamentosSugeridos);
        }
示例#16
0
        public override void NuevoRegistro()
        {
            try
            {
                sintoma = new Sintoma()
                {
                    Codigo      = Convert.ToInt32(txtCodigoSintomas),
                    Descripcion = txtDescripcionSintomas.Text
                };

                consultaPacienteUoW.SintomasRepositorio.Insertar(sintoma);
                consultaPacienteUoW.Commit();

                this.txtCodigoSintomas.Focus();
            }
            catch (Exception ex)
            {
                Mensaje.Mostrar(ex, Constantes.TipoMensaje.Error);
            }
        }
示例#17
0
        public List <Sintoma> getSintomas()
        {
            SqlCommand    func  = armarFuncionTabla("OBTENER_SINTOMAS");
            var           lista = new List <Sintoma>();
            SqlDataReader reader;

            func.CommandText = func.CommandText + ")";
            using (func)
            {
                reader = func.ExecuteReader();
                while (reader.Read())
                {
                    var sint = new Sintoma();
                    sint.Codigo      = (int)reader.GetValue(0);
                    sint.Descripcion = (string)reader.GetValue(1);
                    lista.Add(sint);
                }
            }
            return(lista);
        }
示例#18
0
        public void Setup()
        {
            medico = new Medico()
            {
                Identificacion    = "123",
                Nombres           = "fabian",
                Apellidos         = "quintero",
                CorreoElectronico = "*****@*****.**",
                Direccion         = "valledupar",
                Edad            = 23,
                Especializacion = "pulmonar",
                Estrato         = 5,
                Sexo            = "M",
                Telefono        = "3123345666"
            };
            paciente = new Paciente()
            {
                Identificacion    = "1234",
                Nombres           = "fabian andres",
                Apellidos         = "quintero mendez",
                CorreoElectronico = "*****@*****.**",
                Direccion         = "valledupar cesar",
                Edad     = 24,
                Medico   = medico,
                Estrato  = 2,
                Sexo     = "M",
                Telefono = "3173345666"
            };

            sintoma = new Sintoma()
            {
                Codigo      = "A1",
                Descripcion = "Tos"
            };

            sintoma1 = new Sintoma()
            {
                Codigo      = "A2",
                Descripcion = "Fiebre"
            };

            sintoma2 = new Sintoma()
            {
                Codigo      = "A3",
                Descripcion = "Secrecion Nasal"
            };

            sintoma3 = new Sintoma()
            {
                Codigo      = "A4",
                Descripcion = "Tos Seca"
            };

            sintoma4 = new Sintoma()
            {
                Codigo      = "A5",
                Descripcion = "Flemas"
            };

            sintoma5 = new Sintoma()
            {
                Codigo      = "A6",
                Descripcion = "Dificultad Para Respirar"
            };

            sintoma6 = new Sintoma()
            {
                Codigo      = "A7",
                Descripcion = "Dolor En El Pecho"
            };

            enfermedad = new Enfermedad()
            {
                Codigo   = "A321",
                Nombre   = "cancer-pulmonar",
                Sintomas = { sintoma, sintoma5, sintoma6 },
                Gravedad = "grave"
            };


            enfermedad1 = new Enfermedad()
            {
                Codigo   = "A322",
                Nombre   = "Gripa",
                Sintomas = { sintoma, sintoma1, sintoma2, sintoma3 },
                Gravedad = "grave"
            };

            enfermedad2 = new Enfermedad()
            {
                Codigo   = "A323",
                Nombre   = "coronavirus-F",
                Sintomas = { sintoma3, sintoma4, sintoma5 },
                Gravedad = "muy grave"
            };

            enf = new List <Enfermedad>()
            {
                enfermedad, enfermedad1, enfermedad2
            };

            sin = new List <Sintoma>()
            {
                sintoma, sintoma1, sintoma2, sintoma3, sintoma4
            };

            sin2 = new List <Sintoma>()
            {
                sintoma, sintoma4, sintoma5, sintoma6
            };

            sin3 = new List <Sintoma>()
            {
                sintoma3, sintoma4, sintoma5, sintoma1
            };
        }
 public List <Medicamento> RealizaDiagnostico(Sintoma sintoma)
 {
     throw new NotImplementedException();
 }
示例#20
0
        public async Task AdicionarSintoma(Sintoma Sintoma)
        {
            await _sintomaRepository.Create(Sintoma);

            await _unitOfWork.CommitAsync();
        }
示例#21
0
        public async Task AtualizarSintoma(Sintoma Sintoma)
        {
            await _sintomaRepository.Update(Sintoma);

            await _unitOfWork.CommitAsync();
        }
        public List <Medicamento> RealizaDiagnostico(Sintoma sintoma)
        {
            var medicamentos = sintomasService.Diagnosticar(sintoma);

            return(medicamentos);
        }
示例#23
0
        public async Task <IActionResult> Post(Sintoma sintoma)
        {
            await _service.AdicionarSintoma(sintoma);

            return(Ok());
        }
示例#24
0
        public static void Initialize(SafetyTourismdb context)
        {
            //context.Database.EnsureCreated();

            //Look for any Doencas.
            if (context.Doencas.Any())
            {
                return;   // DB has been seeded
            }

            var doenca = new Doenca[]
            {
                new Doenca {
                    NomeDoenca = "Doenças do sistema respiratório"
                },
                new Doenca {
                    NomeDoenca = "Doenças cardiacas"
                },
                new Doenca {
                    NomeDoenca = "Doenças imunossupressoras"
                },
                new Doenca {
                    NomeDoenca = "Doenças mentais"
                },
                new Doenca {
                    NomeDoenca = "Doenças Oncológicas"
                },
                new Doenca {
                    NomeDoenca = "Doenças do sistema circulatório"
                },
                new Doenca {
                    NomeDoenca = "Doenças do sistema digestivo"
                },
                new Doenca {
                    NomeDoenca = "Doenças do sistema musculoesquelético"
                },
                new Doenca {
                    NomeDoenca = "Doenças da pele e tecido subcutâneo"
                },
                new Doenca {
                    NomeDoenca = "Anomalias congénitas"
                },
            };

            foreach (Doenca s in doenca)
            {
                context.Doencas.Add(s);
            }
            context.SaveChanges();
//////////////////////////////////////////////////////////////////////////
///
            var gravidadeSurto = new GravidadeSurto[]

            {
                new GravidadeSurto {
                    DataRegisto = DateTime.Parse("2019-10-01"), NivelGravidade = "Elevado"
                },
                new GravidadeSurto {
                    DataRegisto = DateTime.Parse("2020-11-02"), NivelGravidade = "Médio"
                },
                new GravidadeSurto {
                    DataRegisto = DateTime.Parse("2020-01-08"), NivelGravidade = "Baixo"
                },
            };

            foreach (GravidadeSurto s in gravidadeSurto)
            {
                context.GravidadeSurtos.Add(s);
            }
            context.SaveChanges();
//////////////////////////////////////////////////////////////////////////////////


            var destinoTuristico = new DestinoTuristico[]

            {
                new DestinoTuristico {
                    NomeDestino = "Porto", DensidadeDemografica = "5 736", Pais = "Portugal", Continente = "Europa"
                },
                new DestinoTuristico {
                    NomeDestino = "Lisboa", DensidadeDemografica = "5 066", Pais = "Portugal", Continente = "Europa"
                },
                new DestinoTuristico {
                    NomeDestino = "Londres", DensidadeDemografica = "15 066", Pais = "Inglaterra", Continente = "Europa"
                },
                new DestinoTuristico {
                    NomeDestino = "Paris", DensidadeDemografica = "14 066", Pais = "França", Continente = "Europa"
                },
                new DestinoTuristico {
                    NomeDestino = "Moscovo", DensidadeDemografica = "11 066", Pais = "Russia", Continente = "Europa"
                },
                new DestinoTuristico {
                    NomeDestino = "Rio de Janeiro", DensidadeDemografica = "12 086", Pais = "Brasil", Continente = "America"
                },
                new DestinoTuristico {
                    NomeDestino = "Pequim", DensidadeDemografica = "12 086", Pais = "China", Continente = "Asia"
                }
            };


            foreach (DestinoTuristico s in destinoTuristico)
            {
                context.DestinoTuristicos.Add(s);
            }
            context.SaveChanges();

///////////////////////////////////////////////////////////////////////////////////////


            var grupoRisco = new GrupoRisco[]


            {
                new GrupoRisco {
                    FaixaEtaria = "Crianças", Sexo = "Masculino", Etnia = "Árabes", DoencaID = 1
                },
                new GrupoRisco {
                    FaixaEtaria = "Menores de 18", Sexo = "Ambos", Etnia = "Asiaticos", DoencaID = 2
                },
                new GrupoRisco {
                    FaixaEtaria = "Adultos", Sexo = "Ambos", Etnia = "Indiferentes", DoencaID = 3
                },
                new GrupoRisco {
                    FaixaEtaria = "Indiferente", Sexo = "Ambos", Etnia = "Indiferentes", DoencaID = 5
                },
                new GrupoRisco {
                    FaixaEtaria = "Idosos > 70 ", Sexo = "Ambos", Etnia = "Indiferentes", DoencaID = 5
                }
            };

            foreach (GrupoRisco s in grupoRisco)
            {
                context.GrupoRiscos.Add(s);
            }
            context.SaveChanges();


            var sintoma = new Sintoma[]

            {
                new Sintoma {
                    DataRegisto = DateTime.Parse("2019-01-01"), NomeSintoma = "Dor de cabeça"
                },
                new Sintoma {
                    DataRegisto = DateTime.Parse("2019-01-01"), NomeSintoma = "Tosse"
                },
                new Sintoma {
                    DataRegisto = DateTime.Parse("2019-01-01"), NomeSintoma = "Dificuldade em respirar"
                },
                new Sintoma {
                    DataRegisto = DateTime.Parse("2019-01-01"), NomeSintoma = "Febre"
                }
            };

            foreach (Sintoma s in sintoma)
            {
                context.Sintomas.Add(s);
            }
            context.SaveChanges();


            var recomendacoe = new Recomendacoe[]

            {
                new Recomendacoe {
                    DataRegisto = DateTime.Parse("2019-01-01"), DescricaoBreve = "Social Protection Measures", Relatorio = "Maintain at least a 1-metre distance between yourself and others to reduce your risk of infection when they cough, sneeze or speak. Maintain an even greater distance between yourself and others when indoors. The further away, the better. Make wearing a mask a normal part of being around other people. The appropriate use, storage and cleaning or disposal are essential to make masks as effective as possible."
                },
                new Recomendacoe {
                    DataRegisto = DateTime.Parse("2019-01-01"), DescricaoBreve = "Hygiene Measures", Relatorio = "Clean your hands before you put your mask on, as well as before and after you take it off, and after you touch it at any time. Make sure it covers both your nose, mouth and chin. When you take off a mask, store it in a clean plastic bag, and every day either wash it if it’s a fabric mask, or dispose of a medical mask in a trash bin. Don’t use masks with valves."
                },
                new Recomendacoe {
                    DataRegisto = DateTime.Parse("2019-01-01"), DescricaoBreve = "Outbreaks have been reported in restaurants", Relatorio = "Outbreaks have been reported in restaurants, choir practices, fitness classes, nightclubs, offices and places of worship where people have gathered, often in crowded indoor settings where they talk loudly, shout, breathe heavily or sing. The risks of getting COVID-19 are higher in crowded and inadequately ventilated spaces where infected people spend long periods of time together in close proximity. These environments are where the virus appears to spreads by respiratory droplets or aerosols more efficiently, so taking precautions is even more importan"
                },
                new Recomendacoe {
                    DataRegisto = DateTime.Parse("2019-01-01"), DescricaoBreve = "Meet people outside", Relatorio = "Outdoor gatherings are safer than indoor ones, particularly if indoor spaces are small and without outdoor air coming in. For more information on how to hold events like family gatherings, children’s football games and family occasions, read our Q&A on small public gatherings. Avoid crowded or indoor settings but if you can’t, then take precautions:Open a window.Increase the amount of ‘natural ventilation’ when indoors.WHO has published Q&As on ventilation and air conditioning for both the general public and people who manage public spaces and buildings.Wear a mask(see above for more details)."
                }
            };

            foreach (Recomendacoe s in recomendacoe)
            {
                context.Recomendacoes.Add(s);
            }
            context.SaveChanges();


            var surtoEpidemiologico = new SurtosEpidemiologico[]

            {
                new SurtosEpidemiologico {
                    NomeSurto = "Covid", GrauContagio = "Elevado", IndiceMortalidade = "0,1", GravidadeSurtoID = 1, RecomendacoeID = 1, SintomaID = 1, GrupoRiscoID = 2
                },


                new SurtosEpidemiologico
                {
                    NomeSurto         = "Malaria",
                    GrauContagio      = "Elevado",
                    IndiceMortalidade = "0,12",
                    GravidadeSurtoID  = 2,
                    RecomendacoeID    = 3,
                    SintomaID         = 3,
                    GrupoRiscoID      = 2
                },

                new SurtosEpidemiologico
                {
                    NomeSurto         = "Dengue",
                    GrauContagio      = "Elevado",
                    IndiceMortalidade = "0,14",
                    GravidadeSurtoID  = 3,
                    RecomendacoeID    = 1,
                    SintomaID         = 1,
                    GrupoRiscoID      = 1
                }
            };

            foreach (SurtosEpidemiologico s in surtoEpidemiologico)
            {
                context.SurtosEpidemiologicos.Add(s);
            }
            context.SaveChanges();
        }