Validador TISS 03.04.00

http://fabianobento.com.br/validadortiss/

Software gratuito para validação e análise de arquivos no padrão TISS da ANS.

Você poderá validar gratuitamente seus arquivos XML no padrão TISS, sem a necessidade de instalar.

-Não é necessário instalar
-Padrão TISS
-Codificação TUSS
-Dados do Prestador
-Suporte a arquivos do monitoramento
-Informações das contas e valores
– Versão do arquivo
– Estrutura

Instalando Grafana no Windows

Baixe o Grafana no link https://grafana.com/grafana/download?platform=windows

Crie a pasta (Grafana) na Raiz no disco, como exemplo: (C:), descompacte e copie os arquivos para a pasta.

O arquivo de configuração padrão do Grafana é o (defaults.ini), mas não altere este arquivo, para customizar as configurações do Grafana você deve editar o arquivo (custom.ini).

C:\Grafana\conf\custom.ini

Após copiar para a pasta já é possível rodar o Grafana com as configurações padrões.

Localize o arquivo grafana-server.exe que fica dentro do diretório BIN (bin\grafana-server.exe), e execute.

Abra o navegador e digite http://localhost:3000/login

Usuário e Senha: admin / admin

Para intalar novos Plugins baixe no site do Grafana copie para o diretório (data\plugins), será necessário reiniciar o Grafana (fechar e abrir novamente o grafana-server.exe)

 

Criando um Validador TISS usando PHP

Neste posto irei ensinar como criar um validador TISS de arquivos XML  no padrão TISS da ANS, usando o PHP e banco de dados MySQL. Com o validador será possível validar os arquivos TISS e arquivos do monitoramento TISS.

Obs.: Vou escrever um passo a passo, mas é necessário ter noções básicas da linguagem PHP e banco MySQL.

Vou dividir o post nas seguintes etapas;

1ª Etapa -Criar o formulário HTML para envio do arquivo e seleção da versão

2ª Etapa – Verificar a estrutura do arquivo (que é a comparação com o arquivo XSD da ANS)

3ª Etapa – Validação dos dados do arquivo conforme a codificação da TUSS (Apenas para arquivos TISS)

4ª Etapa – Disponibilização dos arquivos para download e dica de instalação

E é claro, você poderá personalizar conforme a sua necessidade.

Antes de começarmos baixe os arquivos do padrão TISS no site da ANS, usando o link http://www.ans.gov.br/prestadores/tiss-troca-de-informacao-de-saude-suplementar, conforme os prints abaixo, ou clique aqui para baixar o último arquivo disponível (Componente de Comunicação 03.03.03)

Obs.: baixe todas as versões que queira utilizar no seu validador.

Usaremos também o arquivo bootstrap.min.css do Bootstrap (framework web CSS/JavaScript), baixe também neste link (https://getbootstrap.com) (deixarei no final todos os arquivos para download)

Iniciando o projeto crie a estrutura de pastas abaixo.

As pastas devem ser criadas no seu servidor httpd(Apache/IIS), dentro do diretório (www).

-validador-tiss (pasta principal)
–css
–xml (diretório para upload dos arquivos xml enviados)
–tiss (diretório com os arquivos baixados no site da ANS para validação TISS)
–tiss/03_03_03
–tiss/03_03_01
–tiss/03_02_02
–tiss/03_02_01
–tiss/03_02_00

1ª Etapa

Agora vamos criar nosso formulário para envio do arquivo e salvar com o nome index.php

Arquivo index.php

Observe que action do formulário aponta para (validar_arquivo.php), e temos um select para as versões dos XML.

<head>
<meta charset=”UTF-8″>
<title>Validador TISS</title>
<link rel=”stylesheet” href=”css/bootstrap.min.css“>
</head>

<body>

<div class=”container”>

<h1 >Validador TISS</h1>
<a class=”btn btn-lg ” href=”#seu-site” role=”button”>Validador de arquivos XML no padrão TISS</a>
<br>
<form id=”upload” name=”upload” enctype=”multipart/form-data” method=”post” action=”validar_arquivo.php“>

<div class=”form-group”>
<label for=”versao” class=”control-label”>Selecione a versão:</label>

<select name=”versao” class=”form-control”>
<option value=”tissV3_03_03.xsd” selected>TISS – 03.03.03</option>
<option value=”tissV3_03_02.xsd” >TISS – 03.03.02</option>
<option value=”tissV3_03_01.xsd” >TISS – 03.03.01</option>
<option value=”tissV3_03_00.xsd” >TISS – 03.03.00</option>
<option value=”tissV3_02_02.xsd” >TISS – 03.02.02</option>
<option value=”tissV3_02_01.xsd” >TISS – 03.02.01</option>
<option value=”tissV3_02_00.xsd” >TISS – 03.02.00</option>
<option value=”tissMonitoramentoV3_03_03“>Monitoramento TISS – 03.03.03</option>
<option value=”tissMonitoramentoV3_03_02“>Monitoramento TISS – 03.03.02</option>
<option value=”tissMonitoramentoV3_03_01“>Monitoramento TISS – 03.03.01</option>
<option value=”tissMonitoramentoV3_03_00“>Monitoramento TISS – 03.03.00</option>
<option value=”tissMonitoramentoV3_02_02“>Monitoramento TISS – 03.02.02</option>
<option value=”tissMonitoramentoV3_02_01“>Monitoramento TISS – 03.02.01</option>
<option value=”tissMonitoramentoV3_02_00“>Monitoramento TISS – 03.02.00</option>

</select>
</label>
</div>

<div class=”form-group”>
<label for=”arquivo_xml” class=”control-label”>Selecione o arquivo (XML) para validação</label>
<input id=”arquivo_xml” name=”arquivo_xml” type=”file” class=”form-control-file” placeholder=”Selecione o arquivo XML para validaçaõ…” />
</div>

<button type=”submit” class=”btn btn-primary”>Validar Arquivo</button>
</form>

</div>
</body>

A página ficará com o layout abaixo;

Agora copie todos os arquivos que baixou no site da ANS e coloque dentro da pasta (tiss), ficando da seguinte forma:

tiss/03_03_03
tiss/03_03_02
tiss/03_03_01
tiss/03_03_00
tiss/03_02_02
tiss/03_02_01
tiss/03_02_00

Read More →

Linguagem de Programação Zebra – EPL

Como resolver impressão falhada/clara

No código de impressão EPL, existe uma linha que iniciar com a letra (D), que defini a temperatura da impressão. A numeração pode ser de 0 a 15.

Obs.: Normalmente este tipo de falha ocorre devido ao tipo de etiqueta(o papel que foi confeccionado)

Dn- Darkness defini a temperatura de impressão (0 -15)

Em etiquetas de poli(usar temperatura a partir de 9)

Exemplo: D10

Modelo Etiqueta 3 coluna

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
I8,A,001
 
 
Q184,024
q831
rN
S3
D10
ZT
JF
O
R0,0
f100
N
B268,167,2,1,2,6,40,N,"&cd_lote"
B536,167,2,1,2,6,40,N,"&cd_lote"
B808,168,2,1,2,6,40,N,"&cd_lote"
A260,24,2,1,1,1,N,"L: &cd_lote"
A273,86,2,4,1,1,N,"&ds_mat_continuacao"
A526,24,2,1,1,1,N,"L: &cd_lote"
A274,116,2,4,1,1,N,"&ds_material"
A540,86,2,4,1,1,N,"&ds_mat_continuacao"
A260,47,2,1,1,1,N,"Val: &dt_validade"
A795,24,2,1,1,1,N,"L: &cd_lote"
A540,116,2,4,1,1,N,"&ds_material"
A809,87,2,4,1,1,N,"&ds_mat_continuacao"
A526,47,2,1,1,1,N,"Val: &dt_validade"
A809,120,2,4,1,1,N,"&ds_material"
A795,47,2,1,1,1,N,"Val: &dt_validade"
P1

 

Cinebench (Benchmark) teste de desempenho (performance gráfica)

O Cinebench é um programa que executa testes de benchmark, mas especificamente para testar a performance gráfica e desempenho do processador. Este programa foi criado baseado no “Cinema 4D” (do mesmo desenvolvedor) que é utilizado para criação de conteúdo 3D. O programa é composto de dois testes e, caso seu computador não seja compatível, ele apenas informa o fato, interrompendo o procedimento.

Para realizar os testes clique no botão (RUN), conforme imagem abaixo.
OpenGL
Este procedimento usa uma cena 3D complexa que descreve uma perseguição de carro (criada por renderbaron) que mede o desempenho de sua placa gráfica no modo OpenGL.
CPU
O cenário de teste usa todo o poder de processamento do seu sistema para renderizar uma cena 3D fotorrealista (da animação viral “Sem quadros-chave” da AixSponza).
Fonte: https://www.maxon.net/en/products/cinebench/
Link para Download:

Estarei disponibilizando dois modelos de pulseiras desenvolvidas para a Zebra HC 100, sendo um para pulseira de adultos e outro modelo para crianças.

É necessário o desenvolvimento de dois códigos devido a forma de impressão e tamanho das pulseiras serem diferentes, ainda poderá existir um terceiro tamanho que é usado em bebês, mas com base nos exemplos abaixo ficará fácil ajustar. Tamanhos; Adulto: 27,9 cm e Infantil 17,8cm

 

Adulto (27,9 CM)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
^XA
^FO60,1200^BCN,100,N,N,N,N^FD&nr_atendimento^FS
^FO280,1600^A0R,20,30^FD** &ds_estab **^FS
^FO230,1400^A0R,30,30^FDMEDICO: &nm_medico^FS
^FO130,1400^A0R,70,60^FD&nm_paciente^FS
^FO80,1400^A0R,30,40^FDIDADE: &idade^FS
^FO40,1400^A0R,30,30^FDRESPONSÁVEL: &nm_responsavel^FS
^FO40,1700^A0R,30,40^FDNASC: &dt_nascimento^FS
^FO30,2225^A0R,30,40^FDPRONTUARIO: &nr_prontuario^FS
^FO60,2225^A0R,30,40^FDATENDIMENTO: &nr_atendimento^FS
^PRA
^PQ&nr_etiquetas
^FDvertical^FS
^XZ

pulseira-aduto_le

 

Infantil (17,8 CM)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
^XA
^FO70,480^BCN,100,N,N,N,N^FD&nr_atendimento^FS
^FO280,600^A0R,20,30^FD** &ds_estab **^FS
^FO230,600^A0R,30,30^FDMEDICO: &nm_medico^FS
^FO130,600^A0R,70,60^FD&nm_paciente^FS
^FO70,600^A0R,30,40^FDIDADE: &idade^FS
^FO100,600^A0R,30,35^FDRESPONSÁVEL: &nm_responsavel^FS
^FO40,600^A0R,30,40^FDNASC: &dt_nascimento^FS
^FO60,1100^A0R,30,40^FDATENDIMENTO: &nr_atendimento^FS
^FO30,1100^A0R,30,40^FDPRONTUARIO: &nr_prontuario^FS
^PRA
^PQ&nr_etiquetas
^FDvertical^FS
^XZ

pulseira_infantil_le

Para maiores informações, visite minha primeira postagem sobre programação ZPLII e o guia de programação em ZPLII

Guia de programação ZPL II

Manual da Impressora Zebra HC100

Leila mais clicando no link abaixo!

http://blog.fabianobento.com.br/2013/07/programacao-zpl-ii-impressora-de-pulseiras-hc-100/

Argox OS 214 – Progamação PPLA / Criar layout de etiquetas

 

Antes de iniciar a programação da etiqueta é importante saber qual o driver será utilizado, neste exemplo irei usar PPLA

argox-driver

Modelo 1 coluna (Para endereços)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
O0220
M3000
e
c0000
f330
L
H13
D11
SE
PD
z
 
 
131100001050030&ds_tratamento
131100000800030&ds_nome
121100000580030Endereco: &DS_ENDERECO, &nr_ENDERECO .&DS_COMPLEMENTO
121100000400030&DS_BAIRRO Cidade: &DS_CIDADE - &ds_ESTADO
121100000200030CEP:&ds_CEP
Q&NR_ETIQUETAS
E

Modelo 1 coluna (Pode ser usada para identificação pacientes)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
O0220
M3000
e
c0000
f330
L
H13
D11
SE
PD
z
 
150120000950010    A C O M P A N H A N T E - P.A.
131100000500020Paciente: &paciente
131000000200020Data: &entrada
131000000200160At: &ate
 
Q0001
E

 

 

Modelo 3 colunas

O0220

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
M3000
e
c0000
f330
L
H21
D11
SE
PD
R0000
z
 
191100000370010&ds_red_material
191100000300010Lote: &ds_lote
191100000300077V: &dt_validade
1D6202000010010&cd_barras
 
191100000370140&ds_red_material
191100000300140Lote: &ds_lote
191100000300207V: &dt_validade
1D6202000010140&cd_barras
 
191100000370270&ds_red_material
191100000300270Lote: &ds_lote
191100000300337V: &dt_validade
1D6202000010270&cd_barras
Q&nr_etiquetas
E
&nm_usuario_cor

ANS RESOLUÇÃO NORMATIVA – RN Nº 395

http://www.ans.gov.br/component/legislacao/?view=legislacao&task=TextoLei&format=raw&id=MzE2OA==

http://www.ans.gov.br/aans/noticias-ans/consumidor/3159-novas-regras-da-ans-obrigam-planos-de-saude-a-qualificar-atendimento

Entenda as mudanças

1 – ATENDIMENTO PRESENCIAL

As operadoras de médio e grande porte (exceto operadoras exclusivamente odontológicas,
filantrópicas e autogestões) devem disponibilizar unidade de atendimento presencial funcionando
em horário comercial durante os dias úteis nas capitais dos estados ou regiões de maior atuação
dos planos.
2 – ATENDIMENTO TELEFÔNICO
As operadoras de grande porte (mais de 100 mil beneficiários) deverão oferecer atendimento
telefônico ao consumidor durante 24h, sete dias por semana. Para operadoras de pequeno e
médio porte, exclusivamente odontológicas e filantrópicas, o atendimento telefônico deve ser
feito em horário comercial durante os dias úteis.
3 – PROTOCOLO DE ATENDIMENTO
A operadora deve fornecer número de protocolo no início do atendimento ou logo que o atendente
identifique tratar-se de demanda que envolva cobertura assistencial.

(Como era:

A RN 319/2013 exige que a operadora forneça ao beneficiário
número de protocolo gerado por seus serviços de atendimento
ao consumidor apenas nos casos de negativa de autorização de
procedimentos solicitados.)

4 – PRAZO PARA RESPOSTA ÀS SOLICITAÇÕES DE ATENDIMENTO

A norma estabelece prazo para que a operadora dê a resposta sobre a solicitação de procedimento ou
serviço apresentada pelo consumidor (quando não for possível fornecer resposta imediata); em qualquer
hipótese, o atendimento às solicitações de procedimentos ou serviços de cobertura assistencial deve ser
concluído dentro dos prazos máximos estabelecidos pela ANS (previstos pela RN nº 259/2011).
Como era:
A normativa existente (RN n° 319/2013) determina que “para
atendimento ao beneficiário, deverão ser obedecidos os prazos
máximos dispostos na RN nº 259/2011”, apenas nos casos em que
haja negativa de autorização de procedimentos solicitados. A RN nº
319 estabelece prazo de 48 horas para apresentação de resposta
ao beneficiário em caso de negativa de autorização do
procedimento solicitado, sem estabelecer, contudo, em que prazo a
resposta inicial deve ser dada.
5 – NEGATIVA DE ATENDIMENTO
Quando a operadora negar o procedimento ou serviço, deverá informar detalhadamente ao
beneficiário o motivo da negativa, indicando a cláusula do contrato ou dispositivo legal que
justifique; o beneficiário pode pedir o envio dessas informações por escrito no prazo máximo de
24h; o beneficiário também poderá requerer nova análise da sua solicitação e, se a operadora
dificultar ou tentar impedir essa reanálise, será configurada infração.
Como era:
Quanto à informação a ser prestada em caso de negativa de cobertura, a norma vigente
(RN nº 319) estabelece que quando houver qualquer negativa de autorização de
procedimentos, a operadora deverá informar ao beneficiário no prazo máximo de 48
horas contados da negativa, o motivo da negativa de autorização do procedimento,
indicando a cláusula contratual ou o dispositivo legal que a justifique.
Quanto ao pedido por escrito, a RN n° 319/2013 diz que uma vez cientificado da
negativa, o beneficiário poderá solicitar que as informações prestadas na resposta sejam
esclarecidas, por correspondência ou por meio eletrônico, conforme sua escolha, e o
encaminhamento da resposta por escrito deverá observar o prazo máximo de 48 horas.
Quanto ao pedido de reanálise, não há medida similar nos normativos editados pela ANS.
6 – MULTA
A RN estabelece multa de R$ 30 mil para a operadora que não observar as regras dispostas na
normativa. E caso a infração venha a se configurar em negativa de cobertura, também será aplicada
multa, em valores que vão de R$ 80 mil a R$ 100 mil.
Resolução Normativa nº 395
Entenda as mudanças
1 – ATENDIMENTO PRESENCIAL
2 – ATENDIMENTO TELEFÔNICO
3 – PROTOCOLO DE ATENDIMENTO
4 – PRAZO PARA RESPOSTA ÀS SOLICITAÇÕES DE ATENDIMENTO
5 – NEGATIVA DE ATENDIMENTO
6 – MULTA
As operadoras de médio e grande porte (exceto operadoras exclusivamente odontológicas,
filantrópicas e autogestões) devem disponibilizar unidade de atendimento presencial funcionando
em horário comercial durante os dias úteis nas capitais dos estados ou regiões de maior atuação
dos planos.
Como era:
Não havia norma vigente
obrigando as operadoras a
fornecerem canal de atendimento
presencial aos beneficiários.
A RN estabelece multa de R$ 30 mil para a operadora que não observar as regras dispostas na
normativa. E caso a infração venha a se configurar em negativa de cobertura, também será aplicada
multa, em valores que vão de R$ 80 mil a R$ 100 mil.

Oracle PL/SQL MAX Function

Exemplo prático;

Criando a tabela de funcionário.

<pre lang="sql" escaped="true">
create table FUNCIONARIO

(
NM_FUNCIONARIO VARCHAR2(150),
NR_CHAPA       NUMBER,
DT_CONTRATACAO DATE
)

</pre>

 

oracle_max_tb_funcionario

Exemplo de uso da função max para obter o maior número de chapa.

max

Tabela onde está os valores  salários e competências

<pre lang=’sql’ line=’1′>

create table BENTO.FUNC_SALARIO
(
DT_COMPETENCIA     DATE,
DT_INICIO_VIGENCIA DATE,
DT_FIM_VIGENCIA    DATE,
NR_CHAPA           NUMBER,
VL_SALARIO         NUMBER(15,2)
)

</pre>

 

max_salario

Imaginando uma situação onde é necessário demonstrar o salário em vigência atual.

<pre lang=’sql’ line=’1′>

select
a.NM_FUNCIONARIO
, a.nr_chapa
, b.VL_SALARIO
from
bento.funcionario a
, bento.func_salario b
where a.nr_chapa = b.NR_CHAPA
and b.dt_competencia = ( select max(c.DT_COMPETENCIA)
from bento.func_salario c
where c.NR_CHAPA  = b.nr_chapa
)

</pre>

 

max-maior-salario Situação onde é necessário demonstrar o valor de salário atual e o salário anterior.

valor-salario-anteior