Application of database or data structure (e.g., distributed, multimedia, image)

Method, apparatus and system for processing compliance actions over a wide area network

6985922

Abstract

The method, apparatus and system are provided for obtaining information regarding compliance with local laws via client computers to upload information to a centralized server preferably over a wide area network. The data is obtained through interaction with a client device and the data is stored on a server. The server has access to a database engine which provides triggering and alarming capabilities for the tracking of applicable dates and events. The server system is provided with software and/or hardware necessary to perform manipulation of the data provided by the client and enable reconfiguration of the data for investigative and reporting purposes.


Claims

What is claimed is:

1. A computer network comprising:

at least one client device operative with the computer network;

at least one server, the server constructed and arranged to receive a request from at least one client device, the at least one server enabling the execution and operation of:

a case status module;

an intake module operative with the case status module;

a role module operative with the case status module;

an accounting module operative with the case status module;

an alert distribution module operative with the case status module and the role module;

a correspondence distribution module operative with the case status module;

a document distribution module operative with the correspondence distribution module; and

a client information module, the client information module operative with the case status module, the client information module operative with the correspondence module, the client information module operative with the document distribution module, and the client information module operative with the agency module;

wherein, the modules on the server service the request from the client device.

2. The computer system as in claim 1, wherein the case status module comprises:

a settlement object;

a relatedcase object;

an employmentstatus object;

a case object;

a casestatus object;

a casenote object;

a casetype object;

a content object;

a user object;

a tecounter object;

an activitylog object;

an employee object;

a statushistory object;

an activity object; and

a casecalendar object.

3. The computer system as in claim 1 wherein the intake module comprises:

an issue object;

a caseissue object;

a basis object;

a casebasis object;

a charge object;

an agencycontact object;

a dismissaltype object;

a determinationtype object;

a complaint object; and

a submissiontype object;

an agency object; and

an address object.

4. The computer system as in claim 1 wherein the role module comprises:

a userrole object;

a role object;

a rolereport object;

a report object; and

a rolealert object.

5. The computer system as in claim 1 wherein the alert distribution module comprises:

a useralert object;

an alert object; and

an alerthistory object.

6. The computer system as in claim 1, wherein the accounting module comprises:

an invoicemaster object; and

a payment object.

7. The computer system as in claim 1 wherein the client information module comprises:

a clientcontact object;

a clienthq object;

a clientdivision object;

a clientcontacts object;

a clientnote object;

a uniontype object;

a clientunion object;

a clientlocation object;

a sic object; and

a clientsic object.

8. The computer system as in claim 1 wherein the document distribution module comprises:

a documenttemplate object;

a clientdocument-recipient object;

a documentdistribution object; and

a clientdocument object.

9. The computer system as in claim 1 wherein the correspondence distribution module comprises:

a correspondencetemplate object;

a clientcorrespondencerecipient object;

a clientcorrespondence object;

a casecorrespondence object;

a correspondencedistribution object;

an approvalstatus object; and

a casedocument object.

10. The computer system as in claim 1 the computer system further having a help object.

11. The computer system as in claim 2 wherein the settlement object comprises:

a settlementid property;

a rangelower property;

a rangeupper property;

a rangedesc property;

a settlementdate property;

a demandedamount property;

a demanddesc property;

an actualamount property; and

an actualdesc property.

12. The computer system as in claim 2 wherein the relatedcase object comprises:

a caseid2 property;

a caseid1 property; and

a relationshipdesc property.

13. The computer system as in claim 2, wherein the employmentstatus object comprises:

an empstatusid property; and

a status-name property.

14. The computer system as in claim 3, wherein the dismissaltype object comprises:

a dismissaltypeid property;

a typename property; and

an activeind property.

15. The computer system as in claim 2, wherein the case object comprises:

a caseid property;

a clientlocationid property;

an empstatusid property;

a casetypeid property;

a complaintid property;

a casemanager-userid property;

a casestatusid property;

a casesubstatusid property;

a dismissaltypeid property;

a settlementid property;

a tscliinforecordid property;

a consultantuserid property;

a casenumber property;

a tecode property;

a rate property;

a ratetype property;

a datereactivated property;

a dateclosed property;

a reportduedate property;

an insuranceclaimno property;

a courtfilingdate property;

a courtstate property;

a courtcircuit property;

a dateadded property;

a datemodified property;

an addedby property;

a modifiedby property;

a firstname property;

a lastname property;

a complaint property;

a datereceived property;

a jobtitle property; and

a title property.

16. The computer system as in claim 2, wherein the casestatus object comprises:

a casestatusid property;

a complainantcontentid property;

a statusname property;

a sortsequence property;

a closureind property;

a parentstatusid property;

an activeind property;

a tempactiveind property;

a clientstatus property;

a statusdesc property; and

an abbreviation property.

17. The computer system as in claim 2, wherein the casenote object comprises:

a casenoteid property;

a caseid property;

a note property;

a userid property; and

a notedate property.

18. The computer system as in claim 2, wherein the case-type object comprises:

a casetypeid property;

a casetypename property; and

an abbreviation property.

19. The computer system as in claim 2, wherein the content object comprises:

an id property;

a description property;

a language property; and

a body property.

20. The computer system as in claim 2, wherein the user object comprises:

an id property;

a clienthqid property;

a lastname property;

a firstname property;

a middle name property;

a prefix property;

a suffix property;

a username property;

a password property;

an employeeind property;

an email property;

a lastvisited property;

a visitcount property;

a clientind property;

a lockedind property; and

a statuscode property.

21. The computer system as in claim 2, wherein the activitylog object comprises:

an activitylogid property;

an actoruserid property;

an activitydate property;

an activityid property;

a caseid property;

an invoiceid property;

an activitydescription property;

a timespent property;

a tsdescription property;

a tstask-code property;

a billableind property;

an exportedind property;

an exportdate property; and

a tsslipid property.

22. A computer system as in claim 2, wherein the employee object comprises:

an employeeid property;

a supervisoruserid property;

an employeeuserid property;

an initials property;

a title property;

an education property;

a background property;

a datehired property;

a workhours property;

a fridaygroup property;

a specialprojects property;

an activecasecount property;

a rating property;

a tsnickname1 property;

a tsnickname2 property; and

a tsname-id property.

23. A computer system as in claim 2, wherein the statushistory object comprises:

an entityid property;

an entityname property;

a datemodified property;

a userid property; and

a statuscode property.

24. A computer system as in claim 2, wherein the activity object comprises:

an activityid property;

a casesubstatusid property;

a casestatusid property;

an activityname property;

an activitydescription property;

a tstask-code property;

a sortsequence property;

an activitysequence property; and

a lockedind property.

25. A computer system as in claim 2, wherein the casecalendar object comprises:

a calendarid property;

a caseid property;

a userid property;

an activityid property;

an eventdate property;

a description property;

a closedind property; and

an eventtitle property.

26. The computer system as in claim 3, wherein the complaint object comprises:

a complaintid property;

a submissionuserid property;

a submissiontypeid property;

a complainantfirstname property;

a complainantlastname property;

a workaddressid property;

a complaint property;

a clienthqid property;

a jobtitle property;

a note property;

a datereported property;

a reportrecipient property;

a clientaction property;

a sjbcaction property;

a submissionno property;

a submissiondate property;

an empname property;

an empdivision property;

an emplocation property;

a statuscode property; and

a complainantcontacttimes property.

27. The computer system as in claim 3, wherein the submission-type object comprises:

a submissiontypeid property;

a typename property; and

a description property.

28. The computer system as in claim 3, wherein the issue object comprises:

an issueid property; and

an issuename property.

29. The computer system as in claim 3, wherein the caseissue object comprises:

an issueid property;

a caseid property; and

an agencyid property.

30. The computer system as in claim 3, wherein the basis object comprises:

a basisid property; and

a basisname property.

31. A computer system as in claim 3, wherein the casebasis object comprises:

a basisid property;

a caseid property; and

an agencyid property.

32. A computer system as in claim 3, wherein the charge object comprises:

an agencyid property;

a caseid property;

an agencycontactid property;

a determinationtypeid property;

a resolutiondate property;

a primaryind property;

a datedfiled property;

a note property;

a determinationdate property;

a datereopened property;

a chargeno property; and

a classactionind property.

33. The computer system in claim 3, wherein the agencycontact object comprises:

an agencycontactid property;

an agencyid property;

an addressid property;

a lastname property;

a firstname property;

a title property;

an investigatorind property;

an executiveind property;

a notes property; and

a status-code property.

34. The computer system as in claim 3, wherein the agency object comprises:

an agencyid property;

an addressid property;

an agencyname property;

an agencytype property;

a directorname property;

a url property;

a statuscode property;

a timezone property; and

a notes property.

35. The computer system as in claim 3, wherein the address object comprises:

an addressid property;

an address1 property;

an address2 property;

an address3 property;

a city property;

a state property;

a postalcode property;

a phone property;

an extension property;

a fax property;

an email property;

an addresseename property;

an auxphone property;

an auxphonenote property;

a homeaddressind property; and

a homephone property.

36. The computer system as in claim 4, wherein the userrole object comprises:

a userid property; and

a roleid property.

37. The computer system as in claim 4, wherein the role object comprises:

a roleid property;

a roletitle property;

a rolename property;

a roledesc property;

an employeeind property; and

a clientind property.

38. The computer system as in claim 4, wherein the role-report object comprises:

a reportid property; and

a roleid property.

39. The computer system as in claim 4, wherein the report object comprises:

a reportid property;

a reporttitle property; and

an orientation property.

40. The computer system as in claim 4, wherein the rolealert object comprises:

an alertid property; and

a roleid property.

41. The computer system as in claim 5, wherein the useralert object comprises:

a userid property; and

an alertid property.

42. The computer system as in claim 5, wherein the alert object comprises:

an alertid property;

an alertname property;

an alertdesc property;

an alertmessage property;

an alerttitle property;

an alertsubject property;

an emailind property; and

a websiteind property.

43. The computer system as in claim 5, wherein the alerthistory object comprises:

an alerthistoryid property;

an alertid property;

a userid property;

an alertsubject property;

an alertbody property;

a dateadded property;

a datesent property; and

a dateviewed property.

44. The computer system as in claim 6, wherein the invoice-master object comprises:

an invoiceid property;

a caseid property;

a startdate property;

an enddate property;

an invoicedate property;

a tsrecord-id property;

a feeamount property;

an expenseamount property; and

a pifind property.

45. The computer system as in claim 6, wherein the payment object comprises:

a paymentid property;

an invoiceid property;

a paymentno property;

an authrorizinguserid property;

a paidamount property;

a paymentdate property;

a note property; and

a paymenttype property.

46. The computer system as in claim 7, wherein the clientcontact object comprises:

a clientcontactid property;

a userid property;

an addressid property;

a title property;

an activeind property; and

a statuscode property.

47. The computer system as in claim 7, wherein the client-hq object comprises:

a clienthqid property;

an addressid property;

a clientname property;

a clientnameshort property;

a displayname property;

a clienttype property;

a clientdbaname property;

a filenumber-prefix property;

a filenumbercounter property;

an aliases property;

a productsservices property;

a presidentname property;

a url property;

a ceoname property;

a statefederalcontractind property;

an employeecount property;

a corporateunion-ind property;

a timezone property;

an incorporation-state property;

an rfiturnaround property;

a psturnaround property;

a followupperiod property;

an updateperiod property;

a witnessinterview-ind property;

an intrate property;

an intrate-type property;

an extrate property; and

an extrate-type property.

48. A computer system as in claim 7, wherein the client-division object comprises:

a clientdivisionid property;

a clienthq-id property;

an addressid property;

a clientname property;

a clientnameshort property;

a displayname property;

a clienttype property;

a filenumber-prefix property;

a timezone property;

an rfiturnaround property;

a psturnaround property;

a followupperiod property;

an updateperiod property;

a witnessinterview-ind property;

an exitinterview-ind property;

an intrate property;

an intrate-type property;

an extrate property; and

an extratetype property.

49. A computer as in claim 7, wherein the clientcontacts object comprises:

a clientcontactsid property;

a clienthqid property;

a clientcontactid property;

a clientlocationid property;

a clientdivisionid property;

a billtoind property;

a primarypocind property;

an appocind property;

an activeind property;

a statuscode property; and

a billtoccind property.

50. A computer system as in claim 7, wherein the clientnote object comprises:

a clientnoteid property;

a clientlocationid property;

a clientdivisionid property;

a clienthqid property;

a note property;

a userid property; and

a notedate property.

51. A computer system as in claim 7, wherein the uniontype object comprises:

a uniontypeid property;

a name property;

an abbreviation property; and

a url property.

52. A computer system as in claim 7, wherein the clientunion object comprises:

a uniontypeid property;

a clientlocation-id property;

a clientdivision-id property;

a clienthq-id property;

an addressid property;

a localnumber property;

a url property;

a cbaonlineind property; and

an abbreviation property.

53. A computer system as in claim 7, wherein the clientlocation object comprises:

a clientlocationid property;

a clienthqid property;

a clientdivisionid property;

an addressid property;

a clientname property;

a clientnameshort property;

a displayname property;

a policynumber property;

a policydeductible property;

a clienttype property; and

a timezone property.

54. A computer system as in claim 7, wherein the sic object comprises:

a siccodeid property;

a sicname property;

a sicdescription property; and

a siccode property.

55. A computer system as in claim 7, wherein the clientsic object comprises:

a clienthqid property; and

a siccodeid property.

56. A computer system as in claim 2, wherein the tecounter object comprises:

a counter property.

57. A computer system as in claim 8, wherein the documenttemplate comprises:

a documenttemplate-id property;

a documenttitle property;

a filename property;

a version property;

an opendate property;

a closedate property; and

an activeind property.

58. A computer system as in claim 8, wherein the clientdocument object comprises:

a clientdocumentid property;

a clientdivisionid property;

a clienthqind property;

a documenttemplateid property;

a documenttitle property;

a requiredind property;

a hardcopyind property;

a hardcopydistributionmethod property; and

an approvalind property.

59. A computer system as in claim 8, wherein the document-distribution object comprises:

a documentdistributionid property;

an approvalstatus property;

a documentid property;

a clientcontactid property;

a view date property;

a responsedate property;

a response property;

an approvalind property; and

a dateadded property.

60. A computer system as in claim 8, wherein the clientdocumentrecipient object comprises:

a documenttemplateid property;

a clientcontactid property;

an approvalind property; and

a copiedind property.

61. A computer system as in claim 9, wherein the correspondencetemplate object comprises:

a correspondencetemplateid property;

a casetypeid property;

a correspondencename property;

a body property;

a subject property;

an opendate property;

a documentind property;

a closedate property; and

an activeind property.

62. A computer system as in claim 9, wherein the clientcorrespondence-recipient object comprises:

a correspondencetemplateid property; and

a clientcontactid property.

63. A computer system as in claim 9, wherein the client-correspondence object comprises:

a clientcorrespondenceid property;

a correspondencetemplateid property;

a clienthqid property;

a clientdivisionid property; and

a requiredind property.

64. A computer system and in claim 9, wherein the case-correspondence object comprises:

a correspondenceid property;

a correspondencetemplate-id property;

a caseid property;

a dateadded property;

a body property;

a subject property; and

an addedby property.

65. A computer system as in claim 9, wherein the correspondencedistribution object comprises:

a correspondencedistributionid property;

a correspondenceid property;

a clientcontactid property;

a viewdate property;

a responsedate property; and

a response property.

66. A computer system as in claim 3, wherein the determination-type object comprises:

a determinationtypeid property;

a typename property; and

an activeind property.

67. A computer system as in claim 9, wherein the approvalstatus object comprises:

an approvalstatusid property;

a statusname property; and

an activeind property.

68. A computer system as in claim 9, wherein the casedocument object comprises:

a documentid property;

an approvalstatusid property;

a caseid property;

a documenttemplate-id property;

a dateapproved property;

a lockedind property;

an overrideby property;

an overridereason property;

a dateadded property;

an addedby property;

a datemodified property;

a modifiedby property;

a filename property;

a documenttitle property; and

an offlineind property.

69. A computer system as in claim 10, wherein the help object comprises:

a helpid property;

a title property; and

a filename property.

70. The method as in claim 69, wherein the step of closing the case comprises:

determining if an exit review is required and, if so, conducting the exit review;

determining if the case has settled;

if the case has settled, then setting a status property in one of the case-related objects to indicate the case has settled, otherwise, determining if the case has been dismissed; and

if the case has been dismissed, then setting the status property in one of the case-related objects to indicate the case has been dismissed, otherwise, setting the status property in one of the case-related objects to indicate the case has been closed.

71. The computer system as in claim 10, wherein the help object comprises:

a helpid property;

a title property; and

a filename property.

72. A computer network comprising:

at least one client device operative with the computer network;

at least one server, the server constructed and arranged to receive a request from the at least one client device, the at least one server enabling the execution and operation of:

a case status module comprising:

one or more case objects;

a settlement object associated with one or more case objects;

one or more casenote objects associated with one of the case objects;

a casestatus object associated with one or more case objects;

an employmentstatus object associated with one or more case objects;

one or more relatedcase objects associated with a case object;

a casetype object associated with one or more case objects;

a content object associated with one or more casestatus objects;

a tecounter object;

one or more user objects associated with one or more case objects;

one or more activitylog objects associated with one of the case objects, and one or more activitylog objects associated with one of the user objects;

one or more employee objects associated with one of the user objects;

one or more statushistory objects associated with one of the user objects;

one or more activity objects associated with one of the casestatus objects, and one of the activity objects associated with one or more activitylog objects;

one or more casecalendar objects associated with one of the activity objects, one or more of the casecalendar objects associated with one of the user objects, and one or more of the casecalendar objects associated with one of the case objects;

an intake module operative with the case status module comprising:

a dismissaltype object associated with one or more case objects;

one or more complaint objects, one of the complaint objects associated with one or more of the case objects;

a submissiontype object associated with one or more of the complaint objects;

one or more charge objects, one or more of the charge objects associated with one of the case objects, one or more of the charge objects associated with the dismissaltype object, and one or more of the charge objects associated with one of the casestatus objects;

one or more agency objects, one of the agency objects associated with one or more of the charge objects;

one or more casebasis objects, one or more of the case-basis objects associated with one of the case objects, one or more of the case-basis objects associated with one of the agency objects;

a basis object, the basis object associated with one or more of the casebasis objects;

