Abstract:
A controllable dispensing device for use by a drug therapist for the unsupervised administration to a patient of a drug therapy regimen. A field unit is loaded with a plurality of medication containers in a predetermined sequence. Along with the medication, a program of dosing times is stored in an electronic memory of the field unit. This program is defined using a computerized base unit and is transferred to the field unit via an interface between the base and field units. The field unit includes a display and alarm for altering the patient as to the times for dispensing and administering the medications in the containers. The field unit permits dispensing of containers only in accordance with the predefined schedule and records the actual times of container dispensing. Later, the field unit can be debriefed by the base unit via the interface and the base unit prepares a report of medication compliance for the drug therapist.

Description:
BACKGROUND OF THE INVENTION 
     1. Field Of The Invention 
     This invention relates generally to the art of controlled dispensing and compliance monitoring. It has particular application to the art of unsupervised drug dispensing to a patient although the principles of the invention apply to controllable dispensers of any types of material. The presently preferred embodiment of the invention provides a controlled medication dispenser. The dispenser can be preprogrammed by a drug therapist using a base unit (specially programmed computer) to which the dispenser is temporarily coupled, to permit a patient access to drugs stored in a portable field unit only in accordance with predetermined criteria, such as for example at particular times. A digital display on the dispenser specifies the next dosing time and will instruct the patient on proper make-up doses in the event of missed doses. The portable field unit records actual times of medication dispensing and can easily be debriefed by the base unit (computer) which then prepares a medication compliance report for the drug therapist. 
     2. Background Of The Invention 
     &#34;Controlled dispensing&#34; refers to the concept of permitting a user to dispense some item according to a predetermined schedule or set of rules, rather than permitting unrestrained access. A significant application of the art of controlled dispensing relates to drug dispensing. 
     &#34;Compliance monitoring&#34; refers to the concept of recording a user&#39;s actual dispensing activity compared to a previously prescribed regimen. A significant application to the art of compliance monitoring also relates to drug therapy. 
     As drug research and therapy become more and more sophisticated, drug researchers and therapists have an increasing need to administer complex drug regimens to patients; to restrict access to medications in some instances; and to evaluate the patients&#39; compliance with those drug regimens. 
     The most accurate way of administering a drug regimen and measuring compliance of a patient or test subject is direct supervision of each dose of medication. The manpower required for this type of drug administration is extraordinary and usually requires hospitalization. The alternative of prescribing a drug regimen and leaving it completely to the patient to follow and report back usually results in poor compliance and inaccurate reports. 
     Controlled drug dispensers and compliance monitoring equipment provide a middle ground between direct supervision and no supervision so that relatively dangerous drugs can be administered without direct supervision and clinical drug studies can be carried out with relatively high reliability. 
     As the U.S. Department of Commerce National Technical Information Service Publication PB-278 973 entitled &#34;Possible Designs of Medication Monitors&#34;, prepared at the National Jewish Hospital and Research Center, Denver, Colo., for the American Lung Association (April 1978) points out, the genesis of the medication compliance monitor goes back to May 1962. This early concept was for a medication monitor utilizing radioactive material and photographic film to determine when patients removed medication from a medication dispenser. 
     Since then there have been several publications on different devices utilizing the same principle, as well as field trials. Since the original publication, the interest in the field of patient compliance with drug regimens grew enormously. 
     &#34;The Unrealized Potential of The Medication Compliance Monitor&#34; was discussed by Thomas S. Moulding, M.D., at the National Jewish Hospital in a February, 1979 commentary appearing in Volume 25, November 2, of Clinical Pharmacology and Therapeutics. That commentary provides some insight to the historical development of the art of medication compliance monitoring. This Moulding commentary discusses an early version of a radiographic-type compliance monitor. As medication compliance monitoring further developed, various arrangements appeared in the literature and marketplace. Moulding describes a radiographic compliance monitor capable of showing dosing patterns. Each container holds a full daily dose of medication. However there is not provided any alerting features to help the patient to remember to take dosages. Processing and interpreting the compliance record are awkward. Potential hazards are associated with the use of a radioactive source. No control mechanisms are used--Access is not controlled nor is the number of dosages taken at one time. 
     Moulding anticipates the use of strip packaging and microprocessors for improving compliance monitors&#39; design but no practical details are given on how to accomplish these design improvements. It does not appreciate the utility of a device capable of delivering multiple medications in complex regimen. The commentary does not teach how to build a reliable and tamper-proof dispensing mechanism; a successful strategy for field, interface, and base unit electronics and software is not given. 
     Lederle Laboratories (American Cyanamid Company) developed a digital module for the cap of a medicine bottle for reminding the patient when he last took his medication. This &#34;reminder&#34; cap was intended to help people to take medication at the proper time. However, such an arrangement has certain fundamental inadequacies: The clock does not indicate when the next dosage is due. The patient must still remember the proper dosage schedule. There is no alarm to get the patient&#39;s attention when the next dosage is due. The cap has no memory to show the therapist when dosages were taken. There is no control over when the bottle cap is opened or the number of dosages taken after the cap is removed. Also, multiple caps are needed for multiple drug therapies; and the patient is not guided as to how much of each drug is to be taken. 
     A &#34;Med Tymer&#34; medicine bottle cap was developed by Boston Medical Research, Inc. It includes preprogrammed light and sound alarms that announce when the next dosage is due. 1/day to 4/day schedules are available. However, it also has several functional limitations. Programs are in firmware and are not adjustable. Thus, there is no flexibility of dosing times for a given daily frequency. The cap has a limited lifespan (12 months) and is not reusable or reprogrammable. It is not approved for liquid medications. It has no memory for later reporting of compliance. There is no control over when the cap is opened or the number of dosages taken after the cap is removed. Multiple caps are needed for multiple drug therapies; and the patient is not guided as to how much to take of each medication. 
     In an article entitled &#34;Medication Monitor for Opthamology&#34; by Yee et al appearing at page 774 of the American Journal of Opthamology, there is described a medication monitor wherein dosing times are recorded in memory for later reporting of compliance. Its functional limits are as follows. There are no alerting features such as an alarm, or clock displays, etc. The electronics provide only a limited memory, i.e. there is no microprocessor to provide alarm and control functions and the limited memory results in limited dosing record resolution. It is only possible to achieve one hour resolution of dosage taken times; and multiple doses within any given hour cannot be recognized. There is no control over when the cap is opened or the number of dosages taken after the cap is removed. Multiple units are needed for multiple drug therapies; and the patient is not guided as to how much to take of each medication. 
     A sample of the patent literature in this art includes: 
     U.S. Pat. No. 3,369,697, Glucksman et al, Feb. 20, 1968 
     U.S. Pat. No. 3,968,900, Stanbuk, July 13, 1976 
     U.S. Pat. No. 4,223,801, Carlson, Sept. 23, 1980 
     U.S. Pat. No. 4,293,845, Villa-Real, Oct. 6, 1981 
     SUMMARY OF THE INVENTION 
     The present invention provides a controllable dispenser having significantly improved operational features over known dispensers. 
     The dispenser&#39;s operation is based upon a packaging concept that places containers along a flexible strip in a predetermined order. The containers may be attached to the strip in various ways. For example, the containers may be integral to the strip material itself, or they could be placed in pockets or sleeves formed in the strip material. Strip materials are typically plastic films that have been heat sealed to form the container holding pockets or adhesive backed fiber tapes sandwiched around non-sticking sleeves, although many other combinations of materials could provide the same effect. More rigid materials could be used for strip construction, but much more efficient container storage is possible if the strip material is flexible enough to allow the containers to be positioned such that neighboring containers are touching one another. Strip flexibility is also beneficial in insuring smooth movement of the strip around turns in the storage volume. Strip materials should not be so weak that tensile forces occurring during the dispensing operation stretch the strip and alter important container spacing intervals. 
     Container attachment points are spaced at intervals along the strip that correspond to engagement location spacings on the dispensing mechanism. These strip and dispensing mechanism spacings permit a rack and pinion type of dispensing operation. Although almost any spacing interval may be chosen, minimal spacing limitations will arise for given container packing arrangements. For hexagonal closest packing arrangements (as shown in FIG. 4), the minimal spacing between containers is approximately one-third the container circumference. Using the nomenclature of FIG. 3, Smin&gt; c  /3. Parallel packing arrangements (as shown in FIG. 5) require a spacing length of at least one container diameter, Smin≧d. 
     Various container shapes and sizes may be accommodated by the dispenser&#39;s structural arrangement. Depending upon storage volume design and the shapes of parts of the dispensing mechanism, containers having square, semicircular, or other cross-sections may be acceptable. However, circular cylinders are particularly useful containers, having a shape that packs efficiently for storage, moves freely through the storage volume passageways without jamming, and is reliably engaged by the dispensing mechanism. Containers may be made of any rigid or semi-rigid material. Although more flexible container walls can aid the containers in passage through the storage volume and the dispensing mechanism, too flexible materials might prevent the container from maintaining the approximate shape required for proper engagement by the dispensing mechanism. 
     Varying container volumes are accommodated by merely changing the length of the container. Since the container cross-section remains the same, a dispensing device design is then possible that accommodates various container volumes by merely changing the height of the storage volume and ejector mechanism. No changes to the design of the dispensing mechanisms are necessary. 
     The packaging system of this invention offers several advantages over previously known arrangements. The dispenser is useful for dispensing various kinds of materials, but it is particularly useful for medication dispensing. A wide variety of containers having various diameter to length ratios may be used. By using a container that is leakproof and has a relatively wide opening, a single dispensing device may be used in several different applications. For example, the leakproof 5 cc vials used in the medication dispenser/monitor/controller implementation of this design will accommodate almost any medication presentation, including: liquids, suspensions, salves, tablets, capsules, devices, and even multiple compatible substances within a single vial. Further flexibility is provided in that other container volumes can be accomodated by merely changing the length of a container with a given cross section. Only the height of the storage base and ejector pinion need then be changed. Thus, the design and size of the device&#39;s dispensing module (containing the electronics and dispensing mechanisms) and the spacing intervals of the flexible strip do not change. One dispensing module may be used with several storage bases and ejector pinions to provide a wide range of container capacities and optimized (minimal volume) package sizes. 
     Another significant feature relates to individual packaging. The proper amount of the substance to be dispensed is placed in individual containers instead of allowing the user access to a bulk supply and relying upon him or her to dispense the proper amount. The amount of the substance to be dispensed is precisely metered into the individual containers by the pharmacist/therapist and can be double checked before the device is handed to the user. The same metering precision and reliability over many dispensing operations is not likely to occur when the user must do the measuring or a mechanical device must repeatedly measure and dispense from a bulk supply. 
     Using individual containers helps prevent contamination and cleaning problems and thereby enhances the economics of such a reusable system. The dispensing device can be used for dispensing one type of substance and, upon completion of the first dispensing program, be immediately reloaded with vials containing a different substance with very little chance of cross-contamination and no substantial cleaning requirements. Bulk or even compartmentalized storage volumes would need extensive cleaning before reuse. 
     Complete control over dispensing sequencing is provided. The capability of varying the amount and types of substances within each container and organizing these varying contents into a predetermined sequence is a primary feature of the invention. Using the medication dispenser/monitor/controller example, the device could be loaded with vials containing various combinations of drugs in the proper sequence such that a patient on multiple regimens will receive the proper selection of medications according to the prescribed schedules, and without the patient having to remember any dosing details. 
     The sequencing feature may also be used to deliver increasing or decreasing amounts of one or more substances over the dispensing period. Thus, a physician using the medication dispenser/monitor/controller to administer medications can taper dosage levels and thereby deliver more effective therapeutic levels while simultaneously minimizing side effects in a manner not possible using level doses. 
     The dispenser according to the invention is tolerant of any positional orientation. Unlike gravity feed devices, the dispensing device according to the present invention will operate properly in any orientation. The container strip maintains container sequencing and proper spacing regardless of position. Some storage volume characteristics, described later, also help prevent undesirable container movement and thereby contribute to the device&#39;s orientation tolerance. 
     The packaging of containers along a flexible strip forms a flexible rack-like device that, in combination with the pinion-like dispensing mechanism described below, permits the construction of a very compact and reliable dispensing device. 
     The primary dispensing mechanism includes an ejector element mounted for rotation about its longitudinal axis and having container conforming depressions positioned around its periphery. The ejector acts as a pinion gear that drives a flexible rack, the container strip. When the ejector is rotated, one container is moved from a ready position and out of the dispenser while, simultaneously, the next container to be dispensed is engaged by a mating ejector depression and moved into the ready position. 
     Thus, the pinion, the ejector element having depressions that form gear-like teeth, is fixed, and the rack, a flexible strip with attached containers acting as the mating gear teeth, is moved out of the device by pinion rotation. This design offers many advantages: 
     The first of these advantages is reliability. Using the containers as the `teeth` on the rack provides inherently more reliable pinion engagement than a conventional flexible strip with rows of small holes used to engage pins on the pinion (as in camera film for instance). Accurate engagement location spacing is essential to jam free operation in both cases. However, the container as sprocket design has only one critical spacing per dispensing operation, whereas for a multiple hole rack, several accurate hole to hole intervals are needed for the same single dispensing operation. Strip manufacture is also simplified by using the containers as sprockets. Punching the multitude of precisely positioned small holes is not required. 
     The mechanism operates simply. A 1/4 turn of the ejector pinion is all that is required to accomplish a dispensing operation. The container is then outside the device where it can be slid out of its sleeve for use and the empty strip is torn off across the opening edge. 
     As discussed above, the same dispensing mechanisms may be used to dispense various volume containers merely by changing the length of the ejector pinion to correspond with the associated container length. Like the container strip, the dispensing mechanism may be operated from any position. 
     Completed dispensing operations are signalled to a microprocessor by means of lever switches activated by spring loaded actuators riding cams on the shaft used to drive the ejector pinion. The mechanism is designed to activate the signalling switches when the user has completed the 1/4 turn drive shaft rotation. False signals are prevented by using two switches that are alternately, mechanically activated by cams 90° apart and by alternately arming the switches electrically by means of microprocessor output ports. Thus, as soon as a particular switch is activated mechanically, it is deactivated electrically immediately after the signal is received so that further minor motion of the ejector driveshaft is not improperly interpreted as another completed dispensing operation. Simultaneously, the other switch is electrically armed so that it will signal the microprocessor upon the next 1/4 turn rotation and ensuing mechanical activation. 
     The flexible rack and pinion mechanism described above is the basis for a superior dispensing system having the advantages discussed above. However, in situations requiring the utmost reliability and control, such as the medication dispenser/monitor/controller application, further mechanical and electromechanical features can greatly enhance reliability. The features listed below may be used separately or in various combinations as required to insure reliable operation in a particular dispensing situation. 
     The first group of features relates to the housing. The dispensing device components may be housed in two sections. The lower section, the storage base provides a storage volume for the container strip and retains the ejector pinion. The upper section, the dispensing module 46, houses the electronics and all the dispensing mechanisms other than the ejector pinion 34. Both housings may be of one piece, fastenerless construction. The two housing parts are held together by a cabinet lock mounted in the dispensing module, and having a key operated cam that engages slotted extensions of a partition 30 in the storage base. This construction provides several beneficial features. 
     The tongue and groove mating of the upper and lower housings allows a simple one point locking design having a tamper-resistant joint. Since the user is not given the key to the cabinet lock, there is no easy access to the contents of the dispensing device other than through proper manipulation of the ejector mechanism. Both the storage base and dispensing module are free of external fasteners so that tampering is discouraged and difficult to hide if attempted. The opening in the storage base where containers are ejected is protected against intrusion by the design of the ejector pinion. The sprockets of the ejector pinion are such that they form a close fitting barrier with the storage base partition and thereby prevent viewing of and access to the next container to be dispensed. 
     There are no unsealed openings in the top of the device through which spilled fluids could reach the electronics and mechanisms. The tongue and groove method of joining top and bottom housings further protects against spills. Since all the electronics and all the dispensing mechanisms except the ejector pinion are mounted in the top housing, any leaking containers are not likely to contaminate those elevated regions. Further protection against leakage contamination can be easily attained by sealing a cover plate over the bottom of the dispensing module, thereby protecting all mechanisms and electronics with one simple cover. A coating provided over the electronics can provide additional protection. 
     Smooth, jamproof, container strip movement is a feature of the storage base design. As shown in FIG. 4, the storage base outer wall and inner partition form a generally U-shaped storage volume in which containers are packed both inside and outside the partition. This design provides exceptionally efficient (compact) container storage while simultaneously providing passageways through which the container strip can move smoothly without jamming. 
     By keeping all passageways a little less than two container diameters &#34;d&#34; (See FIG. 3) in width, containers cannot get past one another and out of sequence. Thus, impact forces cannot rearrange container sequencing and cause containers later in the sequence to engage the ejector pinion ahead of earlier containers and jam the mechanism. Because a minimum passageway width of 1.87 diameters is needed to allow double row, closest packing as is desired in some areas, the passageway widths in those regions are typically kept between 1.87 and slightly less than two (2) diameters. 
     The U-shaped design allows for smooth container strip movement since there are only two partition turns, at a maximum, for the containers to negotiate. The radii of the turns are large enough, compared to the inter-container spacing, so that most contact with the partition is by the containers and not the spacing intervals. Because the containers only have line contact with the partition wall, very little frictional force is generated and the containers move smoothly around the turns. Tighter radii would allow more strip contact with the partition wall and produce larger drag forces that might bind strip movement. Circular storage volumes, having capacities as shown, are not preferred because they have housing proportions that are hard to hold in one hand. Similarly, even though longer, rectangular designs can have fewer turns, the extended housing length can make portable units awkward to carry. 
     The two part housing design is also beneficial to the user who may want the capability of dispensing several different capacity containers with a minimum equipment investment. Since all electronics and mechanisms other than the ejector pinion are contained in the top half dispensing module, container capacity can be changed merely by using a container of the appropriate length to give the volume desired, and by using a storage base and ejector pinion of corresponding length. No change in dispensing module size or design is required. Thus, one dispensing module can be used with several different height storage bases, ejector pinions and containers to produce a broad capability dispensing system. 
     There are several mechanisms associated with control of ejector pinion motion that help insure reliable operation. 
     A pin 92 located in the storage base (See FIG. 22), under a groove in the ejector pinion, prevents further ejector rotation until the dispensed container is removed. This pin prevents inadvertent, or intentional, attempted insertion of containers back into the unit which could jam the ejector mechanism. 
     The two alternately acting ejector switch actuators described above have a second function. The depressions in the drive shaft that engage the spring loaded actuators are shaped so that the drive shaft cannot be turned in the reverse direction once an actuator has seated. Thus, the drive shaft can be turned backwards at most something less than one-quarter turn and not at all once the fully dispensed position is reached. By preventing reverse ejector rotation, containers are prevented from being intentionally or inadvertently pushed back into the storage volume and thereby possibly jamming the dispensing mechanism, or disengaging the ejector pinion. 
     Pins are arranged in the top of the ejector pinion such that they extend into the dispensing module. A notched locking wheel 86 is positioned in the top housing so that its circumference will prevent ejector pinion rotation unless the notch is so aligned as to allow the adjacent ejector pinion pin to rotate forward. The notch is so designed that as the ejector pinion rotates forward a pin engages the notch well and forces the locking wheel to rotate before disengaging the notch. Once the locking wheel is turned, the notch is no longer in a position such that the next ejector pinion pin can move forward, and the ejector pinion is thereby locked. 
     Thus, ejector pinion locking occurs automatically and mechanically each time a container is dispensed. This auto-lock feature prevents the operator from inadvertently dispensing too many containers by rotating the ejector pinion more than 90 degrees. Being mechanical and automatic, the mechanism requires no computer logic or power to perform this function. This locking design also permits a simple, but effective, computer controlled unlocking feature that can be used to better insure operator conformance to a predetermined dispensing schedule. 
     Where restricted access to the containers is not important, a simple mechanical linkage can allow the operator to manually reset the locking wheel so that the notch is aligned to permit another dispensing operation. In other situations, where precise control over the dispensing operation is desired, a solenoid 212 controlled by the dispensing device&#39;s microprocessor can be easily put in control of the locking wheel. When an electrical pulse is supplied to the solenoid, it rotates the locking wheel 86 in the reverse direction (approximately 45° in this example) so that the notch 90 is moved into the unlocked position. 
     Although a linear acting solenoid with linkages can be used to reverse rotate the locking wheel into its unlocked position, no linkage is necessary if a rotary acting solenoid is used and a simpler, more reliable design results. The choice of a rotary solenoid over a linear solenoid also greatly increases the impact resistance of the dispensing mechanism. Linear acceleration/deceleration forces (due to impacts, for instance) in the direction of the longitudinal axis of the plunger of a linear solenoid could cause the locking mechanism to lock or unlock when not intended. Since linear forces produce balanced and opposed forces when acting on a rotational mass, impact forces do not tend to cause inadvertent armature motion when a rotary solenoid and locking disc are used. 
     Further means of insuring that lock/unlock positions of the locking wheel are retained can be provided through the use of latching forces. Latching mechanisms increase the force required to move the locking wheel out of either one of its bistable positions. One form of the latching mechanism utilizes three magnets: one on the locking wheel, and two others mounted such that they are adjacent the locking wheel magnet and providing attractive (latching) forces when the wheel is in its lock and unlock positions. Although there are many other possible latching designs (such as spring loaded rockers), the described magnetic system uses just three simple parts that can be easily adjusted to provide the optimum latching forces. By adjusting the magnets&#39; residual field strengths during magnetization, the resultant latching forces may be made just sufficient to prevent accidental motion of the locking wheel with no excess force that would require the use of a larger and higher power consuming solenoid. Since a rotary solenoid greatly reduces the latching forces required because of its inherent stability under linear forces, the torque requirements of the design are minimal. 
     A lever switch (&#34;status&#34; switch) adjacent a cam on the locking wheel is used to signal to the microprocessor the status of the locking/unlocking mechanism. This provides a check to see that the locking wheel has been able to respond properly to commands from the microprocessor. If, for instance, the user has prevented locking wheel reset by applying restraining forces through attempted drive shaft rotation during the solenoid pulse, this switch will alert the microprocessor to the need for sending additional pulses to the solenoid until the, unlocking operation has been successfully completed. 
     The dispensing device described above can certainly perform all its functions, with all the stated benefits, from a fixed location using externally supplied power. However, the structure has been particularly optimized for portable operation using self contained batteries. Portability is especially beneficial to the medication dispenser/monitor/controller application where small size and battery operation are essential. 
     Several features contribute to efficient utilization of space within the unit: 
     a. Hexagonal, closest packing--much of the storage volume is configured for double row, closest packed storage which results in maximum container densities. The flexibility of the container strip allows the containers to be pushed next to one another to accomplish closest packing. 
     b. Optimum partition design--the U-shaped partition folds the cohtainer strip into a compact area while providing large radius turns that help insure smooth strip movement. Virtually the entire area inside and outside the partition may be filled with containers. Single row designs, such as one using a spiral partition in a round enclosure, require more extensive partitions that waste space and have more turns that increase the undesired drag forces on the strip as it is advanced. On the other hand, use of too few partitions risks the possibility that containers will not advance in the proper order and thereby jam the dispensing mechanism. 
     The U-shaped design also affords the most easily grasped and carried device proportions. Round devices having comparable capacities have diameters that are too large to comfortably grasp without a handle. More rectangular designs of similar capacity have a length dimension that becomes more awkward to accommodate during transport and storage. 
     c. Minimum wall thickness--The outer wall and partition thicknesses have been minimized to save volume and weight. Using extensions of the storage base partition, instead of a base mounted post, to engage the upper housing cabinet lock maximizes the space available for container storage. 
     d. Housing adaptability--The placement of all electronics and dispensing mechanisms in the top portion of the device allows the height of the separate storage base to be adjusted to exactly fit the height of the containers. 
     e. VLSI circuits--Very large scale integrated circuits are used, each of which perform the function of several circuits in just one package, thereby saving large circuit board areas and reducing unit weight. 
     f. Plastic construction--Almost all housing and support structures, as well as several of the dispensing mechanisms, may be suitably constructed of plastic materials, thereby lessening the weight that must be carried. 
     g. Software features--By implementing in software several functions normally implemented in hardware, valuable space and weight are saved. The usual UART (Universal Asynchronous Receiver/Transmitter) and parallel interface hardware elements have been implemented in software. Serial communications are used to simplify the hardware necessary for communications with the Base Unit. The level shifting circuitry needed by the communications link has been moved out of the dispensing device and into the Interface Unit to save more dispensing device space. 
     So that the dispensing device could be used in applications such as the medication dispenser/monitor/controller where the battery power supply must provide up to 60 days or more of continuous operation, many power saving features have been implemented. 
     a. CMOS circuitry--All integrated circuits are of Complementary Metal Oxide Silicon construction for lowest possible current draw. 
     b. `WAIT` mode--The use of a microprocessor having a low power standby operating mode and software that places the MPU in that power saving mode for more than 98% of its operating period is the major power saving feature. 
     c. Piezoalarm--The reminder alarm function is implemented with a piezoelectric element that uses only a few milliamperes of current. Further power savings result by only pulsing the alarm for a fraction of every minute. 
     d. LCD--A liquid crystal display is used as the visual dispensing reminder because it uses only microamperes of current. 
     e. Mechanical auto-lock--The auto-lock feature requires no electrical power, the motive force being supplied by the dispenser operator while advancing the ejector pinion drive shaft. 
     f. Manual ejector drive--Although the ejector pinion could be motor driven to ease the dispensing operation for the fixed location user where external power is readily available, the manual drive design permits portable operation where the large amount of power required for an electric drive is not available. 
     g. Rotary solenoid--As described above, a rotary solenoid requires less latching forces and therefore less starting torque (power) than a linear solenoid design. Rotary solenoids also provide superior starting torque for a given current and size. The unlock mechanism is designed so that the unlock solenoid need merely rotate a lightweight locking wheel. No linkage forces have to be overcome that would require the use of a bulkier, higher current draw solenoid. Further, the solenoid driving software routine sends only a 50 msec pulse of power to the solenoid, limiting power used to the minimum needed to accomplish reliable unlock operation. Only pulses of power need be sent to the unlock solenoid since the mechanism is latched once it reaches the unlock position and no further power is needed to maintain the proper position. 
     h. VLSI circuitry--The use of highly integrated circuits reduces power consumption compared to discrete devices performing the same functions. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram of the medication dispenser and compliance monitor system according to the present invention; 
     FIG. 2 is an exploded, partially cutaway view of a field unit 24; 
     FIG. 3 is a schematic representation of containers on a strip showing dimensions and spacings; 
     FIG. 4 is a top view of the storage base portion of the Field Unit showing containers to be dispensed stored therein; 
     FIG. 5 is a schematic representation of an alternative container storage arrangement; 
     FIG. 6 is a schematic representation of an integral strip and storage container; 
     FIG. 7 shows a strip arrangement including two portions heat sealed to one another; 
     FIG. 8 shows a two portion strip 50 with a container held between the two strip portions; 
     FIG. 9 shows a container with a separate plug cap; 
     FIGS. 10-12 are schematic diagrams showing a dispensing operation; 
     FIGS. 13 and 14 are side views of a portion of the dispenser module showing how a dispensing operation is signalled; 
     FIGS. 15 and 16 are schematic views further illustrating how a dispensing operation is signalled; 
     FIGS. 17-19 are schematic illustrations demonstrating the automatic locking mechanism; 
     FIG. 20 is a side view showing the operation of the locking wheel by the rotary solenoid; 
     FIG. 21 is a top view of ejector pinion 34 showing the position of the container stop pin; 
     FIG. 22 is a cross sectional side view showing the position of the container stop pin; 
     FIG. 23 is a cross section view of the assembled Field Unit; 
     FIG. 24 is a view looking up at the dispensing module portion of the field unit; 
     FIGS. 25 A and B are a schematic diagram of the electronic subsystem of the field unit; 
     FIG. 26 is a flow chart of the software controlling the operations of the field unit; 
     FIG. 27 is a schematic diagram of the interface unit 22; 
     FIG. 28 is a block diagram of base unit 20; 
     FIG. 29 is a flow chart of the base unit loading routine software for loading a field unit; 
     FIG. 30 is a flow chart of the base unit unloading routine software for debriefing a field unit after it has dispensed some or all of its containers; 
     Appendix I is a detailed listing of the software controlling the field unit; 
     Appendix II is a detailed program listing of the loading routine shown in flow chart form in FIG. 29; and 
     Appendix III is a detailed program listing of the debriefing routine shown in flow chart form in FIG. 30. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     System Overview 
     Referring first to FIG. 1, there is shown a block diagram of the overall system concept of the present invention. The system includes a single base unit 20, a single interface unit 22 and a plurality of field units 24-1 . . . 24-N. A drug therapist or researcher can program many field units 24 (one at a time), give them to different patients or subjects and later collect and debrief them and prepare compliance reports. 
     To prepare a field unit 24 for distribution to a patient or test subject, a medication package, such as package 26, is first loaded into field unit 24. The field unit is then electrically connected with interface unit 22 and a programmed drug regimen, defined by the therapist by interacting with base unit 20, is loaded via interface 22 into the field unit. The drug therapist defines the drug regimen by using the &#34;LOAD&#34; software (set forth in Appendix II) with base unit 20 to configure the field unit 24. 
     The loaded field unit 24 is given to the patient, who dispenses medication in accordance with the schedule loaded into it using the &#34;LOAD-M&#34; software. The dispensing operation is governed by the software stored in field unit 24 and listed in Appendix I. This field unit software provides dosing time prompts, controls the dispensing meachanism, and stores the actual times and dates of dispensing. 
     After the drug regimen is completed, field unit 24 is returned to the therapist where it is again connected to base unit 20 via interface 22. The field unit is then debriefed according to the software listed in Appendix III and the base unit prepares a report to the therapist as to exact times of dispensing and any departures from the desired schedule. 
     Field Unit Mechanics 
     Referring to FIGS. 2-24 there are shown the mechanical details of a field unit 24. 
     Referring first to FIG. 2, there is shown an exploded view of field unit 24. Field unit 24 includes a storage base 28 constituting a portion of the housing of the field unit. Inside of storage base 28, there is fitted a storage base inner partition 30 which, together with an outer wall 32 of the storage base defines a passage way within which a dispensing package 26 can be stored and from which individual containers can be dispensed. The dispensing action is carried out by the rotation of an ejector pinion 34 which is manually rotated by the user by manipulation of a knob 36, during times when the field unit is &#34;unlocked&#34; in accordance with a predetermined dispensing schedule stored in it. The unlocking mechanism operates under microprocessor control as will be described later in further detail. 
     Inner partition 30 includes two slotted extensions 38 and 40 which pass through a hole 42 in a plate 44 and ultimately engage with a cam lock (not shown in FIG. 2) in a dispensing module portion 46 of Field Unit 24. Dispensing module portion 46 includes various mechanical elements, electronic subsystem, display, alarm, etc. A slot 48 on the upper surface of dispensing module portion 46 accommodates a key for a cam lock. 
     Dispensing package 26 includes a strip 50 holding a plurality of individual containers 52, each having its own cap 54. Package 26 is fitted into the passageway defined by outer wall 32 and inner partition 30 of storage base 28 according to a predetermined sequence. Each time a container 52 is to be dispensed, ejector pinion 34 is rotated so as to engage a single container 52 and push it through an opening 56 in outer wall 32 of storage base 28. Ejector pinion 34 is rotated by the user by means of rotating drive shaft Knob 36. 
     Ejector pinion 34 includes four locking pins 58 which cooperate with an unlocking arrangement for controlling when ejector pinion 34 can be rotated in accordance with the predetermined schedule. Ejector pinion 34 includes four concave portions 60 for accommodating the shape of individual containers 52 so that a container fits within concave portion 60 and is conveyed by rotation of the ejector pinion. 
     Referring now to FIG. 3, there is shown a schematic representation of a portion of a medication package 26 including strip 50 and two (2) containers 52. Each container has a circumference &#34;c&#34; and a diameter &#34;d&#34;. There is a space &#34;s&#34; separating two adjacent containers 52. 
     Referring now to FIG. 4, there is shown a top view of storage base 28 of field unit 24 with the dispensing module portion 46 removed. This figure shows a plurality of containers 52 packed within the passage way defined by inner partition 30 and outer wall 32. The arrangement of containers 52 shown in this Figure where the passageway is widest represents what is known as &#34;hexagonal closest packaging&#34; which allows the maximum number of containers 52 to be stored within the passage way volume. The minimum inter-container strip spacing required for closest packing is shown as the length Smin. The numbers shown inside each of containers 52 represent the sequence of dispensing of the individual containers. First, container #1 is dispensed, then container #2 is dispensed, etc. Each dispensing operation corresponds to a 1/4 turn of ejector pinion 34. As individual containers 52 are dispensed, strip 50 is pulled and the undispensed containers advance through the passage way as necessary toward ejector pinion 34. 
     Referring now to FIG. 5, there is shown an alternative, but not preferred, packaging arrangement of containers 52 known as &#34;parallel row packaging&#34;. The numbers inside each of containers 52 represent the sequence of dispensing of the containers. The minimum inter-container strip spacing required for parallel row packing is shown as the length Smin. 
     Containers 52 can either be formed integrally with strip 50 as shown in FIG. 6 or the containers can be fitted within spaces formed in strip 50 to accommodate the containers. As shown in FIG. 7, strip 50 can be formed from two separate and distinct strips of material 62 and 64 which can be sealed adjacent to container areas. The individual containers 52 can then be inserted into the space defined by the two strips of material. 
     Referring to FIG. 8, there is shown such an arrangement including strips of material 62 and 64 with a container 52 inserted therein. 
     Referring now to FIG. 9, there is shown a more detailed view of a portion of medication package 26. Each container 52 can be fitted with its own plug cap 66. 
     Referring now to FIGS. 10, 11 and 12, there are shown top views of the portion of storage base 28 including ejector pinion 34. These figures illustrate the dispensing sequence for containers 52. As in the preceeding figures, the numbers shown in the centers of respective containers 52 indicate the dispensing sequence of containers 52. As shown in FIG. 10, the first container is engaged in a concave portion of ejector pinion 34. This first container 52 is positioned along strip 50 in accordance with the details shown in FIG. 3 with a spacing s between containers #1 and #2, the d1stance between concave portions of ejector pinion 34 also being equal to said length S. Ejector pinion 34 rotates in the direction shown by arrow 68. FIG. 10 shows the position of containers #1, #2 and #3 just before ejector pinion 34 is rotated its quarter turn to dispense container #1. In FIG. 11, ejector pinion 34 has been rotated 1/8th turn from its starting position and container #2 is already engaged in the next concave portion of ejector pinion 34. FIG. 12 shows ejector pinion 34 rotated a full quarter turn from its position shown in FIG. 10 and with container #1 dispensed through opening 56 of storage base 28. For the sake of drawing convenience, in FIG. 11, strip 50 is shown with some &#34;slack&#34; around FIG. 70 of ejector pinion 34. In reality, there would be little slack since the spacing S between containers is carefully selected so that there will be no slack. As shown in FIGS. 10-12, ejector pinion 34 conforms to the space defined by outer wall 32 and inner partition 30 so that there is very little clearance between the tips 70 of ejector pinion 34 and the wall and partition portions of storage base 28. This protects the containers from being tampered with or removed before ejector pinion 34 is unlocked for dispensing. After a container 52 is dispensed, as shown in FIG. 12, the container 52 may be removed from strip 50 and the protruding portion of the strip 50 can be torn off at the edge 33 of wall 32 and discarded. 
     The operation of field unit 24 is under the control of a microprocessor. The microprocessor periodically unlocks a locking mechanism so that the user can manually dispense the next container in sequence. However, the operation is considerably more sophisticated than merely unlocking at predetermined intervals of time. It can unlock based on a predetermined formula including predetermined intervals and also as a function of when actual dispensing has taken place. Therefore, it is important that the microprocessor know exactly when the user has dispensed a container. 
     Referring now to FIGS. 13-16, there are shown drawings of portions of the field unit 24 for annunciating that a dispensing operation has been completed and for preventing reverse rotation of ejector pinion 34. 
     Referring first to FIG. 13, ejector pinion 34 is driven by a drive shaft 72 having cams 74 and 76 (Cam 74 is not fully visible in FIG. 13). Drive shaft 72 is rigidly coupled to knob 36 which is rotated by the user to cause a dispensing operation. Cams 74 and 76 engage spring loaded switch actuators 78 and 80 which in turn operate ejector switches 82 and 84. Cams 74 and 76 each include two cam portions spaced 180° apart around drive shaft 72. They are oriented around shaft 72 so that closest portions of cams 74 and 76 are spaced 90° from one another around periphery of drive shaft 72 so that they will cause a closure of switches 82 and 84 at 90° intervals of the rotation of drive shaft 72. FIG. 13 shows a position of drive shaft 72 whereat actuator 78 is engaged with cam 74 thereby turning switch 82 &#34;on&#34;. As shown in FIG. 13, at the time switch 82 is &#34;on&#34;, actuator 80 is not engaged with cam 76 because cam 76 is out of position of drive shaft 72 so that it cannot be engaged. Therefore, actuator 80 is not engaged with cam 76 and switch 84 is therefore &#34;off&#34;. 
     FIG. 14 shows the same components as shown in FIG. 13, but later in time, after drive shaft 72 has been rotated 90 degrees, so that cam 76 is engaged by actuator 80. As shown in FIG. 14, when actuator 80 is engaged in cam 76, switch 84 turns &#34;on&#34;. Cam 74 is then out of position so that actuator 78 cannot engage it. Therefore, switch 82 is &#34;off&#34;. 
     Referring now to FIGS. 15 and 16, this process of signalling a complete dispensing operation is further illustrated. 
     Referring now to FIG. 15, actuator 78 is shown engaged with cam 74, thereby causing switch 82 to be &#34;on&#34;. This corresponds to the position shown in FIG. 13. At the same time, actuator 80 is not engaged with cam 76 and therefore switch 84 is &#34;off&#34;. 
     FIG. 16 shows the same components as shown in FIG. 15, but 1/4 rotation of drive shaft 72 later. Actuator 78 is not engaged with cam 74, but actuator 80 is engaged with cam 76. Therefore, switch 82 is off and switch 84 is &#34;on&#34;. The &#34;on&#34; and &#34;off&#34; status of ejector switches 82 and 84 signal to the microprocessor when a dispensing operation is complete. This corresponds to completion of a 1/4 turn of drive shaft 72 rotation. 
     In addition, the shape of the cam depressions on drive shaft 72 are such that they prevent reverse shaft rotation when an actuator 78 or 80 is seated in its corresponding cam. The seat1ng act1on is abrupt and concurrent only with a complete 90° drive shaft rotation to avoid ambiguous signalling. The microprocessor is programmed to electrically deactivate a switch 82 or 84 immediately after it has been mechanically activated. By using two switches that are alternately enabled and activated by a completed dispensing operation, erroneous multiple signals that could occur if only one switch were used are avoided. 
     The unlocking mechanism will be discussed with reference to FIGS. 17, 18 and 19. Ejector pinion 34 interacts with a locking wheel 86 which controls a locking wheel switch 88 for signalling the microprocessor as to the &#34;locked&#34; or &#34;unlocked&#34; status of field unit 24. As shown in FIG. 17, locking wheel 86 includes a notched portion 90. The locking wheel 86 is positioned such that notched portion 90 can interact with locking pins 58 of ejector 34. Viewed from above, the locking wheel 86 is above that portion of ejector 34 including tips 70, as shown in FIGS. 18 and 19. Locking wheel 86 is rotated by interaction with locking pins 58 between those positions shown in FIGS. 17 and 19. A rotary solenoid 212, not shown in this Figure, can reset the locking wheel 86 from its locked position in FIG. 19 to its unlocked position in FIG. 17. As shown in FIG. 18, a locking pin 58 of ejector pinion 34 engages notch 90 in locking wheel 86 and rotates the locking wheel 86 towards the &#34;locked&#34; position. Thus, rotating ejector pinion 34 during a dispensing operation, causes locking wheel 86 to change positions. Engagement of the next locking pin 58 with locking wheel 86, as shown in FIG. 19, prevents further ejector pinion rotation. This automatically locks the dispensing device upon completion of a dispensing operation. Thus, FIG. 19 illustrates a &#34;locked&#34;  position, resulting from the counter-clockwise rotation of locking wheel 86 as a result of clockwise rotation of ejector pinion 34. When it is time to unlock the dispensing device, the microprocessor actuates the solenoid to rotate locking wheel 86 backwards, i.e., clockwise, into the unlocked position, shown in FIG. 17, thereby allowing the user to carry out the next dispensing operation. 
     Referring now to FIG. 20, there is shown a view of locking wheel 86 coupled so as to be operated by a solenoid 212. A pulse from the microprocessor to solenoid 212 causes locking wheel 86 to rotate from the position shown in FIG. 19 to the position shown in FIG. 17. 
     Referring now to FIGS. 21 and 22, the container stop operation will be explained. Container stop pin 92 is mounted in a bottom plate 94 of field unit 24. Ejector pinion 34 includes notches 96 for clearing the stop pin during ejector pinion 34 rotation. In effect, stop pin 92 prevents further ejector pinion 34 rotation until the dispensed container 52 (shown in FIG. 21) is removed. Thus, pin 92 prevents inadvertent or intentional attempted insertion of containers back into the unit which could jam the dispensing mechanism. 
     Referring now to FIG. 23, there is shown a cross sectional view of field unit 24 in an assembled condition showing both dispensing module portion 46 and storage base 28. Slotted extension 40 of partition 30 is engaged by a cam lock 96 for securing dispensing module 46 and storage base 28 in an assembled condition. The electronic subsystem including the microprocessor is formed on a circuit board 98 within dispensing module portion 46. The electronic subsystem is powered by a battery 200. A second battery 202 provides power for operating the solenoid. Circuit board 98 has mounted thereon a liquid crystal display 204 for displaying information to the user through a window 206 in the upper surface of dispenser module portion 46. Knob 36 for effecting a dispensing operation is shown in the upper right corner of this figure. Dispensing module portion 46 also includes piezo electric alarm 208 for sounding an audible alarm through an opening 210 to alert the user that it is time to dispense a dose of medication. 
     Referring now to FIG. 24, there is shown a view looking up into the dispenser module portion 46 of field unit 24. Ejector pinion 34 is not shown in this figure. Three conductor connector 216 provides interconnection to interface unit 22. Push button switch 214 allows the user to reset the microprocessor 100 to signal a base unit 20 request. 
     Field Unit 24 Electronic Subsystem 
     Referring now to FIGS. 25(A) and 25(B), there is shown a schematic diagram of the electronic subsystem hardware of a field unit 24. The functions of electronic subsystem are as follows: 
     1. It provides RAM (random access memory) for approximately 131 bytes (or more) of information. Fifty of these bytes correspond to 50 alphanumeric characters that define dosing schedule and identifying data. The remaining 81 bytes of memory are used to store one byte which holds the dosage taken count and 80 bytes that contain the date and time data when up to forty dosages have been taken. The size of the RAM required is a function of the number of dosages that can be delivered and the amount of identifying data desired. 
     2. It provides information as to the real or related time of day and date. This information is made accessible to the microprocessor for the purposes of recording dosing times and for schedule checking. 
     3. It provides signalling element(s) to indicate to the microprocessor when a dosage has been dispensed. 
     4. A signalling element is provided to indicate that the ejector locking mechanism is in its locked position. 
     5. A communications path is provided for sending data to and receiving data from interface unit 22 and base unit 20. 
     6. A clock display with its associated driver circuitry is provided to display the next dosing time (including AM/PM and proper day indicators). 
     7. An ejector unlock mechanism and associated driver circuitry is provided such that access to dosages is under field unit electronics control. 
     8. An audible alarm with its associated circuitry is provided such that the monitor user can be alerted to an impending dosing time. 
     9. Programmable logic and control circuitry are provided for integrating the above eight functions into an effective unit. 
     These functions are carried out by the electronic subsystem which is microprocessor-based and under the control of software flow charted in FIG. 26 and listed in Appendix I. The electronic subsystem features low power consumption such that it can operate from a single small battery for a period of time that will accommodate the longest possible dosing schedule that could be programmed into the unit. Solenoid 212 is powered by a separate solenoid battery 202 so that voltage swings due to solenoid operation will not affect electronic subsystems. Battery operation affords maximum portability and allows more convenient refrigeration, if required. The electronic subsystem has high noise immunity so that operation is not affected by spurious inputs, ambiguous data and address bus signal levels, or supply voltage fluctuations. 
     The electronics subsystem provides the above-listed functions and features in the following manner. 
     The programmable logic and control circuitry along with 112 bytes of RAM (random access memory) are provided by a Motorola MC146805E2 microprocessor unit 100, a NMC27C16EPROM102, a 74C00 address decode unit 104, and a 74HC373 Address Latch 106. The microcomputer supports the minimum volume requirement by including on one chip 112 bytes of user RAM, timer circuitry, 16 input/output lines, and the means to simulate a UART (universal asynchronous receiver/transmitter) communications interface to the interface/base units. Of the 112 bytes of user RAM available, one byte contains the dosage taken count, 80 bytes are used to store up to 40 sets of delivered dosage date and time data, and the remaining 31 bytes are used for intermediate results and stack space. Up to 2048 bytes of program storage is provided by the UVEPROM (ultraviolet erased, electrically programmable, read-only memory). The 74COO quad NAND gate decode unit and the 74HC373 latch allow the microprocessor to properly access the EPROM. 
     The timekeeping function is provided by the Motorola MC146818 real time clock plus RAM 108 and a 32.768 kHz crystal oscillator circuit 110. The real time clock retransmits the 32.768 kHz signal it receives from the crystal oscillator to supply the clock input the microcomputer requires. Crystal oscillator accuracy is approximately +/-0.005% which amounts to an error of about 3 minutes in forty days, the maximum usage period as presently designed. Although the real time clock resolves time to the second, our present system only uses one minute resolution as this is more than sufficient precision for the immediate application. Another function of the real time clock is to, by means of its programmable alarm circuitry, supply a once-per-minute interrupt signal to the microcomputer&#39;s timer input where a once-per-minute timer interrupt is generated. System integration is supported by the 50 bytes of user RAM included in the real time clock. These 50 bytes of memory are used to store the identifying and dosing schedule data sent to the field unit during the monitor loading operation. 
     Microswitches 82, 84, operated by activators 78 and 80, respectively, riding on ejector drive shaft cams 74 and 76, provide the signalling means to indicate the delivery of the next dosage. The ejector drive shaft cams 74 and 76 and the microswitches&#39; 82 and 84 orientation are such that the microswitches are alternately operated as dosages are sequentially delivered. By alternatively enabling the two microswitches 82, 84 electrically by means of output lines PA7 and PA6, a reliable indication of dosage delivery without danger of spurious, multiple signals is accomplished. 
     A locked ejector condition is signalled to the microcomputer by means of microswitch 88 activated by the ejector locking wheel and connected to input line, PAl. 
     Communications to the field unit are brought in on input line PA0, and data leaves the microcomputer through output line PA5 on its way to the interface and base units. Communication protocols are provided by UART programs in the EPROM. Baud rate generation is derived from the microcomputer clock frequency. Serial, rather than parallel, formats are used to simplify the communications interface and to permit the widest possible application to a variety of possible base units. The data format presently preferred is 110 baud rate, 8 bit word length, no parity bit, 1 stop bit, and XON/XOFF status disabled. 
     Liquid crystal display 204 with an ICM7211AM display driver 114 is used to provide next dosing time information to the user. Six output lines, PB0-PB5, are used to update the driver and display after a dosage has been delivered. 
     Rotary solenoid 212 is used to release (unlock) the ejector locking mechanism under microcomputer control. A separate 4.2 volt battery 202 is used to energize the solenoid circuit since the large current draw causes voltage spikes that would interfere with proper microcomputer operation if a common battery were used. ULN2069 quad Darlington switches 112 provide a high current buffer for the microprocessor control line PB6. 
     The audible alarm function comprises a piezoelectric element 208 and driver circuitry 116. The driver circuit 116, including a transistor 118 and three resistors, serves to drive the piezoelectric element into oscillation, thereby producing an alarm. 
     Low power consumption is attained by using 
     1. All CMOS (complementary metal oxide silicon) circuitry. 
     2. A relatively slow clock rate (32.768 kHz). 
     3. Liquid crystal type clock display. 
     4. Piezoelectric type alarm element. 
     Consequently, a TR133 4.2 volt mercury battery 200 can power the entire circuit, exclusive of the solenoid, under worst case conditions, and for the maximum period of forty days and still retain a large reserve charge. 
     High noise immunity is attained by using: 
     1. All CMOS circuity with its wide noise margins and wide supply voltage limits. 
     2. Use of a separate battery for solenoid power. 
     3. Serial communications with error checking routines. 
     Minimum volume is attained by using: 
     1. Microcomputer on a chip. The MC146805E2 contains a microprocessor, 112 bytes of user RAM, timer, and 16 I/0 lines, and can be programmed to perform the functions of an UART. 
     2. Multifunction real time clock. The MC146818 includes 50 bytes of RAM and an alarm interrupt. 
     Further integration and volume reduction is certainly possible through presently, or soon to be, available VLSI (very large scale integration) components that combine the microcomputer and real time clock functions, or the microcomputer and ROM functions, or even the microcomputer, ROM, and display driver functions. The ultimate in integration is also possible by means of customized CMOS gate arrays that could conceivably contain all the integrated circuit packages presently shown in our present design. 
     Field Unit Software 
     Referring now to FIG. 26 there is shown a flowchart of the software associated with the FIG. 25 hardware. A detailed program listing is set forth in Appendix I. 
     Program execution begins either after a power on reset (Step 300) (i.e. installation of a battery) or upon a hardware reset (Step 304) (i.e. pushing a reset switch 214) (see FIG. 25A) A power on reset is not meaningful except that it insures an orderly configuration of the microprocessor inputs and outputs immediately without the need of further operator action. After a power on reset, the program halts at a safe point (no outputs activated) and waits for the proper beginning of operation. 
     Normal program execution begins when the reset switch is pushed by the operator to signify a base unit request (see Step 304). This request may be either to load the field unit with data prior to use by the patient or it may be to have the field unit unload the data collected during the term of the patient&#39;s use of the Monitor. In either case the first action taken is to configure the microprocessor&#39;s input and output ports for proper operation. This routine is named &#34;Reset&#34; (Step 302). 
     Next, in the &#34;Recogn&#34; (recognition) routine (Step 306), the field unit first sends an ASCII &#34;R&#34; (&#34;ready&#34;) to the base unit to indicate that communications may start and then waits to receive an ASCII character from the base unit in order to identify what function is being requested. If the received character is a &#34;L&#34;, then the program jumps to the &#34;Load&#34; routine (Step 308). If the character is an &#34;U&#34;, then the program jumps to the &#34;Unload&#34; routine (Step 310). If the character received is neither a &#34;L&#34; nor an &#34;U&#34;, then a problem has occurred during communications and the program goes to the &#34;Badcom&#34; (&#34;bad communication&#34;) section (Step 312). 
     The &#34;Badcom&#34; routine sends a &#34;?⃡ to the base unit to alert it to the communications problem and then the program jumps to &#34;Wait&#34; (Step 314) where it waits for another push of the reset button to restart the program. 
     When the field unit recognizes a base unit request to &#34;Load&#34;, it proceeds to receive, echo, and store 50 bytes (characters and numbers) of data sent by the base unit. This data includes patient and study identifying information and the dosing parameters data. The information is received as ASCII coded characters that are echoed to the base unit to insure accurate data transfer and then stored in the real time clock user RAM area for later use. The &#34;Load&#34; routine also allows the operator to verify the proper operation of the field unit&#39;s alarm and unlock functions before placing the unit into service. 
     After loading is complete the program enters the &#34;Start&#34; routine (Step 316). Here the real time clock is set to the actual time and is configured to provide a once-a-minute timer interrupt to the microprocessor. Registers in the microprocessor are initialized, the liquid crystal clock display 204 is set to show the first scheduled dosing time and finally, the real time clock is started running. The program then goes to the &#34;Minute&#34; section (Step 318) where the field unit begins user related operations. 
     In the &#34;Minute&#34; routine, which is reached once per minute via a timer interrupt, the microprocessor first reads the real time clock and stores the present hours and minutes to compare against the events schedule. The following checks are made and appropriate action taken: 
     1. Is it midnight? If so, increment day counter. 
     2. Should the piezoalarm be activated? If so, sound alarm 4 times. 
     3. If the ejector should be unlocked and is not, a pulse is sent to the solenoid to reset the locking wheel. 
     After completing these tests, the program exists to the &#34;Wait&#34; routine. 
     For all but a few seconds each minute the program is idling in the &#34;Wait&#34; routine. While in this routine, the microprocessor is in its &#34;Wait&#34; operating mode which disables all functions except the ability to respond to interrupts and resets. This results in very low power consumption which allows the field unit to operate on a small battery for a period of at least 40 days. While in this state, the microprocessor performs no task and simply waits for one of three events to occur. 
     Once every minute the real time clock will initiate a microprocessor timer interrupt (Step 320) that causes the program to exit &#34;Wait&#34; and go to &#34;Minute&#34; where the alarm and unlock checks will be made as described above. Upon completion of the &#34;Minute&#34; functions, the program returns to &#34;Wait&#34; and awaits the next interrupt. 
     The delivery of a dosage and the accompanying activation of an ejector switch 82 or 84 (Step 322) will also cause the program to exit &#34;Wait&#34; by means of activating the microcomputer&#39;s external interrupt line. In this case the program jumps to &#34;Dosage&#34; (Step 316) where: 
     1. The dosage counter is incremented. 
     2. Date and time of dosage delivery data is stored in the microprocessor&#39;s user RAM. 
     3. The program jumps to &#34;Minute&#34; where the events schedule is checked. 
     After these tasks are completed the program once again returns to &#34;Wait&#34; to await the next interrupt or reset. 
     The third method of exiting &#34;Wait&#34; is the activation of the reset switch, signalling a base unit request. The servicing of a &#34;Load&#34; request was described above. An &#34;Unload&#34; request is now described. 
     At the end of the dosing period the field unit is returned to the doctor by the patient. The base unit program for field unit interrogation will request the operator to push the reset switch. The field unit program exits the &#34;Wait&#34; routine, passes through &#34;Reset&#34; to the &#34;Recogn&#34; section where the unload request is recognized, and then jumps to the &#34;Unload&#34; routine. This part of the program sends the original 50 bytes of identifying and dosing schedule data stored in the real time clock RAM back to the Base Unit. The 81 bytes of dosing data stored in the microprocessor&#39;s RAM are then sent to the base unit. The field unit checks for an accurate echo from the base unit after each data byte is sent. After data transmission is complete the field unit program goes back to &#34;Wait&#34;. If any echo shows that a data transfer error has occurred, the &#34;Unload&#34; program is aborted and a jump is made to &#34;Badcom&#34; where an error flag is transmitted as described earlier. 
     Interface Unit 
     Referring now to FIG. 27 there is shown a schematic diagram of interface unit 22 and the communication lines of base unit 20. 
     The purpose of the interface unit 22 is to provide signal level shifting such that the field unit can send and receive serial communications to and from any base unit 20 having an RS-232-C standard serial communications port. By means of this interface unit 22 the compliance monitor system then has the flexibility of using almost any computer with the proper software for its base unit 20 since the use of RS-232-C serial ports is so prevalent. 
     Under the EIA (Electronics Industries Association) RS-232-C standard, binary state 1 (one) signals are transmitted as a voltage between -5 and -15 volts. Binary state 0 (zero) signals are transmitted as a voltage between +5 and +15 volts. In the field unit the binary state 1 is at +4.2 volts and the binary state zero is at 0 volts (&#34;ground&#34;). Thus, the interface unit must be capable of converting the field unit&#39;s +4.2 volt transmissions into -5 to -15 volt signals, and must convert 0 volt levels into +5 to +15 volt signals for proper reception by the base unit RS-232-C port. Conversely, the -5 to -15 volt signals from the base unit port must be changed to approximately +4.2 volts, and +5 to +15 volt signals must be changed to 0 volts (ground) for use by the field unit. The base unit presently preferred (Radio Shack Model 100) outputs +/-5 volts on its RS-232-C transmission lines. 
     Interface unit 22 includes the following primary elements to provide the functions described above: a multi-voltage power supply including a power supply element 400, preferably a CALEX 22-120, a regulator 402, preferably a 7805, a RS-232-C line receiver 410, a RS-232-C line driver 420, and connectors and cables to interconnect the base 20, interface 22, and field units 24. The power supply converts 120 volts AC input power into +12, -12, and +4.3 volts DC outputs for use by the line driver and receiver circuits. One fourth of a MC1488 Quad Line Driver takes 0 and +4.2 volts DC signals from the field unit&#39;s transmitting port (MC146805E2, pin 9, PA5) and converts them to +12 and -12 volts DC signals, respectively, for transmission to the base unit&#39;s receiving line (RXR, pin 3). One fourth of a MC1489 quad line receiver takes +5 and -5 volts DC signals from the base unit&#39;s transmitting line (TXR, pin 2), and converts them to 0 and +4.3 volts DC signals, respectively, for transmission to the field unit&#39;s receiving port (MC146805E2, pin 14, PA0). 
     The RS-232-C interface standard provides for up to 25 lines for control and data, but this system only requires use of three: line 2, TXR; line 3, RXR; and line 7, GND. Similarly, only three lines are needed between the interface unit and field unit. 
     The interface unit 22 circuitry does not necessarily need to be housed in a separate cabinet. These electronics could be contained in the field unit except for the disadvantages associated with the increased volume required for the electronics and the additional batteries needed to meet RS-232-C line voltage requirements. The interface electronics could also be contained in the base unit housing, especially since the required voltages are often already available. However, we presently separately house the interface electronics so that other base units may be used without hardware modifications. 
     Base Unit Hardware 
     Referring now to FIG. 28 there is shown a block diagram of base unit 20. 
     Base unit 20 provides the compliance monitor system user with a means of programming field units with the instructions necessary to control drug delivery and a means by which to retrieve data stored in the field unit at the end of the dosing program. Base unit 20 further provides a means for processing the recovered data and generating analytical reports detailing all system operations. 
     Base unit 20 is a computer system advantageously combining the following attributes: 
     1. ROM/RAM memory size sufficient to contain the LOAD-M and READ-M programs with their associated workspaces (approximately 12,500 bytes when written in BASIC) plus its own operating systems. 
     2. RS-232-C Serial communications interface --for loading data to and unloading data from the interface/ field units. 
     3. Interface to a hard copy device--usually a parallel printer port. 
     4 Display--internal or external; CRT, LCD, etc.--for prompting user. 
     5. Keyboard or other data entry device. 
     6. Hard copy unit--usually a dot matrix printer capable of printing both text and graphics. 
     Other features of the base unit include: 
     1. A high level programming language (BASIC, FORTRAN, etc.) interpreter for ease of software development and revision. 
     2. BASIC interpreter in ROM--eliminates the need for loading the system from, disk or tape before each operating session. 
     3. Sockets for application program ROMs--eliminates the need for loading the application programs from disk or tape before each operating session; ROM does not require continuous battery backup; software is better protected from pirating. 
     4. Additional ROM/RAM memory space beyond the minimal requirement such that application programs for statistical analyses, protocol screening, etc. can reside in, and be run from, this one computer. 
     5. An on-board real time clock so that the operator need not repeatedly enter time and date information during field unit load and read operations. 
     6. A high level of system component integration --for minimum space requirement, portability, battery operation, and lower cost. 
     The preferred embodiment uses a Radio Shack Model 100 portable computer 500 and an Epson RX-80 dot matrix graphics printer 510 to meet the above requirements. The Model 100 integrates all of the required functions, except that of the printer, plus several others into one very compact and inexpensive unit. It contains 32K bytes of ROM where the BASIC interpreter resides. 32K bytes of RAM are available, part of which may hold the LOAD-M and READ-M application programs. This RAM is backed-up by a NICAD battery which retains the programs in memory indefinitely when the AC adapter is used or for several days when the unit is operated from batteries. Future versions of the base unit will have the application programs stored in a second 32K byte ROM for which there is a socket in the bottom of the computer. The programs could then never be lost due to loss of battery charge. Further, when programs are in ROM, they are stored in machine language or tokenized BASIC, thus affording better software security. 
     The Model 100&#39;s input/output ports include a parallel printer port for sending output to the dot matrix printer and a RS-232-C serial communications port for communicating with the interface/field units and, perhaps, with other computers. The serial port operates at several user-selectable baud rates including the relatively slow 110 baud rate. This rate is still fast enough to provide a convenient data transfer rate while slow enough to allow the use of a battery conserving, slower clock frequency in the field unit. 
     Other I/0 ports available, but not presently used, are a bar code wand input, a cassette recorder interface, and a telephone modem. A bar code wand could be used with future models to take inventories required for drug control. The cassette recorder port provides a means for reloading the application programs into memory if memory backup power is ever lost. The modem might be used to allow future field and base units to communicate remotely over phone lines. 
     The Model 100 has an on-board real time clock so that time and date information need be inputted or updated only infrequently. 
     The display function is provided by an internal 40 character by 8 line liquid crystal dot graphics display. Prompts and data may be presented in any combination of text and graphics. 
     The typewriter style keyboard includes cursor control and function keys for easy data entry and program selection. 
     The Epson RX-80 dot matrix graphics printer has both text and graphics print modes and uses 81/2×11&#34; continuous forms. Data and instructions from the Model 100 are handled by a standard Centronics compatible, 8-bit parallel interface. 
     Of course, many other computer and peripheral combinations could provide the required base unit functions. The Model 100 and RX-80 units were chosen because they offered the best combination of features and low cost then available. Another method of reducing system cost would be to provide software packages for several common computer systems that meet base unit requirements. The customer then would be able to make use of already existing computer hardware. 
     Base Unit Load Software 
     Referring now to FIG. 29 there is shown a flowchart of the base unit &#34;LOAD-M&#34; software for storing a medication schedule into a field unit 24. A detailed program listing is set forth in Appendix II. 
     The LOAD-M program is selected by moving the main menu cursor over LOAD-M and pressing the &#34;Enter&#34; key. The program starts automatically and prompts the user through all loading operations. Even the most inexperienced operator should be capable of reliable data entry after only minimal training. Proper format checks and escape sequences prevent and correct most erroneous inputs. 
     LOAD-M is selected after field unit 24 has been loaded with dosages and before being given to the patient. The program collects the study and patient identifying data and the dosage schedule and control data through keyboard responses to instructions prompted on the liquid crystal display. This data is loaded into the field unit by way of the interface unit. Finally, a hard copy report of the loaded data is printed. 
     More specifically, operation is as follows: 
     1. MMS Logo, Copyright Notice, and &#34;Monitor Loading Routine&#34; Displayed. 
     2. Data Entry--Identifying and schedule data are entered. 
     a. Study ID#--1 to 6 alphanumeric characters. If more than six characters are entered, only the first six are used. Other formats could be used. 
     b. Patient ID#--1 to 6 alphanumeric characters. If more than six characters are entered, only the first six are used. Other formats could be used. 
     c. Daily dosing schedule--1 to 4 &#34;on the hour&#34; dosing times. Each selected time must be no earlier than the previous dosing time. Selection is made by moving the cursor over the desired hour and pressing &#34;Enter&#34;. Once four times are entered, the program automatically jumps to the next operation. An &#34;entry complete&#34; input is required when less than 4 dosing times are entered. 
     d. First Dosage Time--The selected dosage schedule is displayed on the LCD screen and the starting dosage is chosen by moving the cursor over the desired time and pressing &#34;Enter&#34;. 
     e. Starting Day Offset--If dosage taking is not to begin before the end of the current day, the number of days before dosages are to be taken should be entered. This feature allows the monitor system operator to load field units in advance, whenever convenient. 
     f. Number of Doses Loaded--Knowing the number of doses loaded allows field unit 24 to stop alarm and display functions after the last dose is delivered. 
     g. Monitor Serial #--1 to 6 alphanumeric characters. If more than six characters are entered, only the first six are used. An &#34;L&#34; in the first position indicates that the field unit being loaded has the computer controlled unlock feature and that the unlock period must be inputted. Other formats could be used. 
     g. Unlock Period--The operator chooses one of four unlock periods (2 min., 30 min., 59 min., or &#34;Always&#34;) by moving the cursor over the proper label and pressing &#34;Enter&#34;. In operation, the field unit will unlock the ejector mechanism before the scheduled dosing time by the amount of time specified by the unlock period. Other periods could be used. 
     h. Alarm Start--The operator chooses one of four alarm start periods (2 min., 15 min., 30 min., or &#34;None&#34;) by moving the cursor over the proper label and pressing &#34;Enter&#34;. In operation, the field unit will start sounding the reminder alarm four times every minute when the actual time is within the alarm start period before the scheduled dosing time. Other periods could be used. 
     i. Time/Date Check--The computer will display the time and date as given by its own real time clock. If either time or date is in error, the operator may easily correct them at this time by entering the correct values using the formats shown. 
     Note: Data formats other than those shown above (i.e. longer or shorter serial numbers; fewer, more, or different unlock and alarm start periods; different dosage scheduling options; etc.) can be used as long as the field unit has sufficient RAM capacity and is programmed to interpret a different set of schedule parameters. 
     3. Field Unit Loading/Testing - Entered data is moved into field unit. 
     a. First, LOAD-M disassembles and converts the entered string values into 50 bytes of data suitable for transmission to and use by the field unit. 
     b. The operator is then prompted to connect the interface unit (which is connected to the base unit at the RS-232-C port) to the field unit. When the field unit&#39;s reset switch is pushed the base unit and field unit begin communications. The entire loading operation is automatic and needs no operator intervention. The LOAD-M program signals to the field unit that a load operation is beginning, waits for a &#34;Ready&#34; reply, and then sends the 50 bytes of data in a sequence expected by the field unit. After each byte is sent, the base unit checks that the field unit has echoed the proper data indicating good data transmission. If a bad echo is received, the data transfer is aborted and restarted. 
     c. After loading is complete, the operator is prompted to check alarm and unlock features of the field unit if so desired. By pressing &#34;B&#34; the alarm should sound. By pressing &#34;U&#34; the unlock solenoid should activate. 
     d. When loading and testing are complete, LOAD-M prompts the operator to turn off and disconnect the interface unit, and ready the printer. 
     4. Print Permanent Record of the Loading Operation. 
     a. The program proceeds to automatically print a one page record of the loading operation (see sample in Appendix II). All inputted data is repeated and the time and date of loading is recorded. This record then serves to document the loading phase of the monitoring program for use in the patient&#39;s, program, and physician&#39;s files. 
     5. Program Exit. 
     a. The operator is asked whether there is another field unit to be loaded. If so, the program jumps to the beginning (just after the logo and copyright notice) to restart. If there are no more field units to load, LOAD-M is exited and program control returns to the Model 100 main menu where another program may be selected if desired. 
     Note: The LOAD-M operations require only approximately two minutes to complete (per field unit). 
     Base Unit Read Software 
     Referring now to FIG. 30 there is shown a flowchart of the base unit &#34;READ-M&#34; software for debriefing a field unit 24 and preparing a compliance report. A detailed program listing and a sample compliance report are set forth in Appendix III. 
     The READ-M program is selected by moving the main menu cursor over READ-M and pressing the &#34;Enter&#34; key. The program starts automatically and prompts the user through all unloading operations. Even the most inexperienced operator should be capable of debriefing field units after only minimal training. 
     READ-M is selected after the patient returns the field unit at the end of the dosing program. The program unloads from the field unit, by way of the interface unit, the dosage delivery data as well as the previously loaded identification and schedule control data. The data is analyzed, presented on the LCD, and printed on a one or two page report. The format of the LCD and hard copy reports is such that the level of compliance is evident at a glance. 
     More specifically, operation is as follows: 
     1. MMS Logo, Copyright Notice, and &#34;Monitor Debriefing Routine&#34; are displayed. 
     2. Unload Field Unit--Stored data is moved into base unit. 
     a. Operator is prompted to connect the interface unit (which is connected to the base unit at the RS-232-C port) to the field unit, turn on the interface unit, and press the field unit&#39;s reset switch. 
     b. After the reset switch is pressed, the base unit and field unit begin communications through the interface unit. The entire unloading operation is automatic and needs no operator intervention. The READ-M program awaits a &#34;Ready&#34; signal from the field unit, then signals that an unload operation is beginning. Having established communications, the field unit sends 131 bytes of data to the base unit. The first 50 bytes are the same data originally stored during the load operation. The 51 st byte sent contains the count of dosages taken. The final 80 bytes, arranged as 40 pairs, are compressed representations of the dosage delivery time and date data. If all 40 dosages were not taken, data pairs beyond the dosages taken point contain meaningless data. After each data byte is received by the base unit, it is echoed to the field unit to verify proper data transfer. If the field unit receives a bad echo, it sends an ASCII &#34;?&#34; to the base unit which causes the READ-M program to restart the unload operation. 
     3. Assemble Identifying and Schedule Data. 
     a. The first 50 bytes received are assembled into the proper string and numeric variables that represent the schedule and identifying data originally loaded into the field unit by the LOAD-M program. 
     4. Display Compliance Report. 
     a. The READ-M program next unpacks the dosage delivery data and presents an analysis of the compliance levels along with the identifying and schedule data on the liquid crystal display. Compliance is shown by plotting the dosage number against the actual dosing time error. The five error levels used are: 
     More than 2 hours early 
     Less than 2 hours early 
     Within plus or minus one hour 
     Less than 2 hours late 
     More than 2 hours late 
      An asterisk is plotted at the appropriate error level for each of the dosages taken. 
     5. Print Hard Copy of the Compliance Report. 
     a. The compliance report described in 4 is output to the printer. However, instead of plotting an asterisk, the actual dosing time in hours and minutes is plotted at the appropriate error level for each of the dosages taken. Additionally, if the actual dosing time is not on the proper day, the number of days early or late is printed after the dosing time. The hard copy report will require one or two pages depending upon the number of dosages taken. This record then serves to document the debriefing phase of the monitoring program for use in the patient&#39;s, program, and physician&#39;s files. 
     Note: Other methods of presenting the compliance analysis (e.g. using four hour error bands, statistical analyses, etc.) are equally valid. The READ-M program quickly shows compliance levels &#34;at-a-glance&#34; and assumes that more detailed analyses can be made in other programs. 
     6. Program Exit. 
     a. The operator is asked whether there is another field unit to be unloaded. If so, the program jumps to the beginning (just after the logo and copyright notice) to restart. If there are no other field units to unload, READ-M is exited and program control returns to the Model 100 main menu where another program may be selected if desired. 
     Note: The READ-M operations require only approximately two minutes to complete (per field unit). 
     Further Enhancements 
     Additional base unit software can be provided for patient screening per the drug therapy protocol during the loading operation in medication efficacy studies. 
     Additional base unit software can be provided to do statistical analyses of the compliance data for one or more patients. 
     By means of a keyboard or card reader one field unit could keep track of dosage delivery to several patients by requiring the entry of access and identifying codes. 
     A modem contained within, or attached to, the field unit would allow remote uploading of data to the base unit from the field unit and downloading of new instructions to the field unit from the base unit. 
     While the invention has been described in connection with what is presently considered to be the most practical and preferred embodiments, it is to be understood that the invention is not to be limited to the disclosed embodiments but on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims which scope is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures.