# Patent

## Title
Method and system for enhanced data transfer

## Abstract

A system and method for enhanced data transfer are disclosed, the method being applicable to a system comprising a computing device configured to transfer data from a portable device. In one embodiment, the computing device stores a fingerprint of the newest record downloaded from a portable device and stops downloading records from the device when a downloaded record matches the fingerprint. In another embodiment, the computing device stores a fingerprint of the newest record downloaded from a portable device and fully processes records that are downloaded from the device after a downloaded record matches the fingerprint. The system may include a portable device configured to adapt its operation responsive to a system fingerprint provided by the computing device. The portable device may be a medical device. The system may be a healthcare data management system.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a Continuation application of U.S. patent application Ser. No. 11/999,911, filed Dec. 7, 2007, entitled METHOD AND SYSTEM FOR ENHANCED DATA TRANSFER, the entire disclosure of which is hereby expressly incorporated herein by reference.


FIELD OF THE INVENTION
The invention relates to a method and system for enhanced data transfer between two or more devices.
BACKGROUND OF THE INVENTION
Many fields of medical treatment and healthcare require monitoring of certain physiological parameters. Technological advancements in medicine led to the increased use of medical devices, e.g., meters and infusion pumps, to collect medical data, and of healthcare data management systems. Healthcare data management methods and systems traditionally developed for use in healthcare facilities and health management organizations are increasingly used by patients, care givers, and others. U.S. Pat. No. 7,103,578 and U.S. Published Application No. 2004/0172284 disclose two such methods and systems. Some healthcare data management systems are able to transfer data between them.
A common feature of healthcare management systems is the ability to convey information. Information can include raw data, graphical representations of data such as statistical display objects, explanations and textual interpretations, inferential information and so on. Communication and understanding can be improved by using interactive graphs to convey information. In one particular embodiment, the development of graphical user interfaces (GUI) facilitates user interaction with data processing and other software applications. In a typical embodiment, a GUI can display a number of display objects that are individually manipulable by a user utilizing a user input device. For example, the user can utilize a computer keyboard, mouse, touch screen, touch pad, roller ball or voice commands and the like to select a particular display object and to further initiate an action corresponding to the selected display object.
Medical devices may include a data stack where patient data is recorded in anticipation of downloading to a healthcare data management system. Common methods of storing data utilize LIFO and FIFO sequential orders to store data in stacks or files. Generally, the medical device stack is downloaded in its entirety and the data is then managed by the healthcare data management system. Some medical devices retain large amounts of data and have slow transfer rates. Data transfers using those devices require an amount of time which users may consider excessive and which may conflict with their lifestyle.
SUMMARY OF THE INVENTION
A system and method for enhanced data transfer is provided. The system comprises a computing device and data management software. The computing device is configured to access a portable device containing data. In accordance with one aspect of the invention, the portable device is a medical device. The method may be implemented in the system.
In accordance with an aspect of the present invention, an enhanced data transfer method is provided. In accordance with the method, a program stores a last record fingerprint corresponding to the newest record downloaded from the portable device and stored. Upon initiation of a download event, the program receives records from the portable device in sequential LIFO order and compares each record to the last record fingerprint to find a match. Once a match is found, the program stops downloading records. Alternatively, a user may opt to download previously downloaded records.
In accordance with another aspect of the present invention, an enhanced data transfer method is provided. In accordance with the method, a program stores a last record fingerprint corresponding to the newest record downloaded from the portable device and stored. Upon initiation of a download event, the program receives records from the portable device in sequential FIFO order. The program compares each downloaded record to the last record fingerprint. Until it finds a match, the program skips further processing steps on each downloaded record. When it finds a match, the program skips further processing steps on the matched record and begins full processing of all subsequent downloaded records.
In accordance with a further aspect of the present invention, a data management system for enhanced data transfer is provided. The data management system comprises a computing device, a portable device, and data management software. The portable device is configured to receive a system fingerprint from the data management software and to adapt its operation based on a relationship between the system fingerprint and the portable device records. The system fingerprint may comprise without limitation a system identifier, a hierarchical level, and a type of data management system.
In accordance with another aspect of the present invention, an enhanced data transfer method is provided. In accordance with the method, a portable device configured to adapt its operation responsive to a system fingerprint prevents deletion of records not yet downloaded to the data management software corresponding to the system fingerprint.
In accordance with another aspect of the present invention, an enhanced data transfer method is provided. In accordance with the method, a portable device configured to adapt its operation responsive to a system fingerprint selectively downloads records to data management software based on the type of data management software.



DESCRIPTION OF THE DRAWINGS
The foregoing aspects of this invention will become more readily appreciated as the same become better understood by reference to the following detailed description when taken in conjunction with the accompanying drawings.
FIG. 1 is a conceptual diagram of a system according to the invention comprising a computing device having a modulated signal transceiver configured to access a portable device.
FIG. 2 is a conceptual diagram of two systems according to the invention configured to access each other and a portable device.
FIG. 3 is a screenshot according to the invention depicting the main menu of a personal installation of a healthcare data management software.
FIG. 4 is a screenshot according to the invention depicting the main menu of a professional installation of a healthcare data management software.
FIG. 5 is a flowchart depicting one aspect of the method according to the invention.
FIG. 6 is a conceptual diagram of a structural layout of computer storage media of a portable device according to the invention.
FIG. 7 is a flowchart depicting another aspect of the method according to the invention.