one or more caseissue objects, one or more of the caseissue objects associated with one of the agency objects, and one or more of the caseissue objects associated with one of the case objects;

an issue object, the issue object associated with one or more of the caseissue objects;

one or more agencycontact objects, one or more of the agencycontact objects associated with one of the agency objects, one of the agencycontact objects associated with one or more of the charge objects;

a determination-type object associated with one or more charge objects; and

an address object, the address object begin associated with one or more of the agencycontact objects, and the address object associated with one or more of the agency objects;

a role module operative with the case status module, the role module comprising:

one or more userrole objects, one or more of the user-role objects associated with the user object of the case status module;

a role object, the role object associated with one or more of the userrole objects;

one or more rolealert object, one or more of the role-alert objects associated with the role object;

one or more rolereport objects, one or more of the rolereport objects associated with the role object; and

a report object, the report object associated with one or more of the role-report objects;

an accounting module operative with the case status module comprising:

one or more invoicemaster objects, one of the invoicemaster objects associated with one of the activitylog objects, and one or more invoicemaster objects associated with a case object;

one or more payment objects, one or more of the payment objects associated with one of the user objects, one or more of the payment objects associated with one of the invoicemaster objects;

an alert distribution module operative with the case status module comprising:

a alert object, the alert object associated with one or more of the rolealert objects of the role module;

one or more alerthistory objects, one or more of the alerthistory objects associated with the alert object, one or more of the alerthistory objects associated with the one or more of the user objects; and

one or more useralert objects, one or more of the useralert objects associated with one of the alert objects, and one or more of the useralert objects associated with one of the user objects;

a correspondence distribution module operative with the case status module comprising:

one or more correspondence-template objects, one or more of the correspondencetemplate objects associated with the case-type object;

one or more clientcorrespondencerecipient objects; one or more of the clientcorrespondencereceipient objects associated with one of the correspondencetemplate objects;

one or more clientcorrespondence objects, one or more of the clientcorrespondence objects associated with one of the correspondencetemplate objects;

one or more casecorrespondence objects, one or more of the casecorrespondence objects associated with one of the case objects of the case status module, and one or more of the casecorrespondence objects associated with one of the correspondence-template objects;

one or more correspondence-distribution objects, one or more of the correspondencedistribution objects associated with one of the casecorrespondence objects;

an approvalstatus object; and

one or more casedocument objects, one or more of the casedocument objects associated with one of the case objects, and one or more of the casedocument objects associated with the approvalstatus object;

a document distribution module operative with the correspondence distribution module comprising:

a document-template object, the document-template object associated with one or more casedocument objects;

one or more clientdocument-recipient object, one or more of the clientdocumentrecipient objects associated with the documenttemplate;

one or more clientdocument objects, one or more of the clientdocument objects associated with the document-template object; and

one or more documentdistribution objects, one or more of the documentdistribution objects associated with one of the approval-status objects, and one or more of the documentdistribution objects associated with one of the casedocument objects; and

a client information module, the client information module operative with the case status module, the correspondence module, and the document distribution module, the client information module comprising:

one or more clientcontact objects, one of the clientcontact objects associated with one or more of the correspondencedistribution objects, one of the clientcontact objects associated with one or more of the complaint objects, one or more of the clientcontact objects associated with the address object, one or more of the clientcontact objects associated with one of the user objects, and one of the clientcontact objects associated with one or more of the documentdistribution objects;

one or more clientdivision objects, one of the clientdivision objects associated with one or more clientcorrespondence objects, one of the clientdivision objects associated with one or more clientdocument objects, and one or more of the clientdivision objects associated with one of the address objects of the agency module;

one or more clienthq objects, one of the clienthq objects associated with one or more user objects, one of the client-hq objects associated with one or more of the clientdivision objects, one or more of the clienthq objects associated with the address object, one of the client-hq objects associated with one or more clientcorrespondence objects, and one of the clienthq objects associated with one or more of the clientdocument objects;

one or more clientsic objects, one or more of the client-sic objects associated with one of the clienthq objects;

a sic object, the sic object associated with one or more of the clientsic objects;

one or more clientlocation objects, one or more of the clientlocation objects associated with one of the clienthq objects, one or more of the clientlocation objects associated with one of the clientdivision objects, one of the clientlocation objects associated with one or more case objects, and one or more clientlocation objects associated with the address object;

one or more clientnote objects, one or more of the client-note objects associated with one of the clienthq objects, one or more of the clientnote objects associated with one of the clientlocation objects, and one or more of the clientnote objects associated with one of the clientdivision objects;

one or more clientcontacts objects, one or more of the clientcontacts objects associated with one of the clientcontact objects, one or more of the clientcontacts objects associated with one of the clientdivision objects, one or more of the clientcontacts associated with one of the clienthq objects, one or more of the clientcontacts objects associated with one of the clientlocation objects, one of the clientcontacts objects associated with one or more of the clientcorrespondencerecipient objects, and one of the client-contacts objects associated with one or more of the clientdocumentrecipient objects;

one or more clientunion objects, one or more of the clientunion objects associated with one of the clienthq objects, one or more of the clientunion objects associated with one of the clientdivision objects, one or more of the clientunion objects associated with the address object, and one or more of the clientunion objects associated with one of the clientlocation objects; and

a uniontype object, the uniontype object associated with one or more of the clientunion objects;

wherein, the modules on the server service the request from the client device.


Description

TECHNICAL FIELD OF THE INVENTION

This invention relates in general to document generation and management. More particularly, the present invention is related to the solicitation, storage, manipulation, and retrieval of data over a wide area network in the form of documentation in a format that can be submitted for compliance with federal, state and local equal employment opportunity and fair employment practices laws.

BACKGROUND OF THE RELATED ART

Federal and state laws require that public and private employees have an opportunity to complain of discrimination and harassment. With the passage of the first civil rights and employment laws in the mid 1960's and until the mid 1990's, such equal employment opportunity ("EEO") complaints were generally in the form of Charges of Discrimination filed with the Equal Employment Opportunity Commission ("EEOC") or a Fair Employment Practices Agency ("FEPA" or "FEP Agency") or Formal Agency Charges filed with the employee's public sector employer agency. In the late 1990's, the United States Supreme Court mandated that public and private employers provide a mechanism for employees to file informal or internal complaints of discrimination. Most of the employers that implemented a complaint mechanism did not provide a formalized process or means to intake, track or store the complaints.

Currently, an employer has a legal obligation under various state and federal laws and regulations, including EEOC Guidelines and Management Directive No. 110, to investigate and respond to formal charges of discrimination. An employer also has a legal obligation to investigate and respond to internal complaints of fair employment practice issues. Public and private employers must also be able to track complaints, the responses and their respective outcomes. Employers have been encouraged by the courts to provide independent investigations and tracking of such complaints.

In the past, these EEO complaints were received in a typewritten or handwritten form, and all complaints were processed manually. The manual processing of the application is a tedious, labor-intensive and time-consuming operation. Moreover, the requiring of filing either by hand or in typewritten form is cumbersome for the employees. Manual processing of paper documents is prone to loss through mis-filing or other misadventure. In addition to the potential loss of the documents was the potential dissemination of personal information and possible violation of privacy laws.

The advent of the Internet has enabled many users to have access to remote servers and databases via the World Wide Web ("WWW") using standard web browsers on client machines that interact with web servers and other processing capabilities at the remote site. To date, however, no EEO compliance system has utilized the capabilities of the Internet. There is, therefore, a need in the art for an EEO compliance mechanism that is capable of utilizing a wide area network such as the Internet to enhance privacy, to automate routine tasks and to enable the handling of EEO that is applicable to private and public sector employers and governmental compliance entities.

SUMMARY OF THE INVENTION

In accordance with the present invention, the disadvantages and problems associated with the prior art are solved by providing, in a computer system, a group of modules, each containing a set of objects that interact together to form a flexible and scalable framework for obtaining, storing, sorting, retrieving and implementing, in an automated fashion, information regarding equal employment opportunity claims. The present invention enables various users, such as complainants, employers, and consultants to upload, download, or modify information that is kept at a centralized location in order to facilitate the processing of claims.

The present invention includes a computer system having at least one server that is connected to one or more networks, such as a virtual private network, or a wide area network such as the Internet. Users can use a wide variety of client devices, such as personal digital assistants, telephones, facsimile machines, and personal computers to interact with the present invention over standard network protocols. Voice or facsimile information is preferably digitized to facilitate storage and manipulation of the data. For instance, voice transmissions (such as over a telephone connection) can be digitized with Voice over IP ("VoIP") technologies and the voice signals translated into text files by voice recognition software that is executing on the server. Similarly, optical character recognition ("OCR") software can be used by the servers of the present invention to recognize the words in the facsimile and translate them into text information that can facilitate searching and retrieving. Other information, such as web forms and other files, can be stored in the normal fashion. In the preferred embodiment, all of this information can be stored, searched, and retrieved by authorized personnel in a secure manner. Other aspects of the present invention enable the information contained within the system to be reported, either in paper form, or preferably, in electronic form in order to facilitate automatic filing and reporting to governmental agencies.

Other features of the present invention will become apparent upon inspection of the following specification and the drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of the present invention and its advantages, reference is now made to the following description, taken in conjunction with the accompanying drawings, in which:

FIG. 1 is a block diagram illustrating the network of the present invention.

