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: 14.774 ]

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

Trabalhando com Firebird em múltiplos arquivos de dados

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

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

Criando um banco de dados no Flamerobin (Firebird)

Acessando o Firebird que esta atras de um firewall

  
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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts