...
O extrator HAT_SETUP.jar não é preparado para ser executado em ambientes Linux sem interface gráfica, mas é possível utiliza-lo através de linha de comando.
Para o processo de utilização em ambiente Linux é necessário ter um conhecimento básico de comandos no ambiente linux.
O arquivo será disponibilizado pela equipe do TOTVS Saúde Portal Autorizador.
...
IMPORTANTE: TODOS OS COMANDOS DEVE SER EXECUTADOS COM UM USUÁRIO COM PERMISSÃO ROOT
O primeiro passo é criar as views que serão utilizadas na extração de dados, como não é possível executar o HAT_SETUP.jar a criação dessas views deve ser feita manualmente. As views estão contidas na pasta do ETL_LINUX, dentro de bin\agent\scripts.
Dentro da pasta temos os scripts para os bancos de dados MSSQL, Oracle e Postgres. Utilize os scripts referente a base de dados que será utilizado.
As views devem ser criadas no seguinte padrão:
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
CREATE VIEW NOME_DO_ARQUIVO AS
script_do_arquivo
-- Exemplo
CREATE VIEW HAT_LOAD_BA0 AS
SELECT
BA0_CODIDE AS CodigoIdentificacaoEmpresa,
BA0_CODINT AS CodigoOperadora,
BA0_NOMINT AS Operadora,
BA0_SUSEP AS NumeroRegistroANS,
BA0_END AS Endereco,
BA0_LOJA AS CodigoLoja,
BA0_CODCLI AS CodigoCliente,
BA0_ABRANG AS Abrangencia
FROM BA0010
WHERE D_E_L_E_T_ = ' ' |
O próximo passo é preparar o arquivo config.properties para que ele conecte no banco de dados, realize a extração dos dados e envie para que seja feita a importação pelo Mirth.
...
É preciso alterar a permissão dos arquivos agent-healthcare.jar e config.properties para que ele tenha permissão de execução pelo agendamento no crontab.
Acesse a pasta bin/agent dentro da pasta ETL_LINUX, digite os comandos:
chmod +x agent-healthcare.jar
chmod +x config.properties
O próximo passo é preparar o arquivo config.properties para que ele conecte no banco de dados, realize a extração dos dados e envie para que seja feita a importação pelo Mirth.
O arquivo está na pasta do ETL_LINUX, dentro de bin/agent/.
Para que os dados sejam importados corretamente na base do TOTVS Saúde Portal Autorizador é necessário editar os valores das chaves:
registroAnsOperadora: Preencher com o registro ANS da operadora
jdbc.url: Preencher com os dados de IP, porta e nome do banco de dados
jdbc.username: Preencher com o nome de usuário com acesso as views.
jdbc.password: Preencher com a senha do usuário com acesso as views.
Informações | ||
---|---|---|
| ||
Caso tenha informado um alias para as views não esqueça de incluir o alias no nome das views. Na chave Views que serao extraidas altere o nome das views para que fique conforme esse exemplo: data.HAT_LOAD_BA1_ALIAS_QUE_FOI_INFORMADO.sql=select * from HAT_LOAD_BA1_ALIAS_QUE_FOI_INFORMADO |
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
################################################
### Propriedades da operadora ###
################################################
registroAnsOperadora=REGISTRO_ANS_OPERADORA
################################################
### Configuracao de conexao mssql
################################################
jdbc.driver_path=jdbc/sqljdbc4.jar
jdbc.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc.url=jdbc:sqlserver://IPBancoDeDados:1433;DatabaseName=NomeBancoDeDados
jdbc.username=UsuarioBD
jdbc.password=SenhaBD
################################################
### Views que serao extraidas ###
################################################
data.HAT_LOAD_B4Q |
jdbc.url: Preencher com os dados de IP, porta e nome do banco de dados
jdbc.username: Preencher com o nome de usuário com acesso as views.
jdbc.password: Preencher com a senha do usuário com acesso as views.
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
################################################ ### Propriedades da operadora ### ################################################ registroAnsOperadora=REGISTRO_ANS_OPERADORA ################################################ ### Configuracao de conexao mssql ################################################ jdbc.driver_path=jdbc/sqljdbc4.jar jdbc.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver jdbc.url=jdbc:sqlserver://IPBancoDeDados:1433;DatabaseName=NomeBancoDeDados jdbc.username=UsuarioBD jdbc.password=SenhaBD ################################################ ### Views que serao extraidas ### ################################################ data.HAT_LOAD_B06.sql=select * from HAT_LOAD_B06 data.HAT_LOAD_B26.sql=select * from HAT_LOAD_B26 data.HAT_LOAD_BA0.sql=select * from HAT_LOAD_BA0 data.HAT_LOAD_BA1.sql=select * from HAT_LOAD_BA1 data.HAT_LOAD_BA3.sql=select * from HAT_LOAD_BA3 data.HAT_LOAD_BA6.sql=select * from HAT_LOAD_BA6 data.HAT_LOAD_BA9.sql=select * from HAT_LOAD_BA9 data.HAT_LOAD_BAN.sql=select * from HAT_LOAD_BAN data.HAT_LOAD_BAQ.sql=select * from HAT_LOAD_BAQ data.HAT_LOAD_BAU.sql=select * from HAT_LOAD_BAU data.HAT_LOAD_BAW.sql=select * from HAT_LOAD_BAW data.HAT_LOAD_BAX.sql=select * from HAT_LOAD_BAX data.HAT_LOAD_BB0.sql=select * from HAT_LOAD_BB0 data.HAT_LOAD_BB2.sql=select * from HAT_LOAD_BB2 data.HAT_LOAD_BB6.sql=select * from HAT_LOAD_BB6 data.HAT_LOAD_BB8.sql=select * from HAT_LOAD_BB8 data.HAT_LOAD_BBF.sql=select * from HAT_LOAD_BBF data.HAT_LOAD_BBI.sql=select * from HAT_LOAD_BBI data.HAT_LOAD_BBK.sql=select * from HAT_LOAD_BBK data.HAT_LOAD_BBM.sql=select * from HAT_LOAD_BBM data.HAT_LOAD_BBN.sql=select * from HAT_LOAD_BBN data.HAT_LOAD_BC0.sql=select * from HAT_LOAD_BC0 data.HAT_LOAD_BC1.sql=select * from HAT_LOAD_BC1 data.HAT_LOAD_BCT.sql=select * from HAT_LOAD_BCT data.HAT_LOAD_BDL.sql=select * from HAT_LOAD_BDL data.HAT_LOAD_BE4.sql=select * from HAT_LOAD_BE4 data.HAT_LOAD_BE6.sql=select * from HAT_LOAD_BE6 data.HAT_LOAD_BE9.sql=select * from HAT_LOAD_BE9 data.HAT_LOAD_BEA.sql=select * from HAT_LOAD_BEA data.HAT_LOAD_BF1.sql=select * from HAT_LOAD_BF1 data.HAT_LOAD_BFC.sql=select * from HAT_LOAD_BFC data.HAT_LOAD_BFD.sql=select * from HAT_LOAD_BFDB4Q data.HAT_LOAD_BFEBA0.sql=select * from HAT_LOAD_BFEBA0 data.HAT_LOAD_BFGBA1.sql=select * from HAT_LOAD_BFGBA1 data.HAT_LOAD_BFJBA3.sql=select * from HAT_LOAD_BFJBA3 data.HAT_LOAD_BFOBA9.sql=select * from HAT_LOAD_BFOBA9 data.HAT_LOAD_BFPBAQ.sql=select * from HAT_LOAD_BFPBAQ data.HAT_LOAD_BG7BAU.sql=select * from HAT_LOAD_BG7BAU data.HAT_LOAD_BG8BAX.sql=select * from HAT_LOAD_BG8BAX data.HAT_LOAD_BG9BB0.sql=select * from HAT_LOAD_BG9BB0 data.HAT_LOAD_BI3BB8.sql=select * from HAT_LOAD_BI3BB8 data.HAT_LOAD_BI6BBF.sql=select * from HAT_LOAD_BI6BBF data.HAT_LOAD_BIABC1.sql=select * from HAT_LOAD_BIABC1 data.HAT_LOAD_BJ4BCT.sql=select * from HAT_LOAD_BJ4BCT data.HAT_LOAD_BJEBEA.sql=select * from HAT_LOAD_BJEBEA data.HAT_LOAD_BLDBE4.sql=select * from HAT_LOAD_BLDBE4 data.HAT_LOAD_BLEBI3.sql=select * from HAT_LOAD_BLEBI3 data.HAT_LOAD_BQCBJE.sql=select * from HAT_LOAD_BQCBJE data.HAT_LOAD_BR4BLD.sql=select * from HAT_LOAD_BR4BLD data.HAT_LOAD_BR8BLE.sql=select * from HAT_LOAD_BR8BLE data.HAT_LOAD_BRVBQC.sql=select * from HAT_LOAD_BRVBQC data.HAT_LOAD_BT4BQV.sql=select * from HAT_LOAD_BT4BQV data.HAT_LOAD_BT5BQZ.sql=select * from HAT_LOAD_BT5BQZ data.HAT_LOAD_BT6BR8.sql=select * from HAT_LOAD_BT6BR8 data.HAT_LOAD_BT7BTQ.sql=select * from HAT_LOAD_BT7BTQ data.HAT_LOAD_BT8BTS.sql=select * from HAT_LOAD_BT8BTS data.HAT_LOAD_BTQBTU.sql=select * from HAT_LOAD_BTQBTU data.HAT_LOAD_CRIT_ATEND_BTSBEG.sql=select * from HAT_LOAD_BTSCRIT_ATEND_BEG data.HAT_LOAD_BTUCRIT_ATEND_BEL.sql=select * from HAT_LOAD_CRIT_BTUATEND_BEL data.HAT_LOAD_BVIPROC_ATEND_BE2.sql=select * from HAT_LOAD_PROC_BVIATEND_BE2 data.HAT_LOAD_PROC_BW3ATEND_BEJ.sql=select * from HAT_LOAD_PROC_ATEND_BW3BEJ data.HAT_LOAD_CidIncompativel_BAAB4A.sql=select * from HAT_LOAD_CidIncompativel_BAAB4A data.HAT_LOAD_CRIT_ATEND_BEGB4C.sql=select * from HAT_LOAD_CRIT_ATEND_BEG data.HAT_LOAD_CRIT_ATEND_BEL.sql=select * from HAT_LOAD_CRIT_ATEND_BEL data.HAT_LOAD_PROC_ATEND_BE2.sql=select * from HAT_LOAD_PROC_ATEND_BE2 data.HAT_LOAD_PROC_ATEND_BEJ.sql=select * from HAT_LOAD_PROC_ATEND_BEJ data.HAT_LOAD_REGRASCOBERTURA.sql=select * from HAT_LOAD_REGRASCOBERTURA data.HAT_LOAD_SE1.sql=select * from HAT_LOAD_SE1 data.HAT_LOAD_VINCULOSODONTO.sql=select * from HAT_LOAD_VINCULOSODONTO data.HAT_STMP_B06.sql=select * from HAT_STMP_B06 data.HAT_STMP_BA0.sql=select * from HAT_STMP_BA0 data.HAT_STMP_BA1.sql=select * from HAT_STMP_BA1 data.HAT_STMP_BA3.sql=select * from HAT_STMP_BA3 data.HAT_STMP_BA6.sql=select * from HAT_STMP_BA6 data.HAT_STMP_BA9.sql=select * from HAT_STMP_BA9 data.HAT_STMP_BAN.sql=select * from HAT_STMP_BAN data.HAT_STMP_BAQ.sql=select * from HAT_STMP_BAQ data.HAT_STMP_BAU.sql=select * from HAT_STMP_BAU data.HAT_STMP_BAW.sql=select * from HAT_STMP_BAW data.HAT_STMP_BAX.sql=select * from HAT_STMP_BAX data.HAT_STMP_BB0.sql=select * from HAT_STMP_BB0 data.HAT_STMP_BB2.sql=select * from HAT_STMP_BB2 data.HAT_STMP_BB6.sql=select * from HAT_STMP_BB6 data.HAT_STMP_BB8.sql=select * from HAT_STMP_BB8 data.HAT_STMP_BBF.sql=select * from HAT_STMP_BBF data.HAT_STMP_BBI.sql=select * from HAT_STMP_BBI data.HAT_STMP_BBK.sql=select * from HAT_STMP_BBK data.HAT_STMP_BBM.sql=select * from HAT_STMP_BBM data.HAT_STMP_BBN.sql=select * from HAT_STMP_BBN data.HAT_STMP_BC0.sql=select * from HAT_STMP_BC0 data.HAT_STMP_BC1.sql=select * from HAT_STMP_BC1 data.HAT_STMP_BCT.sql=select * from HAT_STMP_BCT data.HAT_STMP_BDL from HAT_LOAD_B4C ################################################ ### Parametros obrigatorios do Agent ### ################################################ # Credenciais do FTP gdc.unlock=FALSE gdc.uploadTrying=1 gdc.uploadSecond=1 gdc.upload_url=https://pagprostorage.blob.core.windows.net/arquivos-integracao gdc.key=P3N2PTIwMTctMTEtMDkmc3M9YiZzcnQ9c2NvJnNwPXJ3ZGxhJnNlPTIwMzAtMTItMDJUMjM6NDQ6MzFaJnN0PTIwMTgtMDgtMjBUMTY6NDQ6MzFaJnNwcj1odHRwcyZzaWc9YXpLR3JITkdGbDBYNWwzd3BGRE1yNnUxV3JGdE5lOElUYkRmVzd2ZmNobyUzRA== gdc.blob_type=BlockBlob gdc.upload_archive=Integracao_HAT-${yyyyMMddHHmmss}.zip gdc.upload_manifest=manifest-${yyyyMMddHHmmss}.txt # Parametro responsavel por verificar se sera utilizado criptografia de senhas. gdc.crypto=FALSE # Backup gdc.backup=TRUE |
O próximo passo é extrair os dados da base de dados utilizando o agent-healthcare.jar.
Acesse a pasta bin/agent dentro da pasta ETL_LINUX onde o arquivo agent-healthcare.jar está localizado e execute o comando java -jar agent-healthcare.jar. Ele irá conectar no banco de dados e realizar a extração.
Após realizarmos a extração de dados para a carga inicial precisamos configurar o agendamento para a integração de dados do TOTVS Protheus para o TOTVS Saúde Portal Autorizador. Para isso precisamos editar o arquivo config.properties removendo as views que começam com HAT_LOAD_... da chave Views que serao extraidas, deixando somente as que iniciem com HAT_STMP_...
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
################################################ ### Propriedades da operadora ### ################################################ registroAnsOperadora=REGISTRO_ANS_OPERADORA ################################################ ### Configuracao de conexao mssql ################################################ jdbc.driver_path=jdbc/sqljdbc4.jar jdbc.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver jdbc.url=jdbc:sqlserver://IPBancoDeDados:1433;DatabaseName=NomeBancoDeDados jdbc.username=UsuarioBD jdbc.password=SenhaBD ################################################ ### Views que serao extraidas ### ################################################ data.HAT_STMP_B4Q.sql=select * from HAT_STMP_BDLB4Q data.HAT_STMP_BE4BA0.sql=select * from HAT_STMP_BE4BA0 data.HAT_STMP_BE6BA1.sql=select * from HAT_STMP_BE6BA1 data.HAT_STMP_BE9BA3.sql=select * from HAT_STMP_BE9BA3 data.HAT_STMP_BEABA9.sql=select * from HAT_STMP_BEABA9 data.HAT_STMP_BF1BAQ.sql=select * from HAT_STMP_BF1BAQ data.HAT_STMP_BFCBAU.sql=select * from HAT_STMP_BFCBAU data.HAT_STMP_BFDBAX.sql=select * from HAT_STMP_BFDBAX data.HAT_STMP_BFEBB0.sql=select * from HAT_STMP_BFEBB0 data.HAT_STMP_BFGBB8.sql=select * from HAT_STMP_BFGBB8 data.HAT_STMP_BFJBBF.sql=select * from HAT_STMP_BFJBBF data.HAT_STMP_BFOBC1.sql=select * from HAT_STMP_BFOBC1 data.HAT_STMP_BFPBCT.sql=select * from HAT_STMP_BFPBCT data.HAT_STMP_BG7BEA.sql=select * from HAT_STMP_BG7BEA data.HAT_STMP_BG8BE4.sql=select * from HAT_STMP_BG8BE4 data.HAT_STMP_BG9BI3.sql=select * from HAT_STMP_BG9BI3 data.HAT_STMP_BI3BJE.sql=select * from HAT_STMP_BI3BJE data.HAT_STMP_BI6BLD.sql=select * from HAT_STMP_BI6BLD data.HAT_STMP_BIABLE.sql=select * from HAT_STMP_BIABLE data.HAT_STMP_BJ4BQC.sql=select * from HAT_STMP_BJ4BQC data.HAT_STMP_BJEBQV.sql=select * from HAT_STMP_BJEBQV data.HAT_STMP_BLDBQZ.sql=select * from HAT_STMP_BLDBQZ data.HAT_STMP_BLEBR8.sql=select * from HAT_STMP_BLEBR8 data.HAT_STMP_BQCBTQ.sql=select * from HAT_STMP_BQCBTQ data.HAT_STMP_BR4BTS.sql=select * from HAT_STMP_BR4BTS data.HAT_STMP_BR8BTU.sql=select * from HAT_STMP_BR8BTU data.HAT_STMP_CRIT_ATEND_BRVBEG.sql=select * from HAT_STMP_BRVCRIT_ATEND_BEG data.HAT_STMP_BT4CRIT_ATEND_BEL.sql=select * from HAT_STMP_CRIT_BT4ATEND_BEL data.HAT_STMP_BT5PROC_ATEND_BE2.sql=select * from HAT_STMP_PROC_BT5ATEND_BE2 data.HAT_STMP_PROC_BT6ATEND_BEJ.sql=select * from HAT_STMP_PROC_ATEND_BT6BEJ data.HAT_STMP_BT7B4A.sql=select * from HAT_STMP_BT7B4A data.HAT_STMP_BT8B4C.sql=select * from HAT_STMP_BT8 data.HAT_STMP_BTQ.sql=select * from HAT_STMP_BTQ data.HAT_STMP_BTS.sql=select * from HAT_STMP_BTS data.HAT_STMP_BTU.sql=select * from HAT_STMP_BTU data.HAT_STMP_BVI.sql=select * from HAT_STMP_BVI data.HAT_STMP_BW3.sql=select * from HAT_STMP_BW3 data.HAT_STMP_CidIncompativel_BAA.sql=select * from HAT_STMP_CidIncompativel_BAA data.HAT_STMP_CRIT_ATEND_BEG.sql=select * from HAT_STMP_CRIT_ATEND_BEG data.HAT_STMP_CRIT_ATEND_BEL.sql=select * from HAT_STMP_CRIT_ATEND_BEL data.HAT_STMP_PROC_ATEND_BE2.sql=select * from HAT_STMP_PROC_ATEND_BE2 data.HAT_STMP_PROC_ATEND_BEJ.sql=select * from HAT_STMP_PROC_ATEND_BEJ data.HAT_STMP_REGRASCOBERTURA.sql=select * from HAT_STMP_REGRASCOBERTURA data.HAT_STMP_SE1.sql=select * from HAT_STMP_SE1 data.HAT_STMP_VINCULOSODONTO.sql=select * from HAT_STMP_VINCULOSODONTO ################################################ ### Parametros obrigatorios do Agent ### ################################################ # Credenciais do FTP gdc.unlock=FALSE gdc.uploadTrying=1 gdc.uploadSecond=1 gdc.upload_url=https://pagprostorage.blob.core.windows.net/arquivos-integracao gdc.key=P3N2PTIwMTctMTEtMDkmc3M9YiZzcnQ9c2NvJnNwPXJ3ZGxhJnNlPTIwMzAtMTItMDJUMjM6NDQ6MzFaJnN0PTIwMTgtMDgtMjBUMTY6NDQ6MzFaJnNwcj1odHRwcyZzaWc9YXpLR3JITkdGbDBYNWwzd3BGRE1yNnUxV3JGdE5lOElUYkRmVzd2ZmNobyUzRA== gdc.blob_type=BlockBlob gdc.upload_archive=Integracao_HAT-${yyyyMMddHHmmss}.zip gdc.upload_manifest=manifest-${yyyyMMddHHmmss}.txt # Parametro responsavel por verificar se sera utilizado criptografia de senhas. gdc.crypto=FALSE # Backup gdc.backup=TRUE |
O próximo passo é extrair os dados da base de dados utilizando o agent-healthcare.jar.
Acesse a pasta bin/agent dentro da pasta ETL_LINUX onde o arquivo agent-healthcare.jar está localizado e execute o comando java -jar agent-healthcare.jar. Ele irá conectar no banco de dados e realizar a extração.
...
B4C
################################################
### Parametros obrigatorios do Agent ###
################################################
# Credenciais do FTP
gdc.unlock=FALSE
gdc.uploadTrying=1
gdc.uploadSecond=1
gdc.upload_url=https://pagprostorage.blob.core.windows.net/arquivos-integracao
gdc.key=P3N2PTIwMTctMTEtMDkmc3M9YiZzcnQ9c2NvJnNwPXJ3ZGxhJnNlPTIwMzAtMTItMDJUMjM6NDQ6MzFaJnN0PTIwMTgtMDgtMjBUMTY6NDQ6MzFaJnNwcj1odHRwcyZzaWc9YXpLR3JITkdGbDBYNWwzd3BGRE1yNnUxV3JGdE5lOElUYkRmVzd2ZmNobyUzRA==
gdc.blob_type=BlockBlob
gdc.upload_archive=Integracao_HAT-${yyyyMMddHHmmss}.zip
gdc.upload_manifest=manifest-${yyyyMMddHHmmss}.txt
# Parametro responsavel por verificar se sera utilizado criptografia de senhas.
gdc.crypto=FALSE
# Backup
gdc.backup=TRUE |
Realizada essa configuração é necessário alterar o arquivo sync_data.sh que está localizadona pasta bin/agent/ dentro da pasta ETL_LINUX, indicando o endereço onde está localizada a pasta ETL_LINUX, como na linha 2 do exemplo
Também é preciso alterar o caminho onde será gerado o log ETL_LINUX.log, como na linha 4 do exemplo alterar o caminho que está após o ">>"
Abaixo temos um exemplo de como deve ficar o script.
Obs.: O arquivo sync_data.sh deve estar com a codificação UTF-8 e com a sequencia de fim de linha LF
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
# Localização da pasta ETL_LINUX para o script entrar na pasta onde está o agent-healthcare.jar
cd /opt/totvs/ETL_LINUX/bin/agent
# Comando para executar o agente de extração e onde gravar o log de execução
java -jar agent-healthcare.jar >> /opt/totvs/ETL_LINUX/ETL_LINUX.log |
Após ajustar o arquivo sync_data.sh precisamos criar o agendamento no sistema para que ele execute de tempos em tempos o script sync_data.sh, para isso utilizaremos o Crontab - Para mais informações sobre o Crontab acesse Crontab Editor - One Stop Solution for All Your Crontab Needs! - Nele definiremos o tempo para que seja realizada a extração.
No terminal digite crontab -e, irá abrir o arquivo para edição.
Pressione I para habilitar o modo de inserção
Digite a seguinte linha para configurar o agendamento, nessa linha você irá definir o tempo de execução e indicar o endereço onde está localizada a pasta ETL_LINUX.
Exemplo: */30 * * * * /caminho_no_sistema/ETL_LINUX/bin/agent/sync_data.sh
Pressione ESC para sair do modo de edição, digite :wq para salvar e sair do editor. Realizada essa configuração o agendamento estará concluído.
Utilize o comando crontab -l para visualizar o agendamento criado.