FIG. 2 is a block diagram illustrating the processes of the present invention.

FIG. 3 is a block diagram illustrating the modules of the present invention.

FIG. 4 is a block diagram illustrating the set of objects that make up the case status module of the present invention.

FIG. 5 is a block diagram illustrating the set of objects that make up the agency module of the present invention.

FIG. 6 is a block diagram illustrating the set of objects that make up the roles module of the present invention.

FIG. 7 is a block diagram illustrating the set of objects that make up the payment module of the present invention.

FIG. 8 is a block diagram illustrating the set of objects that make up the alert distribution module of the present invention.

FIG. 9 is a block diagram illustrating the set of objects that make up the correspondence distribution module of the present invention.

FIG. 10 is a block diagram illustrating the set of objects that make up the document distribution module of the present invention.

FIG. 11 is a block diagram illustrating the set of objects that make up the client information module of the present invention.

FIG. 12 is a flowchart illustrating the life cycle of a case according to the method of the present invention.

FIG. 13 is a flowchart illustrating the closing of a case of the method of the present invention.

FIG. 14 is a flowchart illustrating the logging in and initial placement of a user according to the method of the present invention.

FIG. 15 is a flowchart illustrating the monitoring of a case according to the method of the present invention.

FIG. 16 is a flowchart illustrating the settlement of a case according to the method of the present invention.

FIG. 17 is a use diagram illustrating the interface between the present invention and an accounting program.

FIG. 18 illustrates a help object of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

The present invention overcomes the problems inherent in the prior art by providing a comprehensive and integrated method, apparatus and system for handling complaints under the various EEO regulations. Specifically, the present invention enables employees of companies to file discrimination complaints, have those complaints investigated, and have the required documents generated in a format required for filing with local authorities. The present invention is useful for complying with various local, state, and national (federal) laws as well as the formal and informal requirements thereof. This enables the present invention to handle internal complaints as well as formal charges by various jurisdictions under, for example, EEOC or FEP agency regulations.

The present invention also provides the capability of compiling data into a database from many organizations regarding their respective EEO compliance instances and performance. This information can be queried to generate comparisons of, for example, a particular company, vis-à-vis, companies of comparable (or dissimilar) size and/or industry. Other comparisons can be made within the same or multiple organizations regarding compliance within specific jurisdictions or geographic areas, and the like, or for specific demographic groups and/or chronological time periods.

As the present invention is best utilized via a web-based paradigm, the present invention is also useful for storing frequently asked questions, and for providing interactive consulting via email; Internet Relay Chat ("IRC"), a system for chatting online; channels, I Seek You ("ICQ"), a program that lets a user know when friends and contacts are online.) messaging, streaming video and streaming audio, VoIP, interactive video, static web pages, and other means of communicating over a wide area network such as the Internet. The present invention can also be equipped with a rules module that can accommodate difference in local, state, and federal laws so that answers to standard questions can be readily tailored to the specific jurisdiction of the user. Similarly, the present invention can have flags and switches that are responsive to language settings of the user's interactive software (such as a browser) so that the user automatically views the resultant documents from the present invention in a language familiar to the user. In addition, the present invention can also be utilized for creating and maintaining a list group or news group of information useful to users of the present invention. The email list groups, web logs, and/or news groups of the present invention may be moderated, although this is an optional feature.

The present invention contains a number of technical terms, an understanding of which is useful to the practitioner and is made possible with the following glossary.

Actor: Anyone or anything with behavior. An actor may, for example, be a mechanical system, a computer system, a person, an organization, or any combination thereof.

Artifact: A product of the use case, e.g., document.

Basis: The reason the Complainant believes he/she has been treated differently—e.g., sex, race, age, disability, religion, and retaliation. In other words, what protected category the individual is complaining about—e.g., sex, race, age, national origin, etc.

Case: The Complaint or Charge(s) filed by one individual that will be assigned to a Consultant. A Case may encompass one or more claims.

Cause Finding: A determination by the EEOC or FEP Agency that the employer acted unlawfully.

Charge of Discrimination (Charge): A document filed by a Complainant with an EEOC, state or local agency alleging unlawful treatment by his/her employer.

Charging Party (CP): An employee who files a charge with the EEOC or FEP Agency against his/her employer. A Charging Party is synonymous with a Complainant.

Claim: (1) A charge or internal complaint; or (2) a claim filed by an insured, broker or insurance carrier. There may be more than one claim associated with an EEO case. Insurance claims are separate and distinct and the Case/claim association does not apply.

Complainant: An employee who files an internal complaint with his/her employer.

Consultant: A person who will investigate a claim, prepare a response to the claim, and manage the claim.

Data Item: A reference to either a specific piece of data (e.g., a phone number) or a more generalized set of data (e.g., contact information). These data are used to track interaction with the database at a high level.

Deductible: The amount that must be paid by an insured before insurance proceeds are paid.

Director: A person who supervises and who otherwise serves as a resource for one or more Consultants. A Director may investigate discrimination complaints and also prepare charge responses and manage claims.

Dismissal: A notice of rights issued by EEOC or FEP Agency when (1) requested by Charging Party; (2) the Commission is unable to establish a violation of the statutes; (3) conciliation has failed; or (4) for other reasons.

Equal Employment Opportunity Commission (EEOC): The federal government agency responsible for enforcing federal civil rights and employment laws. The EEOC accepts discrimination charges, investigates and disposes of these by dismissal, cause finding, conciliation/settlement, or lawsuit.

Exhibits: With regard to the process models, this term refers to sample work product. Exhibits are also relevant documents attached to a Fact Finding Report, Internal Complaint Memorandum or Position Statement.

Exit Interview: Consultant's final telephone call to Complainant notifying him/her of the investigation findings. Conducted primarily for internal complaints.

Extended (or Extension) Use Cases: A Case that is identical to an Extension, but stands on its own. These Cases 'interrupt' the main activity and can occur at any time in a given scenario (similar to spell checking a word processing document).

Extension: A scenario fragment that starts upon a particular condition in another scenario.

External Complaint: A complaint made by an employee to the EEOC or an FEP Agency.

Fact-Finding Report (FFR): Report prepared for the client by a Consultant. This type of report is prepared when a charge is filed.

Fair Employment Practices (FEP): Various federal, state and local laws and regulations regarding fair employment.

Fair Employment Practices Agency (FEPA): State or local equivalent of the EEOC.

File History (FH): A brief investigation history prepared by a Consultant for placement in Case File.

Final Determination: The EEOC or FEP Agency's decision about (1) whether there is cause to believe the employer violated the statute or (2) whether the charge should be dismissed.

Goal: The goal to be achieved at the conclusion of the Use Case. A goal is tested by answering the question: "Can the primary actor go away happy after having done this?"

Guarantee: The fewest promises the system makes to the stakeholder(s), particularly when the primary actor's goal cannot be delivered.

Internal Complaint Memorandum (ICM): Report prepared for the client by Consultant. This type of report is prepared when an internal complaint is filed.

Internal Complaint: A complaint made by an employee to his/her supervisor, HR department, by online submission, by facsimile, or via toll-free reporting number.

Issue: The employee relations practices about which the complainant/charging party is complaining about, e.g., failure to hire, discipline, etc. The basis and issue apply to the claim.

Parameterized Use Case: A Use Case which establishes a common scenario (e.g., finding, creating). The calling Use Case provides the data (or 'parameters') needed to complete the action.

Position Statement (PS): The employer's response to the Charge of Discrimination, which is prepared by the Consultant and is authorized for submission by the client's designee.

Post-Condition: A condition that must be true after the Use Case is executed. This differs from a guarantee in that successful completion of the Use Case has occurred.

Pre-Condition: A condition that must be true before the Use Case is executed.

Reconsideration: A written request by a Consultant urging the EEOC or the FEP Agency to overturn a cause finding.

Request for Information (RFI): Either (1) one or more documents and/or other information requested by a Consultant intended for a client or client's contact; or (2) a formal request for one or more documents from the EEOC, state or local Commission.

Respondent: The complaining party or charging party's employer.

Reports: (1) The work product or result of the investigation; or (2) the information provided as a result of database inquiry.

Scenario: A sequence of actions and interactions that occurs under certain conditions.

Stakeholder: An external actor who has a vested interest in the behavior of the system and is entitled to have its interests protected by the system. Satisfying the interests of a stakeholder requires the system to take specific actions.

Standard Industrial Classification (SIC) Code: A classification system for categorizing industries.

State or Local EEO or Human Rights Commission (FEP Agency): A state or local government agency responsible for enforcing state or local civil rights and employment laws. The FEP Agency accepts discrimination charges, investigates and disposes of these by dismissal, cause finding, conciliation/settlement or lawsuit.

Status Reports: (1) A Consultant's list of Cases with status description for each Case; or (2) a report for the client listing each Case and its status.

Subfunction Level: Low-level goals required to carry out user goals. Subfunction levels encapsulate complex calculations, business logic, or other steps that accomplish the user goal.

Submit Reports: Submission of appropriate reports (typically based on the type of Complaint).

Summary Level: A high-level use case that involves multiple user goals. Summary-level cases show the context in which the user goals operate.

Types of claims: (1) an internal complaint; or (2) an external charge; or (3) an attorney demand letter.

User Level: The goal that the primary actor has in trying to get work done or the one the user has in using the system. See 'Goal'.

Witness Interview: An interview with witnesses conducted by a Consultant; the interview is conducted via telephone or in-person.

The present invention can be implemented on a remote server system, preferably interconnected with a wide area network such as the Internet. Other wide area networks, virtual private networks and other interconnection mechanisms can be utilized with the present invention without departing from the scope and spirit of the appended claims.

In general, the present invention facilitates the gathering, storing, dissemination, and analysis of information. Specifically, information that is gathered from voice via the network communication (e.g., the WWW, email, IRC, etc.), facsimile, telephone, and/or paper is preferably digitized and combined with other digitally-received information. Once received, the information can be tagged, categorized, and stored within a database for analysis, processing, and retrieval. Digitization of analog or paper information can be through standard techniques, including, but not limited to, analog-to-digital ("A/D") conversion, voice recognition, or OCR technologies.

The present invention is intended to be implemented on a wide area network such as the Internet. Various security mechanisms can be implemented in conjunction with the present invention, such as separate (or combined) authentication and authorization procedures. Alternatively, the present invention may be implemented on a local area network that can be separated from unsecured networks by one or more firewalls.

The system of the present invention is illustrated in FIG. 1. Specifically, the server portion of the application is built around local area network 101 through the network connection 102 which may include, but is not limited to, an Ethernet connection, a star configuration, a hub and spoke configuration, a token ring configuration or any other useful network interface connection. The system 100 preferably operates upon an agreed-upon communication protocol, such as, for example, Transmission Control Protocol/Internet Protocol ("TCP/IP").

One or more servers 104 and 106 are connected to the local area network 101 by the network connection 102. Similarly, one or more disk arrays 108 and 109 are used to store application specific information for the databases 110 and 112, respectively, as shown in FIG. 1. A network control station, such as workstation 114, can control the local area network 101. The router 116 can optionally be used for optimizing conductivity between the servers (104 and 106), and database servers (110 and 112), as well as the workstation 114. One or more firewalls 118 and 136 may optionally be placed onto the network for protection against viruses, worms, trojans, and other malicious activities. Optionally, other networks, such as the Virtual Private Network ("VPN") 138 may be connected to the local area network 101 through network connection 102 via the optional firewall 136. Similarly, other networks, such as Automotive Network eXchange ("ANX") 140 may be connected to the local area network 101 at the network connection 102.

The local area network 101 can be connected through, for example, router 116 and firewall 118 to the network 120. The network 120 is typically a wide area network such as the Internet. However, alternate embodiments of the present invention can utilize a VPN 138, an ANX 140, a frame relay network (not shown), or other combinations of local area and wide area networks 120 to which other client computers may become connected to the local area network 101. The network 120 can provide interconnectivity to the local area network 101 to, for example, personal digital assistants 122 via communication channel 121, as illustrated in FIG. 1. The communication channel 121 can encompass a wide variety of mechanisms including infrared, telecommunications, cable, fiber optic, Ethernet, optic, Bluetooth, wireless access protocol ("WAP"), 802.11, frame relay, fiber channel, and any other mechanism capable of transmitting analog and/or digital signals along a network. Other client devices, such as network terminals 124, workstations 126, personal computers 128, facsimile machines 130, laptop computers 132 and telephones 134, are similarly connected to the network 120. Telecommunications connectivity can be, for example, with VoIP in order to handle, for example, facsimile and telephone transmissions. All that the network 102 needs to facilitate is the communications between the client device and the network 102.

It is envisioned that all communication to the local area network 101 will be in digital form using a common protocol, such as, for example, TCP/IP. This includes, but is not limited to, the client devices connected to the wide area network 120, or through other networks such as VPN 138 and ANX 140. For instance, request by clients through telephones (one of the many client devices) would be translated into, for example, VoIP and transmitted to one of the servers 104 or 106 for processing by the present invention. Similarly, hypertext transfer protocol ("HTTP") requests from a client's web browser are handled in the normal fashion. Facsimile messages from, for example, facsimile machines 130 can also be digitized and processed by the servers 104 and 106. The servers may employ, for example, character recognition software and/or hardware to extract the information from the facsimile, or simply to store the image or information in the storage arrays 108 and/or 109 through the database engines 110 and/or 112.

The storage devices 108 and 109 can be of any applicable kind, such as a disk drive, optical storage, tape, or other device. While only one storage device is necessary, it is preferable to have multiple storage devices, or an array of storage devices, in order to ensure high availability of the information stored therein.

The databases 110 and 112 can be relational, object, object-relational database, or other type. The specific type of database used is not important as long as the information contained therein can be mapped to the objects used to manage the information (as described below). While a single database engine/application can be used, it is preferable to utilize multiple database engines in order to balance the loading, provide higher availability, and enable the efficient scaling of the present invention so that large numbers of people can utilize its services.

The servers 104 and 106 can be of any suitable variety that can handle the expected user load. In the preferred embodiment of the present invention, there are multiple servers 104 and 106. The servers are constructed and arranged to service a wide variety of requests, such as web browsing and form filing, email, voice, facsimile, and other tasks associated with communication of information from users on disparate (and/or remote) client devices. Specifically, the servers are expected to have information uploaded to them from users via client devices, or to provide information in the form of a download to the users, or to facilitate the searching and manipulation of the information associated with the various cases.

Multiple databases may be subsumed into servers. For example, it is contemplated that an accounting function may include a relational database within a larger software process to store data related to accounting. Accounting software programs, such as TIMESLIPS, manufactured by Sage U.S. Holdings, Inc. of Dallas, Tex., employ application programming interfaces ("API") that can be used by the present invention to store and to retrieve accounting data. The accounting data so obtained (or provided) is mapped to/from one of the objects of the present invention, typically from one of the objects in the payment module (see the module and object descriptions provided below and in FIGS. 3 and 7).

FIG. 2 illustrates the various processes and interfaces of the present invention. The present invention is composed of one or more software processes running on a hardware platform. The specific hardware platform is unimportant, as long as it provides sufficient capacity for the desired tasks. Moreover, the following processes need not be implemented in software; instead, they may be implemented in hardware on, for example, application specific integrated circuits ("ASICS"). Similarly, the processes of the present invention may be implemented on a combination of hardware and software and on one or more central processing units ("CPUs") on one or more computers. The present invention may be implemented as a standalone software program that can be purshased as a unit and installed at the operator's site. The present invention is also amenable to being utilized as an application service provider configuration, wherein the organization that runs the present invention would be separeate from the organization that utilizes the present invention.

Attention is directed to FIG. 2, wherein several of the processes are illustrated. The processes are connected to one or more data busses 220 and 230 that enable information to be shared between processes. The various information bridges 220 and 230 can be connected directly, or they may be interconnected through, for example, bridge 228 as illustrated in FIG. 2. The bridge 228 may facilitate, for example, the communications between disparate CPU's and/or disparate computer servers and thus allow for the scalability of the present invention to meet user demands.

In this example, the information bus 220 is operatively connected to one or more communication processes, namely, communication interface 210, web server 216, and email server 218. Additional processes, such as IRC chat, etc., may also be operatively connected to the information bus 220 to enable the present invention to accept or transmit information from/to particular client devices. The communication processes are themselves operatively connected to a pre-existing communications infrastructure. For example, the communication interface 210 is operatively connected to the telecommunications network 206 so that client devices, such as facsimile machine 202 and telephone 204 may communicate with the present invention. Similarly, the web server 216 and the email server 218 are operatively connected to the network 214, which, in turn, is connected to the client devices and their attendant client applications 212, such as a web browser or email client. It is contemplated that some or all of the users of the present invention, such as Complainants, Consultants, clients, private sector and public sector clients, insurance carriers and all other clients, government contacts, and others will access information or be provided with reports and other information in the fashion outlined above. In short, the users of the present invention can include the Complainant, members of the operating organization, employees and/or officers of the client, and individuals associated with one or more government agencies.

The present invention utilizes a set of one or more processes for handling the input, pre-processing, processing, post-processing, storing, and/or dissemination of information. In the preferred embodiment of the present invention, a database server 222 is operatively connected to the information bus 220. Similarly, a data storage device/process 224 is also operatively connected to the information bus 220, as illustrated in FIG. 2. A timer process 226 is provided for issuing time-based signals to the various devices/processes illustrated in FIG. 2 so that certain events, such as time-of-input from a client device, or the issuance of a database trigger or batch job, may be initiated automatically.

The present invention may also implement specific interfaces for customers and/or government agencies. Specifically, the customer interface 236 and the government interface 238 are processes that are tailored for the exchange of information with the specific organization and the present invention. For example, the customer interface 236 can provide a first set of functionality, such as access to the complaint, and documents related to the customer's side of the case. Similarly, an interface can be provided for the Complainant, which would limit access to only that information provided by the Complainant. A government interface 238 can be provided with yet another set of capabilities that allows access to some (or all) of the documents from both the customer and the Complainant, as well as documents held or utilized only by the government agency. Moreover, for each organization (e.g., customer or government), different levels of access to information can be provided that are tailored to specific individuals within that organization. This is accomplished by recording the role that the individual has within the organization, and thus his or her level of access to information stored/received/generated by the present invention.

