Case de Sucesso com Sistema de Gestão Hospitalar

Este artigo tem o objetivo de apresentar um case de sucesso de migração de sistema operacional proprietário, para um sistema operacional livre (Debian 8) em ambiente hospitalar. O conteúdo do artigo é destinado, principalmente, a hospitais que utilizam o sistema de gestão hospitalar SGH-SPDATA, pois serão apresentados os passos para deixar este sistema de gestão hospitalar funcionando em um ambiente Linux.

[ Hits: 16.087 ]

Por: Jacob Michael Deimling Reichl em 08/11/2016


Desenvolvimento



Esta seção apresenta uma sequência de passos para a configuração do sistema operacional Debian para rodar o sistema de gestão hospitalar SPDATA, também como, deixar o ambiente de impressão funcionando, e uma alternativa ao pacote Office da Microsoft.

2.1. INSTALAÇÃO E CONFIGURAÇÃO DA FERRAMENTA WINE

A instalação do Wine pode ser feita através do seguinte comando que deve ser digitado no terminal:

# apt-get install wine 1.6.2

A versão 1.6.2 é a ultima versão estável do Wine. Após a instalação do mesmo, devemos executar o comando:

winecfg

como usuário normal, este comando irá chamar o Wine e irá abrir a sua tela de configuração e também irá criar os seus diretórios dentro da pasta do usuário.

2.2. MAPEAMENTO DA UNIDADE DO SERVIDOR NO DEBIAN

Para realizarmos o mapeamento da unidade do servidor, devemos primeiramente instalar o pacote "cifs-utils" com o comando:

# apt-get install cifs-utils

que deve ser executado no terminal, após a instalação iremos criar o diretório "spdatai" dentro do diretório "mnt" com o comando:

# mkdir /mnt/spdatai.

Após a criação do diretório, devemos dar permissão de leitura escrita e execução para o mesmo com o comando:

# chmod 777 /mnt/spdatai

Feito isso, podemos chamar a ferramenta "fstab", que é responsável por montar unidades de rede e unidades locais, iremos abrir a ferramenta "fstab" com o editor de textos nano, com o comando:

# nano /etc/fstab

Devemos inserir o seguinte caminho:

192.168.254.100/spdatai    /mnt/spdatai     cifs      username=usuario,password=senha

A primeira parte do caminho é o endereço da unidade de rede compartilhada pelo servidor, onde ficam os executáveis do sistema e arquivos de configuração que deve ser alterada conforme o cenário de cada hospital. A segunda parte do caminho é o ponto de montagem criado no Debian. A terceira parte do caminho é o protocolo de comunicação que está sendo utilizado o cifs. E a última parte do caminho, são as credenciais do servidor., abaixo na figura 1 pode-se ver como devera ficar o caminho da unidade mapeada:

Figura 1. Mapeamento de unidades fstab
Para salvar as alterações, basta usar as teclas Ctrl+x e teclar "Yes" para salvar.

2.3. MAPEAMENTO DA UNIDADE DE REDE DO SERVIDOR NO WINE

Para realizarmos o mapeamento da unidade do servidor no wine devemos chamar digitar o comando winecfg no terminal, ira abrir uma tela de configuração devemos ir na aba drivers caso o Debian esteja em português o nome será unidades, nesta tela devemos escolher a letra de compartilhamento referente a unidade compartilhada no servidor e apontar o caminho /mnt/spdatai que é o ponto de montagem da unidade do servidor, a figura 2 é um exemplo da configuração.

Figura 2. Mapeamento de unidades no wine

2.4. CRIAÇÃO DA PASTA DO SISTEMA SPDATA E CÓPIA DOS EXECUTAVEIS DO SISTEMA

O Wine deixa o seu diretório oculto dentro da pasta "home" do usuário, devemos abrir o terminal e navegar ate o diretório do Wine com o seguinte comando:

cd /home/usuário (substitua pelo usuário corrente)
/.wine/drive_c (disco local C: do Windows)

Dentro deste diretório, devemos criar a pasta "spdatai", nesta pasta irão ficar os executáveis do sistema e arquivos de configuração, o diretório deve ser criado com o comando:

mkdir spdatai

Feito isso, devemos dar permissão de leitura, escrita e execução para a pasta com o comando

chmod 777 R spdatai

o parâmetro "R" serve para aplicar as permissões para todas as subpastas do diretório. Feito isso, podemos copiar o arquivo "sghspd.exe" (módulo principal do sistema) e o arquivo "sghconfig.cfg" (arquivo de configuração do sistema, contém o caminho do banco de dados) para a pasta "spdatai" dentro do diretório do Wine.

2.4. INSTALAÇÃO DO CLIENTE FIREBIRD

