US20120209650A1 - Context-based mobile activity assistant - Google Patents
Context-based mobile activity assistant Download PDFInfo
- Publication number
- US20120209650A1 US20120209650A1 US13/372,440 US201213372440A US2012209650A1 US 20120209650 A1 US20120209650 A1 US 20120209650A1 US 201213372440 A US201213372440 A US 201213372440A US 2012209650 A1 US2012209650 A1 US 2012209650A1
- Authority
- US
- United States
- Prior art keywords
- task
- workflow
- user
- request
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 230000000694 effects Effects 0.000 title description 5
- 238000004891 communication Methods 0.000 claims abstract description 182
- 238000000034 method Methods 0.000 claims abstract description 73
- 230000015654 memory Effects 0.000 claims abstract description 18
- 230000004044 response Effects 0.000 claims description 89
- 230000008859 change Effects 0.000 claims description 28
- 230000001105 regulatory effect Effects 0.000 claims description 17
- 238000003860 storage Methods 0.000 claims description 16
- 230000007613 environmental effect Effects 0.000 claims description 8
- 230000002452 interceptive effect Effects 0.000 claims description 6
- 238000007726 management method Methods 0.000 description 86
- 230000009471 action Effects 0.000 description 26
- 230000008569 process Effects 0.000 description 20
- 238000004458 analytical method Methods 0.000 description 19
- 238000012552 review Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 230000007423 decrease Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000001413 cellular effect Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 230000008520 organization Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000013478 data encryption standard Methods 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 238000004140 cleaning Methods 0.000 description 3
- 239000003086 colorant Substances 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000000474 nursing effect Effects 0.000 description 3
- 230000037361 pathway Effects 0.000 description 3
- 238000003825 pressing Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000004659 sterilization and disinfection Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- HRANPRDGABOKNQ-ORGXEYTDSA-N (1r,3r,3as,3br,7ar,8as,8bs,8cs,10as)-1-acetyl-5-chloro-3-hydroxy-8b,10a-dimethyl-7-oxo-1,2,3,3a,3b,7,7a,8,8a,8b,8c,9,10,10a-tetradecahydrocyclopenta[a]cyclopropa[g]phenanthren-1-yl acetate Chemical group C1=C(Cl)C2=CC(=O)[C@@H]3C[C@@H]3[C@]2(C)[C@@H]2[C@@H]1[C@@H]1[C@H](O)C[C@@](C(C)=O)(OC(=O)C)[C@@]1(C)CC2 HRANPRDGABOKNQ-ORGXEYTDSA-N 0.000 description 1
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000003339 best practice Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008867 communication pathway Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000009474 immediate action Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 238000010223 real-time analysis Methods 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0633—Workflow analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H40/00—ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
- G16H40/20—ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the management or administration of healthcare resources or facilities, e.g. managing hospital staff or surgery rooms
Definitions
- the systems and methods described below relate generally to the field of task management systems that include communication functionality. More particularly, the systems and methods relate to facilitating collaboration between parties by integrating communication aspects into a task workflow system and providing context-based options for creating workflows and responding to workflow-related communications.
- FIG. 1 is a block diagram of a computing device.
- FIG. 2 is a block diagram of a task management system.
- FIG. 3 is a timeline diagram of example operations of a task management system.
- FIGS. 4-29 are plan views of a graphical user interface of a computing device.
- FIG. 30 is a flow diagram of an operation of the task management system.
- the systems and methods described here combine workflow and task management features with collaborative communication capabilities to provide an integrated task management system.
- the task management system consolidates tasks, messages, alerts, and notifications for workers and facilitates communications between parties.
- the task management system can use contextually available information relating to the tasks, messages, alerts, notifications, and communications to optimize efficiency, and ensure that tasks and messages are prioritized and timely completed.
- a computer-implemented method for handling a workflow comprises receiving a workflow request to perform a task of a microflow that includes the task, and a contact address associated with the task at a processor, sending a message to the contact address that includes at least a response to the workflow request, a status associated with performance of the task, a completion status associated with completion of the task, an inquiry related to the workflow request, and a request to open a communication session.
- the method further includes storing the task in at least one workflow queue in a memory, dynamically prioritizing the task at the processor, and presenting at least one of an indication of a workflow request, an indication of a message, an indication of a request to open a communication session, and the task at a human-machine interface such as a display.
- the computer-implemented method can also include receiving at least one of a second workflow request to perform a second task of the microflow, a notification message, an alert message, a message include a plurality of response options, and a request to open a communication session at the processor.
- the computer-implemented method can also include receiving a second workflow request to perform a second task of the microflow at a second processor, and receiving at the first processor a notification message associated with at least one of acceptance at the second processor of the second workflow request, performance of the second task, and completion of the second task.
- the workflow request can include one of an importance level, a requested start time, a requested completion time for at least one of the task, and the microflow, a requested length of time to complete at least one of the task, and the microflow, and a location for performance of the task, and the task can be task dynamically prioritized based at least in part on at least one of a time factor, a milestone, an environmental factor, a personnel factor, and a priority.
- the time factor can include at least one of the current time, an expiration of a timer, a preset time prior to the requested completion time of the task, an elapsed time since the workflow request was requested, an elapsed time since the workflow request was accepted.
- the milestone can include at least one of the start of performance of the task, a completion of the task, and the non-performance of the task.
- the environmental factor can include at least one of a sensor input from a sensor, a signal from an external system, and a data obtained from an external information source.
- the personnel factor can include at least one of a change in available personnel, a shift change associated with a time, and an availability of an individual for performing the task.
- the priority can be based upon at least one of the importance level, a priority set by a user override, a priority based at least in part on an importance factor and a time factor, a priority based at least in part on the location for performance of the task, a priority set in accordance with the type of task, a priority set in accordance to at least one of a business policy rule associated with the task, and a regulatory compliance rule associated with the task.
- the message in the computer-implemented method can be sent in accordance with a medium associated with the contact address, and can be selected from the group consisting of a text message, a multimedia message, an email message, a voice call, a video call, a conference call, a web-based session using a uniform resource locator, and a call to an interactive voice response system.
- the medium can be based on at least one of a preferred medium selection associated with the contact address, a previously selected medium used in sending a message, and a user override selection of the medium.
- the computer-implemented method can also include determining a response to the workflow request prior to sending the message that includes the response.
- the operation of determining can be based at least in part on one of a location associated with the performance of the task, a number of tasks in the workflow queue, the type of task, a past performance of a task of a microflow, a current performance of a task of a microflow, and a user availability setting, and the response can be selected from the group consisting of rejecting the workflow request, and accepting the workflow request.
- the computer-implemented method can also include presenting a prompt that includes the response and receiving an input for responding to the prompt at the human-machine interface and the response can be based at least in part upon the received input.
- the computer-implemented method can also include sending a plurality of messages in a response-sequence order. A subset of the plurality of messages can include at least one of a status of the performance of the tasks, and user-selectable context-driven responses, each of which is based at least in part on a previous message in the plurality of messages.
- the computer-implemented method can also include receiving an indication that the task was completed by a third party, updating the workflow queue based at least in part on the indication, and dynamically prioritizing a second task.
- a computer-readable storage medium having computer-executable instructions stored thereon to instruct a processor to perform a method comprises sending a workflow request to a first recipient, where the workflow request is associated with a microflow and includes a task, and a contact address associated with the task, receiving at least one of a response to the workflow request, a status associated with performance of the task, and a completion status associated with a completion of the task; and logging in a memory at least one of the workflow request, a timestamp associated with sending the workflow request, the response, a timestamp associated with the response, the status, a timestamp associated with the status, the completion status, a timestamp associated with the completion status, a message associated with at least one of the workflow request, the task, the status, and the completion status, a timestamp associated with the message, a communication session opened with the first recipient, and a timestamp associated with the communication session.
- the processor in the computer-readable storage medium can also be configured to perform the method of sending at least one of a rescind notification of the workflow request to the first recipient, a message to remove the task from the workflow queue to the first recipient, and the workflow request that is associated with the microflow to a second recipient.
- the processor can also be configured to perform the method of receiving a message to delegate the task to a second recipient from the first recipient, and sending at least one of the task and the workflow request to the second recipient.
- the processor can also be configured to perform the method of presenting a list of preconfigured tasks at a human-machine interface, selecting the task from the list of preconfigured tasks, presenting a list of contact addresses, selecting an address of the first recipient from the list of contact addresses, presenting a list of importance levels, selecting an importance level of the task from the list of importance levels, presenting one or more informative messages associated with the task, performing an operation including at least one of selecting an informative message, selecting and modifying an informative message, creating an informative message, creating the workflow request that includes the task, the importance level, the informative message, and one or more preconfigured response options, and addressing the workflow request to the address of the first recipient.
- a presented order of the preconfigured tasks can be based at least in part on at least one of the most frequently selected preconfigured tasks, the most recently selected preconfigured tasks, sensor data associated with a preconfigured task.
- a presented order of the list of contacts is based at least in part on at least one of the most frequently selected contact addresses, the most recently selected contact addresses, an availability status of one or more contacts in the list of contacts, a logged-on status of one or more contacts in the list of contacts, a contact address associated with the selected preconfigured task in a previous workflow request, a contact address belonging to a same group as the selected contact address, a contact address authorized to perform the selected preconfigured task, and a contact address identified as having a skillset associated with the selected preconfigured task.
- the processor in the computer-readable storage medium can also be configured to perform the method of accepting an input, at the human-machine interface, for customizing at least one of the task, an importance level, an informative message, a response option associated with the task, and a list of contact addresses authorized to send the task that includes at least one of the first recipient, and a group.
- the processor in the computer-readable storage medium can also be configured to perform the method of storing at least one of the task as a preconfigured task, the importance level as an importance level of the preconfigured task, the informative message as an informative message associated with the preconfigured task, the response option as a preconfigured response option associated with the preconfigured task, and the list of contact addresses authorized to send the preconfigured task.
- a system comprises a computing device having a processor configured to receive a workflow request that is associated with a microflow that includes a task, and a contact address associated with the task, and send a message to the contact address that includes at least one of a response to the workflow request, a status associated with performance of the task, a completion status associated with completion of the task, and an inquiry related to the workflow request, open a communication session with the contact address, store the task in at least one workflow queue, dynamically prioritize the task, and present at least one of an indication of a workflow request, an indication of a message, an indication of a request to open a communication session, and the task at a human-machine interface.
- the system can include a memory configured to store the workflow queue, a communications interface configured to receive the workflow request, send the message, and open the communication session, and a human-machine interface configured to accept an input and present the task.
- the computing device is a mobile computing device
- the communications interface is a wireless communications interface
- the human-machine interface includes at least one of a display configured to present at least one of the workflow request, the task, the contact address, a display of an icon associated with the type of task, a display of a shape associated with a priority of the task, a display of a color coding associated with a priority of the task, a display of a shading associated with a priority of the task, and a display of an alert, an audible element configured to present at least one of an audible message about the task, and an audible alert, a vibratory element configured to present a vibratory alert, and an input means for accepting the input.
- the system can prioritize a task based at least in part on a time factor that includes at least one of the current time, an expiration of a timer, a preset time prior to the requested completion time of the task, an elapsed time since the workflow request was requested, an elapsed time since the workflow request was accepted, and a milestone that includes at least one of a start of performance of the task, a completion of the task, and a non-performance of the task, and an environmental factor that includes at least one of a sensor input from a sensor, a signal from an external system, and a data obtained from an external information source, a personnel factor that includes at least one of a change in available personnel, a shift change associated with a time, and an availability of an individual for performing the task, and a priority that is based on a least one of an importance level of the task, a priority set by a user override, a priority set by the location for performance of the task, a priority set by the length of time to complete the task, a priority set
- the apparatuses, devices, systems and methods disclosed and described in this document can be used to handle task management aspects and communication aspects of an integrated task management system.
- Those of ordinary skill in this art area will recognize from reading this description that the apparatuses, devices, methods, and systems described can be applied to, or easily modified for use with, other types of equipment, other arrangements of computing systems such as client-server, peer-to-peer, or distributed systems, other protocols, and at other layers in communication protocol stacks.
- references to components or modules generally refer to items that logically can be grouped together to perform a function or group of related functions. Like reference numerals are generally intended to refer to the same or similar components.
- Components and modules can be implemented in software, hardware, or a combination of software and hardware.
- the term software is used expansively to include not only executable code, but also data structures, data stores and computing instructions in any electronic format, firmware, and embedded software.
- information and data are used expansively and includes a wide variety of electronic information, including but not limited to machine-executable or machine-interpretable instructions; content such as text, video data, and audio data, among others; and various codes or flags.
- the terms information, data, and content are sometimes used interchangeably when permitted by context.
- FIG. 1 illustrates an exemplary computing device 100 .
- the computing device 100 can a desktop computer, a server, a mobile computing device such as a smartphone, or any other suitable computing device as would be understood in the art.
- the computing device 100 includes a processor 120 that can be any suitable type of processing unit, for example a general purpose central processing unit (CPU), a reduced instruction set computer (RISC), a processor that has a pipeline or multiple processing capability including having multiple cores, a complex instruction set computer (CISC), a digital signal processor (DSP), an application specific integrated circuits (ASIC), a programmable logic devices (PLD), and a field programmable gate array (FPGA), among others.
- CPU general purpose central processing unit
- RISC reduced instruction set computer
- CISC complex instruction set computer
- DSP digital signal processor
- ASIC application specific integrated circuits
- PLD programmable logic devices
- FPGA field programmable gate array
- the computing device 100 also includes one or more memories 130 , for example read only memory (ROM) 140 , random access memory (RAM) 150 , cache memory 122 associated with the processor 120 , or other memories such as dynamic RAM (DRAM), static ram (SRAM), flash memory, a removable memory card or disk, a solid state drive, and so forth.
- ROM read only memory
- RAM random access memory
- DRAM dynamic RAM
- SRAM static ram
- flash memory a removable memory card or disk
- solid state drive a solid state drive
- the computing device 100 also includes storage media such as a storage device 160 that can be configured to have multiple modules 162 , 164 , 166 , such as magnetic disk drives, floppy drives, tape drives, hard drives, optical drives and media, magneto-optical drives and media, compact disk drives, Compact Disk Read Only Memory (CD-ROM), Compact Disk Recordable (CD-R), Compact Disk Rewriteable (CD-RW), a suitable type of Digital Versatile Disk (DVD) or BluRay disk, and so forth.
- Storage media such as flash drives, solid state hard drives, redundant array of individual disks (RAID), virtual drives, networked drives and other memory means including storage media on the processor 120 or memories 130 are also contemplated as storage device 160 .
- the memory 130 , processor 120 , and storage drive 160 can include nonvolatile memory for storing computer-readable instructions, data, data structures, program modules, code, microcode, and other software components for storing the computer-readable instructions in non-transitory computer-readable mediums in connection with the other hardware components for carrying out the methodologies described herein.
- Software components can include source code, compiled code, interpreted code, executable code, static code, dynamic code, encrypted code, or any other suitable type of code or computer instructions implemented using any suitable high-level, low-level, object-oriented, visual, compiled, or interpreted programming language.
- the computing device 100 can include a system bus 110 for interconnecting the various components of the computing device 100 , or the computing device 100 can be integrated into one or more chips such as programmable logic device or application specific integrated circuit (ASIC).
- the system bus 110 can include a memory controller, a local bus, or a peripheral bus for supporting input devices 190 , output devices 170 , or communication interfaces 180 .
- Example input devices 190 and output devices 170 include keyboards, keypads, gesture or graphical input devices, motion input devices, touchscreen interfaces, displays, audio units, voice recognition units, vibratory devices, computer mice, and any other suitable user interface.
- the communication interface 180 allows the computing device 100 to communicate with other device across a network.
- the communication interface 180 can be an Ethernet interface, a radio interface, a telephony interface, a Universal Serial Bus (USB) interface, or any other suitable communications interface.
- Example communication interfaces 180 can includes wired data transmission links such as Ethernet and TCP/IP, as well as PSTN communications links such as Tls (or better), integrated services digital network (ISDN), Digital Subscriber Line (DSL), or dialup modems that implement, for example, the point-to-point protocol (PPP).
- the communication interface 180 can include wireless protocols for interfacing with private or public networks.
- the communication interface 180 and protocols can include interfaces for communicating with private wireless networks such as a WiFi network, one of the IEEE 802.11x family of networks, or another suitable wireless network.
- the communication interface 180 and protocols can include interfaces for communicating with public wireless networks, such as cellular networks.
- FIG. 2 illustrates a block diagram of networked computing devices configured as a task management system 200 .
- the task management system 200 can be implemented using only one network 202 , 204 , a combination of a public network 202 and a private network 204 , and any other suitable combination including multiple public networks 202 and multiple private networks 204 .
- Each network 202 , 204 can be, for example, an intranet, the Internet, a telephone network, a cable network, a wireless network, a packet-switched network, a circuit-switched network, or any other suitable network.
- Example networks can include an asynchronous transfer mode (ATM) network, a packet-switched network running, for example, the TCP/IP suite of protocols, a wireless network running one or more of the IEEE 802.11x, IEEE 802.15, or IEEE 802.16 family of protocols (WiFi and Zigbee, among others), a cellular network using code division multiple access (CDMA or CDMA:2000), global system for mobile communications (GSM), a cellular network running a 3G or 4G protocol, or another suitable network, including networks using protocols currently in development or yet to be developed.
- ATM asynchronous transfer mode
- packet-switched network running, for example, the TCP/IP suite of protocols
- a wireless network running one or more of the IEEE 802.11x, IEEE 802.15, or IEEE 802.16 family of protocols (WiFi and Zigbee, among others
- CDMA or CDMA:2000 code division multiple access
- GSM global system for mobile communications
- a cellular network running a 3G or 4G protocol or another suitable network
- the task management system 200 can be configured to use secure communication protocols such as Internet Protocol security (IPsec), Secure Sockets Layer (SSL), Transport Layer Security (TLS), secure hypertext transfer protocol (HTTPS/1.1) or any other suitable encrypted protocol. Encryption can also be performed using a suitable type of cipher, including a private key cipher, a symmetric private key cipher, a public key cipher, and an elliptic curve cipher, among others. Specifically, encryption can be implemented using the Advanced Encryption Standard (AES), the Data Encryption Standard (DES), triple DES (3DES), or another suitable cipher.
- AES Advanced Encryption Standard
- DES Data Encryption Standard
- 3DES triple DES
- the task management system 200 can include a first mobile computing device 206 , a second mobile computing device 208 , an administrative computing device 214 , a workflow server 210 , a data store 212 , and an interactive voice response system 216 .
- a user of the first mobile computing device 206 can send a workflow request 301 to the user of the second mobile computing device 208 .
- Either of the users can open a communication session between the mobile computing devices 206 , 208 , for example to discuss a workflow request 301 or performance of tasks.
- Communication sessions can include those normally associated with telephony services or the communication sessions can be internet-based communications such as voice over internet protocol (VoIP).
- VoIP voice over internet protocol
- Either of the users can send messages to the mobile computing device 206 , 208 of another user.
- Messages can include text messages, pictures or images, audio, or video, and can be short message service (SMS) messages, multimedia message service (MMS) messages, and other suitable message types.
- SMS short message service
- MMS multimedia message service
- the mobile computing devices 206 , 208 can also receive notifications, and alerts that can be readable text or data such as a structured set of data.
- the messages can be acknowledged messages and include a response set, for example a read receipt, an acknowledgement (ACK), an indication of not acknowledged (NACK), and a call back indication among other message types.
- a response set can be contextually-relevant to the task or tasks in a workflow request, and can include a predetermined response sequence order.
- the messages can be selected from a list, can be part of an interactive text session, can include forms, can include uniform resource locators (URL), and can launch applications and plug-ins, and so forth.
- the response set may include the selection of one or more of a set of offered choices that answer an associated prompt.
- the workflow requests, messages, communication requests, notifications, and alerts can be sent from other mobile computing devices 206 , 208 , or from other client interfaces using desktop applications, web-based applications, and telephony clients among other suitable clients and interfaces.
- An application programming interface can provide an interface for either clients or servers to communicate with mobile computing devices 206 , 208 or the workflow server 210 .
- the API can also allow other users or other systems to provide information to or create workflows on the task management system 200 . Both users and servers can create workflows on the task management system 200 .
- a user of an administrative computing device 214 can configure workflow requests on the workflow server 210 that are sent to users of the mobile computing devices 206 , 208 .
- the user of the administrative computing device 214 can also perform supervisory functions such as monitoring the issuance of workflow requests to the mobile computing devices 206 , 208 of the users, reviewing the performance and completion of tasks by the users, and performing analysis and determining metrics relating to task performance by the users.
- the workflow server 210 can operate as a message and communications gateway between the mobile computing devices 206 , 208 .
- the mobile computing devices 206 , 208 and workflow server 210 can be configured as a client-server type architecture.
- the workflow server 210 can communicate workflow requests and receive acknowledgements and status updates from the users over one or more of the networks 202 , 204 .
- the workflow server 210 can also be integrated with an interactive voice response system (IVR) 216 for communicating with users using voice recognition or touchtone keypad interactions.
- IVR interactive voice response system
- the workflow server 210 can use one or multiple servers.
- the workflow server 210 can use one or multiple software modules and be split between multiple servers or aggregated onto a single server or virtual server.
- the workflow server 210 can store workflow requests, messages, communications, alerts, and notifications, and logs of information relating to the workflow requests, messages, communications, alerts, and notification in the data store 212 .
- the workflow server 210 can store time stamps for each of these events to facilitate later review and analysis. The logging and capturing of this information down to the individual message, permits both the users and the system administrator to review tasks and communications at a fine level of granularity.
- the workflow server 210 captures all of the related tasks, workflow requests, acknowledgements, notifications, alerts, messages, and communications that together make up a microflow, and permits the users and the administrator to review the sequence of individual events, user actions, and user interactions of the microflow.
- the users and administrator can review the microflow after completion of the tasks associated with the microflow, or during the execution of the microflow.
- a user may have visibility only into the portion of the workflow in which the user is participating, while the administrator typically has visibility of the entire workflow.
- a workflow can describe a process for a major activity such as producing a video, or treating a patient in hospital.
- the workflow steps employed by different individuals may vary in the details but can also be quite similar. For example, best practices or regulatory guidelines can create similarities in workflow steps.
- Complex workflows are composed of smaller workflows and for team-working workflows may be decomposed into specialist activities or to share the workload to gain time efficiency through parallelism. The breakdown of a complex workflow continues until a unit of work is the right size and type to be a microflow.
- a microflow is one or more tasks including the workflow request associated with the one or more tasks, and any other related notifications, alerts, messaging, and communication sessions associated with the tasks or workflow requests.
- Tasks can be assigned, revoked, reassigned, and completed by one or multiple users.
- Tasks in a workflow request 301 can generate multiple new tasks, each of which may be performed by the same user or different users working in collaboration. Completion of a task can depend on the completion status of other tasks being performed by other users.
- a workflow can also comprise a single task, sent in a workflow request 301 to a single user to be performed.
- the workflow server 210 captures logs and information regarding all of the related activities of workflows thereby permitting review, real-time and post analysis, and the development of performance metrics. Workflows can be analyzed to ensure that business policies are being adhered to and that regulatory policies are being complied with.
- the workflow server 210 can be any kind of suitable server, including a virtual server operating over a network 202 , 204 , or multiple servers.
- the mobile computing device 206 , 208 can be any kind of suitable computing device including, but not limited to a cell phone, a mobile phone, a smart phone, a computing tablet, a laptop, a portable computing device, and a computing device mounted in a moving platform, for example a vehicle, among other suitable platforms.
- the task management system 200 is illustrated with mobile computing devices 206 , 208 , in various configurations the task management system 200 can include non-mobile, or fixed, computing devices such as desktop computers, computing devices embedded in non-mobile platforms, and other non-mobile computing devices. Practical usage scenarios can have a mix of users using fixed computing devices and mobile computing devices.
- FIG. 3 illustrates an exemplary timeline of operations 300 performed by a task management system 200 .
- the timeline of operations 300 visualized in FIG. 3 is for the purpose of illustrating some of the operations 310 , 320 , 330 , 340 , 350 , 360 , 370 possible in a task management system 200 and is not intended to illustrate the complete set of all possible operations 310 , 320 , 330 , 340 , 350 , 360 , 370 .
- the operations 310 , 320 , 330 , 340 , 350 , 360 , 370 can be performed in a different order than presented, and are presented in the current order for purposes of providing a clear description only.
- a first user of a first mobile computing device 206 creates a workflow request 301 having a task to be performed, at least in part, by a second user of a second mobile computing device 208 .
- the workflow request 301 passes through the workflow server 210 and is forwarded to the second mobile computing device 208 .
- the second user can select a response 303 at point C in the timeline and send that response 303 back to first user.
- the response 303 passes through the workflow server 210 and is forwarded to the first mobile computing device 206 of the first user.
- the second user and second mobile computing devices 310 can include multiple second users as well.
- the second user can be a group and the recipients of the workflow request 301 can include the mobile computing devices 208 of each member of the group.
- FIG. 4 illustrates a screenshot 400 for creating a new workflow request 301 .
- the first user presses the new workflow selection 404 on the display 402 of the first mobile computing device 206 .
- the first user is presented the option of creating a new workflow request 406 , or selecting from a number of preconfigured workflow requests 408 .
- the task management system 200 can use contextual information in determining which preconfigured workflow requests 408 to display to the first user. For example, the first user can see only the preconfigured workflow requests 408 that the first user has authority to send.
- the preconfigured workflow requests 408 can be ordered alphabetically, ordered based on frequency of use, or ordered based on other information such as time of day or recently sent or received workflow requests 301 .
- the preconfigured workflow requests 408 can be grouped into folders of related workflows to facilitate selection, sorted by the first user, and searched by the first user. If permitted by the task management system, the first use can create a new workflow request 406 .
- the first user can also be a recipient of workflow requests 301 .
- the first user can select the task selection 414 to review the current tasks assigned to the first user.
- the first user can select the sent selection 410 to review workflow requests 301 sent by the first user to recipients such as the second user.
- the first user can send workflow requests 301 to themselves as well, and therefore be both a recipient and a sender of the same workflow request 301 .
- the first user may want to send an alarm to their own mobile computing device 206 to remind them of an imminent event.
- the first user can also select the history selection 412 to review the history of sent and received actions of tasks that have ended.
- the history selection 412 can be configured to show all tasks and actions of the first user.
- the first user can select one of the entries to display actions associated with the task, notification, alert or workflow request 301 , as describe in the detailed description accompanying FIGS. 20 and 21 .
- the workflow request includes a workflow name 502 .
- the first user can select or modify the contact address 504 of the recipient of the workflow request 301 , the due time 506 , the importance 508 of the workflow request 301 , and optionally include a message 510 for the recipient of the workflow request 301 .
- the first user can then press a send selection 512 to send the workflow request 301 or a cancel selection 514 if the first user opts not to send this workflow request 301 .
- the task associated with the workflow request 301 can be a process task, where the second user is requested to perform a task and respond appropriately with an acceptance and eventually a completion message once the task is performed.
- the task can be a notification or message, where a simple acknowledgement of the task completes the task.
- a task can also be a communications request, where one party requests the other party to open a communications session, after which the task is complete.
- the task can also be a voting task, where the workflow request 301 is sent to a group, and based on the responses 303 , the first user picks one or more second users to perform the task.
- the task can also be a multiple choice question, where the second user is request to select a choice from one or more selections.
- the multiple choice question can be, “When can you do this task”, with possible selections “1—immediately”, “2—in 1 hour”, “3—today”, “4—tomorrow”, and “5—cannot perform”.
- the workflow request 301 also includes the contact address of the first user. This facilitates collaboration between the first user and second user, so that message can be easily sent and communication sessions can be easily initiated between the first user and the second user.
- the acknowledgement options 1302 discussed later with regards to responses 303 from the second user to the workflow request 301 can include options for contacting the first user.
- the workflow request can include one or more second contact address (not shown) to which the second user sends responses 303 and messages.
- a screenshot 600 illustrating an importance selection toolbar 602 is presented.
- an importance selection toolbar 602 can be presented.
- the importance selection toolbar 602 facilitates in the selection of the appropriate importance 508 for the workflow request 301 .
- Example importance 508 can include normal, important or very important.
- the importance 508 can be configured by the system administrator to suit the needs of their organization, and can have more or less than three levels. For example, a hospital may use the terms Normal, Stat, Emergency.
- the importance 508 can be configured to trigger an alert to the second user when the workflow request 301 is received by the second user.
- a workflow request 301 configured to have an importance 508 of critical can cause a pop-up alert window, an audible alert, a vibratory alert, and so forth.
- the importance 508 can force the second user to acknowledge or otherwise respond to the workflow request 301 .
- a screenshot 1400 of an alert 1402 is presented in FIG. 14 and the accompanying detailed description.
- the importance 508 can include a measure of time urgency, for example critical, urgent, time sensitive, non-urgent, and so forth.
- the importance selection toolbar 602 presents one way in which selectable options for importance 508 can be selected. As would be understood by those familiar in the art, this type of selection toolbar can be used for making selections for other fields displayed in other screenshots through this disclosure.
- the importance selection toolbar 602 is just one kind of toolbar possible; other kinds of toolbars and other types of graphical user interfaces known in the art, or yet to be developed, are also known or contemplated in this disclosure.
- the importance 508 for a particular type of workflow request 301 can be preconfigured by a system administrator.
- the importance 508 can default to a particular importance 508 but a user can override the default importance 508 if desired.
- the importance 508 can also be limited to certain values. For example, a business policy or regulatory policy can prohibit setting the importance 508 to certain values, for example lowering the urgency below very important, or prevent the first user from modifying the importance 508 altogether.
- the ability to change the importance 508 can be limited to certain users, for example those users identified as supervisors or those users belonging to a supervisor group.
- the due time 506 can be a fixed selectable time, or a time interval added to the current time.
- the first user can be presented with a choice of selecting a fixe time for the due time 506 or a time interval, for example 15 minutes, 30 minutes, an hour, a day, and so forth (not shown). If the first user selects the time interval, for example 15 minutes, then that time interval is added to the current time to produce the due time.
- the system administrator can preset a time interval for the task, which the first user can override.
- the priority of a task can be derived from a combination, a product, or a weighting of other factors.
- the task management system 200 can use a strict priority algorithm, a weighted round robin algorithm, or another suitable algorithm based on business policies or regulatory policies.
- priority can be a combination, a product, or a weighting of an importance factor and a time factor.
- the importance factor can be, for example, whether a task is of normal importance, high importance, or very important.
- the time factor can be a normal urgency, a high urgency, and very urgent. These factors can be combined, multiplied, or weighted to provide a priority rating.
- the priority of a task can be dynamically reprioritized as new tasks and workflow requests 301 are received.
- each of the factors can be represented by an icon.
- One set of icons can represent the importance factors and another set of icons can represent the time factors.
- the icons can be displayed along with the workflow request 301 as a visual indication of the urgency of the tasks.
- the task management system 200 can display shapes, colors, shading, and any other suitable symbol or combinations of symbol to provide information to the users. For example, the task management system 200 can display an icon associated with the type of task, and overlay an additional icon associated with the importance factor and a color coded symbol associated with the time factor.
- icons and symbols can convey information such as completion status of a task or busy status of a user. In a configuration, tasks having normal urgency and normal importance do not use an icon or symbol in order to reduce the amount of clutter on the display and to highlight those tasks that are of a higher urgency or higher importance.
- Icons or symbols can be dynamically changed based on contextual information available to the task management system 200 .
- a time factor icon can be changed from normal urgency, to high urgency, to very urgent as time progresses towards the requested completion time for the task associated with workflow request 301 , while an icon for the importance factor remains unchanged.
- a workflow request 301 can be sent at 10:00AM with a time factor of normal urgency, or standard urgency, and a due time of 1:00 PM.
- the task management system 200 can be configured, for example using a rule, such that if the workflow request 301 is not acknowledged, or if performance of the associated task has not commenced, within 30 minutes of the due time 506 of the task, the urgency of the workflow request 301 and the associated task can be changed to high urgency, and at 15 minutes the urgency can be changed to very urgent.
- the change in urgency can trigger the pop-up alert window, the audible alert, the vibratory alert, and force the second user to acknowledge or otherwise respond to the workflow request 301 .
- the urgency can dynamically change based on other factors such as external events including environmental factors, events reported by sensors, milestone events such as commencement of performance of a task, completion of related tasks in the workflow by the user or other users, personnel shift changes, and so forth.
- the task management system 200 can use this priority in ordering the presentation of tasks displayed from a user's task queue 1102 illustrated in FIG. 11 .
- the first user's address book 702 can be organized into groups 704 , for example the groups all contact addresses 706 , favorites 708 or recently used contact addresses 504 , nursing 710 , and so forth.
- the first user can select one of the groups 704 to drill down to individual contact addresses 504 , or press the back selection 712 to return to the screen for creating a new workflow request 301 shown in screenshot 400 . If the first user selects one of the groups 704 , for example the favorites 708 selection, they are presented with screenshot 800 that presents contact addresses 504 associated with that group 704 . Referring to FIG.
- Each of the contact addresses 504 can include an icon or status identifier 802 .
- the status identifier 802 can provide, at a glance, information about the availability of the user associated with the contact address 504 .
- Example status identifiers 802 can include color identifiers such as green, yellow, red, blue, and so forth that identify whether the user associated with the contact address 504 is available to accept new workflow requests 301 , is busy performing a task, is available or unavailable for incoming communication requests, is currently in a communication session with another user, has turned off their mobile computing device or is out of range, and so forth.
- the status identifier 802 can be configured by the task management system 200 .
- the status identifiers 802 can indicate the relative amount of tasks and workflow requests 301 in the user's task queue 1102 .
- the status identifiers 802 can be solid colors, shaded or have markings, include symbols, include overlapping icons, be flashing, or use other suitable techniques for conveying status information. If the first user does not select a contact address 504 , the first user can select the back selection 712 to return to the address book screen.
- the back button 804 can display contextual information about the display or screen that the first user will return to upon pressing the back selection 804 . In a configuration, the first user can select the status identifier 802 of a contact address 504 to receive additional information about the status of that user.
- the first user can select the contact address 504 to use for the communication.
- a screenshot 900 of a contact address 504 is presented.
- the screenshot 900 presents the name 902 of the user that is associated with the contact address 504 , which can be different from, or the same as, the text used in the contact address 504 itself.
- the first user can modify the text of the contact address 504 to make the contact address 504 more user friendly, for example using a nickname for a user.
- the contact address 504 can include a mobile phone number 904 , an office phone number 906 , an email address (not shown), a home phone (not shown), and other suitable contact addresses 504 .
- the contact address 504 can also include additional information 910 about the user associated with the contact address 504 , such as groups the user is associated with and titles, positions, or roles performed in the workplace.
- a business using the task management system 200 may require all users to use an IVR system 216 for receiving and responding to workflow requests 301 so that there is uniformity in how users are informed of workflow requests 301 and how they send acknowledgements and responses 303 .
- Another example of a business policy is a privacy policy.
- a privacy policy may limit what kind of information of the second user is available to the first user.
- the fields 904 , 906 that are displayed can be limited to those that are populated with information. This can reduce the amount of clutter on the display and make it easier for the first user to select the appropriate field 904 , 906 for sending the workflow request 301 .
- the fields 904 , 906 that are displayed can be based on context or contextual information. For example, if the task management system 200 is aware that the second user associated with the contact address 504 is currently contactable by either their mobile phone 904 or work phone 906 , then the task management system 200 can limit the display to just those selectable fields 904 , 906 .
- the first user can select the back selection 912 to return to the previous screen.
- the back selection 912 can display information about the display or screen that the first user will return to upon pressing the back selection 912 .
- the back selection 912 can use the standard navigation controls available through the operating system of the second mobile computing device.
- the first user can select the contact address, for example the contact address 504 associated with the user “Anne Brown”. After selecting, the user will return to the group 704 called “Nursing” 710 to display other members of the group “Nursing”. In this way, the first user can select multiple contact addresses 504 for sending the workflow request 301 before returning the first user back to the screen for creating a new workflow request 301 shown in screenshot 400 .
- FIG. 10 a screenshot 1000 illustrating manual entry of a contact address 504 associated with task of a workflow request 301 is presented.
- the first user can also manually enter a contact address 504 .
- this screenshot 1000 illustrates the entering of a phone number for a phone action task.
- the first user can enter the phone number 1002 using a keypad entry 1004 .
- the first user can enter information using other means available on the first mobile computing device 206 , for example, voice recognition.
- other contact address 504 information can be entered including, but not limited to, an email address or a name.
- the information entered by the first user can also be used to look up an address in the address book, or to create a new contact address 504 . More generally, this could be used to set the email address for launching a pre-addressed email, or embedding a web-base uniform resource locator (URL) for launching a web page.
- This could be used to set the email address for launching a pre-addressed email, or embedding a web-base uniform resource locator (URL) for launching a web page.
- URL uniform resource locator
- the first user sends the workflow request 301 .
- the workflow request 301 can be received by the workflow server 210 prior to, or in conjunction with, receipt of the workflow request 301 by the second mobile computing device 208 .
- the timeline of operations 300 illustrates the case where the workflow request 301 is received first by the workflow server 210 and then forwarded to the second mobile computing device 208 by the workflow server 210 .
- a workflow server 210 in the communication path between mobile computing devices 206 , 208 provides several benefits described below.
- the workflow requests 301 and subsequent communications can be sent directly between mobile computing devices 206 , 208 using a peer-to-peer communication path without a workflow server 210 .
- the mobile computing devices 206 , 208 can send copies of messages or summary information about the workflow requests 301 and subsequent communications to the workflow server 210 and the other mobile computing device 206 , 208 .
- the workflow server 210 can optionally validate or alter information in the workflow request 301 .
- the workflow server 210 can validate that the workflow request 301 is being sent to a current employee.
- the workflow server 210 can alter who the workflow request 301 is sent to. For example, if the intended recipient of the workflow request 301 has another user filling in for them, then the workflow request 301 can be forward to that user.
- the workflow server 210 can also police the workflow request 301 by verifying the workflow request 301 against one or more business policy rules or regulatory policy rules.
- workflow server 210 can log the various messages and communications between the mobile computing devices 206 , 208 .
- the workflow server 210 can save copies of the messages and save information about the communications between the mobile computing devices 206 , 208 .
- the workflow server 210 can be used to perform analysis of the messages and communications as described below.
- workflow server 210 can work in conjunction with a presence server to determine if the contact address 504 needs to be changed in order to send the workflow request 301 to the second user of the second mobile computing device 208 .
- the workflow server 210 can send the message using an email message.
- the workflow server 210 can send the workflow request 301 to the second user's mobile computing device 208 using the short message service (SMS), for example by instructing the second user of the second mobile computing device 208 to dial into the IVR 216 to receive and respond to the workflow request 301 .
- SMS short message service
- the workflow server 210 forwards the workflow request 301 to the second mobile computing device 208 .
- the second user of the second mobile computing device 208 receives the workflow request 301 and can present the workflow request 301 to the second user.
- the workflow request 301 can be presented to the second user in multiple different ways.
- the workflow request 301 can be presented on a human-machine interface such as a display on the second mobile computing device 208 .
- a display is only one type of output device 170 of a computing device 100 .
- the workflow request 301 can also be presented as an auditory message, for example using a text-to-speech feature, by playing a sound file, such as a .wav, .mp3, or other auditory means.
- the workflow request 301 can be presented with an alert, such as a visual alert on the display, a vibratory alert, an audible alert, or a combination of alerts.
- the workflow request 301 can be presented as a combination of an alert and a displayed message.
- These presentations and alerts can alert the second user that a new workflow request 301 has been received and can provide information to the second user about the type of, urgency of, or importance 508 of, workflow request 301 .
- the second user may carry their second mobile computing device 208 in a pocket.
- the combination of a vibratory alert, and an audible alert particular to the kind of task in the workflow request 301 can immediately alert the second user to the type of workflow request 301 .
- the workflow server 210 can send a workflow request 301 to the second user using one or multiple methods, including but not limited to using an IVR system 216 , an email, a text message, instant messaging, and multimodal communications among other methods.
- the second user can be notified about a new workflow request 301 or change to an existing task or workflow request 301 which then triggers the second mobile computing device 208 to poll the workflow server 210 to receive the workflow request 301 .
- the workflow request 301 can be received in an XML message, for example if the task management system uses RESTFUL web APIs between the workflow server 210 and second mobile computing device 208 .
- the workflow request 301 and task can include metadata for creating the communications sessions for processes with other servers such as an email server, a web server, a call server, among other servers.
- the notification can be a SIP notification
- the workflow request 301 can be received in a SIP notification.
- the alert can be a call-in number associated with the workflow request 301 .
- the alert can be sent to a second-user's pager or mobile phone to prompt the second user to call into the IVR system 216 .
- the second user can have a personal identification number (PIN) for responding to the workflow request and the workflow request 301 can have a numeric identifier.
- PIN personal identification number
- the second user calls into the IVR system 216 and the IVR system can read out the message, for example using a text-to-speech module.
- the second user can speak their response to the IVR system 216 and using a speech recognition module the IVR system 216 can generate the response 303 .
- the second user can also press number keys on a phone to send responses using the dual-tone multi-frequency (DTMF) in-band signaling used by the phone for dialing.
- the second user can also opt to respond to the workflow request 301 using email, text messaging, and other methods available to the second user.
- the task management system 200 can support multi-modal communications wherein the workflow request 301 , messages, acknowledgements, responses 303 , and notifications are performed using the same, or different, communication mediums.
- the workflow server 210 can take additional steps before escalating the workflow request 301 as described in greater detail later in the disclosure relating to server-generated workflow requests 304 .
- the workflow server 210 can make calls to the second user a preconfigured number of times using a preconfigured interval between each of the calls.
- the workflow server 210 can attempt to reach the second user using different mediums based on the information available to the workflow server 210 in the contact address associated with the second user.
- the second user can provide a preferred contact mode for the workflow server 210 to use in contacting the second user.
- the second user can configure a preferred order of addresses, such as mobile phone number 904 and then office phone number 906 , in the contact address 504 for contacting the second user.
- the display of the user's task queue 1102 can be a scrollable display of tasks.
- the user's task queue 1102 can be a single task queue 1102 or can include multiple task queues 1202 .
- the task queue 1102 can include tasks and workflow requests 301 sorted by due date.
- the task queue 1102 can be an unsorted or sorted list from which the display of tasks is first prioritized and then displayed to the user.
- the tasks can be prioritized using rules and combinations of rules.
- Example rules for prioritizing the tasks can include prioritizing by a time factor, for example based on the current time, the expiration of a timer associated with the task, a preset time or threshold time prior to the requested completion time of the task, the elapsed time since the workflow request was requested or accepted by the second user.
- Another example rule can include prioritizing based on a milestone event such as the start of performance of the task, the completion of the task, or the non-performance of the task.
- Another example rule can include prioritizing based on environmental factors such as an input from a sensor, for example a sensor on a piece of monitoring equipment, a signal from an external system, or data available to the task management system that is obtained from an information source such as an external database.
- Another example rule can include prioritizing based on personnel factor such as changes in available personnel, for example if a second user has quit or been terminated, a shift change such as a shift change associated with a particular time, and the availability of a second user or a group of second users for performing the task.
- Another example rule can include prioritizing based on the importance 508 , for example the importance 508 requested by the first user, an urgency 508 determined by the second user or an administrator, for example an importance 508 changed by the second user performing a user override function to change the importance 508 , an urgency determined by the location for performance of the task, for example a location used in conjunction with the current location of the second user.
- the urgency or importance 508 for that task can be temporarily increased so as to alert the second user of the task nearby that needs to be performed.
- the tasks can be prioritized so that the second user is not unnecessarily bounced between the two different locations during performance of tasks from the second user's workflow queue 1102 .
- the task management system 200 can use contextual information to prioritize tasks and increase overall user efficiency.
- the prioritization can also be based on an urgency or importance 508 set by the type of task. Some task types can have an urgency or importance 508 set according to a business policy rule associated with the type of task or a regulatory compliance rule associated with the type of task.
- the business policy rule or regulatory compliance rule can use other factors in combination with the urgency or importance 508 , including but not limited to, the role or position of the first user or second user, the locations of the second user or other users, the time of day, and so forth.
- the second mobile computing device 208 can present an indication that there is a new workflow request 301 by displaying a numerical icon 1106 in the tasks selection 414 .
- the second mobile computing device 208 can display the workflow request 301 in the second user's task queue 1102 , or task list. In an alternate configuration, the second user must first accept the workflow request 301 before the task appears in the user's task queue 1102 .
- the workflow request 301 can be displayed with icons 1108 , 1110 , colors, shading, or other indicators that provide information to the second user without requiring the second user to first select and individually view the workflow request 301 .
- the workflow request 301 can be displayed with an importance icon 1108 that shows the importance 508 of the workflow request 301 , and a task type icon 1110 that provides the second user with information about the nature of the workflow request 301 .
- the presentation of the tasks can be sorted or ordered by priority, urgency, or importance 508 , by recipient name, by due time, by task type, or by another suitable field. Selecting an area of the screen, or performing a gesture such as a swipe, can trigger a popup for selecting the sorting options (not shown). In another configuration, a sort selection (not shown) can trigger the display of the sorting options.
- the status of the second user can be displayed using, for example, a color indication in the status window 1112 .
- a color indication in the status window 1112 For example, if the second user is going to begin performance of a task, the second user can quickly set their status to busy by tapping the status window 1112 .
- the status can be selectable from a group of selections (not shown) or toggled between two states, for example an available state displayed as a green indication in the status window 1112 and a busy state displayed as a red indication in the status window 1112 .
- the task management system 200 can use contextual information and a rule to set the status of the second user in the status window 1112 without additional input from the second user.
- the status window 1112 provides a visual indicator to the second user of the change in status.
- the task management system 200 can apply a rule and changed the status of the second user to busy and change the status window 1112 to red.
- the task management system 200 can set the status of the user back to available and change the status window 1112 to green.
- the workflow request 301 includes the workflow name 502 , a message 510 included with the workflow request 301 , the due time 506 , and the name of the first user, or sender 1202 , of the workflow request 301 .
- a log selection 1208 allows the second user to view actions, messages, and communications associated with the workflow request 301 .
- Two action selections 1204 , 1206 allow the second user to respond to the workflow request 301 .
- the action selection 1206 opens a window of acknowledgement options 1302 to accept or reject the task.
- the communication selection 1204 allows the second user to quickly open a communication session with requester 1212 , such as a telephone call, an email, a message service, a proprietary messaging service, or an SMS or short message service session with the first user to discuss the workflow request 301 .
- the sender 1202 and requester 1212 can be the same user, for example the first user as illustrated.
- the sender 1202 can forward a workflow request 301 that the sender 1202 received from a third user.
- the third user can be the user that created the original workflow request 301 .
- the requester 1212 can be the user that created the original workflow request 301 that was sent to the first user, while the sender 1202 is the first user who received the workflow request 301 from the requester 1212 .
- the first user can forward the workflow request 301 to the second user for performance of the task, or in other words the first user can delegate the task to the second user.
- the communication selection 1204 can display the requester 1212 so that in the event that the second user attempts to open a communication session 302 , the second user can communicate directly with the originator of the workflow request, namely the requester 1212 , and not the first user who only delegated the task to the second user.
- the task management system 200 can use contextual information, such as information about the requester 1212 , the sender 1202 , other parties, and other information, to determine the requester 1212 that is to be displayed with the communication selection 1204 . For example, if the original requester 1212 is unavailable, task management system 200 can change the requester 1212 to another user, supervisor, or help system that can assist the second user. In this way, the task management 200 can improve the user experience for the second user by displaying contextually relevant information and useful selection options to the second user.
- contextual information such as information about the requester 1212 , the sender 1202 , other parties, and other information
- a screenshot 1300 of the acknowledgement options 1302 is presented.
- the second user can select the accept selection 1304 , the decline selection 1306 , or by pressing the back selection 1308 the second user can defer acceptance of the workflow request 301 .
- the task associated with the workflow request 301 can be marked as in progress.
- the task associated with the workflow request 301 can be prioritized as described above, which can change the order in which the task is displayed in the second user's task queue 1102 .
- the workflow request 301 can be removed from the second user's task queue 1102 .
- the workflow request 301 can be placed into the second user's task queue 1102 , when it is received prior to the accept selection 1304 or decline selection 1306 and then removed if the second user selects the decline selection 1306 , or the task can be placed in the second user's task queue 1102 only once the accept selection 1304 has been selected.
- the second mobile computing system 208 can send a response 303 to the workflow request 301 .
- the response 303 can be based at least in part on the selection made by the second user, and can be for example, an acceptance of workflow request 301 , a rejection of the workflow request 301 , and a deferring of an acceptance of the workflow request 301 , among other suitable responses.
- the response 303 can be sent to the workflow server 210 and forwarded to the first mobile computing device 206 by the workflow server 210 .
- either of the first user or the second user can initiate a dialog with the other user by opening a communication session 302 .
- point B and the communication session 302 are illustrated as occurring after the workflow request 301 has been sent to the second user at point A but before the response 303 at point C has been sent.
- the communication session 302 can also be initiated prior to sending the workflow request 301 , included in the workflow request 301 , or initiated after the second user sends the response 303 to the workflow request 301 .
- the communication session 302 can be initiated by either party, and once the communication session 302 is open, the communication session 302 can comprise one or more messages sent by either party.
- text interactions and messaging can be supported natively by the task management system 200 , while phone calls and other communications are initiated externally by placing calls through a call server (not shown).
- the communication session 302 can be multi-modal and use one or more mediums, for example a text message, a multimedia message, an email message, a push-to-talk type communication session, a voice call, a video call, and a conference call.
- the communication session 302 can also be performed through an interactive voice response system 216 or using a web-based session based on, for example, a uniform resource locator, as appropriate.
- the communication session 302 can be a real-time simultaneous dialog, such as a two party voice call, a push-to-talk type communication, or a messaging type communication such as SMS or email.
- Some types of communication sessions 302 such as voice calls, have explicit steps of setting up a communications pathway or bearer channel, connecting the parties to that channel for the duration of the call, and then an explicit tearing down of the channel.
- Other types of communication do not require explicit set up and tear down steps, but can be used as needed.
- open a communication session Applicants intend the term to mean initiating an application layer use of a type of communication that permits one or both parties to communicate voice, messages, and/or data, as appropriate for the type of communication, to one another.
- the communication pathway or channel exists prior to the opening of the communication session 302 and can be used by the task management system 200 as needed without setting up a separate communications pathway.
- the task management system 200 can include a message handling module in the workflow server 210 .
- opening a communication session requires that a communications pathway or bearer channel be set up for the communication session 302 and then torn down at the conclusion of the communication session 302 .
- the term opening a communication session 302 generally refers to a use of a communication protocol at the application layer, as opposed to the presentation layer, session layer, transport layer, data communication layer, network layer, data link layer, or physical layer of the seven layer Open Systems Interconnection (OSI) model.
- the task management system 200 can be implemented so as to use aspects of one or more of the layers.
- the task management system 200 can be tightly integrated with the type of communications, for example by providing the messaging system for passing text messages.
- the task management system 200 can make system level or application level calls to an external system, or to applications or functions, to open the communication session 302 between one or more parties. For example, voice calls can be handled by initiating the appropriate system level calls to the mobile computing device 206 , 208 .
- the second user can select the communication selection 1204 to open a communication session 302 with the first user.
- the communication type icon 1210 displays the default type of communication and communication medium.
- the default communications type can be instant messaging.
- the sender 1202 can specify the type of communication or allow the task management system 200 to set the default type of communication.
- the default communication type can be the communication type set in the template.
- the workflow server 210 of the task management system 200 can apply a business policy or regulatory policy to change the communication type.
- some types of workflow requests 301 may require a voice communication between the parties.
- An example of this can be a workflow request 301 from a medical doctor or medical professional that, for purposes of insurance coverage and regulatory compliance, requires the recipient of the workflow request 301 to verbally confirm the task instructions with the medical professional.
- the second user can select the communication selection 1204 to make the second mobile computing device 208 open a communication session 302 , 308 with the requester 1212 , who can be, for example, the first user.
- a screenshot 1600 of a dialog between a first user and a second user is displayed.
- the first user in the workflow request 301 , included a message 510 asking the second user if they could “witness meds”.
- the second user can send a reply 1602 to the message 510 of the first user using the communication session 302 .
- the reply 1602 the second user can negotiate a time for starting performance of the task in the workflow request 301 by typing the reply 1602 into the text input box 1604 and selecting the send selection 1606 .
- the second user can return to the display shown in screenshot 1200 without sending a reply 1602 by selecting the back selection 1610 .
- the second user can send a predetermined phrase 1702 by selecting the phrases selection 1608 .
- a screenshot 1700 of predetermined phrases 1702 is presented.
- the predetermined phrases 1702 can be preconfigured based on the workflow request 301 .
- the predetermined phrases 1702 can be based on previous replies 1602 .
- the second user can select the back selection 1704 to return to the dialog between the first user and the second user shown in screenshot 1600 .
- the user can select one of the predetermined phrases 1702 to have the text of that predetermined phrase 1702 placed into the text input box 1604 . For example, if the second user selects the predetermined phrase 1702 “Can you give me 5 mins?” as the selected phrase 1706 , then the text of the selected phrase 1706 is placed into the text input box 1604 as illustrated in the screenshot of FIG. 18 and as described in the accompanying detailed description below.
- the communication session 302 can be preconfigured as a structured communication session 302 .
- the predetermined phrases 1702 can be reconfigured based on factors such as the previously selected preconfigured phrase 1702 , a received text or a received preconfigured phrase 1702 from the other user, an acceptance of the workflow 301 , a rejection of the workflow 301 , and a performance of a task associated with the workflow request 301 , among other factors.
- the structured communication session 302 is an example of a response-sequence ordered set of messages.
- a structured communication 302 can be preconfigured by an administrator of the task management system 200 to facilitate the flow of the issuance of workflow requests 301 , the acceptance of workflow requests 301 , the messages sent in communication sessions 302 , and the performance of tasks associated with the workflow request 301 , among other operations.
- the predetermined phrases 1702 can be selected by the task management system 200 based on phrases sent in messages during previous operations and microflows.
- a screenshot 1800 of editing text in the text input box 1604 is illustrated.
- the second user can perform a text edit 1802 of the “Can you give me 5 mins?” phrase 1706 in the text input box 1604 .
- the second user can perform a text edit 1802 to change “5” minutes to “10” minutes as illustrated in the screenshot 1800 .
- the workflow server 210 can log the messages sent between the mobile computing devices 206 , 208 using the communication session 302 .
- the workflow server 210 can save copies of the messages or save information about the communications between the mobile computing devices 206 , 208 .
- the workflow server 210 can save a copy of each text message.
- the workflow server 210 can save copies of audio and video messages, including pictures.
- voice and other streaming media such as a call-based communication session 308 , the workflow server 210 can be configured to save copies of the communications that pass through the workflow server 210 .
- the workflow server 210 can log information about the call, such as the time of the call and the parties that took part in the call. This log information can be accessed by an administrator using an administrative computing device 214 or by users by viewing logs 1902 .
- the second user can select the log selection 1208 to view information about the messages, communications, and actions associated with the workflow request 301 .
- a screenshot 1900 of the log window is presented.
- the second computing device 208 can display the log 1902 of the messages, communications, and actions associated with the workflow request 301 .
- the second user can select one of the elements from the log 1902 to view additional details (not shown).
- FIG. 20 a screenshot 2000 of the sent window is presented.
- the first user can select the sent selection 410 to view workflow requests 301 that the first user sent to the second user and other users. By selecting one of the workflow requests 301 , the first user can view information about the workflow request 301 .
- a screenshot 2100 of the sent item log is presented.
- the first user can view information about the workflow request 301 including the message detail 2102 and the log 2104 associated with the workflow request 301 .
- the workflow server 210 creates a server-generated workflow request 304 to be performed by the user of the second mobile computing device 208 .
- the second user can select a response 303 at point C in the timeline and send that response 303 back to the workflow server 210 .
- Example server-generated workflow requests 304 include those generated by recurring timers, for example daily tasks that need to be performed, and those generated by expiration of timers, including those related to tasks that are due or overdue.
- the workflow server 210 can send a server-generated workflow request 304 based on a threshold event, such as an approaching due time.
- Another example server-generated workflow request 304 can be an escalation request associated with a workflow request 301 .
- the task management system 200 can send the escalation request to members of a group, for example a group of users that perform a similar role or function as the second user. For example, if the second user is a nurse in a hospital, then the escalation request can be sent to other nurses on the same shift to see if one of those nurses is available to perform the task associated with the workflow request 301 .
- escalation requests There can also be multiple escalating tiers of escalation requests. If a workflow request 301 is not accepted, or if the task associated with the workflow requests 301 is not performed within a threshold amount of time, then the workflow request 301 can be escalated to another user or group, for example a supervisor. If the workflow request 301 is still not accepted, or the task associated with the workflow requests 301 is still not performed, then the workflow request 301 can be sent back to the first user, or an alert can be sent back to the first user. Similarly, at any step in the escalation process, alerts and notifications can be sent to the first user, the second user, groups, supervisors, an administrator, and so forth.
- the server-generated workflow request 304 can be bidirectional, requiring the second user to send that response 303 back to the workflow server 210 .
- the workflow server 210 can send a server-generated workflow request 304 that presents an alert 1402 to the second user based on a triggering event.
- a trigger can be caused by an external event, such as a sensor reading.
- the server-generated workflow request 304 can be a message or notification that triggers an alert 1402 by changing the urgency or importance 508 of a workflow request 301 .
- FIG. 14 a screenshot 1400 of an alert 1402 is presented.
- the workflow server 210 can send the alert 1402 to second mobile computing device 208 that can be presented to the user on the display of the second mobile computing device 208 .
- the alert 1402 can be generated different ways, for example by a timer in the second mobile computing device 208 , by a signal received from a sensor, by a reprioritization of a task or workflow 301 by the first user or the workflow server 210 , and so forth.
- the server-generated workflow request 304 can also be a unidirectional request that does not require a response 303 from the second user. For example, if the second user has not responded to a workflow request 301 , the server-generated workflow request 304 can rescind the workflow request 301 and remove it from the workflow queue 1102 of the second user. The server-generated workflow request 304 can also remove a task from the workflow queue 1102 of the second user. These operations can be performed, for example, to assign the task to a second user. After rescinding the workflow request 301 or removing the task from the user's workflow queue 1102 , the workflow server 210 can send the workflow request 301 to another user.
- the server-generated workflow request 304 can also place tasks directly into the workflow queue 1102 of the second user, without sending a request 301 , 304 and then waiting for the second user to review and send a response 303 .
- This can reduce the number of requests 301 , 304 and responses 303 for mandatory and periodic tasks routinely assigned to, and accepted by, the second user.
- these functions can be performed by a first user under certain conditions.
- the first user can rescind a workflow request 301 that the first user created, or remove the task associated with the workflow request 301 from the queue of the second user, for example to send the task to another user using a workflow request 301 .
- a first user that has supervisory privileges or administrative privileges can place or remove tasks directly into the workflow queue 1102 of a second user.
- a server-generated workflow request 304 is a workflow request that is created by an administrator using an administrative computing device 214 .
- the administrative computing device 214 can be directly connected to the workflow server 210 , or networked to the workflow server 210 across a network 202 , 204 .
- the workflow request is a server-generated workflow request 304 because it is sent directly from the workflow server 210 to a user's mobile computing device 206 , 208 .
- the administrative computing device 214 can also send workflow requests 301 to the workflow server 210 as described for example by operation 310 .
- a third example operation 320 at point A in the timeline, the first user of a first mobile computing device 206 creates a workflow request 301 having a task to be performed by a second user of a second mobile computing device 208 .
- the workflow request 301 is sent to the workflow server 210 to be forwarded to the second mobile computing device 208 .
- the workflow server 210 can create a rule-based response 305 for the second mobile computing device 208 that is sent to the first mobile computing device 206 .
- the rule-based response 305 can be an acceptance, and a rejection, among other suitable responses.
- the workflow server 210 can add the workflow request 301 or the task associated with the workflow request 301 to the workflow queue 1102 of the second mobile computing device 208 . If the workflow server 210 rejects the workflow request 301 , both the first mobile computing device 206 and the second mobile computing device 208 can receive a notification of the rejection.
- the basis for the determination of whether to accept or reject the workflow request 301 can be based on contextual information available to the workflow server 210 and the application of a rule.
- An example of a rule is to reject a workflow request 301 if the second user is currently busy performing a task and has a workflow queue 1102 filled with tasks that would prevent the second user from performing the workflow request 301 by the required time.
- Rules can be created by an administrator using the administrative computing device 214 and configured to be applied in a desired order.
- the second mobile computing device 208 can be powered off, out of range for accepting communications, or can be logged out of the task management system 200 .
- the second user of the second mobile computing device 208 can also alert the task management system 200 that the user is currently busy, for example if the user is performing a task or has set their status to busy or unavailable.
- This status setting, or availability setting permits the second user to set their current availability for receiving workflow requests 301 , messages, and calls to busy or unavailable.
- the availability setting of the user can work in conjunction with the urgency or importance 508 setting to permit the task management system to use context specific rules and information about the workflow requests 301 , messages and calls to determine whether to allow incoming workflow requests 301 , messages, and calls to interrupt the second user.
- the workflow server 210 , second mobile computing device 208 , or another portion of the task management system 200 can use a rule to determine whether to override the availability setting set by the user.
- this rule can be based at least in part on contextual information about the reason the first user is busy, as well as the urgency or importance 508 and type of workflow request, message, or call.
- a rule may allow a workflow request 301 that includes code blue emergency and that has an urgency or importance 508 of a high enough level to override the busy availability setting of the first user and alert the first user to the workflow request 301 .
- a rule can temporarily set the availability status of the second user to busy, depending on the task, in order to minimize interruptions during performance of the task.
- a screenshot 1500 of current status options 1502 , 1504 for the user's availability setting is presented.
- the second user of the second mobile computing device 208 can select the logout selection 1502 to log out of the task management system 200 .
- the second user can also select the busy selection 1504 to send an indication to the task management system 200 that the user is currently unavailable. Selecting the busy selection 1504 can also change color presented in the status window 1112 as described in the detailed description accompanying FIG. 11 .
- the task management system 200 can use contextual information to determine the current status of the second user and use that information to make a determination about whether to accept or reject a new workflow request 301 for the second user.
- the task management system 200 can also use contextual information to determine whether to instead forward the new workflow request 301 to the second user for a decision.
- the task management system 200 can delay sending the workflow request 301 , based on a rule, to avoid interrupting the second user during the performance of a task. In this instance, the task management system 200 can delay sending the workflow request 301 until the second user has updated their status to available.
- the task management system 200 can use information about a previous performance of a particular task in determining how long on average the second user will be busy with the current task. Then, based on that average time, a rule can be applied to determine whether to respond to the workflow request 301 for the user, or wait for the second user to make the decision whether or not to accept the workflow request 301 .
- the task management system 200 can apply a rule to reject or accept new incoming workflow requests 301 without interrupting the second user.
- An example rule can be to accept, or delay sending, a server-generated workflow request 304 for a daily operation that is not time sensitive, and that is normally accepted by the second user, when the second user is currently busy responding to a workflow request 301 having an importance 508 of very important or an urgency that indicates immediate action is required.
- the workflow server 210 can either accept the server-generated workflow request 304 or delay sending the server-generated workflow request 304 .
- the workflow server 210 can apply a rule to reject the workflow request 301 on behalf of the second user when the contextual information available to the task management system indicates that the second user will have insufficient time to perform the task by the desired time.
- the workflow server 210 can also use one or more business policies to determine whether to accept, reject, or reassign workflow requests 301 . For example, if the second user has a workflow queue 1102 having unperformed tasks above a configurable threshold, the workflow server 210 can apply a business rule and send a reject response 304 for the second user. Also, the workflow server 210 can perform operations to distribute workflow requests equally between members of a group. For example, if the second user is a member of a group that can share assignments, then upon receiving workflow requests 301 addressed to the second user, the workflow server 210 can check the workflow queues of the members of that group and change the recipient of the workflow request 301 , if necessary, to distribute work more evenly between members of the group.
- the task management system 200 can use contextual information to improve the user experience of users of the mobile communication devices 206 , 208 in multiple ways.
- the task management system 200 can apply a rule and respond to workflow requests 301 for users when appropriate. This not only reduces the number of key presses or selections that the users would otherwise have to make, but it also speeds up the process of the assignment of, and ultimately the performance of, workflow requests 301 .
- a first user sends a workflow request 301 to a second user who is busy or unavailable, permitting the workflow server 210 to make a rule-based response with a decline notification quickly alerts the first user that the second user is busy or unavailable.
- This information about the status of the second user permits the first user to immediately send the workflow request 301 to a different user. Without the response provided by the workflow server 210 , the first user could have to wait for a period of time for a response 303 from the second user further delaying the possibility of another user performing the task in the workflow request 301 for the first user.
- the first user of the first mobile computing device 206 can inquire about the status of a workflow request 301 .
- the first user creates an inquiry 306 similar to a workflow request 301 .
- the inquiry 306 can reference a previous workflow request 301 .
- FIG. 22 a screenshot 2200 of an inquiry is presented.
- the inquiry 306 can include a selectable response action 2202 , for example to call the first user using a preferred medium for communication, in this case a voice call to the phone number 2208 of first user.
- the response action 2202 can include a response type icon 2206 identifying the type of action and preferred medium.
- the inquiry 306 can include a message 2204 , for example a text message.
- the message 2204 can help to later identify the purpose of the response action 2202 in the log 1208 . If the response action 2202 is a call, and if the contents of the call are not recorded by the task management system 200 , then the message 2204 can be a good way of providing information for identifying the purpose of the call at a later point in time.
- the message 2204 also provides the second user with an indication of the kind of information the first user expects to receive by way of the response action 2202 , thereby allowing the second user to prepare or retrieve the necessary information.
- the second user receives the inquiry 306 in similar fashion to a workflow request 301 as described above.
- the second user is presented with acknowledgement options 2302 appropriate for sending a response 307 to the inquiry 306 .
- FIG. 23 a screenshot 2300 of selectable acknowledgement options 2302 is presented.
- the acknowledgement options 2302 can include, for example, a decline selection 2304 , a defer action selection 2306 , and a perform action selection 2308 .
- the task management system 200 can use the response action 2202 of the inquiry 306 in FIG. 22 to change the text of the defer action selection 2306 and the perform action selection 2308 .
- These context-based changes to the defer action selection 2306 and the perform action selection 2308 present the second user with a more user friendly and informative display.
- a back selection 2310 permits the second user to return to the screen displaying the inquiry 306 shown in screenshot 2200 .
- a back selection on the top bar 2312 returns the second user to the display of the user's task queue 1102 .
- one of the users can open a communication session 308 with another user, for example to discuss a task prior to commencing performance of the task, during performance of the task, or after performance of the task.
- the communication session 308 can be in response to the inquiry 306 presented in FIGS. 22 and 23 and the accompanying detailed description.
- the communication session 308 can be in addition to an inquiry 306 , or the communication session 308 can be in place of the inquiry 306 .
- the communication session 308 can be similar to the communication session 302 .
- the communication session 302 is displayed as one or more messages, for example text messages, that pass through the workflow server 210 ; the communication session 308 is displayed as a voice call between the first mobile computing device 206 and the second mobile computing device 208 that does not traverse or pass through the workflow server 210 .
- Communication sessions 302 , 308 are illustrated this way for purposes of illustration only.
- either or both communication sessions 302 , 308 can be message-based such as text-based messaging, or voice-based such as POTS (Plain Old Telephone Service), cellular, WiFI, or VoIP-based (Voice over Internet Protocol), or combinations thereof.
- the communication sessions 302 , 308 can be point-to-point or traverse the workflow server 210 , independent of whether they are text-based or voice-based communications.
- a screenshot 2400 of a popup list 2402 for opening a communication session 308 is presented.
- the second user selects a workflow request 301 and then selects the initiate communications icon 2404 for that workflow request 301 .
- the task management system 200 uses contextual information to populate the popup list 2402 with selectable options for opening the communication session 308 .
- the popup list 2402 includes options for opening a communication session 308 to discuss the task in the workflow request 301 based on the communication mediums supported by both the first user and second user.
- the second user can select the discuss task selection 2406 using messaging, or the discuss task selection 2408 using a voice call.
- Each of the discuss tasks selections 2406 , 2408 include a communication type icon 2410 that indicates the type of medium used in the displayed discuss tasks selections 2406 , 2408 .
- the second user can select the back selection 2412 to avoid opening a communication session 308 .
- the popup list 2402 can exclude display task selections for particular communication mediums using rules based on business policies or regulatory rules.
- the popup list 2402 can further exclude communication mediums based on the availability of the first user using a particular communication medium. For example, if the first user is currently on a voice call, the discuss tasks selection 2408 using a voice call can be disabled nor not displayed.
- an icon or other identifier such as color or symbol can be used to identify the status of a communication medium for the first user, but allow a second user to call the first user even when the first user is currently on another call.
- the second user can send a status message 309 to the first user.
- An example status message 309 is a message that indicates that the second user has commenced performance of a task associated with a workflow request 301 .
- FIG. 25 a screenshot 2500 of a task is presented.
- the second user can select a status update selection 2502 .
- the task management system 200 can display contextually relevant options for the status update selection 2502 . For example, if performance of a task has not been commenced, then the status update selection 2502 can be “starting task” or “starting process” as illustrated.
- the text displayed can be based on the type of workflow request 301 . Other types of status updates are also possible.
- a status message 309 can provide an indication that a single task of a multi-task workflow request or microflow is complete.
- a single workflow request 301 can comprise multiple individual steps, tasks, or operations. The steps, tasks, or operations can involve other users. The steps or operations can create new tasks or new workflow requests 301 for the second user or other users. The steps or operations can be cascaded, where the completion of one task spawns another new workflow request 301 . The steps or operations can be nested, where during the performance of a task a new workflow request 301 is generated and completed before performance is completed for the current workflow request 301 . At each step or operation, the available contextually relevant options that are displayed for the second user can change based, for example, on the previously performed tasks, complete workflows, or messages to other users.
- the second user can send a completion status message 311 to the first user.
- An example completion status message 311 is a message that indicates that the second user has completed performance of a task or the tasks associated with a workflow request 301 .
- Another example completion status message 311 is a message that indicates that the second user has not completed performance of the task associated with the workflow request 301 .
- the second user may not have had time to complete the task, the task may be impossible to complete or no longer necessary to complete, the task may have been assigned or delegated to another user, for example if a shift change occurred, or can be another suitable completion status message 311 .
- the second user can select completion update selection 2504 to display a list of completion option selections 2602 .
- a screenshot 2600 of a list of completion option selections 2602 is presented.
- the selectable completion option selections 2602 can include a done selection 2606 to indicate that the task associated with the workflow request 301 has been performed and completed successfully, and a cannot assist selection 2604 to indicate that the second user can no longer assist in performance of the task associated with the workflow request 301 .
- a back selection 2610 permits the second user to return to the task screen without selecting a completion option selection 2602 .
- An optional note box 2608 permits the second user to explain the reasons for not completing the task or to provide additional information to the first user.
- a screenshot 2700 of a list of predetermined completion phrases 2702 is presented.
- the predetermined completion phrases 2702 permits the second user to select commonly used explanations that are inserted into the optional note box 2608 .
- the predetermined completion phrases 2702 can be edited once they are in the optional note box 2608 .
- the second user can save the current text in the optional note box 2608 as a new predetermined completion phrase.
- the workflow server 210 can send one or more completion messages 312 to the first user and the second user.
- the completion messages 312 can, for example, remove the workflow request 301 from the user's task queue 1102 among other suitable operations.
- the completion messages 312 can also place log information in the log 1208 of each of the mobile computing devices 206 , 208 .
- the completion messages 312 can also request copies of messages and other log information from each of the mobile computing devices 206 , 208 .
- the workflow server 210 can send one or more completion messages 312 based on contextual information available to the workflow server 210 . For example, if a workflow request 301 was created to reset a malfunctioning air exchanger, and the workflow server 210 receives information from a sensor that the air exchanger is back online, then the workflow server 210 can determine that the task associated with the workflow request 301 has been completed and send one or more completion messages 312 to the appropriate user. The workflow server 210 can also request a confirmation from the technician, for example by sending an inquiry 306 as described for fourth example operation 340 , prior to marking the task as completed and sending the completion message 312 . By using this available contextual information, the task management system can reduce the number of unnecessary escalations where the user has simply failed to report that the task associated with the workflow request 301 has been completed.
- the task template editing module 2802 permits a system administrator at the administrative computing device 214 to create the preconfigured workflow requests 408 illustrated in FIG. 4 and described in the accompanying detailed description.
- the system administrator can determine which fields are user editable fields 2804 and preconfigure the default semantics, text, and icons that are to be displayed with the workflow request 301 and tasks.
- the system administrator can publish the preconfigured workflow requests 408 to specific groups.
- the task management system 200 can update the preconfigured workflow requests 408 available to each contact based on whether they are a member of the specific groups.
- the system administrator can use the preconfigured workflow requests 408 to control the amount of input the users have in creating workflow requests 301 .
- the system administrator can create highly structured workflow requests 408 that facilitate entry of information by the users.
- An example is a preconfigured workflow request 408 for cleaning a room in a hospital setting.
- the preconfigured workflow requests 408 can have a workflow name 502 of clean patient room, and have a default importance 508 of normal.
- the system administrator can require an information element such as the room number and the cleaning type, along with selectable entries that include the list of room numbers at the hospital or section of the hospital, and cleaning types such as standard clean, disinfection, disinfections with fluorescent marking test, and so forth. These lists of entries can be used to both limit entry of information by the users and also to facilitate easy quick selection of commonly used selections.
- the preconfigured workflow request 408 can include optional information elements such as a message 510 box that allows the user to enter comments about the task.
- the message 510 box can use embedded data elements that can be populated using contextual information to facilitate user selections, such as the room number, type of clean, etc.
- a field in the message 510 can be: [room number]. This makes it possible for the user to double tap the field to select it and overwrite with the real data, for example the list of rooms associated with the field [room number].
- More structured message creation process are also possible where the message is selected from a list of options and then any parameters are collected enabling the message field to be auto assembled
- the system administrator can set the available responses for acknowledgments or responses, such as acknowledged, accept, defer acceptance, accept with action, and cannot comply among other suitable responses.
- the defer acceptance selection permits the users to asynchronously negotiate a response time for accepting or rejecting the workflow request 301 .
- the first user would receive a message that the second user has received and reviewed the workflow request 301 but not responded with an accept or reject selection.
- the system administrator can configure the preconfigured workflow requests 408 so that the second user can respond with their own response 303 .
- Once a user has accepted the workflow request 301 the user can be presented with two new response options, for example “task started” and “cannot complete”. After the user has started the task, the user can be presented with two completion options, “task completed” and “cannot complete”.
- the text options can be configured by the system administrator to tailor the task management system 200 to their organization's requirements.
- the responses can include implicit actions, such as an accept response to a workflow request 301 to join a conference call can place the user into the conference call and mark the user's status as busy for the duration of the call.
- the workflow request 301 can be completed and a completion status message 311 can be sent to the workflow server 210 and the first user that sent the workflow request 301 .
- the system administrator can also provide general, unstructured preconfigured workflow requests 408 .
- Unstructured messages can include free form text and digits of fixed or dynamic length, with similar structured elements to the structured preconfigured workflow requests.
- the system administrator can embed unstructured messages as a component of a task associated with the workflow request, for example to facilitate coordination of communication sessions 302 , 308 and permit the users to open the communication sessions 302 , 308 .
- the system administrator can also configure what kind of information is logged for the preconfigured workflow requests 408 , for example logging exact copies of text messages communicated between the users, logging voice call times and the parties involved in the communication session 302 , 308 , and so forth.
- Preconfigured workflow requests 408 can be distributed to users based on groups, permitting the system administrator to, for example, allow supervisors to use both structured and unstructured preconfigured workflow requests 408 , while allowing regular users to use only the structured preconfigured workflow requests 408 .
- the group feature allows an organization's tasks to be filtered so that users only see tasks of interest rather than having a long list of tasks and having to search for relevant ones.
- the workflow analysis module 2902 permits a system administrator at the administrative computing device 214 to review current workflows being performed, and workflows that have been completed, as well as the status of workflow requests 301 .
- the system administrator can perform actions such as escalation of workflow requests 301 , reassignment of workflow requests 301 , and so forth.
- the system administrator can be presented with detailed information about the various tasks being performed by users and use that information to improve processes and efficiency.
- the logs can include summary information about each of the alerts, events, communication sessions between parties, voice calls, text messages, workflow requests 301 , acknowledgements, tasks, delegated tasks, and escalated tasks, among other information.
- the logs can include information captured from communication sessions, such as the text content of text messages.
- the log 3100 can be an XML-based log. An example log is presented in Table 1 .
- the system administrator can search and sort log information using the search filter 2904 function.
- a display of search results 2906 can display the log information.
- the results can be exported using the export selection 2908 , for example to a comma delimited file.
- the system administrator can perform analysis of selected tasks and workflows.
- the system administrator can evaluate information from logs captured by the workflow server 210 and the mobile computing devices 206 , 208 .
- Each of the mobile computing device 206 , 208 and the workflow server 210 , or any other suitable element of the task management system 200 can capture a log of events as they occur.
- Events can include, among other things, each workflow request, acceptance, rejection, deferred acceptance, inquiry, text message, notification, alert, escalation, and delegation of a task, collectively messages, and can include time stamps.
- the events can also include information regarding the status of performance, such as the commencement of performance, or the completion of a task, collectively the performance of the task.
- Information regarding the performance of the task can be based on information received from the second user, or can be information received from an external device, such as a sensor or another computing system, and can include a time stamp.
- a time stamp associated with each of the events can be captured.
- the task management system 200 can log all events associated with each task, workflows, and communications with time stamps for later review.
- Processing starts at start block 3000 .
- Processing continues to process block 3002 .
- logs of events, data such as message contents, and timestamps are collected.
- processing continues to process block 3004 .
- the system administrator selects the workflow or microflow to be analyzed.
- the system administrator can select for example, an individual task associated with a microflow, all events of a microflow, or ranges of workflows.
- the system administrator can select events based on the type of task, a user, a period of time, or a combination of parameters.
- Processing continues to process block 3006 .
- the system administrator can further choose a characteristic to be measured.
- the characteristic can be tasks that have not been completed, among other characteristics.
- Processing continues to processing block 3008 .
- the system administrator can perform analysis of the selected data, for example by computing metrics of the characteristics, comparing those metrics with other metrics, and comparing metrics to data.
- Analytic tools can be applied to analyze the information and develop metrics about the performance of tasks, aspects of communications and collaboration, and individual's performances.
- the analysis and metrics can be used to analyze business processes and create improvements. For example, the comparison can be compared a metric related to tasks that have not been completed for a particular type of task, with the same metric for all types of tasks to see if the selected task is, on average, less frequently completed than other types of tasks.
- the analysis can include both real-time analysis (e.g., for creating alerts or performing workload management) and post-processing aspects (e.g., for evaluations or compliance).
- processing continues to process block 3010 .
- the results can be displayed on a display screen to the system administrator, or exported to a file or report. Processing then ends at end block 3012 .
- Visualization tools can be applied to display the information, logs, and metrics.
- the results can be displayed as text information, or graphical presentations such as charts, histograms, and other graphical presentations can be used. Views of the logs, metrics, and analyzed data can be sorted by task, by type of workflow request 301 , by user, and by metric among other views.
- the system administrator can use views of the logs to highlight and identify areas of issues, for example tasks that are past due, users with too many tasks or outstanding workflow requests, users who have accepted workflow requests 301 and then abandoned the tasks, types of tasks that are typically performed later than requested, users that are not completing tasks on time, and so forth.
- the system administrator can view the logs in real time or substantially real time.
- the system administrator can process the log information to ensure compliance with personnel, corporate, or regulatory objectives.
- personnel compliance can include workload management and performance evaluations.
- corporate compliance can include business efficiency evaluations or compliance with internal procedures.
- the system administrator can process the log information to see the amount of collaboration between and within departments and analyze the degree of organizational communication.
- the system administrator can check to see if confidentiality screens are being complied with or if inter disciplinary consultations on large projects are being performed as intended.
- Regulatory compliance can include evaluation performance of workflows to ensure that federal, state, and local regulations are being met.
- the logs can be used as evidence during certification or for insurance purposes.
- the system administrator can also analyze the patterns of communication between parties to determine social networking patterns, for example to analyze interdepartmental and intradepartmental collaboration and individual roles within groups. For example, the system administrator can develop metrics that show the type of communications used and the frequency of communications to determine whether the types of messages in preconfigured workflow requests are sufficient or whether users typically need to fall back to person-to-person voice calls. The system administrator can also develop metrics that show supervisor-to-subordinate communications, for example to show that proper channels are being used for delegating tasks. The system administrator can also develop metrics based on peer-to-peer communications, and communications within groups, for example to show communication patterns typical for certain tasks or users.
- the system administrator can analyze the patterns of communications at the level of the microflow, between workflows, or within an aggregation of workflows. This can be used to develop metrics for analyzing an individual's participation level and status, leadership ability, or recognized subject matter expertise or skill level.
- the system administrator can create a view of a users' work-related social networks by analyzing users' statically defined user group memberships, dynamic roles, and associated group memberships combined with their history of communications, favorites (e.g., other users), and task/message interactions.
- the analysis can include the type, frequency, and characteristics of the interactions to develop metrics concerning how often a user communicates with other users, which users commonly interact with one another, correlations of individuals to their group membership, and so forth.
- the analysis can be an aggregated social network view, a view based on workflow type or task type, a view based on an individual, or another suitable kind of view.
- the system administrator can analyze the metrics over a period of time, for example to perform trend analysis to view how metrics or data are changing over time.
- the metrics and data can be combined or correlated with other business data.
- Example analyses and metrics include, but are not limited to, analysis and metrics relating to subject matter expertise, task distribution, task completion rates, staffing issues, and usefulness of preconfigured tasks.
- the analysis can enable the system administrator to determine which users are contacted the most often by other users during the performance of tasks or in general.
- the analysis can provide information about which users have skill expertise recognized by other users, and which users are the kinds of users that are relied on for information versus which users are identified as dependable performers of tasks.
- the analysis of both kinds of users can provide the administrator with information for determining the proper combination of users to meet their organization's staffing requirements.
- the analysis can also identify those users that perform key mentorship roles within an organization, have strong leadership skills, or frequently provide assistance to other users.
- the metrics and data can determine the distribution of tasks completed by users in a particular time period, and provide information about the mean, median, high, low, or other statistically useful variable. This can help the system administrator understand individual strengths or weaknesses, or identify particularly good teams.
- the system administrator can use the metrics and data to identify potential staffing issues or other inefficiencies that cause performance to fall outside target criteria or thresholds.
- the metrics and data can identify tasks that are not completed on time, and allow the system administrator to review communication details to understand potential causes and reasons for unsuccessful completions.
- the system administrator can also identify tasks that are abandoned or uncompleted to determine the root causation. For example the system administrator can correlate activities with individuals, busy times, shift changes, types of tasks, and so forth to discover problems. The system administrator can use this information to change procedures to improve completion rates.
- the system administrator can review and analyze microflows to determine the usefulness of preconfigured workflow requests 408 , predetermined phrases 1702 , and predetermined completion phrases 2702 among other aspects of the task management system. For example, the system administrator can review communication sessions and messages to determine those tasks where users resort to fallback communications outside of those provided by the preconfigured workflow requests 408 , predetermined phrases 1702 , and predetermined completion phrases 2702 . This can provide the system administrator with information about how to make modifications to increase efficiency, for example by adding new predetermined phrases 1702 . This allows the system administrator to customize the context-specific aspects of the task management system 200 to increase user efficiency and provide a more useful interface to the users of the task management system 200 .
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- Theoretical Computer Science (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Educational Administration (AREA)
- Physics & Mathematics (AREA)
- Development Economics (AREA)
- General Physics & Mathematics (AREA)
- Game Theory and Decision Science (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Epidemiology (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Primary Health Care (AREA)
- Public Health (AREA)
- Information Transfer Between Computers (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
- This application claims priority to U.S. Provisional Patent Application No. 61/441,781, filed Feb. 11, 2011, which is incorporated by reference.
- The systems and methods described below relate generally to the field of task management systems that include communication functionality. More particularly, the systems and methods relate to facilitating collaboration between parties by integrating communication aspects into a task workflow system and providing context-based options for creating workflows and responding to workflow-related communications.
-
FIG. 1 is a block diagram of a computing device. -
FIG. 2 is a block diagram of a task management system. -
FIG. 3 is a timeline diagram of example operations of a task management system. -
FIGS. 4-29 are plan views of a graphical user interface of a computing device. -
FIG. 30 is a flow diagram of an operation of the task management system. - The systems and methods described here combine workflow and task management features with collaborative communication capabilities to provide an integrated task management system. The task management system consolidates tasks, messages, alerts, and notifications for workers and facilitates communications between parties. The task management system can use contextually available information relating to the tasks, messages, alerts, notifications, and communications to optimize efficiency, and ensure that tasks and messages are prioritized and timely completed.
- A computer-implemented method for handling a workflow comprises receiving a workflow request to perform a task of a microflow that includes the task, and a contact address associated with the task at a processor, sending a message to the contact address that includes at least a response to the workflow request, a status associated with performance of the task, a completion status associated with completion of the task, an inquiry related to the workflow request, and a request to open a communication session. The method further includes storing the task in at least one workflow queue in a memory, dynamically prioritizing the task at the processor, and presenting at least one of an indication of a workflow request, an indication of a message, an indication of a request to open a communication session, and the task at a human-machine interface such as a display.
- The computer-implemented method can also include receiving at least one of a second workflow request to perform a second task of the microflow, a notification message, an alert message, a message include a plurality of response options, and a request to open a communication session at the processor. The computer-implemented method can also include receiving a second workflow request to perform a second task of the microflow at a second processor, and receiving at the first processor a notification message associated with at least one of acceptance at the second processor of the second workflow request, performance of the second task, and completion of the second task. The workflow request can include one of an importance level, a requested start time, a requested completion time for at least one of the task, and the microflow, a requested length of time to complete at least one of the task, and the microflow, and a location for performance of the task, and the task can be task dynamically prioritized based at least in part on at least one of a time factor, a milestone, an environmental factor, a personnel factor, and a priority. The time factor can include at least one of the current time, an expiration of a timer, a preset time prior to the requested completion time of the task, an elapsed time since the workflow request was requested, an elapsed time since the workflow request was accepted. The milestone can include at least one of the start of performance of the task, a completion of the task, and the non-performance of the task. The environmental factor can include at least one of a sensor input from a sensor, a signal from an external system, and a data obtained from an external information source. The personnel factor can include at least one of a change in available personnel, a shift change associated with a time, and an availability of an individual for performing the task. The priority can be based upon at least one of the importance level, a priority set by a user override, a priority based at least in part on an importance factor and a time factor, a priority based at least in part on the location for performance of the task, a priority set in accordance with the type of task, a priority set in accordance to at least one of a business policy rule associated with the task, and a regulatory compliance rule associated with the task.
- The message in the computer-implemented method can be sent in accordance with a medium associated with the contact address, and can be selected from the group consisting of a text message, a multimedia message, an email message, a voice call, a video call, a conference call, a web-based session using a uniform resource locator, and a call to an interactive voice response system. The medium can be based on at least one of a preferred medium selection associated with the contact address, a previously selected medium used in sending a message, and a user override selection of the medium.
- The computer-implemented method can also include determining a response to the workflow request prior to sending the message that includes the response. The operation of determining can be based at least in part on one of a location associated with the performance of the task, a number of tasks in the workflow queue, the type of task, a past performance of a task of a microflow, a current performance of a task of a microflow, and a user availability setting, and the response can be selected from the group consisting of rejecting the workflow request, and accepting the workflow request.
- The computer-implemented method can also include presenting a prompt that includes the response and receiving an input for responding to the prompt at the human-machine interface and the response can be based at least in part upon the received input. The computer-implemented method can also include sending a plurality of messages in a response-sequence order. A subset of the plurality of messages can include at least one of a status of the performance of the tasks, and user-selectable context-driven responses, each of which is based at least in part on a previous message in the plurality of messages. The computer-implemented method can also include receiving an indication that the task was completed by a third party, updating the workflow queue based at least in part on the indication, and dynamically prioritizing a second task.
- A computer-readable storage medium having computer-executable instructions stored thereon to instruct a processor to perform a method comprises sending a workflow request to a first recipient, where the workflow request is associated with a microflow and includes a task, and a contact address associated with the task, receiving at least one of a response to the workflow request, a status associated with performance of the task, and a completion status associated with a completion of the task; and logging in a memory at least one of the workflow request, a timestamp associated with sending the workflow request, the response, a timestamp associated with the response, the status, a timestamp associated with the status, the completion status, a timestamp associated with the completion status, a message associated with at least one of the workflow request, the task, the status, and the completion status, a timestamp associated with the message, a communication session opened with the first recipient, and a timestamp associated with the communication session.
- The processor in the computer-readable storage medium can also be configured to perform the method of sending at least one of a rescind notification of the workflow request to the first recipient, a message to remove the task from the workflow queue to the first recipient, and the workflow request that is associated with the microflow to a second recipient. The processor can also be configured to perform the method of receiving a message to delegate the task to a second recipient from the first recipient, and sending at least one of the task and the workflow request to the second recipient. The processor can also be configured to perform the method of presenting a list of preconfigured tasks at a human-machine interface, selecting the task from the list of preconfigured tasks, presenting a list of contact addresses, selecting an address of the first recipient from the list of contact addresses, presenting a list of importance levels, selecting an importance level of the task from the list of importance levels, presenting one or more informative messages associated with the task, performing an operation including at least one of selecting an informative message, selecting and modifying an informative message, creating an informative message, creating the workflow request that includes the task, the importance level, the informative message, and one or more preconfigured response options, and addressing the workflow request to the address of the first recipient. A presented order of the preconfigured tasks can be based at least in part on at least one of the most frequently selected preconfigured tasks, the most recently selected preconfigured tasks, sensor data associated with a preconfigured task. A presented order of the list of contacts is based at least in part on at least one of the most frequently selected contact addresses, the most recently selected contact addresses, an availability status of one or more contacts in the list of contacts, a logged-on status of one or more contacts in the list of contacts, a contact address associated with the selected preconfigured task in a previous workflow request, a contact address belonging to a same group as the selected contact address, a contact address authorized to perform the selected preconfigured task, and a contact address identified as having a skillset associated with the selected preconfigured task.
- The processor in the computer-readable storage medium can also be configured to perform the method of accepting an input, at the human-machine interface, for customizing at least one of the task, an importance level, an informative message, a response option associated with the task, and a list of contact addresses authorized to send the task that includes at least one of the first recipient, and a group. The processor in the computer-readable storage medium can also be configured to perform the method of storing at least one of the task as a preconfigured task, the importance level as an importance level of the preconfigured task, the informative message as an informative message associated with the preconfigured task, the response option as a preconfigured response option associated with the preconfigured task, and the list of contact addresses authorized to send the preconfigured task.
- A system comprises a computing device having a processor configured to receive a workflow request that is associated with a microflow that includes a task, and a contact address associated with the task, and send a message to the contact address that includes at least one of a response to the workflow request, a status associated with performance of the task, a completion status associated with completion of the task, and an inquiry related to the workflow request, open a communication session with the contact address, store the task in at least one workflow queue, dynamically prioritize the task, and present at least one of an indication of a workflow request, an indication of a message, an indication of a request to open a communication session, and the task at a human-machine interface. The system can include a memory configured to store the workflow queue, a communications interface configured to receive the workflow request, send the message, and open the communication session, and a human-machine interface configured to accept an input and present the task. In a configuration, the computing device is a mobile computing device, and the communications interface is a wireless communications interface, and the human-machine interface includes at least one of a display configured to present at least one of the workflow request, the task, the contact address, a display of an icon associated with the type of task, a display of a shape associated with a priority of the task, a display of a color coding associated with a priority of the task, a display of a shading associated with a priority of the task, and a display of an alert, an audible element configured to present at least one of an audible message about the task, and an audible alert, a vibratory element configured to present a vibratory alert, and an input means for accepting the input.
- The system can prioritize a task based at least in part on a time factor that includes at least one of the current time, an expiration of a timer, a preset time prior to the requested completion time of the task, an elapsed time since the workflow request was requested, an elapsed time since the workflow request was accepted, and a milestone that includes at least one of a start of performance of the task, a completion of the task, and a non-performance of the task, and an environmental factor that includes at least one of a sensor input from a sensor, a signal from an external system, and a data obtained from an external information source, a personnel factor that includes at least one of a change in available personnel, a shift change associated with a time, and an availability of an individual for performing the task, and a priority that is based on a least one of an importance level of the task, a priority set by a user override, a priority set by the location for performance of the task, a priority set by the length of time to complete the task, a priority set by the type of task, and a priority set in accordance to at least one of a business policy rule associated with the task, and a regulatory compliance rule associated with the task.
- The apparatuses, devices, systems and methods disclosed and described in this document can be used to handle task management aspects and communication aspects of an integrated task management system. Those of ordinary skill in this art area will recognize from reading this description that the apparatuses, devices, methods, and systems described can be applied to, or easily modified for use with, other types of equipment, other arrangements of computing systems such as client-server, peer-to-peer, or distributed systems, other protocols, and at other layers in communication protocol stacks.
- Throughout this disclosure, references to components or modules generally refer to items that logically can be grouped together to perform a function or group of related functions. Like reference numerals are generally intended to refer to the same or similar components. Components and modules can be implemented in software, hardware, or a combination of software and hardware. The term software is used expansively to include not only executable code, but also data structures, data stores and computing instructions in any electronic format, firmware, and embedded software. The terms information and data are used expansively and includes a wide variety of electronic information, including but not limited to machine-executable or machine-interpretable instructions; content such as text, video data, and audio data, among others; and various codes or flags. The terms information, data, and content are sometimes used interchangeably when permitted by context. It should be noted that although for clarity and to aid in understanding some examples discussed below might describe specific features or functions as part of a specific component or module, or as occurring at a specific layer of a computing device (for example, a hardware layer, operating system layer, or application layer), those features or functions may be implemented as part of a different component or module or at a different layer.
- The examples discussed below are examples only and are provided to assist in the explanation of the apparatuses, devices, systems and methods described herein. None of the features or components shown in the drawings or discussed below should be taken as mandatory for any specific implementation of any of these the apparatuses, devices, systems or methods unless specifically designated as mandatory. For ease of reading and clarity, certain components, modules, or methods may be described solely in connection with a specific figure. Any failure to specifically describe a combination or sub-combination of components should not be understood as an indication that any combination or sub-combination is not possible. Also, for any methods described, regardless of whether the method is described in conjunction with a flow diagram, it should be understood that unless otherwise specified or required by context, any explicit or implicit ordering of steps performed in the execution of a method does not imply that those steps must be performed in the order presented but instead may be performed in a different order or in parallel.
-
FIG. 1 illustrates anexemplary computing device 100. Thecomputing device 100 can a desktop computer, a server, a mobile computing device such as a smartphone, or any other suitable computing device as would be understood in the art. Thecomputing device 100 includes aprocessor 120 that can be any suitable type of processing unit, for example a general purpose central processing unit (CPU), a reduced instruction set computer (RISC), a processor that has a pipeline or multiple processing capability including having multiple cores, a complex instruction set computer (CISC), a digital signal processor (DSP), an application specific integrated circuits (ASIC), a programmable logic devices (PLD), and a field programmable gate array (FPGA), among others. - The
computing device 100 also includes one ormore memories 130, for example read only memory (ROM) 140, random access memory (RAM) 150,cache memory 122 associated with theprocessor 120, or other memories such as dynamic RAM (DRAM), static ram (SRAM), flash memory, a removable memory card or disk, a solid state drive, and so forth. Thecomputing device 100 also includes storage media such as astorage device 160 that can be configured to havemultiple modules processor 120 ormemories 130 are also contemplated asstorage device 160. - The
memory 130,processor 120, andstorage drive 160 can include nonvolatile memory for storing computer-readable instructions, data, data structures, program modules, code, microcode, and other software components for storing the computer-readable instructions in non-transitory computer-readable mediums in connection with the other hardware components for carrying out the methodologies described herein. Software components can include source code, compiled code, interpreted code, executable code, static code, dynamic code, encrypted code, or any other suitable type of code or computer instructions implemented using any suitable high-level, low-level, object-oriented, visual, compiled, or interpreted programming language. - In various configurations, the
computing device 100 can include asystem bus 110 for interconnecting the various components of thecomputing device 100, or thecomputing device 100 can be integrated into one or more chips such as programmable logic device or application specific integrated circuit (ASIC). Thesystem bus 110 can include a memory controller, a local bus, or a peripheral bus for supportinginput devices 190,output devices 170, or communication interfaces 180.Example input devices 190 andoutput devices 170 include keyboards, keypads, gesture or graphical input devices, motion input devices, touchscreen interfaces, displays, audio units, voice recognition units, vibratory devices, computer mice, and any other suitable user interface. - The
communication interface 180 allows thecomputing device 100 to communicate with other device across a network. Thecommunication interface 180 can be an Ethernet interface, a radio interface, a telephony interface, a Universal Serial Bus (USB) interface, or any other suitable communications interface.Example communication interfaces 180 can includes wired data transmission links such as Ethernet and TCP/IP, as well as PSTN communications links such as Tls (or better), integrated services digital network (ISDN), Digital Subscriber Line (DSL), or dialup modems that implement, for example, the point-to-point protocol (PPP). Thecommunication interface 180 can include wireless protocols for interfacing with private or public networks. For example, thecommunication interface 180 and protocols can include interfaces for communicating with private wireless networks such as a WiFi network, one of the IEEE 802.11x family of networks, or another suitable wireless network. Thecommunication interface 180 and protocols can include interfaces for communicating with public wireless networks, such as cellular networks. -
FIG. 2 illustrates a block diagram of networked computing devices configured as atask management system 200. Although illustrated as including both apublic network 202 and aprivate network 204, this is done for purposes of illustration only. In various configurations thetask management system 200 can be implemented using only onenetwork public network 202 and aprivate network 204, and any other suitable combination including multiplepublic networks 202 and multipleprivate networks 204. Eachnetwork - The
task management system 200 can be configured to use secure communication protocols such as Internet Protocol security (IPsec), Secure Sockets Layer (SSL), Transport Layer Security (TLS), secure hypertext transfer protocol (HTTPS/1.1) or any other suitable encrypted protocol. Encryption can also be performed using a suitable type of cipher, including a private key cipher, a symmetric private key cipher, a public key cipher, and an elliptic curve cipher, among others. Specifically, encryption can be implemented using the Advanced Encryption Standard (AES), the Data Encryption Standard (DES), triple DES (3DES), or another suitable cipher. - The
task management system 200 can include a firstmobile computing device 206, a secondmobile computing device 208, anadministrative computing device 214, aworkflow server 210, adata store 212, and an interactivevoice response system 216. As will be described in more detail herein, a user of the firstmobile computing device 206 can send aworkflow request 301 to the user of the secondmobile computing device 208. Either of the users can open a communication session between themobile computing devices workflow request 301 or performance of tasks. Communication sessions can include those normally associated with telephony services or the communication sessions can be internet-based communications such as voice over internet protocol (VoIP). Either of the users can send messages to themobile computing device mobile computing devices - The messages can be acknowledged messages and include a response set, for example a read receipt, an acknowledgement (ACK), an indication of not acknowledged (NACK), and a call back indication among other message types. A response set can be contextually-relevant to the task or tasks in a workflow request, and can include a predetermined response sequence order. The messages can be selected from a list, can be part of an interactive text session, can include forms, can include uniform resource locators (URL), and can launch applications and plug-ins, and so forth. The response set may include the selection of one or more of a set of offered choices that answer an associated prompt.
- The workflow requests, messages, communication requests, notifications, and alerts can be sent from other
mobile computing devices mobile computing devices workflow server 210. The API can also allow other users or other systems to provide information to or create workflows on thetask management system 200. Both users and servers can create workflows on thetask management system 200. - A user of an
administrative computing device 214 can configure workflow requests on theworkflow server 210 that are sent to users of themobile computing devices administrative computing device 214 can also perform supervisory functions such as monitoring the issuance of workflow requests to themobile computing devices - The
workflow server 210 can operate as a message and communications gateway between themobile computing devices mobile computing devices workflow server 210 can be configured as a client-server type architecture. In various configurations, theworkflow server 210 can communicate workflow requests and receive acknowledgements and status updates from the users over one or more of thenetworks workflow server 210 can also be integrated with an interactive voice response system (IVR) 216 for communicating with users using voice recognition or touchtone keypad interactions. Theworkflow server 210 can use one or multiple servers. Theworkflow server 210 can use one or multiple software modules and be split between multiple servers or aggregated onto a single server or virtual server. - The
workflow server 210 can store workflow requests, messages, communications, alerts, and notifications, and logs of information relating to the workflow requests, messages, communications, alerts, and notification in thedata store 212. Theworkflow server 210 can store time stamps for each of these events to facilitate later review and analysis. The logging and capturing of this information down to the individual message, permits both the users and the system administrator to review tasks and communications at a fine level of granularity. Theworkflow server 210 captures all of the related tasks, workflow requests, acknowledgements, notifications, alerts, messages, and communications that together make up a microflow, and permits the users and the administrator to review the sequence of individual events, user actions, and user interactions of the microflow. The users and administrator can review the microflow after completion of the tasks associated with the microflow, or during the execution of the microflow. A user may have visibility only into the portion of the workflow in which the user is participating, while the administrator typically has visibility of the entire workflow. - A workflow can describe a process for a major activity such as producing a video, or treating a patient in hospital. The workflow steps employed by different individuals may vary in the details but can also be quite similar. For example, best practices or regulatory guidelines can create similarities in workflow steps. Complex workflows are composed of smaller workflows and for team-working workflows may be decomposed into specialist activities or to share the workload to gain time efficiency through parallelism. The breakdown of a complex workflow continues until a unit of work is the right size and type to be a microflow. A microflow is one or more tasks including the workflow request associated with the one or more tasks, and any other related notifications, alerts, messaging, and communication sessions associated with the tasks or workflow requests.
- Tasks can be assigned, revoked, reassigned, and completed by one or multiple users. Tasks in a
workflow request 301 can generate multiple new tasks, each of which may be performed by the same user or different users working in collaboration. Completion of a task can depend on the completion status of other tasks being performed by other users. A workflow can also comprise a single task, sent in aworkflow request 301 to a single user to be performed. Theworkflow server 210 captures logs and information regarding all of the related activities of workflows thereby permitting review, real-time and post analysis, and the development of performance metrics. Workflows can be analyzed to ensure that business policies are being adhered to and that regulatory policies are being complied with. - The
workflow server 210 can be any kind of suitable server, including a virtual server operating over anetwork mobile computing device task management system 200 is illustrated withmobile computing devices task management system 200 can include non-mobile, or fixed, computing devices such as desktop computers, computing devices embedded in non-mobile platforms, and other non-mobile computing devices. Practical usage scenarios can have a mix of users using fixed computing devices and mobile computing devices. -
FIG. 3 illustrates an exemplary timeline ofoperations 300 performed by atask management system 200. The timeline ofoperations 300 visualized inFIG. 3 is for the purpose of illustrating some of theoperations task management system 200 and is not intended to illustrate the complete set of allpossible operations operations - In a
first operation 310, at point A in the timeline, a first user of a firstmobile computing device 206 creates aworkflow request 301 having a task to be performed, at least in part, by a second user of a secondmobile computing device 208. Theworkflow request 301 passes through theworkflow server 210 and is forwarded to the secondmobile computing device 208. Once theworkflow request 301 is received by the second user of themobile computing device 208, the second user can select aresponse 303 at point C in the timeline and send thatresponse 303 back to first user. Theresponse 303 passes through theworkflow server 210 and is forwarded to the firstmobile computing device 206 of the first user. Although thefirst operation 310 is described for aworkflow request 301 sent to a second user of a secondmobile computing device 208, the second user and secondmobile computing devices 310 can include multiple second users as well. For example, in a configuration the second user can be a group and the recipients of theworkflow request 301 can include themobile computing devices 208 of each member of the group. Similarly, this applies to theother operations - Referring now to
FIG. 3 andFIG. 4 , an example of aworkflow request 301 created at point A is illustrated.FIG. 4 illustrates ascreenshot 400 for creating anew workflow request 301. The first user presses thenew workflow selection 404 on thedisplay 402 of the firstmobile computing device 206. The first user is presented the option of creating anew workflow request 406, or selecting from a number of preconfigured workflow requests 408. Thetask management system 200 can use contextual information in determining which preconfiguredworkflow requests 408 to display to the first user. For example, the first user can see only the preconfiguredworkflow requests 408 that the first user has authority to send. Thepreconfigured workflow requests 408 can be ordered alphabetically, ordered based on frequency of use, or ordered based on other information such as time of day or recently sent or received workflow requests 301. Thepreconfigured workflow requests 408 can be grouped into folders of related workflows to facilitate selection, sorted by the first user, and searched by the first user. If permitted by the task management system, the first use can create anew workflow request 406. - The first user can also be a recipient of workflow requests 301. The first user can select the
task selection 414 to review the current tasks assigned to the first user. The first user can select the sentselection 410 to review workflow requests 301 sent by the first user to recipients such as the second user. The first user can sendworkflow requests 301 to themselves as well, and therefore be both a recipient and a sender of thesame workflow request 301. For example, the first user may want to send an alarm to their ownmobile computing device 206 to remind them of an imminent event. The first user can also select thehistory selection 412 to review the history of sent and received actions of tasks that have ended. At this top level, thehistory selection 412 can be configured to show all tasks and actions of the first user. The first user can select one of the entries to display actions associated with the task, notification, alert orworkflow request 301, as describe in the detailed description accompanyingFIGS. 20 and 21 . - Referring now also to
FIG. 5 , ascreenshot 500 illustrating aneditable workflow request 301 is presented. The workflow request includes aworkflow name 502. The first user can select or modify thecontact address 504 of the recipient of theworkflow request 301, thedue time 506, theimportance 508 of theworkflow request 301, and optionally include amessage 510 for the recipient of theworkflow request 301. The first user can then press asend selection 512 to send theworkflow request 301 or a cancelselection 514 if the first user opts not to send thisworkflow request 301. - The task associated with the
workflow request 301 can be a process task, where the second user is requested to perform a task and respond appropriately with an acceptance and eventually a completion message once the task is performed. The task can be a notification or message, where a simple acknowledgement of the task completes the task. A task can also be a communications request, where one party requests the other party to open a communications session, after which the task is complete. The task can also be a voting task, where theworkflow request 301 is sent to a group, and based on theresponses 303, the first user picks one or more second users to perform the task. The task can also be a multiple choice question, where the second user is request to select a choice from one or more selections. For example, the multiple choice question can be, “When can you do this task”, with possible selections “1—immediately”, “2—in 1 hour”, “3—today”, “4—tomorrow”, and “5—cannot perform”. - The
workflow request 301 also includes the contact address of the first user. This facilitates collaboration between the first user and second user, so that message can be easily sent and communication sessions can be easily initiated between the first user and the second user. For example, theacknowledgement options 1302 discussed later with regards toresponses 303 from the second user to theworkflow request 301 can include options for contacting the first user. For some tasks, such as tasks that are delegated, the workflow request can include one or more second contact address (not shown) to which the second user sendsresponses 303 and messages. - Referring now also to
FIG. 6 , ascreenshot 600 illustrating animportance selection toolbar 602 is presented. In a configuration, if the first user attempts to modify theimportance 508 of theworkflow request 301, animportance selection toolbar 602 can be presented. Theimportance selection toolbar 602 facilitates in the selection of theappropriate importance 508 for theworkflow request 301.Example importance 508 can include normal, important or very important. Theimportance 508 can be configured by the system administrator to suit the needs of their organization, and can have more or less than three levels. For example, a hospital may use the terms Normal, Stat, Emergency. Theimportance 508 can be configured to trigger an alert to the second user when theworkflow request 301 is received by the second user. For example, aworkflow request 301 configured to have animportance 508 of critical can cause a pop-up alert window, an audible alert, a vibratory alert, and so forth. Theimportance 508 can force the second user to acknowledge or otherwise respond to theworkflow request 301. Ascreenshot 1400 of an alert 1402 is presented inFIG. 14 and the accompanying detailed description. In an alternate configuration, theimportance 508 can include a measure of time urgency, for example critical, urgent, time sensitive, non-urgent, and so forth. - The
importance selection toolbar 602 presents one way in which selectable options forimportance 508 can be selected. As would be understood by those familiar in the art, this type of selection toolbar can be used for making selections for other fields displayed in other screenshots through this disclosure. Theimportance selection toolbar 602 is just one kind of toolbar possible; other kinds of toolbars and other types of graphical user interfaces known in the art, or yet to be developed, are also known or contemplated in this disclosure. - The
importance 508 for a particular type ofworkflow request 301 can be preconfigured by a system administrator. Theimportance 508 can default to aparticular importance 508 but a user can override thedefault importance 508 if desired. Theimportance 508 can also be limited to certain values. For example, a business policy or regulatory policy can prohibit setting theimportance 508 to certain values, for example lowering the urgency below very important, or prevent the first user from modifying theimportance 508 altogether. In another example, the ability to change theimportance 508 can be limited to certain users, for example those users identified as supervisors or those users belonging to a supervisor group. - Similarly, the
due time 506 can be a fixed selectable time, or a time interval added to the current time. For example, the first user can be presented with a choice of selecting a fixe time for thedue time 506 or a time interval, for example 15 minutes, 30 minutes, an hour, a day, and so forth (not shown). If the first user selects the time interval, for example 15 minutes, then that time interval is added to the current time to produce the due time. The system administrator can preset a time interval for the task, which the first user can override. - The priority of a task can be derived from a combination, a product, or a weighting of other factors. The
task management system 200 can use a strict priority algorithm, a weighted round robin algorithm, or another suitable algorithm based on business policies or regulatory policies. For example, priority can be a combination, a product, or a weighting of an importance factor and a time factor. The importance factor can be, for example, whether a task is of normal importance, high importance, or very important. The time factor can be a normal urgency, a high urgency, and very urgent. These factors can be combined, multiplied, or weighted to provide a priority rating. The priority of a task can be dynamically reprioritized as new tasks andworkflow requests 301 are received. - In addition, each of the factors can be represented by an icon. One set of icons can represent the importance factors and another set of icons can represent the time factors. The icons can be displayed along with the
workflow request 301 as a visual indication of the urgency of the tasks. In addition to icons, thetask management system 200 can display shapes, colors, shading, and any other suitable symbol or combinations of symbol to provide information to the users. For example, thetask management system 200 can display an icon associated with the type of task, and overlay an additional icon associated with the importance factor and a color coded symbol associated with the time factor. Similarly, icons and symbols can convey information such as completion status of a task or busy status of a user. In a configuration, tasks having normal urgency and normal importance do not use an icon or symbol in order to reduce the amount of clutter on the display and to highlight those tasks that are of a higher urgency or higher importance. - Icons or symbols can be dynamically changed based on contextual information available to the
task management system 200. For example, a time factor icon can be changed from normal urgency, to high urgency, to very urgent as time progresses towards the requested completion time for the task associated withworkflow request 301, while an icon for the importance factor remains unchanged. For example, aworkflow request 301 can be sent at 10:00AM with a time factor of normal urgency, or standard urgency, and a due time of 1:00 PM. Thetask management system 200 can be configured, for example using a rule, such that if theworkflow request 301 is not acknowledged, or if performance of the associated task has not commenced, within 30 minutes of thedue time 506 of the task, the urgency of theworkflow request 301 and the associated task can be changed to high urgency, and at 15 minutes the urgency can be changed to very urgent. The change in urgency can trigger the pop-up alert window, the audible alert, the vibratory alert, and force the second user to acknowledge or otherwise respond to theworkflow request 301. Similarly, the urgency can dynamically change based on other factors such as external events including environmental factors, events reported by sensors, milestone events such as commencement of performance of a task, completion of related tasks in the workflow by the user or other users, personnel shift changes, and so forth. Thetask management system 200 can use this priority in ordering the presentation of tasks displayed from a user'stask queue 1102 illustrated inFIG. 11 . - Referring now also to
FIGS. 7 and 8 ,screenshots contact address 504 are presented. The first user'saddress book 702 can be organized intogroups 704, for example the groups all contact addresses 706,favorites 708 or recently used contact addresses 504,nursing 710, and so forth. The first user can select one of thegroups 704 to drill down to individual contact addresses 504, or press theback selection 712 to return to the screen for creating anew workflow request 301 shown inscreenshot 400. If the first user selects one of thegroups 704, for example thefavorites 708 selection, they are presented withscreenshot 800 that presents contact addresses 504 associated with thatgroup 704. Referring toFIG. 8 ,contact address 504 associated with thegroup 704 calledfavorites 708 is presented. Each of the contact addresses 504 can include an icon orstatus identifier 802. Thestatus identifier 802 can provide, at a glance, information about the availability of the user associated with thecontact address 504.Example status identifiers 802 can include color identifiers such as green, yellow, red, blue, and so forth that identify whether the user associated with thecontact address 504 is available to accept new workflow requests 301, is busy performing a task, is available or unavailable for incoming communication requests, is currently in a communication session with another user, has turned off their mobile computing device or is out of range, and so forth. Thestatus identifier 802 can be configured by thetask management system 200. Thestatus identifiers 802 can indicate the relative amount of tasks andworkflow requests 301 in the user'stask queue 1102. Thestatus identifiers 802 can be solid colors, shaded or have markings, include symbols, include overlapping icons, be flashing, or use other suitable techniques for conveying status information. If the first user does not select acontact address 504, the first user can select theback selection 712 to return to the address book screen. Theback button 804 can display contextual information about the display or screen that the first user will return to upon pressing theback selection 804. In a configuration, the first user can select thestatus identifier 802 of acontact address 504 to receive additional information about the status of that user. - The first user can select the
contact address 504 to use for the communication. Referring now also toFIG. 9 , ascreenshot 900 of acontact address 504 is presented. Thescreenshot 900 presents thename 902 of the user that is associated with thecontact address 504, which can be different from, or the same as, the text used in thecontact address 504 itself. In a configuration, the first user can modify the text of thecontact address 504 to make thecontact address 504 more user friendly, for example using a nickname for a user. In addition to the name, there can be several different options for communicating with the second user that is associated with thecontact address 504. For example, thecontact address 504 can include amobile phone number 904, anoffice phone number 906, an email address (not shown), a home phone (not shown), and other suitable contact addresses 504. Thecontact address 504 can also includeadditional information 910 about the user associated with thecontact address 504, such as groups the user is associated with and titles, positions, or roles performed in the workplace. - In the configuration illustrated in the
screenshot 900, only some of the possible fields are illustrated. This can be done to comply with a business policy. For example, a business using thetask management system 200 may require all users to use anIVR system 216 for receiving and responding toworkflow requests 301 so that there is uniformity in how users are informed ofworkflow requests 301 and how they send acknowledgements andresponses 303. Another example of a business policy is a privacy policy. A privacy policy may limit what kind of information of the second user is available to the first user. - In another configuration, the
fields appropriate field workflow request 301. In yet another configuration, thefields task management system 200 is aware that the second user associated with thecontact address 504 is currently contactable by either theirmobile phone 904 orwork phone 906, then thetask management system 200 can limit the display to just thoseselectable fields - After the first user has selected the
contact address 504 and the particular mode of communications for sending theworkflow request 301 to the second user, the first user can select theback selection 912 to return to the previous screen. Theback selection 912 can display information about the display or screen that the first user will return to upon pressing theback selection 912. In a configuration, theback selection 912 can use the standard navigation controls available through the operating system of the second mobile computing device. - The first user can select the contact address, for example the
contact address 504 associated with the user “Anne Brown”. After selecting, the user will return to thegroup 704 called “Nursing” 710 to display other members of the group “Nursing”. In this way, the first user can select multiple contact addresses 504 for sending theworkflow request 301 before returning the first user back to the screen for creating anew workflow request 301 shown inscreenshot 400. - Referring now to
FIG. 10 , ascreenshot 1000 illustrating manual entry of acontact address 504 associated with task of aworkflow request 301 is presented. In addition to using the address book functionality described inFIGS. 7-9 , the first user can also manually enter acontact address 504. In particular, thisscreenshot 1000 illustrates the entering of a phone number for a phone action task. The first user can enter thephone number 1002 using akeypad entry 1004. In a configuration of thetask management system 200, the first user can enter information using other means available on the firstmobile computing device 206, for example, voice recognition. In various configurations,other contact address 504 information can be entered including, but not limited to, an email address or a name. The information entered by the first user can also be used to look up an address in the address book, or to create anew contact address 504. More generally, this could be used to set the email address for launching a pre-addressed email, or embedding a web-base uniform resource locator (URL) for launching a web page. - Returning back to
FIGS. 2 and 3 , once the first user of the firstmobile computing device 206 has created the workflow request and addresses theworkflow request 301 to thecontact address 504 of the secondmobile computing device 208, the first user sends theworkflow request 301. Theworkflow request 301 can be received by theworkflow server 210 prior to, or in conjunction with, receipt of theworkflow request 301 by the secondmobile computing device 208. InFIG. 3 , the timeline ofoperations 300 illustrates the case where theworkflow request 301 is received first by theworkflow server 210 and then forwarded to the secondmobile computing device 208 by theworkflow server 210. - The inclusion of a
workflow server 210 in the communication path betweenmobile computing devices mobile computing devices workflow server 210. In another configuration, themobile computing devices workflow server 210 and the othermobile computing device - One benefit of using a
workflow server 210 is that theworkflow server 210 can optionally validate or alter information in theworkflow request 301. For example, theworkflow server 210 can validate that theworkflow request 301 is being sent to a current employee. Theworkflow server 210 can alter who theworkflow request 301 is sent to. For example, if the intended recipient of theworkflow request 301 has another user filling in for them, then theworkflow request 301 can be forward to that user. Theworkflow server 210 can also police theworkflow request 301 by verifying theworkflow request 301 against one or more business policy rules or regulatory policy rules. - Another benefit of using a
workflow server 210 is that theworkflow server 210 can log the various messages and communications between themobile computing devices workflow server 210 can save copies of the messages and save information about the communications between themobile computing devices workflow server 210 can be used to perform analysis of the messages and communications as described below. - Another benefit of using a
workflow server 210 is that theworkflow server 210 can work in conjunction with a presence server to determine if thecontact address 504 needs to be changed in order to send theworkflow request 301 to the second user of the secondmobile computing device 208. For example, if the secondmobile computing device 208 is present on a local WiFi intranet, an example of aprivate network 204, theworkflow server 210 can send the message using an email message. However, if the secondmobile computing device 208 is present only on apublic network 202 such as a cellular network and the second user does not have a data plan for the secondmobile computing device 208, then theworkflow server 210 can send theworkflow request 301 to the second user'smobile computing device 208 using the short message service (SMS), for example by instructing the second user of the secondmobile computing device 208 to dial into theIVR 216 to receive and respond to theworkflow request 301. - The
workflow server 210 forwards theworkflow request 301 to the secondmobile computing device 208. The second user of the secondmobile computing device 208 receives theworkflow request 301 and can present theworkflow request 301 to the second user. Theworkflow request 301 can be presented to the second user in multiple different ways. For example, theworkflow request 301 can be presented on a human-machine interface such as a display on the secondmobile computing device 208. A display is only one type ofoutput device 170 of acomputing device 100. Theworkflow request 301 can also be presented as an auditory message, for example using a text-to-speech feature, by playing a sound file, such as a .wav, .mp3, or other auditory means. - The
workflow request 301 can be presented with an alert, such as a visual alert on the display, a vibratory alert, an audible alert, or a combination of alerts. Theworkflow request 301 can be presented as a combination of an alert and a displayed message. These presentations and alerts can alert the second user that anew workflow request 301 has been received and can provide information to the second user about the type of, urgency of, orimportance 508 of,workflow request 301. For example, the second user may carry their secondmobile computing device 208 in a pocket. For example, the combination of a vibratory alert, and an audible alert particular to the kind of task in theworkflow request 301 can immediately alert the second user to the type ofworkflow request 301. - The
workflow server 210 can send aworkflow request 301 to the second user using one or multiple methods, including but not limited to using anIVR system 216, an email, a text message, instant messaging, and multimodal communications among other methods. The second user can be notified about anew workflow request 301 or change to an existing task orworkflow request 301 which then triggers the secondmobile computing device 208 to poll theworkflow server 210 to receive theworkflow request 301. Theworkflow request 301 can be received in an XML message, for example if the task management system uses RESTFUL web APIs between theworkflow server 210 and secondmobile computing device 208. Theworkflow request 301 and task can include metadata for creating the communications sessions for processes with other servers such as an email server, a web server, a call server, among other servers. - In another configuration, the notification can be a SIP notification, and the
workflow request 301 can be received in a SIP notification. In another example, the alert can be a call-in number associated with theworkflow request 301. The alert can be sent to a second-user's pager or mobile phone to prompt the second user to call into theIVR system 216. The second user can have a personal identification number (PIN) for responding to the workflow request and theworkflow request 301 can have a numeric identifier. The second user calls into theIVR system 216 and the IVR system can read out the message, for example using a text-to-speech module. The second user can speak their response to theIVR system 216 and using a speech recognition module theIVR system 216 can generate theresponse 303. The second user can also press number keys on a phone to send responses using the dual-tone multi-frequency (DTMF) in-band signaling used by the phone for dialing. The second user can also opt to respond to theworkflow request 301 using email, text messaging, and other methods available to the second user. Thetask management system 200 can support multi-modal communications wherein theworkflow request 301, messages, acknowledgements,responses 303, and notifications are performed using the same, or different, communication mediums. - When the second user is not reached or has not responded back with an acknowledgement or
response 303, theworkflow server 210 can take additional steps before escalating theworkflow request 301 as described in greater detail later in the disclosure relating to server-generated workflow requests 304. For example, theworkflow server 210 can make calls to the second user a preconfigured number of times using a preconfigured interval between each of the calls. Theworkflow server 210 can attempt to reach the second user using different mediums based on the information available to theworkflow server 210 in the contact address associated with the second user. The second user can provide a preferred contact mode for theworkflow server 210 to use in contacting the second user. For example, the second user can configure a preferred order of addresses, such asmobile phone number 904 and thenoffice phone number 906, in thecontact address 504 for contacting the second user. - Referring now to
FIG. 11 , ascreenshot 1100 illustrating a display of tasks from a user'stask queue 1102 is presented. The display of the user'stask queue 1102 can be a scrollable display of tasks. The user'stask queue 1102 can be asingle task queue 1102 or can includemultiple task queues 1202. For example, there can be atask queue 1102 associated with tasks of a particular priority level, urgency, orimportance 508. Thetask queue 1102 can include tasks andworkflow requests 301 sorted by due date. Thetask queue 1102 can be an unsorted or sorted list from which the display of tasks is first prioritized and then displayed to the user. There can be aseparate task queue 1102 forworkflow requests 301 andseparate task queue 1102 for tasks associated with the workflow requests 301 that have already been accepted by the second user. - The tasks can be prioritized using rules and combinations of rules. Example rules for prioritizing the tasks can include prioritizing by a time factor, for example based on the current time, the expiration of a timer associated with the task, a preset time or threshold time prior to the requested completion time of the task, the elapsed time since the workflow request was requested or accepted by the second user. Another example rule can include prioritizing based on a milestone event such as the start of performance of the task, the completion of the task, or the non-performance of the task. Another example rule can include prioritizing based on environmental factors such as an input from a sensor, for example a sensor on a piece of monitoring equipment, a signal from an external system, or data available to the task management system that is obtained from an information source such as an external database. Another example rule can include prioritizing based on personnel factor such as changes in available personnel, for example if a second user has quit or been terminated, a shift change such as a shift change associated with a particular time, and the availability of a second user or a group of second users for performing the task.
- Another example rule can include prioritizing based on the
importance 508, for example theimportance 508 requested by the first user, anurgency 508 determined by the second user or an administrator, for example animportance 508 changed by the second user performing a user override function to change theimportance 508, an urgency determined by the location for performance of the task, for example a location used in conjunction with the current location of the second user. In this example, if the second user is in close proximity to the location for the performance of a task, the urgency orimportance 508 for that task can be temporarily increased so as to alert the second user of the task nearby that needs to be performed. Similarly, if the second user performs work in two different locations, the tasks can be prioritized so that the second user is not unnecessarily bounced between the two different locations during performance of tasks from the second user'sworkflow queue 1102. This is an example in which thetask management system 200 can use contextual information to prioritize tasks and increase overall user efficiency. The prioritization can also be based on an urgency orimportance 508 set by the type of task. Some task types can have an urgency orimportance 508 set according to a business policy rule associated with the type of task or a regulatory compliance rule associated with the type of task. The business policy rule or regulatory compliance rule can use other factors in combination with the urgency orimportance 508, including but not limited to, the role or position of the first user or second user, the locations of the second user or other users, the time of day, and so forth. - The second
mobile computing device 208 can present an indication that there is anew workflow request 301 by displaying anumerical icon 1106 in thetasks selection 414. The secondmobile computing device 208 can display theworkflow request 301 in the second user'stask queue 1102, or task list. In an alternate configuration, the second user must first accept theworkflow request 301 before the task appears in the user'stask queue 1102. Theworkflow request 301 can be displayed withicons workflow request 301. For example, theworkflow request 301 can be displayed with animportance icon 1108 that shows theimportance 508 of theworkflow request 301, and atask type icon 1110 that provides the second user with information about the nature of theworkflow request 301. The presentation of the tasks can be sorted or ordered by priority, urgency, orimportance 508, by recipient name, by due time, by task type, or by another suitable field. Selecting an area of the screen, or performing a gesture such as a swipe, can trigger a popup for selecting the sorting options (not shown). In another configuration, a sort selection (not shown) can trigger the display of the sorting options. - The status of the second user can be displayed using, for example, a color indication in the
status window 1112. For example, if the second user is going to begin performance of a task, the second user can quickly set their status to busy by tapping thestatus window 1112. The status can be selectable from a group of selections (not shown) or toggled between two states, for example an available state displayed as a green indication in thestatus window 1112 and a busy state displayed as a red indication in thestatus window 1112. Thetask management system 200 can use contextual information and a rule to set the status of the second user in thestatus window 1112 without additional input from the second user. Thestatus window 1112 provides a visual indicator to the second user of the change in status. For example, if the second user begins performance of a particular kind of task, thetask management system 200 can apply a rule and changed the status of the second user to busy and change thestatus window 1112 to red. When the user has completed the task, thetask management system 200 can set the status of the user back to available and change thestatus window 1112 to green. - Referring now also to
FIG. 12 , ascreenshot 1200 of theworkflow request 301 is presented. Theworkflow request 301 includes theworkflow name 502, amessage 510 included with theworkflow request 301, thedue time 506, and the name of the first user, orsender 1202, of theworkflow request 301. Alog selection 1208 allows the second user to view actions, messages, and communications associated with theworkflow request 301. Twoaction selections workflow request 301. Theaction selection 1206 opens a window ofacknowledgement options 1302 to accept or reject the task. - The
communication selection 1204 allows the second user to quickly open a communication session with requester 1212, such as a telephone call, an email, a message service, a proprietary messaging service, or an SMS or short message service session with the first user to discuss theworkflow request 301. Thesender 1202 and requester 1212 can be the same user, for example the first user as illustrated. In another example, thesender 1202 can forward aworkflow request 301 that thesender 1202 received from a third user. The third user can be the user that created theoriginal workflow request 301. In this example, therequester 1212 can be the user that created theoriginal workflow request 301 that was sent to the first user, while thesender 1202 is the first user who received theworkflow request 301 from therequester 1212. The first user can forward theworkflow request 301 to the second user for performance of the task, or in other words the first user can delegate the task to the second user. Thecommunication selection 1204 can display therequester 1212 so that in the event that the second user attempts to open acommunication session 302, the second user can communicate directly with the originator of the workflow request, namely therequester 1212, and not the first user who only delegated the task to the second user. - The
task management system 200 can use contextual information, such as information about therequester 1212, thesender 1202, other parties, and other information, to determine therequester 1212 that is to be displayed with thecommunication selection 1204. For example, if theoriginal requester 1212 is unavailable,task management system 200 can change therequester 1212 to another user, supervisor, or help system that can assist the second user. In this way, thetask management 200 can improve the user experience for the second user by displaying contextually relevant information and useful selection options to the second user. - Referring now also to
FIG. 13 , ascreenshot 1300 of theacknowledgement options 1302 is presented. The second user can select the acceptselection 1304, thedecline selection 1306, or by pressing theback selection 1308 the second user can defer acceptance of theworkflow request 301. If the user selects the acceptselection 1304, the task associated with theworkflow request 301 can be marked as in progress. The task associated with theworkflow request 301 can be prioritized as described above, which can change the order in which the task is displayed in the second user'stask queue 1102. If the user selects thedecline selection 1306, theworkflow request 301 can be removed from the second user'stask queue 1102. In various configurations, theworkflow request 301 can be placed into the second user'stask queue 1102, when it is received prior to the acceptselection 1304 ordecline selection 1306 and then removed if the second user selects thedecline selection 1306, or the task can be placed in the second user'stask queue 1102 only once the acceptselection 1304 has been selected. - Referring back to
FIG. 3 , at point C in thefirst example operation 310, the secondmobile computing system 208 can send aresponse 303 to theworkflow request 301. Theresponse 303 can be based at least in part on the selection made by the second user, and can be for example, an acceptance ofworkflow request 301, a rejection of theworkflow request 301, and a deferring of an acceptance of theworkflow request 301, among other suitable responses. Theresponse 303 can be sent to theworkflow server 210 and forwarded to the firstmobile computing device 206 by theworkflow server 210. - Continuing to refer to
FIG. 3 , at point B in the timeline of thefirst example operation 310, either of the first user or the second user can initiate a dialog with the other user by opening acommunication session 302. For ease of explanation, point B and thecommunication session 302 are illustrated as occurring after theworkflow request 301 has been sent to the second user at point A but before theresponse 303 at point C has been sent. However thecommunication session 302 can also be initiated prior to sending theworkflow request 301, included in theworkflow request 301, or initiated after the second user sends theresponse 303 to theworkflow request 301. - The
communication session 302 can be initiated by either party, and once thecommunication session 302 is open, thecommunication session 302 can comprise one or more messages sent by either party. In a configuration, text interactions and messaging can be supported natively by thetask management system 200, while phone calls and other communications are initiated externally by placing calls through a call server (not shown). Also, thecommunication session 302 can be multi-modal and use one or more mediums, for example a text message, a multimedia message, an email message, a push-to-talk type communication session, a voice call, a video call, and a conference call. Thecommunication session 302 can also be performed through an interactivevoice response system 216 or using a web-based session based on, for example, a uniform resource locator, as appropriate. Thecommunication session 302 can be a real-time simultaneous dialog, such as a two party voice call, a push-to-talk type communication, or a messaging type communication such as SMS or email. Some types ofcommunication sessions 302, such as voice calls, have explicit steps of setting up a communications pathway or bearer channel, connecting the parties to that channel for the duration of the call, and then an explicit tearing down of the channel. Other types of communication do not require explicit set up and tear down steps, but can be used as needed. - By the term “open a communication session”, Applicants intend the term to mean initiating an application layer use of a type of communication that permits one or both parties to communicate voice, messages, and/or data, as appropriate for the type of communication, to one another. In some instances, the communication pathway or channel exists prior to the opening of the
communication session 302 and can be used by thetask management system 200 as needed without setting up a separate communications pathway. For example, thetask management system 200 can include a message handling module in theworkflow server 210. In other instances, opening a communication session requires that a communications pathway or bearer channel be set up for thecommunication session 302 and then torn down at the conclusion of thecommunication session 302. For the purposes of this disclosure, the term opening acommunication session 302 generally refers to a use of a communication protocol at the application layer, as opposed to the presentation layer, session layer, transport layer, data communication layer, network layer, data link layer, or physical layer of the seven layer Open Systems Interconnection (OSI) model. In some configurations, thetask management system 200 can be implemented so as to use aspects of one or more of the layers. In some instances, thetask management system 200 can be tightly integrated with the type of communications, for example by providing the messaging system for passing text messages. In other instances, thetask management system 200 can make system level or application level calls to an external system, or to applications or functions, to open thecommunication session 302 between one or more parties. For example, voice calls can be handled by initiating the appropriate system level calls to themobile computing device - Referring back to the
screenshot 1200 inFIG. 12 , the second user can select thecommunication selection 1204 to open acommunication session 302 with the first user. Thecommunication type icon 1210 displays the default type of communication and communication medium. As illustrated for the example inscreenshot 1200 the default communications type can be instant messaging. Thesender 1202 can specify the type of communication or allow thetask management system 200 to set the default type of communication. For example, if the first user used a template to create theworkflow request 301, then the default communication type can be the communication type set in the template. Theworkflow server 210 of thetask management system 200 can apply a business policy or regulatory policy to change the communication type. For example, for regulatory purposes, some types ofworkflow requests 301 may require a voice communication between the parties. An example of this can be aworkflow request 301 from a medical doctor or medical professional that, for purposes of insurance coverage and regulatory compliance, requires the recipient of theworkflow request 301 to verbally confirm the task instructions with the medical professional. - The second user can select the
communication selection 1204 to make the secondmobile computing device 208 open acommunication session requester 1212, who can be, for example, the first user. Referring also now toFIG. 16 , ascreenshot 1600 of a dialog between a first user and a second user is displayed. The first user, in theworkflow request 301, included amessage 510 asking the second user if they could “witness meds”. The second user can send areply 1602 to themessage 510 of the first user using thecommunication session 302. For example, in thereply 1602 the second user can negotiate a time for starting performance of the task in theworkflow request 301 by typing thereply 1602 into thetext input box 1604 and selecting thesend selection 1606. The second user can return to the display shown inscreenshot 1200 without sending areply 1602 by selecting theback selection 1610. The second user can send apredetermined phrase 1702 by selecting thephrases selection 1608. - Referring also to
FIG. 17 , ascreenshot 1700 ofpredetermined phrases 1702 is presented. Thepredetermined phrases 1702 can be preconfigured based on theworkflow request 301. Thepredetermined phrases 1702 can be based onprevious replies 1602. The second user can select theback selection 1704 to return to the dialog between the first user and the second user shown inscreenshot 1600. The user can select one of thepredetermined phrases 1702 to have the text of thatpredetermined phrase 1702 placed into thetext input box 1604. For example, if the second user selects thepredetermined phrase 1702 “Can you give me 5 mins?” as the selectedphrase 1706, then the text of the selectedphrase 1706 is placed into thetext input box 1604 as illustrated in the screenshot ofFIG. 18 and as described in the accompanying detailed description below. - In a configuration, the
communication session 302 can be preconfigured as astructured communication session 302. After each message sent or received by a user, thepredetermined phrases 1702 can be reconfigured based on factors such as the previously selectedpreconfigured phrase 1702, a received text or a receivedpreconfigured phrase 1702 from the other user, an acceptance of theworkflow 301, a rejection of theworkflow 301, and a performance of a task associated with theworkflow request 301, among other factors. The structuredcommunication session 302 is an example of a response-sequence ordered set of messages. Astructured communication 302 can be preconfigured by an administrator of thetask management system 200 to facilitate the flow of the issuance ofworkflow requests 301, the acceptance ofworkflow requests 301, the messages sent incommunication sessions 302, and the performance of tasks associated with theworkflow request 301, among other operations. Thepredetermined phrases 1702 can be selected by thetask management system 200 based on phrases sent in messages during previous operations and microflows. - Referring also to
FIG. 18 , ascreenshot 1800 of editing text in thetext input box 1604 is illustrated. Before selecting thesend selection 1606, the second user can perform atext edit 1802 of the “Can you give me 5 mins?”phrase 1706 in thetext input box 1604. For example, the second user can perform atext edit 1802 to change “5” minutes to “10” minutes as illustrated in thescreenshot 1800. - The
workflow server 210 can log the messages sent between themobile computing devices communication session 302. In various configurations, theworkflow server 210 can save copies of the messages or save information about the communications between themobile computing devices workflow server 210 can save a copy of each text message. Similarly, theworkflow server 210 can save copies of audio and video messages, including pictures. For voice and other streaming media, such as a call-basedcommunication session 308, theworkflow server 210 can be configured to save copies of the communications that pass through theworkflow server 210. However, for communications that are performed directly between themobile computing devices workflow server 210, such as voice calls, theworkflow server 210 can log information about the call, such as the time of the call and the parties that took part in the call. This log information can be accessed by an administrator using anadministrative computing device 214 or by users byviewing logs 1902. - Referring now back to the
screenshot 1200 ofFIG. 12 , the second user can select thelog selection 1208 to view information about the messages, communications, and actions associated with theworkflow request 301. Referring now also toFIG. 19 , ascreenshot 1900 of the log window is presented. Thesecond computing device 208 can display thelog 1902 of the messages, communications, and actions associated with theworkflow request 301. The second user can select one of the elements from thelog 1902 to view additional details (not shown). Referring now also toFIG. 20 , ascreenshot 2000 of the sent window is presented. The first user can select the sentselection 410 to view workflow requests 301 that the first user sent to the second user and other users. By selecting one of the workflow requests 301, the first user can view information about theworkflow request 301. Referring now also toFIG. 21 , ascreenshot 2100 of the sent item log is presented. The first user can view information about theworkflow request 301 including themessage detail 2102 and thelog 2104 associated with theworkflow request 301. - Continuing to refer to
FIG. 3 , in asecond example operation 320, at point D in the timeline, theworkflow server 210 creates a server-generatedworkflow request 304 to be performed by the user of the secondmobile computing device 208. The second user can select aresponse 303 at point C in the timeline and send thatresponse 303 back to theworkflow server 210. Example server-generatedworkflow requests 304 include those generated by recurring timers, for example daily tasks that need to be performed, and those generated by expiration of timers, including those related to tasks that are due or overdue. Theworkflow server 210 can send a server-generatedworkflow request 304 based on a threshold event, such as an approaching due time. - Another example server-generated
workflow request 304 can be an escalation request associated with aworkflow request 301. Thetask management system 200 can send the escalation request to members of a group, for example a group of users that perform a similar role or function as the second user. For example, if the second user is a nurse in a hospital, then the escalation request can be sent to other nurses on the same shift to see if one of those nurses is available to perform the task associated with theworkflow request 301. - There can also be multiple escalating tiers of escalation requests. If a
workflow request 301 is not accepted, or if the task associated with the workflow requests 301 is not performed within a threshold amount of time, then theworkflow request 301 can be escalated to another user or group, for example a supervisor. If theworkflow request 301 is still not accepted, or the task associated with the workflow requests 301 is still not performed, then theworkflow request 301 can be sent back to the first user, or an alert can be sent back to the first user. Similarly, at any step in the escalation process, alerts and notifications can be sent to the first user, the second user, groups, supervisors, an administrator, and so forth. - The server-generated
workflow request 304 can be bidirectional, requiring the second user to send thatresponse 303 back to theworkflow server 210. Theworkflow server 210 can send a server-generatedworkflow request 304 that presents an alert 1402 to the second user based on a triggering event. A trigger can be caused by an external event, such as a sensor reading. The server-generatedworkflow request 304 can be a message or notification that triggers an alert 1402 by changing the urgency orimportance 508 of aworkflow request 301. Referring now toFIG. 14 , ascreenshot 1400 of an alert 1402 is presented. Theworkflow server 210 can send the alert 1402 to secondmobile computing device 208 that can be presented to the user on the display of the secondmobile computing device 208. In various configurations, the alert 1402 can be generated different ways, for example by a timer in the secondmobile computing device 208, by a signal received from a sensor, by a reprioritization of a task orworkflow 301 by the first user or theworkflow server 210, and so forth. - Referring again back to
FIG. 3 , the server-generatedworkflow request 304 can also be a unidirectional request that does not require aresponse 303 from the second user. For example, if the second user has not responded to aworkflow request 301, the server-generatedworkflow request 304 can rescind theworkflow request 301 and remove it from theworkflow queue 1102 of the second user. The server-generatedworkflow request 304 can also remove a task from theworkflow queue 1102 of the second user. These operations can be performed, for example, to assign the task to a second user. After rescinding theworkflow request 301 or removing the task from the user'sworkflow queue 1102, theworkflow server 210 can send theworkflow request 301 to another user. - The server-generated
workflow request 304 can also place tasks directly into theworkflow queue 1102 of the second user, without sending arequest response 303. This can reduce the number ofrequests responses 303 for mandatory and periodic tasks routinely assigned to, and accepted by, the second user. Similarly, these functions can be performed by a first user under certain conditions. For example, the first user can rescind aworkflow request 301 that the first user created, or remove the task associated with theworkflow request 301 from the queue of the second user, for example to send the task to another user using aworkflow request 301. In a configuration, a first user that has supervisory privileges or administrative privileges can place or remove tasks directly into theworkflow queue 1102 of a second user. - Referring back to
FIGS. 2 and 3 , another example of a server-generatedworkflow request 304 is a workflow request that is created by an administrator using anadministrative computing device 214. Theadministrative computing device 214 can be directly connected to theworkflow server 210, or networked to theworkflow server 210 across anetwork workflow request 304 because it is sent directly from theworkflow server 210 to a user'smobile computing device administrative computing device 214 can also sendworkflow requests 301 to theworkflow server 210 as described for example byoperation 310. - Continuing to refer to
FIG. 3 , in athird example operation 320, at point A in the timeline, the first user of a firstmobile computing device 206 creates aworkflow request 301 having a task to be performed by a second user of a secondmobile computing device 208. Theworkflow request 301 is sent to theworkflow server 210 to be forwarded to the secondmobile computing device 208. At point E in the timeline, theworkflow server 210 can create a rule-basedresponse 305 for the secondmobile computing device 208 that is sent to the firstmobile computing device 206. The rule-basedresponse 305 can be an acceptance, and a rejection, among other suitable responses. If theworkflow server 210 accepts theworkflow request 301, theworkflow server 210 can add theworkflow request 301 or the task associated with theworkflow request 301 to theworkflow queue 1102 of the secondmobile computing device 208. If theworkflow server 210 rejects theworkflow request 301, both the firstmobile computing device 206 and the secondmobile computing device 208 can receive a notification of the rejection. The basis for the determination of whether to accept or reject theworkflow request 301 can be based on contextual information available to theworkflow server 210 and the application of a rule. An example of a rule is to reject aworkflow request 301 if the second user is currently busy performing a task and has aworkflow queue 1102 filled with tasks that would prevent the second user from performing theworkflow request 301 by the required time. Rules can be created by an administrator using theadministrative computing device 214 and configured to be applied in a desired order. - In an example, the second
mobile computing device 208 can be powered off, out of range for accepting communications, or can be logged out of thetask management system 200. The second user of the secondmobile computing device 208 can also alert thetask management system 200 that the user is currently busy, for example if the user is performing a task or has set their status to busy or unavailable. This status setting, or availability setting, permits the second user to set their current availability for receivingworkflow requests 301, messages, and calls to busy or unavailable. The availability setting of the user can work in conjunction with the urgency orimportance 508 setting to permit the task management system to use context specific rules and information about the workflow requests 301, messages and calls to determine whether to allow incoming workflow requests 301, messages, and calls to interrupt the second user. For example, if the second user has set their secondmobile computing device 208 to busy, so as to not receive further workflow requests, messages, and calls, theworkflow server 210, secondmobile computing device 208, or another portion of thetask management system 200 can use a rule to determine whether to override the availability setting set by the user. For example, this rule can be based at least in part on contextual information about the reason the first user is busy, as well as the urgency orimportance 508 and type of workflow request, message, or call. - In an example, if the first user is a hospital professional and has their availability set to busy during a consultation with a patient so as to not be interrupted, then a rule may allow a
workflow request 301 that includes code blue emergency and that has an urgency orimportance 508 of a high enough level to override the busy availability setting of the first user and alert the first user to theworkflow request 301. In another example, during performance of a task from the second user'sworkflow queue 1102, a rule can temporarily set the availability status of the second user to busy, depending on the task, in order to minimize interruptions during performance of the task. By providing contextual information about the task being performed and applying that information to incoming communications using configurable rules, an administrator can configure the communication aspects and task management aspects of thetask management system 200 to match the needs of the workplace, without burdening the users with multiple screens of individual configurations. - Referring now to
FIG. 15 , ascreenshot 1500 ofcurrent status options mobile computing device 208 can select thelogout selection 1502 to log out of thetask management system 200. The second user can also select thebusy selection 1504 to send an indication to thetask management system 200 that the user is currently unavailable. Selecting thebusy selection 1504 can also change color presented in thestatus window 1112 as described in the detailed description accompanyingFIG. 11 . Thetask management system 200 can use contextual information to determine the current status of the second user and use that information to make a determination about whether to accept or reject anew workflow request 301 for the second user. Thetask management system 200 can also use contextual information to determine whether to instead forward thenew workflow request 301 to the second user for a decision. Thetask management system 200 can delay sending theworkflow request 301, based on a rule, to avoid interrupting the second user during the performance of a task. In this instance, thetask management system 200 can delay sending theworkflow request 301 until the second user has updated their status to available. In an example, thetask management system 200 can use information about a previous performance of a particular task in determining how long on average the second user will be busy with the current task. Then, based on that average time, a rule can be applied to determine whether to respond to theworkflow request 301 for the user, or wait for the second user to make the decision whether or not to accept theworkflow request 301. - In another example, if the second user just accepted a workflow request that is of a time sensitive or urgent nature, for example if the second user is a hospital professional responding to a code blue, then the
task management system 200 can apply a rule to reject or accept new incoming workflow requests 301 without interrupting the second user. An example rule can be to accept, or delay sending, a server-generatedworkflow request 304 for a daily operation that is not time sensitive, and that is normally accepted by the second user, when the second user is currently busy responding to aworkflow request 301 having animportance 508 of very important or an urgency that indicates immediate action is required. For example, if the second user is responding to a codeblue workflow request 301, then theworkflow server 210 can either accept the server-generatedworkflow request 304 or delay sending the server-generatedworkflow request 304. In another example, if aworkflow request 301 that is time sensitive is received by theworkflow server 210 and addressed to the same second user in the previous example, theworkflow server 210 can apply a rule to reject theworkflow request 301 on behalf of the second user when the contextual information available to the task management system indicates that the second user will have insufficient time to perform the task by the desired time. - The
workflow server 210 can also use one or more business policies to determine whether to accept, reject, or reassign workflow requests 301. For example, if the second user has aworkflow queue 1102 having unperformed tasks above a configurable threshold, theworkflow server 210 can apply a business rule and send areject response 304 for the second user. Also, theworkflow server 210 can perform operations to distribute workflow requests equally between members of a group. For example, if the second user is a member of a group that can share assignments, then upon receivingworkflow requests 301 addressed to the second user, theworkflow server 210 can check the workflow queues of the members of that group and change the recipient of theworkflow request 301, if necessary, to distribute work more evenly between members of the group. - The
task management system 200 can use contextual information to improve the user experience of users of themobile communication devices task management system 200 can apply a rule and respond toworkflow requests 301 for users when appropriate. This not only reduces the number of key presses or selections that the users would otherwise have to make, but it also speeds up the process of the assignment of, and ultimately the performance of, workflow requests 301. When a first user sends aworkflow request 301 to a second user who is busy or unavailable, permitting theworkflow server 210 to make a rule-based response with a decline notification quickly alerts the first user that the second user is busy or unavailable. This information about the status of the second user permits the first user to immediately send theworkflow request 301 to a different user. Without the response provided by theworkflow server 210, the first user could have to wait for a period of time for aresponse 303 from the second user further delaying the possibility of another user performing the task in theworkflow request 301 for the first user. - Continuing to refer to
FIG. 3 , in afourth example operation 340 the first user of the firstmobile computing device 206 can inquire about the status of aworkflow request 301. At point F in the timeline, the first user creates aninquiry 306 similar to aworkflow request 301. Theinquiry 306 can reference aprevious workflow request 301. Referring also now toFIG. 22 , ascreenshot 2200 of an inquiry is presented. Theinquiry 306 can include aselectable response action 2202, for example to call the first user using a preferred medium for communication, in this case a voice call to thephone number 2208 of first user. Theresponse action 2202 can include aresponse type icon 2206 identifying the type of action and preferred medium. Theinquiry 306 can include amessage 2204, for example a text message. Themessage 2204 can help to later identify the purpose of theresponse action 2202 in thelog 1208. If theresponse action 2202 is a call, and if the contents of the call are not recorded by thetask management system 200, then themessage 2204 can be a good way of providing information for identifying the purpose of the call at a later point in time. Themessage 2204 also provides the second user with an indication of the kind of information the first user expects to receive by way of theresponse action 2202, thereby allowing the second user to prepare or retrieve the necessary information. - The second user receives the
inquiry 306 in similar fashion to aworkflow request 301 as described above. The second user is presented withacknowledgement options 2302 appropriate for sending aresponse 307 to theinquiry 306. Referring now toFIG. 23 , ascreenshot 2300 ofselectable acknowledgement options 2302 is presented. Theacknowledgement options 2302 can include, for example, adecline selection 2304, a deferaction selection 2306, and aperform action selection 2308. Thetask management system 200 can use theresponse action 2202 of theinquiry 306 inFIG. 22 to change the text of the deferaction selection 2306 and theperform action selection 2308. These context-based changes to the deferaction selection 2306 and theperform action selection 2308 present the second user with a more user friendly and informative display. Aback selection 2310 permits the second user to return to the screen displaying theinquiry 306 shown inscreenshot 2200. A back selection on thetop bar 2312 returns the second user to the display of the user'stask queue 1102. - Continuing to refer to
FIG. 3 , in afifth example operation 350, at point H in the timeline, one of the users can open acommunication session 308 with another user, for example to discuss a task prior to commencing performance of the task, during performance of the task, or after performance of the task. Thecommunication session 308 can be in response to theinquiry 306 presented inFIGS. 22 and 23 and the accompanying detailed description. Thecommunication session 308 can be in addition to aninquiry 306, or thecommunication session 308 can be in place of theinquiry 306. Thecommunication session 308 can be similar to thecommunication session 302. For purposes of illustration only, thecommunication session 302 is displayed as one or more messages, for example text messages, that pass through theworkflow server 210; thecommunication session 308 is displayed as a voice call between the firstmobile computing device 206 and the secondmobile computing device 208 that does not traverse or pass through theworkflow server 210.Communication sessions communication sessions communication sessions workflow server 210, independent of whether they are text-based or voice-based communications. - Referring now to
FIG. 24 , ascreenshot 2400 of apopup list 2402 for opening acommunication session 308 is presented. In this example, the second user selects aworkflow request 301 and then selects the initiatecommunications icon 2404 for thatworkflow request 301. Thetask management system 200 uses contextual information to populate thepopup list 2402 with selectable options for opening thecommunication session 308. In this case, thepopup list 2402 includes options for opening acommunication session 308 to discuss the task in theworkflow request 301 based on the communication mediums supported by both the first user and second user. The second user can select the discusstask selection 2406 using messaging, or the discusstask selection 2408 using a voice call. Each of the discusstasks selections communication type icon 2410 that indicates the type of medium used in the displayed discusstasks selections back selection 2412 to avoid opening acommunication session 308. - In a configuration, the
popup list 2402 can exclude display task selections for particular communication mediums using rules based on business policies or regulatory rules. Thepopup list 2402 can further exclude communication mediums based on the availability of the first user using a particular communication medium. For example, if the first user is currently on a voice call, the discusstasks selection 2408 using a voice call can be disabled nor not displayed. In a configuration, an icon or other identifier such as color or symbol can be used to identify the status of a communication medium for the first user, but allow a second user to call the first user even when the first user is currently on another call. - Continuing to refer to
FIG. 3 , in asixth example operation 360, at point I in the timeline, the second user can send astatus message 309 to the first user. Anexample status message 309 is a message that indicates that the second user has commenced performance of a task associated with aworkflow request 301. Referring now toFIG. 25 , ascreenshot 2500 of a task is presented. The second user can select astatus update selection 2502. Thetask management system 200 can display contextually relevant options for thestatus update selection 2502. For example, if performance of a task has not been commenced, then thestatus update selection 2502 can be “starting task” or “starting process” as illustrated. The text displayed can be based on the type ofworkflow request 301. Other types of status updates are also possible. - A
status message 309 can provide an indication that a single task of a multi-task workflow request or microflow is complete. Asingle workflow request 301 can comprise multiple individual steps, tasks, or operations. The steps, tasks, or operations can involve other users. The steps or operations can create new tasks or new workflow requests 301 for the second user or other users. The steps or operations can be cascaded, where the completion of one task spawns anothernew workflow request 301. The steps or operations can be nested, where during the performance of a task anew workflow request 301 is generated and completed before performance is completed for thecurrent workflow request 301. At each step or operation, the available contextually relevant options that are displayed for the second user can change based, for example, on the previously performed tasks, complete workflows, or messages to other users. - Continuing to refer to
FIGS. 3 and 25 , in aseventh example operation 370, at point J in the timeline, the second user can send acompletion status message 311 to the first user. An examplecompletion status message 311 is a message that indicates that the second user has completed performance of a task or the tasks associated with aworkflow request 301. Another examplecompletion status message 311 is a message that indicates that the second user has not completed performance of the task associated with theworkflow request 301. For example, the second user may not have had time to complete the task, the task may be impossible to complete or no longer necessary to complete, the task may have been assigned or delegated to another user, for example if a shift change occurred, or can be another suitablecompletion status message 311. - Referring again to
FIG. 25 , the second user can selectcompletion update selection 2504 to display a list ofcompletion option selections 2602. Referring also now toFIG. 26 , ascreenshot 2600 of a list ofcompletion option selections 2602 is presented. The selectablecompletion option selections 2602 can include a doneselection 2606 to indicate that the task associated with theworkflow request 301 has been performed and completed successfully, and a cannot assistselection 2604 to indicate that the second user can no longer assist in performance of the task associated with theworkflow request 301. Aback selection 2610 permits the second user to return to the task screen without selecting acompletion option selection 2602. Anoptional note box 2608 permits the second user to explain the reasons for not completing the task or to provide additional information to the first user. Referring also now toFIG. 27 , ascreenshot 2700 of a list ofpredetermined completion phrases 2702 is presented. Thepredetermined completion phrases 2702 permits the second user to select commonly used explanations that are inserted into theoptional note box 2608. Thepredetermined completion phrases 2702 can be edited once they are in theoptional note box 2608. The second user can save the current text in theoptional note box 2608 as a new predetermined completion phrase. - Referring again to
FIG. 3 , at point K in the timeline of theseventh example operation 370, theworkflow server 210 can send one ormore completion messages 312 to the first user and the second user. Thecompletion messages 312 can, for example, remove theworkflow request 301 from the user'stask queue 1102 among other suitable operations. Thecompletion messages 312 can also place log information in thelog 1208 of each of themobile computing devices completion messages 312 can also request copies of messages and other log information from each of themobile computing devices - The
workflow server 210 can send one ormore completion messages 312 based on contextual information available to theworkflow server 210. For example, if aworkflow request 301 was created to reset a malfunctioning air exchanger, and theworkflow server 210 receives information from a sensor that the air exchanger is back online, then theworkflow server 210 can determine that the task associated with theworkflow request 301 has been completed and send one ormore completion messages 312 to the appropriate user. Theworkflow server 210 can also request a confirmation from the technician, for example by sending aninquiry 306 as described forfourth example operation 340, prior to marking the task as completed and sending thecompletion message 312. By using this available contextual information, the task management system can reduce the number of unnecessary escalations where the user has simply failed to report that the task associated with theworkflow request 301 has been completed. - Referring now to
FIG. 28 , ascreenshot 2800 of an exemplary tasktemplate editing module 2802 is presented. The tasktemplate editing module 2802 permits a system administrator at theadministrative computing device 214 to create thepreconfigured workflow requests 408 illustrated inFIG. 4 and described in the accompanying detailed description. The system administrator can determine which fields are usereditable fields 2804 and preconfigure the default semantics, text, and icons that are to be displayed with theworkflow request 301 and tasks. The system administrator can publish the preconfiguredworkflow requests 408 to specific groups. Thetask management system 200 can update the preconfiguredworkflow requests 408 available to each contact based on whether they are a member of the specific groups. - The system administrator can use the preconfigured
workflow requests 408 to control the amount of input the users have in creating workflow requests 301. For example, the system administrator can create highly structuredworkflow requests 408 that facilitate entry of information by the users. An example is a preconfiguredworkflow request 408 for cleaning a room in a hospital setting. Thepreconfigured workflow requests 408 can have aworkflow name 502 of clean patient room, and have adefault importance 508 of normal. The system administrator can require an information element such as the room number and the cleaning type, along with selectable entries that include the list of room numbers at the hospital or section of the hospital, and cleaning types such as standard clean, disinfection, disinfections with fluorescent marking test, and so forth. These lists of entries can be used to both limit entry of information by the users and also to facilitate easy quick selection of commonly used selections. The preconfiguredworkflow request 408 can include optional information elements such as amessage 510 box that allows the user to enter comments about the task. - The
message 510 box can use embedded data elements that can be populated using contextual information to facilitate user selections, such as the room number, type of clean, etc. For example, a field in themessage 510 can be: [room number]. This makes it possible for the user to double tap the field to select it and overwrite with the real data, for example the list of rooms associated with the field [room number]. More structured message creation process are also possible where the message is selected from a list of options and then any parameters are collected enabling the message field to be auto assembled - The system administrator can set the available responses for acknowledgments or responses, such as acknowledged, accept, defer acceptance, accept with action, and cannot comply among other suitable responses. The defer acceptance selection permits the users to asynchronously negotiate a response time for accepting or rejecting the
workflow request 301. For example, the first user would receive a message that the second user has received and reviewed theworkflow request 301 but not responded with an accept or reject selection. The system administrator can configure thepreconfigured workflow requests 408 so that the second user can respond with theirown response 303. Once a user has accepted theworkflow request 301, the user can be presented with two new response options, for example “task started” and “cannot complete”. After the user has started the task, the user can be presented with two completion options, “task completed” and “cannot complete”. The text options can be configured by the system administrator to tailor thetask management system 200 to their organization's requirements. - The responses can include implicit actions, such as an accept response to a
workflow request 301 to join a conference call can place the user into the conference call and mark the user's status as busy for the duration of the call. When the user exits the conference call, theworkflow request 301 can be completed and acompletion status message 311 can be sent to theworkflow server 210 and the first user that sent theworkflow request 301. - The system administrator can also provide general, unstructured preconfigured workflow requests 408. Unstructured messages can include free form text and digits of fixed or dynamic length, with similar structured elements to the structured preconfigured workflow requests. The system administrator can embed unstructured messages as a component of a task associated with the workflow request, for example to facilitate coordination of
communication sessions communication sessions communication session - Preconfigured workflow requests 408 can be distributed to users based on groups, permitting the system administrator to, for example, allow supervisors to use both structured and unstructured preconfigured workflow requests 408, while allowing regular users to use only the structured preconfigured workflow requests 408. The group feature allows an organization's tasks to be filtered so that users only see tasks of interest rather than having a long list of tasks and having to search for relevant ones.
- Referring now to
FIG. 29 , ascreenshot 2900 of aworkflow analysis module 2902 is presented. Theworkflow analysis module 2902 permits a system administrator at theadministrative computing device 214 to review current workflows being performed, and workflows that have been completed, as well as the status of workflow requests 301. The system administrator can perform actions such as escalation ofworkflow requests 301, reassignment ofworkflow requests 301, and so forth. - By logging and reporting information about tasks, workflows, and communications, the system administrator can be presented with detailed information about the various tasks being performed by users and use that information to improve processes and efficiency. The logs can include summary information about each of the alerts, events, communication sessions between parties, voice calls, text messages, workflow requests 301, acknowledgements, tasks, delegated tasks, and escalated tasks, among other information. The logs can include information captured from communication sessions, such as the text content of text messages. The log 3100 can be an XML-based log. An example log is presented in Table 1.
-
TABLE 1 <?xml version=“1.0” encoding=“UTF-8”?> -<TaskHistory> -<TaskEntry> <TaskId>2651</TaskId> <Title>msgSubject</Title> <TaskType>MultiChoice_01</TaskType> <TaskTemplatedId>25672570883F8CE92042E17D34E94728F4632FAE</TaskT emplatedId> <CompletionStatus>NOT_SET</CompletionStatus> <TaskOverdue>FALSE</TaskOverdue> <RequesterId>Connexall</RequesterId> <ResponderId>samira</ResponderId> <DueBy>2012-02-02 04:58:16</DueBy> <Importance>0</Importance> <Message>testNotif</Message> <CallDestination>sip://1234567</CallDestination> <StartTime>2012-02-01 23:57:16.718</StartTime> <TerminatedOn>2012-02-01 20:02:50.524</TerminatedOn> </TaskEntry> -<TaskEntry> <TaskId>2744</TaskId> <Title>msgSubject</Title> <TaskType>PhoneTask_01</TaskType> <TaskTemplatedId>25672570883F8CE92042E17D34E94728F4632FAE</TaskT emplatedId> <CompletionStatus>COMPLETED_FAILURE</CompletionStatus> <TaskOverdue>TRUE</TaskOverdue> <RequesterId>Connexall</RequesterId> <ResponderId>samira</ResponderId> <DueBy>2012-02-02 06:29:15</DueBy> <Importance>0</Importance> <Message>testNotif</Message> <CallDestination>sip://1234567</CallDestination> <StartTime>2012-02-02 01:28:15.687</StartTime> <EndTime>2012-02-02 09:50:14.342</EndTime> <TerminatedOn>2012-02-02 09:50:14.342</TerminatedOn> -<ActionLogs> -<ActionLog> <timestamp>2012-02-02 01:28:24.281</timestamp> <message>READ</message> <originator>P</originator> </ActionLog> </ActionLogs> </TaskEntry> </TaskHistory> - The system administrator can search and sort log information using the
search filter 2904 function. A display ofsearch results 2906 can display the log information. The results can be exported using theexport selection 2908, for example to a comma delimited file. The system administrator can perform analysis of selected tasks and workflows. The system administrator can evaluate information from logs captured by theworkflow server 210 and themobile computing devices mobile computing device workflow server 210, or any other suitable element of thetask management system 200 can capture a log of events as they occur. Events can include, among other things, each workflow request, acceptance, rejection, deferred acceptance, inquiry, text message, notification, alert, escalation, and delegation of a task, collectively messages, and can include time stamps. The events can also include information regarding the status of performance, such as the commencement of performance, or the completion of a task, collectively the performance of the task. Information regarding the performance of the task can be based on information received from the second user, or can be information received from an external device, such as a sensor or another computing system, and can include a time stamp. Generally, as each event occurs, a time stamp associated with each of the events can be captured. Thetask management system 200 can log all events associated with each task, workflows, and communications with time stamps for later review. - Referring now to
FIG. 30 , a method of analyzing workflows is presented. Processing starts atstart block 3000. Processing continues to processblock 3002. Atprocess block 3002, logs of events, data such as message contents, and timestamps are collected. Processing continues to processblock 3004. Atprocess block 3004, the system administrator selects the workflow or microflow to be analyzed. The system administrator can select for example, an individual task associated with a microflow, all events of a microflow, or ranges of workflows. For example, the system administrator can select events based on the type of task, a user, a period of time, or a combination of parameters. Processing continues to processblock 3006. Inprocess block 3004, the system administrator can further choose a characteristic to be measured. For example, the characteristic can be tasks that have not been completed, among other characteristics. Processing continues toprocessing block 3008. - In
process block 3008, the system administrator can perform analysis of the selected data, for example by computing metrics of the characteristics, comparing those metrics with other metrics, and comparing metrics to data. Analytic tools can be applied to analyze the information and develop metrics about the performance of tasks, aspects of communications and collaboration, and individual's performances. The analysis and metrics can be used to analyze business processes and create improvements. For example, the comparison can be compared a metric related to tasks that have not been completed for a particular type of task, with the same metric for all types of tasks to see if the selected task is, on average, less frequently completed than other types of tasks. The analysis can include both real-time analysis (e.g., for creating alerts or performing workload management) and post-processing aspects (e.g., for evaluations or compliance). - Processing continues to process
block 3010. Inprocess block 3010, the results can be displayed on a display screen to the system administrator, or exported to a file or report. Processing then ends atend block 3012. Visualization tools can be applied to display the information, logs, and metrics. For example, the results can be displayed as text information, or graphical presentations such as charts, histograms, and other graphical presentations can be used. Views of the logs, metrics, and analyzed data can be sorted by task, by type ofworkflow request 301, by user, and by metric among other views. The system administrator can use views of the logs to highlight and identify areas of issues, for example tasks that are past due, users with too many tasks or outstanding workflow requests, users who have acceptedworkflow requests 301 and then abandoned the tasks, types of tasks that are typically performed later than requested, users that are not completing tasks on time, and so forth. The system administrator can view the logs in real time or substantially real time. - The system administrator can process the log information to ensure compliance with personnel, corporate, or regulatory objectives. For example, personnel compliance can include workload management and performance evaluations. Corporate compliance can include business efficiency evaluations or compliance with internal procedures. At a system level, the system administrator can process the log information to see the amount of collaboration between and within departments and analyze the degree of organizational communication. The system administrator can check to see if confidentiality screens are being complied with or if inter disciplinary consultations on large projects are being performed as intended. Regulatory compliance can include evaluation performance of workflows to ensure that federal, state, and local regulations are being met. The logs can be used as evidence during certification or for insurance purposes.
- The system administrator can also analyze the patterns of communication between parties to determine social networking patterns, for example to analyze interdepartmental and intradepartmental collaboration and individual roles within groups. For example, the system administrator can develop metrics that show the type of communications used and the frequency of communications to determine whether the types of messages in preconfigured workflow requests are sufficient or whether users typically need to fall back to person-to-person voice calls. The system administrator can also develop metrics that show supervisor-to-subordinate communications, for example to show that proper channels are being used for delegating tasks. The system administrator can also develop metrics based on peer-to-peer communications, and communications within groups, for example to show communication patterns typical for certain tasks or users.
- The system administrator can analyze the patterns of communications at the level of the microflow, between workflows, or within an aggregation of workflows. This can be used to develop metrics for analyzing an individual's participation level and status, leadership ability, or recognized subject matter expertise or skill level. The system administrator can create a view of a users' work-related social networks by analyzing users' statically defined user group memberships, dynamic roles, and associated group memberships combined with their history of communications, favorites (e.g., other users), and task/message interactions. The analysis can include the type, frequency, and characteristics of the interactions to develop metrics concerning how often a user communicates with other users, which users commonly interact with one another, correlations of individuals to their group membership, and so forth. The analysis can be an aggregated social network view, a view based on workflow type or task type, a view based on an individual, or another suitable kind of view. The system administrator can analyze the metrics over a period of time, for example to perform trend analysis to view how metrics or data are changing over time. The metrics and data can be combined or correlated with other business data.
- Example analyses and metrics include, but are not limited to, analysis and metrics relating to subject matter expertise, task distribution, task completion rates, staffing issues, and usefulness of preconfigured tasks. With regards to subject matter expertise, the analysis can enable the system administrator to determine which users are contacted the most often by other users during the performance of tasks or in general. For example, the analysis can provide information about which users have skill expertise recognized by other users, and which users are the kinds of users that are relied on for information versus which users are identified as dependable performers of tasks. The analysis of both kinds of users can provide the administrator with information for determining the proper combination of users to meet their organization's staffing requirements. The analysis can also identify those users that perform key mentorship roles within an organization, have strong leadership skills, or frequently provide assistance to other users. With regards to task distribution and staffing issues, the metrics and data can determine the distribution of tasks completed by users in a particular time period, and provide information about the mean, median, high, low, or other statistically useful variable. This can help the system administrator understand individual strengths or weaknesses, or identify particularly good teams. The system administrator can use the metrics and data to identify potential staffing issues or other inefficiencies that cause performance to fall outside target criteria or thresholds. With regards to task completion rates, the metrics and data can identify tasks that are not completed on time, and allow the system administrator to review communication details to understand potential causes and reasons for unsuccessful completions. The system administrator can also identify tasks that are abandoned or uncompleted to determine the root causation. For example the system administrator can correlate activities with individuals, busy times, shift changes, types of tasks, and so forth to discover problems. The system administrator can use this information to change procedures to improve completion rates.
- The system administrator can review and analyze microflows to determine the usefulness of preconfigured workflow requests 408,
predetermined phrases 1702, andpredetermined completion phrases 2702 among other aspects of the task management system. For example, the system administrator can review communication sessions and messages to determine those tasks where users resort to fallback communications outside of those provided by the preconfigured workflow requests 408,predetermined phrases 1702, andpredetermined completion phrases 2702. This can provide the system administrator with information about how to make modifications to increase efficiency, for example by adding newpredetermined phrases 1702. This allows the system administrator to customize the context-specific aspects of thetask management system 200 to increase user efficiency and provide a more useful interface to the users of thetask management system 200. - The above descriptions of various components and methods are intended to illustrate specific examples and describe certain ways of implementing a
task management system 200 as disclosed and described here. These descriptions are neither intended to be nor should be taken as an exhaustive list of the possible ways in which these systems and modules can be made and used. A number of modifications, including substitutions of systems and modules between or among examples and variations among combinations can be made. Those modifications and variations should be apparent to those of ordinary skill in this area after having read this document.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/372,440 US20120209650A1 (en) | 2011-02-11 | 2012-02-13 | Context-based mobile activity assistant |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161441781P | 2011-02-11 | 2011-02-11 | |
US13/372,440 US20120209650A1 (en) | 2011-02-11 | 2012-02-13 | Context-based mobile activity assistant |
Publications (1)
Publication Number | Publication Date |
---|---|
US20120209650A1 true US20120209650A1 (en) | 2012-08-16 |
Family
ID=46637599
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/372,444 Abandoned US20120209654A1 (en) | 2011-02-11 | 2012-02-13 | Mobile activity assistant analysis |
US13/372,440 Abandoned US20120209650A1 (en) | 2011-02-11 | 2012-02-13 | Context-based mobile activity assistant |
US13/372,437 Active US8620709B2 (en) | 2011-02-11 | 2012-02-13 | Mobile activity manager |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/372,444 Abandoned US20120209654A1 (en) | 2011-02-11 | 2012-02-13 | Mobile activity assistant analysis |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/372,437 Active US8620709B2 (en) | 2011-02-11 | 2012-02-13 | Mobile activity manager |
Country Status (1)
Country | Link |
---|---|
US (3) | US20120209654A1 (en) |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014047461A2 (en) * | 2012-09-20 | 2014-03-27 | Wendell Morton | Systems and methods for workflow automation |
US20140237476A1 (en) * | 2013-02-15 | 2014-08-21 | Apple Inc. | Centralized task scheduling |
US20140278631A1 (en) * | 2013-03-15 | 2014-09-18 | Ram Karuppusamy | System and method for managing business functions for one or more companies |
US8942727B1 (en) | 2014-04-11 | 2015-01-27 | ACR Development, Inc. | User Location Tracking |
US20150262105A1 (en) * | 2013-03-12 | 2015-09-17 | Thomson Reuters Global Resources | Workflow software structured around taxonomic themes of regulatory activity |
US20150262113A1 (en) * | 2014-03-11 | 2015-09-17 | Bank Of America Corporation | Work status monitoring and reporting |
US20160150387A1 (en) * | 2014-11-25 | 2016-05-26 | Todd Myers Communications, Inc. | TextMuse Message Generator |
US9413707B2 (en) | 2014-04-11 | 2016-08-09 | ACR Development, Inc. | Automated user task management |
US20170285878A1 (en) * | 2016-03-30 | 2017-10-05 | Lenovo (Singapore) Pte. Ltd. | Virtual notifications |
US20180181721A1 (en) * | 2016-12-22 | 2018-06-28 | International Business Machines Corporation | Continuous Health Care Plan Coordination Between Patient and Patient Care Team |
US10126716B2 (en) * | 2014-02-11 | 2018-11-13 | Saudi Basic Industries Corporation | Electronic bypass system |
TWI648966B (en) * | 2018-01-26 | 2019-01-21 | 啓碁科技股份有限公司 | Method and device for incremental upgrade |
US20190320031A1 (en) * | 2014-11-04 | 2019-10-17 | Comcast Cable Communication, Llc | Systems and methods for data routing management |
US20200118058A1 (en) * | 2018-10-15 | 2020-04-16 | Clean Claims IP, LLC | Real-time workflow tracking |
US11044212B2 (en) | 2016-06-29 | 2021-06-22 | International Business Machines Corporation | Cognitive messaging with dynamically changing inputs |
US11152000B1 (en) | 2019-12-19 | 2021-10-19 | Express Scripts Strategic Development, Inc. | Predictive analysis system |
WO2021211721A1 (en) * | 2020-04-14 | 2021-10-21 | Byrd Jeremy | Accountability tracking system |
US11310357B2 (en) | 2020-07-09 | 2022-04-19 | Toyota Motor North America, Inc. | Transport-to-transport communication network |
US11455190B2 (en) * | 2016-02-05 | 2022-09-27 | Sas Institute Inc. | Implicit status in many task computing |
US20230079278A1 (en) * | 2021-09-13 | 2023-03-16 | Hewlett Packard Enterprise Development Lp | Efficient progression management in a tracker with multiple sources |
US12143454B2 (en) | 2023-06-27 | 2024-11-12 | Comcast Cable Communications, Llc | Systems and methods for data routing management |
Families Citing this family (126)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8677377B2 (en) | 2005-09-08 | 2014-03-18 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US8954350B2 (en) * | 2006-11-28 | 2015-02-10 | Ricoh Company, Ltd. | Order supporting apparatus, control method for an order supporting apparatus, order supporting system, and computer readable storage medium |
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
US8676904B2 (en) | 2008-10-02 | 2014-03-18 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
US10706373B2 (en) | 2011-06-03 | 2020-07-07 | Apple Inc. | Performing actions associated with task items that represent tasks to perform |
US10241644B2 (en) * | 2011-06-03 | 2019-03-26 | Apple Inc. | Actionable reminder entries |
US20110145761A1 (en) * | 2009-12-10 | 2011-06-16 | Denis Leon Krief | Interactive task management system and method |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US10057736B2 (en) | 2011-06-03 | 2018-08-21 | Apple Inc. | Active transport based notifications |
US8769090B2 (en) * | 2011-11-30 | 2014-07-01 | At&T Intellectual Property I, L.P. | Method and apparatus for managing communication inquiries |
US9170758B2 (en) * | 2012-04-25 | 2015-10-27 | Hewlett-Packard Indigo B.V. | Automatic load balancer for presses |
US9996209B2 (en) * | 2012-05-02 | 2018-06-12 | Autodesk, Inc. | Techniques for representing and comparing workflows |
US10417037B2 (en) | 2012-05-15 | 2019-09-17 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
US20130339400A1 (en) * | 2012-05-29 | 2013-12-19 | Salesforce.Com, Inc. | System and method for mobile multi-tenant database system management |
US20130339039A1 (en) * | 2012-06-16 | 2013-12-19 | Kendyl A. Román | Mobile Wireless Medical Practitioner, Patient, and Medical Object Recognition and Control |
CA2798022A1 (en) * | 2012-12-04 | 2014-06-04 | Hugh Hull | Worker self-management system and method |
US20140164011A1 (en) | 2012-12-10 | 2014-06-12 | Consano, Inc. | Method for facilitating communication, data access and workflow in a healthcare environment/facility |
WO2014098846A1 (en) * | 2012-12-19 | 2014-06-26 | Empire Technology Development Llc | Cloud voice over internet protocol communication substitute for channel radio based communication |
KR102380145B1 (en) | 2013-02-07 | 2022-03-29 | 애플 인크. | Voice trigger for a digital assistant |
US20140229236A1 (en) * | 2013-02-12 | 2014-08-14 | Unify Square, Inc. | User Survey Service for Unified Communications |
US10652394B2 (en) | 2013-03-14 | 2020-05-12 | Apple Inc. | System and method for processing voicemail |
US10748529B1 (en) | 2013-03-15 | 2020-08-18 | Apple Inc. | Voice activated device for use with a voice-based digital assistant |
US20140280962A1 (en) * | 2013-03-15 | 2014-09-18 | Openpeak Inc. | Method and system for delegating functionality based on availability |
US10798150B2 (en) * | 2013-03-29 | 2020-10-06 | Here Global B.V. | Method and apparatus for coordinating tasks among a plurality of users |
WO2014168984A1 (en) * | 2013-04-08 | 2014-10-16 | Scott Andrew C | Media capture device-based organization of multimedia items including unobtrusive task encouragement functionality |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
CN110442699A (en) | 2013-06-09 | 2019-11-12 | 苹果公司 | Operate method, computer-readable medium, electronic equipment and the system of digital assistants |
EP2821947A1 (en) * | 2013-07-02 | 2015-01-07 | ABB Technology AG | Method and system to support technical tasks in distributed control systems |
KR101749009B1 (en) | 2013-08-06 | 2017-06-19 | 애플 인크. | Auto-activating smart responses based on activities from remote devices |
US10073754B2 (en) * | 2013-09-13 | 2018-09-11 | Assurant, Inc. | Systems and methods for collecting, tracking, and storing system performance and event data for computing devices |
GB2519325A (en) * | 2013-10-17 | 2015-04-22 | Ibm | Switching of electronic social presence between devices |
US20150134423A1 (en) * | 2013-11-13 | 2015-05-14 | ForwardMetrics Corp. | System and method for creating, implementing, and tracking strategic plans |
US20150154528A1 (en) * | 2013-12-02 | 2015-06-04 | ZocDoc, Inc. | Task manager for healthcare providers |
US20150195234A1 (en) * | 2014-01-08 | 2015-07-09 | International Business Machines Corporation | Preventing unnecessary messages from being sent and received |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
WO2015184186A1 (en) | 2014-05-30 | 2015-12-03 | Apple Inc. | Multi-command single utterance input method |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
EP2977939A1 (en) * | 2014-07-24 | 2016-01-27 | Farid Alyushev | Method for task distribution, device for performing the method and a computer program |
US10380867B2 (en) * | 2015-01-30 | 2019-08-13 | Cisco Technology, Inc. | Alert management within a network based virtual collaborative space |
US9721566B2 (en) | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
JPWO2016158801A1 (en) * | 2015-03-31 | 2018-01-25 | 三菱重工業株式会社 | Work planning system, work planning method, decision support system, computer program, and recording medium |
US10460227B2 (en) | 2015-05-15 | 2019-10-29 | Apple Inc. | Virtual assistant in a communication session |
US10200824B2 (en) | 2015-05-27 | 2019-02-05 | Apple Inc. | Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device |
US20160378747A1 (en) | 2015-06-29 | 2016-12-29 | Apple Inc. | Virtual assistant for media playback |
US10331312B2 (en) | 2015-09-08 | 2019-06-25 | Apple Inc. | Intelligent automated assistant in a media environment |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US10740384B2 (en) | 2015-09-08 | 2020-08-11 | Apple Inc. | Intelligent automated assistant for media search and playback |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US11587559B2 (en) | 2015-09-30 | 2023-02-21 | Apple Inc. | Intelligent device identification |
US10148808B2 (en) * | 2015-10-09 | 2018-12-04 | Microsoft Technology Licensing, Llc | Directed personal communication for speech generating devices |
US9679497B2 (en) | 2015-10-09 | 2017-06-13 | Microsoft Technology Licensing, Llc | Proxies for speech generating devices |
US10262555B2 (en) | 2015-10-09 | 2019-04-16 | Microsoft Technology Licensing, Llc | Facilitating awareness and conversation throughput in an augmentative and alternative communication system |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10956666B2 (en) | 2015-11-09 | 2021-03-23 | Apple Inc. | Unconventional virtual assistant interactions |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
WO2017131617A1 (en) * | 2016-01-25 | 2017-08-03 | Entit Software Llc | Confirmation message determinations |
WO2017158675A1 (en) * | 2016-03-14 | 2017-09-21 | 富士通株式会社 | Information processing device, information processing method, and information processing program |
MX2018011559A (en) * | 2016-04-11 | 2019-01-28 | Raptor Rig Inc | Workflow control system. |
WO2017196374A1 (en) * | 2016-05-13 | 2017-11-16 | Hitachi, Ltd | Similarity detection of abnormal waveforms using pmu measurement |
US11227589B2 (en) | 2016-06-06 | 2022-01-18 | Apple Inc. | Intelligent list reading |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
US11093834B2 (en) * | 2016-07-06 | 2021-08-17 | Palo Alto Research Center Incorporated | Computer-implemented system and method for predicting activity outcome based on user attention |
CN108090731B (en) * | 2016-11-23 | 2021-10-15 | 腾讯科技(深圳)有限公司 | Information processing method and device |
US11204787B2 (en) | 2017-01-09 | 2021-12-21 | Apple Inc. | Application integration with a digital assistant |
DK201770383A1 (en) | 2017-05-09 | 2018-12-14 | Apple Inc. | User interface for correcting recognition errors |
DK180048B1 (en) | 2017-05-11 | 2020-02-04 | Apple Inc. | MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION |
US10726832B2 (en) | 2017-05-11 | 2020-07-28 | Apple Inc. | Maintaining privacy of personal information |
DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
DK201770427A1 (en) | 2017-05-12 | 2018-12-20 | Apple Inc. | Low-latency intelligent automated assistant |
DK201770411A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | Multi-modal interfaces |
DK179560B1 (en) | 2017-05-16 | 2019-02-18 | Apple Inc. | Far-field extension for digital assistant services |
US20180336275A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Intelligent automated assistant for media exploration |
US20180336892A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Detecting a trigger of a digital assistant |
US10929793B2 (en) * | 2017-08-03 | 2021-02-23 | International Business Machines Corporation | Utilizing analytic data to generate crowd-based custom logic units |
KR102396147B1 (en) * | 2017-08-22 | 2022-05-10 | 삼성전자 주식회사 | Electronic device for performing an operation using voice commands and the method of the same |
US10957445B2 (en) * | 2017-10-05 | 2021-03-23 | Hill-Rom Services, Inc. | Caregiver and staff information system |
US10042879B1 (en) | 2017-11-13 | 2018-08-07 | Lendingclub Corporation | Techniques for dynamically enriching and propagating a correlation context |
US11354301B2 (en) | 2017-11-13 | 2022-06-07 | LendingClub Bank, National Association | Multi-system operation audit log |
CN108347439B (en) * | 2018-02-06 | 2020-07-28 | 清华大学 | Time synchronization method and device from ZigBee device to WiFi device |
US10818288B2 (en) | 2018-03-26 | 2020-10-27 | Apple Inc. | Natural assistant interaction |
US10928918B2 (en) | 2018-05-07 | 2021-02-23 | Apple Inc. | Raise to speak |
US11145294B2 (en) | 2018-05-07 | 2021-10-12 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
US10892996B2 (en) | 2018-06-01 | 2021-01-12 | Apple Inc. | Variable latency device coordination |
DK180639B1 (en) | 2018-06-01 | 2021-11-04 | Apple Inc | DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT |
DK201870355A1 (en) | 2018-06-01 | 2019-12-16 | Apple Inc. | Virtual assistant operation in multi-device environments |
DK179822B1 (en) | 2018-06-01 | 2019-07-12 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
US10891571B2 (en) * | 2018-08-23 | 2021-01-12 | Capital One Services, Llc | Task management platform |
US11010561B2 (en) | 2018-09-27 | 2021-05-18 | Apple Inc. | Sentiment prediction from textual data |
US11170166B2 (en) | 2018-09-28 | 2021-11-09 | Apple Inc. | Neural typographical error modeling via generative adversarial networks |
US11462215B2 (en) | 2018-09-28 | 2022-10-04 | Apple Inc. | Multi-modal inputs for voice commands |
US10839159B2 (en) | 2018-09-28 | 2020-11-17 | Apple Inc. | Named entity normalization in a spoken dialog system |
US11475898B2 (en) | 2018-10-26 | 2022-10-18 | Apple Inc. | Low-latency multi-speaker speech recognition |
US11638059B2 (en) | 2019-01-04 | 2023-04-25 | Apple Inc. | Content playback on multiple devices |
US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
US20220180291A1 (en) * | 2019-04-02 | 2022-06-09 | Hitachi, Ltd. | Method and system for workflow assignment |
US11475884B2 (en) | 2019-05-06 | 2022-10-18 | Apple Inc. | Reducing digital assistant latency when a language is incorrectly determined |
DK201970509A1 (en) | 2019-05-06 | 2021-01-15 | Apple Inc | Spoken notifications |
US11423908B2 (en) | 2019-05-06 | 2022-08-23 | Apple Inc. | Interpreting spoken requests |
US11307752B2 (en) | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
US11140099B2 (en) | 2019-05-21 | 2021-10-05 | Apple Inc. | Providing message response suggestions |
DK201970511A1 (en) | 2019-05-31 | 2021-02-15 | Apple Inc | Voice identification in digital assistant systems |
US11289073B2 (en) | 2019-05-31 | 2022-03-29 | Apple Inc. | Device text to speech |
DK180129B1 (en) | 2019-05-31 | 2020-06-02 | Apple Inc. | User activity shortcut suggestions |
US11496600B2 (en) | 2019-05-31 | 2022-11-08 | Apple Inc. | Remote execution of machine-learned models |
US11468890B2 (en) | 2019-06-01 | 2022-10-11 | Apple Inc. | Methods and user interfaces for voice-based control of electronic devices |
US11360641B2 (en) | 2019-06-01 | 2022-06-14 | Apple Inc. | Increasing the relevance of new available information |
US20200396787A1 (en) | 2019-06-13 | 2020-12-17 | Toyota Motor North America, Inc. | Managing transport network data access |
US11310135B2 (en) | 2019-06-13 | 2022-04-19 | Toyota Motor North America, Inc. | Managing transport network data access |
US11488406B2 (en) | 2019-09-25 | 2022-11-01 | Apple Inc. | Text detection using global geometry estimators |
US20210096904A1 (en) * | 2019-09-28 | 2021-04-01 | Tencent America LLC | Method and apparatus for a step-enabled workflow |
US11677637B2 (en) | 2019-12-03 | 2023-06-13 | Dell Products L.P. | Contextual update compliance management |
US20210201247A1 (en) * | 2019-12-30 | 2021-07-01 | Avaya Inc. | System and method to assign action items using artificial intelligence |
US11038934B1 (en) | 2020-05-11 | 2021-06-15 | Apple Inc. | Digital assistant hardware abstraction |
US11061543B1 (en) | 2020-05-11 | 2021-07-13 | Apple Inc. | Providing relevant data items based on context |
US11755276B2 (en) | 2020-05-12 | 2023-09-12 | Apple Inc. | Reducing description length based on confidence |
US11490204B2 (en) | 2020-07-20 | 2022-11-01 | Apple Inc. | Multi-device audio adjustment coordination |
US11438683B2 (en) | 2020-07-21 | 2022-09-06 | Apple Inc. | User identification using headphones |
US20220413909A1 (en) * | 2021-06-25 | 2022-12-29 | Intel Corporation | Techniques to enable quality of service control for an accelerator device |
US11977727B1 (en) * | 2021-11-29 | 2024-05-07 | Scribe Support Services, Llc | Method for synchronizing a virtual remote display screen of an application executing on a hardware device with a physical remote device and using the display screen and remote device to record information regarding human behavior |
US20230306327A1 (en) * | 2022-03-04 | 2023-09-28 | International Business Machines Corporation | Techniques for discovering and sharing digital workflow task assignments |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020052771A1 (en) * | 1998-04-30 | 2002-05-02 | Enterworks | Workflow management system, method, and medium with personal sublows |
US6750766B1 (en) * | 2002-02-06 | 2004-06-15 | Sap Aktiengesellschaft | Alerts monitor |
US20040162741A1 (en) * | 2003-02-07 | 2004-08-19 | David Flaxer | Method and apparatus for product lifecycle management in a distributed environment enabled by dynamic business process composition and execution by rule inference |
US20090013047A1 (en) * | 2007-07-06 | 2009-01-08 | James Scott Adreon | Method and apparatus for managing messages related to workflows |
US20090327023A1 (en) * | 2008-06-25 | 2009-12-31 | Nanji Chris | System for management and control of an enterprise |
US20100287023A1 (en) * | 2009-05-05 | 2010-11-11 | Microsoft Corporation | Collaborative view for a group participation plan |
US20110112881A1 (en) * | 2009-11-11 | 2011-05-12 | Harshita Malhotra | System and method for user engagement in to-do list task management |
US20110282706A1 (en) * | 2007-08-20 | 2011-11-17 | Timemaker Llc | Organization management tool |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5911134A (en) * | 1990-10-12 | 1999-06-08 | Iex Corporation | Method for planning, scheduling and managing personnel |
US5270920A (en) * | 1991-05-13 | 1993-12-14 | Hughes Training, Inc. | Expert system scheduler and scheduling method |
US6917962B1 (en) * | 1997-10-22 | 2005-07-12 | Brokercom Inc. | Web-based groupware system |
JPH11191120A (en) * | 1997-12-26 | 1999-07-13 | Hitachi Ltd | Schedule display method and reserved schedule managing method of schedule management system |
US6551243B2 (en) * | 2001-01-24 | 2003-04-22 | Siemens Medical Solutions Health Services Corporation | System and user interface for use in providing medical information and health care delivery support |
US7653873B2 (en) * | 2001-08-31 | 2010-01-26 | Siemens Medical Solutions Health Services Corporation | System and user interface supporting task schedule configuration |
US7451096B2 (en) * | 2001-12-28 | 2008-11-11 | Siemens Medical Solution Usa, Inc. | System and method for managing healthcare communication |
US7089287B2 (en) * | 2002-01-16 | 2006-08-08 | Xerox Corporation | Message-based system having embedded information management capabilities |
US8041583B2 (en) * | 2007-04-12 | 2011-10-18 | Albro Thomas W | System and method for enhancing organizational efficiencies to deliver health care in an ambulatory health care setting |
US7640548B1 (en) * | 2002-06-21 | 2009-12-29 | Siebel Systems, Inc. | Task based user interface |
US20040010437A1 (en) * | 2002-06-29 | 2004-01-15 | Kiran Ali Sukru | Method and system for scheduling and sharing a pool of resources across multiple distributed forecasted workloads |
US20050288571A1 (en) * | 2002-08-20 | 2005-12-29 | Welch Allyn, Inc. | Mobile medical workstation |
US8302019B2 (en) * | 2002-11-05 | 2012-10-30 | International Business Machines Corporation | System and method for visualizing process flows |
US7496500B2 (en) * | 2004-03-01 | 2009-02-24 | Microsoft Corporation | Systems and methods that determine intent of data and respond to the data based on the intent |
US20050267770A1 (en) | 2004-05-26 | 2005-12-01 | International Business Machines Corporation | Methods and apparatus for performing task management based on user context |
US20070005413A1 (en) * | 2005-06-30 | 2007-01-04 | Microsoft Corporation | Dynamic prioritization in a work management process |
US8286183B2 (en) * | 2005-10-22 | 2012-10-09 | Cisco Technology, Inc. | Techniques for task management using presence |
WO2007050877A2 (en) * | 2005-10-27 | 2007-05-03 | Peer Medical Inc. | Use of a mobile communications device to direct medical workflow and as a repository of medical information |
US20070168861A1 (en) * | 2006-01-17 | 2007-07-19 | Bell Denise A | Method for indicating completion status of user initiated and system created tasks |
US20070239509A1 (en) * | 2006-03-30 | 2007-10-11 | International Business Machines Corporation | Method, system, and program product for scheduling events |
US7672746B1 (en) * | 2006-03-31 | 2010-03-02 | Verint Americas Inc. | Systems and methods for automatic scheduling of a workforce |
US8046249B2 (en) * | 2006-12-15 | 2011-10-25 | Hitz John F | System and method for computer network scheduling and communication |
US20080168453A1 (en) * | 2007-01-09 | 2008-07-10 | Caterpillar Inc. | Work prioritization system and method |
US8200206B2 (en) * | 2008-04-21 | 2012-06-12 | W2Bi, Inc. | Virtual mobile and Ad/Alert management for mobile devices |
JP6141640B2 (en) * | 2010-02-05 | 2017-06-07 | コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. | Track action plan generation workflow |
-
2012
- 2012-02-13 US US13/372,444 patent/US20120209654A1/en not_active Abandoned
- 2012-02-13 US US13/372,440 patent/US20120209650A1/en not_active Abandoned
- 2012-02-13 US US13/372,437 patent/US8620709B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020052771A1 (en) * | 1998-04-30 | 2002-05-02 | Enterworks | Workflow management system, method, and medium with personal sublows |
US6750766B1 (en) * | 2002-02-06 | 2004-06-15 | Sap Aktiengesellschaft | Alerts monitor |
US20040162741A1 (en) * | 2003-02-07 | 2004-08-19 | David Flaxer | Method and apparatus for product lifecycle management in a distributed environment enabled by dynamic business process composition and execution by rule inference |
US20090013047A1 (en) * | 2007-07-06 | 2009-01-08 | James Scott Adreon | Method and apparatus for managing messages related to workflows |
US20110282706A1 (en) * | 2007-08-20 | 2011-11-17 | Timemaker Llc | Organization management tool |
US20090327023A1 (en) * | 2008-06-25 | 2009-12-31 | Nanji Chris | System for management and control of an enterprise |
US20100287023A1 (en) * | 2009-05-05 | 2010-11-11 | Microsoft Corporation | Collaborative view for a group participation plan |
US20110112881A1 (en) * | 2009-11-11 | 2011-05-12 | Harshita Malhotra | System and method for user engagement in to-do list task management |
Cited By (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014047461A3 (en) * | 2012-09-20 | 2014-05-08 | Wendell Morton | Systems and methods for workflow automation |
WO2014047461A2 (en) * | 2012-09-20 | 2014-03-27 | Wendell Morton | Systems and methods for workflow automation |
CN105190555A (en) * | 2013-02-15 | 2015-12-23 | 苹果公司 | Centralized task scheduling |
US20140237476A1 (en) * | 2013-02-15 | 2014-08-21 | Apple Inc. | Centralized task scheduling |
US11372672B2 (en) * | 2013-02-15 | 2022-06-28 | Apple Inc. | Centralized task scheduling |
US20150262105A1 (en) * | 2013-03-12 | 2015-09-17 | Thomson Reuters Global Resources | Workflow software structured around taxonomic themes of regulatory activity |
US20140278631A1 (en) * | 2013-03-15 | 2014-09-18 | Ram Karuppusamy | System and method for managing business functions for one or more companies |
US10126716B2 (en) * | 2014-02-11 | 2018-11-13 | Saudi Basic Industries Corporation | Electronic bypass system |
US20150262113A1 (en) * | 2014-03-11 | 2015-09-17 | Bank Of America Corporation | Work status monitoring and reporting |
US9313618B2 (en) | 2014-04-11 | 2016-04-12 | ACR Development, Inc. | User location tracking |
US8942727B1 (en) | 2014-04-11 | 2015-01-27 | ACR Development, Inc. | User Location Tracking |
US9413707B2 (en) | 2014-04-11 | 2016-08-09 | ACR Development, Inc. | Automated user task management |
US9818075B2 (en) | 2014-04-11 | 2017-11-14 | ACR Development, Inc. | Automated user task management |
US20190320031A1 (en) * | 2014-11-04 | 2019-10-17 | Comcast Cable Communication, Llc | Systems and methods for data routing management |
US11729278B2 (en) | 2014-11-04 | 2023-08-15 | Comcast Cable Communications, Llc | Systems and methods for data routing management |
US10693978B2 (en) * | 2014-11-04 | 2020-06-23 | Comcast Cable Communications, Llc | Systems and methods for data routing management |
US20160150387A1 (en) * | 2014-11-25 | 2016-05-26 | Todd Myers Communications, Inc. | TextMuse Message Generator |
US11455190B2 (en) * | 2016-02-05 | 2022-09-27 | Sas Institute Inc. | Implicit status in many task computing |
US10725604B2 (en) * | 2016-03-30 | 2020-07-28 | Lenovo (Singapore) Pte. Ltd. | Virtual notifications |
US20170285878A1 (en) * | 2016-03-30 | 2017-10-05 | Lenovo (Singapore) Pte. Ltd. | Virtual notifications |
US11165722B2 (en) | 2016-06-29 | 2021-11-02 | International Business Machines Corporation | Cognitive messaging with dynamically changing inputs |
US11044212B2 (en) | 2016-06-29 | 2021-06-22 | International Business Machines Corporation | Cognitive messaging with dynamically changing inputs |
US10529446B2 (en) * | 2016-12-22 | 2020-01-07 | International Business Machines Corporation | Continuous health care plan coordination between patient and patient care team |
US20180181721A1 (en) * | 2016-12-22 | 2018-06-28 | International Business Machines Corporation | Continuous Health Care Plan Coordination Between Patient and Patient Care Team |
TWI648966B (en) * | 2018-01-26 | 2019-01-21 | 啓碁科技股份有限公司 | Method and device for incremental upgrade |
US20200118058A1 (en) * | 2018-10-15 | 2020-04-16 | Clean Claims IP, LLC | Real-time workflow tracking |
US11152000B1 (en) | 2019-12-19 | 2021-10-19 | Express Scripts Strategic Development, Inc. | Predictive analysis system |
US11495230B2 (en) | 2019-12-19 | 2022-11-08 | Express Scripts Strategic Development, Inc. | Predictive analysis system |
WO2021211721A1 (en) * | 2020-04-14 | 2021-10-21 | Byrd Jeremy | Accountability tracking system |
US11310357B2 (en) | 2020-07-09 | 2022-04-19 | Toyota Motor North America, Inc. | Transport-to-transport communication network |
US11588931B2 (en) | 2020-07-09 | 2023-02-21 | Toyota Motor North America, Inc. | Transport-to-transport communication network |
US20230079278A1 (en) * | 2021-09-13 | 2023-03-16 | Hewlett Packard Enterprise Development Lp | Efficient progression management in a tracker with multiple sources |
US11909643B2 (en) * | 2021-09-13 | 2024-02-20 | Hewlett Packard Enterprise Development Lp | Efficient progression management in a tracker with multiple sources |
US12143454B2 (en) | 2023-06-27 | 2024-11-12 | Comcast Cable Communications, Llc | Systems and methods for data routing management |
Also Published As
Publication number | Publication date |
---|---|
US20120209649A1 (en) | 2012-08-16 |
US20120209654A1 (en) | 2012-08-16 |
US8620709B2 (en) | 2013-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8620709B2 (en) | Mobile activity manager | |
US10963122B2 (en) | System and method of communication analysis | |
US20140095627A1 (en) | Likelihood of Receiving a Timely Response | |
US10303425B2 (en) | Interactive keyword cloud | |
US10664778B2 (en) | Negotiation of a future communication by use of a personal virtual assistant (PVA) | |
US7904459B2 (en) | Generating a recipient list for propagating contact information changes based on contact metrics involving a user and the recipients on the list | |
US20180067914A1 (en) | Enterprise-related context-appropriate user prompts | |
US8793311B2 (en) | Multi channel, automated communication and resource synchronization | |
US20220311724A1 (en) | Teleporting a new member to a messaging group | |
US20140081691A1 (en) | Systems and methods for workflow automation | |
US10878383B2 (en) | Systems and methods for relationship management | |
US10785450B1 (en) | System and method for intelligent conference session recording | |
US20150142895A1 (en) | Real Life Presence and Dynamic Meeting Scheduling | |
US20210209536A1 (en) | System and method for multi-queue management | |
US20100135472A1 (en) | Automated voice mail communication system | |
US20100169149A1 (en) | Motivating equitable behavior in calendar events | |
US11689479B2 (en) | Generating a user unavailability alert in a collaborative environment | |
US10755236B2 (en) | Device-independent attendance prompting tool for electronically-scheduled events | |
US10210952B2 (en) | System and method for performing automated contact and information delivery | |
US20170070402A1 (en) | System and Method for Generating an Automated Customized Report in Information Technology Service Delivery Environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., PENNSYLVANIA Free format text: SECURITY AGREEMENT;ASSIGNOR:AVAYA, INC.;REEL/FRAME:029608/0256 Effective date: 20121221 Owner name: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., P Free format text: SECURITY AGREEMENT;ASSIGNOR:AVAYA, INC.;REEL/FRAME:029608/0256 Effective date: 20121221 |
|
AS | Assignment |
Owner name: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., THE, PENNSYLVANIA Free format text: SECURITY AGREEMENT;ASSIGNOR:AVAYA, INC.;REEL/FRAME:030083/0639 Effective date: 20130307 Owner name: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., THE, Free format text: SECURITY AGREEMENT;ASSIGNOR:AVAYA, INC.;REEL/FRAME:030083/0639 Effective date: 20130307 |
|
AS | Assignment |
Owner name: AVAYA, INC., NEW JERSEY Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ROMAGNINO, SILVANA D.;OVENDEN, FRANCIS A.;SIGNING DATES FROM 20130304 TO 20130322;REEL/FRAME:030084/0452 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: AVAYA INC., CALIFORNIA Free format text: BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 029608/0256;ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.;REEL/FRAME:044891/0801 Effective date: 20171128 Owner name: AVAYA INC., CALIFORNIA Free format text: BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 030083/0639;ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.;REEL/FRAME:045012/0666 Effective date: 20171128 |
|
AS | Assignment |
Owner name: AVAYA MANAGEMENT L.P., NEW JERSEY Free format text: INTELLECTUAL PROPERTY RELEASE AND REASSIGNMENT;ASSIGNOR:WILMINGTON SAVINGS FUND SOCIETY, FSB;REEL/FRAME:066894/0227 Effective date: 20240325 Owner name: AVAYA LLC, DELAWARE Free format text: INTELLECTUAL PROPERTY RELEASE AND REASSIGNMENT;ASSIGNOR:WILMINGTON SAVINGS FUND SOCIETY, FSB;REEL/FRAME:066894/0227 Effective date: 20240325 Owner name: AVAYA MANAGEMENT L.P., NEW JERSEY Free format text: INTELLECTUAL PROPERTY RELEASE AND REASSIGNMENT;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:066894/0117 Effective date: 20240325 Owner name: AVAYA LLC, DELAWARE Free format text: INTELLECTUAL PROPERTY RELEASE AND REASSIGNMENT;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:066894/0117 Effective date: 20240325 |
|
AS | Assignment |
Owner name: ARLINGTON TECHNOLOGIES, LLC, TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:AVAYA LLC;REEL/FRAME:067022/0780 Effective date: 20240329 |