A document generator process 232 is used for creating new documents, or otherwise governing the storing, searching, indexing and/or retrieval of existing documents. The documents so generated, stored, or retrieved can be transmitted on the information busses 220 and 230 to the other processes or to client devices and client applications through the interfaces, as illustrated in FIGS. 1 and 2. For example, a document may be requested via a web request from a client application 212 that is received over the network 214 to the web server 216, which then transmits the request to the document generator 232. The request may be to transmit a document to a government agency. Consequently, the document generator 232 retrieves the document and forwards the document to the government interface 238 via information bus 230. The government interface process 238 would then determine which government agency should receive the document and how best to transmit it (e.g., email, telephone, facsimile, etc.). The government interface process 238 could, for example, transmit the document to the communication interface 210 for transmission to a facsimile machine 202 via telecommunications network 206.

The present invention may also be equipped with access to an accounting application 234 that is operatively connected to one of the information busses, such as information bus 230. The accounting application 232 provides a handy mechanism for performing common functions (such as accounting) that are not unique to the present invention. Other third-party software modules (or processes), such as timekeeping, inventory control, and the like, may be similarly connected to the present invention.

A detailed discussion of the data model, as well as the operation of the present invention, is provided below.

The Data Model

The data model of the present invention is used to implement the method of the present invention (discussed below). Specifically, the present invention is a computer network that is composed of one or more client devices that are operative with the computer network, and one or more servers that service the requests sent by the clients. Depending upon the request by the client, the server will receive information, store information, and/or transmit information to the requesting or other client devices, or to other elements within the computer network. It will be appreciated that having a specific object in a specific module may be a matter of convenience or convention. However, it is possible to rearrange objects within the data model as described and achieve the functionality desired. Consequently, the arrangement of objects described herein is for the preferred embodiment. Other embodiments of the present invention can have different arrangements of objects and modules yet provide the same or substantially the same functionality. Yet other embodiments of the present invention may remove objects, albeit with a corresponding loss of functionality. Still other embodiments may exchange properties and methods from one object to another object within the present invention with a corresponding effect on association and performance.

