Patent Publication Number: US-7899947-B2

Title: Method for setting up data link between medical appliances and computer system

Description:
RELATED APPLICATIONS 
     This application is a Continuation of PCT application number PCT/EP2007/056899, filed on Jul. 6, 2007 which claims priority to European Patent Application No. EP06117734.1 filed on Jul. 24, 2006, both of which are incorporated herein by reference in their entirety. 
    
    
     BACKGROUND OF THE INVENTION 
     In hospitals software systems are used for the documentation of patient-related information. This information includes among other things measurements from medical appliances which monitor and/or affect the state of the patient. In general the medical appliances have interfaces in order to make data, such as e.g. measured or set values and alarm data, electronically available. 
     Patient documentation systems make use of different software modules in order to receive and further process the data from the medical appliances, for example displaying and/or storing said data. For this purpose the medical appliances are connected to computers so-called interface PCs—which take on the function of an interface between the individual medical appliances on the one hand and the systems processing the data on the other hand. 
     There are a large number of different medical appliances with different communication protocols which require different interface settings. These are for example patient monitoring, breathing or anesthesia appliances such as e.g. IntelliVue MP90 made by Philips Medical Systems, Solar 8000 made by GE Healthcare, Infinity Delta made by Dräger/Siemens, AS/3 made by Datex, Evita2 made by Dräger, Servo 300 made by Maquet, Zeus made by Dräger and Aestiva/5 made by Datex. 
     The connection of a new medical appliance to an interface PC or changing one medical appliance for another medical appliance is generally associated with a series of settings both on the medical appliance and on the interface PC which must generally be made by the medical staff. 
     First of all the driver software belonging to a medical appliance must be chosen. However, this is not always immediately available or known for the respective medical appliance. Moreover, a medical appliance can allow a number of different communication parameters. The communication parameters include e.g. the data transmission rate (baud rate), the number of data bits, the parity, the number of start and stop bits and the type of flow control used. Also, the permissible communication parameters are not always known, and so the latter must first of all be read off from the medical appliance. For this, if applicable systems menus must be opened which can be protected by requiring a password. Therefore, the inputting of the communication parameters is often found by the staff members involved to be tiresome, or is even forgotten, and moreover it is prone to error. 
     If the aforementioned settings are not made or are made erroneously, no data link to the medical appliance can be established, and so data, such as e.g. values measured with the measuring appliance or set on the measuring appliance, are lost. 
     SUMMARY OF THE INVENTION 
     The application relates to a method of setting up a data link between medical appliances and a computer system. 
     It is the object of the invention to specify a method of setting up the most reliable possible data link between medical appliances and a computer system. 
     In general according to one aspect, the invention features a method of setting up a data link between medical appliances and a computer system in which for each of the medical appliances at least one communication protocol is stored together with the communication parameters assigned to this communication protocol The method includes: 
     a. setting communication parameters of a communication protocol; 
     b. receiving data from a medical appliance; 
     c. checking whether the data received from the medical appliance correspond to sample data which are characteristic for the communication protocol; 
     d. repetition of steps a. to c. with other communication parameters of the communication protocol if the data received from the medical appliance do not correspond to the sample data; 
     e. setting up a data link between the medical appliance and the computer system using the communication protocol if the data received from the medical appliance correspond to the sample data. 
     In general, according to another aspect, the invention features, a computer system that sets up a data link to medical appliances in which for each of the medical appliances at least one communication protocol is stored together with the communication parameters assigned to this communication protocol, wherein the computer system: 
     a. sets communication parameters of a communication protocol; 
     b. receives data from a medical appliance; 
     c. checks whether the data received from the medical appliance correspond to sample data which are characteristic for the communication protocol; 
     d. repeats of steps a. to c. with other communication parameters of the communication protocol if the data received from the medical appliance do not correspond to the sample data; 
     e. sets up a data link between the medical appliance and the computer system using the communication protocol if the data received from the medical appliance correspond to the sample data. 
     In the case where the medical appliance only sends data to the computer system upon a request, the sending of a request to the medical appliance can be provided between steps a. and b. 
     A communication protocol is a specification of the form in which data are exchanged between the medical appliances and the computer system. This specification comprises a set of rules and formats (syntax). 
     The communication parameters of a communication protocol are to be understood as being those parameters the values of which must be set before establishing a data link between the respective medical appliance and the computer system. These include for example: 
     the data transmission rate (baud rate) which specifies the speed of the data transmission in the unit bits/second, 
     the number of data bits in a data word, 
     the parity which is used for error detection, 
     the number of stop bits for detection of the data word end, 
     the number of start bits for detection of the data word start, and 
     the flow control (none, software or hardware). 
     The respective values of the communication parameters are set on the medical appliance and must be set to the same values in order to set up the data link in the software of the computer system—of the so-called interface software. 
     The sample data respectively to be expected with a communication protocol can be established by analyzing the response data to be expected of the medical appliance according to the manufacturer&#39;s specifications, e.g. in the form of descriptions of the medical appliances. By establishing both unchanging and variable sections in the response data to be expected, a sample can be derived which is then used for the analysis. If e.g. the data is transmitted from the appliance, one can easily establish the position of the latter in the response and at the same time its structure (e.g. “2006-01-31” or “31.01.2006”). This information can also be used to generate the sample data. Regular expressions are preferably used here. Regular expressions (abbreviated as “RegExp” or “Regex”) are used to describe (sub-)quantities of character strings with the aid of syntactic rules. 
     The solution according to the invention is based upon the idea of establishing a data link automatically, i.e. without any additional actions by a user, between the computer system—in particular the so-called interface PC—and the individual medical appliances connected to the latter. Here the communication protocol used by the respective medical appliance, including the associated communication parameters, are automatically established by the computer system and are set upon setting up the data link. Detection of specifically which medical appliance one is dealing with (e.g. manufacturer&#39;s name and type denomination) is not required here. 
     By automatically establishing the appropriate communication protocol it is checked whether a medical apparatus connected to the corresponding serial interface of the interface PC “speaks” a specific communication protocol. If yes, the driver software module of the medical appliance corresponding to the communication protocol is activated in the computer system. The driver software is understood as meaning the technical software conversion of the communication protocol. The driver software communicates with the appliance, establishes or breaks off the data link, requests current measurement data, etc. 
     If, however, no appropriate response is received, either no medical appliance is linked to the interface PC or the respective medical appliance does not “speak” this protocol, but rather a different protocol, or the communication parameters do not correspond to those of the medical appliance. In this case, according to the invention the communication parameters assigned to the communication protocol are changed and detection is attempted once again. 
     If after this no response or a false response is received once again, the next software module is activated which tries to set up a data link with the medical appliance using a different communication protocol in the way described above. 
     This process is repeated with all possible software modules and communication protocols until a data link with the medical appliance can be produced. 
     Preferably, the process described above is also followed if no medical appliance is linked to the interface PC. If with this embodiment of the invention a medical appliance is connected to the interface PC, a data link is automatically produced without the process needing to be initiated by a user action. 
     The above and other features of the invention including various novel details of construction and combinations of parts, and other advantages, will now be more particularly described with reference to the accompanying drawings and pointed out in the claims. It will be understood that the particular method and device embodying the invention are shown by way of illustration and not as a limitation of the invention. The principles and features of this invention may be employed in various and numerous embodiments without departing from the scope of the invention. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       In the accompanying drawings, reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale; emphasis has instead been placed upon illustrating the principles of the invention. Of the drawings: 
         FIG. 1  is a block diagram showing a computer system for implementing the method according to the invention; 
         FIG. 2  is a flow chart of an example of the method according to the invention; 
         FIG. 3  is a flow chart of a part process of the method illustrated in  FIG. 2 ; and 
         FIG. 4  is a flow chart of a further part process of the method illustrated in  FIG. 2 . 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
       FIG. 1  shows a computer system  1  for implementing the method according to the invention. Individual medical appliances M 1  to M 6  are linked to the computer system  1  by electric wires and/or wirelessly, e.g. by infrared or radio frequency radiation. 
     For each of the medical appliances M 1  to M 6  there is at least one communication protocol P 1  to P 6  to which a number of communication parameters K 1   a , K 1   b , K 1   c  . . . to K 6   a , K 6   b , K 6   c  . . . are respectively assigned. 
     The definition of the individual communication protocols P 1  to P 6  including the respectively assigned communication parameters K 1   a , K 1   b , K 1   c  . . . to K 6   a , K 6   b , K 6   c  . . . is generally taken from the details provided by the respective medical appliance manufacturer and stored in the computer system  1 . 
     As examples, in the following the communication protocols P 1  and P 2  required for communication with the medical appliances M 1  and M 2  and the respectively permissible values of the communication parameters are specified: 
     
       
         
           
               
               
               
             
               
                   
               
             
            
               
                 Medical appliance 
                 M1 
                 M2 
               
               
                 Communication protocol 
                 P1 
                 P2 
               
               
                 Appliance type 
                 Breathing appliance 
                 Anesthesia appliance 
               
               
                 Baud rates 
                   2400 , 4800, 9600 
                   1200 , 4800, 19200 
               
               
                 Data bits 
                 7,  8   
                 7,  8   
               
               
                 Start bits 
                 
                   1 
                 
                 
                   1 
                 
               
               
                 Stop bits 
                   1  or 2 
                 
                   1 
                 
               
               
                 Parity 
                   even  or odd 
                 
                   Even 
                 
               
               
                   
               
            
           
         
       
     
     For each communication protocol P 1  to P 6  there is a software module S 1  to S 6  with the help of which the communication protocol P 1  to P 6  respectively required for communication with the individual medical appliances can be automatically detected. Software modules S 1  to S 6  are loaded into the computer system  1  before starting the process and are kept in a list, such as database, here—as indicated in  FIG. 1 . Next the individual software modules S 1  to S 6  are activated in sequence. 
     First of all the first software module S 1  in the list is activated. The latter attempts to establish a data link to a first medical appliance, e.g. M 2 , of the connected medical appliances M 1  to M 6  using the first communication protocol P 1  according to the method according to the invention. 
     If no data link can be produced here between the first medical appliance M 2  and the computer system  1 , the next second software module S 2  found in the list is started. The latter then attempts to establish a data link to the first medical appliance M 2  using the second communication protocol P 2 . If this attempt is also without success, the further software modules S 3  to S 6  in the list are activated in sequence until a data link with the first medical appliance M 2  is produced. 
     The method described is correspondingly repeated for the other medical appliances M 1 , M 3  to M 6 . 
     With the method according to the invention of setting up a data link by using a communication protocol, e.g. P 1 , by means of the corresponding software module S 1  the values of the individual communication parameters K 1   a , K 1   b , K 1   c  . . . are first of all set, such as e.g. the data transmission rate, the number of data bits per data word, the parity and the number of start and stop bits. Preferably the communication parameters are set to values here which—e.g. according to the manufacturer&#39;s specifications or according to experience—are used most frequently with this communication protocol. In the table shown above with communication protocols P 1  and P 2 , these values are underlined. In the present example of the first communication protocol P 1 , these values are as follows: data transmission rate 2400 bit/s, 8 data bits, number of start and stop bits respectively 1, parity even. 
     There are two different types of communication protocol. With a first type a request must be sent to the medical appliance before the medical appliance sends data back as a response. With a second type the medical appliance sends data independently. 
     If data are now received from the first medical appliance M 2 —depending on the type of communication protocol if appropriate only after sending a request—, these data are compared with sample data which are characteristic for the first communication protocol P 1  and distinguishes the latter unambiguously from the sample data of the other communication protocols P 2  to P 6 . 
     If the data of the first medical appliance M 2  correspond to the sample data, a data link between the first medical appliance M 2  and the computer system  1  is produced using the first communication protocol P 1 . If this is not the case, the values of the communication parameters of the first communication protocol P 1  are first of all changed and the aforementioned steps are implemented upon the basis of the changed communication parameters. In the specified example, the communication parameters are set to values which are used the second most frequently with the first communication protocol P 1 , such as e.g. data transmission rate 4800 bit/s, 7 data bits per data word, number of start bits  1  and stop bits  2 , parity uneven. 
     When examining the data received from the first medical appliance M 2 , any possible communication errors, such as e.g. a so-called framing error or parity error, is moreover incorporated into the analysis and if appropriate the communication parameters are changed. 
     A framing error always occurs if the communication parameters do not correspond with both communication partners, e.g. with the following settings of the medical appliance: 
     7 data bits, 1 start bit, 1 stop bit, parity bit even 
     and the following settings of the communication module on the interface PC: 
     8 data bits, 1 start bit, 1 stop bit, parity bit even. 
     This means that when sending a 7 bit data word from the medical appliance, a total of 10 bits are used and 11 bits are expected by the interface PC. The “framing” of this communication is therefore incorrect. 
     A parity error occurs if the transmission of data is interrupted. In order to detect this, the transmitter calculates a parity from the bits to be transmitted and transmits this to the receiver. The receiver firstly receives all of the bits, from these calculates the parity and compares it with that communicated by the transmitter. If the value of this parity bit differs, there is a transmission error. In the communication protocol used it is then mostly defined how such a case should be handled. 
     It is preferably also checked whether the communication protocol has been detected without any doubt and unambiguously. If the first response corresponds to the expected response, it can however still be the case that a different communication protocol would also have produced the appropriate response. In such a case, further requests are necessary until the communication protocol used is identified without any doubt. 
     The following example of two similar communication protocols should clarify this: With both communication protocols the communication is established by a corresponding command (initialize communication command). With the first protocol the command code 0x2D means the request for the current upper alarm limits. However, with the second protocol the same command means the request for the current monitor data. With the first protocol the command code 0x52 means the request for the appliance identification. In order to request the appliance identification in the second protocol however, the command code 0x2C is to be used. 
     It is clear from this that the comparison of the response to the ICC command alone is not sufficient in order to unambiguously identify the protocol, but that further requests and comparisons (e.g. the request for the appliance identification) are necessary. 
       FIG. 2  shows a flow chart of an example of the method according to the invention for automatic appliance detection. 
     After the start  10  of the process all available software modules for detection of the different communication protocols (detection objects) are loaded  11  and arranged in a list. 
     In a further part process  20  of the method the first or respective next software module for detecting a communication protocol is started. 
     In the following part process  30  different steps are then taken for automatically detecting the communication protocol. If the communication protocol does not correspond to the required protocol of the medical appliance, the first software module is deactivated  12  and the part processes  20  and  30  for further software modules from the list for detecting the further communication protocols are repeated until the communication protocol appropriate to the respective medical appliance has been unambiguously identified  13 . In this case a data link is produced between the medical appliance and the computer system using the communication protocol established, and the process for automatic appliance detection is ended  14 . 
       FIG. 3  shows a flow chart of the part process  20  for starting the first software module or further software modules for detecting communication protocols. 
     After the start  21  of this part process  20  the software module given as the respective next one in the list is used  22 . Next the communication parameters assigned to this communication protocol and the values of the latter—preferably those most likely to be used—are loaded or set  23 . The part process  20  is then ended  24 . 
     The part process  30  following on from part process  20  is illustrated in detail in  FIG. 4 . 
     After the start  31  it is first of all checked whether communication parameters or further communication parameters are available  32 . If this is not the case, the part process  30  is ended  37 . In the event that (further) communication parameters are available, these are set or changed  33 . A request is then sent to the medical appliance and the answers received from the medical appliance examined. Depending on the type of communication protocol the sending of a request can, if appropriate, be dispensed with. If the following check  35  shows that the communication parameters do not correspond to those of the respective medical appliance, the aforementioned steps  32  to  34  are repeated for further communication parameters in so far as such parameters are available. 
     In the event that the communication parameters set correspond to those of the medical appliance, it is examined in a further process step  36  whether the respective communication protocol has been detected unambiguously and without any doubt. If this is not the case, steps  34  and  35  are repeated by further responses from the medical appliance being examined. If there is doubt-free detection of the respective communication protocol, the part process  30  can be ended  37 . 
     While this invention has been particularly shown and described with references to preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the invention encompassed by the appended claims.