Joomla! Day Brasil 2007 - Case Hospital das Clínicas de Porto Alegre

36
Hospital de Clínicas de Porto Alegre Grupo de Sistemas Tecnologia da Informação à Serviço Tecnologia da Informação à Serviço da Saúde da Saúde Projeto Internet/Intranet do Hospital de Clínicas de Porto Alegre - HCPA Belini Fagundes de Mello – Analista Júnior [email protected]

Transcript of Joomla! Day Brasil 2007 - Case Hospital das Clínicas de Porto Alegre

Page 1: Joomla! Day Brasil 2007 - Case Hospital das Clínicas de Porto Alegre

Hospital de Clínicas de Porto AlegreGrupo de Sistemas

Tecnologia da Informação à Serviço da Tecnologia da Informação à Serviço da SaúdeSaúde

Projeto Internet/Intranet do Hospital de Clínicas de Porto Alegre - HCPA

Belini Fagundes de Mello – Analista Jú[email protected]

Page 2: Joomla! Day Brasil 2007 - Case Hospital das Clínicas de Porto Alegre

Hospital de Clínicas de Porto AlegreGrupo de Sistemas

Porte do HCPAPorte do HCPA

Assistência (anual)Assistência (anual)538.520 consultas33.755 cirurgias3.971 partos27.033 internações2.091.441 exames331 transplantesFaturamento (anual)Faturamento (anual)R$ 79.000.000

InstalaçõesInstalações749 leitos144 consultórios62 especialidades

Recursos HumanosRecursos Humanos3983 funcionários272 Prof Medicina20 Prof Enfermagem298 Médicos Residentes300 Médicos Contratados

Page 3: Joomla! Day Brasil 2007 - Case Hospital das Clínicas de Porto Alegre

Hospital de Clínicas de Porto AlegreGrupo de Sistemas

Cultura Web HCPACultura Web HCPA• Publicadores de conteúdo em diversas áreasPublicadores de conteúdo em diversas áreas• Notícias do site gerenciadas por jornalistasNotícias do site gerenciadas por jornalistas• Suporte e manutenção feitos pelo Grupo de Suporte e manutenção feitos pelo Grupo de

SistemasSistemas• Uso de Sistema Gerenciador de Conteúdo Uso de Sistema Gerenciador de Conteúdo

(Content Managemant System-CMS)(Content Managemant System-CMS)

Page 4: Joomla! Day Brasil 2007 - Case Hospital das Clínicas de Porto Alegre

Hospital de Clínicas de Porto AlegreGrupo de Sistemas

Antiga Antiga Internet/Internet/IntranetIntranet• Servidor IBMServidor IBM• Windows 2000 ServerWindows 2000 Server• SQL Server 2000SQL Server 2000• Internet Information Services - IISInternet Information Services - IIS• ASP 3.0ASP 3.0• Objetos COM+Objetos COM+• CMS proprietárioCMS proprietário

Page 5: Joomla! Day Brasil 2007 - Case Hospital das Clínicas de Porto Alegre

Hospital de Clínicas de Porto AlegreGrupo de Sistemas

Administração E-ManagerAdministração E-Manager

Page 6: Joomla! Day Brasil 2007 - Case Hospital das Clínicas de Porto Alegre

Hospital de Clínicas de Porto AlegreGrupo de Sistemas

Editando no E-ManagerEditando no E-Manager

Page 7: Joomla! Day Brasil 2007 - Case Hospital das Clínicas de Porto Alegre

Hospital de Clínicas de Porto AlegreGrupo de Sistemas

Problemas da Antiga Internet/IntranetProblemas da Antiga Internet/Intranet• CMS ProprietárioCMS Proprietário• Objetos COM+ sem fontesObjetos COM+ sem fontes• Baixa manutenibilidade e portabilidadeBaixa manutenibilidade e portabilidade• Problemas de performanceProblemas de performance• Editores de conteúdo com funcionalidades Editores de conteúdo com funcionalidades

problemáticasproblemáticas• ExpansibilidadeExpansibilidade• Suporte e novos recursos dependente do Suporte e novos recursos dependente do