The servers contain hardware and/or software that enable the functionality desired. In the preferred embodiment of the present invention, the server has one or more processes executing on a central processing unit. One or more of these processes are constructed and arranged to instantiate objects in a preferably persistent, or at least temporary, manner. In the preferred embodiment, the objects are stored persistently on, for example, an object database. In addition, or in lieu of an object database, a relational database can be used. However, if a relational database is used, there will be some object-to-relational mapping issues that must be addressed. This is particularly true for those objects that are based on records in tables that are associated with other records in the same table through a common object that is, for example, stored as a record in a second table. Alternatively, an object-relational database, such as PostrgreSQL (see http://www.postresq1.org) or Oracle 8i, the latter manufactured by the Oracle Corporation of Redwood Shores, Calif., can be utilized to handle the object-to-relational mapping in an automated fashion.

The data structure within the server or servers is designed and arranged in such a fashion so as to facilitate the functionality required for servicing the requests issued by the client devices. The objects of the present invention can be conveniently grouped into modules and interconnected as illustrated in FIG. 3. The modules illustrated in FIG. 3 capture and store information within the present invention that describe the set-up and particulars of internal complaints and charges. All of the information related to the charge itself, such as final disposition, are stored in one or more instantiations of objects in one or more of the modules illustrated in FIG. 3. One or more instantiations are used because the case may be comprised of more than one charge, and each charge can have separate agency affiliations and agency contacts.

The various modules 300 are described in general below. For example, a case status module 304 encompasses all case specific information such as the Complainant identity, type of case, date of receipt, assigned consultant, insurance information if the client is insured, settlement information, final disposition, and all activities associated with the case including calendar events, documents posted and correspondence sent. The case status and activity tracking module 304 comprises the bulk of the information, but it relies heavily on the devices and techniques mentioned above to import and export information.

An intake module 302 has an operative relationship 352 with the case status module 304. The intake module 302 is used to retain and reference various charges, government agencies, and related contact information.

A role module 306 has an operative relationship 356 with the case status module 304 as well as an operative relationship 372 with the alert distribution module 310. The role module is used to retain report information and descriptions of the tasks (roles) of the various people associated with one or more cases. The role module 306 captures the user's role and specifications that are utilized by the present invention to tailor the application to the user's general and/or unique requirements.

An accounting module 308 has an operative relationship with the case status module 304 as illustrated in FIG. 3. The payment module 308 is used to track billing invoices and their payment status. Time and Expense ("TE") information can be input and stored through the payment module 308. In addition, invoices can be generated via a third party accounting package that is integrated with the present invention. These invoices can be viewed by users of the present invention and payments may be made online.

An alert distribution module 310 is in an operative relationship 364 with the case status module 304. The alert distribution module 310 is used for issuing alerts, such as docketing items indicating that some activity is due to be completed on a certain date. Alerts to the operator of the present invention, their users, and clients are preferably pre-set based on client preferences and user set-up. Typically, alerts are generated and disseminated based upon a number of parameters and events that occur during the life-cycle of a case.

The system of the present invention also includes a correspondence distribution module 312 that has an operative relationship 358 with the case status module 304. The correspondence distribution handles correspondence that is sent to the present invention, including receipts, responses and approvals. Correspondence are also tracked through this correspondence module 312 which allows the Consultant to generate pre-set or other correspondence and attach uploaded documents to the correspondence for client review. The correspondence module 312 may also retain information regarding the correspondence between individuals, employers, insurers, courts, and/or government agencies that are associated with the case.

A document distribution module 314 has an operative relationship 368 with the client information module 316, and an operative relationship 366 with the correspondence distribution module 312. The document distribution module 314 ensures that documents associated with the various cases remain stored, searchable, and retrievable by the various people associated with the case. Documents are uploaded from other sources (e.g., word processing documents on the storage device or forms documents that are received through, for example, a facsimile server) and posted to the present invention. Documents may also be modified, replaced, and/or deleted from the storage device within the present invention. Documents may be distributed as an attachment to correspondence and/or email or other electronic means. Information about various documents may be compiled by electronic processes and a compiled or synthesized version can be electronically uploaded or otherwise sent to remote servers, such as those owned by customers, employers, courts, or government agencies.

Finally, a client information module 316 is included with the preferred embodiment of the present invention. The client information module 316 has a series of operative relationships. First, there is the operative relationship 360 with the case status module 304, the operative relationship 362 with the correspondence module 312, the operative relationship 368 with the document distribution module, and the operative relationship 354 with the agency module 302. Generally, the client information module 316 contains all information about the client, its business, its primary contacts, organizational structure, divisions, locations, unions, and one or more specifications affecting the performance of the intended operator of the present invention.

All of the modules and associated relationships there between enable the present invention to service one or more requests from the client device. It will be understood that modules can be removed from the present invention in order to consume fewer resources, albeit with reduced functionality and capability for the system as a whole. Conversely, modules can be added to the present invention in order to increase functionality, or to incorporate new client devices some time in the future. The modular design of the present invention also increases the scalability of the system, i.e., the system's ability to handle large amounts of use by a large number of people.

The structure and interrelationships among the objects of the present invention, and a description of how the data they process perform tangible and useful results, are described below.

As mentioned before, the preferred embodiment of the present invention includes a computer network that has at least one client device that is operative with the computer network. There is also at least one server that is constructed and arranged to receive one or more requests from the client device. The server enables (facilitates) the execution and operation of the various objects of the present invention.

As illustrated in FIGS. 4a, 4b, and 4c, in the preferred embodiment of the present invention, the execution and operation of the case status module 304 (FIG. 4a) is enabled (facilitated) by, for example, one or more case objects 402 (FIG. 4a); at least one settlement object 404 (FIG. 4a) in association 452 with one or more case objects 402; one or more casenote objects 406 (FIG. 4b) in association 454 with one of the case objects 402; a casestatus object 408 (FIG. 4b) in association 456 with one or more case objects 402; an employmentstatus object 410 (FIG. 4a) in association 458 with one or more case objects 402; one or more relatedcase objects 414 (FIG. 4a) in association 462 with a case object 402; a casetype object 416 (FIG. 4a) in association 464 with one or more case objects 402; a content object 418 (FIG. 4c) in association 468 with one or more casestatus objects 408; one or more user objects 420 (FIG. 4c) in association 470 with one or more case objects 402; one or more activity-log objects 422 (FIG. 4b) in association 472 with one of the case objects 402, and one or more activity-log objects 422 in association 492 with one of the user objects 420; one or more employee objects 424 (FIG. 4c) in association 474 with one of the user objects 420; one or more statushistory objects 426 (FIG. 4c) in association 476 with one of the user objects 420; one or more activity objects 428 (FIG. 4b) in association 478 with one of the casestatus objects 408, and the activity object 428 in association 480 with one or more activitylog objects 422; one or more casecalendar objects 430 (FIG. 4b) in association 482 with one of the activity objects 428 (FIG. 4b), one or more of the casecalendar objects 430 in association 484 with one of the user objects 420, and one or more of the casecalendar objects 430 in association 486 with one of the case objects 402.

The objects described above perform various functions. For example, the casestatus object 408 defines the various states that cases can have, e.g., OPEN, ASSIGNED, CLOSED, or SETTLED.

The user object 420 contains user profiles for use by the present invention. Many individuals may be represented by separate object instantiations of the user class. This is a general class that may include (but is not limited to) employees of the operating organization (a.k.a., consultants) (that operates the present invention), client contacts, Complainants, consultants, and agency contacts and investigators, to name but a few. Incidentally, the employee object 424 is intended only for employee-specific information for employees of the operating organization.

As illustrated in FIGS. 5a and 5b, in the preferred embodiment of the present invention, the execution and operation of the intake module 302 is enabled (facilitated) by, for example: one or more charge objects 502 (FIG. 5a), one or more of the charge objects 502 in association 552 with one of the case objects 402, one or more of the charge objects 502 in association 554 with the dismissaltype object 412, one or more agency objects 504 (FIG. 5a), one of the agency objects in association 556 with one or more of the charge objects 502; one or more casebasis objects 506 (FIG. 5a), one or more of the casebasis objects 506 in association 558 with one of the case objects 402, one or more of the casebasis objects 506 in association 560 with one of the agency objects 504; a basis object 508 (FIG. 5a), the basis object 508 in association 562 with one or more of the casebasis objects 506; one or more caseissue objects 510 (FIG. 5a), one or more of the caseissue objects 510 in association 564 with one of the agency objects 504, and one or more of the caseissue objects 510 in association 578 with one of the case objects 402; an issue object 512 (FIG. 5a), the issue object 512 in association 566 with one or more of the caseissue objects 510; one or more agencycontact objects 514 (FIG. 5a), one or more of the agencycontact objects 514 in association 568 with one of the agency objects 504, one of the agencycontact objects 514 in association 570 with one or more of the charge objects 502; and an address object 516 (FIG. 5a), the address object 516 in association 572 with one or more of the agency-contact objects 514, and the address object 516 in association 574 with one or more of the agency objects 504; one or more complaint objects 432 (FIG. 5b), one of the complaint objects 432 in association 488 with one or more of the case objects 402; a submission-type object 434 (FIG. 5b) in association 490 with one or more of the complaint objects 432; a dismissaltype object 412 (FIG. 5b) in association 554 with one or more of the charge objects 502; and at least one determination-type type objects 518 (FIG. 5b) in association 580 with one or more of the charge objects 502.

The address class contains information for any entity in the database that requires an address. The object includes properties for telephone, facsimile, email, as well as physical location, mailing address, etc.

As illustrated in FIG. 6, in the preferred embodiment of the present invention, the execution and operation of the role module 306 is enabled (facilitated) by, for example: one or more user-role objects 602, one or more of the user-role objects 602 in association 652 with the user object 420 of the case status module 304; a role object 604, the role object 604 in association 654 with one or more of the userrole objects 602; one or more rolealert objects 606, one or more of the rolealert objects 606 in association 656 with the role object 604; one or more rolereport objects 608, one or more of the rolereport objects 608 in association 658 with the role object 604; and a report object 610, the report object 610 in association 660 with one or more of the rolereport objects 608.

The report object 610 can contain a pre-formatted report specification which, when combined with a database query (such as a SQL or OQL statement) will enable the printing or exporting of information contained within the present invention. It is contemplated that one or more of the instances of the report class may be specifically designed to format a report in such a way as to facilitate electronic filing with clients, agencies, or governmental entities.

As illustrated in FIG. 7, in the preferred embodiment of the present invention, the execution and operation of the payment module 308 is enabled (facilitated) by, for example: one or more invoicemaster objects 702, one of the invoicemaster objects 702 in association 752 with one of the activitylog objects 422, one or more invoice master objects 702 in association 758 with a case object 402; and one or more payment objects 704, one or more of the payment objects 704 in association 754 with one of the user objects 420, one or more of the payment objects 704 in association 756 with one of the invoicemaster objects 702.

As illustrated in FIG. 8, in the preferred embodiment of the present invention, the execution and operation of the alert distribution module 310 is enabled (facilitated) by, for example: an alert object 802, the alert object 802 in association 852 with one or more of the rolealert objects 606 of the role module 306; at least one alerthistory objects 804, one or more of the alert-history objects 804 in association 854 with the alert object 802, one or more of the alert-history objects 804 in association 856 with the one or more of the user objects 420; and one or more useralert objects 806, one or more of the useralert objects 806 in association 858 with one of the alert objects 802, and one or more of the useralert objects 806 in association 860 with one of the user objects 420.

As illustrated in FIG. 9, in the preferred embodiment of the present invention, the execution and operation of the correspondence distribution module 312 is enabled (facilitated) by, for example: one or more correspondencetemplate objects 902, one or more of the correspondencetemplate objects 902 in association 952 with the case-type object 416; one or more clientcorrespondence-recipient objects 904; one or more of the client-correspondencereceipient objects 904 in association 954 with one of the correspondencetemplate objects 902; at least one clientcorrespondence objects 906, one or more of the clientcorrespondence objects 906 in association 956 with one of the correspondencetemplate objects 902; one or more casecorrespondence objects 908, one or more of the casecorrespondence objects 908 in association 958 with one of the case objects 402 of the case status module 304; and one or more of the casecorrespondence objects 908 in association 960 with one of the correspondencetemplate objects 902; one or more correspondencedistribution objects 910, one or more of the correspondencedistribution objects 910 in association 962 with one of the casecorrespondence objects 908; an approvalstatus object 914, and one or more casedocument objects 916; one or more of the casedocument objects 916 in association 970 with one of the case objects 402; and one or more of the casedocument objects 916 in association 972 with the approval-Status object 914.

As illustrated in FIG. 10, in the preferred embodiment of the present invention, the execution and operation of the document distribution module 314 is enabled (facilitated) by, for example: a documenttemplate object 1002, the documenttemplate object 1002 in association 1052 with one or more casedocument objects 916; one or more clientdocumentrecipient objects 1004, one or more of the clientdocumentrecipient 1004 objects in association 1054 with the documenttemplate object 1002; one or more clientdocument objects 1006, one or more of the clientdocument objects 1006 in association 1056 with the documenttemplate object 1006; and one or more documentdistribution objects 918, one or more documentdistribution objects having an association 974 with an approvalstatus object 914 of the correspondence distribution module 312, and one or more documentdistribution objects 918 having an association 976 with a casedocument object 916.

As illustrated in FIGS. 11a, 11b, and 11c, in the preferred embodiment of the present invention, the execution and operation of the client information module 316 is enabled (facilitated) by, for example: one or more clientcontact objects 1102 (FIG. 11b), one of the client-contact objects 1102 in association 1154 with one or more of the correspondencedistribution objects 910, one of the clientcontact objects 1102 in association 1158 with one or more of the complaint objects 432, one or more of the clientcontact objects 1102 in association 1172 with the address object 516 of the intake module 302, and one or more of the clientcontact objects 1102 in association 1160 with one of the user objects 420 of the case module 304; one or more clientdivision objects 1104 (FIG. 11b), one of the clientdivision objects 1104 in association 1162 with one or more clientcorrespondence objects 906 of the correspondence module 312, one of the clientdivision objects 1104 in association 1164 with one or more clientdocument objects 1006 of the document distribution module 314, and one or more of the clientdivision objects 1104 in association 1166 with one of the address objects 516 of the intake module 302; one or more clienthq objects 1106 (FIG. 11b), one of the clienthq objects 1106 in association 1168 with one or more user objects 420 of the case module 304, one of the clienthq objects 1106 in association 1170 with one or more of the clientdivision objects 1104, one or more of the clienthq objects 1106 in association 1173 with the address object 516, one of the clienthq objects 1106 in association 980 with one or more clientcorrespondence objects 906 of the correspondence module 312; one of the clienthq objects 1106 in association 1062 with one or more clientdocument objects 1006 of the document module 314; one or more clientsic objects 1108 (FIG. 11a), one or more of the clientsic objects 1108 in association 1174 with one of the clienthq objects 1106; a sic object 1110 (FIG. 11a), the sic object 1110 in association 1176 with one or more of the clientsic objects 1108; one or more clientlocation objects 1114 (FIG. 11c), one or more of the clientlocation objects 1114 in association 1181 with one of the clienthq objects 1106, one or more of the clientlocation objects 1114 in association 1182 with one of the clientdivision objects 1104, one of the clientlocation objects 1114 in association 1184 with one or more case objects 402 of the case module 304, and one or more clientlocation objects 1114 in association 1185 with the address object 516 of the intake module 302; one or more clientnote objects 1116 (FIG. 11c), one or more of the clientnote objects 1116 in association 1186 with one of the clienthq objects 1106, one or more of the clientnote objects 1116 in association 1187 with one of the clientlocation objects 1114, and one or more of the clientnote objects 1116 in association 1188 with one of the clientdivision objects 1104; one or more clientcontacts objects 1118 (FIG. 11c), one or more of the clientcontacts objects 1118 in association 1189 with one of the clientcontact objects 1102, one or more of the clientcontacts objects 1118 in association 1190 with one of the clientdivision objects 1104, one or more of the clientcontacts objects 1118 in association 1191 with one of the clienthq objects 1106, and one or more of the clientcontacts objects 1118 in association 1192 with one of the clientlocation objects 1114; one or more clientunion objects 1120 (FIG. 11a), one or more of the clientunion objects 1120 in association 1193 with one of the clienthq objects 1106, one or more of the clientunion objects 1120 in association 1194 with one of the clientdivision objects 1104, one or more of the clientunion objects 1120 in association 1195 with an address object 516 of the intake module 302, and one or more of the clientunion objects 1120 in association 1197 with one of the clientlocation objects 1114; and a uniontype object 1122 (FIG. 11a), the uniontype object 1122 in association 1196 with one or more of the clientunion objects 1120.

The clienthq object 1106 contains data that pertains to a client of the organization that operates the present invention (the "operating organization"). Certain information stored in the clienthq object 1106 is made available to "child" client entities for use directly, or for copying from the parent. A copy of the information would be an independent source object (e.g., a separate instantiation), which may be changed within the scope of the child client. This is useful for clients that are holding companies that have subsidiaries that are themselves corporations in their own right.

The clientcontacts object 1118 is used to contain any clientcontact. This object contains links to an individual's object representation (e.g., the object within the present invention that contains that person's specific information).

