Data logger and sampling and encoding methods for use in a data logger
11099038 · 2021-08-24
Assignee
Inventors
Cpc classification
G06F11/3058
PHYSICS
G06F11/3013
PHYSICS
International classification
G06F11/34
PHYSICS
Abstract
A data logger (1) for logging values of a physical environment parameter (T) as a function of time (t) includes a sampling subsystem (2), which acquires sample values (21) of the physical environment parameter (T) at sampling moments which are separated by sample intervals, an encoding subsystem (3) which defines data records representing groups of one sample value (21) or a number of successive sample values (21) with variations which meet a first stability criterion, each data record including first identifiable bits (b10-b00) defining a representative value (Trep) for the samples values (21) of the corresponding group and second identifiable bits (b15-b12) indicating the number of samples in the corresponding group and a flag bit (b11) indicating the use of either the first or second interval length, and a memory subsystem (4) for storing the sequence of defined data records into a memory (7).
Claims
1. A data logger for determining the quality of medications or foods in relation to a physical environment parameter, comprising: A) a measurement device for physically measuring a physical environment parameter of medications and food selected from one of the following parameters: ambient temperature humidity, light intensity and noise, B) a sampling subsystem for acquiring sample values of the physical environment parameter at sampling moments which are separated by sample intervals, C) an encoding subsystem for: defining data records representing groups of one of: one sample value with variations which meet a first stability criterion and a number of successive sample values with variations which meet the first stability criterion, including at least one flag bit in each data record indicating a length of the sample interval for the samples represented by the data record, C1) the encoding subsystem comprising a counter for counting successive samples whereby a count of the counter indicates a result of the counting, whereby each data record comprises first identifiable bits defining a representative value for the samples values of the corresponding group and second identifiable bits defining the number of samples in the corresponding group, D) a memory subsystem for storing a sequence of defined data records into a memory, wherein each data record corresponding to a plurality of sample values, includes only a single sample value for that data record as long as the plurality of sample values meet the first stability criterion, E) a processor for: setting a length of the sample interval to one of: a first length and a second length which is smaller than the first length, setting the sample interval to the second length in response to a detection of a passing of a predetermined level by the physical environment parameter, which is an indication that a more accurate logging of the environment parameter is desired, determining the total time that the environment parameter exceeds a predetermined level and sets the sample interval to the second length in case said total time exceeds a preset maximum value, resetting the time interval to the first length in response to a detection that a stability criterion is met which criterion indicates that the variation of the environment parameters stays within predetermined limits during a predetermined time interval, resetting the counter in response to one of: a first instability detection indicating that the first stability criterion is not met and a detection that the count has reached an end value, whereby the encoding subsystem is further arranged to define, in response to said first instability detection, a new data record with the second identifiable bits based on the count at a moment directly preceding the reset of the counter, resetting the length of the sampling interval to the first length in response to a detection that the counter has reached the end value, causing the memory subsystem to record only a single sample value for each data record of the plurality of sample values as long as the plurality of sample values meet the first stability criterion; F) a data reading device for reading out the data records from the memory for determination of the quality of the medications and food, and G) an interface for transporting the data records stored in the memory to the data reading device.
2. A data logger as claimed in claim 1, wherein the memory is arranged to store a date and time that the monitor process is started.
3. A data logger as claimed in claim 2 wherein the memory for storing the date and time of the start of the sampling is a write-once memory.
4. A method for determining the quality of medications or foods in relation to a physical environment parameter, comprising the steps of: A) physically measuring, with a measurement device, a physical environment parameter of medications and food selected from one of the following parameters: ambient temperature humidity, light intensity and noise, B) acquiring sample values of the physical environment parameter by a sampling subsystem at sampling moments which are separated by sample intervals, C) defining data records representing groups of one of: one sample value with variations which meet a first stability criterion and a number of successive sample values with variations which meet the first stability criterion, D) including at least one flag bit in each data record indicating a length of the sample interval for the samples represented by the data record, E) counting successive samples by a counter whereby a count of the counter indicates a result of the counting, F) providing that each data record comprises first identifiable bits defining a representative value for the samples values of the corresponding group and second identifiable bits defining the number of samples in the corresponding group, G) storing a sequence of defined data records into a memory, wherein each data record corresponding to a plurality of sample values, includes only a single sample value for that data record as long as the plurality of sample values meet the first stability criterion, H) determining environment parameters of the medications and food, said step of determining including the sub-steps of: setting a length of the sample interval to one of: a first length and a second length which is smaller than the first length, setting the sample interval to the second length in response to a detection of a passing of a predetermined level by the physical environment parameter, which is an indication that a more accurate logging of the environment parameter is desired, determining the total time that the environment parameter exceeds a predetermined level and sets the sample interval to the second length in case said total time exceeds a preset maximum value, resetting the time interval to the first length in response to a detection that a stability criterion is met which criterion indicates that the variation of the environment parameters stays within predetermined limits during a predetermined time interval, resetting the counter in response to one of: a first instability detection indicating that the first stability criterion is not met and a detection that the count has reached an end value, whereby the encoding subsystem is further arranged to define, in response to said first instability detection, a new data record with the second identifiable bits based on the count at a moment directly preceding the reset of the counter, causing the memory to record only a single sample value for each data record of the plurality of sample values as long as the plurality of sample values meet the first stability criterion; resetting the length of the sampling interval to the first length in response to a detection that the counter has reached the end value, and I) reading out the data records from the memory for determination of the quality of the medications and food.
5. A method as claimed in claim 4, further comprising the step of detecting and storing the date and time at which the monitor process is started.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) These and other aspects and advantages of the invention will be apparent from and elucidated further with reference to the embodiments described by way of example in the following description and with reference to the accompanying drawings, in which
(2)
(3)
(4)
(5)
(6)
(7)
(8)
DETAILED DESCRIPTION OF EMBODIMENTS
(9) The invention relates to a data logger for logging values of a physical environment parameter as a function of time. Examples of such physical environment parameter can be an ambient temperature, humidity, light intensity, noise etc. Although the data logger is suitable for logging different physical environment parameters the invention will be explained referring to a data logger for logging the ambient temperature of a product, in particular the ambient temperature of a medication. Many medications are temperature sensitive, which means that the effectivity of the medication is reduced if the medication is stored in an environment in which the temperature is not kept within a certain temperature range. In order to monitor the quality of the medication it is important to know whether the medication is not exposed too long to temperatures outside a prescribed temperature range. Logging the ambient temperature during the storage period is a very helpful tool to monitor the quality of the medication. There is a need for low cost data loggers which can be packaged together with the medication, for example by attaching a small sized data logger to a syringe with medication.
(10)
(11) The sampling subsystem is coupled to an encoding subsystem 3 which converts the successive sample values into data records which are stored by a memory subsystem 4 in a memory 7 of the memory subsystem 4. The data logger 1 can further be provided with an interface 5 which enables the read out of the data records by means of a reading device. The interface can be of any type enabling the read out, but is preferably of at type which uses a wireless connection between the reading device and the interface 5. A very suitable interface is an NFC interface, which makes use of the so-called Near Field Communication-technology.
(12) The encoding subsystem 3 is preferably implemented as a program controlled processer 8 which encodes the sequence of sample values under control of firmware stored in a program memory 9 of the encoding subsystem 3. However it will be clear for the skilled person that the encoding subsystem can also be implemented as a hard-wired encoding subsystem.
(13) An encoding method performed by the encoding subsystem under control of the firmware stored in the program memory 9 will be explained with reference to
(14)
(15) For each sample it is detected whether the variation of the sample meets a first stability criterion. This indicates that the temperature T stays stable. A preferred, very accurate, detection method is to check whether the difference between a sample value t.sub.n and the sample value T.sub.ref belonging to the latest stored data record stays within a stability range Tr, determined by an upper limit and a lower limit around the value T.sub.ref. When this occurs, the counter belonging to this latest stored data record is incremented by 1. In case the range lies symmetric around the T.sub.ref the first stability criterion is met in case the samples values T.sub.n stays between T.sub.ref−TD1 and T.sub.ref+TD1. A suitable value for TD1 is 0.5° C.
(16) It will be clear for the skilled person that several other methods are suitable to determine whether the temperature T stays stable. Another possible stability criterion is a detection whether the sample value T.sub.n at sample moment t.sub.n is within a stability range Tr, determined by an upper limit and a lower limit around the value T.sub.n−1 of the previous sample so that it is also not required to determine the stability of the ambient temperature on the basis of samples values. Stability of the temperature T can also be determined by means of a dedicated sensor which measures the change of temperature as function of the time.
(17) As long as the first stability criterion is met, a counter is increased with an increment each time a new sample is acquired until the counter reaches a predetermined end count Cend. Then a new data record is defined and stored by the memory subsystem 4. A suitable counter is a 4 bits counter and suitable value for the end count Cend is “16”. However counters with another counting range and another end count can be used.
(18) A suitable format for the data record defined when the predetermined count is reached is shown in
(19) The format comprises a 16-bit word consisting of 2 bytes (byte 0 and byte 1). 4 bits (b12 to b15) are reserved for storing the count of the counter. This count represents the number of samples of the group of successive samples taken since the start of the counting. 11 bits (b00-b10) are reserved for storing a representative value Trep, for the sample values of the samples belonging to this group. In this embodiment this is the value of the latest sample of the group. However other representative values are suitable, for example the value of another sample of the group, or a value which is the average of all samples of the group. As long as the ambient temperature stays stable in this way data records representing the value of 16 successive samples are defined and stored. However as soon as it is determined that the temperature is not stable any more (as is the case at t2), by detection that new sample value is outside the range Tr, a new data record is defined and stored. The value of the latest sample determines the representative value Trep. This value is stored in the bits b00-b10 of the new data record. The bits b12-b15 are loaded with the count of the counter, which indicates the number of successive samples since the previous data record has been defined. Then the counter is reset to its initial value Cin. So each time the stability information indicates that the temperature is not stable a new data record is defined and stored.
(20) Note that in the above embodiment each data record can represent a group of 16 successive stable sample values at the most. It will be clear for the person skilled in the art that the maximum can be set to any value but limited by the counting range of the counter.
(21) It may happen that the temperature changes fast. In such situations it is useful to have a shorter sample interval so that more details about the behaviour of the temperature are stored.
(22) In order to make the data logging measuring interval time dependent on the speed of the temperature variation, it is detected whether the sample value T.sub.n is within a second stability range Tr2 around the value T.sub.n−1 of the previous sample. In case the stability range lies symmetric around the sample value T.sub.n−1 the second stability criterion is met, in case the samples values T.sub.n stays between T.sub.n−1−TD2 and T.sub.n−1+TD2, whereby TD2 is greater than TD1. A suitable value for TD2 is 2° C.
(23) In response to such detection the length of the sample interval is set to INT2 which is in most cases smaller than INT1 i.e. samples will be taken more frequently. In this embodiment the value of INT2 is chosen equal to 2 minutes as an example.
(24) If the temperature stabilises again, so that the variation between successive samples is less than ±0.5° C. (TD1), then the counter will reach again its end value Cend after which a new 2 byte data record will be defined and stored and moreover the sampling interval registration is set back to INT1.
(25) It is also possible to keep the INT2 interval measuring time active while the registrations of the temperature values are in accordance with the INT1 timing, i.e. sample measurements are done more frequently but the storage of the values are according INT1 criteria if the INT2 criteria are not met.
(26) If two different sample intervals are used, then for the reconstruction of the logged temperature behaviour it is required to know which data records are based on samples acquired with sample interval INT1 and which data records are based on samples which are acquired with sample interval INT2.
(27) In this embodiment this is solved means of a flag Fb in the data record. In the format of
(28) In this embodiment only two different sample intervals are used. However embodiments wherein more than two different sample time intervals are possible, in that case more than one flag bit has to be included in the data records.
(29) In the above described embodiment the detection range Tr, used for the determination whether the temperature is considered to be stable, is located symmetrically around the value of the previous sample value T.sub.n−1.
(30) It is in some cases beneficial to locate this stability range asymmetrical around the previous sample value T.sub.n−1, when the temperature value is outside a range between HL1 and LL1 (See
(31) The values for HL1 and LL1 are stored in the data logger, for example in the firmware. It will be clear that more ranges can be defined by storing more temperature values.
(32) A further embodiment of the data logger is arranged to store in a memory the date and time that the monitor process is started. The benefits of this solution is that only one time and date value must be stored and all other sample times and dates can be calculated based on this start time and date stored in the memory. This memory for storing the time and date can be a part of the memory used for storing the data packets.
(33) Alternatively data logger 1 can be provided with a separate memory 6 for storing this information. In case memory 6 is a write once memory this information cannot be changed anymore after it is written into the memory, so that the time and date information is stored in a very secure and reliable way.
(34) In the embodiment described with reference to
(35) The algorithm groups a number(n) of successive temperature samples (m.sub.n) as long as the measured value does not differ from the first sample (m.sub.1) by more than a defined value (delta). The first measurement m.sub.1 is stored in memory 7. After each successive measurement (up to 15), the measured value is compared with the first sample m.sub.1. If the deviation is less than the pre-defined allowed deviation (delta) then the actual measurement value is discarded, and this measurement is added to the group. If the deviation is more than the pre-defined allowed deviation (delta) then the actual measurement value is stored and forms the base measurement (m.sub.1) of the following group. The following parameters are used in the algorithm: n=measurement number (1, 2, . . . 15) m.sub.n=n.sup.th measurement sample (m.sub.1, m.sub.2, . . . m.sub.15) delta 1=pre-defined allowed deviation in a first range R1 (i.e. LL1<m<HL1) delta 2=pre-defined allowed deviation in a second range R2 (i.e. m>HL1 or m<LL1) HL1=high level limit 1 LL1=low level limit 1 HL2=high level limit 2 LL2=low level limit 2
(36) The rules of the algorithm are as follows: If |m.sub.n−m.sub.1|≤delta 1 And LL1<m.sub.n<HL1 Then m.sub.n:=m.sub.1 i.e. measurement is stored as m.sub.1 If |m.sub.n−m.sub.1|>delta 1 And LL1<m.sub.n<HL1 Then m.sub.n is stored as the new measured value and serves as the base measurement value (m.sub.1) for the following group of measurements. If |m.sub.n−m.sub.1|≤delta1 And m.sub.n>HL1 or m.sub.n<LL1 i.e. the measurement is outside the pre-defined first range R1 Then the delta is ignored and m.sub.n is stored as the new measured value and serves as the base measurement value (m.sub.1) for the following group of measurements. The delta that is predefined for the second range R2 is then applicable. If the temperature later returns to the first range R1 in a temperature step that is more than the lowest of the delta values (delta 1 or delta 2), then the grouping restarts and the delta for the first range R1 applies again as defined above. However, if the temperature later returns to the first range R1 in a temperature step that is less than the lowest of the delta values (delta 1 or delta 2), then the measurement is stored as the base measurement value (m.sub.1) of the current group.
(37) The delta parameter determines the grouping of the samples. The higher the delta value the more events that can be grouped and as such the more temperatures that can be stored. When the temperature is outside the range R1 HL1/LL1 but within the HL2/LL2 range (second range R2) the delta that is pre-defined for the second range R2 will determine how the measurements are grouped.
(38)
(39) In
(40) In an embodiment of the datalogger three different alarms states can be generated: an alarm state AS1 when the total period t1 that a high level ALH is exceeded is longer than a first predetermined value t.sub.ALH, an alarm state AS2 when the total period t2 that the temperature is below a low level ALL is longer than a second predetermined t.sub.ALL and an alarm state AS3 when the period t3 that the temperature is outside the range R1 at the high side (above HL1) is longer than a third predetermined level t.sub.HL1.
(41) If desired the alarm levels and times can be freely programmed by the user
(42)
(43) In an embodiment of the control program the change of the length of the sample interval from the normal length INT1 to a smaller length INT2 is triggered when the temperature level passes the temperature high level limit HL1 of the range R1, and when the temperature passes the low level limit LL1 of range R1. The change from a normal sample interval INT1 to a short sample interval INT2 results in an accurate logging of the temperature in situations where the negative effect of the environment temperature can be substantial and wherein it is important to have accurate data to determine the effect reliably. It will be clear for the skilled person that in each of the trigger situations a positive effect on the accuracy is achieved. Although desirable, it is not required to initiate a switch to a shorter sample interval for each of these situations. The length of the sample interval is reset to the normal length INT1 when a stable behaviour of the temperature T is detected again.
(44)
(45) Preferably the decoder is implemented by means of a software controlled processor. In case of the use of a Smartphone for the reading device the Smartphone can be loaded with an app for reading and decoding the data records and displaying the logged temperature behaviour as a list, table or graph on the display of the Smartphone.
(46) Preferably the app is made available for downloading on a server 41 which is connected to a communication network 42, such as for example the internet.
(47) By downloading the app onto the Smartphone the Smartphone is transformed into a reading device which is able to make the logged data visible for the user in comfortable way.
(48) The data logger is very suitable for monitoring the storage conditions of medication and food. Due to miniaturization of the electronic circuitry the sampling and encoding part of the data logger can be very small and consequently very cheap. Moreover by using the encoding method according to the invention very efficient use is made of the memory capacity, so that a memory of only a limited size is required for storing the sampled data over a very long period (e.g. several years). So overall the data logger can be produced with only a very small fraction of the costs of the medications monitored.
(49) By using a Smartphone loaded with a dedicated app the temperature behaviour during the storage of the food or medication package can be made visible in a comfortable way with no hardware costs for the user.
(50) So the invention offers a cheap, easy to use, high quality solution for monitoring the storage conditions of medications.
(51) However it will be clear that application field of the invention is not limited to monitoring the storage conditions of medications. The invention is very beneficial for all applications for which there is a need to monitor the storage conditions of a product over a long period against limited costs.
(52) Although several embodiments of the present invention have been illustrated in the accompanying drawings and described in the above detailed description, it will be understood that the invention is not limited to the embodiments disclosed, but is capable of numerous modifications without departing from the scope of the invention as set out in the following claims.
(53) For example embodiments in which only samples are encoded which have values which are above or below a predetermined range fall within the framework of the invention, can be provided.
(54) While the invention has been illustrated and described in detail in the drawings and foregoing description, such illustration and description are to be considered illustrative or exemplary and not restrictive; the invention is not limited to the disclosed embodiments. Other variations to the disclosed embodiments can be understood and effected by those skilled in the art and practising the claimed invention, from a study of the drawings, the disclosure, and the appended claims. In the claims, the word “comprising” does not exclude other elements or steps, and the indefinite article “a” or “an” does not exclude a plurality. A single processor or controller or other unit can fulfil the functions of several items recited in the claims. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage. Any reference symbol in the claims should not be construed as limiting the scope.