The Organisation
EUROPEAN MEDICINES VERIFICATION SYSTEM (EMVS)
The European Parliament and Council released a Directive on Falsified Medicine. It aims at improving patient safety by mandating the Marketing Authorisation Holders and manufacturers to put a system in place that is preventing falsified medicines from entering the legal supply chain, the European Medicines Verification System. The European Medicines Verification System (EMVS) should guarantee medicines authenticity by an end-to-end verification.
The Antidote
EMVS REQUIREMENTS
In essence, manufacturers will be required to print a Data Matrix code, which incorporates a unique identifier (UI) and apply an anti-tampering device on the outer packaging of all medicines for each individual sales package.
At the point of dispense the medicine will be scanned, checked and verified for authenticity against a national (or supranational) repository. If the UI on the pack matches the information in the repository, the pack is decommissioned and supplied to the patient. Otherwise, if there is a warning related to this pack, then the system will highlight this as an exceptional event and the package will not be supplied to the patient. An investigation needs to determine whether the pack has been falsified or not.
The Challenge
After some initial prototyping and an attempt at using the Windows Workflow Foundation to provide the engine capabilities, a number of requirements could not be met so a bespoke solution would need to be developed.
Additionally an instrumentation solution for auditing and logging across the entire service architecture needed to be developed.
If you would like some assistance with .NET MAUI | Azure | Azure DevOps Services | Blazor Development then please get in touch, we would be glad to help.
THE SOLUTION
The solution made extensive use of Azure Service Bus, Topics and Queues, Worker roles and a bespoke Workflow Engine along with semantic logging.
The workflow engine
Assemblysoft worked alongside the internal development team and Microsoft consultants to design and build a bespoke Workflow Engine that would run in Microsoft Azure. Having previous experience developing with the Windows Workflow Foundation, we were able to model and apply some best practices to the new engine.
The engine was dynamic and fluid in nature to cater for the amount of different paths into the system and dynamic decisions that would be required based on the characteristics of each request. It proved a big hit with the developers that worked against the design of the coded workflows with 6 sub teams developing individual complex workflows using the model workflow developed to demonstrate typical use-cases.
The instrumentation
Once the core workflow engine development was complete, we turned our attention to the auditing and logging. We utilised a Semantic Logging solution based on the enterprise nature that enabled us to provide custom event sources and schematic data to model the different layers in the application.
ADDED VALUE
- Delivery : We delivered on time
- Flexibility : The workflow engine covered all the use cases
- Performance: Tests conducted with several billion records
- Cross cutting and consistent Logging and Auditing insights across all teams and application services
At Assemblysoft we specialise in Custom Software Development tailored to your requirements. We can onboard and add value to your business rapidly. We are an experienced Full-stack development team able to provide specific technical expertise or manage your project requirements end to end. We specialise in the Microsoft cloud and .NET Solutions and Services. Our developers are Microsoft Certified. We have real-world experience developing .NET applications and Azure Services for a large array of business domains. If you would like some assistance with Azure | Azure DevOps Services | Blazor Development | .NET MAUI Development or in need of custom software development, from an experienced development team in the United Kingdom, then please get in touch, we would love to add immediate value to your business.
Assemblysoft - Your Safe Pair of Hands
Reference
https://www.codeproject.com/articles/602077/instrumentationpluswithplussemanticplusloggingplus