The sic object 1110 represents the many-to-many relationships between the Standard Industrial Classifications ("SIC") and the clients represented within the present invention.

The uniontype object 1122 is specific to union organizations. Local unions refer to this as their "union type" within the client information retained within the present invention. An example of a union type would be "United Auto Workers." The uniontype object 1122 is used to identify certain unions and to enable linking to their names, web sites, abbreviations, and other information.

Incidentally, it is contemplated that the objects of the present invention will perform certain functions on behalf of, or otherwise representing, the individuals about whom the objects pertain.

Properties of the Various Objects

As mentioned before, the present invention is implemented on a computer system, preferably having a server capable of executing one or more processes that facilitate the creation of objects. The objects preferably have data composed of properties that may be stored/retrieved in an object or relational database or in another manner. The properties of the objects of the present invention are of standard types that enable the property to retain the kind and amount of information necessary to fulfill the requirements of the object and the overall system of the present invention. For example, the properties may be a standard integer, or a string variable of finite length. Other properties are specific for datetime and real (non-integer) numbers. Still other properties are of type "bit" for use as boolean variables or simple flags, as well as tinyint, varchar(x), char(x), smallint, numeric(a, b), or other type allowable under the language, database and/or platform upon which the application of the present invention operates.

The case object 402 has, for example: a caseid property; a clientlocationid property; an empstatusid property; a casetypeid property; a complaintid property; a casemanager-userid property; a case-statusid property; a dismissaltypeid property; a casesubstatusid property; a settlementid property; a tscliinforecordid property; a consultantuserid property; a casenumber property; a tecode property; a rate property; a ratetype property; datereactivated property; a dateclosed property; a reportduedate property; an insuranceclaimno property; a courtfilingdate property; a courtstate property; a court-circuit property; a dateadded property; a datemodified property; an addedby property; a modifiedby property; a firstname property; a last name property; a jobtitle property; a title property; a complaint property; and a datareceived property.

The case object 402 contains pertinent information about the case being processed within the present invention. The courtstate property contains the two-letter abbreviation for the state in which the court is located where the case litigation is filed, e.g., "ME" for Maine. A value placed in this property does not imply, nor is it to be inferred, that this is a state circuit court. Rather, the courtcircuit property indicates the federal circuit in which the case is filed, whereas the courtstate only indicates the geographical location of the court of the initial filing. Within the courtcircuit property, a non-null value indicates that this is a Federal court case, while a null value indicates a State court case. The courtfilingdate property contains the date the case was filed with a court. The date-added property indicates the date that the case is added to the table. The dateclosed property indicates the date that the case is closed, i.e., the date that the main status is set to "Closed". The insuranceclaimno property contains the identification number of the claim, as reported by the client (insurance company), e.g., "23654-002." The reportduedate property indicates the date that the Report is due for this case. The datereactivated property contains the date that the case was "re-activated." Possible reasons for case reactivation may include the RFI requiring considerable time to reach a compliance. The title property is the title, or citation, of the case, e.g., "Smith v. ACME, Inc." The job-title property contains the job property of the Complainant. The complaint property can be either internal or external. Typically, for "internals," this property contains the online submission of the Complainant or the operating organization's employees' notes if the complaint was received by telephone, facsimile or mail, whereas for "externals" it includes a copy of the original charge. The datemodified property contains the date of the last modification to the case in question. The addedby and modifiedby properties contain the user identifier of the person adding and modifying, respectively, this particular row. The lastname and firstname properties contain the last name, e.g., "Burns", and the first name, e.g., "George", respectively, of the Complainant in the case. The datereceived property contains the date that the complaint or charge, i.e., primary charge only, was received by the operating organization. However, this date is not always the same as the date-added property. A example of this may be a case that was received on a Friday, but not entered into the system until the following Monday. The complaintid property contains the database identification for the complaint. The casetypeid property contains the database-unique identifier which uniquely identifies the object in the database. The casemanageruserid property contains the user identifier of the case manager who set up the case. The casestatusid property contains the current status of the case, e.g., "Closed", "Active", "Monitoring", "Reactivated." The caseid property contains the database unique identifier which uniquely identifies the case within the database of the present invention. The empstatus-id property contains a database unique identifier to an employeestatus object. The clientlocationid property contains a database-unique identifier for the clientlocation object within the database. The ratetype property determines the nature of the rate in the rate column, i.e., either "F" for a flat rate, or "H" for an hourly rate. The tecode property uniquely identifies the TE charge account for this case, and that number is the present invention's "foreign key" into the accounting program database, created independently at the case set-up in both the present invention and the accounting program. The casenumber property contains the case number that is assigned to the case by the operating organization in order to identify the case uniquely. Typically, the case number corresponds to the alphanumeric code placed on case folders and is used in the accounting program, i.e., "Name.Nickname1". This casenumber is read from the accounting program after the TE code (te-code) is created in both the present invention and the accounting program. The rate property contains the rate charged by the operating organization for time spent on the case in question. A default value is extracted from the Client table and is a flat rate "F" and/or an hourly rate "H", as determined by the ratetype property. The casesubstatusid property contains the current sub-status of the case. An example is "Dismissed, No Cause", which is a sub-status of the status "Closed." The dismissaltypeid property contains the identification representing the type of dismissal for this case, if applicable. An example of a dismissaltypeid property is "Successful Conciliation." The settlementid property contains a database-unique identifier that uniquely identifies the settlement object in the database. The tscliinforecordid property is a "foreign key" into the accounting program Cliinfo table (RecordID) and identifies the case, allowing the present invention to access case-specific accounting program data. The tscliinforecordid property is read by the accounting program after the tecode is created in both the present invention and the accounting program.

The settlement object 404 has, for example: a settlementid property; a rangelower property; a range-upper property; a rangedesc property; a settlementdate property; a demandedamount property; a demanddesc property; an actualamount property; and an actualdesc property.

The settlement object 404 contains the details of a settlement. The settlement-id property contains a database-unique identifier which uniquely identifies the settlement object in the database of the present invention. The range-lower property contains the lower boundary or minimum amount, in U.S. dollars, e.g., 1500, or $1,500.00, for the settlement. Similarly, the rangeupper property contains the upper boundary or maximum amount, in U.S. dollars, e.g., 5000, or $5,000.00, for the settlement. The rangedesc property contains any textual description which needs to accompany the settlement. The settlementdate property contains the date the settlement was reached. The demandedamount property contains the amount of money demanded by the Complainant/charging party, in U.S. dollars, i.e., 5000, or $5,000.00. The demand-desc property contains a description of the non-monetary demands, or an elaboration upon the monetary demands, e.g., "reinstatement and a 10% pay increase." The actualamount property contains the amount finally settled upon by the Complainant charging party, in U.S. dollars, i.e., 3000, or $3,000.00. The actualdesc property contains a description of the non-monetary final settlement, or an elaboration upon the monetary settlement, e.g., "reinstatement and a 5% pay increase."

The relatedcase object 414 has, for example, a caseid2 property, a caseid1 property, as well as a relationshipdesc property.

The relatedcase object 414 relates two cases to one another, such as when an internal case is later filed by the complainant as a charge or when an internal or external case later results in litigation. Other case relationships could be related here by utilizing the relationshipdesc property column to describe the relationship. Each relationship is represented once, so queries need to inspect both columns when searching for a relationship, i.e., "where caseid1=2039 OR caseid2=2039." The caseid1 and the caseid2 properties each contain a database-unique identifier which uniquely identifies the relatedcase object within the database of the present invention. The relationshipdesc property contains a textual description of the nature of the relationship represented here, e.g., "CSC-EEO from the same claim."

The employmentstatus object 410 has, for example: an empstatus-id property; and a statusname property.

The employmentstatus object 410 represents the valid statuses applicable to a Complainant regarding his or her employment status with the client. Valid values include, for example, Hourly, Salary, Contract, Applicant, etc. The empstatus-id property contains a database-unique identifier which uniquely identifies the employment status identifier within the database. The statusname identifier property contains the name of the employment status, i.e., Hourly, Salary, Contract, Applicant, etc.

The dismissaltype object 412 has, for example, a dismissaltype-id property, as well as a type-name property and an activeind property.

The dismissaltype object 412 represents the possible types of dismissals which can be associated with a case. The dismissal-type-id property contains a database unique identifier which uniquely identifies the dismissaltype object within the database. The typename property contains the name of the dismissaltype, e.g., "Successful Conciliation." The term "Dismissed" is contained in the casestatus property column and hence, is not stored in the dismissaltype object 412. Finally, the activeind property, if set to, for example, the value 1, indicates a vali