php artisan migrate

[Illuminate\Database\QueryException] SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes (SQL: alter table users add unique users_email_unique(email))

Este erro ocorre devido a capacidade de armazenamento do engine (charset) do banco de dados;

Inclua a linha $table->engine = ‘InnoDB’; nos arquivos [migrations] para evitar o erro.

Caso queira manter como MyISAM edite o arquivo Builder.php, conforme descrito abaixo.

Correção rápida: Edite o arquivo; vendor\laravel\framework\src\Illuminate\Database\Schema\Builder.php

Alterando a variável $ defaultStringLength = 255;, para $defaultStringLength = 250;. Conforme o exemplo abaixo;

Exemplo:
public static $defaultStringLength = 255;

public static $defaultStringLength = 250;

Programação ZPL II – Modelo de Etiqueta com QR Code (Zebra GC 420)

^XA~TA000~JSN^LT0^MNW^MTT^PON^PMN^LH0,0^JMA^PR5,5~SD15^JUS^LRN^CI0^XZ
^XA
^MMT
^PW719
^LL0240
^LS0
^FT634,192^BQN,2,3
^FH\^FDMA,&idade^FS
^FT16,78^A0N,34,38^FH\^FD&nm_completo^FS
^FT17,168^A0N,34,28^FH\^FDEndereço: &endereco^FS
^FT17,214^A0N,25,24^FH\^FDComplemento: &complemento^FS
^FT16,120^A0N,34,33^FH\^FDIdade.: &idade^FS
^FT643,218^A0N,25,26^FH\^FD&idade^FS
^FT273,39^A0N,34,36^FH\^FDidentica_empresa^FS
^FT574,101^A0N,28,28^FH\^FDCidade: &nm_cidade^FS
^FT418,112^A0N,28,28^FH\^FDDt. Nasc.: ^FS
^FT418,146^A0N,28,28^FH\^FD&Idade^FS
^PQ1,0,1,Y^XZ

Aprenda também como fazer um Pulsei para impressão na Zebra HC 100

POST Atualizado 09/2020


Vou fazer um artigo no qual recebo várias perguntas: Como gerar arquivos XML no padrão TISS da ANS.  Vou demonstrar usando PHP e API DOM nesta primeira parte e futuramente complementarei com dados a partir de banco de dados MySQL.

O padrão TISS é determinado pela ANS, você poderá consultar outras informações do padrão TISS no site da Agência Nacional de Saúde.

Para seguir, é necessário ter noções básicas da linguagem PHP.

Obs.: Não vou ensinar como desenvolver um sistema com a finalidade de faturamento, apenas o passo a passo da geração do XML no padrão TISS usando o PHP e a biblioteca DOM.

Basicamente o faturamento dos atendimentos/contas, consiste no atendimento do beneficiário pelo prestador(clínica, hospital, laboratório, banco de sangue, clínicas de imagem, entre outros), que é credenciado as operadoras de saúde (Bradesco Saúde, Unimed, Postal Saúde, Geap, Cassi, Capesp, Saúde Itaú, Sul América,…).

O envio do faturamento é feito por lotes(vários atendimentos no mesmo lote, geralmente até 100 atendimentos no mesmo lote) e pode ser via portal da Operadora por digitação das contas (quando a mesma oferece o recurso) ou a partir do envio de arquivos XML. E cada operadora permite e aceita o envio até uma data limite de cada mês(competência), por exemplo; a operadora XYZ aceita que o envio seja feito até o dia 20, e fará o pagamento até o dia 19 do mês subsequente(30 dias após o envio). Desta forma os prestadores precisam ficar atentos ao cumprimento de envio nas datas certas para receber no prazo, caso contrário o pagamento pela operadora é feito na próxima competência.

A geração do XML consiste em dados dos pilares: Operadora de Saúde <-> Prestador de Serviços <-> Beneficiários/Segurados,  ou seja, precisamos das informações de credenciamento do prestador de saúde,  dados do prestador e do segurado. Abaixo uma exemplificação dos dados;

Dados da operadora:
Registro ANS: 1111
Versão TISS: 03.03.03

Dados do Prestador:
Código de Credenciamento: 12345
CNPJ: 00.000.000/0000-0 (Fictício)

Dados de faturamento:
Número da remessa/fatura/Lote: 123

Dados do atendimento:
Data e Hora: 03/04/2018 22:15:00
Nome: Fulano de Tal
Carteira: 4444444444444444
Validade da carteira: 31/12/2030
Recém nascido: Não
Tipo de Atendimento: Ambulatorial
Caráter do atendimento: Eletivo
Guia/Senha: 1111/2222

Médico: Dr. Fabiano
CRM: 0000
CBOS:

Código da tabela: 22
Procedimento TUSS: 10101012
Descrição do Procedimento: Consulta em consultório
Valor unitário: 500,00
Valor Total:  500,00

<?php
#Definindo as variáveis

#Dados Operadora:
$_XML['versao_tiss']='030303';
$_XML['registro_ans'] = '1111';

#Dados Prestador:
$_XML['codigo_credenciamento'] = '12345';
$_XML['cnpj'] = '0000000000000';
$_XML['prestador'] = 'Hospital ABCD';

#Dados do atendimento e beneficiário
$_XML['data_hora'] = '03/04/2018 22:15:00';
$_XML['rn'] = 'N'; #Não 
$_XML['tipo_atd'] = 'Ambulatorial'; 
$_XML['carater'] = 'E'; #Eletivo 
$_XML['guia'] = '1111'; 
$_XML['senha'] = '2222'; 
$_XML['medico'] = 'Dr. Fabiano'; 
$_XML['crm'] = '0000'; 
$_XML['cbos'] = '';
#Dados do beneficiário
$_XML['nome'] = 'Fulano de Tal';
$_XML['dt_nascimento'] = '01/01/1980';
$_XML['carteira']  = '4444444444444444';
$_XML['validade'] = '31/12/2030';

#Dados da Fatura / Lote
$_XML['fatura_remessa'] = '123';

#Dados do procedimento realizado
$_XML['tabela'] = '22';
$_XML['procedimento_tuss'] = '10101012';
$_XML['descricao_proced'] = 'Consulta em consultório';
$_XML['valor_unitario'] = '500,00';
$_XML['qtde'] = '1';
$_XML['valor_total'] = '500,00';

$_XML['tipoTransacao'] = 'ENVIO_LOTE_GUIAS';
$_XML['sequencialTransacao'] = '6658';
$_XML['dataRegistroTransacao'] = '2018-01-18';
$_XML['horaRegistroTransacao'] = '10:00:00';

 # Utilize a variável $_XML['hash_dados'] para concatenar os dados e calcular o HASH antes do terceiro bloco
$_XML['hash_dados'] = '';

#A variável $_XML['hash'] está nula pois deve ser calculada com os dados dos elementos(tags) do XML
$_XML['hash'] = 'calculo do HASH';

//$_XML[''] = ''; // para criar novas variáveis apenas siga o padrão

Após a declaração das variáveis, vamos iniciar a geração da estrutura no nosso arquivo.

#versao XML e codificação
$xml = new DOMDocument("1.0", "ISO-8859-1"); 
//também poderia ser UTF-8
 
#remove os espacos em branco
$xml->preserveWhiteSpace = false;

#Realizar a quebra dos blocos do XML por linha
$xml->formatOutput = true;

		//Criação dos elementos do Namespace ans:mensagemTISS
		$xml->createAttributeNS( 'http://www.w3.org/2000/09/xmldsig#', 'ds:attr' );
		$xml->createAttributeNS( 'http://www.w3.org/2001/XMLSchema-instance', 'xsi:attr' );
		$xml->createAttributeNS( 'http://www.ans.gov.br/padroes/tiss/schemas http://www.ans.gov.br/padroes/tiss/schemas/tissV3_03_01.xsd', 'schemaLocation:attr' );
		$xml->createAttributeNS( 'http://www.ans.gov.br/padroes/tiss/schemas', 'ans:attr' );
        
        
// Nó / Bloco Principal
// ans:mensagemTISS
$mensagemTISS = $xml->createElement("ans:mensagemTISS");
$xml->appendChild($mensagemTISS);

	/* primeiro bloco */
	// ans:mensagemTISS / ans:cabecalho
	$cabecalho = $xml->createElement("ans:cabecalho");
	$mensagemTISS->appendChild($cabecalho);
	
	
		// ans:mensagemTISS / ans:cabecalho / ans:identificacaoTransacao
		$identificacaoTransacao = $xml->createElement("ans:identificacaoTransacao");
		$cabecalho->appendChild($identificacaoTransacao);
		
				# ans:tipoTransacao
				$tipoTransacao = $xml->createElement("ans:tipoTransacao", $_XML['tipoTransacao']);
				$identificacaoTransacao->appendChild($tipoTransacao);
				
				#sequencialTransacao
				$sequencialTransacao = $xml->createElement("ans:sequencialTransacao", $_XML['sequencialTransacao']);
				$identificacaoTransacao->appendChild($sequencialTransacao);

				#dataRegistroTransacao
				$dataRegistroTransacao = $xml->createElement("ans:dataRegistroTransacao", $_XML['dataRegistroTransacao']);
				$identificacaoTransacao->appendChild($dataRegistroTransacao);

				#horaRegistroTransacao
				$horaRegistroTransacao = $xml->createElement("ans:horaRegistroTransacao", $_XML['horaRegistroTransacao']);
				$identificacaoTransacao->appendChild($horaRegistroTransacao);
			
		
		// ans:mensagemTISS / ans:cabecalho / ans:origem
		$origem = $xml->createElement("ans:origem");
		$cabecalho->appendChild($origem);
		
				// ans:mensagemTISS / ans:cabecalho / ans:origem / identificacaoPrestador
				$identificacaoPrestador = $xml->createElement("ans:identificacaoPrestador", $_XML['cnpj']);
				$origem->appendChild($identificacaoPrestador);
				
		
		// ans:mensagemTISS / ans:cabecalho / ans:destino
		$destino = $xml->createElement("ans:destino");
		$cabecalho->appendChild($destino);
		
				// ans:mensagemTISS / ans:cabecalho / ans:registroANS
				$registroANS = $xml->createElement("ans:registroANS", $_XML['registro_ans']);
				$destino->appendChild($registroANS);
		
		// ans:mensagemTISS / ans:cabecalho / ans:Padrao
		$Padrao = $xml->createElement("ans:Padrao", $_XML['padrao_tiss']);
		$cabecalho->appendChild($Padrao);
	
	
	/* segundo bloco */
	// ans:mensagemTISS / ans:prestadorParaOperadora
	$prestadorParaOperadora = $xml->createElement("ans:prestadorParaOperadora");
	$mensagemTISS->appendChild($prestadorParaOperadora);
	
		// ans:mensagemTISS / ans:prestadorParaOperadora / loteGuias
		$loteGuias = $xml->createElement("ans:loteGuias");
		$prestadorParaOperadora->appendChild($loteGuias);		

			// ans:mensagemTISS / ans:prestadorParaOperadora / loteGuias / numeroLote
			$numeroLote = $xml->createElement("ans:numeroLote", $_XML['lote_remessa']);
			$loteGuias->appendChild($numeroLote);	
 
 			// ans:mensagemTISS / ans:prestadorParaOperadora / loteGuias / guiasTISS
			$guiasTISS = $xml->createElement("ans:guiasTISS");
			$loteGuias->appendChild($guiasTISS);	

// ans:mensagemTISS / ans:prestadorParaOperadora / loteGuias / guiaConsulta
$guiaConsulta = $xml->createElement("ans:guiaConsulta");
$loteGuias->appendChild($guiaConsulta);

// ans:mensagemTISS / ans:prestadorParaOperadora / loteGuias / cabecalhoConsulta
$cabecalhoConsulta = $xml->createElement("ans:cabecalhoConsulta");
$guiaConsulta->appendChild($cabecalhoConsulta);

$registroANS = $xml->createElement("ans:registroANS", '132'); //registroANS
$cabecalhoConsulta->appendChild($registroANS);

$registroANS = $xml->createElement("ans:numeroGuiaPrestador", '1111'); //numeroGuiaPrestador
$cabecalhoConsulta->appendChild($registroANS);

$numeroGuiaOperadora = $xml->createElement("ans:numeroGuiaOperadora", '2222'); //numeroGuiaOperadora
$guiaConsulta->appendChild($numeroGuiaOperadora);

$dadosBeneficiario = $xml->createElement("ans:dadosBeneficiario"); //dadosBeneficiario
$guiaConsulta->appendChild($dadosBeneficiario);

$numeroCarteira = $xml->createElement("ans:numeroCarteira", '1122334455'); //numeroCarteira
$dadosBeneficiario->appendChild($numeroCarteira);

$atendimentoRN = $xml->createElement("ans:atendimentoRN", 'N'); //atendimentoRN
$dadosBeneficiario->appendChild($atendimentoRN);

$nomeBeneficiario = $xml->createElement("ans:nomeBeneficiario", 'Fulano de Tal'); //nomeBeneficiario
$dadosBeneficiario->appendChild($nomeBeneficiario);

//contratadoExecutante
$contratadoExecutante = $xml->createElement("ans:contratadoExecutante");
$guiaConsulta->appendChild($contratadoExecutante);


$codigoPrestadorNaOperadora = $xml->createElement("ans:codigoPrestadorNaOperadora", '001'); //codigoPrestadorNaOperadora
$contratadoExecutante->appendChild($codigoPrestadorNaOperadora);

$nomeContratado = $xml->createElement("ans:nomeContratado", 'Hospital Teste'); //nomeContratado
$contratadoExecutante->appendChild($nomeContratado);

$CNES = $xml->createElement("ans:CNES", '9999'); //CNES
$contratadoExecutante->appendChild($CNES);

//profissionalExecutante
$profissionalExecutante = $xml->createElement("ans:profissionalExecutante"); //profissionalExecutante
$guiaConsulta->appendChild($profissionalExecutante);

$nomeProfissional = $xml->createElement("ans:nomeProfissional", 'Médico Teste'); //nomeProfissional
$profissionalExecutante->appendChild($nomeProfissional);

$conselhoProfissional = $xml->createElement("ans:conselhoProfissional", '02'); //conselhoProfissional
$profissionalExecutante->appendChild($conselhoProfissional);

$numeroConselhoProfissional = $xml->createElement("ans:numeroConselhoProfissional", '1234'); //numeroConselhoProfissional
$profissionalExecutante->appendChild($numeroConselhoProfissional);

$UF = $xml->createElement("ans:UF", 'SP'); //UF
$profissionalExecutante->appendChild($UF);

$CBOS = $xml->createElement("ans:CBOS", '201115'); //CBOS
$profissionalExecutante->appendChild($CBOS);

//dadosAtendimento
$dadosAtendimento = $xml->createElement("ans:dadosAtendimento"); //dadosAtendimento
$guiaConsulta->appendChild($dadosAtendimento);

$tipoAtendimento = $xml->createElement("ans:tipoAtendimento", '05'); //tipoAtendimento
$dadosAtendimento->appendChild($tipoAtendimento);

$indicacaoAcidente = $xml->createElement("ans:indicacaoAcidente", '9'); //indicacaoAcidente
$dadosAtendimento->appendChild($indicacaoAcidente);


// Calculo o Hash - Você poderia gerar os dados, usar um (replace do PHP) para substituir as tags, e pegar apenas os dados
$_XML['hash_dados'] = '' 
$_XML['hash'] = md5($_XML['hash_dados']);	

	/* terceiro bloco */
	// ans:mensagemTISS / ans:epilogo
	$epilogo = $xml->createElement("ans:epilogo");
	$mensagemTISS->appendChild($epilogo);
	
		// ans:mensagemTISS / ans:epilogo / ans:hash
		$hash = $xml->createElement("ans:hash", $_XML['hash']);
		$epilogo->appendChild($hash);	

# Comando para salvar/gerar o arquivo XML TISS
# Geralmente o nome do arquivo é o HASH que foi calculado ou número do lote, pois são informações únicas.
# você pode usar as variáveis: $_XML['fatura_remessa'] . $_XML['hash']

$xml->save("xml_tiss.xml");


# Imprime / Gera o xml em tela
echo $xml->saveXML();
?>

Com o comando acima você terá o seguinte retorno: xml_tiss.xml

<?xml version="1.0" encoding="ISO-8859-1"?>
<ans:mensagemTISS xmlns:ds="http://www.w3.org/2000/09/xmldsig#" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:schemaLocation="http://www.ans.gov.br/padroes/tiss/schemas http://www.ans.gov.br/padroes/tiss/schemas/tissV3_03_01.xsd" 
xmlns:ans="http://www.ans.gov.br/padroes/tiss/schemas">
 <ans:cabecalho>
 <ans:identificacaoTransacao>
 <ans:tipoTransacao>ENVIO_LOTE_GUIAS</ans:tipoTransacao>
 <ans:sequencialTransacao>6658</ans:sequencialTransacao>
 <ans:dataRegistroTransacao>2018-01-18</ans:dataRegistroTransacao>
 <ans:horaRegistroTransacao>10:00:00</ans:horaRegistroTransacao>
 </ans:identificacaoTransacao>
 <ans:origem>
 <ans:identificacaoPrestador>0000000000000</ans:identificacaoPrestador>
 </ans:origem>
 <ans:destino>
 <ans:registroANS>111111</ans:registroANS>
 </ans:destino>
 <ans:Padrao>03.03.03</ans:Padrao>
 </ans:cabecalho>
 <ans:prestadorParaOperadora>
 <ans:loteGuias>
 <ans:numeroLote>123</ans:numeroLote>
 <ans:guiasTISS/>
 </ans:loteGuias>
 </ans:prestadorParaOperadora>
 <ans:epilogo>
 <ans:hash>calculo do HASH</ans:hash>
 </ans:epilogo>
</ans:mensagemTISS>

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 →

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

 

Olá, vou demonstrar como resolver o problema ao iniciar o banco de dados JavaDB no netbeans, o serviço fica carregando mas não inicia.

Após abrir o Netbeans, vá na guia serviços e abra a opção propriedades do banco.

O Java DB fica dentro da pasta do Glassfish (C:\Program Files\glassfish-4.1.1\javadb), mas o local apontado pelo netbeans está errado, então é necessário alterar informando o local correto.

Em seguida clique com o botão direito e selecione a opção Iniciar Banco de Dados

Pronto! você já poderá usar o banco de dados.

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!

Programação 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

Participei da implantação de sistema em uma Operadora de Plano de Saúde, e fiquei com foco na área comercial de vendas,  irei descrever o cenário encontrado e sugerido.

O Objetivo deste artigo, é descrever o processo comercial da equipe de (VENDAS DE PLANO DE SAÚDE) , no qual irei descrever o cenário atual, visando a sugestão de melhoria continua a partir do monitoramento das atividades do canal. Pois com a implantação do novo sistema em andamento será possível o monitoramento das atividades.

O processo comercial inicia-se com a intenção de venda dos serviços de plano de saúde para o atendimento na cidade (nome) e região, tendo como captação o marketing direto ou por almejo da necessidade do cliente. Os serviços são classificados em, plano individual/familiar, empresarial ou coletivo, apresentando diferença no preço com base na faixa de idade na qual o cliente se enquadra, e se é um plano do tipo enfermaria ou privativo além da forma de contratação de coo-participação e coberturas extras.

PROCESSO ATUAL

No processo atual os vendedores realizam o atendimento de forma presencial junto aos clientes, ou por telefone com a coleta de dados básicos e repasse de informações com base nos dados coletados. Porém sem o registro dos atendimentos, impossibilitando o controle da perspectiva de possíveis conversões do atendimento a uma venda real.

O processo atual ainda não tem uma definição do fluxo, conflitando com a aderência ao sistema. Após uma rápida análise, podemos iniciar apresentando algumas questões que devemos sugerir para que a implantação de vendas seja concretizada com sucesso, evitando a necessidade de readequação futura ou uso indevido do sistema por inviabilidade operacional e técnica da execução atual, e até a perda de tempo em treinamentos desnecessários.
Custos (Transporte/combustível, Telefone e comissão)

A inviabilidade técnica se da ao fato da necessidade de aquisição de equipamentos (notebooks, modens para conexão remota), e que levando em conta os custos para a aquisição e retorno de investimento não são atraentes.

SUGESTÃO PARA NOVO PROCESSO

Para se obter o controle de vendas, a área Comercial deve realizar o registro das informações de prospecção de clientes em potencial, desta forma é possível criar um planejamento com a classificação de clientes, data de visitas, regiões da cidade. Permitindo mensurar o tempo e custos de conversão para a tomada de decisão.

Desta forma o processo inicia de duas formas, o cliente entra em contato(presencial/telefone) ou é realizado um levantamento e registro de pessoas/empresas a serem visitadas.

Já na coleta de dados é essencial que obtenha e registre alguns dados como; Quantidade de integrantes da família ou empresa, média de idade, nome do representante da empresa, endereço, se já possui algum plano atual (se sim, qual?, quanto tempo?)

Classificação de clientes:

Pessoa física/Familiar: (Profissão) Empresários, Advogados, Engenheiros….

Tipos de empresas: Supermercados, Lava jato, Curtumes, Varejão, Oficinas, São de Beleza, Gráficas, Agências de Turismo

A importância do entendimento e correta classificação agiliza o processo pois a equipe de vendas é divida em Plano Pessoa Física/Familiar e Empresarial.

Após esses dados os vendedores são informados, sobre os possíveis clientes que deverão visitar para conversão em captação, caso necessário no atendimento o vendedor coleta informações mais detalhadas ou faltantes no contato inicial, elabora uma proposta e apresenta para o cliente que pode ser realizado a partir de fichas/formulários agilizando o processo já que o valores são tabelados facilitando o cálculo a ser apresentado, que posteriormente deverá ser registrado em sistema como uma prospecção em andamento (pode ser incluída pelo próprio vendedor quando retorna a base de operações ou pelo responsável pelo apoio e conferência de documentação), já no atendimento presencial a informação deverá ser registrada durante o atendimento e impresso os formulários diretamente pelo sistema.

Já com base nestes dados iniciais é possível controlar as visitas, prospecções de novos clientes em andamento, e conversões das vendas e cancelamentos.

E no processo de adesão pelo cliente, deverá ser obtido novos dados sendo; cópia de documentos pessoais, segurados dependentes, a realização da entrevista qualificada e a cobrança da primeira parcela e assim a efetivação do cliente para estar apto a ser atendido pela rede credenciada.

LEAD

PROSPECT

SIMULAÇÃO DE PREÇO

PROPOSTA DE ADESÃO

INCLUSÃO DOS SEGURADOS/BENEFICIÁRIOS