É necessário a instalação do cliente Firebird para que haja comunicação com o banco de dados, o download do cliente Firebird pode ser feito no link abaixo:
Deve se fazer o download da versão para Windows e executar o aplicativo com o Wine, proceder com a instalação escolhendo os parâmetros de instalação, conforme o cenário da empresa.

2.5. CRIAÇÃO DE SCRIPT PARA EXECUÇÃO DO SISTEMA

É necessário a criação de um script na área de trabalho, este script vai chamar o executável do sistema e realizar a atualização da pasta local da máquina, realizando cópia de arquivos da unidade de rede para a pasta local "spdatai" quando o script é executado.

Para criar o script, devemos abrir o terminal e navegar até a área de trabalho com o comando:

cd /home/usuario/Área de trabalho

dentro da área de trabalho devemos criar o script chamando o editor de textos nano, com o comando:

nano spdata.sh

Irá abrir um arquivo sem nenhum conteúdo, devemos inserir o seguinte conteúdo:

#!/bin/bash
cd ~/.wine/drive_c/spdatai
cp /mnt/spdatai/sghconfig.cfg ~/.wine/drive_c/spdatai/
cp /mnt/spdatai/pint/ri*.* ~/.wine/drive_c/spdatai/pint
cp /mnt/spdatai/pext/re*.* ~/.wine/drive_c/spdatai/pext
chmod 777 *
wine sghspd.exe

Onde:
  • A primeira linha chama o bash, conhecido como shell, que é uma espécie de tradutor entre o sistema operacional e o usuário;
  • A segunda linha contém o comando que irá acessar o diretório "spdatai";
  • A terceira linha executa um comando de cópia do arquivo de configuração do sistema do ponto de montagem para a pasta local do sistema;
  • A quarta e quinta linha, irão efetuar a cópia das fichas do sistema do ponto de montagem para a pasta local do sistema;
  • A sexta linha irá aplicar permissões de leitura, escrita e execução ao executável do sistema;
  • A sétima linha irá chamar o executável do sistema.

Tendo concluído estas alterações, basta salvar o script teclando Crtl+x. Tendo concluído estes passos, já é possível executar o script na área de trabalho e utilizar o SGH-SPDATA.

2.6. CÓPIA DE FONTES DO WINDOWS PARA O DEBIAN

Um dos principais problemas encontrados durante a fase de testes do sistema operacional foram os relatórios do sistema saindo desconfigurados. Para resolver este problema, é necessário copiar a pasta fontes de um sistema operacional Windows, esta pasta fica normalmente dentro do diretório "C:/Windows/fontes", devemos copiar as fontes com "extensão.TTF".

Dentro da pasta home do Debian, deve ser criada uma pasta que pode ter o nome de "fonteswindows" como exemplo, devemos colar dentro desta pasta os arquivos com "extensão.TTF", tendo concluído este procedimento poderá ser realizada a cópia dos arquivos para a pasta fontes do Debian, com o seguinte comando:

# mv /home/usuario/fonteswindows /usr/share/fonts/truetype

Após a execução do comando, deverá ser atualizada a lista de fontes do Linux com o comando:

# fc-cache

Tendo concluído estes passos, os relatórios do sistema irão funcionar da mesma forma que no sistema operacional Windows.

2.7. INSTALAÇÃO DO TEMA DO WINDOWS 7/8 NO DEBIAN

O principal objetivo com a instalação deste tema, é evitar problemas com o usuário final, pois o tema deixa o sistema operacional muito parecido com o Windows, facilitando a adaptação do usuário final, visto que a maioria dos usuários está acostumada com o ambiente Windows.

Após o download do tema descrito na seção ferramentas, devemos abrir o terminal e navegar até a pasta de download, então devemos extrair o tema com o comando:

# unzip WinAte-master.zip

o próximo passo será logar no terminal como usuário root e dar permissões de leitura escrita e execução para a pasta, com o comando:

# chmod 777 WinAte-master

Feito isso, devemos logar como usuário normal e acessar a pasta com o comando:

cd WinAte-master

em seguida executar o script de instalação com o comando:

./install.sh

o script irá fazer alguns questionamentos durante a instalação:
  • No primeiro questionamento, ele irá pedir para teclar Enter para continuar;
  • No segundo, devemos escolher a linguagem de instalação;
  • No terceiro, devemos confirmar se o sistema operacional que está sendo utilizado é o Debian;
  • No quarto, devemos escolher entre o tema windows7 ou windows8;
  • No quinto, devemos informar a senha do usuário root;
  • Aos próximos questionamentos, podemos confirmar "Sim" em todos e, então, reinicializar o sistema operacional.

O resultado é o da figura 3 abaixo:

Figura 3. Resultado da instalação do tema com o SGH-SPDATA em execução

2.8. IMPRESSÃO NO GNU-LINUX DEBIAN

Esta seção irá apresentar como é feita a configuração do cups, para que possa ser feita a instalação e compartilhamento de impressoras.

2.8.1. CUPS

O servidor de impressão cups vem instalado por padrão na maioria das distribuições Linux, a configuração do cups pode ser feita via interface web pelo navegador, ou via utilitário do sistema operacional.

2.8.2. CONFIGURAÇÃO DO CUPS

Para realizarmos a configuração do cups, devemos abrir o terminal e logar como usuário root, feito isso, deve ser executado o comando:

# nano /etc/cups/cupsd.conf

este comando irá abrir o arquivo de configuração do cups com o editor de textos nano e exibirá vários parâmetros para configuração.

Os principais parâmetros que devem ser alterados, serão listados abaixo:

# Only listen for connections from the local machine.
#Listen localhost:631 (deve ser substituido por Port 631, esta alteração permitira o acesso ao cups via navegador web)
Port 631
Listen /var/run/cups/cups.sock

# Show shared printers on the local network.
Browsing Off  #este parâmetro quando alterado para On permitira que o cups encontre impressoras compartilhadas na rede
BrowseLocalProtocols dnssd

# Restrict access to the server... (Aqui pode ser definido quem pode acessar o servidor cups remotamente via navegador, se for inserido o parametro Allow all = todos da rede poderão acessar, allow deny = ninguém terá acesso, se inserido allow @endereço ip somente o endereço x terá acesso ao servidor.)

<Location />
  Order allow,deny  Allow All
</Location>

# Restrict access to the admin pages...(acesso restrito as paginas de administração do cups, e executar ações como adicionar e remover impressoras, aqui podem ser definidas as politicas de acesso, se for inserido o parametro allow all = todos tem acesso, allow deny = ninguém terá acesso, allow @endereço ip = somente endereço x podera ter acesso).
<Location /admin>
  Order allow,deny
  Allow all
</Location>

# Restrict access to configuration files...(acesso restrito ao arquivo de configuração do cups , aqui podem ser definidas as politicas de acesso, se for inserido o parametro allow all = todos tem acesso, allow deny = ninguém terá acesso, allow @endereço ip = somente endereço x podera ter acesso).
<Location /admin/conf>
  AuthType Default
  Require user @SYSTEM
  Order allow,deny
</Location>

Concluídas as alterações, basta teclar Crtl+x e teclar "Yes" para salvar as alterações.

2.8.3. ACESSO AO CUPS VIA INTERFACE WEB

Para acessar o cups pelo navegador, basta digitar no navegador o endereço 127.0.0.1:631, o endereço "127.0.0.1" é o endereço localhost que aponta para o próprio computador, e "631" é a porta de acesso ao cups, a Figura 3 é um exemplo da interface web do cups:

Figura 3. Interface web do CUPS
Para adicionar uma impressora via interface web, basta ir na aba "Administration", ou Administração, e escolher a opção "Add printer".

2.8.4. ADICIONAR IMPRESSORA VIA UTILITARIO DE IMPRESSORAS DO DEBIAN

Para adicionar uma impressora pelo utilitário do Debian, basta ir até o menu de aplicativos e acessar o menu "Preferências" e em seguida, acessar a opção "Configurações da impressora" e acessar opção adicionar, na figura 4 podemos ver um exemplo do utilitário de configuração:

Figura 4. Utilitário de configuração de impressoras

2.8.5. INSTALAÇÃO DO PACOTE SMBCLIENT

Para a instalação do pacote "smbclient", devemos abrir o terminal e estar logado como root, feito isso, basta digitar o comando "apt-get install smbclient". O pacote "smbclient" possibilitará que sejam adicionadas impressoras que estão compartilhadas em hosts Windows; para isto, basta abrir o utilitário de configuração de impressoras do Debian e escolher a opção "Windows printer" via Samba e então, digitar o endereço da impressora e o nome de compartilhamento da impressora em seguida escolher o driver a ser utilizado.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Desenvolvimento
   3. Resultados e Discussões
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

O que são Generators no Firebird

Acessando o Firebird que esta atras de um firewall

Criando uma aplicação em shell script integrada com o Interbase/Firebird

Apresentando o FenixSQL - Ferramenta de Banco de Dados para Interbase / Firebird

Instalando o Firebird no Debian

  
Comentários
[1] Comentário enviado por cesar.dba em 08/11/2016 - 19:11h

Muito bom, para ficar ainda mais show se estivesse usando PostgreSQL.
César Carvalho
Especialista em Banco de Dados

[2] Comentário enviado por kowalskii em 09/11/2016 - 08:48h