desenvolvedordesenvolvedor

Page 8: Joomla! Day Brasil 2007 - Case Hospital das Clínicas de Porto Alegre

Hospital de Clínicas de Porto AlegreGrupo de Sistemas

Escolha do CMSEscolha do CMS• Contemplar contingência de servidoresContemplar contingência de servidores• Portal Internet/Intranet únicosPortal Internet/Intranet únicos• Curva de aprendizado menor para Curva de aprendizado menor para

publicadorespublicadores• Possibilidade de acrescentar novas Possibilidade de acrescentar novas

funcionalidadesfuncionalidades• Facilidade para alterar o código fonteFacilidade para alterar o código fonte• Domínio da comunidade na linguagem de Domínio da comunidade na linguagem de

programação do CMSprogramação do CMS

Page 9: Joomla! Day Brasil 2007 - Case Hospital das Clínicas de Porto Alegre

Hospital de Clínicas de Porto AlegreGrupo de Sistemas

CMS TestadosCMS Testados• XoopsXoops• PHP NukePHP Nuke• Post NukePost Nuke• XarayaXaraya• Mambo (Joomla)Mambo (Joomla)

Page 10: Joomla! Day Brasil 2007 - Case Hospital das Clínicas de Porto Alegre

Hospital de Clínicas de Porto AlegreGrupo de Sistemas

Page 11: Joomla! Day Brasil 2007 - Case Hospital das Clínicas de Porto Alegre

Hospital de Clínicas de Porto AlegreGrupo de Sistemas

Page 12: Joomla! Day Brasil 2007 - Case Hospital das Clínicas de Porto Alegre

Hospital de Clínicas de Porto AlegreGrupo de Sistemas

Nova Internet/IntranetNova Internet/Intranet• Servidor DellServidor Dell• Linux Red Hat AS4Linux Red Hat AS4• PHP 4.3.9PHP 4.3.9• Apache 2.0.52Apache 2.0.52• My SQL 4.1.12My SQL 4.1.12• Joomla!Joomla!

Page 13: Joomla! Day Brasil 2007 - Case Hospital das Clínicas de Porto Alegre

Hospital de Clínicas de Porto AlegreGrupo de Sistemas

Vantagens da Nova Internet/IntranetVantagens da Nova Internet/Intranet• CMS de código abertoCMS de código aberto• Possibilidade de alterar o fontePossibilidade de alterar o fonte• Manutenibilidade Manutenibilidade • PortabilidadePortabilidade• UsabilidadeUsabilidade• PerformancePerformance

Page 14: Joomla! Day Brasil 2007 - Case Hospital das Clínicas de Porto Alegre

Hospital de Clínicas de Porto AlegreGrupo de Sistemas

Requisitos Nova Internet/IntranetRequisitos Nova Internet/Intranet• Templates diferentes para Internet e IntranetTemplates diferentes para Internet e Intranet• Permitir diferenciar conteúdo específico da Permitir diferenciar conteúdo específico da

Internet e IntranetInternet e Intranet• Permitir que o publicador possa alterar Permitir que o publicador possa alterar

somente ao seu próprio conteúdosomente ao seu próprio conteúdo• Permitir acionar aplicativos do micro do Permitir acionar aplicativos do micro do

usuário diretamente do portal Intranetusuário diretamente do portal Intranet• Formulários para comunicação Formulários para comunicação

interna/externa integrados ao corpo do siteinterna/externa integrados ao corpo do site

Page 15: Joomla! Day Brasil 2007 - Case Hospital das Clínicas de Porto Alegre

Hospital de Clínicas de Porto AlegreGrupo de Sistemas

Requisitos Nova Internet/IntranetRequisitos Nova Internet/Intranet• Repositório para documentos internosRepositório para documentos internos• Permitir acesso externo à Intranet para Permitir acesso externo à Intranet para

usuários do hospital (https)usuários do hospital (https)• Acesso interno à intranet deve ser Acesso interno à intranet deve ser

