| Name: | Description: | Size: | Format: | |
|---|---|---|---|---|
| 5.47 MB | Adobe PDF |
Authors
Advisor(s)
Abstract(s)
Campaign configuration in the pharmaceutical software is a complex and critical to business
processes, where errors can directly affect revenue, compliance and customer satisfaction. In
the ePharma platform, campaigns are currently embedded in the application code, making
them rigid, error-prone and costly to maintain.The present work addresses these limitations by
proposing, designing and implementing a Domain-Specific Language (DSL) and supporting rule
engine to decouple campaign logic from the core system.
The DSL was designed to express business rules declaratively, in a human-readable format, to
enable marketing and business analysts to define and modify campaign without requiring
developer intervention.The implemented system adopts an input validation pipeline and a
modular and extensible rule engine. The validation pipeline includes schema checks, semantic
validation and runtime consistency checks.
The solution was validated through unit, mutation and integration tests, achieving 97% line
coverage, 94% mutation coverage and full test strength. These results highlight the feasibility
and robustness of the approach.
The outcomes suggest that this DSL-based approach is a sustainable solution for campaign
management in pharmaceutical systems, and improved the maintainability, adaptability and
agility of the previous system.
Graphical authoring tools and advanced validation are envisaged as future improvement
opportunities.
A configuração de campanhas comerciais em sistemas farmacêuticos representa um processo crítico, onde a precisão e a rapidez de resposta são essenciais para garantir a competitividade e a conformidade regulatória. Na plataforma ePharma, as campanhas estão atualmente definidas diretamente no código da aplicação, o que leva a uma arquitetura rígida, difícil de manter e altamente dependente de intervenção técnica. Este modelo resulta em custos extremamente elevados, lentidão na implementação e edição de campanhas e maior propensão a erros humanos. Com o objetivo de ultrapassar estas limitações, este trabalho propôs, desenhou e implementou uma Linguagem Específica de Domínio (DSL), acompanhada por um motor de regras, destinada à configuração de campanhas. A DSL foi concebida com o intuito de permitir a expressão declarativa de regras de negócio num formato legível por humanos, promovendo assim a autonomia de analistas de negócio e equipas de marketing para criar, alterar e validar campanhas. Esta abordagem democratiza o processo de configuração, reduzindo a dependência em programadores e aumentado a agilidade na resposta às necessidades do mercado. Um dos aspetos principais da solução é a pipeline de validação, que atua em diferentes níveis: 1. Validação estrutural, garantindo a correta utilização de campos e tipos. 2. Validação semântica, assegurando a consistência de parâmetros. A implementação foi avaliada através de um conjunto abrangente de testes unitários, de mutação e de integração. Os resultados demonstram uma cobertura de código de 97%, confirmando a robustez da solução e a sua capacidade de deteção de falhas. A abordagem revelou claras melhorias em manutenibilidade, pela separação entre lógica de negócio e o código da aplicação; em adaptabilidade, através de uma arquitetura modular extensível; e em agilidade, pela possibilidade de definir e atualizar campanhas mais rápido e com mais segurança. Os principais contributos desta dissertação podem ser classificados em três dimensões distintas: • Conceptual – formalização do domínio da configuração de campanhas, incluindo modelos de entidades, especificações e restrições. • Metodológica – definição de uma DSL, com serialização em JSON. • Prática – implementação de um protótipo funcional integrado na plataforma ePharma, validado com testes sistemáticos e dados representativos. Apesar dos avanços alcançados, algumas limitações foram identificadas. A utilização de JSON, embora legível, pode revelar-se complexa para utilizadores não técnicos ao expressar regras compostas profundas. A dependência de serviços externos para a construção do contexto de avaliação introduz pontos de falha, como riscos de disponibilidade e desempenho. Finalmente, a manutenção contínua da pipeline de validação será necessária para acompanhar a evolução das regras de negócio. Como trabalho futuro, três propostas foram identificadas: • Ferramentas gráficas de autoria de campanhas – abstrair o JSON em componentes visuais (por exemplo, formulários e mecanismos de arrastar-e-largar). • Mecanismos avançados de validação e simulação – permite observar o impacto antecipado das campanhas em diferentes cenários de dados com mais dinamismo. • Otimização de desempenho e escalabilidade – explorar estratégias como cache e execução paralela para garantir tempos de resposta adequados mesmo em cenários de elevada complexidade. Em forma de conclusão, este trabalho confirma que uma abordagem baseada em DSL constitui uma solução viável, sustentável e inovadora para o problema em questão, mais propriamente, a gestão de campanhas na indústria farmacêutica. A solução proposta responde às limitações identificadas, melhora a eficiência operacional e estabelece bases sólidas para futuras evoluções da plataforma ePharma.
A configuração de campanhas comerciais em sistemas farmacêuticos representa um processo crítico, onde a precisão e a rapidez de resposta são essenciais para garantir a competitividade e a conformidade regulatória. Na plataforma ePharma, as campanhas estão atualmente definidas diretamente no código da aplicação, o que leva a uma arquitetura rígida, difícil de manter e altamente dependente de intervenção técnica. Este modelo resulta em custos extremamente elevados, lentidão na implementação e edição de campanhas e maior propensão a erros humanos. Com o objetivo de ultrapassar estas limitações, este trabalho propôs, desenhou e implementou uma Linguagem Específica de Domínio (DSL), acompanhada por um motor de regras, destinada à configuração de campanhas. A DSL foi concebida com o intuito de permitir a expressão declarativa de regras de negócio num formato legível por humanos, promovendo assim a autonomia de analistas de negócio e equipas de marketing para criar, alterar e validar campanhas. Esta abordagem democratiza o processo de configuração, reduzindo a dependência em programadores e aumentado a agilidade na resposta às necessidades do mercado. Um dos aspetos principais da solução é a pipeline de validação, que atua em diferentes níveis: 1. Validação estrutural, garantindo a correta utilização de campos e tipos. 2. Validação semântica, assegurando a consistência de parâmetros. A implementação foi avaliada através de um conjunto abrangente de testes unitários, de mutação e de integração. Os resultados demonstram uma cobertura de código de 97%, confirmando a robustez da solução e a sua capacidade de deteção de falhas. A abordagem revelou claras melhorias em manutenibilidade, pela separação entre lógica de negócio e o código da aplicação; em adaptabilidade, através de uma arquitetura modular extensível; e em agilidade, pela possibilidade de definir e atualizar campanhas mais rápido e com mais segurança. Os principais contributos desta dissertação podem ser classificados em três dimensões distintas: • Conceptual – formalização do domínio da configuração de campanhas, incluindo modelos de entidades, especificações e restrições. • Metodológica – definição de uma DSL, com serialização em JSON. • Prática – implementação de um protótipo funcional integrado na plataforma ePharma, validado com testes sistemáticos e dados representativos. Apesar dos avanços alcançados, algumas limitações foram identificadas. A utilização de JSON, embora legível, pode revelar-se complexa para utilizadores não técnicos ao expressar regras compostas profundas. A dependência de serviços externos para a construção do contexto de avaliação introduz pontos de falha, como riscos de disponibilidade e desempenho. Finalmente, a manutenção contínua da pipeline de validação será necessária para acompanhar a evolução das regras de negócio. Como trabalho futuro, três propostas foram identificadas: • Ferramentas gráficas de autoria de campanhas – abstrair o JSON em componentes visuais (por exemplo, formulários e mecanismos de arrastar-e-largar). • Mecanismos avançados de validação e simulação – permite observar o impacto antecipado das campanhas em diferentes cenários de dados com mais dinamismo. • Otimização de desempenho e escalabilidade – explorar estratégias como cache e execução paralela para garantir tempos de resposta adequados mesmo em cenários de elevada complexidade. Em forma de conclusão, este trabalho confirma que uma abordagem baseada em DSL constitui uma solução viável, sustentável e inovadora para o problema em questão, mais propriamente, a gestão de campanhas na indústria farmacêutica. A solução proposta responde às limitações identificadas, melhora a eficiência operacional e estabelece bases sólidas para futuras evoluções da plataforma ePharma.
Description
Keywords
Domain-Specific Language Rule Engine Campaign Configuration Pharmaceutical Industry Business Rules Software Architecture Linguagem Específica de Domínio Motor de regras Configuração de campanhas Indústria farmacêutica Regras de negócio Arquitetura de software
