Tarifação em Planos de Saúde

Slides:



Advertisements
Apresentações semelhantes
O Comando DROP INDEX Para eliminar um índice definido sobre uma tabela, utilize: Drop Index on ; Ex: No Access: Drop Index X on.
Advertisements

PASSO A PASSO PARA O ACESSO AO SITE CLIENTE PESSOA JURÍDICA
Banco de Dados Prof. Antonio.
SQL Renata Viegas.
SQL Avançado Continuação
TECNOLOGIA EM SISTEMAS PARA INTERNET Banco de dados em aplicativos WEB Aula /08/2011 Professor Leomir J. Borba- –
Prof.: Bruno Rafael de Oliveira Rodrigues
Banco de Dados Bruno Rafael de Oliveira Rodrigues.
Banco de Dados SQL TRIGGERS (Gatilhos)
SISTEMAS DE INFORMAÇÃO Sistemas de Bancos de Dados 2º Semestre – 2010 Pedro Antonio Galvão Junior Fone:
SISTEMAS DE INFORMAÇÃO Sistemas de Bancos de Dados 2º Semestre – 2010 Pedro Antonio Galvão Junior Fone: 9531 – 7555.
SGBD.
Otimização de Consultas em SQL Parte I - Planos de Execução e Equivalências de Expressões da Álgebra Relacional AULA 19 Profa. Sandra de Amo Programa.
SQL – Comandos de Agregação
AULA 23 Profa. Sandra de Amo GBC053 – BCC
SQL – Consultas Aninhadas e Agregação Profa. Sandra de Amo Capitulo 5 – Livro Texto Database Management Systems Ramakrishnan - Gehrke.
1 Acesso Universal a Dados. 2 Universal Data Access (UDA) é a estratégia da Microsoft para acesso generalizado à informação, garantindo acesso a fontes.
1 Objetos Relacionados a um banco de dados. 2 Introdução Visual Basic dispõe de um conjunto de objetos, que através de suas propriedades e métodos, nos.
SQL – Noções Gerais Por Márcia Jacyntha N. Rodrigues Lucena
Ordenação de Resultados
Operadores Especiais da SQL
Introdução à Engenharia da Computação
Oficina sobre banco de dados
SCC Bancos de Dados e Suas Aplicações
GOVERNO DO ESTADO DO RIO GRANDE DO SUL SECRETARIA DA SAÚDE DEPARTAMENTO DE ASSISTÊNCIA FARMACÊUTICA SISTEMA AME Aline Dockhorn Farmacêutica.
Linguagem de Banco de Dados - SQL
Linguagem de Banco de Dados - SQL
Eduardo Costa Gabriel Cypriano Rodrigo Calhau
Capítulo 10 Strings & File I/O. Strings Strings são um conjunto de Caracteres ASCII. No Controle de Instrumentação pode-se converter valores numéricos.
Banco de dados Profª Kelly Medeiros.
Prof.: Alessandro S.Campos
Nesse manual abordaremos de forma resumida como proceder para a autorização de uma guia, seja ela de Consulta, SP/SADT ou Internação.
Query Tuning Lílian Simão Oliveira.
Comandos de SQL Excel VBA II.
Monitoria GDI Aula Prática
Tópicos de Sistemas de Informação A Carlos Oberdan Rolim Ciência da Computação.
SQL Álvaro Vinícius de Souza Coêlho
Cronograma Formato do Comando SELECT – 1ª Seção Uso de Funções (DATE_FORMAT, DAY, MONTH, NOW, CONCAT, FORMAT, COUNT, AVG, MAX, MIN e FORMAT) AS DISTINCT.
Maio.2002 Sistemas de Informação - Administração Pública1 Organização e Acesso a Dados - Exercício Uma empresa pretende desenvolver uma base de dados que.
Design Patterns / Acesso ao banco de dados (java.sql)
FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA Módulo de Programação Prof. Flávio Dantas.
Especialização em Tecnologia da Informação
Por que formar o ACE? Atender a demanda de profissionalização dos agentes de endemias, de acordo com a Lei de 05/10/ de 2006.
Prof. Rodrigo de Matos Vargas
Banco de Dados 4P/SI – 2010/02 Prof. Carlos Alberto Seixas.
Monitoria GDI Aula Prática
Desenvolvendo um script SQL
Rafael Lucio, Desenvolvedor Jr Padrão Informática e Assessor de TI Secretaria Municipal da Saúde;
Programação WEB Modelo de Aplicação PHP usando Banco de Dados
VIEW - VISÕES Professor Esp. Diego André Sant’Ana
Baseado no material do Professor Raul Paradeda
REVISÃO Comandos SQL - DML SELECT * FROM ?.
António Martins Set 2008 Gestão de Sistemas e Tecnologias de Informação.
Prof. Celso Cardoso Neto. (3) REPETIÇÃO Caso 1.
Clínica de Psicologia - Março de 2012 – Boletim nº 21 EDITORIAL Compromisso Social da Clínica de Psicologia é o tema da XX Edição da Jornada da Clínica.
Curso de Linguagem Java
AULA 20 Profa. Sandra de Amo GBC053 – BCC
Exercícios Para começar a fazer os exercícios a seguir, restaure um banco de dados que já contenha dados: Informe os comandos das resposta com o mesmo.
SQL Server Comando PIVOT.
Fundamentos de Banco de Dados Fundamentos de Banco de Dados Prof. Gale 2º. Semestre 2008.
TRABALHO DE BANCO DE DADOS – POSTGRESQL
1 Structured Query Language (SQL) 4 SQL é uma linguagem normalizada (ANSI) para consultas e actualizações de bases de dados relacionais.
Fundamentos de Banco de Dados Prof. Gale Correção da Prova
UCSal – Bacharelado em Informática
Linguagem de definição de dados - SQL
BD SQL (Insert, Update, Delete) e Select Hayslan Nicolas Colicheski Bucarth – IFRO / 2015 –
Banco de Dados -Aprendendo conceitos -Usando o SQL Conf para:
Prática de Banco de Dados Créditos: Prof. Jefferson Silva Adaptações: Prof. Nécio de Lima Veras.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Capítulo 5 Mais SQL: Consultas Complexas, Triggers e Views.
BANCO DE DADOS BASE DE DADOS – É UMA COLEÇÃO DE DADOS INTER- RELACIONADOS, REPRESENTANDO INFORMAÇÕES SOBRE UM DOMÍNIO ESPECÍFICO. EX.: LISTA TELEFONICA,
Transcrição da apresentação:

