copyright © atech 2004 fundação aplicações de tecnologias críticas - atech rua do rocio, 313 -...

21
copyright © atech 2004 Fundação Aplicações de Tecnologias Críticas - Atech Rua do Rocio, 313 - 11º andar 04552-000 - Vila Olímpia -São Paulo/SP Tel.: (011) 3040.7318 - Fax: (011) 3040.7400 Sistemas de Informação para a Gestão da Saúde

Upload: internet

Post on 17-Apr-2015

124 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Copyright © atech 2004 Fundação Aplicações de Tecnologias Críticas - Atech Rua do Rocio, 313 - 11º andar 04552-000 - Vila Olímpia -São Paulo/SP Tel.: (011)

copyright © atech 2004

Fundação Aplicações de Tecnologias Críticas - AtechRua do Rocio, 313 - 11º andar

04552-000 - Vila Olímpia -São Paulo/SPTel.: (011) 3040.7318 - Fax: (011) 3040.7400

Sistemas de Informaçãopara a Gestão da Saúde

Page 2: Copyright © atech 2004 Fundação Aplicações de Tecnologias Críticas - Atech Rua do Rocio, 313 - 11º andar 04552-000 - Vila Olímpia -São Paulo/SP Tel.: (011)

copyright © atech 2004

Componente de Gestão de Críticas e Repositório de Regras – experiência

APAC/SMSKarina Passos1, Lúcia Beatriz de Área Leão Alves1

1Atech – Tecnologias Críticas

Page 3: Copyright © atech 2004 Fundação Aplicações de Tecnologias Críticas - Atech Rua do Rocio, 313 - 11º andar 04552-000 - Vila Olímpia -São Paulo/SP Tel.: (011)

copyright © atech 2004

Índice

• Motivação• Idéia Central do Componente• Construindo o Componente• Máquina de Decisão• Repositório de Regras• Amplitude do Componente• Arquitetura Geral do Componente• Implementação do Componente• Dinâmica de Execução• Preocupações – Projeto/Implementação• Resultados/Conclusões

Page 4: Copyright © atech 2004 Fundação Aplicações de Tecnologias Críticas - Atech Rua do Rocio, 313 - 11º andar 04552-000 - Vila Olímpia -São Paulo/SP Tel.: (011)

copyright © atech 2004

Motivação

Informações relevantes à Informações relevantes à tomada de decisãotomada de decisão(autorização/rejeição de procedimentos médicos)(autorização/rejeição de procedimentos médicos)

Informações relevantes à Informações relevantes à tomada de decisãotomada de decisão(autorização/rejeição de procedimentos médicos)(autorização/rejeição de procedimentos médicos)

produzindo…produzindo…

Executar Executar criticamentecriticamente verificações verificações sobre procedimentos médicossobre procedimentos médicos

Executar Executar criticamentecriticamente verificações verificações sobre procedimentos médicossobre procedimentos médicos

Page 5: Copyright © atech 2004 Fundação Aplicações de Tecnologias Críticas - Atech Rua do Rocio, 313 - 11º andar 04552-000 - Vila Olímpia -São Paulo/SP Tel.: (011)

copyright © atech 2004

Idéia Central do Componente

ProcedimentoProcedimentoMédicoMédico

ProcedimentoProcedimentoMédicoMédico

Regra 1Regra 1Regra 1Regra 1

Regra 3Regra 3Regra 3Regra 3Regra 2Regra 2Regra 2Regra 2

OK NOK

Resultado 1Resultado 1Resultado 1Resultado 1 Resultado 2Resultado 2Resultado 2Resultado 2

Máquina de Decisão

Page 6: Copyright © atech 2004 Fundação Aplicações de Tecnologias Críticas - Atech Rua do Rocio, 313 - 11º andar 04552-000 - Vila Olímpia -São Paulo/SP Tel.: (011)

copyright © atech 2004

Construindo o Componente

O esforço para desenvolvimento do componente ficou distribuido da seguinte forma:

Definição dos mecanismos de manutenção e execução

de máquinas de decisão.

Definição dos mecanismos de manutenção e execução

de máquinas de decisão.

Identificação das regras de negócio que definem as

críticas a serem executadas sobre os procedimentos médicos,

constituindo o repositório de regras.

Identificação das regras de negócio que definem as

críticas a serem executadas sobre os procedimentos médicos,

constituindo o repositório de regras.

Page 7: Copyright © atech 2004 Fundação Aplicações de Tecnologias Críticas - Atech Rua do Rocio, 313 - 11º andar 04552-000 - Vila Olímpia -São Paulo/SP Tel.: (011)

copyright © atech 2004

Máquina de Decisão

Parâmetros de execução são atributos cujos valores são utilizados na execução das regras que constituem a máquina de decisão.

Parâmetros de execução são atributos cujos valores são utilizados na execução das regras que constituem a máquina de decisão.

Parâmetros de identificação são atributos que identificam

univocamente uma máquina de decisão.

Parâmetros de identificação são atributos que identificam

univocamente uma máquina de decisão.

O encadeamento das regras é definido com base nos

tipos de retorno que uma regra pode assumir

( OK, NOK, ALERTA ).

O encadeamento das regras é definido com base nos

tipos de retorno que uma regra pode assumir

( OK, NOK, ALERTA ).

Uma máquina de decisão é constituida pelo encadeamento de regras que definem as críticas a serem executadas sobre um procedimento médico, formando uma estrutura de árvore.

Page 8: Copyright © atech 2004 Fundação Aplicações de Tecnologias Críticas - Atech Rua do Rocio, 313 - 11º andar 04552-000 - Vila Olímpia -São Paulo/SP Tel.: (011)

copyright © atech 2004

Exemplo de Máquina de Decisão

No contexto do projeto APAC (Autorização de Procedimentos de Alta Complexidade), a configuração da máquina de decisão

ocorre em função da funcionalidade “Avaliação de Laudo Médico” e do parâmetro de identificação “tipo de laudo médico”.

A título de exemplo:

No momento da avaliação de um laudo médico de quimioterapia,

serão executadas todas as críticas relacionadas aos procedimentos de quimioterapia, sendo que o médico autorizador poderá usar os resultados produzidos pela execução das críticas para autorizar ou rejeitar os procedimentos solicitados no laudo médico.

A título de exemplo:

No momento da avaliação de um laudo médico de quimioterapia,

serão executadas todas as críticas relacionadas aos procedimentos de quimioterapia, sendo que o médico autorizador poderá usar os resultados produzidos pela execução das críticas para autorizar ou rejeitar os procedimentos solicitados no laudo médico.

Page 9: Copyright © atech 2004 Fundação Aplicações de Tecnologias Críticas - Atech Rua do Rocio, 313 - 11º andar 04552-000 - Vila Olímpia -São Paulo/SP Tel.: (011)

copyright © atech 2004

Repositório de Regras

O índice de reaproveitamento de uma regra pertencente ao

repositório é alto, uma vez que uma regra de verificação pode se

aplicar a várias situações.

A execução da regra tem como entrada de dados:

parâmetros de execução da máquina de decisão OU

dados provenientes de visões de banco de dados.

O repositório de regras é composto por regras pré-definidas, que podem ser utilizadas por um ou mais

processos de decisão.

As regras são os elementos atômicos que constituem a

máquina de decisão.

Page 10: Copyright © atech 2004 Fundação Aplicações de Tecnologias Críticas - Atech Rua do Rocio, 313 - 11º andar 04552-000 - Vila Olímpia -São Paulo/SP Tel.: (011)

copyright © atech 2004

Exemplos de Regras

No contexto do projeto APAC (Autorização de Procedimentos de Alta Complexidade) podem ser citadas as seguintes regras:

- crítica sobre o limite clínico do procedimento (verifica se o

número de execuções está dentro do limite clínico estabelecido

pela AMB).

- crítica sobre a compatibilidade de procedimento médico

com CID.

- crítica sobre a competência da APAC (verifica se existe outra

APAC autorizada nos últimos “n” meses para o mesmo

procedimento).

- crítica sobre o limite clínico do procedimento (verifica se o

número de execuções está dentro do limite clínico estabelecido

pela AMB).

- crítica sobre a compatibilidade de procedimento médico

com CID.

- crítica sobre a competência da APAC (verifica se existe outra

APAC autorizada nos últimos “n” meses para o mesmo

procedimento).

Page 11: Copyright © atech 2004 Fundação Aplicações de Tecnologias Críticas - Atech Rua do Rocio, 313 - 11º andar 04552-000 - Vila Olímpia -São Paulo/SP Tel.: (011)

copyright © atech 2004

Amplitude do Componente

Sistemas Autorizadores Procedimentos

Médicos

RegrasRegrasRegras

ComponenteGestão de Críticas

EngineMáquina de Decisão

Basede

Dados

. Views do Componente

. Tabelas de Negócio

Sistemas Autorizadores Procedimentos

Médicos

RegrasRegrasRegras

ComponenteGestão de Críticas

EngineMáquina de Decisão

Basede

Dados

Basede

Dados

. Views do Componente

. Tabelas de Negócio

Page 12: Copyright © atech 2004 Fundação Aplicações de Tecnologias Críticas - Atech Rua do Rocio, 313 - 11º andar 04552-000 - Vila Olímpia -São Paulo/SP Tel.: (011)

copyright © atech 2004

Arquitetura Geral do Componente

- Design Patterns: Session Façade Client Façade Value Object

- Design Patterns: Session Façade Client Façade Value Object

- Arquitetura definida pelo Framework:

Searcher: componente de busca Cache: componente para se fazer cache de informações,

visando melhor performance para a solução

- Arquitetura definida pelo Framework:

Searcher: componente de busca Cache: componente para se fazer cache de informações,

visando melhor performance para a solução

- Modelo de três camadas, utilizando-se a tecnologia J2EE:

camada de apresentação: JSP com Framework Struts

camada de lógica de negócio: Session Beans

camada de persistência de dados: Entity Beans

- Modelo de três camadas, utilizando-se a tecnologia J2EE:

camada de apresentação: JSP com Framework Struts

camada de lógica de negócio: Session Beans

camada de persistência de dados: Entity Beans

Page 13: Copyright © atech 2004 Fundação Aplicações de Tecnologias Críticas - Atech Rua do Rocio, 313 - 11º andar 04552-000 - Vila Olímpia -São Paulo/SP Tel.: (011)

copyright © atech 2004

Implementação do Componente

Detalhando a implementação, os destaques são as classes:

MaquinaDecisaoEngine.java Regra.java MaquinaDecisaoResult.java

Detalhando a implementação, os destaques são as classes:

MaquinaDecisaoEngine.java Regra.java MaquinaDecisaoResult.java

Page 14: Copyright © atech 2004 Fundação Aplicações de Tecnologias Críticas - Atech Rua do Rocio, 313 - 11º andar 04552-000 - Vila Olímpia -São Paulo/SP Tel.: (011)

copyright © atech 2004

Classe MaquinaDecisaoEngine

MaquinaDecisaoEngine

+ execute(String, Map, Map) : MaquinaDecisaoResult

Dispara o processamento de uma máquina de decisão

O método execute(…) é a interface entre o componente de gestão de críticas e qualquer sistema autorizador de procedimentos médicos

Dispara o processamento de uma máquina de decisão

O método execute(…) é a interface entre o componente de gestão de críticas e qualquer sistema autorizador de procedimentos médicos

Page 15: Copyright © atech 2004 Fundação Aplicações de Tecnologias Críticas - Atech Rua do Rocio, 313 - 11º andar 04552-000 - Vila Olímpia -São Paulo/SP Tel.: (011)

copyright © atech 2004

Classe Regra

Classe base para todas as classes que implementam as regras do repositório

Cada classe que herda da classe base Regra.java deve implementar o seu método execute(…)

O método execute(…) é o ponto de partida para a execução de uma regra

Classe base para todas as classes que implementam as regras do repositório

Cada classe que herda da classe base Regra.java deve implementar o seu método execute(…)

O método execute(…) é o ponto de partida para a execução de uma regra

cd Engine

Regra

+ setIdRegra(Integer) : void+ getIdRegra() : Integer+ execute(MaquinaDecisaoContext) : RegraResult[]

Page 16: Copyright © atech 2004 Fundação Aplicações de Tecnologias Críticas - Atech Rua do Rocio, 313 - 11º andar 04552-000 - Vila Olímpia -São Paulo/SP Tel.: (011)

copyright © atech 2004

Classe MaquinaDecisaoResult

Encapsula o resultado de execução da máquina de decisão e disponibiliza esses resultados através de métodos

Encapsula o resultado de execução da máquina de decisão e disponibiliza esses resultados através de métodos

cd Engine

MaquinaDecisaoResult

- resultadoRegras: List

+ addRegraResult(RegraResult) : void+ hasFails() : boolean+ getResultadoRegras() : List of RegraResult

Page 17: Copyright © atech 2004 Fundação Aplicações de Tecnologias Críticas - Atech Rua do Rocio, 313 - 11º andar 04552-000 - Vila Olímpia -São Paulo/SP Tel.: (011)

copyright © atech 2004

Dinâmica de Execução

Sistema AutorizadorProcedimentos Médicos

Sistema AutorizadorProcedimentos Médicos

execute

MaquinaDecisaoEngine.java

Execução de RegrasExecução de Regras

MaquinaDecisaoResult.java

Regra.java

Page 18: Copyright © atech 2004 Fundação Aplicações de Tecnologias Críticas - Atech Rua do Rocio, 313 - 11º andar 04552-000 - Vila Olímpia -São Paulo/SP Tel.: (011)

copyright © atech 2004

Preocupações – Projeto/Implementação

Performance: uso de cache para minimizar a instanciação das classes que implementam as regras.

Performance: uso de cache para minimizar a instanciação das classes que implementam as regras.

Isolamento do Componente: uso de visões de banco de dados capazes de retornar os dados necessários para a execução das regras, evitando desta forma o acesso direto às

tabelas de negócio. Com essa independência entre regras

e tabelas de negócio, potencializando o crescimento e

amadurecimento de um repositório de regras que possa ser aplicado a qualquer sistema autorizador de procedimentos médicos, independentemente do modelo de dados adotado por cada sistema.

Isolamento do Componente: uso de visões de banco de dados capazes de retornar os dados necessários para a execução das regras, evitando desta forma o acesso direto às

tabelas de negócio. Com essa independência entre regras

e tabelas de negócio, potencializando o crescimento e

amadurecimento de um repositório de regras que possa ser aplicado a qualquer sistema autorizador de procedimentos médicos, independentemente do modelo de dados adotado por cada sistema.

Page 19: Copyright © atech 2004 Fundação Aplicações de Tecnologias Críticas - Atech Rua do Rocio, 313 - 11º andar 04552-000 - Vila Olímpia -São Paulo/SP Tel.: (011)

copyright © atech 2004

Resultados/Conclusões

Vantagens!

facilidade para se incorporar novas regras ao repositório de regras ganho de qualidade e produtividade, uma vez que regras que estejam no repositório já foram amplamente exercitadas é um componente capaz de produzir informações relevantes a um processo de tomada de decisão

Vantagens!

facilidade para se incorporar novas regras ao repositório de regras ganho de qualidade e produtividade, uma vez que regras que estejam no repositório já foram amplamente exercitadas é um componente capaz de produzir informações relevantes a um processo de tomada de decisão

Desafios!

construção de um repositório de regras delinear o escopo de uma regra e suas variáveis externas não é uma tarefa trivial

Desafios!

construção de um repositório de regras delinear o escopo de uma regra e suas variáveis externas não é uma tarefa trivial

Page 20: Copyright © atech 2004 Fundação Aplicações de Tecnologias Críticas - Atech Rua do Rocio, 313 - 11º andar 04552-000 - Vila Olímpia -São Paulo/SP Tel.: (011)

copyright © atech 2004

Perguntas/Dúvidas

Page 21: Copyright © atech 2004 Fundação Aplicações de Tecnologias Críticas - Atech Rua do Rocio, 313 - 11º andar 04552-000 - Vila Olímpia -São Paulo/SP Tel.: (011)

copyright © atech 2004

Fundação Aplicações de Tecnologias Críticas - AtechRua do Rocio, 313 - 11º andar

04552-000 - Vila Olímpia -São Paulo/SPTel.: (011) 3040.7300 - Fax: (011) 3040.7400