FAST TEST FOR MEDICAL PUMP
20210146032 · 2021-05-20
Inventors
Cpc classification
A61M5/16831
HUMAN NECESSITIES
A61M1/3629
HUMAN NECESSITIES
International classification
Abstract
A method and apparatus are provided for use with a pump. The method includes, (a) placing liquid in a tube coupled to the pump, (b) injecting an air bubble into the tube in a manner that does not increase pressure within the tube, and such that there is a predetermined volume of liquid between the air bubble and the pump, (c) using the pump to advance the air bubble along the tube to the bubble detector of the pump, (d) using the pump, assessing accuracy of the pump by automatically measuring the volume of liquid pumped to advance the air bubble to the bubble detector, and (e) using the pump to continue advancing the air bubble along the tube, past the bubble detector, and using the pump to measure a volume of the air bubble. Other applications are also described.
Claims
1.-24. (canceled)
25. A method for use with a pump, the method comprising: (A) placing liquid in a tube that is coupled to the pump; (B) creating an air bubble in the tube by injecting air into the tube (a) in a manner that does not increase pressure within the tube, and (b) such that there is a predetermined volume of liquid between the air bubble and the pump; (C) using the pump to advance the air bubble along the tube to the bubble detector of the pump; (D) using the pump, assessing accuracy of the pump by automatically measuring the volume of liquid pumped to advance the air bubble to the bubble detector; and (E) using the pump to continue advancing the air bubble along the tube, past the bubble detector, and using the pump to measure a volume of the air bubble.
26. The method according to claim 25, wherein automatically measuring the volume of liquid pumped to advance the air bubble to the bubble detector comprises automatically assessing the number of pumping cycles during which the pump advances the air bubble to the bubble detector.
27.-28. (canceled)
29. The method according to claim 25, wherein assessing accuracy of the pump comprises determining a level of pumping accuracy of the pump.
30. The method according to claim 25, wherein assessing accuracy of the pump comprises determining a volume of the liquid that is pumped per pumping cycle of the pump.
31. The method according to claim 25, wherein using the pump to advance the air bubble along the tube comprises driving the liquid within the tube that is downstream of the pump to advance along the tube and subsequently exit the tube into a reservoir from which the pump is operatively coupled to pump the liquid.
32. The method according to claim 25, wherein using the pump to continue advancing the air bubble along the tube, past the bubble detector, comprises using the pump to continue advancing the air bubble along the tube, past the pump.
33. The method according to claim 25, wherein using the pump to measure the volume of the air bubble comprises using the bubble detector of the pump to measure the volume of the air bubble.
34. The method according to claim 25, wherein using the pump to measure the volume of the air bubble comprises assessing the number of pumping cycles of the pump during the advancing of the air bubble past the bubble detector of the pump.
35-36. (canceled)
37. The method according to claim 25, wherein the method further comprises: measuring a value of an air-signal generated by the bubble detector in response to the bubble detector detecting the air bubble; and determining if a value of the air-signal is within a predetermined range of values for detection of an air bubble.
38. The method according to claim 37, wherein measuring the value of the air-signal comprises measuring the value of an analog-to-digital (A/D) air signal generated by the bubble detector in response to the bubble detector detecting the air bubble.
39-42. (canceled)
43. The method according to claim 25, wherein injecting the air into the tube comprises injecting the air into the tube at a location that is upstream of the pump.
44. The method according to claim 25, further comprising: (F) subsequently, occluding the tube downstream of the air bubble, (G) using the pump to increase pressure within the tube by pumping a volume of liquid, (H) using the pump to measure the volume of liquid pumped to increase pressure within the tube; (I) assessing the increase in pressure within the tube based on (a) the measured volume of liquid pumped to increase the pressure within the tube and (b) the measured volume of the air bubble; (J) using a sensor of the pump, measuring a sensed increase in pressure in the tube in response to the pumping of the volume of liquid; and (K) assessing accuracy of the sensor based on the assessed increase in pressure and the sensed increase in pressure.
45. The method according to claim 44, wherein occluding the tube downstream of the air bubble comprises occluding the tube downstream of the pump.
46. The method according to claim 44, wherein the pump is a first pump, and wherein the method further comprises, subsequently to step (K): (i) removing the occlusion of the tube, (ii) disconnecting the first pump from the tube; (iii) coupling a second pump to the tube; and (iv) repeating steps (B) through (K) using the second pump.
47. The method according to claim 46, wherein repeating steps (B) through (K) using the second pump comprises repeating steps (B) through (K) without repeating step (A) prior to the repeating of steps (B) through (K).
48. (canceled)
49. The method according to claim 46, wherein repeating steps (B) through (K) comprises using the same tube to repeat steps (B) through (K) 10-50 times using a respective pump each time.
50. The method according to claim 46, wherein the air bubble created in step (B) using the first pump is a first air bubble, and wherein repeating step (B) using the second pump comprises creating a second air bubble in the tube while the first air bubble remains within the tube at a location that is downstream of the pump.
51. (canceled)
52. The method according to claim 51, wherein repeating steps (B) through (E) using the second pump comprises driving the first air bubble to advance along the tube and subsequently exit the tube into a reservoir from which the pump is operatively coupled to pump the liquid.
53. The method according to claim 25, wherein using the pump to advance the air bubble along the tube to the bubble detector comprises using the pump to advance the air bubble through a length of tube that is 20-200 cm long.
54. The method according to claim 25, wherein using the pump to advance the air bubble along the tube to the bubble detector comprises using the pump to advance the air bubble from a location that is at a height of 0-100 cm above the pump, with respect to the direction of gravity.
55.-71. (canceled)
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0177]
[0178]
[0179]
DETAILED DESCRIPTION
[0180] Reference is now made to
[0181] Typically, cap 34 of reservoir 22 is coupled to tube 24 prior to tube 24 being packaged for commercial sale, i.e., cap 34 is coupled to tube 24 in commercial packaging 25. When tube set 20 is removed from commercial packaging 25, e.g., by the technician who is testing the pumps, reservoir 22 is filled with liquid, e.g., water, upstream end 26 of tube 24 is coupled to reservoir 22 via reservoir connector 30, and cap 34 used to close reservoir 22, thereby coupling downstream end 28 of tube 24 to reservoir 22.
[0182] Tube 24 of tube set 20 typically has at least four tube segments. A first segment 36, a second segment 38 downstream of first segment 36, a third segment 40 downstream of second segment 38, and a fourth segment 52 downstream of third segment 40. In use, first segment 36 is coupled to reservoir 22 (e.g., via reservoir connector 30 as described hereinabove) such that liquid from reservoir 22 is received within first segment 36 through an upstream end 42 of first segment 36. Tube 24 is operatively coupled to a pump at a downstream end 44 of second segment 38 and at an upstream end 46 of third segment 40. Typically, tube 24 is operatively coupled to the pump via a tube cartridge 48, through which is disposed a pump segment 50 of tube 24, pump segment 50 of tube 24 being between second segment 38 and third segment 40. Tube cartridge 48 is coupled to tube 24 at a fixed location along tube 24.
[0183] Fourth segment 52 typically leads back to reservoir 22 when tube set 20 is assembled, such that liquid 76 from fourth segment 52 is received within reservoir 22 through downstream end 54 of fourth segment 52. Cap 34 of reservoir 22 is typically coupled to fourth segment 52 of tube 24 at a downstream end 54 of fourth segment 52. Alternatively, for some applications, downstream end 28 of tube 24 may not lead back to reservoir 22, but rather may be set up to drain into an external receptacle as liquid is advanced through tube set 20.
[0184] An air port 56 is coupled to tube 24, typically via a connector 57, e.g., a Y-connector or a T-connector, at downstream end 58 of first segment 36 and at upstream end 60 of second segment 38, such that (a) first segment 36 of tube 24 is between reservoir 22 and air port 56 and (b) second segment 38 of tube 24 is between air port 56 and the pump when tube 24 is operatively coupled to the pump. For some applications, air port 56 includes (i) a syringe 62, (ii) a plunger 64 disposed within the barrel of syringe 62, (iii) a first one-way valve 66 positioned so as to allow fluid, e.g., air, to flow from air port 56 into first segment 36 of tube 24, and a second one-way valve 68 positioned so as to allow air from the external environment into air port 56, i.e., into syringe 62. Thus, air port 56 facilitates insertion of an air bubble into tube 24, i.e., into first segment 36 of tube 24, as further described hereinbelow with reference to
[0185] A tube-occluding element 70, e.g., a valve, is coupled to a downstream end 72 of third segment 40 and an upstream end 94 of fourth segment 52. Tube-occluding element 70 is used to reversibly occlude tube 24, e.g., by toggling the valve between open and closed positions, or sliding a clamp on and off tube 24.
[0186] Reference is now made to
[0187] Typically, dimensions of the various tube segments (further described hereinbelow) are selected such that (a) second segment 38 defines a predetermined volume of liquid between air port 56 and a pump when tube 24 is filled with liquid, (b) third segment of tube 24 is longer than first segment 36, and (c) third segment 40 of tube 24 is shorter than second segment 38.
[0188] As described hereinabove and further described hereinbelow with reference to
[0189] In accordance with some applications of the present invention, dimensions of the various segments and components of tube set 20 are as follows, further described hereinbelow: [0190] First segment 36 of tube 24 spans from first one-way valve 66 to reservoir connector 30, and typically has a length L1 of at least 2 cm and/or less than 50 cm, e.g., cm. (Length L1 includes the length of reservoir connector 30.) [0191] Second segment 38 of tube 24 spans from connector 57 to tube cartridge 48, and typically has a length L2 of at least 20 cm and/or less than 200 cm, e.g., 99 cm, as further described hereinbelow. As shown in
[0200] When tube set 20 is assembled, and tube 24 is operatively coupled to a pump air port 56 is typically disposed at a location that is at a height H of at least 0 cm and/or less than 100 cm above the pump, with respect to gravity. Additionally, when tube 24 is operatively coupled to a pump, second segment 38 of tube 24 is maintained between the height of the location above the pump and the pump, with respect to gravity, further described hereinbelow with reference to
[0201]
[0202]
[0203]
[0204] In accordance with some applications of the present invention, when tube set 20 is filled with liquid 76, the various segments and components of tube set 20 hold the following volumes of liquid: [0205] First segment 36 typically holds at least 0.5 ml and/or less than 3 ml, e.g., 1 ml. [0206] Connector 57 typically holds approximately 0.5 ml. [0207] Second segment 38 of tube 24 typically holds at least 4 ml and/or less than 20 ml, e.g., 7.3 ml. [0208] Pump segment 50, including tube connectors on either side of pump segment 50, typically holds at least 0.5 ml and/or less than 2 ml, e.g., 0.8 ml. [0209] Third segment 40 of tube 24 typically holds at least 2 ml and/or less than 8 ml, e.g., 4 ml. [0210] Fourth segment 52 of tube 24 typically holds at least 1 ml and/or less than 5 ml, e.g., 3 ml. [0211] Full tube set 20 typically holds at least 7 ml and/or less than 30 ml, e.g., 15.9 ml.
[0212] Typically, a volume of fluid that is larger than the full volume that tube set 20 can hold, e.g., 2 ml larger, is used in order to prime the set, so as to ensure that indeed the entire tube 24 is filled with liquid 76. Thus, for example, if tube set 20 holds a total of 15.9 ml of liquid, then 17.9 ml of liquid is pumped using pump 100 in order to prime the set. Liquid droplets 110 in
[0213]
[0214]
[0215]
[0216]
[0217] For some applications, pump 100 measures the volume of liquid 76 that is pumped to advance air bubble 80 to bubble detector 102 by assessing, e.g., counting, the number of pumping cycles during which pump 100 advances air bubble 80 to bubble detector 102. Pump 100 may assess, e.g., count, an integer number of pumping cycles of pump 100 as well as a non-integer number of pumping cycles of pump 100. It is possible that when downstream end 116 of air bubble 80 reaches bubble detector 102, pump 100 may be in the middle of a pumping cycle. Thus, in order for pump 100 to measure the volume pumped it must know exactly where in the current pumping cycle bubble detector 102 detected downstream end 116 of air bubble 80. Typically, a DC motor that comprises an indexed encoder is used to run pump 100. When bubble detector 102 detects downstream end 116 of air bubble 80, exactly which encoder the DC motor is at indicates to pump 100 where in the pumping cycle pump 100 is, which indicates the volume pumped up to that point in the pumping cycle.
[0218] Based on the volume of liquid 76 that is pumped to advance air bubble 80 to bubble detector 102, as measured by pump 100, a parameter, e.g., accuracy of pump 100, e.g., a level of pumping accuracy of pump 100, is determined. Typically, the pumping accuracy is determined by a comparison between (i) the measured volume of liquid 76 pumped, e.g., as determined by the number of pump cycles counted by pump 100, and (ii) the predetermined volume of liquid 76 between downstream end 116 of air bubble 80 and pump 100, as defined by the dimensions of tube set 20 described hereinabove. For some applications, determining the accuracy of pump 100 includes determining a volume of liquid 76 that is pumped per pumping cycle of pump 100. In order for pump 100 to accurately maintain set flow rates while in operation, e.g., while delivering a therapeutic or diagnostic substance to a subject, it is important that the volume of liquid being pumped per pumping cycle be properly calibrated.
[0219] As described hereinabove, as air bubble 80 is advanced to bubble detector 102 of pump 100, air bubble 80 advances along a length of tube that is at least 20 cm and/or less than 200 cm, e.g., 99 cm, long. The inventor has realized that if second segment 38 is too short, the results of the pumping accuracy determination may not be accurate. Thus, it is important for second segment 38 of tube 24 to be long enough in order for the results of the pumping accuracy determination to be accurate.
[0220] The inventor has also realized that, due to the tendency of air to float in liquid, if tube 24 is positioned such that large portions of second segment 38 are vertical with respect to gravity, air bubble 80 may tend to float upwards while pump 100 is trying to advance it toward bubble detector 102. Thus, when assembled, air port 56 and pump 100 are positioned such that pump 100 advances air bubble 80 from a location that is at height H above pump 100 with respect to the direction of gravity. Height H is at least 0 cm and/or less than 100 cm. Furthermore, the inventor has realized that it is advantages to ensure that the entire length of tube in second segment 38 is maintained between the height of air port 56 and pump 100 with respect to the direction of gravity, such that air bubble 80 is maintained between the height of air port 56 and pump 100 as air bubble 80 advances through second segment 38. Since second segment 38 is typically relatively long, e.g., 99 cm, a portion 120 of second segment is typically coiled up, such that the entire length of second segment 38 is situated between air port 56 and pump 100 with respect to the direction of gravity.
[0221]
[0222]
[0223]
[0224] As described hereinabove, it is important that third segment 40 be longer than first segment 36 so as to ensure that the entirety of air bubble 80 is disposed within third segment 40 at this point in the test. Furthermore, it is possible that as air bubble 80 advances through tube 24, the air bubble will split into a plurality of smaller air bubbles that may be spaced apart from each other by small volumes of liquid 76. Thus, by the time air bubble 80 is past pump 100, the length of tube between downstream end 116 of air bubble 80 and upstream end 124 of air bubble 80 may be longer than length L1 of first segment 36 (where the air bubble was originally inserted). Thus, typically, length L5 of third segment 40 (shown in
[0225] With regards to potential user errors, the system as described hereinabove is generally immune to user errors having to do with insertion of air bubble 80. If the user inserts too much air, the excess air simply exits tube 24 into reservoir 22 without any effect on the length of the air bubble, as described hereinabove. If the user, in error, forgot to insert air bubble 80 but confirmed the insertion of air bubble 80, pump 100 will start to run as if to perform the first stage of the test, i.e., pumping accuracy determination. After pumping a predetermined volume of liquid 76 that is large enough such that downstream end 116 of air bubble 80 should have been detected by bubble detector 102, pump 100 will stop and alert the user than an error has occurred. The user will be given instructions to insert an air bubble and confirm in order to restart the test. If the user inserts air bubble 80, but does not insert enough air, e.g., less than 0.5 ml, then when pump 100 measures volume V0 of air bubble 80, pump 100 will stop and alert the user than an error has occurred. The user will be given instructions to insert another air bubble and confirm in order to restart the test.
[0226] After the upstream end of air bubble 80 is downstream of pump 100, the user is given instructions to occlude tube 24 downstream of air bubble 80 with tube-occluding element 70, and to confirm the occlusion in order to move on to the calibration test of an occlusion sensor, e.g., force sensor 104 of pump 100.
[0227]
[0228] (i) P0 is typically atmospheric pressure prior to air bubble 80 being compressed,
[0229] (ii) V0 is the measured volume of air bubble 80 prior to being compressed,
[0230] (iii) V1 is the compressed volume of air bubble 80, which is calculated based on the volume pumped (Vp) and the measured volume V0, and
[0231] (iv) P1 is the calculated expected pressure when air bubble 80 is compressed. For example, if Vp=0.5*V0 then the expected pressure increase is 1 bar. If Vp=⅓*V0, then the expected pressure increase is 0.5 bar.
[0232] The occlusion sensor, e.g., force sensor, 104 then measures the increase dP (measured) in pressure within tube 24. The calculated (expected) and measured pressures are compared, and if the difference between them is within the tolerances of pump 100 then the test of the pressure sensor is considered to indicate proper functioning of pump 100, and if not, a malfunction of pump 100. For some applications, pump 100 pumps liquid 76 until pump 100 measures a volume pumped (Vp) that is equal to another value that is a percentage, e.g., 20%-60%, of volume V0 of air bubble 80. To avoid excess pressure, a maximum Vp (Vpmax) is typically set such that the pump stops if Vp>Vpmax, even if the expected pressure was not reached. This could potentially happen in a case where there are errors in V0 or dP measurements.
[0233] Based on the measured volume V0, the measured volume of liquid 76 pumped in order to compress air bubble 80, and the fact that before tube 24 was occluded liquid 76 within tube 24 was exposed to atmospheric pressure P0 of typically 1 bar, the following equation may be used to assess, e.g., calculate an expected increase in pressure dP(expected):
[P0+dP (expected)]*V1=P0*V0 [Eqn 1] [0234] which translates to (as an example):
dP (expected)=V0*[1/(V0−V0/3)]−1=1.5−1=0.5 bar
[0235] Thus, the expected increase in pressure of typically 0.5 bar is compared to the sensed increase in pressure dP (measured), as measured by occlusion sensor, e.g., force sensor, 104 in response to pump 100 pumping volume Vp, in order to assess the accuracy of occlusion sensor, e.g., force sensor, 104. As described hereinabove, if air bubble 80 is measured to be too small, e.g., less than 0.5 ml, then the user is asked to restart the test. This is due to the inventor having realized that if air bubble 80 is too small, the results of the force sensor accuracy determination may not be accurate.
[0236] Liquid-flow arrows 108, as shown in enlarged view circle 122, illustrate that when pump 100 is on after tube 24 has been occluded, liquid 76 flows toward air bubble 80, but there is no liquid flow downstream of air bubble 80 (due to the incompressible nature of the liquid). Thus, no liquid-flow arrows appear in third segment 40 downstream of air bubble 80, and no liquid-flow arrows appear in fourth segment 52.
[0237] After pump 100 measures the sensed increase in pressure dP (measured) and compares it with the expected, calculated, increase in pressure, e.g., 0.4 bar, pump 100 continues to pump liquid 76 until a sensed pressure of at least 1.0 bar and/or less than 1.6 bar, e.g., 1.2 bar, is sensed. This verifies that pump 100 can generate a pressure equal to a maximum occlusion setting, and can detect it. The user is then prompted with instructions to remove the occlusion of tube 24, e.g., to turn occlusion element 70 to an open position, or to remove a sliding clamp from tube 24, and to change the pump that is operatively coupled to tube set 20 and user interface device 74, such as is shown in
[0238]
[0239]
[0240]
[0241]
[0242]
[0243]
[0244]
[0245]
[0246] Reference is now made to
[0247] If the bubble detector 102 of a pump 100 is in good working condition, e.g., is properly calibrated, then, while the pump 100 is in use, (a) the values of the liquid-signals, e.g., A/D liquid-signals, generated by the bubble detector 102 when liquid is passing the bubble detector 102 should typically fall within a predetermined range of values that is typically within a delta of +/−30 from the value of the pump-specific liquid-signal for that pump 100, and (b) the values of the air-signals, e.g., A/D air-signals, generated by the bubble detector 102 when air is passing the bubble detector 102 should typically fall within a predetermined range of values that is typically within a delta of +/−20 from the pump-specific air signal for that pump 100. The larger empty circles 144 in
[0248] The inventor has realized that it is highly unlikely for a bubble detector 102 that is not in working order, e.g., not properly calibrated, to “accidentally” generate a signal that is within the expected predetermined range. Thus, for example, as illustrated by data point 152 in
[0249] Data point 148 represents the value of an A/D air-signal for one of the experiments performed using the pump #1 in the experiment. As shown, data point 148 is out of range, i.e., the difference between (a) the A/D air-signal measured for data point 148 and (b) the pump-specific A/D air-signal for the pump #1, is greater than a chosen delta (e.g., a delta of 20). However, as illustrated by dashed line 154, the corresponding data point 156, representing the A/D liquid-signal measured in the same experiment with pump #1 is within range, i.e., the difference between (a) the A/D liquid-signal measured for data point 156 and (b) the pump-specific A/D liquid-signal for the pump #1, is less than a chosen delta (e.g., a delta of 30). The inventor's realization that the above described pattern can be assumed to indicate a properly-working bubble detector is supported by the remaining data points representing values of the respective A/D liquid-signals and A/D air-signals for other experiments run with pump #1. It is apparent that the bubble detector of pump #1 is in proper working order.
[0250] Similarly, data point 150, representing the value of an A/D air-signal measured during an experiment with pump #2, is out of range, i.e., the difference between (a) the A/D air-signal measured for data point 150 and (b) the pump-specific A/D air-signal for the pump #2, is greater than a chosen delta (e.g., a delta of 20). However, as illustrated by dashed line 158, the corresponding data point 160, representing the value of an A/D liquid-signal measured during the same experiment with pump #2, is within range, i.e., the difference between (a) the A/D liquid-signal measured for data point 160 and (b) the pump-specific A/D liquid-signal for the pump #2, is less than a chosen delta (e.g., a delta of 30). Once again, the remaining data points from the other experiments performed with pump #2 confirm that pump #2 is in proper working order.
[0251] Similarly, data point 152, representing the value of an A/D liquid-signal measured during an experiment with pump #8, is out of range, i.e., the difference between (a) the A/D liquid-signal measured for data point 152 and (b) the pump-specific A/D liquid-signal for the pump #8, is greater than a chosen delta (e.g., a delta of 30). However, as illustrated by dashed line 162, the corresponding data point 164, representing the A/D air-signal measured in the same experiment with pump #8, is within range, i.e., the difference between (a) the A/D air-signal measured for data point 164 and (b) the pump-specific A/D air-signal for the pump #8, is less than a chosen delta (e.g., a delta of 20). Once again, the remaining data points from the other experiments performed with pump #8 confirm that pump #8 is in proper working order.
[0252] Thus, during the calibration testing procedure described hereinabove, a parameter of bubble detector 102 may be determined by measuring respective values of (a) the liquid-signals generated by bubble detector 102 as liquid 76 is passing bubble detector 102 and (b) the air-signals generated by bubble detector 102 when air bubble 80 is passing bubble detector 102. If at least one of the two signals, i.e., if the generated liquid-signal or the generated air-signal, is within the respective predetermined range of values, then a determination may be made that bubble detector 102 is in working order, e.g., is properly calibrated. For example, bubble detector 102 may be determined to be in working order already before air bubble 80 is detected by bubble detector 102 if the values of the generated liquid-signals, e.g., A/D liquid-signals generated by bubble detector 102 in response to liquid 76 advancing past bubble detector 102 are within the respective predetermined range.
[0253] Alternatively, if the values of the generated liquid-signals, e.g., A/D liquid-signals, are not within the predetermined range, then a determination may be made after measuring the value of the air signals, e.g., generated in response to bubble detector 102 detecting air bubble 80. If the generated air-signal, e.g., A/D air signal, is within the respective predetermined range, then bubble detector 102 is considered to be in good working order. If the values of both the generated liquid-signal, e.g., A/D liquid-signal, and the generated air-signal, e.g., A/D air-signal, are not within their respective predetermined ranges, then bubble detector 102 is determined to not be working properly, and the test is stopped. Typically, the user will be instructed at that point to remove the pump and start testing the next pump.
[0254] Similarly with the pumping accuracy test and occlusion sensor tests, if at any point a pump 100 or a component, e.g., sensor, of pump 100 is determined to not be in working order, the test is immediately stopped and the user asked to move on to the next pump. Typically, the entire test of first pump 100a takes approximately a minute and a half, and the entire test of subsequent pumps (for which tube set 20 does not have to be primed) takes about approximately a minute.
[0255] Applications of the invention described herein can take the form of a computer program product accessible from a computer-usable or computer-readable medium (e.g., a non-transitory computer-readable medium) providing program code for use by or in connection with a computer or any instruction execution system, such as user interface device 74. For the purpose of this description, a computer-usable or computer readable medium can be any apparatus that can comprise, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium. Typically, the computer-usable or computer readable medium is a non-transitory computer-usable or computer readable medium.
[0256] Examples of a computer-readable medium include a semiconductor or solid-state memory, a random-access memory (RAM), a read-only memory (ROM). For some applications, cloud storage, and/or storage in a remote server is used.
[0257] A data processing system suitable for storing and/or executing program code will include at least one processor (e.g., a processor of user interface device 74) coupled directly or indirectly to memory elements through a system bus. The memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution. The system can read the inventive instructions on the program storage devices and follow these instructions to execute the methodology of the embodiments of the invention.
[0258] Network adapters may be coupled to the processor to enable the processor to become coupled to other processors or remote printers or storage devices through intervening private or public networks. Modems, cable modem and Ethernet cards are just a few of the currently available types of network adapters.
[0259] Computer program code for carrying out operations of some applications of the present invention may be written in any combination of one or more programming languages, including an object-oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the C programming language or similar programming languages.
[0260] It will be understood that the methods described herein can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general-purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer (e.g., user interface device 74) or other programmable data processing apparatus, create means for implementing the functions/acts specified in the methods described in the present application. These computer program instructions may also be stored in a computer-readable medium (e.g., a non-transitory computer-readable medium) that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable medium produce an article of manufacture including instruction means which implement the function/act specified in the methods described in the present application. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the methods described in the present application.
[0261] User interface device 74 is typically a hardware device programmed with computer program instructions to produce a special purpose computer. For example, when programmed to perform the methods described herein, the computer processor typically acts as a special purpose computer processor. Typically, the operations described herein that are performed by computer processors transform the physical state of a memory, which is a real physical article, to have a different magnetic polarity, electrical charge, or the like depending on the technology of the memory that is used.
[0262] It will be appreciated by persons skilled in the art that the present invention is not limited to what has been particularly shown and described hereinabove. Rather, the scope of the present invention includes both combinations and subcombinations of the various features described hereinabove, as well as variations and modifications thereof that are not in the prior art, which would occur to persons skilled in the art upon reading the foregoing description.