A METHOD FOR GENERATING A MONITORING SIGNAL USING A SUPERVISING ENTITY OR SAFETY MODULE
20170290980 · 2017-10-12
Inventors
- Kurt Friedli (Mannheim, DE)
- Carsten Mueglitz (Schoenau, DE)
- Ralf Schmitz (Weinheim, DE)
- Kai-Oliver Schwenker (HaBloch, DE)
- Thomas Eissenloeffel (Heidelberg, DE)
Cpc classification
G16Z99/00
PHYSICS
A61B5/747
HUMAN NECESSITIES
G16H50/20
PHYSICS
A61M2205/3592
HUMAN NECESSITIES
G16H40/40
PHYSICS
A61M2205/3553
HUMAN NECESSITIES
A61M5/1723
HUMAN NECESSITIES
A61M2205/3569
HUMAN NECESSITIES
G16H10/40
PHYSICS
A61M2205/52
HUMAN NECESSITIES
International classification
Abstract
The present invention relates to method for generating a monitoring signal by monitoring laboratory values of a patient using a medical app (122). The medical app (122) is executed on a mobile device (102) of the patient, wherein the execution of the medical app (122) on the mobile device (102) of the patient is supervised by a supervising entity or safety module (106, 128), the supervising entity or safety module (106, 128) comprising at least executable program instructions (130). The medical app (122) comprises executable instructions for executing at least one sequence of processes for generating the monitoring signal. The processes comprise safety critical processes. The sequence of processes is triggered by the measurement of the blood glucose level of the patient. The method comprises executing a first process of the sequence of processes, wherein the execution results in the generation of an information, forwarding the information of the executed process to the supervising entity or safety module (106, 128), evaluating the received information by the supervising entity or safety module (106, 128) and executing a second process of the sequence of processes depending on the result of the evaluation.
Claims
1. A method for generating a monitoring signal by monitoring laboratory values of a patient using a medical app, the medical app being executed on a mobile device of the patient, wherein the execution of the medical app on the mobile device of the patient is supervised by a supervising entity or safety module, the supervising entity or safety module comprising at least executable program instructions, the medical app comprising executable instructions for executing at least one sequence of processes for generating the monitoring signal, the processes comprising safety critical processes, the sequence of processes being triggered by the measurement of the laboratory values, such as the blood glucose level of the patient, the method comprising: executing a first process of the sequence of processes, wherein the execution results in the generation of an information, forwarding the information of the executed process to the supervising entity or safety module, evaluating the received information by the supervising entity or safety module executing a second process of the sequence of processes depending on the result of the evaluation.
2. The method of claim 1, the sequence of processes comprising processes for measuring or determining at least one laboratory value of the patient, comparing the measured values to predefined ranges of permitted values, and in response to determining that at least one of the measured or determined values is beyond the predefined range, generating the monitoring signal
3. The method of claim 1, wherein the monitoring signal is adapted to trigger the mobile device to make an emergency call.
4. The method of claim 1, wherein the mobile device is connected to a medical device of the patient, wherein the monitoring signal is adapted to trigger the medical device to apply medication such that the laboratory values of the patient are moved into the perimeters of the predefined range.
5. The method of claim 1, wherein the monitoring signal is adapted to trigger the mobile device to emit a perceivable alarm signal.
6. The method of claim 1, wherein the execution of the first process results in the generation of an intermediate result, wherein the intermediate result is passed on to the second process for further processing, wherein the information comprises the intermediate result, wherein the supervising entity or safety module verifies whether the intermediate result is within a defined range of results, wherein the second process of the sequence is only executed if the result has been determined to be within the defined range of results.
7. The method of claim 6, wherein in response to determining that the result is within the predefined range, the supervising entity or safety module generates a trigger signal and transmits the trigger signal to the mobile device, wherein the trigger signal when received by the mobile device triggers the mobile device to execute the second process.
8. The method of claim 6, wherein in response to determining that the intermediate result is not within the defined range of results, the supervising entity or safety module brings the mobile device into a safe state.
9. The method of claim 1, wherein identifiers are assigned to the processes of the sequence, wherein the supervising entity or safety module is operable to access a sequence table, wherein the sequence table comprises entries specifying allowed sequences of processes, wherein the information comprises the identifier of the second process, wherein the supervising entity or safety module verifies whether the second process may be executed subsequent to the first process by looking up the sequence table, and wherein in response to determining that the second process is not allowed to be executed subsequent to the first process the supervising entity or safety module interrupts the execution of the sequence.
10. The method of claim 9, wherein the supervising entity or safety module is adapted to create a log file during execution of the sequence of processes, the log file comprising the identifiers of processes which have already been executed in course of the execution of the sequence of processes.
11. The method of claim 10, wherein the sequence table further comprises information specifying a set of processes which have to be executed prior to the execution of the second process, wherein supervising entity or safety module further verifies whether the set of processes has been executed by looking up the sequence table and comparing the identifiers of the set of processes with the identifiers comprised in the log file.
12. The method of claim 10, wherein the supervising entity or safety module deletes the log file if the sequence of processes has been completed successfully.
13. The method any of claim 9, wherein in response to determining that the second process is not allowed to be executed subsequent to the first process the supervising entity or safety module brings the mobile device into a safe state.
14. The method of claim 8, wherein in the safe state the functionality of the mobile device is reversibly reduced, such that the mobile device is no longer operable to make an emergency call and/or trigger a medical device to apply medication and/or emit a perceivable alarm signal while in the safe state.
15. The method of claim 1 wherein the supervising entity or safety module is operable to address the mobile device to conduct a data processing algorithm, wherein the supervising entity or safety module further provides the mobile device with data for processing using the data processing algorithm, wherein the mobile device in response to being addressed by the supervising entity or safety module conducts the data processing algorithm thereby generating a result, wherein the supervising entity or safety module in response to the mobile device generating the result, verifies the result and in response to successfully verifying the result triggers the mobile device to execute the second process.
16. The method of claim 15, wherein the supervising entity or safety module addresses the mobile device to conduct the data processing algorithm if no allowed range for the intermediate result received with the information is defined.
17. The method of claim 1, wherein the mobile device is connected to a measurement entity, wherein the mobile device when executing the process of measuring at least one laboratory value of the patient addresses the measurement entity to conduct a corresponding measurement and return corresponding measurement values.
18. A system comprising a mobile device being connected to a supervising entity or safety module, wherein the mobile device is operable to execute at least one medical app, wherein the execution of the medical app on the mobile device is supervised by the supervising entity or safety module, the supervising entity or safety module comprising at least executable program instructions, the medical app comprising executable instructions for executing at least one sequence of processes for generating the monitoring signal, the processes comprising safety critical processes, the sequence of processes being triggered by the measurement of laboratory values of the patient, the mobile device being operable to execute a first process of the sequence of processes, wherein the execution results in the generation of an information and to forward the information to the supervising entity or safety module, wherein the supervising entity or safety module is adapted to evaluate the information, wherein the mobile device is further adapted to execute the second process of the sequence of processes depending on the result of the evaluation.
19. The system of claim 18, wherein the supervising entity or safety module comprises at least one processor, a telecommunication interface and a memory, wherein the memory comprises at least executable instructions for evaluating the information, wherein the processor of the supervising entity or safety module is adapted to execute the executable instructions comprised in the memory, and wherein the supervising entity or safety module is adapted to communicate with the mobile device using the communication interface.
20. A medical system comprising an infusion pump for the delivery of a fluid, such as a nutrient and/or medication, into a patient's body, the rate of fluid delivery of the infusion pump being controllable by a control parameter, a sensor for sensing at least one physiological parameter of the patient, a mobile device for execution of a medical app, and a testing module for testing the mobile device, the mobile device being configured to a receive a sensed value of the physiological parameter from the sensor for entry of the value of the physiological parameter into the medical app, b in response to receipt of the value of the physiological parameter, execution of the medical app for determining the control parameter for controlling the infusion pump, the medical app implementing a control algorithm that uses the physiological parameter as an input value, c sending the control parameter to the infusion pump for adjusting the rate of fluid delivery, whereby the medical app is configured to transmit a testing request to the testing module and whereby the medical app is configured such that step c is only executed if the testing module returns a response to the medical app that indicates a positive testing result.
21. The medical system of claim 20, wherein the testing module is a separate hardware entity, wherein the mobile device and the testing module have respective wireless interfaces for transmission of the testing request, the testing result and messages that are interchanged between the mobile device and the testing module for execution of the testing.
22. The medical system of claim 21, wherein the infusion pump is a continuous subcutaneous insulin infusion pump, the fluid containing insulin, and the sensor is a subcutaneous sensor, wherein the physiological parameter sensed by the sensor is the blood glucose level of the patient.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0076] In the following, embodiments of the invention are explained in greater detail by way of example only, making reference to the drawings in which:
[0077]
[0078]
[0079]
[0080]
[0081]
[0082]
[0083]
[0084]
[0085]
[0086]
[0087]
[0088]
[0089]
[0090]
[0091] Like numbered elements in these Figs. are either equivalent elements or perform the same function. Elements which have been discussed previously will not necessarily be discussed in later Figs. if the function is equivalent.
DETAILED DESCRIPTION
[0092]
[0093] The supervising entity or safety module 106 comprises a memory 116 as well as a communication interface 118 and a central processing unit 120.
[0094] For monitoring the laboratory values of a patient the central processing unit 108 of the mobile device 102 comprises a program module further referred to as medical app 122. The medical app 122 is operable to demand laboratory values of a patient using the communication interface 110 from a medical device 104. The medical device 104 when being addressed by the medical app 122 of the mobile device 102 may then execute a program module 124 for measuring laboratory values of the patient. The execution of the program module 124 by the central processing unit 114 of the medical device 104 may then result in the collection of data representative of for example blood values of the patient like the blood glucose level or the oxygen saturation or other data specifying the current condition of the patient. Once this data has been collected by medical device 104 the medical device 104 forwards the collected data to the mobile device 102 using the interfaces 112 and 110. The medical app 122 may then process the received data in order to verify whether the laboratory value calculated from the received data is within a predefined range. For example the medical app 122 may verify whether the blood glucose level of the patient is too high or too low.
[0095] If the medical application 122 determines that the blood glucose level is outside the predefined ranges, the medical app 122 may then address the medical device 104 to initiate counter measures by generating a corresponding monitoring signal and forwarding the signal to the medical device 104. Upon receiving the monitoring signal the medical device 104 may then execute a further program module 126 using the central processing unit 114. The execution of the program module 126 may then cause the medical device 104 to apply a medication to the patient in order to affect the patient such that the laboratory value shifts into the predefined range. For example if the medical app 122 determined that the blood glucose level of the patient is too high the execution of the program module 126 may cause the medical device 104 to inject insulin into the patient's tissue.
[0096] It is also possible that the medical app 122 upon determining that a laboratory value of the patient is outside the predefined range triggers the mobile device 102 to make an emergency call. To this end the mobile device 102 may be programmed such that when making this emergency call the mobile device 102 automatically includes information on the patient, the laboratory value which is outside the predefined ranges and the location of the patient.
[0097] Yet another possibility is that the medical app 122 upon determining that the laboratory value, which has been monitored, is outside the predefined range causes the mobile device 102 to emit a perceivable alarm, for example an alarm sound, vibration or a flashing light in order to inform the patient of his current condition.
[0098] Usually the execution of the medical app 122 will include the execution of a sequence of individual processes. For example, the execution of the sequence of processes may include a first process for determining the laboratory value of the patient, a second process for determining whether the laboratory value is within the predefined range, a third process for displaying the laboratory value to the patient, a fourth process for demanding a confirmation to initiate counter measures and a fifth process to actually initiate these counter measures. In this case the step of initiating counter measures should not be executed unless the step of demanding a confirmation from the patient has already been executed. To make sure that the individual processes of the medical app 122 are executed in a correct way, the central processing unit 108 of the mobile device 102 may further comprise a supervising entity or safety module 128. In this case the supervising entity or safety module 128 is embodied in a task, which is executed by the central processing unit 108 of the mobile device 102.
[0099] In accordance with embodiments of the invention the individual processes of the medical app 122, upon being executed by the central processing unit 108, create information which is forwarded to the supervising entity or safety module 128. Using this information the supervising entity or safety module 128 can then verify whether the medical app 122 is executed correctly and in case the supervising entity or safety module 128 determines that the medical app 122 is not working correctly, the supervising entity or safety module 128 is operable to interrupt the execution of the medical app 122.
[0100] As shown in
[0101] In accordance with embodiments of the invention the medical device 104 may be an infusion pump for the delivery of a fluid into a patient's body, such as an insulin pump for the delivery of insulin for diabetes treatment. The medical device 104 may be coupled to a sensor for sensing at least one physiological parameter of the patient, i.e. a laboratory value such as the blood glucose level of the patient.
[0102] The sensor and/or the medical device 104 may be implemented as a single or two separate implants such as for subcutaneous implantation into the patient's body. The signals delivered by the sensor are evaluated by the program module 124 which results in the determination of the physiological parameter which is then communicated to the mobile device 102 via the communication interface 112 of the medical device 104. The mobile device 102 may be implemented as a mobile telecommunication device, such as a smartphone.
[0103] The mobile device 102 executes the medical app 122 into which the value of the physiological parameter is entered. The medical app 122 implements a control algorithm that uses the physiological parameter as an input value for determining a value of the control parameter for controlling the rate of fluid delivery by the infusion pump. For example, in the case of a diabetes application for diabetes care, the control algorithm may implement any suitable prior art control algorithm for controlling the rate of insulin delivery into a patient's body depending on the measured blood glucose level and/or other additional parameters that may have been received or entered and stored on the mobile device 102.
[0104] The mobile device 102 sends the value of the control parameter to the medical device 104. The value of the control parameter is entered into the program module 126 for controlling the infusion pump in accordance with the value of the control parameter for adjusting the rate of fluid delivery correspondingly.
[0105] In order to improve the safety of the medical system considered here the correct functioning of the mobile device 102 is supervised by a testing module, that may be implemented as a supervising entity 128 that is implemented as a program module, or a safety module 106 that is implemented as a separate hardware unit.
[0106] Alternatively, there may both be a software implemented supervising entity 128 and a hardware implemented safety module 106 for maximum safety. In the following the hardware implemented safety module 106 is considered here by way of example.
[0107] Before the medical app 122 sends the value of the control parameter to the medical device 104, the medical app 122 sends ‘information’ to the safety module 106 that signals a testing request. In response to receipt of the testing request, execution of the program module 130 is invoked for execution of a testing routine.
[0108] Execution of the testing routine may encompass the interchange of several testing messages between the mobile device 102 and the safety module 106 for testing whether the mobile device 102 is in a functional state. In particular, the program module 130 may implement a validation service as described below in particular with respect to
[0109] In case execution of the program module 130 results in a positive testing result that indicates a functional state of the mobile device 102, a respective response is returned from the safety module 106 to the mobile device 102. The medical app 122 only sends the value of the control parameter to the medical device 104 for adjusting the rate of delivery of the infusion pump, if the safety module 106 returns a positive testing result.
[0110] If the testing result is negative, the safety module 106 may return an ‘interrupt’ for interrupting the execution of the medical app 122 and/or for causing the mobile device 102 for outputting a visual, acoustic and/or tactile alert signal for informing the patient as regards the malfunctioning of the mobile device and/or for putting the mobile device 102 into a safe state, such as by disabling the communication interface 111 such that the mobile device 102 is prevented from sending the value of the control parameter to the medical device 104.
[0111] In the following, two possible approaches for supervising the execution of a sequence of processes will be discussed. A first possible embodiment of supervising a sequence of processes is depicted in
[0112] As described before, the execution of these four processes is supervised by the supervising entity or safety module 106. The supervising entity or safety module comprises a table 132, wherein the table is representative of the correct sequence of processing steps. To this end, table 132 may comprise the ID of a currently executed process, the ID of a next expected process and the values of IDs of processes which are not allowed to be executed subsequent to the current process.
[0113] In the situation depicted in
[0114] In general it is possible to create the table 132 such that it contains information on the exact sequence of IDs or rules for IDs, which are not allowed to be executed after a certain ID of a prior process. The table 132 may also comprise the ID of a currently executed process and the process which has to be executed next. In general the approach depicted in
[0115] In the approach depicted in
[0116] Note that in the situation depicted in
[0117] Note that it is also possible to design the supervising entity or safety module 106 depicted in
[0118]
[0119] The supervising entity or safety module 204 acts like a server, while the smart phone 202 can be understood as a client. As a client, the smart phone 202 is operable to connect to a plurality of BLE servers. This way the smart phone 202 does not occupy a physical interface. As a client, the smart phone 202 initiates the connection procedure sends request to the connected server. This way the smart phone 202 may inquire an identifier or can start the validation service of the supervising entity or safety module 204. The identifier serves as an entry into the BLE communication. The identifier is a single characteristic, which can be inquired and whose value is displayed to the user 208 in case of a successful data transfer.
[0120] The validation service is the main function of the supervising entity or safety module 204 and is meant to test the application 206 for correct execution. To this end the supervising entity or safety module 204 is operable to interfere with the activity of the application 206 in case the application 206 intends to execute a critical code sequence. The application 206 does not have the authorization to execute such a critical code sequence and has to request such an authorization from the supervising entity or safety module 204. To this end the supervising entity or safety module 204 may send a validation problem, which has to be solved by the smart phone 202. In case the result of the validation problem is correct, the application 206 will receive the authorization to execute the critical code sequence from the supervising entity or safety module 204. In case the result is not correct, the supervising entity or safety module 204 rejects the execution of the critical code sequence. The corresponding data flow between the smartphone client 202 and the supervising entity or safety module server 204 is illustrated in
[0121]
[0122]
[0123] In the initial state depicted in
[0124] Thus if the medical app 122 determines, that the sequence activated by the user is critical, the medical app 122 or the mobile device 102 establishes a telecommunication connection with the supervising entity or safety module 106, for example via Bluetooth™ Low Energy. The medical app 122 then addresses the supervising entity or safety module to validate the medical app 122 thereby requesting the authorization to start the critical sequence activated by the user.
[0125] Upon being addressed by the medical app 122, the supervising entity or safety module 106 provides the medical app 122 with an arithmetic problem. This may for example be a simple addition of two numbers. The supervising entity or safety module 106 may then comprise a table comprising a plurality of number pairs and the corresponding result of their addition. Once the medical app 122 received the arithmetic problem, the medical app 122 solves the arithmetic problem using the CPU 108 of the mobile device 102 and returns the solution thus determined to the supervising entity or safety module 106. The supervising entity or safety module 106 then verifies, whether the arithmetic problem has been solved correctly.
[0126] If the supervising entity or safety module 106 determines, that the solution returned by the medical app 122 is correct, the supervising entity or safety module 106 authorizes the medical app 122 to execute the critical sequence activated by the user. The medical app 122 then executes the critical sequence and returns results of the critical sequence to the user if there are any results to be returned. Once the execution of the critical sequence has finished, the medical app 122 may then cause the mobile device 102 to disconnect from the supervising entity or safety module 106 and wait for further user entries.
[0127] If however the supervising entity or safety module 106 determines, that the solution returned by the medical app 122 is incorrect, the supervising entity or safety module 106 denies authorization of the medical app 122 to execute the critical sequence. The medical app 122 in response to receiving the denial may then display an error message to the user. Further the medical app 122 may cause the mobile device 102 to disconnect from the supervising entity or safety module 106 and to terminate the medical app 122, as the correct execution of sequences can no longer guaranteed.
[0128] It has to be noted that the user input of the diagrams depicted in
[0129]
[0130]
[0131]
[0132] In case the value has changed and this change has been submitted to the application 206, the second value is being read and the validation problem is solved by the smart phone 202. Upon sending the result of the validation problem the supervising entity or safety module 204 sends an integer value to the application, wherein the application is operable to interpret said integer value as an authorization or denial for executing the critical code sequence. In case of an authorization the activity of the code sequence marked as critical is started. In case of a denial the user is informed 208 that the request for executing has been denied and the application 206 is closed.
[0133] The validation problem described in
[0134]
[0135]
[0136]
[0137]
[0138] It has to be noted that the user input of the diagrams depicted in
[0139] Further embodiments related to the invention are described in the attached scientific annex.
LIST OF REFERENCE NUMERALS
[0140] 100 System [0141] 102 Mobile Device [0142] 104 Medical Device [0143] 106 safety module (Supervising Entity) [0144] 108 CPU [0145] 110 Communication Interface [0146] 112 Interface [0147] 114 CPU [0148] 116 Memory [0149] 118 Communication Interface [0150] 120 CPU [0151] 122 Medical App [0152] 124 Program Module [0153] 126 Program Module [0154] 128 Supervising entity [0155] 130 Program Module [0156] 132 Table [0157] 134 Table [0158] 200 System [0159] 202 Smartphone Client [0160] 204 Supervising entity or safety module Server [0161] 206 Application [0162] 208 User