transparente com logon automáticotransparente com logon automático• Ter calendário dos eventos com folder e Ter calendário dos eventos com folder e

possibilidade de inscriçãopossibilidade de inscrição• Menu pull-down com scroll internoMenu pull-down com scroll interno

Page 16: Joomla! Day Brasil 2007 - Case Hospital das Clínicas de Porto Alegre

Hospital de Clínicas de Porto AlegreGrupo de Sistemas

Componentes, Módulos e Bots de terceirosComponentes, Módulos e Bots de terceiros• JEvents - Agenda de eventos e calendárioJEvents - Agenda de eventos e calendário• JACLPlus – Criação e manutenção de grupos JACLPlus – Criação e manutenção de grupos

de usuários (Access Control List)de usuários (Access Control List)• ExitPull - Criação, manutenção e exibição de ExitPull - Criação, manutenção e exibição de

enquetes e resultadosenquetes e resultados• JCE Editor/TMEdit - Editor WYISWYG JCE Editor/TMEdit - Editor WYISWYG • DOCMAN - Gerenciador de documentosDOCMAN - Gerenciador de documentos• MamVideo – Gerenciador de vídeosMamVideo – Gerenciador de vídeos

Page 17: Joomla! Day Brasil 2007 - Case Hospital das Clínicas de Porto Alegre

Hospital de Clínicas de Porto AlegreGrupo de Sistemas

Componentes, Módulos e Bots própriosComponentes, Módulos e Bots próprios• Componente para registro e visualização de Componente para registro e visualização de

download de editaisdownload de editais• Vários módulos com links de destaques para Vários módulos com links de destaques para

diferentes seções do sitediferentes seções do site• Formulários convertidos para componentes Formulários convertidos para componentes

para integração no corpo do Joomlapara integração no corpo do Joomla• Novo componente de LogonNovo componente de Logon• Módulo com links para aplicativos Módulo com links para aplicativos

diferenciado por estações da redediferenciado por estações da rede• Hacks diversosHacks diversos

Page 18: Joomla! Day Brasil 2007 - Case Hospital das Clínicas de Porto Alegre

Hospital de Clínicas de Porto AlegreGrupo de Sistemas

Page 19: Joomla! Day Brasil 2007 - Case Hospital das Clínicas de Porto Alegre

Hospital de Clínicas de Porto AlegreGrupo de Sistemas

Page 20: Joomla! Day Brasil 2007 - Case Hospital das Clínicas de Porto Alegre

Hospital de Clínicas de Porto AlegreGrupo de Sistemas

Page 21: Joomla! Day Brasil 2007 - Case Hospital das Clínicas de Porto Alegre

Hospital de Clínicas de Porto AlegreGrupo de Sistemas

Usuários do PortalUsuários do Portal• ExternoExterno

– InternautasInternautas– Usuários do Hospital acessando a IntranetUsuários do Hospital acessando a Intranet

• InternoInterno– Usuários da rede interna do Hospital Usuários da rede interna do Hospital

acessando conteúdo da Internet e Intranetacessando conteúdo da Internet e Intranet

Page 22: Joomla! Day Brasil 2007 - Case Hospital das Clínicas de Porto Alegre

Hospital de Clínicas de Porto AlegreGrupo de Sistemas

Formas de Acesso à IntranetFormas de Acesso à Intranet• ExternoExterno

– Através do link do portalAtravés do link do portal• Formulário de logon encriptado (https)Formulário de logon encriptado (https)

• InternoInterno– Acesso direto (sem logon explicito):Acesso direto (sem logon explicito):

• Através do link do portalAtravés do link do portal• URL URL http://intranethttp://intranet

Page 23: Joomla! Day Brasil 2007 - Case Hospital das Clínicas de Porto Alegre

Hospital de Clínicas de Porto AlegreGrupo de Sistemas

Esquema de AcessoEsquema de AcessoAcesso Externo/Interno

Link do Portal

IP Externo IP Interno

Script PHP

http://intranet

JoomlaNovo Componente de Logon

Domínio VirtualDomínio Virtual

Page 24: Joomla! Day Brasil 2007 - Case Hospital das Clínicas de Porto Alegre

Hospital de Clínicas de Porto AlegreGrupo de Sistemas

Novo Componente de LogonNovo Componente de Logon• Controla e centraliza o acesso tanto interno Controla e centraliza o acesso tanto interno

quanto externoquanto externo• Permite logon no Joomla de forma Permite logon no Joomla de forma

transparentetransparente• Aceita Logon automático através da URL: Aceita Logon automático através da URL:

http://intranethttp://intranet• Protege com https o logon externoProtege com https o logon externo• Verifica no LDAP se usuário válido (acesso Verifica no LDAP se usuário válido (acesso

externo)externo)

Page 25: Joomla! Day Brasil 2007 - Case Hospital das Clínicas de Porto Alegre

Hospital de Clínicas de Porto AlegreGrupo de Sistemas

Esquema do Componente de LogonEsquema do Componente de LogonNovo Componente de Logon

Caso Externo Caso Interno

Muda URL/https

Form seguro

Verifica LDAPIntranet

Logon no Joomla com usuário genéricoForm com Autosubmit

Acesso Negado

OKOK

Page 26: Joomla! Day Brasil 2007 - Case Hospital das Clínicas de Porto Alegre

Hospital de Clínicas de Porto AlegreGrupo de Sistemas

Controlando Acesso ao ConteúdoControlando Acesso ao Conteúdo• Componente JACLPlusComponente JACLPlus• Criação de novos níveis/grupos de acesso Criação de novos níveis/grupos de acesso

(New Access Control List - ACL)(New Access Control List - ACL)• Acesso ao conteúdo do site depende do ACL Acesso ao conteúdo do site depende do ACL

aplicadoaplicado• Usuários/Conteúdos/Template Intranet Usuários/Conteúdos/Template Intranet

pertencem a um ACL específicopertencem a um ACL específico

Page 27: Joomla! Day Brasil 2007 - Case Hospital das Clínicas de Porto Alegre

Hospital de Clínicas de Porto AlegreGrupo de Sistemas

Níveis/Grupos de AcessoNíveis/Grupos de Acesso• Níveis de acesso (ACL):Níveis de acesso (ACL):

– PublicPublic– InternetInternet– IntranetIntranet

• Grupos de Usuário:Grupos de Usuário:– Public FrontEnd (Public, Internet)Public FrontEnd (Public, Internet)– Usuários Intranet (Public, Registered, Usuários Intranet (Public, Registered,

Intranet)Intranet)

Page 28: Joomla! Day Brasil 2007 - Case Hospital das Clínicas de Porto Alegre

Hospital de Clínicas de Porto AlegreGrupo de Sistemas

Níveis de Acesso/Grupos de UsuáriosNíveis de Acesso/Grupos de Usuários• Public FrontEnd (Public, Internet)Public FrontEnd (Public, Internet)

– Usuário com acesso ao conteúdo aberto do Usuário com acesso ao conteúdo aberto do portalportal

– Não necessita de logonNão necessita de logon• Usuários Intranet (Public, Registered, Usuários Intranet (Public, Registered,

Intranet)Intranet)– Usuário com acesso para ambos conteúdos Usuário com acesso para ambos conteúdos

aberto e da intranet do portal, exceto aberto e da intranet do portal, exceto material exclusivo da internet.material exclusivo da internet.

– Necessita de logonNecessita de logon

Page 29: Joomla! Day Brasil 2007 - Case Hospital das Clínicas de Porto Alegre

Hospital de Clínicas de Porto AlegreGrupo de Sistemas

Níveis de AcessoNíveis de Acesso• Conteúdo exclusivo ou compartilhadoConteúdo exclusivo ou compartilhado

– MenusMenus– Conteúdo EstáticoConteúdo Estático– Seções/CategoriasSeções/Categorias– MódulosMódulos– ComponentesComponentes

Page 30: Joomla! Day Brasil 2007 - Case Hospital das Clínicas de Porto Alegre