Ótimo artigo, parabéns!
trabalho em uma empresa que também desenvolve sistema em delphi + firebird, quero fazer um teste similar no linux quando tiver oportunidade
abraço

[3] Comentário enviado por removido em 10/11/2016 - 09:20h

Excelente artigo. Parabéns!!
Carlos Filho

http://opensuseblogbr.blogspot.com.br/

[4] Comentário enviado por willian.firmino em 10/11/2016 - 10:54h

Pelo tempo de suporte prolongado eu faria testes com o Centos 7 antes de tentar o Debian.

[5] Comentário enviado por ilucasbernardes em 10/11/2016 - 11:45h

Muito bom o exemplo, realmente interessante e gratificante para a comunidade.
Alguém possui disponibilidade para um teste com um ERP gratuito, produzido para Windows?
Abraços!

[6] Comentário enviado por vfsmount em 10/11/2016 - 14:29h

Grande Jacob, e assim como um grande cara vem um grande artigo.
Muito boa contribuição, fiz isso com o ubuntu e larguei mão pelo trabalho todo, mas você fez com qualidade
Parabéns.

Rodolpho

[7] Comentário enviado por jacobr94 em 10/11/2016 - 17:36h

Obrigado pelos Comentários Galera, fui gestor de TI de um Hospital por 2 anos, ai tive essa ideia na época e deixei funcionando, passei metade do parque de maquinas para linux , muitos hosts eu deixei com xubuntu, mais tarde eu testei com debian e vi que o desempenho e muito superior pois é um sistema que vem bem limpo desde o kernel, também testei fedora, opensuse, mas debian e xubuntu sao as duas distros que se sobresairam, hoje não trabalho mais na area da saude, fico feliz em poder contribuir com a comunidade de software livre.

[8] Comentário enviado por lucksxe em 14/11/2016 - 22:50h

Parabéns.
Muito boa iniciativa.
Presto serviço para uma industria, e comecei o projeto 50 PC migrados para Linux.

Estou usando ubuntu-mate emulando o sistema ERP da empresa feito em delphi + mysql. Quem sabe em um futuro próximo não começamos a migrar os desktops para os raspberryPi ou até mesmo Jaguarboard.

abs.

[9] Comentário enviado por lestatwa em 25/11/2016 - 11:58h

Sistemas legados são um problema. Quem usa delphi hoje em dia?
Sistemas hospitalares de grande porte, em grande parte rodam on the cloud. O que facilita bastante a manutenção do mesmo e evita este tipo de problema: ter que configurar um ambiente cheio de gambiarras (wine?) para funcionar.
Além disto, hoje existe uma grande aderência com relação a utilização de técnicas de machine learning (principalmente para diagnóstico, porém não é restrito a este setor), que exigem muito processamento e memória, geralmente dependem de uma estrutura de cluster (apache spark / hadoop) para funcionar corretamente / real-time (estou falando de grandes hospitais, com um volume imenso de dados gerados todos os dias), o que tornaria inviável a utilização do modelo obsoleto stand-alone.

[10] Comentário enviado por removido em 18/01/2017 - 20:04h


[9] Comentário enviado por lestatwa em 25/11/2016 - 11:58h

Sistemas legados são um problema. Quem usa delphi hoje em dia?
Sistemas hospitalares de grande porte, em grande parte rodam on the cloud. O que facilita bastante a manutenção do mesmo e evita este tipo de problema: ter que configurar um ambiente cheio de gambiarras (wine?) para funcionar.
Além disto, hoje existe uma grande aderência com relação a utilização de técnicas de machine learning (principalmente para diagnóstico, porém não é restrito a este setor), que exigem muito processamento e memória, geralmente dependem de uma estrutura de cluster (apache spark / hadoop) para funcionar corretamente / real-time (estou falando de grandes hospitais, com um volume imenso de dados gerados todos os dias), o que tornaria inviável a utilização do modelo obsoleto stand-alone.



Muita gente ainda usa, e não sera fácil convencer gerente(s)/diretoria a deixar de usar o que eles ja tem, sem ter fortes motivos para isso.
Em tempo de contenção de despesas então, tera que mostrar claramente onde os custos ($) irão cair (Mesmo com implantação de um sistema novo, e tempo com treinamento etc).

Alem disso é um case interessante, pense em um lugar que não migra para Linux por conta de um sistema antigo, quase sem suporte e caro para atualizar, mas que apesar de tudo "funciona".

Para quem precisa economizar o ultimo real, e trocar o sistema no momento esteja fora de questão ($).

Se aproveitar hardware e economizar com licenças (Usando Linux) der certo, o próximo passo no futuro, pode ser justo ter mais flexibilidade para substituir este sistema por algo mais moderno.






Contribuir com comentário