Abstract:
A method, system, and computer program product for offline data collection using data entry forms that are generated and emailed to data entry systems, on which data may then be entered into the data entry forms while the data entry system is not communicatively connected. A data collection process, comprises the steps of building a data entry form for entering requested data, generating an email message including the data entry form, transmitting the email message, receiving an email message including the requested data, and posting the received requested data to a database.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS  
       [0001]    The benefit under 35 U.S.C. § 119(e) of provisional application No. 60/250,232 filed Nov. 30, 2000, is hereby claimed. 
     
    
     
       FIELD OF THE INVENTION  
         [0002]    The present invention relates to offline data collection using data entry forms that are generated and emailed to data entry systems, on which data may then be entered into the data entry forms while the data entry system is not communicatively connected.  
         BACKGROUND OF THE INVENTION  
         [0003]    Online data collection and data processing has significantly improved productivity in a variety of applications. For example, many important business processes have been automated using business application software. These applications require data in order to function. Such data may be collected in an automated fashion from other data processing systems, but much data must still be collected manually from individual users. In an online data collection environment, users are connected, directly or through a network, to a data processing system, which collects and processes the data entered by the users. Such a system requires online connection and interaction with the data processing system, which limits the portability and flexibility of the system. A need arises for a data collection system that does not require online connection and interaction with the data processing system  
         SUMMARY OF THE INVENTION  
         [0004]    The present invention is a method, system, and computer program product for offline data collection using data entry forms that are generated and emailed to data entry systems, on which data may then be entered into the data entry forms while the data entry system is not communicatively connected.  
           [0005]    In one embodiment, a data collection process, according to the present invention, comprises the steps of building a data entry form for entering requested data, generating an email message including the data entry form, transmitting the email message, receiving an email message including the requested data, and posting the received requested data to a database.  
           [0006]    The data entry form may provide interactive entry of data into the data entry form. The data entry form may be created using at least one of a standard or proprietary document language, a script language, or a programming language. The data entry form may be created using at least one of hypertext markup language, extensible markup language, Java, or Javascript.  
           [0007]    The data entry form may provide interactive entry of data into the data entry form in a data entry system while the data entry system is not communicatively connected. The data entry form may be created using at least one of a standard or proprietary document language, a script language, or a programming language. The data entry form may be created using at least one of hypertext markup language, extensible markup language, Java, or Javascript.  
           [0008]    The data collection process may further comprise the steps of creating a dataset defining data that is to be collected and selecting a participant in the data collection process. The step of building a data entry form may comprise the step of building a data entry form for entering requested data defined by the dataset for the participant in the data collection process. The step of selecting a participant in the data collection process may comprise the step of selecting a plurality of participants in the data collection process. The step of building a data entry form may comprise the step of building a data entry form for entering requested data defined by the dataset for each participant in the data collection process. The step of generating an email message including the data entry form may comprise the step of generating an email message including the data entry form for each participant in the data collection process. The step of transmitting the email message may comprise the step of transmitting a data entry form to each participant in the data collection process. The step of receiving an email message including the requested data may comprise the step of receiving an email message including the requested data for each participant in the data collection process.  
           [0009]    Each data entry form may provide interactive entry of data into the data entry form. Each data entry form may be created using at least one of a standard or proprietary document language, a script language, or a programming language. Each data entry form may be created using at least one of hypertext markup language, extensible markup language, Java, or Javascript. Each data entry form may provide interactive entry of data into the data entry form in a data entry system while the data entry system is not communicatively connected. Each data entry form may be created using at least one of a standard or proprietary document language, a script language, or a programming language. Each data entry form may be created using at least one of hypertext markup language, extensible markup language, Java, or Javascript.  
           [0010]    In one embodiment, a data collection process in a data entry system, according to the present invention, comprises the steps of receiving an email message including a data entry form requesting data, extracting the data entry form from the email message, interactively entering the requested data into the data entry form, and transmitting an email message including the entered data. The data collection process may further comprise the step of displaying the data entry form. The data entry form may be created using at least one of a standard or proprietary document language, a script language, or a programming language. The data entry form may be created using at least one of hypertext markup language, extensible markup language, Java, or Javascript.  
           [0011]    The data collection process may further comprise the step of displaying the data entry form using a browser program. The data entry form may be created using at least one of a standard or proprietary document language, a script language, or a programming language. The data entry form may be created using at least one of hypertext markup language, extensible markup language, Java, or Javascript.  
           [0012]    The step of interactively entering the requested data into the data entry form may comprise the step of interactively entering the requested data into the data entry form while the data entry system is not communicatively connected. The data collection process may further comprise the step of displaying the data entry form. The data entry form may be created using at least one of a standard or proprietary document language, a script language, or a programming language. The data entry form may be created using at least one of hypertext markup language, extensible markup language, Java, or Javascript. The data collection process may further comprises the step of displaying the data entry form using a browser program. The data entry form may be created using at least one of a standard or proprietary document language, a script language, or a programming language. The data entry form may be created using at least one of hypertext markup language, extensible markup language, Java, or Javascript.  
           [0013]    In one embodiment, a process for collaborative creation of descriptions of competencies related to a position defined by a job model, according to the present invention, comprises the steps of creating a person listing including information relating to potential participants and available types of job models, selecting a participant and a job model, building a data entry form for entering requested data based on the selected job model, generating an email message including the data entry form, transmitting the email message, receiving an email message including the requested data, and posting the received requested data to a database.  
           [0014]    The data entry form may provide interactive entry of data into the data entry form. The data entry form may be created using at least one of a standard or proprietary document language, a script language, or a programming language. The data entry form may be created using at least one of hypertext markup language, extensible markup language, Java, or Javascript.  
           [0015]    The data entry form may provide interactive entry of data into the data entry form in a data entry system while the data entry system is not communicatively connected. The data entry form may be created using at least one of a standard or proprietary document language, a script language, or a programming language. The data entry form may be created using at least one of hypertext markup language, extensible markup language, Java, or Javascript.  
           [0016]    The step of building a data entry form may comprise the step of building a data entry form for entering requested data defined by the dataset for the participant in the data collection process. The step of selecting a participant in the data collection process may comprise the step of selecting a plurality of participants in the data collection process. The step of building a data entry form may comprise the step of building a data entry form for entering requested data defined by the dataset for each participant in the data collection process. The step of generating an email message including the data entry form may comprise the step of generating an email message including the data entry form for each participant in the data collection process. The step of transmitting the email message may comprise the step of transmitting a data entry form to each participant in the data collection process. The step of receiving an email message including the requested data may comprise the step of receiving an email message including the requested data for each participant in the data collection process.  
           [0017]    Each data entry form may provide interactive entry of data into the data entry form. Each data entry form may be created using at least one of a standard or proprietary document language, a script language, or a programming language. Each data entry form may be created using at least one of hypertext markup language, extensible markup language, Java, or Javascript. Each data entry form may provide interactive entry of data into the data entry form in a data entry system while the data entry system is not communicatively connected. Each data entry form may be created using at least one of a standard or proprietary document language, a script language, or a programming language. Each data entry form may be created using at least one of hypertext markup language, extensible markup language, Java, or Javascript.  
           [0018]    In one embodiment, a process for creation of a job candidate interview evaluation, according to the present invention, comprises the steps of creating a job model including a plurality of competencies defining qualifications and skill relating to a position in an organization, selecting an evaluation set including a candidate for the position, a reviewer, and a date of an interview, building a data entry form for entering requested data based on the created job model, generating an email message including the data entry form, transmitting the email message, receiving an email message including the requested data, and posting the received requested data to a database.  
           [0019]    The data entry form may provide interactive entry of data into the data entry form. The data entry form may be created using at least one of a standard or proprietary document language, a script language, or a programming language. The data entry form may be created using at least one of hypertext markup language, extensible markup language, Java, or Javascript.  
           [0020]    The data entry form may provide interactive entry of data into the data entry form in a data entry system while the data entry system is not communicatively connected. The data entry form may be created using at least one of a standard or proprietary document language, a script language, or a programming language. The data entry form may be created using at least one of hypertext markup language, extensible markup language, Java, or Javascript. The step of building a data entry form may comprise the step of building a data entry form for entering requested data defined by the dataset for the participant in the data collection process. The step of selecting a participant in the data collection process may comprise the step of selecting a plurality of participants in the data collection process. The step of building a data entry form may comprise the step of building a data entry form for entering requested data defined by the dataset for each participant in the data collection process. The step of generating an email message including the data entry form may comprise the step of generating an email message including the data entry form for each participant in the data collection process. The step of transmitting the email message may comprise the step of transmitting a data entry form to each participant in the data collection process. The step of receiving an email message including the requested data may comprise the step of receiving an email message including the requested data for each participant in the data collection process.  
           [0021]    Each data entry form may provide interactive entry of data into the data entry form. Each data entry form may be created using at least one of a standard or proprietary document language, a script language, or a programming language. Each data entry form may be created using at least one of hypertext markup language, extensible markup language, Java, or Javascript. Each data entry form may provide interactive entry of data into the data entry form in a data entry system while the data entry system is not communicatively connected. Each data entry form may be created using at least one of a standard or proprietary document language, a script language, or a programming language. Each data entry form may be created using at least one of hypertext markup language, extensible markup language, Java, or Javascript.  
           [0022]    In one embodiment, a process for creation of a performance review, according to the present invention, comprises the steps of creating a job model including a plurality of competencies defining qualifications and skill relating to a position in an organization, selecting an evaluation set including a person to be reviewed, a reviewer, and a date of the review, building a data entry form for entering requested data based on the created job model, generating an email message including the data entry form, transmitting the email message, receiving an email message including the requested data, and posting the received requested data to a database.  
           [0023]    The data entry form may provide interactive entry of data into the data entry form. The data entry form may be created using at least one of a standard or proprietary document language, a script language, or a programming language. The data entry form may be created using at least one of hypertext markup language, extensible markup language, Java, or Javascript.  
           [0024]    The data entry form may provide interactive entry of data into the data entry form in a data entry system while the data entry system is not communicatively connected. The data entry form may be created using at least one of a standard or proprietary document language, a script language, or a programming language. The data entry form may be created using at least one of hypertext markup language, extensible markup language, Java, or Javascript.  
           [0025]    The step of building a data entry form may comprise the step of building a data entry form for entering requested data defined by the dataset for the participant in the data collection process. The step of selecting a participant in the data collection process may comprise the step of selecting a plurality of participants in the data collection process. The step of building a data entry form may comprise the step of building a data entry form for entering requested data defined by the dataset for each participant in the data collection process. The step of generating an email message including the data entry form may comprise the step of generating an email message including the data entry form for each participant in the data collection process. The step of transmitting the email message may comprise the step of transmitting a data entry form to each participant in the data collection process. The step of receiving an email message including the requested data may comprise the step of receiving an email message including the requested data for each participant in the data collection process.  
           [0026]    Each data entry form may provide interactive entry of data into the data entry form. Each data entry form may be created using at least one of a standard or proprietary document language, a script language, or a programming language. Each data entry form may be created using at least one of hypertext markup language, extensible markup language, Java, or Javascript. Each data entry form may provide interactive entry of data into the data entry form in a data entry system while the data entry system is not communicatively connected. Each data entry form may be created using at least one of a standard or proprietary document language, a script language, or a programming language. Each data entry form may be created using at least one of hypertext markup language, extensible markup language, Java, or Javascript. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0027]    The details of the present invention, both as to its structure and operation, can best be understood by referring to the accompanying drawings, in which like reference numbers and designations refer to like elements.  
         [0028]    [0028]FIG. 1 is an exemplary block diagram of a system in which the present invention may be implemented.  
         [0029]    [0029]FIG. 2 is an exemplary block diagram of a data processing system shown in FIG. 1.  
         [0030]    [0030]FIG. 3 is a block diagram of an exemplary offline data entry system, in which the present invention may be implemented.  
         [0031]    [0031]FIG. 4 is an exemplary flow diagram of one embodiment of a data collection process, according to the present invention.  
         [0032]    [0032]FIG. 5 is an exemplary flow diagram of one embodiment of a data collection process, according to the present invention.  
         [0033]    [0033]FIG. 6 is an exemplary flow diagram of one embodiment of a data collection process, according to the present invention.  
         [0034]    [0034]FIG. 7 is an exemplary flow diagram of one embodiment of a data collection process, according to the present invention. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0035]    An exemplary block diagram of a system  100 , in which the present invention may be implemented, is shown in FIG. 1. System  100  includes data processing system  102 , network  104 , a plurality of offline data entry systems, such as offline data entry systems  106 A- 106 N, and may include one or more online data entry systems, such as online data entry systems  108 A- 108 M. Data processing system is typically one or more computer systems that accept and process data using one or more application programs that run on data processing system  102 . Data processed by data processing system  102  may be obtained from a variety of sources. For example, data may be collected in an automated fashion from other data processing systems. However, data processing system  102  obtains data entered using offline data entry systems  106 A- 106 N and may obtain data entered using online data entry systems  108 A- 108 M. Network  104  includes one or more data communications networks such as a public data communications network, for example, the Internet, or a private data communications network, for example, a private intranet.  
         [0036]    Online data entry systems  108 A- 108 M are typically computer systems or terminals that provide the capability for a user to enter data into one or more applications running in data processing system  102 , while the online data entry systems are communicatively connected to data processing system  102 , either directly or via network  104 . Offline data entry systems  106 A- 106 N are typically computer systems that provide the capability to enter data into the offline data entry system, whether or not the offline data entry system is communicatively connected to data processing system  102 . In particular, a data entry form, such as data entry form  110 A, is transmitted from data processing system  102  to an offline data entry system, such as offline data entry system  106 A, preferably in an email message  112 . The data entry form may be filled-in by the user of the offline data entry system at any time, regardless of whether or not the offline data entry system is communicatively connected to data processing system  102 . When the data entry form, such as data entry form  110 A, is completed, the data is extracted from the form and may be transmitted to data processing system  102  at any convenient time. Preferably, the extracted data is transmitted from the offline data entry system, such as offline data entry system  106 A, to data processing system  102 , in an email message  114 .  
         [0037]    An exemplary block diagram of a data processing system  200 , shown in FIG. 1, is shown in FIG. 2. System  200  is typically a programmed general-purpose computer system, such as a personal computer, workstation, server system, and minicomputer or mainframe computer. System  200  includes one or more processors (CPUs)  202 A- 302 N, input/output circuitry  204 , network adapter  206 , and memory  208 . CPUs  202 A- 302 N execute program instructions in order to carry out the functions of the present invention. Typically, CPUs  202 A- 202 N are one or more microprocessors, such as an INTEL PENTIUM® processor. FIG. 2 illustrates an embodiment in which system  200  is implemented as a single multi-processor computer system, in which multiple processors  202 A- 202 N share system resources, such as memory  208 , input/output circuitry  204 , and network adapter  206 . However, the present invention also contemplates embodiments in which system  200  is implemented as a plurality of networked computer systems, which may be single-processor computer systems, multi-processor computer systems, or a mix thereof.  
         [0038]    Input/output circuitry  204  provides the capability to input data to, or output data from, system  200 . For example, input/output circuitry may include input devices, such as keyboards, mice, touchpads, trackballs, scanners, etc., output devices, such as video adapters, monitors, printers, etc., and input/output devices, such as, modems, etc. Network adapter  206  interfaces system  200  with network  104 . Network  104  may include one or more standard local area network (LAN) or wide area network (WAN), such as Ethernet, Token Ring, the Internet, or a private or proprietary LAN/WAN.  
         [0039]    Memory  208  stores program instructions that are executed by, and data that are used and processed by, CPUs  202 A- 202 N to perform the functions of system  200 . Memory  208  may include electronic memory devices, such as random-access memory (RAM), read-only memory (ROM), programmable read-only memory (PROM), electrically erasable programmable read-only memory (EEPROM), flash memory, etc., and electromechanical memory, such as magnetic disk drives, tape drives, optical disk drives, etc., which may use an integrated drive electronics (IDE) interface, or a variation or enhancement thereof, such as enhanced IDE (EIDE) or ultra direct memory access (UDMA), or a small computer system interface (SCSI) based interface, or a variation or enhancement thereof, such as fast-SCSI, wide-SCSI, fast and wide-SCSI, etc, or a fiber channel-arbitrated loop (FC-AL) interface.  
         [0040]    Memory  208  includes email system  210 , templates  212 , data entry form creation routines  214 , database  216 , applications  218 , and operating system  220 . Email system  210  includes software that implements the email transmission and reception functionality. This functionality includes generating email messages including data entry forms, transmitting the generated email messages to the specified recipients, and receiving email messages including completed data entry forms. Templates  212  include information specifying formats, layouts, data fields, and designs for data entry forms that may be generated. A template may specify a complete data entry form, a portion of a data entry form, or a combination of other templates that may be assembled to create a complete data entry form. Data entry form creation routines generate data entry forms based on input from a user who is designing a data entry form. The user may specify one or more templates to be used to generate the data entry form, and/or the user may specify other formats, layouts, data fields, and designs for the data entry forms that will be generated.  
         [0041]    Database management system (DBMS)  216  provides the capability to store, organize, modify, and extract the data collected using the data entry forms. From a technical standpoint, DBMSs can differ widely. The terms relational, network, flat, and hierarchical all refer to the way a DBMS organizes information internally. The internal organization can affect how quickly and flexibly information can be extracted.  
         [0042]    The database includes a collection of information organized in such a way that computer software can select and retrieve desired pieces of data. Traditional databases are organized by fields, records, and files. A field is a single piece of information; a record is one complete set of fields; and a file is a collection of records. An alternative concept in database design is known as Hypertext. In a Hypertext database, any object, whether it be a piece of text, a picture, or a film, can be linked to any other object. Hypertext databases are particularly useful for organizing large amounts of disparate information, but they are not designed for numerical analysis.  
         [0043]    Typically, a DBMS includes not only data, but also low-level database management functions, which perform accesses to the database and store or retrieve data from the database. Such functions are often termed queries and are performed by using a database query language, such as structured query language (SQL). SQL is a standardized query language for requesting information from a database. Historically, SQL has been a popular query language for database management systems running on minicomputers and mainframes. Increasingly, however, SQL is being supported by personal computer database systems because it supports distributed databases (databases that are spread out over several computer systems). This enables several users on a local-area network to access the same database simultaneously.  
         [0044]    Most full-scale database systems are relational database systems. Small database systems, however, use other designs that provide less flexibility in posing queries. Relational databases are powerful because they require few assumptions about how data is related or how it will be extracted from the database. As a result, the same database can be viewed in many different ways. An important feature of relational systems is that a single database can be spread across several tables. This differs from flat-file databases, in which each database is self-contained in a single table.  
         [0045]    Applications  218  include a variety of software programs that implement business processes or other data processing functions. For example, applications  218  may include applications that implement business processes such as performance reviews, project participant selection, project staffing selection, participant competency prioritization, etc.  
         [0046]    Operating system  228  provides overall system functionality.  
         [0047]    As shown in FIG. 2, the present invention contemplates implementation on a system or systems that provide multi-processor, multi-tasking, multi-process, and/or multi-thread computing, as well as implementation on systems that provide only single processor, single thread computing. Multi-processor computing involves performing computing using more than one processor. Multi-tasking computing involves performing computing using more than one operating system task. A task is an operating system concept that refers to the combination of a program being executed and bookkeeping information used by the operating system. Whenever a program is executed, the operating system creates a new task for it. The task is like an envelope for the program in that it identifies the program with a task number and attaches other bookkeeping information to it. Many operating systems, including UNIX®, OS/2®, and WINDOWS®, are capable of running many tasks at the same time and are called multitasking operating systems. Multi-tasking is the ability of an operating system to execute more than one executable at the same time. Each executable is running in its own address space, meaning that the executables have no way to share any of their memory. This has advantages, because it is impossible for any program to damage the execution of any of the other programs running on the system. However, the programs have no way to exchange any information except through the operating system (or by reading files stored on the file system). Multi-process computing is similar to multitasking computing, as the terms task and process are often used interchangeably, although some operating systems make a distinction between the two.  
         [0048]    A block diagram of an exemplary offline data entry system  106 , in which the present invention may be implemented, is shown in FIG. 3. Offline data entry system  106  is typically a programmed general-purpose computer system, such as a personal computer, workstation, server system, and minicomputer or mainframe computer. Offline data entry system  106  includes processor (CPU)  302 , input/output circuitry  304 , network adapter  306 , and memory  308 . CPU  302  executes program instructions in order to carry out the functions of the present invention. Typically, CPU  302  is a microprocessor, such as an INTEL PENTIUM® processor, but may also be a minicomputer or mainframe computer processor. Although in the example shown in FIG. 3, computer system  300  is a single processor computer system, the present invention contemplates implementation on a system or systems that provide multi-processor, multi-tasking, multi-process, multi-thread computing, distributed computing, and/or networked computing, as well as implementation on systems that provide only single processor, single thread computing. Likewise, the present invention also contemplates embodiments that utilize a distributed implementation, in which computer system  300  is implemented on a plurality of networked computer systems, which may be single-processor computer systems, multi-processor computer systems, or a mix thereof.  
         [0049]    Input/output circuitry  304  provides the capability to input data to, or output data from, computer system  300 . For example, input/output circuitry may include input devices, such as keyboards, mice, touchpads, trackballs, scanners, etc., output devices, such as video adapters, monitors, printers, etc., and input/output devices, such as, modems, etc. Network adapter  306  interfaces computer system  300  with network  104 . Network  104  may be any standard local area network (LAN) or wide area network (WAN), such as Ethernet, Token Ring, the Internet, or a private or proprietary LAN/WAN. The connection between network adapter  306  and network  104  is not necessarily continuous. In particular, offline data entry system  106  is offline when there is no communicative connection between system  106  and network  104 . For example, at times, system  106  may not be logged on to network  104 , or system  106  may not even be physically connected to network  104 .  
         [0050]    Memory  308  stores program instructions that are executed by, and data that are used and processed by, CPU  302  to perform the functions of the present invention. Memory  308  may include electronic memory devices, such as random-access memory (RAM), read-only memory (ROM), programmable read-only memory (PROM), electrically erasable programmable read-only memory (EEPROM), flash memory, etc., and electromechanical memory, such as magnetic disk drives, tape drives, optical disk drives, etc., which may use an integrated drive electronics (IDE) interface, or a variation or enhancement thereof, such as enhanced IDE (EIDE) or ultra direct memory access (UDMA), or a small computer system interface (SCSI) based interface, or a variation or enhancement thereof, such as fast-SCSI, wide-SCSI, fast and wide-SCSI, etc, or a fiber channel-arbitrated loop (FC-AL) interface.  
         [0051]    Memory  308  includes browser program  310 , data entry forms  312 , email program  314  and operating system  316 . Browser  310  is a software application used to locate and display Web and other interactive pages and documents. Preferably, browser  310  is a graphical browser, which can display graphics as well as text and, in addition, present multimedia information, including sound and video. Examples of programs suitable for browser  310  include Netscape Navigator® and Microsoft Internet Explorer®. Browser  310  typically displays pages or documents that use hypertext markup language (HTML), but, when properly configured, may also display pages or documents using any standard or proprietary document language, script language, or programming language. For example, browser  310  may display pages or documents that include extensible markup language (XML) code, JAVA® code, or JAVASCRIPT® code. Such scripting and programming languages provide the capability to create pages or documents including advanced interactive features and advanced processing functions.  
         [0052]    Data entry forms  312  include pages or documents that may be displayed by browser  310  that provide the capability to interact with a person who enters data into the data entry form. Data entry forms may be created using any standard or proprietary document language, script language, or programming language that is compatible with browser  310 . For example, data entry forms  312  may be created using HTML or XML code, but JAVA® or JAVASCRIPT® are preferred because they provide the capability for advanced interactive features and advanced processing functions.  
         [0053]    Email program  314  includes software that implements the email transmission and reception functionality. This functionality includes receiving email messages including data entry forms, storing or filing the received data entry forms, and transmitting the compiled data that was entered into the data entry forms.  
         [0054]    Operating system  316  provides overall system functionality.  
         [0055]    An exemplary flow diagram of a data collection process  400  is shown in FIG. 4. Process  400  begins with step  402 , in which the data set is created. In order to create a data set, a user determines what kind of data is to be collected. Preferably, the user may select a predefined data set that corresponds to the data needed for the project the user seeks to perform. For example, predefined data sets may be available for performance appraisals, staffing applications, job models, etc. The user may modify predefined data sets to customize them for particular applications. If necessary, the user may even create a custom data set.  
         [0056]    In step  404 , the user selects the participants in the data collection project. Participants are individuals who will receive and complete data entry forms. Preferably, this step may be performed automatically using predefinitions or data that specifies relationships between individuals. For example, in a performance appraisal application, those individuals whose input to the performance appraisal is required may be automatically determined once the particular position for which the performance appraisal is to be performed is specified. In other cases, some or all of the participants must be specified by the user.  
         [0057]    In step  406 , the data entry forms incorporating the selected and defined data sets are created for the selected participants. The data entry forms are pages or documents that provide the capability for a participant to enter requested data. Some data may simply require the participant to select from among several choices. Some data may be pre-filled in, while allowing the participant the opportunity to modify the data. Other data must be entirely entered by the participant. In addition, in many cases, the data entry forms for each participant may be similar or identical, but in other cases, the data entry forms for each participant must be customized for that participant.  
         [0058]    The data entry forms are encapsulated as email messages and addressed to the selected participants. These messages are sent to the email system and queued for transmission to the participants.  
         [0059]    In step  408 , the email messages are delivered to the data entry systems in use by the participants. The data entry forms are extracted from the email messages and displayed to each participant, typically using a browser program. Each message may include an instructional cover page and a data entry form that the reviewer will fill-in.  
         [0060]    In step  410 , the participants enter the requested data into the data entry forms. The data entry forms can be filled-in by the participants at their convenience. The data entry forms may be filled-in either online or offline. It is not necessary to be online, connected to a network, such as the Internet, in order to fill in the data entry forms.  
         [0061]    In step  412 , the result data is transmitted to the data processing system. When a participant has finished filling-in a data entry form, the participant transmits the result data to the data processing system, preferably as an email message. This email message is automatically generated by the data entry form. The result data may include the raw data entered by the participant into the data entry form. The result data may also include processed data that was generated by the data entry form based on the data entered by the participant into the data entry form.  
         [0062]    In step  414 , the data processing system receives and processes the result data. The email system of the data processing system repeatedly polls to determine whether any new email messages have arrived. If so, the messages are checked for validity and the result data is extracted. The result data is processed, if necessary and posted to the database. Once posted to the database, the result data is available to authorized users.  
         [0063]    An exemplary flow diagram of a data collection process  500  is shown in FIG. 5. Process  500  is an embodiment of process  400  that is directed to collaborative creation of descriptions of competencies related to a position defined by a job model. Process  500  begins with step  502 , in which a person listing is created. In order to create a person listing, information relating to potential participants and available types of job models are displayed to a user.  
         [0064]    In step  504 , the user selects the participants, who will be the team members for the project and who will receive and complete data entry forms. The user also selects a job model that will define the position about which competency data will be collected.  
         [0065]    In step  506 , the data entry forms incorporating the selected and defined job model are created for the selected participants. The data entry forms are pages or documents that provide the capability for a participant to enter requested data. Some data may simply require the participant to select from among several choices. Some data may be pre-filled in, while allowing the participant the opportunity to modify the data. Other data must be entirely entered by the participant. In addition, in many cases, the data entry forms for each participant may be similar or identical, but in other cases, the data entry forms for each participant must be customized for that participant.  
         [0066]    The data entry forms are encapsulated as email messages and addressed to the selected participants. These messages are sent to the email system and queued for transmission to the participants.  
         [0067]    In step  508 , the email messages are delivered to the data entry systems in use by the participants. The data entry forms are extracted from the email messages and displayed to each participant, typically using a browser program. Each message may include an instructional cover page and a data entry form that the reviewer will fill-in.  
         [0068]    In step  510 , the participants enter the requested data into the data entry forms. The data entry forms can be filled-in by the participants at their convenience. The data entry forms may be filled-in either online or offline. It is not necessary to be online, connected to a network, such as the Internet, in order to fill in the data entry forms. In particular, the participants enter information relating to competencies, such as qualifications and skills, which are required or desirable for position defined by the selected job model.  
         [0069]    In step  512 , the result data is transmitted to the data processing system. When a participant has finished filling-in a data entry form, the participant transmits the result data to the data processing system, preferably as an email message. This email message is automatically generated by the data entry form. The result data may include the raw data entered by the participant into the data entry form. The result data may also include processed data that was generated by the data entry form based on the data entered by the participant into the data entry form.  
         [0070]    In step  514 , the data processing system receives and processes the result data. The email system of the data processing system repeatedly polls to determine whether any new email messages have arrived. If so, the messages are checked for validity and the result data is extracted. The result data is processed, if necessary and posted to the database. Once posted to the database, the result data is available to authorized users. In addition, the received results may be used to dynamically assign weights to each of the competencies that are related to the position defined by selected job model.  
         [0071]    An exemplary flow diagram of a data collection process  600  is shown in FIG. 6. Process  600  is an embodiment of process  400  that is directed to creation of a job candidate interview evaluation. Process  600  begins with step  602 , in which the job model is created. A job model is a collection of competencies that define required and desirable qualifications and skills related to a position in an organization. In order to create a job model, a user determines the competencies that are relevant to the position, which will determine the kind of data that is to be collected in the interview of the candidate. Preferably, the user may select a predefined job model that corresponds to the position. For example, predefined job models may be available for management positions, individual contributors, etc. The user may modify predefined job models to customize them for particular applications. If necessary, the user may even create a custom job model.  
         [0072]    In step  604 , the user selects the evaluation set, which includes the participants in the interview. In particular, the evaluation set includes the candidate for the position who is to be interviewed, the reviewers, each of whom will conduct an interview with the candidate and each of whom will enter the data, and the date of each interview between the candidate and a reviewer.  
         [0073]    In step  606 , the data entry forms incorporating the selected and defined data sets are created for the selected reviewers. The data entry forms are pages or documents that provide the capability for a reviewer to enter requested data. The necessary information is extracted from the relevant databases and incorporated to generate the data entry forms. Some data to be entered may simply require the reviewer to select from among several choices. Some data may be pre-filled in, while allowing the reviewer the opportunity to modify the data. Other data must be entirely entered by the reviewer. In addition, in many cases, the data entry forms for each reviewer may be similar or identical, but in other cases, the data entry forms for each reviewer must be customized for that reviewer.  
         [0074]    The data entry forms are encapsulated as email messages and addressed to the selected reviewers. These messages are sent to the email system and queued for transmission to the reviewers. The defined date of the interview is used as a “send on” date to control the date on which the data entry forms are transmitted to the reviewers.  
         [0075]    In step  608 , the email messages are delivered to the data entry systems in use by the reviewers. The data entry forms are extracted from the email messages and displayed to each reviewer, typically using a browser program. Each reviewer will receive a message indicating that it is time to enter interview data for the specified candidate. Each message may include an instructional cover page and a data entry form that the reviewer will fill-in.  
         [0076]    In step  610 , the reviewers enter the requested data into the data entry forms. The data entry forms can be filled-in by the reviewers at their convenience. The data entry forms may be filled-in either online or offline. It is not necessary to be online, connected to a network, such as the Internet, in order to fill in the data entry forms.  
         [0077]    In step  612 , the result data is transmitted to the data processing system. When a reviewer has finished filling-in a data entry form, the reviewer transmits the result data to the data processing system, preferably as an email message. This email message is automatically generated by the data entry form. The result data may include the raw data entered by the reviewer into the data entry form. The result data may also include processed data that was generated by the data entry form based on the data entered by the reviewer into the data entry form.  
         [0078]    In step  614 , the data processing system receives and processes the result data. The email system of the data processing system repeatedly polls to determine whether any new email messages have arrived. If so, the messages are checked for validity and the result data is extracted. The result data is processed, if necessary and posted to the database that originated the process. Once posted to the database, the result data is available to authorized users.  
         [0079]    An exemplary flow diagram of a data collection process  700  is shown in FIG. 7. Process  700  is an embodiment of process  400  that is directed to creation of a performance review. Process  700  begins with step  702 , in which the job model is created. A job model is a collection of competencies that define required and desirable qualifications and skills related to a position in an organization. In order to create a job model, a user determines the competencies that are relevant to the position, which will determine the kind of data that is to be collected in the review. Preferably, the user may select a predefined job model that corresponds to the position. For example, predefined job models may be available for management positions, individual contributors, etc. The user may modify predefined job models to customize them for particular applications. If necessary, the user may even create a custom job model.  
         [0080]    In step  704 , the user selects the evaluation set, which includes the participants in the review. In particular, the evaluation set includes the person who is to be reviewed, the reviewers, each of whom would perform a review of the person and each of whom will enter the data, and the date of each review.  
         [0081]    In step  706 , the data entry forms incorporating the selected and defined data sets are created for the selected reviewers. The data entry forms are pages or documents that provide the capability for a reviewer to enter requested data. The necessary information is extracted from the relevant databases and incorporated to generate the data entry forms. Some data to be entered may simply require the reviewer to select from among several choices. Some data may be pre-filled in, while allowing the reviewer the opportunity to modify the data. Other data must be entirely entered by the reviewer. In addition, in many cases, the data entry forms for each reviewer may be similar or identical, but in other cases, the data entry forms for each reviewer must be customized for that reviewer.  
         [0082]    The data entry forms are encapsulated as email messages and addressed to the selected reviewers. These messages are sent to the email system and queued for transmission to the reviewers.  
         [0083]    In step  708 , the email messages are delivered to the data entry systems in use by the reviewers. The data entry forms are extracted from the email messages and displayed to each reviewer, typically using a browser program. Each reviewer will receive a message indicating that it is time to enter review data for the specified person. Each message may include an instructional cover page and a data entry form that the reviewer will fill-in.  
         [0084]    In step  710 , the reviewers enter the requested data into the data entry forms. The data entry forms can be filled-in by the reviewers at their convenience. The data entry forms may be filled-in either online or offline. It is not necessary to be online, connected to a network, such as the Internet, in order to fill in the data entry forms.  
         [0085]    In step  712 , the result data is transmitted to the data processing system. When a reviewer has finished filling-in a data entry form, the reviewer transmits the result data to the data processing system, preferably as an email message. This email message is automatically generated by the data entry form. The result data may include the raw data entered by the reviewer into the data entry form. The result data may also include processed data that was generated by the data entry form based on the data entered by the reviewer into the data entry form.  
         [0086]    In step  714 , the data processing system receives and processes the result data. The email system of the data processing system repeatedly polls to determine whether any new email messages have arrived. If so, the messages are checked for validity and the result data is extracted. The result data is processed, if necessary and posted to the database that originated the process. Once posted to the database, the result data is available to authorized users. It is important to note that while the present invention has been described in the context of a fully functioning data processing system, those of ordinary skill in the art will appreciate that the processes of the present invention are capable of being distributed in the form of a computer readable medium of instructions and a variety of forms and that the present invention applies equally regardless of the particular type of signal bearing media actually used to carry out the distribution. Examples of computer readable media include recordable-type media such as floppy disc, a hard disk drive, RAM, and CD-ROM&#39;s, as well as transmission-type media, such as digital and analog communications links.  
         [0087]    Although specific embodiments of the present invention have been described, it will be understood by those of skill in the art that there are other embodiments that are equivalent to the described embodiments. Accordingly, it is to be understood that the invention is not to be limited by the specific illustrated embodiments, but only by the scope of the appended claims.