reference will now be made in detail to the presently preferred embodiments of the invention , examples of which are illustrated in the accompanying drawings . throughout the following detailed description , the same reference numerals refer to the same elements in all figures . in general , the workforce management system provides capabilities to manage caregivers and provide information to managers and advocates when the caregiver is providing care to a patient . in the following description , an example of a home healthcare provider is used to describe the operation of the healthcare system , though the system is anticipated for use in other mobile workforce environments such as workforce environments for assisted transportation , etc . referring to fig1 illustrates a data connection diagram of the exemplary mobile workforce management system . in this example , one or more cell phones 10 communicate through the cellular network 68 and / or through a wide area network 506 ( e . g . the internet ) to a server computer 500 . in some embodiments , user computer systems 10 a also communicate through the cellular network 68 and / or through a wide area network 506 ( e . g . the internet ) to the server computer 500 . the server computer 500 has access to data storage 502 . although one path between the cell phones 10 and the server 500 is through the cellular network 68 and the wide area network 506 as shown , any known data path is anticipated . for example , the wi - fi transceiver 96 ( see fig2 ) of the cell phone 10 is used to communicate directly with the wide area network 506 , which includes the internet , and , consequently , with the server computer 500 . the server computer 500 transacts with the cell phones 10 through the network ( s ) 68 / 506 to present menus to / on the cell phones 10 , provide data to the cell phones 10 , and to communicate information such as caregiver location , etc . in some embodiments , login credentials ( e . g ., passwords , pins , secret codes ) are stored local to the cell phone 10 ; while in other embodiments , login credentials are stored in a data storage 502 ( preferably in a secured area ) requiring a connection to login . the server computer 500 transacts with applications running on the cell phones 10 and / or with applications ( e . g ., browsers ) running on the user computers 10 a . in some embodiments , when the mobile workforce application begins running on the cell phone 10 , the geographic area of the cell phone 10 is determined by reading the gps subsystem 91 ( see fig2 ) of the cell phone 10 or by manual entry by a user . manual entry by a user is made by , for example , entering a street address or by selecting a location on a map . the location from the gps subsystem 91 is forwarded to the server 500 periodically for caregiver tracking and / or the location is logged locally ( e . g ., at the cell phone 10 ) and forwarded to the server 500 at a later time . referring to fig2 , a schematic view of a typical cell phone 10 is shown . the example cell phone 10 represents a typical phone system used for accessing user interfaces ( see fig4 - 13 ) of the system for mobile workforce management . this exemplary cell phone 10 is shown in its simplest form . different architectures are known that accomplish similar results in a similar fashion and the present invention is not limited in any way to any particular cell phone 10 system architecture or implementation . in this exemplary cell phone 10 , a processor 70 executes or runs programs in a random access memory 75 . the programs are generally stored within a persistent memory 74 and loaded into the random access memory 75 when needed . also accessible by the processor 70 is a sim ( subscriber information module ) card 88 having a subscriber identification and often persistent storage . the processor 70 is any processor , typically a processor designed for phones . the persistent memory 74 , random access memory 75 , and sim card are connected to the processor by , for example , a memory bus 72 . the random access memory 75 is any memory suitable for connection and operation with the selected processor 70 , such as sram , dram , sdram , rdram , ddr , ddr - 2 , etc . the persistent memory 74 is any type , configuration , capacity of memory suitable for persistently storing data , for example , flash memory , read only memory , battery - backed memory , magnetic memory , etc . in some exemplary cell phones 10 , the persistent memory 74 is removable , in the form of a memory card of appropriate format such as sd ( secure digital ) cards , micro sd cards , compact flash , etc . also connected to the processor 70 is a system bus 82 for connecting to peripheral subsystems such as a cellular network interface 80 , a graphics adapter 84 and a touch screen interface 92 . the graphics adapter 84 receives commands from the processor 70 and controls what is depicted on a display image on the display 86 . the touch screen interface 92 provides navigation and selection features . in general , some portion of the persistent memory 74 and / or the sim card 88 is used to store programs , executable code , phone numbers , contacts , and data , etc . in some embodiments , other data is stored in the persistent memory 74 such as audio files , video files , text messages , etc . the peripherals are examples and other devices are known in the industry such as global positioning subsystem 91 , speakers , microphones , usb interfaces , bluetooth transceiver 94 , wi - fi transceiver 96 , camera 93 , microphone 95 , image sensors , temperature sensors , etc ., the details of which are not shown for brevity and clarity reasons . the cellular network interface 80 connects the cell phone 10 to the cellular network 68 through any cellular band and cellular protocol such as gsm , tdma , lte , etc ., through a wireless medium 78 . there is no limitation on the type of cellular connection used . the cellular network interface 80 provides voice call , data , and messaging services to the cell phone 10 through the cellular network . for local communications , many cell phones 10 include a bluetooth transceiver 94 , a wi - fi transceiver 96 , or both . such features of cell phones 10 provide data communications between the cell phones 10 and data access points and / or other computers such as a personal computer ( not shown ). referring to fig3 , a schematic view of a typical computer system ( e . g ., server 500 or user computer 10 a ) is shown . the example computer system 500 represents a typical computer system used for back - end processing , generating reports , displaying data , etc . this exemplary computer system is shown in its simplest form . different architectures are known that accomplish similar results in a similar fashion and the present invention is not limited in any way to any particular computer system architecture or implementation . in this exemplary computer system , a processor 570 executes or runs programs in a random access memory 575 . the programs are generally stored within a persistent memory 574 and loaded into the random access memory 575 when needed . the processor 570 is any processor , typically a processor designed for computer systems with any number of core processing elements , etc . the random access memory 575 is connected to the processor by , for example , a memory bus 572 . the random access memory 575 is any memory suitable for connection and operation with the selected processor 570 , such as sram , dram , sdram , rdram , ddr , ddr - 2 , etc . the persistent memory 574 is any type , configuration , capacity of memory suitable for persistently storing data , for example , magnetic storage , flash memory , read only memory , battery - backed memory , magnetic memory , etc . the persistent memory 574 is typically interfaced to the processor 570 through a system bus 582 , or any other interface as known in the industry . also shown connected to the processor 570 through the system bus 582 is a network interface 580 ( e . g ., for connecting to a data network 506 ), a graphics adapter 584 and a keyboard interface 592 ( e . g ., universal serial bus — usb ). the graphics adapter 584 receives commands from the processor 570 and controls what is depicted on a display image on the display 586 . the keyboard interface 592 provides navigation , data entry , and selection features . in general , some portion of the persistent memory 574 is used to store programs , executable code , data , contacts , and other data , etc . the peripherals are examples and other devices are known in the industry such as speakers , microphones , usb interfaces , bluetooth transceivers , wi - fi transceivers , image sensors , temperature sensors , etc ., the details of which are not shown for brevity and clarity reasons . referring to fig4 - 13 , exemplary cell phone user interfaces of the system for mobile workforce management are shown . although many user interfaces are anticipated , one example user interface is a text message interface 400 that is used to inform a caregiver of the upcoming caregiver &# 39 ; s scheduled stops . the scheduling user interface 400 runs on a cellular phone 10 or other portable device . when the messaging application runs , for example , on the user &# 39 ; s cell phone 10 , the messaging application communicates with the server 500 , receiving messages that include patients to be visited , along with times and locations . in this example , each appointment 401 / 402 / 403 includes a patient name , appointment time , and address , etc . in the example shown , the first appointment 401 is at a patient location for john doe from 7 am to 8 am at 8404 hawbuck road in trinity , fla . the patient &# 39 ; s phone number is also presented should the caregiver need to contact the patient . two other patient appointments 402 / 403 are shown , although any number of appointments are anticipated , including one appointment . other directives are anticipated , such as a “ back ” directive 406 to navigate to a previous interface ( not shown for clarity reasons ). by selecting an appointment 401 / 402 / 403 , an appointment user interface is presented as in fig6 . in many text - messaging applications , there is a field 404 for entering a response message , shown for completeness . in an alternate embodiment , the appointment notices are interchanged between the server 500 and an application running on the cellular phone 10 and the appointment schedule 405 is displayed from the application as shown in fig5 . this example is similar to that of fig4 , showing the first appointment 401 is at a patient location for john doe from 7 am to 8 am at 8404 hawbuck road in trinity , fla . the patient &# 39 ; s phone number is also presented in case the caregiver needs to call the patient . two other patient appointments 402 / 403 are shown , although any number of appointments are anticipated , including one appointment . again , by selecting an appointment 401 / 402 / 403 on the user interface 405 , an appointment user interface 410 is displayed as shown as in fig6 . referring to fig6 , a detail appointment user interface 410 of the system for a mobile workforce shows details regarding an appointment 401 . in this , the caregiver has selected one of the appointments 401 / 402 / 403 from the appointment list user interface 405 , for example the first appointment 401 . in the detail appointment user interface 410 , the first appointment 401 is shown along with the current time 423 and the amount of time until the appointment 401 begins 426 ( note , this number is anticipated to be negative as represented as a negative number or a different color , indicating that the caregiver is late for the appointment 401 ). the detail appointment user interface 410 includes an “ arrival ” directive 412 . when the caregiver arrives at the appointment 401 , the caregiver invokes the “ arrival ” directive 412 to signal to the system that the caregiver is present at the appointment 401 . once the caregiver invokes the “ arrival ” directive 412 , an advocate is notified ( if an advocate is associated with the patient ) as in fig1 and 12 . note that once the “ arrival ” directive 412 is selected , the advocate is able to view the location of the caregiver ( e . g ., as in fig1 ) up until the caregiver invokes the “ depart ” directive 436 ( see fig8 ). should the caregiver not be able to make it to the appointment 401 , the caregiver contacts a manager ( e . g ., by voice call or by text message ) and , responsive to such , the manager invokes a “ reach out ” directive 644 to find another caregiver that can cover for this caregiver , as will be described with fig1 . referring to fig7 , a late arrival user interface 420 of the system for a mobile workforce shows details of an appointment to which the caregiver is late . the late arrival user interface 420 is similar to the detail appointment user interface 410 , except it shows the fact that the caregiver is late 422 to the appointment 401 and indicates the current time 423 , but also shows the start time of the appointment 424 and the number of minutes that the caregiver is late 425 . the late arrival user interface 420 also includes the same directives as the detail appointment user interface 410 ; an “ arrival ” directive 412 . should the caregiver not invoke the “ arrival ” directive 412 within a preset interval of the time of that caregiver &# 39 ; s next appointment ( e . g ., the caregiver is late by the preset interval ), the manager is sent a notice ( e . g ., from the server 500 ) indicating such , allowing the manager knowledge for use in contacting the caregiver to make sure they are alright , finding alternate caregivers ( see “ reach out ” directive 644 in fig1 ), and for feedback and improvement purposes . by such notification to the manager , the manager is able to prepare , should the advocate for this particular patient call and query as to why the caregiver has not arrived . this set interval , or tolerance threshold , defaults to a specific number of minutes ( e . g ., five minutes ) and is changeable by the manager ( s ). should the caregiver invoke the “ arrival ” directive 412 before arriving at the patient &# 39 ; s place of residence and the caregiver is further than a pre - set distance from the patient &# 39 ; s place of residence , another message is sent to the manager indicating that the caregiver has signaled arrival early . for example , if the pre - set distance is one - half mile and the caregiver invokes the “ arrival ” directive 412 when the caregiver is one mile from the patient &# 39 ; s place of residence , the manager is informed , enabling corrective action and feedback to the caregiver and providing data for the manager to edit billing records to discount for the time that was not actually spent with the patient . in some embodiments , the message includes an identification of the caregiver ( e . g ., name ), the patient name , and / or the actual distance that the caregiver is from the residence of the patient . in any case , the advocate receives a message indicating that the caregiver has arrived at the residence of the patient as explained in fig1 . in some embodiments , once the “ arrival ” directive 412 is invoked , a camera 93 and / or microphone 95 of the caregiver &# 39 ; s cell phone 10 is activated to record audio and / or video transcripts of the interaction between the caregiver and the patient . in some embodiments , during the interval between when the caregiver invokes the “ arrival ” directive 412 and when the caregiver invokes the “ departed ” directive 436 , a video and / or audio stream will be available to the advocate so that the advocate sees and / or hears the interactions between the caregiver and the patient . in some embodiments in which the video and / or audio stream is available , the advocate will have a function to initiate viewing and / or listening such as the “ stream ” directive 479 of fig1 either only during the period between when the caregiver invokes the “ arrival ” directive 412 and when the caregiver invokes the “ departed ” directive 436 while in other embodiments , the advocate will have a function to initiate viewing and / or listening such as the “ stream ” directive 479 of fig1 , even after the caregiver invokes the “ departed ” directive 436 , retrieving stored video and / or audio from the data storage 502 . the manager will always have access to each video and / or audio stream for employee improvement programs and responses to client questions , etc . referring to fig8 , a user interface 430 showing the caregiver is at the appointment is shown . the user interface 430 showing the caregiver is at the appointment is a result of the caregiver invoking the “ arrival ” directive 412 ( see above ), showing the time that the caregiver checked in 431 , the current time 423 , and the number of minutes until the caregiver is expected to depart 433 from the appointment . the user interface 430 showing the caregiver is at the appointment has a “ depart ” directive 436 and a “ get help ” directive 438 . the “ depart ” directive 436 informs the system for a mobile workforce that the caregiver has departed from the current appointment 401 . in some embodiments , a “ get help ” directive 438 is provided to provide fast access to a network of first responders . invoking the “ get help ” directive 438 initiates processes that , for example , issue a call to 911 for emergency response , signals management so that management can direct other caregivers to the location of the appointment , etc . once the caregiver invokes the “ depart ” directive 436 , the location of the caregiver is no longer visible to the advocate ( e . g ., the location of the caregiver as in fig1 is disabled or replaced with a message ). the location of the caregiver is still discoverable by a manager as long as the caregiver remains active in the application . should the caregiver leave the residence of the patient without invoking the “ depart ” directive 436 , notices are sent to the caregiver ( and optionally to the manager ). the notices inform the caregiver to the fact that they may have forgotten to invoke the “ depart ” directive 436 as a reminder and , generally have an “ override ” feature to inform the system that the caregiver is still providing care to the patient , for example , transporting the patient . in some embodiments , the missed departure notices are sent once the caregiver reaches a specific distance from the residence of the patient ( e . g ., one - half mile from the residence of the patient ). the specific distance has a default value and there is a mechanism for a manager to change the warning distance . once the caregiver reaches the specific distance from the residence of the patient , a first message is sent . as an example , if the caregiver is still at least the specific distance from the residence of the patient after a period of time , a second message is sent ( e . g . 10 minutes after the first message ) and after a greater period of time , a third message is sent ( e . g . 30 minutes after the second message ), and so on . referring to fig9 , an in - route user interface 440 of the system for a mobile workforce shows that the caregiver has finished and checked - out of the first appointment 401 and is in - route to the next appointment 402 . for informational use , there is a display of the time that the caregiver checked out 441 . in some embodiments , the distance traveled in - route is recorded and stored in the data storage 502 . in the in - route user interface 440 , the next appointment from the appointments 401 / 402 / 403 is displayed , in this example the second appointment 402 . in the in - route user interface 440 , the appointment 402 is shown along with the current time 423 and the amount of time until the next appointment 402 begins 435 ( note , this number is anticipated to be negative as represented as a negative number or a different color , indicating that the caregiver is late for the appointment 402 ). the in - route user interface 440 includes an “ arrival ” directive 412 . when the caregiver arrives at the appointment 401 , the caregiver invokes the “ arrival ” directive 412 to signal to the system that the caregiver is present at the appointment 402 . should the caregiver not be able to make it to the appointment 402 , the caregiver contacts a manager as described previously . referring to fig1 illustrates request - for - coverage user interface 460 of the system for a mobile workforce shows the location from where the caregiver requests help . in this , the caregiver has contacted a manager ( see fig1 ) and the manager has invoked the “ reach out ” function 644 ( see fig1 ) requesting that some other caregiver cover for the next appointment 402 . by using knowledge of the locations of each caregiver , the server 500 sends the request - for - coverage user interface 460 to all qualified caregivers in a specific radius or distance ( e . g ., measured in miles , or time ). for example , if two qualified caregivers are within a five - minute drive of the next appointment 402 and all other qualified caregivers are further away , the request - for - coverage user interface 460 is sent to the two caregivers that are within a five - minute drive of the next appointment 402 . if any of the caregivers that receive the request - for - coverage user interface 460 are able to cover , that caregiver responds by invoking the “ yes ” directive 466 . otherwise , that caregiver responds by invoking the “ no ” directive 468 . a qualified caregiver is a caregiver that has the skills and / or certifications required to care for the patient of the next appointment 402 . in some embodiments , the server 500 determines an initial set of other caregivers based upon distance / travel - time from the next appointment 402 and sends the request - for - coverage user interface 460 to each in that set . if multiple other caregivers in the initial set respond by invoking the “ yes ” directive 466 , the server 500 selects one and sends the selected caregiver an appointment user interface 410 . the server 500 sends the other caregivers in the initial set a “ thank - you , but no need ” message . in some embodiments , if all other caregivers respond by invoking the “ no ” directive 468 , the server 500 determines another set of qualified caregivers by increasing the threshold of distance / travel - time from the next appointment 402 and sends the request - for - coverage user interface 460 to each in this new set , and so forth until the server 500 either finds another caregiver that can cover for the next appointment 402 or the server determines that the appointment cannot be covered and the server informs management and optionally the advocate that the appointment will have to be canceled or other action be taken . referring to fig1 , an advocate user interface 470 of the system for a mobile workforce is shown . although any user interface is anticipated , the advocate user interface 470 shown is a text message interface for informing an advocate ( e . g ., a parent , doctor , sibling , child who advocates for the patient ) with a message 471 indicating that the caregiver has arrived at the place of care . the advocate user interface 470 provides peace of mind to the advocate that their loved one is receiving care at the anticipated time . should the advocate want to see the location of the caregiver , the advocate selects the “ show ” icon 472 and a map as in fig1 is displayed showing the location of the patient &# 39 ; s residence 478 and the location of the caregiver 476 , both being coincidental in the example shown . note that , for some services , it is anticipated that the caregiver transports the patient , for example , for a doctor &# 39 ; s visit , to a pharmacy , etc . in that case , it is anticipated that the location of the caregiver 476 will be distal from the patient &# 39 ; s residence 478 until the caregiver ( and patient ) return to the patient &# 39 ; s residence 478 . once the caregiver invokes the “ depart ” directive 436 , the advocate no longer receives location information and the interface of fig1 is replaced with an “ inactive ” message or a message as that shown in fig1 is displayed . in embodiments in which the caregiver captures video and / or audio of the interactions between the caregiver and the patient , the advocate has access to the video and / or audio through the “ stream ” directive 479 . in such , invoking the “ stream ” directive 479 ( e . g ., after the caregiver invoked the “ arrival ” directive 412 ) results in a display of the video and / or reproduction of the audio at the device of the advocate . once the caregiver invokes the “ depart ” directive 436 , the advocate no longer has access to the video and / or audio stream . in some embodiments , the video and / or audio is saved in the data storage 502 for later access by the manager and / or the advocate . referring to fig1 , another advocate user interface 480 of the system for a mobile workforce is shown . although any user interface is anticipated , this advocate user interface 480 is a text message interface for informing an advocate ( e . g ., a parent , doctor , sibling , child who advocates for the patient ) with a message 481 indicating that the caregiver has departed from the place of care . the second advocate user interface 480 provides an indication of fulfilling the anticipated duration of the patient care as the message 481 is typically time / date stamped . referring to fig1 , an employee data user interface 640 of the system for a mobile workforce showing a list of caregivers is shown . for example , one caregiver 646 is steven jacobs . if this caregiver 646 is actively providing care ( e . g ., has notified of arrival and not yet departed ), the patient and location being visited is shown . there are directives 642 for managers to edit or delete that caregiver . there are global directives for reaching out 644 , designations , and adding a new caregiver . the “ reach out ” directive 644 provides for on - the - fly staffing situations . for example , if a caregiver has a flat tire in route to an appointment , that caregiver involves the manager who invokes the “ reach out ” directive 644 to reach out to other caregivers ( any caregiver that is logged in to the application ) to try and substitute for the caregiver with the car trouble ( as communicated by , for example , voice or text ). to do this , the manager clicks on the “ reach out ” directive 644 and enters the address of the patient ( e . g ., selects one of the patients or a specific scheduled appointment ). in some embodiments , the server 500 determines which other caregivers will receive the request - for - coverage user interface 460 ( see description of fig1 above ), or alternately , the manager selects a desired radius / distance from which the other caregivers are from the subject location ( e . g ., from how far the manager wants to draw ) and the designation of caregivers required to fill the patient &# 39 ; s needs ( e . g . the skills required such as that of a registered nurse , etc .). once the distance and designations are entered , the manager issues the reach out . those caregivers that meet the criteria ( distance and skills ) show up on the user interface for selection by the manager . the reach - out user interface 460 of the system for a mobile workforce is sent to each caregiver that meets the criteria , requesting a substitute caregiver at an appointment and requesting confirmation if they are able to substitute . in some embodiments , once the caregivers who meet the criteria are identified , the manager then enters in a brief message . this message , along with details of the appointment , is sent to the caregiver who agreed to cover , e . g . by a text message or user interface similar to that of fig6 . referring to fig1 , a patient data user interface 650 of the system for a mobile workforce displaying a list of patients is shown . in this , data regarding each patient is listed , including the patient names 656 , addresses , etc . global directives 654 are provided to access followers for each of the patient ( e . g . an advocate or a loved one of each patient ), messaging , and adding of new patients and / or advocates . each entry has directives 652 for editing or deleting the patient record . referring to fig1 , a schedule user interface 660 of the system for providing care showing a visit schedule for one caregiver is shown . in this example , the schedule for one caregiver 662 ( steven jacobs ) is shown , having three patient visits 401 / 402 / 403 scheduled along with data regarding each visit . global directives 664 are provided to change this view between a month - at - a - time , a week - at - a - time , and a day - at - a - time . the schedule is created both manually by a manager and / or automatically under program control . in automatic mode , a scheduler process running on the server 500 takes into account the needs of each patient that must be visited , the capabilities of each of the caregivers , and the distance / time between patients to suggest or propose a schedule for each caregiver as , for example , shown in fig1 . for example , the scheduler found three patients 401 / 402 / 403 that have need of services that match the skills of the selected employee ( caregiver ) 662 and that are close enough to each other as to provide ample time for the caregiver to drive from each appointment to the next . the scheduler allows for a manager to override the scheduler &# 39 ; s suggestions , for example , changing the allotted drive time to a lower delta - time or a higher delta - time , etc ., or to insert other patients in the schedule as needed . a manager also has the ability to assign different patients to specific caregivers , etc . the scheduler has heuristics that determine the schedule , taking into account the needs of each patient that must be visited , the capabilities of each of the caregivers , and the distance / time between patients , and the heuristics are tuned by , for example , parameters such as minimum delta - time , maximum patients per day , maximum drive time between patients , and blacklists ( e . g ., lists of caregiver - patient combinations to avoid , possibly due to previous conflicts or mistrust ). referring to fig1 , a caregiver review user interface 670 of the system for a mobile workforce showing the prior activities of a particular caregiver is shown . in this example , one caregiver is selected ( john doe ) along with a date range 672 and results for that caregiver are displayed . by selecting the flag icon 676 on one of the entries in the results 675 , the route taken by the caregiver is displayed on a map 678 . note that whenever a caregiver has activated the caregiver application on their cell phone 10 , the manager has access to the location of the caregiver ( e . g ., as shown if fig1 ). once the caregiver is finished for the day , the caregiver exits the application and the manager no longer has access to the caregiver &# 39 ; s location , for privacy of the caregiver . historical data is maintained regarding the route taken by the caregiver for future reviews , as shown in fig1 . in embodiments in which video and / or audio was captured by the caregiver during the appointment , the manager has access to the video and / or audio through a directive , e . g ., as a “ video ” directive 677 in this example . referring to fig1 , a time report user interface 680 of the system for a mobile workforce is shown . the time report user interface 680 shows past visit records for one caregiver 684 ( e . g ., john doe ) for a specific date range 682 . for example , this caregiver visited jane doe on 10 / 09 / 2015 arriving at 07 : 11 and departing at 08 : 07 , for duration of 00 : 56 as shown in the first record 686 . as another example , this caregiver visited jane doe on 10 / 22 / 2015 arriving at 14 : 19 and departing at 14 : 20 , for a duration of 00 : 01 as shown in the second record 688 . referring to fig1 , a patient report user interface 690 of the system for a mobile workforce is shown having dates , times , and durations of visits . in this , a date range 692 is entered and a report generated showing prior visits to a particular patient 694 ( jane doe in this example ), along with visit arrival times , departure times , and durations 696 . all interactions between the caregivers and the patients are tracked and logged ( e . g ., the data in fig1 ). for example , each completed appointment &# 39 ; s start time , caregiver , end time , travel time , and mileage ( e . g ., mileage between appointments ) is logged and stored in the patient care data 502 . these records are later exported to other applications for time reporting and compensation of the caregivers and to other applications for billing of the patients or insurance companies . in embodiments in which video and / or audio are captured , access to the video and / or audio is provided , for example , by selecting any one of the interactions of fig1 . in some embodiments , data masking is provided to improve privacy . data masking includes any redaction of information regarding the patient and / or advocate to improve privacy should an unauthorized person see any of the above data screens . for example , in notices to the advocate , the last name and address of the patient is redacted so anyone having access to the advocate &# 39 ; s device will only know that a caregiver is visiting with a patient having a specific first name and , if the infiltrator does not know the advocate or patient , the infiltrator will not be able to determine the full name and address of the patient . likewise , in some embodiments , date provided to the caregiver is also redacted so that the caregiver only knows the address and first name of the patient , etc . in some embodiments , the last name is redacted completely or it is truncated ( e . g ., “ jane do ” or “ jane d .” for “ jane doe ”). the system has fallback operations using text messages for caregivers who do not have smart cell phones 10 that are capable of running the application . in such , the server receives and sends text messages to such advocate &# 39 ; s non - smart cell phones 10 . in this , the caregiver receives formatted messages and responds with specific words or phrases in text messages such as “ arrived ,” “ departed ,” etc . the server recognizes these words and takes similar actions as with the user interfaces above . it is anticipated that some cell phones 10 do not have location tracking systems and , in such cases , the only tracking available is when the caregiver sends a message saying where they are located ( e . g ., “ arrived a jane d &# 39 ; s residence ”). referring to fig2 and 21 , exemplary program flows of the system for a mobile workforce are shown . it is anticipated that portions of the exemplary program flow execute on a user device such as a cell phone 10 and / or a personal computer 10 a ( e . g ., using a browser or application running on the personal computer 10 a ) while portions of the exemplary program flow execute on the server 500 . in this example , the flow starts retrieving and displaying 200 the list of appointments . this is , for example , receiving a text message as in the text message interface 400 of fig4 or by downloading the list of appointments into an application running on the cell phone 10 as in the appointment schedule 405 as shown in fig5 . for brevity reasons , the selection of the first appointment is anticipated and the first appointment is loaded and displayed 201 . each time through the loop a , the gps subsystem 91 of the cell phone 10 is used to determine the location of the caregiver ( assuming the cell phone 10 is in the locale of the caregiver ). if the location of the cell phone is at the address of the appointment and the “ arrival ” 412 directive is invoked 210 , patient care is underway ( see fig2 ). if the location of the cell phone is at the address of the appointment and the “ arrival ” 412 directive has not been invoked 210 , the above is repeated at loop a , reading the location of the caregiver 202 . in some embodiments , a delay is made between iterations as known in the industry . if the location of the cell phone is not at the address of the appointment and the “ arrival ” 412 directive is invoked 210 ( e . g ., the caregiver is trying to indicate that he / she arrived but is not at the requisite location ), steps are taken to provide feedback to the caregiver such as logging the issue 220 and notifying a manager 222 ( e . g ., sending a text message to the manager ) before patient care begins ( see fig2 ). note that “ at the address ” is considered to be within a programmable distance of the address of the patient . for example , within 300 feet of the address of the patient or ½ mile of the patient , allowing for the caregiver to invoke the “ arrival ” 412 directive while remaining in a vehicle . once patient care commences , a message is sent 250 to the advocate , as for example , in the text message 470 of fig1 . during patient care a loop ( b ) begins with reading 252 the gps subsystem 91 of the cell phone 10 to determine the location of the caregiver . if the caregiver in not at the location 254 and the type of care being provided is not transportation 260 , a warning 262 is issued and the loop a continues . if the caregiver in not at the location 254 and the type of care being provided is transportation 260 , the loop a continues . if the caregiver is still at the location 254 and the caregiver has invoked the “ depart ” directive 436 , in some embodiments , another message is sent 264 to the advocate indicating departure . the next appointment is loaded 265 and the loop a repeats ( see fig2 ) operating on the next appointment . if the caregiver is still at the location 254 and the caregiver has not invoked the “ depart ” directive 436 , but has invoked the “ get help ” directive 428 ( see fig8 ), any of various steps are taken such as using the cell phone 10 dialer subsystem to call for emergency services 267 ( e . g ., call 911 ), sending a text message to a manager to summon help , broadcasting an alert to nearby caregivers , etc . if the caregiver is still at the location 254 , the caregiver has not invoked the “ depart ” directive , and the caregiver has not invoked the “ get help ” directive 428 , the loop b repeats . again , it is anticipated that there be a delay taken each time through the loop b . in some embodiments , while the caregiver is with the patient ( e . g ., the caregiver has invoked the “ arrival ” directive 412 and has not invoked the “ depart ” directive 436 ), the advocate has the ability to see the location of the caregiver . this is anticipated for use in , for example , patient transportation . for example , once the caregiver has invoked the “ arrival ” directive 412 ( e . g ., is with a patient ), the patient &# 39 ; s advocate receives a message 471 indicating such . this patient &# 39 ; s advocate has the ability to run an advocate user interface ( not shown ) similar to the user interface of fig1 , showing the location of the caregiver , and likewise , the location of the patient , assuming the patient is with the caregiver . note that for privacy reasons , once the “ depart ” directive 436 is invoked , the patient &# 39 ; s advocate is prevented from detecting the location of the caregiver and , likewise , no other advocates are allowed to view the location of the caregiver until the caregiver invokes the “ arrival ” directive 412 at the location of that advocate &# 39 ; s loved one ( patient ). in this way , other advocates are not permitted to see / determine other patients that are being visited for privacy reasons . in some embodiments in which the caregiver captures video and / or audio during the appointment , once the “ arrival ” directive 412 has been invoked and until the “ departed ” directive 436 is invoked , the advocate has access to view and / or listen to the video and / or audio . in some other embodiments in which the caregiver captures video and / or audio during the appointment , the advocate has access to view and / or listen to the video and / or audio even after the “ departed ” directive 436 is invoked , retrieving a stored copy from the data storage 502 . equivalent elements can be substituted for the ones set forth above such that they perform in substantially the same manner in substantially the same way for achieving substantially the same result . it is believed that the system and method as described and many of its attendant advantages will be understood by the foregoing description . it is also believed that it will be apparent that various changes may be made in the form , construction and arrangement of the components thereof without departing from the scope and spirit of the invention or without sacrificing all of its material advantages . the form herein before described being merely exemplary and explanatory embodiment thereof . it is the intention of the following claims to encompass and include such changes .