Hospital de Clínicas de Porto AlegreGrupo de Sistemas

HacksHacks• index.phpindex.php

– Mudar tema para Intranet caso usuário Mudar tema para Intranet caso usuário tenha ACL “intranet”tenha ACL “intranet”

– Incluir código:Incluir código:// loads template fileif (strstr($my->jaclplus, '6')) $cur_template = "intranet";

Page 31: Joomla! Day Brasil 2007 - Case Hospital das Clínicas de Porto Alegre

Hospital de Clínicas de Porto AlegreGrupo de Sistemas

HacksHacks• includes/joomla.php: includes/joomla.php:

– Permitir logon múltiplos com o mesmo Permitir logon múltiplos com o mesmo usuário, comentar:usuário, comentar:

// check to see if site is a production site// allows multiple logins with same user for a demo site/* * COMENTADO PELO GSIS/SSR/BD PARA PERMITIR * MULTIPLOS LOGONS COM O MESMO USUÁRIO * * if ( $_VERSION->SITE ) {

// delete any old front sessions to stop duplicate sessions$query = "DELETE FROM #__session". "\n WHERE session_id != '$session->session_id'". "\n AND username = '$row->username'". "\n AND userid = $row->id". "\n AND gid = $row->gid". "\n AND guest = 0";$this->_db->setQuery( $query );$this->_db->query();} FIM DO COMENTÁRIO*/

Page 32: Joomla! Day Brasil 2007 - Case Hospital das Clínicas de Porto Alegre

Hospital de Clínicas de Porto AlegreGrupo de Sistemas

Módulo: Link para AplicativosMódulo: Link para Aplicativos• Identifica o nome da máquinaIdentifica o nome da máquina• Busca no banco Oracle a relação de Busca no banco Oracle a relação de

aplicativos da referida máquinaaplicativos da referida máquina• Grava Cookie com nome da máquinaGrava Cookie com nome da máquina• Monta lista com links para arquivos .lnk Monta lista com links para arquivos .lnk

contendo a chamada ao aplicativocontendo a chamada ao aplicativo• Atualização feita por aplicativo Oracle Atualização feita por aplicativo Oracle

(Designer)(Designer)

Page 33: Joomla! Day Brasil 2007 - Case Hospital das Clínicas de Porto Alegre

Hospital de Clínicas de Porto AlegreGrupo de Sistemas

Adaptações FuturasAdaptações Futuras• Permitir criar usuário automaticamente:Permitir criar usuário automaticamente:• Usuários ExternosUsuários Externos

– Usuário digita informações em form seguroUsuário digita informações em form seguro– Verificar se usuário é válido no LDAPVerificar se usuário é válido no LDAP– Verificar se usuário não existe no JoomlaVerificar se usuário não existe no Joomla

• Caso não existe criarCaso não existe criar• Logar no JoomlaLogar no Joomla

Page 34: Joomla! Day Brasil 2007 - Case Hospital das Clínicas de Porto Alegre

Hospital de Clínicas de Porto AlegreGrupo de Sistemas

Adaptações FuturasAdaptações Futuras• Usuários InternosUsuários Internos

– Usuário clica no link ou usa URL diretaUsuário clica no link ou usa URL direta– Script obtém nome do usuário logado no Script obtém nome do usuário logado no

sistemasistema– Verificar se usuário é válido no LDAPVerificar se usuário é válido no LDAP– Verificar se usuário não existe no JoomlaVerificar se usuário não existe no Joomla

• Caso não existe criarCaso não existe criar• Logar no JoomlaLogar no Joomla

Page 35: Joomla! Day Brasil 2007 - Case Hospital das Clínicas de Porto Alegre

Hospital de Clínicas de Porto AlegreGrupo de Sistemas

Portal HCPAPortal HCPA

PERGUNTAS?

Page 36: Joomla! Day Brasil 2007 - Case Hospital das Clínicas de Porto Alegre

Hospital de Clínicas de Porto AlegreGrupo de Sistemas

Obrigado!Obrigado!

Belini Fagundes de [email protected]