Domain-Specific Language for Medical Algorithm Validation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The development of Software as Medical Devices (SaMDs) faces challenges due to the need for separate development for different target architectures, such as Apple iOS and Google Android, leading to increased effort, risk of different implementations, and delays in the iterative process, as well as the difficulty for healthcare professionals to verify medical logic within general-purpose programming languages.

Innovation Solution

The use of a Domain-Specific Language (DSL) within a language workbench environment for designing, simulating, and testing medical algorithms, allowing for the generation of a stream of data representative of the algorithms that can be executed on multiple architectures with a unified run-time environment, enabling easier understanding and validation by non-software experts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If separate development is performed for each target architecture (iOS, Android, Web), then the software can be optimized for each platform, but the development effort doubles and the risk of different implementations increases

Engineering Contradiction:
Improveplatform compatibilityVSAvoiddevelopment complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies universality by creating a single medical algorithm written in GPL that can be executed across multiple target architectures (iOS, Android, Web) through a unified run-time environment. This eliminates the need for separate development versions while maintaining platform compatibility, directly resolving the contradiction between adaptability and development complexity

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Adaptability or versatility

If general-purpose programming languages (GPL) are used for software development, then flexibility in design and architecture is provided, but medical logic becomes hard to separate from house-keeping logic and verification by healthcare professionals becomes difficult

Engineering Contradiction:
Improvedesign flexibilityVSAvoidmedical logic verification
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent applies segmentation by separating medical logic from house-keeping logic through distinct layers: the medical algorithm written in GPL and the run-time environment handling platform-specific operations. This segmentation allows healthcare professionals to verify only the medical logic layer while the run-time environment handles technical implementation details, resolving the verification difficulty while maintaining design flexibility

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If software is developed using GPL with multiple target architecture support, then cross-platform capability is achieved, but delays occur between ideation/specification and realization phases due to implementation complexity

Engineering Contradiction:
Improvecross-platform capabilityVSAvoiddevelopment time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-building a run-time environment that handles platform-specific operations before the actual software deployment. This pre-established infrastructure allows medical algorithms to be rapidly deployed across multiple platforms without repeated implementation work, reducing development time while maintaining cross-platform capability

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10795806B2Devices and methods for generating a stream of health-related data
Publication Date: 2020.10.06 VOLUNTIS SA
  • US10795806B2 patent drawing
  • US10795806B2 patent drawing
  • US10795806B2 patent drawing

AI summary

A method and device for generating a stream of data that is representative of at least an algorithm (44) of a software as a medical device. To reach that aim, the method comprises designing (41) the at least an algorithm using first programming language items of a determined domain-specific language (DSL), which is obtained using a determined language workbench (LWB) environment. The method further comprises simulating (42) an executing of the at least an algorithm with a simulation environment obtained using second programming language items of the determined DSL, the simulating being implemented in the determined LWB environment; testing (43) the at least an algorithm with at least a test function written with third programming language items of the DSL, the testing being implemented in the determined LWB environment; and generating (440) the stream of data.