Tarifação em Planos de Saúde Laboratório Prof. Sérgio Cardoso www.sergiocardoso.pro.br/saude

BASE DE DADOS

Base de Dados: Banco: DadosSaudeSergio.mdb Tabelas: Período: Beneficiários Notas TipoEvento Período: 2005/01 a 2007/11

Laboratório 1 Criar um Banco de Dados Vazio Vincular as Tabelas do DadosSaudeSergio.mdb ao novo banco Criar consultas para uma análise superficial das tabelas Beneficiários e Notas Criar Tabela de Expostos Preencher Tabela de Expostos a partir do VBA com Access.

Criar consultas (exemplos) Beneficiários (Datas mín. e máx. de inclusão e exclusão: SELECT Min(Format([Inclusao],"yyyy/mm")) AS CompInclusãoMin, Min(Format([Inclusao],"yyyy/mm")) AS CompExclusãoMin, Max(Format([Inclusao],"yyyy/mm")) AS CompInclusãoMax, Max(Format([Inclusao],"yyyy/mm")) AS CompExclusãoMax FROM Beneficiarios; Notas (Quantidade de notas por competência) SELECT Format([Atendimento],"yyyy/mm") AS [Comp], Count(Notas.Matricula) AS ContarDeMatricula FROM Notas GROUP BY Format([Atendimento],"yyyy/mm");

Criar Tabela de Expostos Criar Tabela de Expostos com a seguintes estrutura: Nome do Campo Tipo de Dados Tamanho COMPETENCIA * Texto 6 FE * Número Byte EXP Single (*) Chave primária.

Preencher Tabela de Expostos a partir do VBA com Access Criar módulo no VBA Adicionar ADO nas referências: Criar Sub PreencheExpostos()

Sub PreencheExpostos() Acesse a Base de Dados Dim cn As ADODB.Connection Dim rs As ADODB.Recordset Set cn = CurrentProject.Connection Set rs = New ADODB.Recordset Defina datas de competência inicial e final Dim DtCompIni as Date Dim DtCompFin as Date DtCompIni = DateSerial(2005, 1, 1) ‘ #1/1/2005# DtCompFin = DateSerial(2007, 11, 1) ‘ #11/1/2007# Inclua laço Do-While para a competência DtComp = DtCompIni Do While DtComp <= DtCompFin (*) DtComp = DateAdd("m", 1, DtComp) Loop Teste o código

Sub PreencheExpostos() – (*) Crie um consula Sql para selecionar os beneficiários dentro da competência desejada Comp = Year(DtComp) & Format(Month(DtComp), "00") SQL = "SELECT Nascimento, Inclusao, Exclusao " & _ " FROM Beneficiarios WHERE " & _ "((Inclusao<#" & _ Format(DateAdd("m", 1, DtComp), "mm/dd/yyyy") & _ "# AND Exclusao Is Null) OR (Inclusao<#" & _ Format(DateAdd("m", 1, DtComp), "mm/dd/yyyy") & "# AND Exclusao>#" & _ Format(DtComp, "mm/dd/yyyy") & "#))" Abra a consulta rs.Open sql, cn, adOpenKeyset Redimencione o Vetor para receber os expostos por faixa etária Dim Exp_FE() As Long Inclua laço Do-While para a consulta beneficiários e percorra por todos os beneficiários da consulta ReDim Exp_FE(1 To 10) ‘Apaga o vetor Do While Not rs.EOF (*) rs.MoveNext loop

Sub PreencheExpostos() – (*) – cont. Dentro do laço Beneficiários Determine a Faixa Etária do Participante Crie uma função que, recebendo a data de nascimento e a data do cálculo, retorne o número da faixa etária do participante FE = FaixaEtaria(DtComp, rs("Nascimento"))

Function FaixaEtaria(DtComp As Date, DtNasc As Date) As Byte Dim Idade As Integer Idade = Round(DateDiff("M", DtNasc, DtComp) / 12, 0) Select Case (Idade) Case Is <= 18 FaixaEtaria = 1 Case Is <= 23 FaixaEtaria = 2 Case Is <= 28 FaixaEtaria = 3 Case Is <= 33 FaixaEtaria = 4 Case Is <= 38 FaixaEtaria = 5 Case Is <= 43 FaixaEtaria = 6 Case Is <= 48 FaixaEtaria = 7 Case Is <= 53 FaixaEtaria = 8 Case Is <= 58 FaixaEtaria = 9 Case Else FaixaEtaria = 10 End Select

Sub PreencheExpostos() – (*) – cont. Dentro do laço Beneficiários Some QtdExp para a faixa etária correspondente do beneficiário Dim Exp_FE() As Long QtdExp = 1 If Format(rs("Inclusao"), "yyyymm") = Comp Then QtdExp = (30 - Day(rs("Inclusao")) + 1) / 30 End If If Format(rs("Exclusao"), "yyyymm") = Comp Then QtdExp = (Day(rs("Exclusao")) - 1) / 30 If QtdExp < 0 Then QtdExp = 0 Exp_FE(FE) = Exp_FE(FE) + QtdExp

Sub PreencheExpostos() – (*) – cont. Após percorrer todo o laço excluir os resultados na tabela Expostos para a competência que, eventualmente, possa ocorrer cn.Execute "Delete * from Expostos where Competencia = '" & Comp & "'"

Sub PreencheExpostos() – (*) - cont. Incluir os resultados na tabela Expostos Criar a Consulta For FE = 1 To 10 SQL = "INSERT INTO EXPOSTOS ([COMP], FE, EXP ) SELECT " & _ Comp & " AS A, " & FE & " AS B, " & Str(Exp_FE(FE)) & " AS C" cn.Execute SQL Next Fechar a Consulta Beneficiários rs.Close

Feche a conexão e os objetos de Banco de Dados cn.Close Set rs = Nothing Set cn = Nothing Teste o código Valide os resultados

Laboratório 1I Criar Tabela de Gastos Preencher Tabela de Gastos a partir do VBA com Access.

Criar Tabela de Gastos Criar Tabela de Expostos com a seguintes estrutura: Nome do Campo Tipo de Dados Tamanho COMPETENCIA * Texto 6 FE * Número Byte Servico * 255 INC Single GAS (*) Chave primária.

Sub PreencheGastosInc() Acesse a Base de Dados Dim cn As ADODB.Connection Dim rs As ADODB.Recordset Set cn = CurrentProject.Connection Set rs = New ADODB.Recordset Defina datas de competência inicial e final Dim CompIni As String Dim CompFin As String Dim Comp As String CompIni = Format(DateSerial(2005, 1, 1), "yyyymm") ' #1/1/2005# CompFin = Format(DateSerial(2007, 11, 1), "yyyymm") ' #11/1/2007# Excluir registros anteriores cn.Execute "Delete * from Gastos“ Redimensionar Vetores Dim Inc_FE() As Single Dim Gas_FE() As Single ReDim Gas_FE(1 To 10) ReDim Inc_FE(1 To 10)

Sub PreencheGastosInc() Abrir Consulta Notas / Beneficiarios SQL = "SELECT Format([Atendimento],'yyyymm') AS competencia, Notas.Atendimento, " & _ "Notas.Servico, Beneficiarios.Nascimento, Notas.Alta, Notas.Valor " & _ "FROM Notas INNER JOIN Beneficiarios ON Notas.Matricula = Beneficiarios.Matricula " & _ "WHERE (((Format([Atendimento], 'yyyymm')) >= '" & CompIni & "' And (Format([Atendimento], 'yyyymm')) <= '" & _ CompFin & "')) ORDER BY Format([Atendimento],'yyyymm'), Notas.Servico;" rs.Open SQL, cn, adOpenKeyset Inclua laço Do-While para a consulta Dim Calcula As Boolean Calcula = True Do While Not rs.EOF And Calcula # Loop rs.Close MsgBox "Fim de processamento!", vbInformation

Sub PreencheGastosInc(#) Dentro laço Do-While para a Notas FE = FaixaEtaria(rs("Atendimento"), rs("Nascimento")) Inc_FE(FE) = Inc_FE(FE) + 1 Gas_FE(FE) = Gas_FE(FE) + rs("Valor") Servico = rs("servico") Comp = rs("competencia") rs.MoveNext #2 Teste o código

Sub PreencheGastosInc(#3) Dentro laço Do-While para a Notas (gravar vetores quando fim de arquivo) If rs.EOF Then For FE = 1 To 10 SQL = "INSERT INTO GASTOS ([COMP], FE, SERVICO, INC, GAS ) SELECT " & _ Comp & " AS A, " & FE & " AS B, '" & Servico & "' as C, " & Str(Inc_FE(FE)) & " AS D, " & _ Str(Gas_FE(FE)) & " AS E" cn.Execute SQL Next ReDim Gas_FE(1 To 10) ReDim Inc_FE(1 To 10) 'Servico = rs("servico") Else #4 End If

Sub PreencheGastosInc(#4) Dentro laço Do-While para a Notas (gravar vetores quando mudar de competência) If rs.EOF Then Else #4 If Servico <> rs("servico") Or Comp <> rs("competencia") Then For FE = 1 To 10 SQL = "INSERT INTO GASTOS ([COMP], FE, SERVICO, INC, GAS ) SELECT " & _ Comp & " AS A, " & FE & " AS B, '" & Servico & "' as C, " & Str(Inc_FE(FE)) & " AS D, " & _ Str(Gas_FE(FE)) & " AS E" cn.Execute SQL Next ReDim Gas_FE(1 To 10) ReDim Inc_FE(1 To 10) End If

Laboratório 1II Preencher planilha ANS com resultados obtidos nos laboratórios I e II.

FIM