Corresponding reference characters indicate corresponding parts throughout the several views. Although the drawings represent embodiments of various features and components according to the present invention, the drawings are not necessarily to scale and certain features may be exaggerated in order to better illustrate and explain the present invention. The exemplification set out herein illustrates embodiments of the invention, and such exemplifications are not to be construed as limiting the scope of the invention in any manner.
DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION
Concepts described below may be further explained in one of more of the co-filed patent applications entitled HELP UTILITY FUNCTIONALITY AND ARCHITECTURE (U.S. patent application Ser. No. 11/999,906), METHOD AND SYSTEM FOR GRAPHICALLY INDICATING MULTIPLE DATA VALUES (U.S. patent application Ser. No. 11/999,853), SYSTEM AND METHOD FOR DATABASE INTEGRITY CHECKING (U.S. patent application Ser. No. 11/999,856), METHOD AND SYSTEM FOR DATA SOURCE AND MODIFICATION TRACKING (U.S. patent application Ser. No. 11/999,888), PATIENT-CENTRIC HEALTHCARE INFORMATION MAINTENANCE (U.S. patent application Ser. No. 11/999,874), EXPORT FILE FORMAT WITH MANIFEST FOR ENHANCED DATA TRANSFER (U.S. patent application Ser. No. 11/999,867), GRAPHIC ZOOM FUNCTIONALITY FOR A CUSTOM REPORT (U.S. patent application Ser. No. 11/999,932), METHOD AND SYSTEM FOR SELECTIVE MERGING OF PATIENT DATA (U.S. patent application Ser. No. 11/999,859), METHOD AND SYSTEM FOR PERSONAL MEDICAL DATA DATABASE MERGING (U.S. patent application Ser. No. 11/999,772), METHOD AND SYSTEM FOR WIRELESS DEVICE COMMUNICATION (U.S. patent application Ser. No. 11/999,879), METHOD AND SYSTEM FOR SETTING TIME BLOCKS (U.S. patent application Ser. No. 11/999,968), COMMON EXTENSIBLE DATA EXCHANGE FORMAT (U.S. patent application Ser. No. 11/999,871), METHOD OF CLONING SERVER INSTALLATION TO A NETWORK CLIENT (U.S. patent application Ser. No. 11/999,876), METHOD AND SYSTEM FOR QUERYING A DATABASE (U.S. patent application Ser. No. 11/999,912), METHOD AND SYSTEM FOR EVENT BASED DATA COMPARISON (U.S. patent application Ser. No. 11/999,921), DYNAMIC COMMUNICATION STACK (U.S. patent application Ser. No. 11/999,934), SYSTEM AND METHOD FOR REPORTING MEDICAL INFORMATION (U.S. patent application Ser. No. 11/999,878), METHOD AND SYSTEM FOR MERGING EXTENSIBLE DATA INTO A DATABASE USING GLOBALLY UNIQUE IDENTIFIERS (U.S. patent application Ser. No. 11/999,947), METHOD AND SYSTEM FOR ACTIVATING FEATURES AND FUNCTIONS OF A CONSOLIDATED SOFTWARE APPLICATION (U.S. patent application Ser. No. 11/999,880), METHOD AND SYSTEM FOR CONFIGURING A CONSOLIDATED SOFTWARE APPLICATION (U.S. patent application Ser. No. 11/999,894), METHOD AND SYSTEM FOR DATA SELECTION AND DISPLAY (U.S. patent application Ser. No. 11/999,896), METHOD AND SYSTEM FOR ASSOCIATING DATABASE CONTENT FOR SECURITY ENHANCEMENT (U.S. patent application Ser. No. 11/999,951), METHOD AND SYSTEM FOR CREATING REPORTS (U.S. patent application Ser. No. 11/999,851), METHOD AND SYSTEM FOR CREATING USER-DEFINED OUTPUTS (U.S. patent application Ser. No. 11/999,905), DATA DRIVEN COMMUNICATION PROTOCOL GRAMMAR (U.S. patent application Ser. No. 11/999,770), HEALTHCARE MANAGEMENT SYSTEM HAVING IMPROVED PRINTING OF DISPLAY SCREEN INFORMATION (U.S. patent application Ser. No. 11/999,855), and METHOD AND SYSTEM FOR MULTI-DEVICE COMMUNICATION (U.S. patent application Ser. No. 11/999,866), and DEVICE AND METHOD FOR ASSESSING BLOOD GLUCOSE CONTROL (U.S. patent application Ser. No. 12/040,458) the entire disclosures of which are hereby expressly incorporated herein by reference. It should be understood that the concepts described below may relate to diabetes management software systems for tracking and analyzing health data, such as, for example, the ACCU-CHEK® 360° product provided by Roche Diagnostics. However, the concepts described herein may also have applicability to apparatuses, methods, systems, and software in fields that are unrelated to healthcare. Furthermore, it should be understood that references in this patent application to devices, meters, monitors, pumps, or related terms are intended to encompass any currently existing or later developed apparatus that includes some or all of the features attributed to the referred to apparatus, including but not limited to the ACCU-CHEK® Active, ACCU-CHEK® Aviva, ACCU-CHEK® Compact, ACCU-CHEK® Compact Plus, ACCU-CHEK® Integra, ACCU-CHEK® Go, ACCU-CHEK® Performa, ACCU-CHEK® Spirit, ACCU-CHEK® D-Tron Plus, and ACCU-CHEK® Voicemate Plus, all provided by Roche Diagnostics or divisions thereof.
For the purposes of promoting an understanding of the principles of the invention, reference will now be made to the embodiments illustrated in the drawings, which are described below. The embodiments disclosed below are not intended to be exhaustive or limit the invention to the precise form disclosed in the following detailed description. Rather, the embodiments are chosen and described so that others skilled in the art may utilize their teachings. It will be understood that no limitation of the scope of the invention is thereby intended. The invention includes any alterations and further modifications in the illustrated devices and described methods and further applications of the principles of the invention which would normally occur to one skilled in the art to which the invention relates.
The present invention relates to a method and system for enhanced data transfer. The system comprises a computer and data management software including applications and databases. An application, computer program, or program, is here, and generally, conceived to be a sequence of computer instructions representing steps of methods for achieving desired results. The instructions are processed by a computer and require physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. Programs may use data structures for both inputting information and producing the desired result. Data structures impart a physical organization on the data stored in computer memory and greatly facilitate data management. Databases include data structures and data.
The actual physical implementation of a database on a general purpose computer may take several forms, from complete individual records storing the substantive information with several key indexes for locating a particular record, to a plurality of tables interrelated by relational operations, to a matrix of cross-linked data records, to various combinations and hybrids of these general types. In particular physical devices, a database may be structured and arranged to accommodate the restrictions of the physical device but, when transferred to a general purpose computer, be able to be stored in a variety of formats. Thus, while certain types of information may be described as being stored in a “database” from a conceptual standpoint, generally such information may be electronically stored in a variety of structures with a variety of encoding techniques.
Although the following description details operations in terms of a graphic user interface using display objects, the present invention may be practiced with text based interfaces, or even with voice or visually activated interfaces.
The invention is described herein with reference to healthcare data management software, and more particularly, with reference to diabetes management software, although the invention may be applied, generally, to data management systems in fields unrelated to healthcare data management. Before delving into the various embodiments of the system and method according to the invention, general healthcare data management system concepts will be described. A healthcare data management system receives medical data from a plurality of sources, including portable devices, and displays the data to facilitate diagnosis and treatment of patients. Data from portable devices is downloaded into the computing device before it may be managed by the system.
Turning now to the figures, FIG. 1 depicts an exemplary embodiment of a system 100 according to the invention for managing data. A particular embodiment of system 100 is the ACCU-CHEK® 360° diabetes management system distributed by Roche Diagnostics Corporation. The ACCU-CHEK® 360° receives diabetes related data from a plurality of sources, allows users to modify data, and displays data in a plurality of formats and devices. To improve communication and understanding, the ACCU-CHEK® 360° allows users to choose when and how to display information. Users can choose from a plurality of graph formats, and can also choose how to graph data. Users can combine graphs, tables, and comments on the same screen display and can view the screen display on a computer screen or can print it. Methods for customizing the presentation of data on an output device are disclosed in the above-identified co-filed patent applications.
The ACCU-CHEK® 360° software may be installed in a variety of configurations, e.g., personal and professional. The configurations determine whether some options are available to users. The ACCU-CHEK® 360° databases and software programs may be installed in a computing device comprising a personal computer or may be installed on a server. The system may download data from medical devices and may merge data from other databases. For example, a user who had been using another system may choose to upgrade to an ACCU-CHEK® 360° system. The ability to merge data allows the user to use the old data. Methods for merging data are disclosed in the above-identified co-filed patent applications. The ACCU-CHEK® 360° system may also receive medical data from multiple patients. The ACCU-CHEK® 360° software may be installed to operate in one of many languages. In the professional installation, access to a plurality of patient result databases allows the ACCU-CHEK® 360° to display information comparing a particular patient's data to statistical data corresponding groups of patients.
System 100 comprises computing device 102, shown here in the form of a computer having display device 104, in this case a computer video screen or monitor having screen 108, and keyboard 106. While described and depicted herein with specific reference to a computer, the present invention may be utilized in conjunction with any computing device capable of operating healthcare data management software including without limitation a blood glucose meter, an infusion pump, or an integrated device including a glucose measurement engine or an infusion pump. Computing device 102 has mouse 110 connected to it by cable 112. While mouse 110 and keyboard 106 are shown, system 100 may comprise any input device. System 100 includes software (not shown) configured to receive data from input devices. Components of a computing device 102 also include, but are not limited to, a processing unit and system memory.
Computing device 102 may include a variety of computer-readable media. Computer-readable media can be any available media that can be accessed by computing device 102 and includes both volatile and non-volatile media, and removable and non-removable media. By way of example, and not limitation, computer-readable media may comprise computer storage media and communication media. Storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, Digital Versatile Disk (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store computer-readable instructions, software, data structures, program modules and other data and which can be accessed by computing device 102. Computer-readable media may be accessed directly or through a network or the Internet.
Computing device 102 may operate in a network environment using logical connections to one or more remote computers. The remote computer may be a personal computer, a server, a network PC, and typically includes many or all of the elements described above relative to computing device 102. The logical connections include a local area network (LAN) and a wide area network (WAN), but also include other networks. Such network environments are commonplace in office, enterprise-wide computer networks, Intranets, and the Internet. In such computer networks, typically one or more computers operate as a “server,” a computer with large storage media such as hard disk drives and communication hardware to operate peripheral devices such as printers or modems. Other computers, termed “clients” or “workstations,” provide a user interface so that users of computer networks can access the network resources, such as shared data files, common peripheral devices, and inter-workstation communication. The computers have at least one processor for executing machine instructions, and memory for storing instructions and other information. Many combinations of processing circuitry and information storing equipment are possible.
System 100 comprises one or more software programs. System 100 may comprise software configured to download data, to merge data from other origin databases, and to enable users to manually add and modify data. System 100 may also comprise a database for storing, retrieving, organizing, and, generally, for managing data. Data may include general data and patient data. In healthcare data management, the term “patient” refers to a person whose medical information is stored in system 100. As used herein, patient data refers to data that can identify a patient including administrative data such as name, address, phone number, and medical data such as physiological parameter values including without limitation blood glucose values, A1c values, Albumin values, Albumin excretion values, body mass index values, blood pressure values, carbohydrate values, cholesterol values (total, HDL, LDL, ratio) creatinine values, fructosamine values, HbA1 values, height values, insulin dose values, insulin rate values, total daily insulin values, ketone values, microalbumin values, proteinuria values, heart rate values, temperature values, triglyceride values, and weight values. Patient data may be provided by the patient, a healthcare professional, a medical device, a caregiver, or anyone having relevant data pertaining to a patient. In one embodiment, the databases are relational databases and the database server is the MICROSOFT SQL Server Express 2005. Computer 100 may include other applications required for operation of the SQL Server.
System 100 is configured to provide medical data to, and receive data from, medical device 120. In FIG. 1, computing device 102 includes communication media 116, in this case a modulated signal transceiver, accessible to the processor and software by means of cable 114, and configured to transmit and receive modulated signal 122 to establish logical communication with medical device 120. In another exemplary embodiment, computing device 102 and medical device 120 may include ports configured to establish a physical connection. The communication media is typically embodied by computer-readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of any of the above are included within the scope of computer-readable media.
Medical devices are devices capable of recording medical data and transferring data to software. While the enhanced data transfer method may be performed with any portable device capable of recording data, the invention is described herein with reference to medical devices, and more particularly, with reference to diabetes management devices, e.g., meters and pumps. Medical devices may include monitors which record values of measurements relating to a patient's physiological condition and information such as the time and date when the measurement was recorded. Medical devices may also be devices configured to provide medications to patients such as, for example, insulin pumps. These devices, generally, record dosage amounts as well as the time and date when the medication was provided. Optionally, medical devices may have their own input devices and display devices. A medical device may also comprise a computing device integrated or coupled with a device for recording medical data including without limitation a computer, personal digital assistants (PDAs), phones, and BLACKBERRYs. Furthermore, system 100 may be integrated with medical device 120 thereby eliminating the necessity of generating and transmitting a modulated signal.
Medical device 120 is, generally, assigned to a patient and associated with that patient in system 100. Thus, when medical data from medical device 120 is transferred to system 100, the medical data from medical device 120 automatically populates database records relating to that patient. A user may associate medical device 120 to system 100 in various ways. In one embodiment, medical device 120 sends an unique device identifier code to the healthcare data management software. The software receives the device identifier code and associates the device with the user presently logged in and using the healthcare data management software. In another embodiment, the healthcare data management software prompts the user for confirmation before making the association. In another embodiment, the software prompts the user to select a patient and then associates the selected patient with the device.
Alternatively, medical device 120 is not associated with a patient in system 100. As disclosed below with reference to an express downloading embodiment, a download utility may receive medical device 120 data without transferring the data to a results database.
System 100 may be used by the patient, a healthcare professional, a caregiver, or anyone having relevant data pertaining to a patient. System 100 may be located in a patient's home, a healthcare facility, or any other convenient place. In an alternative embodiment, two systems may be connected and medical data may be transferred between them. For example, a first system may be located in a place accessible to the patient or a caregiver, and a second system may be located in a healthcare facility. In this embodiment, the first and second systems are configured to transfer medical data between them by any means known in the art such as, for example, via the Internet, cellular communications, or the physical transfer of a memory device such as a diskette, USB key, or compact disc. The first system, or patient system, may be configured to receive medical data from a medical device and the second system may be configured to also receive medical data from a medical device or, alternatively, to use medical data transferred from, passed-through, or accessible from, the first system. The second system, or HCP system, may be configured to receive medical data from a plurality of patient systems and medical devices. Furthermore, the HCP system may be configured to provide comments and other data to the patient system and to remotely control the patient system. In this manner, a physician using the HCP system may interact with the patient system to improve communications with the user of the patient system.
FIG. 2 depicts an exemplary embodiment of system 100 having access to system 100′ by means of logical connection 200, and both devices having access to medical device 104. Logical connection 200 may be any means for transferring data between system 100 and system 100′ including without limitation a client/server system, Internet, and removable storage media. System 100 is installed as a personal system. System 100′ is installed as an HCP system. Systems 100, 100′ comprise computing device 102, display device 104, input devices 106, 110, communication media 116, and healthcare data management software. In one embodiment, systems 100, 100′ have access to a common results database for a patient. The results database may reside in system 100 or in system 100′, or it may reside in a different system accessible to both systems 100, 100′. In another embodiment, which is disclosed more fully with reference to FIG. 7, systems 100, 100′ have access to a common medical device 120.
FIG. 3 depicts an exemplary embodiment of a user menu created in system 100 according to the invention. Screenshot 300, created by the ACCU-CHEK® 360° system in a personal installation, shows a main menu having a plurality of display objects including download device object 302, express download object 304, my data object 306, tools object 308, settings object 310, and administrator functions object 312.
FIG. 4 depicts an exemplary embodiment of a user menu created in system 100′ according to the invention. Screenshot 400, created by the ACCU-CHEK® 360° system in a professional installation, shows a main menu having a plurality of display objects including download device object 302, express download object 304, tools object 308, settings object 310, administrator functions object 312. Screenshot 400 also shows display objects relevant to a professional installation including patient management object 402, population management object 404, and advanced reports and letters object 406. As previously described, a professional installation provides additional features to an HCP system for managing patient populations.
Systems 100, 100′ include one or more downloading utilities configured to transfer data from medical device 120. The download utility may be in the form of a computer program integrated with the healthcare data management software or may be used as an independent program, e.g., capable of independent installation and operation. In one exemplary embodiment, the download utility may be activated from the healthcare data management software after the healthcare data management software has been launched. To download data, a user activates either of download device object 302 or express download object 304. Each of objects 302, 304 are associated with a download utility. Download utilities may perform additional functions. The download utility associated with download device object 302 receives medical data from medical device 120, and performs the additional function of storing the data in a results database. The download utility associated with express download object 304 receives medical data from medical device 120, and performs the additional function of printing the data without requiring the user to access additional menu options. Methods for downloading data from a portable device are disclosed in the above-identified co-filed patent applications.
In another exemplary embodiment, the download utility may be activated without launching the healthcare data management software. A user may launch the download utility or the utility may launch automatically. The user may launch the download utility by activating a display object associated with the utility. For automatic downloading, the user may place medical device 120 such that it may be accessed by communication media 116. The automatic downloading utility may be configured to periodically send out access requests. Upon discovering a response to the request from medical device 120, the download utility may download data from medical device 120. A method for automatic detection of a portable device is disclosed in the above-identified co-filed patent applications.
Data may be stored in various formats depending on how medical device 120 is configured. As used herein, a datapoint means a point in time, or time stamp, when a portable device records data corresponding to a relevant activity, and a device record means all the data recorded by a portable device corresponding to a datapoint. The relevant activity may be the measurement of a physiological parameter, delivery of medication, or any other activity recorded by medical device 120. A device record may include without limitation a time stamp, datapoint value, and unit of measure. Some devices assign a sequence number to each record to signify the sequential order in which records are created, and include the sequence number in each record. The size of the sequence number is determined by the amount of data a portable device is projected to record during its life. The sequence number is particularly useful to identify records whose time stamps appear to be out of order. Time stamps may be out of order when a user resets the clock on the portable device, e.g., to adjust for a time zone change while traveling, or to adjust for daylight savings time changes. The clock reset may cause subsequent records to appear to have been created out of order.
In one embodiment of medical device 120, data is stored and retrieved in a last-in-first-out (LIFO) sequential order. Data may be stored in a stack or in a file or database. Storing and retrieving a device record from a stack may require multiple read/write instructions depending on the width of the stack and the amount of data in the record. A file may use characters to delimit data strings or may rely on a set string size to determine when device records begin and end. As used herein, a device record corresponds to a datapoint regardless of how the record is physically configured in medical device 120. For example, a record may be embodied as a single record in a table or as two records in different tables which are relationally linked. In a LIFO sequential order, the newest record is the first record which may be downloaded from the device. In other words, the newest record is the last record in and is downloaded before all other records are downloaded.
A download event is defined herein as the process of downloading data from medical device 120. The process begins when a download utility accesses medical device 120, and it ends when the utility stops downloading device records. During a download event, one or more device records are downloaded from medical device 120. Re-launching the download utility creates a new download event. In one embodiment, the user waits while the download utility receives data from medical device 120. In another embodiment, the user may continue to use the healthcare data management software while the download utility receives data from medical device 120 in the background.
Referring now to FIG. 5, an enhanced data transfer method is provided. Flowchart 500 shows an embodiment of the method according to one aspect of the invention. The method may be performed by a download utility to enhance data transfers from a device that stores records in a LIFO sequential order. The method begins at Step 502 when the download utility retrieves a last record fingerprint from the healthcare data management database. Before Step 502 may be performed, the download utility must access medical device 120 and must associate medical device 120 with a patient in any manner previously described. The last record fingerprint is a data string corresponding the last device record retrieved from medical device 120 during a previous completed download event. Upon installation, the last record fingerprint corresponds to a data string signifying that no prior download event occurred. At the end of each download event, in Step 520 the download utility updates the last record fingerprint.
Generally, a fingerprint may be any data string which may be used to store information corresponding to a record. A last record fingerprint is a fingerprint corresponding to the last record retrieved during a previous download event. A fingerprint may also correspond to a database record. Fingerprints may comprise untransformed data and transformed data, e.g., coded or encrypted. In one embodiment, the last record fingerprint comprises the device record in the form downloaded from medical device 120. In another embodiment, the last record fingerprint is the encrypted value of the last device record downloaded from medical device 120. In yet another embodiment, the last record fingerprint is the hash value of the last device record downloaded from medical device 120. Cryptographic functions, including a hash function, are transformations that take an input string and return a value corresponding to the string. The value is a concise representation of the longer string from which the value was computed. The value is a sort of “digital fingerprint” of its source. A hash value is a cryptographic function that takes a long string and returns a fixed length string. A hash value is also called a digest or checksum of the stream of data that represents the contents. SHA-1, MD5, and RIPEMD-160 are commonly used hashing algorithms. Cryptographic functions may encrypt usable information into a form that is unusable by anyone except an authorized user. An authorized user may decrypt encrypted messages using the cryptographic key used to encrypt them.
Referring to Step 504 of FIG. 5, once the download utility has the last record fingerprint, it downloads a device record from medical device 120. If the last record fingerprint was stored as untransformed data, the utility proceeds to Step 508. Otherwise, the utility proceeds to Step 506 where it transforms either of the downloaded device record or the last record fingerprint to the same format. If the utility transforms the last record fingerprint to untransformed data format, the utility may temporarily store the untransformed last record fingerprint to expedite additional comparisons to additional downloaded device records. The transformation may be performed by the download utility. Alternatively, the download utility may rely upon another program to perform the transformation.
Referring to Step 508 of FIG. 5, the downloaded device record and the last record fingerprint, or their corresponding transformations, are compared to find a match. If the two items match, the downloading utility stops downloading data from medical device 120 and proceeds to update the last record fingerprint. If the two items do not match, the download utility returns to Step 504 to download another device record. A match occurs when the device record equals the untransformed last record signature. By untransformed it is meant a data string in the form of the last record before the last record is transformed to obtain its signature. Alternatively, a match occurs when a device record signature equals the last record signature. The data transfer process is enhanced by preventing downloading of previously downloaded device records. The download/transform/compare sequence repeats until a downloaded device record matches a last record fingerprint, or the respective transformation.
In one embodiment of the enhanced method according to the invention, a bypass is provided. A bypass allows the user to choose whether to prevent downloading previously downloaded records. In one embodiment of the bypass, if the user chooses to bypass, the downloading utility downloads all data from medical device 120 and proceeds to update the last record fingerprint. In another embodiment, the user may choose to bypass on a record-by-record basis. In another embodiment, the user may choose to bypass on a day-by-day basis. In yet another embodiment, the user may choose to bypass records obtained during a date range or a numbered sequence range.
Referring to Step 510 of FIG. 5, having found a match the utility updates the last record fingerprint. If system 100 stores the last record fingerprint untransformed, the last device record downloaded is stored. Otherwise, the utility transforms the last downloaded device record to obtain an encryption or hash value and then stores the value in system 100 as the last record fingerprint. The download event is completed successfully upon completion of the updating step. After updating, the download utility may perform any additional functions.
In another embodiment of the method according to the invention, an enhanced data transfer method is provided applicable to devices that store and retrieve data in first-in-first-out (FIFO) sequential order. The device may store data in a stack or in a file or database. In a FIFO sequential order, the newest record is the last record successfully downloaded from the device during a prior download event. Whether in a LIFO or FIFO system, the download process may be interrupted before a match is found. In a LIFO system, the interruption may create gaps in the sequence of records stored if the new records are fully processed, e.g., stored. The download utility may recover from the failed download by not fully processing the downloaded records in computing device 102 so as to avoid storing records created more recently than the records that were not downloaded due to the interruption. In a FIFO system according to the invention, on the other hand, records are not fully processed if a match was not found so there is no risk of storing more recent records and not storing earlier records. Consequently, once a match is found, any additionally downloaded record may be fully processed without creating gaps in the sequence of stored records. If there is an interruption, the download utility may successfully complete the download event by storing the fingerprint of the last downloaded record as the last record fingerprint.
The method begins when a download utility retrieves a last record fingerprint from a healthcare data management database. The program compares each downloaded record to the last record fingerprint. Until it finds a match, the program skips further processing steps on each downloaded record. Further processing includes, without limitation, data transformations, parsing, integrity checking, and storage. When it finds a match, the program skips further processing steps on the matched record and begins full processing of all subsequent records. Optionally, the program may provide a bypass to allow a user to fully process all records, or to fully process a selected range of previously fully processed records, in addition to unprocessed records.
In accordance with a further aspect of the present invention, a system and method for downloading data from a portable device is provided. The system comprises system 100′ and medical device 600.
In one aspect of the system according to the invention, medical device 600 is configured to adapt its operation according to the relationship between the device records and a system fingerprint. In one embodiment, the relationship is hierarchical based on the last device record downloaded to one or more healthcare data management systems and the hierarchy of the healthcare data management systems. The adaptation may comprise the prevention of deletion of data that has not yet been downloaded to a system high in the hierarchy. In another embodiment, the medical device may record a plurality of types of medical data and the relationship may be based on the type of medical record and the type of healthcare data management system. The adaptations may be responsive to the system fingerprint of a healthcare data management system.
In one embodiment, the adaptation comprises the prevention of deletion of data that has not yet been downloaded to system 100′. The adaptation may be performed according to the method described below with reference to FIG. 7. Referring now to FIG. 6, medical device 600 is medical device 120 additionally configured to store one or more system fingerprints and references to the last device records downloaded to each system. Medical device 600 comprises a computer program and computer storage media having device record storage media 602, last record storage media 604, and fingerprint storage media 606. Storage media 602, 604, 606 may comprise one physical media or may be configured as separate media. System fingerprints and references to the last device record downloaded to each system may be stored in storage media 604, 606 or may be combined and stored in either of storage media 604 or 606.
Referring now to FIG. 7, an enhanced data transfer method is provided. Flowchart 700 shows an embodiment of the method according to one aspect of the invention. According to the method, medical device 600 is configured to download device records to one or more systems 100, 100′. Medical device 600 may download data to system 100 installed in a patient configuration, and downloads the same data to system 100′ installed in a professional configuration. Medical device 600 stores a reference to the last device record downloaded to systems 100, 100′ and prevents deletion of data which has not yet been downloaded to system 100′. The method may be performed in systems 100, 100′ with medical device 600 using download utilities. The method begins at Step 702 when the download utility uploads a system fingerprint from a healthcare data management database. Step 702 may occur at any time after a download event begins and before systems 100, 100′ disconnect or terminate access with medical device 600. The system fingerprint is a data string corresponding to a system 100, 100′ identifier. Medical device 600 stores the system fingerprint in fingerprint storage media 606. The system fingerprint may contain a code indicating the ranking of the system in a hierarchy, e.g., high, medium and low. The system may also be encoded to create other adaptive responses.
Before Step 702 may be performed, the download utility must access medical device 600 in any manner previously disclosed. The download utility downloads device records from medical device 600 until it reaches the last device record to download. The download utility may determine that the last device record to download was reached according to the method described with reference to FIG. 5, or may determine the last device record to download was reached in any other way.
Referring to Step 704 of FIG. 7, once the download utility stops downloading, medical device 600 stores a reference to the last device record downloaded in last record storage media 604. The reference may comprise the untransformed data device record or an indirect reference to the location where medical device 600 may locate the device record or a fingerprint of the device record. Then, in Step 706, medical device 600 associates the system fingerprint with the reference to the last device record downloaded to track the last device record downloaded to each system. One form of association is the combination of the system fingerprint and the reference to the last device record downloaded to each system.
Referring to Step 708 of FIG. 7, medical device 600 receives a command from a user to delete device records. The command may be to delete a range of device records or to delete all records. Upon receipt, in Step 710, medical device 600 compares the date and time of the last device record downloaded to system 100′ to the date and time of the device records the user seeks to delete. In Step 712, medical device 600 prevents deletion of device records recorded later in time than the date and time of the last device record downloaded to system 100′ by rejecting, or partially rejecting the user command. Partial rejection occurs when medical device 600 deletes device records created earlier in time than the last record downloaded to system 100′ but does not delete more recent records. In Step 714, medical device 600 deletes device records recorded earlier in time than the date and time of the last device record downloaded to system 100′.
In another aspect of the system according to the invention, medical device 600 comprises a universal patient interface coupled to a device for performing a function including recording medical data or providing medicine. Different devices may be coupled to record different types of medical data and infuse different types of medicines. Depending on the type of device coupled to the interface, medical device 600 records different types of medical data. Medical device 600 may be configured to adapt its operation according to the relationship between the device records and different types of healthcare data management software based upon the different types of medical data recorded. According to one embodiment of the method for adapting its operation, medical device 600 may be configured to associate different system fingerprints with particular types of datapoint values corresponding to different types of devices coupled to the interface, and to only download device records having types of values corresponding to associated system fingerprints. The system fingerprint may be encoded with a code corresponding to the type of healthcare data management software to enable medical device 600 to select records. The system fingerprint may be uploaded to the medical device upon commencement of a download event.
While this invention has been described as having an exemplary design, the present invention may be further modified within the spirit and scope of this disclosure. This application is therefore intended to cover any variations, uses, or adaptations of the invention using its general principles. Further, this application is intended to cover such departures from the present disclosure as come within known or customary practice in the art to which this invention pertains.

## Claims

1. A system for enhancing data transfers comprising:
a first computing device configured to download medical records from a portable device;
a second computing device configured to receive medical records from the first computing device; and
a software configured to operate in a first installation in the first computing device and configured to operate in a second installation in the second computing device,
wherein the first installation of the software is configured to:
store a last record fingerprint in the first computing device;
download records from the portable device to the first computing device in one of a LIFO and a FIFO sequential order;

compare each downloaded record to the last record fingerprint to find a match; and
update the last record fingerprint with a record fingerprint of a newest record from the portable device downloaded to the first computing device.

2. The system of claim 1, wherein the first installation of the software is further configured to recognize a data transfer method utilized by the portable device as one of a LIFO and a FIFO sequential order.

3. The system of claim 1, wherein the first installation of the software is further configured to receive a user input indicating a data transfer method utilized by the portable device as being one of a LIFO and a FIFO sequential order.

4. The system of claim 1, wherein the second computing device is configured to download medical records from the portable device, and the second installation of the software is configured to:
store a second last record fingerprint in the second computing device; download records from the portable device to the second computing device in one of a LIFO and a FIFO sequential order;
compare each downloaded record to the second last record fingerprint to find a match; and
update the second last record fingerprint with a record fingerprint of a newest record from the portable device downloaded to the second computing device.

5. The system of claim 4, wherein the second computing device is configured to download medical records from a plurality of portable devices and the second installation of the software is configured to:
store a second last record fingerprint associated with each of the plurality of portable devices in the second computing device;
download records from each of the plurality of portable device to the second computing device in one of a LIFO and a FIFO sequential order;
compare each downloaded record to the second last record fingerprint associated with the portable device from which the record was downloaded to find a match; and
update the second last record fingerprint associated with each of the plurality of portable devices with a record fingerprint of a newest record downloaded from the portable device to the second computing device.

6. The system of claim 1, wherein the second computing device is configured to receive medical records from a plurality of computing devices.

7. The system of claim 6, wherein the plurality of computing devices includes at least one computing device including the software configured to operate in the first installation and at least one computing device including the software configured to operate in the second installation.

8. The system of claim 1, wherein the second configuration of the software is configured to:
download records from the first computing device to the second computing device, and
communicate data from the second computing device to the first computing device, the data being associated with the records downloaded from the first computing device to the second computing device.

9. The system of claim 8, wherein the data communicated from the second computing device to the first computing device provides a user message to be displayed by the first computing device.

10. The system of claim 8, wherein the data communicated from the second computing device to the first computing device provides a command which controls a function of the first computing device.

11. The system of claim 10, wherein the command prevents a user from deleting specific records from the first computing device.

12. The system of claim 11, wherein the command is associated with the last record fingerprint stored in the first computing device.

13. The system of claim 12, wherein the first installation of the software is further configured to upload the last record fingerprint to the portable device, the command associated with the last record fingerprint preventing a user from deleting specific records from the portable device.

14. The system of claim 1, wherein the software is further configured to generate the last record fingerprint.

15. A system for enhancing data transfers comprising:
a first computing device configured to download data from a portable device; and
software configured to operate in the first computing device and to:
store a last record fingerprint in the first computing device;
download medical records from the portable device in one of a LIFO and a FIFO sequential order;

provide a first and a second user selectable option, selection of the first user selectable option causing the software to compare each downloaded medical record to only the last record fingerprint to find a match, selection of the second user selectable option causing the software to bypass comparing each downloaded medical record to the last record fingerprint; and
update the last record fingerprint with a record fingerprint of a newest medical record from the portable device downloaded to the first computing device.

16. The system of claim 15, wherein the last record fingerprint is downloaded from the portable device to the first computing device.

17. The system of claim 15, wherein the data downloaded from the portable device to the first computing device includes a portable device identifier, the portable device identifier associated with a database of the first computing device.

18. The system of claim 15 further comprising a second computing device configured to receive medical records from the first computing device, wherein the software is further configured to operate in a second installation in the second computing device and to:
store a second last record fingerprint in the second computing device;
download medical records from the first computing device;
compare each downloaded medical record to the second last record fingerprint to find a match; and
update the second last record fingerprint with a record fingerprint of a newest record from the portable device downloaded to the second computing device.

19. The system of claim 15, wherein the second installation of the software is further configured to generate the second last record fingerprint stored in the second computing device.

20. A system for enhancing data transfers comprising:
a portable device configured to generate data records;
a first computing device in communication with the portable device;
a second computing device in communication with the portable device and the first communication device; and
a software configured to operate in a first installation in the first computing device and configured to operate in a second installation in the second computing device,
wherein the first installation of the software is configured to:
generate a last record fingerprint, the last record fingerprint associated with the first installation of the software;
download data records from the portable device to the first computing device in one of LIFO and FIFO sequential order;
provide a first and a second user selectable option, selection of the first user selectable option causing the software to compare each downloaded data record to only the last record fingerprint to find a match, selection of the second user selectable option causing the software to bypass comparing each downloaded data record to the last record fingerprint; and
update the last record fingerprint with a record fingerprint of a newest data record from the portable device downloaded to the first computing device,
wherein the second installation of the software is configured to:
generate a second last record fingerprint, the second last record fingerprint associated with the second installation of the software;
download data records from the portable device to the second computing device in one of LIFO and FIFO sequential order;
compare each downloaded data record to the second record fingerprint to find a match; and
update the second last record fingerprint with a record fingerprint of a newest record from the portable device downloaded to the second computing device.

21. The system of claim 20, wherein the second installation of the software is configured to:
download data records from the first computing device to the second computing device, and
communicate data from the second computing device to the first computing device, the data being associated with the data records downloaded from the first computing device to the second computing device.

22. The system of claim 20, wherein:
the first installation of the software is further configured to upload the last record fingerprint to the portable device;
the second installation of the software is further configured to upload the second last record fingerprint to the portable device; and
the portable device is configured adapt its operations with regards to its generated data records based on a relationship between the generated data records and the last record fingerprint and the second last record fingerprint, wherein the portable device is configured to adapt its operations according to the second last record fingerprint over the last record fingerprint.