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 →

MySQL – SELECT COUNT() GROUP BY date (data_format)

Fazendo uma consulta com count em campo do tipo (date)

1
2
3
4
5
6
7
SELECT
COUNT(*) AS qt_acesso_dia
,DATE_FORMAT(a.DT_ACESSO,'%d/%m/%Y') AS dt_acesso
FROM
contador_acesso a
GROUP BY DATE_FORMAT(a.DT_ACESSO,'%d/%m/%Y')
ORDER BY 2

Resultado:

Fazendo uma consulta com count em campo do tipo (date)

1
 

Como resolver o Erro DataExchange.dll (Windows 10)

Como substituir manualmente um arquivo de sistema corrompido por uma cópia conhecida em bom estado

Olá, irei ensinar como resolver o erro DataExchange.dll que aparece no windows 10

Meu computador começou a apresentar este erro, de uma hora pra outra, e ficou quase 1 semana me atrapalhando(haha), até que algumas das funcionalidades do Windows pararam de funcionar, menu iniciar, minimizar as janelas, copiar atalhos, aumentar e diminuir o volume, abrir fotos, calculadora, notepad, mover arquivos arrastando e outros problemas relacionados. Pensei que teria que formatar meu computador, pois fiz alguns testes de correção com aplicativos de DLL e outros recursos (limpeza registro), e nada resolveu. Então comecei a pesquisar como funcionava o processo de reparação do Windows, eis que encontrei uma opção de solução no site da Microsoft e adaptei ao que precisava, substituir a DLL DataExchange.dll, causadora de problemas.

Obs.: Não consegui descobrir de fato a causa, mas suspeito que seja devido a atualização de algum drive(Vídeo/Áudio) e que também esteja relacionado ao direct-X, e aplicativo da AMD CCC.exe (AMD Catalyst) e ao framework da Microsoft visual c + + XXXX redistributable package x64, devido aos erros que ocorreram.

 

-Primeiramente eu removi o driver de vídeo e reinstalei, em seguida atualizei o programa (AMD Catalyst(CCC.exe)) para a versão mais recente, direto no site da AMD(http://support.amd.com/pt-br/download/auto-detect-tool)

Após a instalação pediu para reiniciar o computador, e quando liguei novamente o erro(CCC.exe / DataExchange.dll)  já diminuiu, mas não totalmente.

Vamos agora a solução que apliquei e foi definitiva;

-Antes de começar você irá precisar de acesso a outro computador com a mesma versão do Windows, no meu caso foi a versão (Windows 10 64 bits), pois irá copiar a nova DLL para substituir a anterior com problema.

Se você tentar usar os comandos de copiar e colar não irá funcionar, pois o Windows precisa da DLL para funcionar.

Então basicamente iremos atribuir permissão ao arquivo.

 

1º Passo – Abra o Command para atribuir permissão ao arquivo, e execute o comando abaixo

Read More →

1 passo é baixar o programa

https://www.r-project.org/
https://vps.fmvz.usp.br/CRAN/bin/windows/base/

Segue os links para download conforme o sistema operacional.

Após acessar o site e clicar em Download, selecione um servidor para download, em seguida, clique em base

Na sequencia faça o download.

A instalação é bem simples, Avançar, Aceitar os termos, Selecionar o diretório, Componentes e concluir.

Read More →

Obtendo endereço IP usando a consulta do MySQL

Para obter o IP através de uma consulta do MySQL, basta rodar o comando abaixo.

SELECT host
FROM information_schema.processlist
WHERE ID = connection_id( )
LIMIT 0 , 10

Executando a partir do PHP My Admin, provavelmente irá obter o resultado 
como "Localhost", pois está executando diretamente no servidor.


Resultado a partir do meu computador, conectando remotamente no server.

Zebra GC420 – Resolver problema problema impressão sem Ribbon

Um problema comum em impressoras Zebra (quando não imprime corretamente, e Led fica piscando, ou para de imprimir), ocorre geralmente quando você está usando Ribbon e passa a usar a impressão térmica direta na etiqueta.

Para corrigir o problema você precisa alterar o tipo de impressão, em propriedades da impressora/Advance Setup, conforme a imagem abaixo, aplicar e confirmar a alteração clicando em Ok.

Em seguida, clique na aba Tools(Ferramentas), selecione a opção (Load factory defaults), e clique em (send),  para enviar comando de reset (default da impressora).

Pronto, após estes 2 passos você poderá imprimir normalmente, caso o erro ainda persista faça o procedimento acima outra vez, mas desligando/ligando a impressora antes de imprimir.

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: