EP1438681A4 - Method and system for outputting an analyzed data report - Google Patents

Method and system for outputting an analyzed data report

Info

Publication number
EP1438681A4
EP1438681A4 EP01975400A EP01975400A EP1438681A4 EP 1438681 A4 EP1438681 A4 EP 1438681A4 EP 01975400 A EP01975400 A EP 01975400A EP 01975400 A EP01975400 A EP 01975400A EP 1438681 A4 EP1438681 A4 EP 1438681A4
Authority
EP
European Patent Office
Prior art keywords
document
documents
rerrr
odocument
parcel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP01975400A
Other languages
German (de)
French (fr)
Other versions
EP1438681A1 (en
Inventor
Charles R O'halloran
Janette M Glasser
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
REALTY DATA CORPORATION
Original Assignee
Charles R O'halloran
Janette M Glasser
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Charles R O'halloran, Janette M Glasser filed Critical Charles R O'halloran
Publication of EP1438681A1 publication Critical patent/EP1438681A1/en
Publication of EP1438681A4 publication Critical patent/EP1438681A4/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management

Definitions

  • the present invention relates to searching systems that output reports, and, more particularly, to a searching method and system for outputting an analyzed data report based on a search and analysis of a database of records.
  • the present invention satisfies the demand.
  • the system of the present invention takes into account the various differences between the above-noted differing methods of recordation and translates those differences into a common output. More specifically, once the system of the present invention is programmed for the terminology specific to a particular locale, as well as the procedures by which an end user 230 navigates through its computerized indexing system, it follows a predetermined set of rules to collect, analyze and display the data in a format selected by an end user 230. It is therefore an object of the present invention to provide a method for outputting an analyzed data report.
  • a request signal is received.
  • the request signal includes a request for an analyzed data report of a parcel of real property.
  • a database of records is accessed.
  • the database of records relates to the parcel of real property.
  • Data is collected from the database of records.
  • the collected data is then analyzed.
  • An analyzed data report is created from the analysis of the collected data. Finally, the analyzed data report is outputted to an end user.
  • a request signal is received.
  • the request signal includes a request for an analyzed data report of a parcel of real property.
  • a database of records is accessed.
  • the database of records relates to the parcel of real property.
  • Data is collected from the database of records.
  • the collected data is then analyzed.
  • An analyzed data report is created from the analysis of the collected data. Finally, the analyzed data report is outputted to an end user.
  • FIG. 1 illustrates a top level flowchart of a preferred embodiment of the present invention of a method and system for outputting an analyzed data report, made in accordance with the present invention
  • FIG. 2 illustrates a block diagram of the elements in the preferred embodiment of FIG. 1.
  • FIG. 1 illustrates a flow chart of a preferred embodiment of the present invention which is directed to a method and system for outputting an analyzed data report.
  • FIG. 1 relates to an analyzed data report concerning parcels of real property, the example is merely that; an example. It will be understood that the embodiment disclosed and illustrated herein may be modified appropriately for use with other information such as County clerk data, Circuit clerk data, State's attorney data to provide an analyzed data report having the information and format selected by the end user 230.
  • FIG. 2 illustrates a block diagram showing the elements that may be utilized to effect and realize the preferred embodiment of the method and system illustrated in FIG. 1. The elements illustrated in FIG. 2 are merely exemplary and are not in any requirements of the present invention.
  • the process of outputting an analyzed data report begins with a request by a party (termed also "end user” herein) for information regarding a particular parcel of real property.
  • the request is transmitted as an electronic signal from an electronic communication device 210 and received at an electronic communication node 205.
  • the request signal is transmitted across an electronic communication network 215.
  • the electronic communication device 210 as used in the system 200 of the present invention , may be utilized by an end user 230 (which may enter into the system as a subscriber) to access and/or connect with the electronic communication node 205.
  • the electronic communication device 210 can include, without limitation, wireline telephones, paging units, radio units, wireless data devices, portable, mobile or wireless telephones, personal information managers (PIMs), personal digital assistants (PDAs), personal computers (PCs), network televisions (TVs), Internet TVs, Internet telephones, portable wireless devices (i.e., two-way pagers), workstations or any other suitable communication devices.
  • PIMs personal information managers
  • PDAs personal digital assistants
  • PCs personal computers
  • TVs network televisions
  • Internet TVs Internet telephones
  • portable wireless devices i.e., two-way pagers
  • workstations or any other suitable communication devices.
  • the electronic communication device 210 may have a user-input interface and/or a user-output interface.
  • the user-input interface and/or the user-output interface may work in conjunction with the electronic communication device 210 without actually residing on the electronic communication device 210.
  • the user-input interface may receive input from the end user 230 and the user-output interfaces may provide output to the end user 230.
  • the user-input interface can include, without limitation, an electroacoustic transducer, such as, for example, a microphone to receive voice and other audible input from the end user 230, a keypad or a keyboard to receive key strokes from the end user 230, a touchpad or touchscreen to receive touch input from the end user 230, a handwriting recognition interface to receive handwritten input from the end user 230 or a pointing device such as, for example, a mouse or a trackball to receive point and click inputs from the end user 230.
  • an electroacoustic transducer such as, for example, a microphone to receive voice and other audible input from the end user 230, a keypad or a keyboard to receive key strokes from the end user 230, a touchpad or touchscreen to receive touch input from the end user 230, a handwriting recognition interface to receive handwritten input
  • the user-output interface of the electronic communication device 210 can include, without limitation, an electroacoustic transducer such as, for example, a speaker to provide voice and other audible output to the end user 230, and a visual display device such as a liquid crystal display or a cathode ray tube to provide graphical and/or textual information to the end user 230.
  • an electroacoustic transducer such as, for example, a speaker to provide voice and other audible output to the end user 230
  • a visual display device such as a liquid crystal display or a cathode ray tube to provide graphical and/or textual information to the end user 230.
  • the electronic communication device 210 may include more than one user-input interface and/or more than one user-output interface. Moreover, the end user 230 may utilize one or more user-input interface and/or user-output interface simultaneously.
  • a wireless telephone may have a microphone, a telephone keypad, a speaker, and a visual display device.
  • An input interface may also reside on the electronic communication node 205.
  • An output interface may also reside on the electronic communication node 205.
  • the input interface may reside on the electronic communication node 205 while the output interface may reside on the electronic communication device 210.
  • the input interface may reside on the electronic communication device 210 while the output interface may reside on the electronic communication node 205.
  • the electronic communication device 210 may also communicate with an electronic communication node 205 via the electronic communication network 215.
  • the electronic communication network 215 can interface with the electronic communication device 210 through wireline or wireless networks or systems (i.e., telephone or televisions systems, Integrated Services Digital Network (ISDN) systems, coaxial lines, computer networks, digital end user lines, private networks, wireless local loop systems, etc.).
  • wireline or wireless networks or systems i.e., telephone or televisions systems, Integrated Services Digital Network (ISDN) systems, coaxial lines, computer networks, digital end user lines, private networks, wireless local loop systems, etc.
  • the electronic communication networks 215, 235, 240 of the system 200 can include, without limitation, intranets, extranets, the Internet, a Local Area Network (LAN), a telephone network, (e.g., a Public Switched Telephone Network (PSTN), private telephone networks, etc.), a cellular network, satellite networks, a personal communication system, a TV network (e.g., a cable TV system), local, regional, national or global paging networks, an email system, a wireless data network (e.g., satellite data or local wireless data networks), a wireless LAN, a wireless local loop/distribution system (e.g., LMDS, MMDS Q ⁇ Code Division Multiple Access (CDMA) based system), a Voice Over Internet Protocol (VOIP) network or any other suitable network.
  • LAN Local Area Network
  • PSTN Public Switched Telephone Network
  • PSTN Public Switched Telephone Network
  • a cellular network e.g., satellite networks, a personal communication system
  • TV network e.g.
  • the electronic communication networks 215, 235, 240 may also include a wide area network (WAN), such as, for example, the Internet, the World Wide Web (WWW) or any other similar on-line service. It will be recognized that the electronic communication networks 215, 235, 240 may have portions in common, may comprise a separate network, or may be the same network as a second electronic communication network.
  • WAN wide area network
  • WWW World Wide Web
  • the end user 230 may be required to input a security-type code or signal to enter the system 200.
  • the security-type code or signal may comprise, without limitation, a password, a personal identification number (PIN), a keycode, a subscription code or any other type of security code or signal.
  • the electronic communication node 205 is preferably a location from which an embodiment of the method and system of the present invention may be run.
  • the electronic communication node 205 may preferably be, without limitation, a PC, a TV, a telephone, a personal communication system, local, regional, national or global paging networks or any other suitable network.
  • the electronic communication node 205 should interface properly with the electronic communication device 210 and the electronic communication network. For example, if the electronic communication network is the Internet, and the electronic communication device 210 is a PC, then the electronic communication node 205 should be compatible with the PC (i.e., run off Hyper Text Markup Language (HTML)).
  • HTML Hyper Text Markup Language
  • the electronic communication node 205 accesses a database of records 220.
  • the database of records 220 corresponds to a listing of parcels of real property, and may include, without limitation, a county-wide (or other jurisdiction- wide) listing of parcels located within the county, as well as any private entities which maintain a collection or database of the information recorded within the Governmental entity.
  • the preferred embodiment may be utilized to access and analyze both State-based (i.e., County, State or other Governmental entity) or other private entities that also maintain a listing of real property-related records.
  • the listing of parcels may be organized in one of a number of formats.
  • these formats may include, for example and without limitation, a Permanent Index Number-based method (in which the end user 230 must provide that Index Number to access the data, a legal description-based method (in which the listing is according to the legal description (i.e., Lot, Block,
  • the database of records contains a listing of real estate-related information.
  • the listing of real estate-related information includes a reference, or legal description, of each parcel of real property.
  • the legal description is a means for describing the location of the parcel. It may be by Metes and Bounds, a Permanent Index Number, a reference to Lots, Blocks or Subdivisions or any other suitable sorting method.
  • the electronic communication node 205 be capable of determining the method of indexing prior to collecting data from the database of records 220.
  • Such information may be manually transmitted to the electronic communication node 205, such as, for example, inputted into a program or database accessed by the electronic communication node 205.
  • such information may be determined by the electronic communication node 205 itself, such as, for example, by scanning the database of records 220 for a particular jurisdiction.
  • the electronic communication node 205 acts to collect from the available data information relating to the parcel of real property according to the request that was inputted via the request signal. This is illustrated in FIG. 1 as Step 110.
  • the electronic communication node 205 may perform many specific types of collections.
  • the electronic communication node 205 may merely collect and display the collected information to the end user 230. Most likely, this would occur when the request signal includes a request for a legal description of the parcel, the payment status of real estate (or other) taxes, etc., or similar more simply requests.
  • the electronic communication node may receive real estate tax information regarding the parcel of real property.
  • Another example of a collection type would be a more extensive collection, requiring an analysis and display of the requested data. Examples of such searches would be directed to obtaining recorder or registrar data, for use in a judgment lien search or litigation search, or for retrieving a document chain relating to the ownership of the parcel.
  • the electronic communication node 205 must then determine the local method available for data collection.
  • the method available for data collection may be by flat files or by data/screen scraping. Having access to the flat files would mean that direct access to the tables of the County database would be available.
  • the data/screen scraping method would be an alternative method of collecting the data when direct access to the tables within the database is unavailable. This unavailability could be for reasons of logistics or security reasons.
  • the needed data is collected from predetermined field locations being displayed on a monitor screen which a "snapshot" of that screen is being made. Additionally the electronic communication node 205 may then open any files within the database necessary for the collection of any data.
  • Such files may include, without limitation, files relating to the executed date of any transfer of the parcel of real property, the recording date of any transfer of the parcel of real property, the parties involved in any transfer of the parcel of real property, the type of document involved, the amount involved and any other details that may be relevant to the transfer of the parcel of real property.
  • this analytical process may include at least two steps.
  • the documents retrieved i.e., the collected data
  • the documents retrieved are searched for other documents to determine the status of any liens upon the parcel of real property.
  • These "other documents” may include, without limitation, mortgages, trust deeds, assignments of mortgages, assignments of rents, releases, judgments, subordination agreements plats, easements mechanic's lien claims, etc. All of the data ported to a particular parcel of real property is collected from the earliest data of the database to ensure that no items are inadvertently misused. Once all of the items are collected, the analysis is made to the entire list of data.
  • Step 120 the electronic communication node 205 then begins the process of creating the analyzed data report.
  • the electronic communication node 205 preferably performs a number of steps.
  • the electronic communication node 205 places the analyzed documents in a predetermined order, such as, for example, an order based on the recorded date.
  • the electronic communication node 205 matches related documents and groups them together.
  • An example of this matching may be documents relating to the grant of a mortgage coupled with documents related to the assignment or subsequent release of a mortgage.
  • the electronic communication node 205 upon finding the grant of a mortgage (or other lien), will scan the remaining documents for a release. If a release is found, the documents will be so indicated as to not include them in any final report sent to the end user 230. This is because the mortgage has been satisfied and is of no legal consequence at this point.
  • the electronic communication will indicate which liens are still unreleased to the end user 230.
  • the data collected and analyzed may be presented to an operator.
  • the operator has the ability to review and manually edit the information collected and analyzed. Additionally, at this point, the operator may be able to add additional information prior to the delivery to the end user 230. This may occur if a more structured format is requested by the end user 230.
  • the end user 230 being a title company, may request other information, such as, building setback lines, easements, covenants and restrictions, endorsements, etc.
  • the electronic communication node 205 After completing the analysis on the parcel of property requested in the request signal, the electronic communication node 205 prepares for the delivery and output of the analysis results to the end user 230. This is illustrated in Step 125 of FIG. 1.
  • the electronic communication node 205 may prompt the user for additional information (other than the security code or signal referenced above). For example, it is preferable that the electronic communication node 205 may have set up subscription-based accounts in the name of the end user 230. An account database 225 may store this information. This account would preferably have been set up earlier. The purpose for such accounts would be to charge the accounts with the results to be received.
  • the end user 230 would pay per result received, although, alternatively, other pay methods may be used (e.g., per page, per time online, etc.). Additionally, it is contemplated that the end user's account would contain other information (i.e., a profile) which would be created in a parameter-based form. Such parameters may include, without limitation, name, address, phone numbers, email addresses or other contact information, type of preferred report, method of delivery, frequency of billing, etc. Preferably, these profiles would be able to be modified. Additionally, the electronic communication node 205 may also provide for an "out of the normal" temporary change to the profile (e.g., a different shipping method).
  • the analysis report may be part of a properly formatted data stream, ready for use in an end user's database or application.
  • the analysis report may be merged into a text document and transmitted via facsimile, email or other electronic method.
  • Appendix A illustrates a preferred embodiment of the present invention of a method and system for outputting an analyzed data report, made in accordance with the present invention. It should be appreciated that the embodiments described above are to be considered in all respects only illustrative and not restrictive. The scope of the invention is indicated by the following claims rather than by the foregoing description. All changes that come within the meaning and range of equivalents are to be embraced within their scope.
  • This sub routine contains the "intelligence" that
  • Tr ⁇ m(oP ⁇ n. Documents d) .TypeV) "TEED" Or _
  • 'gTax_Year$ WJGetPrivateProf ⁇ leStnng$ (gsAppName$, "TaxYear”, " 2 000”, gsINI_F ⁇ le$)
  • HostSess ⁇ onl$ WJGetPrivateProf ⁇ leStr ⁇ ng$ ("WJA” , "HostSessionl” , "A”, gsINI_F ⁇ le$)
  • Loop_Ctr% Loop_Ctr% + 1 Loop End If
  • Loop_Ctr% Loop_Ctr% + 1 Loop End If End If
  • Loop_Ctr% Loop_Ctr% + 1 Loop
  • Loop_Ctr% Loop_Ctr% + 1 Loop
  • Loop_Ctr% Loop_Ctr% + 1 Loop End If
  • Loop_Ctr% Loop_Ctr% + 1 Loop
  • Loop_Ctr% Loop_Ctr% + 1 Loop
  • Loop_Ctr Loop_Ctr + 1 Loop End If Retr ⁇ eve_Property_Info_Ex ⁇ t :
  • This sub routine retrieves property for a specific
  • Nbr_Pages% CInt (Temp_Nbr_Pages$) End If End If
  • Page_No$ ExtraGetScrData$ (RetStr$, 5, 70, 4)
  • PageNum Page_No$ oDocument .
  • PriorDocs ExtraGetScrData$ (RetStr$, 12, 4 4, 3 6) oDocument .
  • RecordedDate CDate (ExtraGetScrData$ (RetStr$, 8, 71, 10)) oDocument .
  • Retfc ExtraPut&lghExtralS, 9, 8, M ⁇ d$ (roPin. PinNumber, 1, 2))
  • Rett ExtraPut&(ghExtral&, 9, 1 3 , M ⁇ d$ (roPin. PinNumber, 4, 2))
  • Ret& ExtraPut&tghExtralSe, 9, 18, M ⁇ d$ (roPin. PinNumber, 7, 3 )
  • Ret& ExtraPut ghExtralfc, 9, 2 4 , M ⁇ d$ (roPin. PinNumber, 11, 3))
  • Ret& ExtraPut&(ghExtral&, 9, 30, M ⁇ d$ (roPin. inNumber, 15, 4 ))
  • ' LMg added for condo logic Condo$ M ⁇ d$ (roPin. PinNumber, 15, ) 'If Len(Tr ⁇ m$ (Condo$) ) > 0 Then
  • UpdateFlag eftPropertyInfo, rErrr, rErrMsg
  • RetSc ExtraPutSc(ghExtral&, 7, 2 4, M ⁇ d$(roP ⁇ n PinNumber, 4, 2 ) )
  • PriorDocs ExtraGetScrData$ (RetStr$, iRow + 1, 25,
  • TypeV ExtraGetScrData$ (RetStr$, iRow, 72, 9)
  • This routine handles a host
  • RetSi ExtraPutSi (ghExtralSc, 6, 19, Right (oDocument .DocumentNum,
  • PriorDocs ExtraGetScrData$ (RetStr$, 11, 15, 65) oDocument .
  • P ⁇ orDocsFormat DuPagePriorDocs (ExtraGetScrData$ (RetStr$, 11, 15, 65))
  • RetSc ExtraPutSc(ghExtral&, 6, 33, Format (oDocument RecordedDate,

Abstract

A method for outputting an analyzed data report including receiving a request (100), accessing a database (105), collecting data (110), analyzing data (115), creating a report (120) and outputting the report (125) to an end user.

Description

METHOD AND SYSTEM FOR OUTPUTTING AN ANALYZED DATA REPORT
FIELD OF THE INVENTION
The present invention relates to searching systems that output reports, and, more particularly, to a searching method and system for outputting an analyzed data report based on a search and analysis of a database of records.
BACKGROUND OF THE INVENTION
In today's world, information is key. As a result, the ability to obtain and process information has very often made the difference between a successful entity and an unsuccessful one. Given the incentive, business entities as well as individuals have sought not only to obtain and process information but also to obtain and process information more quickly and more accurately than one's competitor; this also has the added benefit of saving valuable time and energy. Within the general desire to obtain and process information are specific interests of various entities as well as individuals to obtain additional information regarding very specific areas information. For example, there are specific interests to search for titles of motor vehicles and items of personal property that have titles, professional licenses such as medical licenses and bar certifications, and other similar arenas. One of the more important arenas in which members of the general public, as well as industry professionals, at one time or another require a search for information concerns documents recorded against parcels of real property, and, more specifically, whether those parcels contain liens, encumbrances or unrelated mortgages. At the present time, there are many users requiring access to real property-related data. Counties (or other governmental entities) throughout the United States maintain this data either in paper for or semi-automated form. Users require not only access to this data, but the analysis of it as well, in order to make critical business decisions on a daily basis. As a result, there currently exists a large demand to obtain information regarding real estate. The collection and analysis of real property data may be used for multiple purposes, the most important of which is to provide a legal means to protect the interests of land owners and lien holders by notifying all creditors, subsequent purchasers and others with an economic interest in a parcel of real property about the ownership and encumbrances against that parcel. Currently, there are multiple indexing systems in place in Recording
Offices across the Country. Each State has enacted statutes that provide the methods for the indexing, sorting, searching, and presentation of real-estate related information to an end user 230. Despite the demand and legal authorization to do, the quality of these systems will largely depend upon the size (i.e., population) of a county and the funds they have available to automate these systems. These differences, along with other localized issues, make the concept of centralizing all of this indexed real estate data into one uniform, universal tracking system both unrealistic and unnecessary.
While a universal tracking system concept might be applicable to personal property, such as, motor vehicles, boats, antiques and the likes, personal property is movable and can be transferred across State lines, as well as overseas. Real estate, by contrast, is immovable. The need for tracking real estate via a dependable universal system is virtually non-existent. The inhabitants move in and out of the real estate, while the real estate itself stays fixed.
A demand therefore exists for a system by which real-estate data obtained from various databases such as those compiled by local jurisdictions having the legal obligation to compile and maintain real estate-related records may be accessed and a report prepared that provides the information in a format selected by the end user 230. The present invention satisfies the demand. SUMMARY OF THE INVENTION
The system of the present invention takes into account the various differences between the above-noted differing methods of recordation and translates those differences into a common output. More specifically, once the system of the present invention is programmed for the terminology specific to a particular locale, as well as the procedures by which an end user 230 navigates through its computerized indexing system, it follows a predetermined set of rules to collect, analyze and display the data in a format selected by an end user 230. It is therefore an object of the present invention to provide a method for outputting an analyzed data report. A request signal is received. The request signal includes a request for an analyzed data report of a parcel of real property. A database of records is accessed. The database of records relates to the parcel of real property. Data is collected from the database of records. The collected data is then analyzed. An analyzed data report is created from the analysis of the collected data. Finally, the analyzed data report is outputted to an end user.
It is a further object of the present invention to provide a system for outputting an analyzed data report. A request signal is received. The request signal includes a request for an analyzed data report of a parcel of real property. A database of records is accessed. The database of records relates to the parcel of real property. Data is collected from the database of records. The collected data is then analyzed. An analyzed data report is created from the analysis of the collected data. Finally, the analyzed data report is outputted to an end user.
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 illustrates a top level flowchart of a preferred embodiment of the present invention of a method and system for outputting an analyzed data report, made in accordance with the present invention; and
FIG. 2 illustrates a block diagram of the elements in the preferred embodiment of FIG. 1.
DETAILED DESCRIPTION OF THE PRESENTLY-PREFERRED EMBODIMENTS
FIG. 1 illustrates a flow chart of a preferred embodiment of the present invention which is directed to a method and system for outputting an analyzed data report. Although the example illustrated in FIG. 1 relates to an analyzed data report concerning parcels of real property, the example is merely that; an example. It will be understood that the embodiment disclosed and illustrated herein may be modified appropriately for use with other information such as County clerk data, Circuit clerk data, State's attorney data to provide an analyzed data report having the information and format selected by the end user 230. FIG. 2 illustrates a block diagram showing the elements that may be utilized to effect and realize the preferred embodiment of the method and system illustrated in FIG. 1. The elements illustrated in FIG. 2 are merely exemplary and are not in any requirements of the present invention.
As illustrated in Step 100 of FIG. 1 , the process of outputting an analyzed data report begins with a request by a party (termed also "end user" herein) for information regarding a particular parcel of real property. Preferably, the request is transmitted as an electronic signal from an electronic communication device 210 and received at an electronic communication node 205. Moreover, the request signal is transmitted across an electronic communication network 215. The electronic communication device 210, as used in the system 200 of the present invention , may be utilized by an end user 230 (which may enter into the system as a subscriber) to access and/or connect with the electronic communication node 205. The electronic communication device 210 can include, without limitation, wireline telephones, paging units, radio units, wireless data devices, portable, mobile or wireless telephones, personal information managers (PIMs), personal digital assistants (PDAs), personal computers (PCs), network televisions (TVs), Internet TVs, Internet telephones, portable wireless devices (i.e., two-way pagers), workstations or any other suitable communication devices.
Regardless of its specific form, the electronic communication device 210 may have a user-input interface and/or a user-output interface. Alternatively, the user-input interface and/or the user-output interface may work in conjunction with the electronic communication device 210 without actually residing on the electronic communication device 210.
The user-input interface may receive input from the end user 230 and the user-output interfaces may provide output to the end user 230. The user-input interface can include, without limitation, an electroacoustic transducer, such as, for example, a microphone to receive voice and other audible input from the end user 230, a keypad or a keyboard to receive key strokes from the end user 230, a touchpad or touchscreen to receive touch input from the end user 230, a handwriting recognition interface to receive handwritten input from the end user 230 or a pointing device such as, for example, a mouse or a trackball to receive point and click inputs from the end user 230.
Similarly, the user-output interface of the electronic communication device 210 can include, without limitation, an electroacoustic transducer such as, for example, a speaker to provide voice and other audible output to the end user 230, and a visual display device such as a liquid crystal display or a cathode ray tube to provide graphical and/or textual information to the end user 230.
The electronic communication device 210 may include more than one user-input interface and/or more than one user-output interface. Moreover, the end user 230 may utilize one or more user-input interface and/or user-output interface simultaneously. For example, a wireless telephone may have a microphone, a telephone keypad, a speaker, and a visual display device. An input interface may also reside on the electronic communication node 205. An output interface may also reside on the electronic communication node 205. Alternatively, the input interface may reside on the electronic communication node 205 while the output interface may reside on the electronic communication device 210. Alternatively, the input interface may reside on the electronic communication device 210 while the output interface may reside on the electronic communication node 205.
The electronic communication device 210 may also communicate with an electronic communication node 205 via the electronic communication network 215. The electronic communication network 215 can interface with the electronic communication device 210 through wireline or wireless networks or systems (i.e., telephone or televisions systems, Integrated Services Digital Network (ISDN) systems, coaxial lines, computer networks, digital end user lines, private networks, wireless local loop systems, etc.). The electronic communication networks 215, 235, 240 of the system 200 can include, without limitation, intranets, extranets, the Internet, a Local Area Network (LAN), a telephone network, (e.g., a Public Switched Telephone Network (PSTN), private telephone networks, etc.), a cellular network, satellite networks, a personal communication system, a TV network (e.g., a cable TV system), local, regional, national or global paging networks, an email system, a wireless data network (e.g., satellite data or local wireless data networks), a wireless LAN, a wireless local loop/distribution system (e.g., LMDS, MMDS QΓ Code Division Multiple Access (CDMA) based system), a Voice Over Internet Protocol (VOIP) network or any other suitable network. The electronic communication networks 215, 235, 240 may also include a wide area network (WAN), such as, for example, the Internet, the World Wide Web (WWW) or any other similar on-line service. It will be recognized that the electronic communication networks 215, 235, 240 may have portions in common, may comprise a separate network, or may be the same network as a second electronic communication network.
Additionally, the end user 230 may be required to input a security-type code or signal to enter the system 200. For example, the security-type code or signal may comprise, without limitation, a password, a personal identification number (PIN), a keycode, a subscription code or any other type of security code or signal. The electronic communication node 205 is preferably a location from which an embodiment of the method and system of the present invention may be run. The electronic communication node 205 may preferably be, without limitation, a PC, a TV, a telephone, a personal communication system, local, regional, national or global paging networks or any other suitable network. Additionally, the electronic communication node 205 should interface properly with the electronic communication device 210 and the electronic communication network. For example, if the electronic communication network is the Internet, and the electronic communication device 210 is a PC, then the electronic communication node 205 should be compatible with the PC (i.e., run off Hyper Text Markup Language (HTML)).
After the request signal has been received, as illustrated in Step 105, the electronic communication node 205 then accesses a database of records 220. Preferably, the database of records 220 corresponds to a listing of parcels of real property, and may include, without limitation, a county-wide (or other jurisdiction- wide) listing of parcels located within the county, as well as any private entities which maintain a collection or database of the information recorded within the Governmental entity.
For instance, the preferred embodiment may be utilized to access and analyze both State-based (i.e., County, State or other Governmental entity) or other private entities that also maintain a listing of real property-related records. Moreover, the listing of parcels may be organized in one of a number of formats. Preferably, these formats may include, for example and without limitation, a Permanent Index Number-based method (in which the end user 230 must provide that Index Number to access the data, a legal description-based method (in which the listing is according to the legal description (i.e., Lot, Block,
Subdivision or Metes and Bounds description) of the parcels of real property), or a Grantor/Grantee-based method (in which the listing is organized in two ways - one according to the grantor of any transfer of the parcel, and one according to the grantee of any transfer of the parcel).
The database of records contains a listing of real estate-related information. In FIG. 2, it is illustrated as reference numeral 220, and although it is shown as being remote from electronic communication node 205 (Via electronic communication network 235), it should be understood that the database 220 may alternatively be located integral with the electronic communication node 220. Preferably, the listing of real estate-related information includes a reference, or legal description, of each parcel of real property. The legal description is a means for describing the location of the parcel. It may be by Metes and Bounds, a Permanent Index Number, a reference to Lots, Blocks or Subdivisions or any other suitable sorting method. As different jurisdictions organize their files differently, it is imperative for time-conserving reasons, that the electronic communication node 205 be capable of determining the method of indexing prior to collecting data from the database of records 220. Such information may be manually transmitted to the electronic communication node 205, such as, for example, inputted into a program or database accessed by the electronic communication node 205. Alternatively, such information may be determined by the electronic communication node 205 itself, such as, for example, by scanning the database of records 220 for a particular jurisdiction.
After accessing the database of records 220, the electronic communication node 205 acts to collect from the available data information relating to the parcel of real property according to the request that was inputted via the request signal. This is illustrated in FIG. 1 as Step 110. Preferably, during the collection process, the electronic communication node 205 may perform many specific types of collections. For example, the electronic communication node 205 may merely collect and display the collected information to the end user 230. Most likely, this would occur when the request signal includes a request for a legal description of the parcel, the payment status of real estate (or other) taxes, etc., or similar more simply requests. Additionally, in this step, the electronic communication node may receive real estate tax information regarding the parcel of real property.
Another example of a collection type would be a more extensive collection, requiring an analysis and display of the requested data. Examples of such searches would be directed to obtaining recorder or registrar data, for use in a judgment lien search or litigation search, or for retrieving a document chain relating to the ownership of the parcel.
Preferably, as is the case when determining the method of indexing, the electronic communication node 205 must then determine the local method available for data collection. For instance, the method available for data collection may be by flat files or by data/screen scraping. Having access to the flat files would mean that direct access to the tables of the County database would be available. The data/screen scraping method would be an alternative method of collecting the data when direct access to the tables within the database is unavailable. This unavailability could be for reasons of logistics or security reasons. Through this method, the needed data is collected from predetermined field locations being displayed on a monitor screen which a "snapshot" of that screen is being made. Additionally the electronic communication node 205 may then open any files within the database necessary for the collection of any data. Such files may include, without limitation, files relating to the executed date of any transfer of the parcel of real property, the recording date of any transfer of the parcel of real property, the parties involved in any transfer of the parcel of real property, the type of document involved, the amount involved and any other details that may be relevant to the transfer of the parcel of real property.
If such a search is requested, then the electronic communication node 205, in Step 115, will then analyze the collected data. Ideally, this analytical process may include at least two steps. In the first step, the documents retrieved (i.e., the collected data) are searched to find deeds of conveyance. In the second step, the documents retrieved are searched for other documents to determine the status of any liens upon the parcel of real property. These "other documents" may include, without limitation, mortgages, trust deeds, assignments of mortgages, assignments of rents, releases, judgments, subordination agreements plats, easements mechanic's lien claims, etc. All of the data ported to a particular parcel of real property is collected from the earliest data of the database to ensure that no items are inadvertently misused. Once all of the items are collected, the analysis is made to the entire list of data.
In Step 120, the electronic communication node 205 then begins the process of creating the analyzed data report. In this Step, the electronic communication node 205 preferably performs a number of steps.
For example, the electronic communication node 205 places the analyzed documents in a predetermined order, such as, for example, an order based on the recorded date. The electronic communication node 205 then matches related documents and groups them together. An example of this matching may be documents relating to the grant of a mortgage coupled with documents related to the assignment or subsequent release of a mortgage. In such a case, the electronic communication node 205, upon finding the grant of a mortgage (or other lien), will scan the remaining documents for a release. If a release is found, the documents will be so indicated as to not include them in any final report sent to the end user 230. This is because the mortgage has been satisfied and is of no legal consequence at this point. If, however, a release has not been found, the electronic communication will indicate which liens are still unreleased to the end user 230. At this point, the data collected and analyzed may be presented to an operator. The operator has the ability to review and manually edit the information collected and analyzed. Additionally, at this point, the operator may be able to add additional information prior to the delivery to the end user 230. This may occur if a more structured format is requested by the end user 230. For example, the end user 230, being a title company, may request other information, such as, building setback lines, easements, covenants and restrictions, endorsements, etc.
After completing the analysis on the parcel of property requested in the request signal, the electronic communication node 205 prepares for the delivery and output of the analysis results to the end user 230. This is illustrated in Step 125 of FIG. 1. When this occurs, the electronic communication node 205 may prompt the user for additional information (other than the security code or signal referenced above). For example, it is preferable that the electronic communication node 205 may have set up subscription-based accounts in the name of the end user 230. An account database 225 may store this information. This account would preferably have been set up earlier. The purpose for such accounts would be to charge the accounts with the results to be received. It is contemplated that the end user 230 would pay per result received, although, alternatively, other pay methods may be used (e.g., per page, per time online, etc.). Additionally, it is contemplated that the end user's account would contain other information (i.e., a profile) which would be created in a parameter-based form. Such parameters may include, without limitation, name, address, phone numbers, email addresses or other contact information, type of preferred report, method of delivery, frequency of billing, etc. Preferably, these profiles would be able to be modified. Additionally, the electronic communication node 205 may also provide for an "out of the normal" temporary change to the profile (e.g., a different shipping method).
Delivery of the results, after the analysis report has been formulated, would be instant, and transmitted to the end user 230 in a variety of electronic or non-electronic formats. For example, the analysis report may be part of a properly formatted data stream, ready for use in an end user's database or application. Alternatively, the analysis report may be merged into a text document and transmitted via facsimile, email or other electronic method.
Although meant as only an example of the present invention, the computer source code referenced herein as Appendix A illustrates a preferred embodiment of the present invention of a method and system for outputting an analyzed data report, made in accordance with the present invention. It should be appreciated that the embodiments described above are to be considered in all respects only illustrative and not restrictive. The scope of the invention is indicated by the following claims rather than by the foregoing description. All changes that come within the meaning and range of equivalents are to be embraced within their scope.
' * * ORDERDOCUMENTS **********************************************
'* Purpose This sub routine contains the "intelligence" that
'* converts basic Property information into a common, logical,
'* storage format. Analysis, matching, and ordering is applied
1 * to the property data to organize and store the "property chain"
'* in the easiest sequence to understand.
Private Sub OrderDocuments (oPm As WjFtPin, rErrr&, rErrMsg$)
Dim sTemp As String Dim sPin As String Dim sDocNumber As String Dim sPπorDoc As String
Dim tRecordedDate As String Dim tDocu entNum As String Dim iDocIndex As Integer Dim iStart As Integer Dim iMortCount As Integer Dim lPriorCount As Integer Dim iMort As Integer Dim iTemp As Integer
Dim dDocSortO As String Dim sDocSortO As String Dim iDocSortO As Integer
Dim dPπorSortO As String Dim sPriorSortt) As String Dim lPriorSortO As Integer
Dim l As Integer Dim j As Integer Dim As Integer Dim t As Integer Dim lPipe As Integer
Dim lOrder As Integer
Dim b oop As Boolean
Dim bFound ard As Boolean
Dim bFoundMort As Boolean
Dim bDocMoved As Boolean
Dim bPπorDocMatch As Boolean
Dim iNoMatch As Integer Dim iMisc As Integer
Dim oDocument As W] FtDocument
Dim InclDocuments As W3 FtDocuments Dim ExclDocuments As W] FtDocuments Dim TempDocuments As W3 FtDocuments
Dim NoMatchDocuments As W] FtDocuments Dim MiscDocuments As W3FtDocuments
On Error GoTo OrderDocuments_Error
'Arrange the Document List according to document chain '"matching" rules.
'Check to see if Document records exist If oPm. Documents Count > 0 Then
Set InclDocuments = New W3FtDocuments Set ExclDocuments = New W3FtDocuments Set TempDocuments = New WjFtDocuments > *************** * ***************** * * **** * * **************
'Step #1: If the type "WARD" WARRANTY DEED exists, 'put it into the 1st slot of the temp Documents tRecordedDate = "12:00:00 AM" For l = 1 To oPin.Documents. Count
If Trim (oPin.Documents (l) .TypeV) = "DEED" Or _
TrimloPm. Documents (l) .TypeV) = "WARD" Or _
Tπm(oPιn. Documents (l) .TypeV) = "DEIT" Or _
Trιm(oPιn. Documents d) .TypeV) = "TEED" Or _
Trim (oPin.Documents d) .TypeV) = "QCD" Or _
Trim (oPin.Documents (i) .TypeV) = "SPWD" Then
If CDate (oPin.Documents d) .RecordedDate) > CDate (tRecordedDate) Then tRecordedDate = oPin.Documents d) .RecordedDate tDocumentNum = oPin.Documents (i) .DocumentNum iDocIndex = l End If
End If Next l
If tRecordedDate <> "1 :00:00 AM" Then
' Put the Warranty Deed into the 1st slot
'of the temporary Document collection
InclDocuments .AddDoc oPin.Documents (iDocIndex) , tDocumentNum & "_"
'Mark the Document as used oPin.Documents (iDocIndex) .Order = "Y" End If
******************************************************* Step #2:
A - Find for any "MORT" or "MAMT" or "TRUD" or "MORTG" - Dupage that do NOT have a RELS RELEASE document or "RLSE" - Dupage B - Find any "ASSG" ASSIGNMENT documents that match or "A M" - DuPage the found "MORT" C - Find any "SBOR" SUBORDINATION documents that or "SUBRD OF" - Dupage match the found "MORT" document. *******************************************************
For l = 1 To oPin.Documents .Count
'If the document is a Mortgage look for any 'associated documents using the PπorDocs field If Trιm(oPιn. Documents d) .TypeV) = "MORT" Or _
Trim (oPin.Documents (l) .TypeV) = "MAMT" Or _
Tnm(oPιn. Documents d) .TypeV) = "TRUD" Or _
TnmfoPin Documents d) .TypeV) = "MORTG" Then
'Clear temp Document collection and set counter 'to 1 for all matching documents for current MORT Set TempDocuments = New WjFtDocuments
'Store the MORT document temporarily
TempDocuments .AddDoc oPin.Documents d) , oPin.Documents d) .DocumentNum &
'Mark the master oPm . Document as being used oPin.Documents (l) .Order = "Y"
' Look for documents matching the MORT
For 3 = 1 To oPin.Documents. Count
'If the MORT, MAMT, or TRUD document number matches the ' current prior doc number in the loop and the 'document hasn't been used yet, then try to match it iStart = 1 lPipe = InStr (iStart, oPin.Documents (3 ). PriorDocsFormat, "|") While lPipe 0
'Get the Doc number from the Prior Doc formatted property sPriorDoc = Mιd(oPιn. Documents (3 ) PriorDocsFormat, iStart, lPipe iStart)
If oPin.Documents d) .DocumentNum = sPriorDoc And _ oPin.Documents (3 ) Order < > "Y" Then
'If the matching PπorDoc is another 'MORT, MAMT, or TRUD which is a rare occurance, 1 then skip it and do not match
If Trim (oPin. Documents (3) .TypeV) = "MORT" Or _ Tnm(oPm. Documents (3 ) TypeV) = "MAMT" Or _ Trιm(oPιn. Documents (]) .TypeV) = "TRUD" Or _ Tπm(oPιn. Documents (]) .TypeV) = "MORTG" Then
'Else, match up the current document to the
'current MORT, MAMT, or TRUD
Else
' If the matching document is a release then
'all matching documents for the MORT
'go into the ExclDocument collection
If Tnm(oPm. Documents (3 ) TypeV) = "RELS" Or _ Trιm(oPιn Documents (]) TypeV) = "DISC" Or _ Trιm(oPιn. Documents (3 ) .TypeV) = "RLSE" Then
'Mark the MORTGAGE and the RELEASE to be excluded oPin Documents d) .Order = "E" oPin.Documents (]) .Order = "E" Else
'Mark the RELEASE to be included
'The MORT is defaulted to "I" oPin.Documents ( ) Order = "I" End If
End If End If
'Get next priorDoc number iStart = lPipe + 1
If iStart < Len(oPιn. Documents (3) .PπorDocsFormat) Then lPipe = InStr (iStart, oPin.Documents (3 ) .PriorDocsFormat, "|") Else lPipe = 0 End If
Wend
Next 3
'Move the MORTGAGE into the Excluded or Included collection If oPin Documents (l) .Order = "E" Then
ExclDocuments. AddDoc oPin.Documents (l) , oPin.Documents (l) .DocumentNum
Else
InclDocuments .AddDoc oPin.Documents (l) , oPin.Documents d) .DocumentNum
End If
'Mark the MORTGAGE as being used oPin.Documents (l) .Order = "Y"
End If
Next l
'Move the matching documents into either the ' Incl or Excl document collection For 3 = 1 To oPin.Documents .Count If oPin.Documents (3) Order = "E" Then
ExclDocuments .AddDoc oPin.Documents (3 ) , oPin.Documents (3 ) DocumentNum &
'Mark the matched document as being used oPin Documents ( ) .Order = "Y" Elself oPin.Documents (3 ) .Order = "I" Then
InclDocuments. AddDoc oPin Documents (3 ) , oPm Documents (3) DocumentNum &
'Mark the matched document as being used oPin Documents (3 ) .Order = "Y" End If
Next 3
******************************************************* Step #3:
A - Find any unmatched "RELS", "SBOR", or "ASSG" or "RLSE" - Dupage documents and put them in the nomatch documents collection. B - Find any miscellaneous documents and put them in the misc documents collection *******************************************************
Clear temp Document collection and set counter to 1 for all matching documents for current MORT
Set NoMatchDocuments = New W3FtDocuments
Set MiscDocuments = New W3FtDocuments
'Initialize counters for Incl and Excl collections iNoMatch = 1 lMisc = 1
For 1 = 1 To oPin.Documents Count
' If the document has NOT already been used
If Trιm(oPm. Documents (1) .Order) <> "Y" Then
'If the following document types do not have ' a match then put them in the no match group If (Trim (oPin.Documents (1) .TypeV) = "RELS") Or (Trιm(oPm. Documents (1) .TypeV) = "DISC") Or (Trim (oPin.Documents (1) .TypeV) = "ASSG") Or _ (Trιm(oPιn. Documents (1) .TypeV) = "ARENT") Or (Trim (oPin.Documents (1) .TypeV) = "MODF") Or _ (Trim (oPin.Documents (1) .TypeV) = "SBOR") Or _ (Trim (oPin.Documents (1) .TypeV) = "RLSE") Or _ (Trim (oPin.Documents (1) .TypeV) = "PTR") Or _ (Trim (oPin.Documents (1) .TypeV) = "PT R") Or _ (Trim (oPin.Documents (1) .TypeV) = "PT REL") Or (Trim (oPin.Documents (1) .TypeV) = "A M") Or (Trim (oPin.Documents (1) TypeV) = "MODIF AG Or _ (Trim (oPin.Documents (1) TypeV) = "SUBRD OF ') Then 'Store the document temporarily NoMatchDocuments.AddDoc oPin Documents (1) , oPin.Documents (1) .DocumentNum & "_" iNoMatch = iNoMatch + 1 Else
'Store the document temporarily
MiscDocuments.AddDoc oPin.Documents (1) , oPin.Documents (1) .DocumentNum lMisc lMisc + 1
End If
End If
Next 1
'Step #4.
' A - Clear the TempDocuments collection and fill it ' in the following order- - Incl documents
- NoMatch documents
- Excl documents
- Misc documents
B - Fill the Document list grid with the final ordered document list *******************************************************
Clear the temp Document collection and then fill it with the other temporary collections
Set TempDocuments = New W3FtDocuments lOrder = 1
'Incl
If InclDocuments Count > 0 Then
If UCase (Trim (InclDocuments (1) TypeV)) = "DEED" Or _ UCase (Trim (InclDocuments (1) TypeV)) = "WARD" Or _ UCase (Trim (InclDocuments (1) TypeV)) = "DEIT" Or _ UCase (Trim (InclDocuments (1) TypeV)) = "TEED" Or _ UCase (Trim (InclDocuments (1) TypeV)) = "QCD" Or _ UCase (Trim (InclDocuments (1) TypeV)) = "SPWD" Then
' Include the last deed of record InclDocuments (1) Includelt vbChecked InclDocuments (1) Order = Trιm(Str (lOrder) ) lOrder = lOrder + 1
TempDocuments AddDoc InclDocuments (1) , InclDocuments (1) DocumentNum & End If
'Get all MORT documents and sort into temp array iMortCount = 0
For l = 1 To InclDocuments Count
If UCase (Trim (InclDocuments (i) TypeV)) = "MORT" Or _ UCase (Trim (InclDocuments (l) TypeV)) = "MAMT" Or _ UCase (Tri (InclDocuments (l) TypeV)) = "TRUD" Or _ UCase (Trιm(InclDocuments (l) TypeV)) = "MORTG" Then iMortCount = iMortCount + 1 ReDim Preserve dDocSor (iMortCount) ReDim Preserve sDocSor (iMortCount) ReDim Preserve iDocSort (iMortCount) dDocSort (iMortCount) = InclDocuments d) RecordedDate sDocSort (iMortCount) = InclDocuments (l) DocumentNum iDocSort (iMortCount) = l End If
Next l
' Sort the MORT documents by date in ascending order For l = 1 To iMortCount
For = l + 1 To iMortCount
If CDate (dDocSor (3 ) ) < CDate (dDocSort (1) ) Then
' Swap the dates sTemp = dDocSort (1) dDocSort (1) = dDocSort (3) dDocSort (3) = sTemp
' Swap the doc numbers sTemp = sDocSortd) sDocSort(ι) = sDocSort (3) sDocSort (3) = sTemp
' Swap the index iTemp = ιDocSort(ι) ιDocSort(ι) = ιDocSort<3) ιDocSort(3) = iTemp
'If the Recorded Date is the same then
1 sort the documents by Document Number
' in ascending order
Elself CDate (dDocSort (3 ) ) = CDate (dDocSort (1) ) Then
'If CLng(sDocSort (3 ) ) < CLng (sDocSort (1) ) Then If sDocSort(3) < sDocSort(ι) Then ' Swap the dates sTemp = dDocSort (1) dDocSort (1) = dDocSort (3) dDocSort (3) = sTemp ' Swap the doc numbers sTemp = sDocSort(ι) SDocSort ( 1 ) = sDocSort ( 3 ) sDocSort (3) = sTemp ' Swap the index iTemp = ιDocSort(ι) iDocSort ( 1 ) = iDocSort ( 3 ) ιDocSort(3) = iTemp End If End If Next 3 Next 1
'Loop through the sorted MORT documents 'and sort their related PRIORDOCS by ascending 'order also, then put the MORT and any related 'documents into the "final" TempDocuments collection For iMort = 1 To iMortCount lPriorCount = 0 ReDim dPriorSort (lPriorCount) ReDim sP iorSort (lPriorCount) ReDim lPriorSort (lPriorCount)
For 3 = 1 To InclDocuments Count
'Look for matching priordocs except for
'matches that are a MORT, MAMT, or TRUD
If sDocSort (iMort) = Trim (InclDocuments (3 ) PπorDocsFormat) And Trim (InclDocuments (3 ) TypeV) 0 "MORT" And _ Trim (InclDocuments (3 ) TypeV) <> "MAMT" And _ Trim (InclDocuments (3) TypeV) 0 "TRUD" And _ Trim (InclDocuments (3) TypeV) <> "MORTG" Then lPriorCount = lPriorCount + 1
ReDim Preserve dPriorSort (lPriorCount)
ReDim Preserve sPriorSort (lPriorCount)
ReDim Preserve lPriorSort (lPriorCount) dPriorSor (lPriorCount) = InclDocuments (3 ) RecordedDate sPriorSor (lPriorCount) = InclDocuments (3 ) DocumentNum lPriorSort (lPriorCount) = 3
End If Next 3
'Sort the MORT documents by date in ascending order For 1 = 1 To lPriorCount
For 3 = 1 + 1 To lPriorCount
If CDate (dPriorSort (3 ) ) < CDate (dPriorSort (1) ) Then
1 Swap the dates sTemp = dPriorSort (1) dPriorSort ( 1 ) = dPriorSort (3 ) dPriorSort (3 ) = sTemp
'Swap the doc numbers sTemp = sPriorSort (1) sPriorSort (1) = sPriorSort (3 ) sPriorSort (3) = sTemp
' Swap the index iTemp = lPriorSort (1) lPriorSort ( 1 ) = lPriorSort ( ) lPriorSort (3 ) = iTemp
'If the Recorded Date is the same then
' sort the documents by Document Number
' in ascending order
Elself CDate (dPriorSort (3 ) ) = CDate (dPriorSort (1) ) Then
'If CLng (sPriorSort (3 ) ) < CLng (sPriorSort (1) ) Then 'TAS. CHECK HERE
If sPriorSort (3) < sPriorSort (1) Then ' Swap the dates sTemp = dPriorSort (1) dPriorSort (1) = dPriorSort (3 ) dPriorSort ( ) = sTemp 1 Swap the doc numbers sTemp = sPriorSort (1) sPriorSort (1) = sPriorSort (3 ) sPriorSort (3 ) = sTemp ' Swap the index iTemp = lPriorSort (1) lPriorSor (1) = lPriorSort (3 ) lPriorSort (3 ) = iTemp End If End If Next 3 Next 1
'Add MORT document to "final" temp array
InclDocuments (iDocSort (iMort) ) Includelt vbChecked
InclDocuments (iDocSort (iMort) ) .Order = Trιm(Str (lOrder) ) lOrder = lOrder + 1
TempDocuments. AddDoc InclDocuments (iDocSor (iMort) ) , sDocSort (iMort) &
'Add RELATED documents for MORT to "final" temp array For k = 1 To lPriorCount
InclDocuments dPriorSort (k) ) Includelt vbChecked
InclDocuments (lPriorSor (k) ) .Order = Trιm(Str (lOrder) ) lOrder = lOrder + 1
TempDocuments .AddDoc InclDocuments dPriorSort (k) ) , sPriorSor (k) &
Next k
Next iMort
End If
' NoMatch
If NoMatchDocuments. Count > 0 Then
For 1 = 1 To NoMatchDocuments. Count
NoMatchDocuments (1) .Order = Trιm(Str (lOrder) )
TempDocuments .AddDoc NoMatchDocuments (1) , NoMatchDocuments (1) .DocumentNum lOrder = lOrder + 1 Next 1 End If
'Excl
If ExclDocuments. Count > 0 Then
For 1 = 1 To ExclDocuments. Count
ExclDocuments (1) .Order = Trιm(Str (lOrder) )
TempDocuments AddDoc ExclDocuments (1) , ExclDocuments (1) .DocumentNum & "_" lOrder = lOrder + 1 Next 1 End If
If MiscDocuments. Count > 0 Then
For 1 = 1 To MiscDocuments. Count
MiscDocuments (1) .Order = Tπm(Str (lOrder) )
TempDocuments.AddDoc MiscDocuments (1) , MiscDocuments (1) DocumentNum & "_" lOrder = lOrder + 1 Next 1 End If
'Clear all Document ob3ects from the 'current PIN / Document collection to make 'room for the new sorted collection. oPin . Documents . Clear 'Overwrite the current PIN / Document set 'with the new temporary document list order If TempDocuments .Count > 0 Then
For i = 1 To TempDocuments. Count oPin.Documents .AddDoc TempDocuments d) , TempDocuments d) .DocumentNum &
Next l End If
End If
OrderDocuments_Exιt :
OrderDocuments_Error : rErrr = Err.Number rErrMsg = "OrderDocuments : " & Err .Description
Resume OrderDocuments_Exιt
End Sub
Option Explicit Deflnt A-Z
Public ghExtraS
Public ghExtral&
Public gbHost_Avaιlable%
Public gbJobMsg%
Public gbCaptureScreen%
Public gTιmeout%
Public gTax_Installment$
Public gTax_Year$
Public giCookBackTaxes As Integer
Public giDupageBackTaxes As Integer
Public gOrderNum$
Public gE fectιve_Date$
Public gAPIN_UserId$
Public gAPIN_Password$
Public gIPAM_UserId$
Public gIPAM_Password$
Public gCook_BackTaxes_UserId$
Public gCook_BackTaxes_Password$
Const PROPERTY_SEARCH = 1
Const DOC_SEARCH = 2
Const TAX_SEARCH = 3
Const APIN_MENU = 4
Const IPAM_MENU = 5
Const LEGAL_DETAIL_SCREEN = 1
Const PROPERTY_SEARCH_SCREEN = 2
Const RECORDER_DEED_MENU_SCREEN = 3
Const DOC_DETAIL_SCREEN = 4
Const DOC_SEARCH_SCREEN = 5
Const TAX_DETAIL_SCREEN = 6
Const TAX_SEARCH_SCREEN = 7
Const UNKNOWN_SCREEN = 8
Const PROCESSED$ = "Y" Const FAILED$ = "F"
Dim mbOnly_l_Document As Boolean Dim mbFound_Townshιp_Range As Boolean Dim msTownship As String Dim msRange As String
1 ** JOBAPPMAIN ************************************************** '* Purpose: This is the main loop for the Property data retrieval '* program that analyzes, matches, and orders property record '* data (from different system) into a common storage format.
Sub JobAppMam(rErrr&, rErrMsg$)
Dim ι%, Loop_Ctr%, Search_Ctr%, iCounty Dim Search%(l To 3) Dim HostSessιonl$ Dim sCounty As String
Dim oOrder As New W3FtOrder Dim oOrders As New W3FtOrders
Dim oSysVariable As W3CoSysVaπable
On Error GoTo JobAppMaιn_Error i** SET JOB VARIABLES ***************************************
'* Set variables that will be used to process the 30b *
If rErrr = 0 Then
Call JobMsgC'Set 30b variables", False, True) If WJGetPπvateProfιleStrιng$ ( "WJA" , "HostAvailable " , "Y" , gsINI_Fιle$ ) = "Y" Then gbHost_Avaιlable% = True
End If gTιmeout% = CInt (WJGetPrivateProfιleStrιng$ ( "WJA" , "HostTimeout" , "45", gsINI_Fιle$) )
If WJGetPrιvateProfιleStrιng$("WJA", "HostJobMsg" , "N" , gsINI_Fιle$) = "Y" Then gbJobMsg% = True
End If
If WJGetPrivateProfιleStrιng$( "WJA", "CaptureScreen" , "Y", gsINI_Fιle$) = "Y"
Then gbCaptureScreen% = True End If
'gTax_Installment$ = WJGetPrivateProf leStrmg$ (gsAppName$, "Taxlnstallment "
"E", gsINI_Fιle$)
'gTax_Year$ = Format$ (DateAddt "y" , -1, Date$) , "yyyy")
'Get Tax Year from System Variable because it needs
'to be changed manually in the FALL (September) of each year
'gTax_Year$ = WJGetPrivateProfιleStnng$ (gsAppName$, "TaxYear", "2000", gsINI_Fιle$)
' Set Current Tax Year for Cook County Set oSysVaπable = New W3CoSysVarιable oSysVaπable.Load "COOKTAXYR" gTax_Year$ = oSysVariable Value
'Set Tax Status (E/F) for Cook County Set oSysVariable = New W3CoSysVarιable oSysVariable.Load "COOKTAXEF" gTax_Installment$ = oSysVariable Value
' Set number of years for Cook back taxes Set oSysVariable = New W CoSysVarιable oSysVariable.Load "COOKTAX" giCookBackTaxes = Val (oSysVariable Value)
' Set number of years for DuPage back taxes Set oSysVariable = New W3CoSysVarιable oSysVariable.Load "DUPAGETAX" giDupageBackTaxes = Val (oSysVariable. Value)
End If
i** CONNECT TO HOST ***************************************** '* Establish a connection to the mainframe *
If gbHost_Avaιlable% And rErrr = 0 Then
Call JobMsg( "Connect to host", False, True) ghExtral = frmJobStatus . hWnd
HostSessιonl$ = WJGetPrivateProfιleStrιng$ ("WJA" , "HostSessionl" , "A", gsINI_Fιle$)
If ATMConnectSession (ghExtral, HostSessιonl$) <> ATM_SUCCESS Then rErrr = 10032 rErrMsg$ = "Unable to get host connection." End If
End If i** RETRIEVE ORDERS ***************************************** '* Retrieve the orders to process by "County" *
If rErrr = 0 Then
For lCounty = 1 To 2 If lCounty = 1 Then sCounty = "COOK"
Elself lCounty = 2 Then sCounty = "DUPAGE"
End If
Call JobMsg ( "Retrieving " & sCounty & " county orders from database", False,
True)
'Select Submitting Orders from the Order table by County oOrders LoadFromJP "S", sCounty
If oOrders Count <> 0 Then
If sCounty = "COOK" Then
'** LOOK FOR THE APIN SYSTEM *********************************** ' * Log into the APIN system to perform the tax search *
If rErrr = 0 Then
Call Logιn_APIN(rErrr, rErrMsg) End If i** RETRIEVE TAX INFO *************************************** ' * Retrieve the tax info from the host *
If rErrr = 0 Then Loop_Ctr% = 1
Do While Loop_Ctr% <= oOrders Count And rErrr = 0 ' Store OrderNum in global variable for debug gOrderNum = oOrders (Loop_Ctr%) CaseNumber
Call JobMsg ( "Retrieving tax information for order " & oOrders (Loop_Ctr%) CaseNumber, True, False)
Call Retπeve_Cook_Tax_Info (oOrders (Loop_Ctr%) , rErrr, rErrMsg$)
Loop_Ctr% = Loop_Ctr% + 1 Loop End If
'** SWITCH TO APIN BACK TAXES SYSTEM ******************************** ' * Log into the APIN Back Taxes System
'Check to see if we should get
'Back Taxes first
If giCookBackTaxes > 0 Then
If rErrr = 0 Then
Call Logιn_Cook_BackTaxes (rErrr, rErrMsg) End If
'** RETRIEVE BACK TAX INFO ***************************************
' * Retrieve the tax info from the host *
If rErrr = 0 Then Loop_Ctr% = 1
Do While Loop_Ctr% <= oOrders Count And rErrr = 0 ' Store OrderNum in global variable or debug gOrderNum = oOrders (Loop_Ctr%) CaseNumber
Call JobMsg ("Retrieving Cook BackTax information for order " & oOrders (Loop_Ctr%) CaseNumber, True, False)
Call Retπeve_Cook_BackTax_Info (oOrders (Loop_Ctr%) , rErrr, rErrMsg$)
Loop_Ctr% = Loop_Ctr% + 1 Loop End If End If
'** LOG INTO THE IPAM SYSTEM ******************************** '* Log into the IPAM system to doc and legal search *
If rErrr = 0 Then
Call Goto_IPA (rErrr, rErrMsg) End If
'** RETRIEVE LEGAL DESCRIPTION AND DOCS ********************* '* Retrieve all legal descriptions and documents from the host
If rErrr = 0 Then
'Get all Legal descriptions first Loop_Ctr% = 1
Do While Loop_Ctr% <= oOrders Count And rErrr = 0 ' Store OrderNum in global variable for debug gOrderNum = oOrders (Loop_Ctr%) CaseNumber
Call JobMsg! "Retrieving legal and document chain for order " & oOrders (Loop_Ctr%) CaseNumber, True, False)
Call Retrιeve_Property_Info (oOrders (Loop_Ctr%) , rErrr, rErrMsg$, 1)
Loop_Ctr% = Loop_Ctr% + 1 Loop
'Get all Documents information in 2nd loop
Loop_Ctr% = 1
Do While Loop_Ctr% <= oOrders Count And rErrr = 0 ' Store OrderNum in global variable for debug gOrderNum = oOrders (Loop_Ctr%) CaseNumber
Call JobMsg ("Retrieving legal and document chain for order " & oOrders (Loop_Ctr%) CaseNumber, True, False)
Call Retπeve_Property_Info (oOrders (Loop_Ctr%) , rErrr, rErrMsg$, 2 )
Loop_Ctr% = Loop_Ctr% + 1 Loop
End If i ** UPDATE STAGE ******************************************** ' * Update the status of the order is in *
If rErrr = 0 Then
Call JobMsg ("Updating order status", True, True)
Call oOrders Update_Status (gEffectιve_Date, rErrr, rErrMsg)
End If i** GOTO PIN SEARCH MENU ******************************************** ' * Go back to the PIN search menu so we can enter the next PIN *
'TAS 06/16/99 - Re-position to Tax for next 30b If rErrr = 0 Then
Call Logoff_IPAM (rErrr, rErrMsg) End If
Elself sCounty = "DUPAGE" Then
'** LOG INTO THE DUPAGE SYSTEM ****************************** ' * Log into the APIN system to perform the tax search *
If rErrr = 0 Then
Call Logιn_DUPAGE (rErrr, rErrMsg) End If
'** RETRIEVE TAX INFO *************************************** ' * Retrieve the tax info from the host * If rErrr = 0 Then Loop_Ctr% = 1
Do While Loop_Ctr% <= oOrders . Count And rErrr = 0 1 Store OrderNum m global variable for debug gOrderNum = oOrders (Loop_Ctr%) .CaseNumber
Call JobMsg ( "Retrieving tax information for order " & oOrders (Loop_Ctr%) CaseNumber, True, False)
Call Retπeve_DuPage_Tax_Info (oOrders (Loop_Ctr%) , rErrr, rErrMsg$)
Loop_Ctr% = Loop_Ctr% + 1 Loop End If
'** LOGOFF of Tax and move to Legal ************************* ' * Logoff of Tax (DSPC) and login to Legal (DSPA)
If rErrr = 0 Then
Call Logoff_DSPC(rErrr, rErrMsg) End If If rErrr = 0 Then
Call Logm_DSPA(rErrr, rErrMsg) End If
'** RETRIEVE LEGAL DESCRIPTION AND DOCS ********************* ' * Retrieve all legal and document info from the host
If rErrr = 0 Then
'Get all Legal descriptions first Loop_Ctr% = 1
Do While Loop_Ctr% <= oOrders . Count And rErrr = 0 ' Store OrderNum in global variable for debug gOrderNum = oOrders (Loop_Ctr%) .CaseNumber
Call JobMsg ("Retrieving legal and document chain for order & oOrders (Loop_Ctr%) .CaseNumber, True, False)
Call Retrιeve_Property_Info (oOrders (Loop_Ctr%) , rErrr, rErrMsg$, 1)
Loop_Ctr% = Loop_Ctr% + 1 Loop
'** LOGOFF of Legal and move to Documents *************** '* Logoff of Legal (DSPC) and login to Documents (RODI)
If rErrr = 0 Then
Call Logoff_DSPA (rErrr, rErrMsg) End If If rErrr = 0 Then
Call Logιn_RODI (rErrr, rErrMsg) End If
'Get all Documents information in 2nd loop Loop_Ctr% = 1
Do While Loop_Ctr% <= oOrders. Count And rErrr = 0 ' Store OrderNum in global variable for debug gOrderNum = oOrders (Loop_Ctr%) .CaseNumber
Call JobMsg ( "Retrieving legal and document chain for order & oOrders (Loop_Ctr%) .CaseNumber, True, False)
Call Retrιeve_Property_Info (oOrders (Loop_Ctr%) , rErrr, rErrMsg$, 2)
Loop_Ctr% = Loop_Ctr% + 1 Loop
End If i ** UPDATE STAGE ******************************************** 1 * Update the status of the order is in
If rErrr = 0 Then Call JobMsg ("Updating order status", True, True) Call oOrders Update_Status (gEffect ve_Date, rErrr, rErrMsg) End If
'** GOTO PIN SEARCH MENU ******************************************** ' * Go back to the PIN search menu so we can enter the next PIN *********************************************************************
'TAS 06/16/99 - Re-position to Main menu for next 30b If rErrr = 0 Then
Call Logoff_DUPAGE (rErrr, rErrMsg) End If
End If
End If
Next iCounty
End If
1** DISCONNECT HOST ********************************************* ' * Disconnect from the mainframe *
If gbHost_Avaιlable% Then
Call JobMsg ( "Disconnecting host session", False, True) If ATMDisconnectSession (ghExtral) <> ATM_SUCCESS Then rErrrSe = 10033 rErrMsg$ = "Unable to disconnect host session." End If End If
JobAppMaιn_Exιt :
JobAppMam_Error : rErrr = Err.Number rErrMsg = "JobAppMain: " & Err. Description
Resume JobAppMaιn_Exιt
End Sub
1** RETRIEVE PROPERTY INFO **************************************
'* Purpose: This sub routine is called from the main loop to
'* get property information for each Property Identification Number (PIN)
'* that was specified in the property retrieval record.
'* The "Retrιeve_Documents (oOrder, oPin, rErrr&, rErrMsg$) " routine '* is called for each PIN#.
Sub Retπeve_Property_Info(oOrder As W3FtOrder, rErrrt, rErrMsg$, rType%)
Dim Loop_Ctr%
Dim oPin As W3FtPιn
On Error G0T0 Retπeve_Property_Info_Error
Loop_Ctr% = 1
'LMg added rType so that the first time this routine is called it will get the ALL legal, and the second time ALL the Documents If rType = 1 Then
'** RETRIEVE LEGAL DESC ******************************** ' * Retrieve legal description for each pin *
Do While Loop_Ctr% <= oOrder. Pins .Count And rErrr = 0 Set oPm = oOrder. Pins (Loop_Ctr)
'Initialize bInvalιd_Pιn to False for each Pin oPm.bInvalιd_Pιn = False
If oPιn.bInvalιd_Pιn = False And rErrr = 0 Then
Call Retrιeve_Legal_Desc (oOrder, oPin, rErrrk, rErrMsg$) End If
Loop_Ctr = Loop_Ctr + 1 Loop Else
'** RETRIEVE DOCUMENT CHAIN ***************************** ' * Retrieve the document chain or each pin *
Do While Loop_Ctr% <= oOrder. Pins Count And rErrr = 0 Set oPin = oOrder Pins (Loop_Ctr)
'Initialize bInvalιd_Pιn to False for each Pin oPm bInvalιd_Pm = False
If oPm.bInvalid_Pm = False And rErrr = 0 Then
Call Retrιeve_Documents (oOrder, oPin, rErrr&, rErrMsg$) End If
Loop_Ctr = Loop_Ctr + 1 Loop End If Retrιeve_Property_Info_Exιt :
Exit Sub
Retπeve_Property_Info_Error : rErrr = Err.Number rErrMsg = "Retrιeve_Property_Info- " & Err .Description
Resume Retrιeve_Property_Info_Exιt
End Sub
'** GET DOCUMENT INFO COOK***************************************
'* Purpose: This sub routine retrieves property for a specific
'* county (Cook), from a specific set of host screens.
' * Each data item that is retrieved from the host is stored
'* temporarily into a common "oDocu ent" ob ect prior to the
' * analysis phase of the program
Sub Get_Document_Info_COOK(roPιn As W3FtPιn, rErrr&, rErrMsg$)
Dim Nbr_Pages%, ι%, 3%
Dim Temp_Nbr_Pages$, Page_No$
Dim RetStr$
Dim oDocument As W3 FtDocument
On Error G0T0 Get_Document_Info_COOK_Error
1** VERIFY HOST LOCATION **************************************** ' * Verify that the document was found *
If rErrr& = 0 Then
If ExtraWaιt&(ghExtral&, 4, 2 , gTιmeout%, "P I N S E A R C H R E S U L T S ") 0 ATM_SUCCESS Then rErrr& = 10005 rErrMsg$ = "Unable to access the property information screen." End If End If 1 ** RETRIEVE NBR DOCUMENTS ****************************************** ' * Retrieve the number of document pages *
If rErrr. = 0 Then
If ExtraGet&(ghExtral&, 5, 77, 3, Temp_Nbr_Pages$) <> ATM_SUCCESS Then rErrr& = 10006 rErrMsg$ = "Unable to retrieve the number of document pages " Else
Nbr_Pages% = CInt (Temp_Nbr_Pages$) End If End If
ι% = 1
Do While ι% <= Nbr_Pages% And rErrr& = 0 i** GET PROPERTY INFO ******************************************* ' * Scrape the property info from the host *
If rErrr& = 0 Then
If ExtraGetScr& (ghExtral, RetStr$) <> ATM_SUCCESS Then rErrr& = 10007 rErrMsg$ = "Unable to retrieve the property information from the host." End If
'Print the screen to file for debug & comparison testing
Call CaptureScreenToFile ("" , "*** Property *** ", True, gOrderNum$)
For 3% = 1 To 24
Call CaptureScreenToFile ("" , ExtraGetScrData$ (RetStr$, 3%, 1, 80), True, gOrderNum$)
Next End If
1 ** GET DATA ****************************************************
' * Scrape the property info f om the host *
If rErrr& = 0 Then
Page_No$ = ExtraGetScrData$ (RetStr$, 5, 70, 4)
Set oDocument = roPin. Documents.AddOb3 ect (roPin. CaseNumber, roPm. PinNumber,
Page_No$) oDocument .Amount = ExtraGetScrData$ (RetStr$, 12, 10, 16)
'CODECHANGE TAS 03/19/01
'Document numbers changed length from 8 to 10
'on the host screen
' oDocument . DocumentNum = ExtraGetScrData$ (RetStr$ , 8, 10, 8) oDocument DocumentNum = ExtraGetScrData$ (RetStr$, 8, 10, 10)
' ENDCODECHANGE TAS 03/19/01 oDocument .Grantorl = ExtraGetScrData$ (RetStr$, 14, 9, 40) oDocument .Grantor2 = ExtraGetScrData$ (RetStr$, 15, 9, 40) oDocument . Grantor3 = ExtraGetScrData$ (RetStr$, 16, 9, 40) oDocument . Grantor4 = ExtraGetScrData$ (RetStr$, 17, 9, 40)
'TAS 06/23/99 - Assumption made that there are only 4 Grantors
'based upon limit of 4 Grantees
' oDocument . Grantors = ExtraGetScrData$ (RetStr$, 18, 9, 0) oDocument . Grantors = " " oDocument .Granteel = ExtraGetScrData$ (RetStr$, 19, 9 , 40 ) oDocument .Grantee2 = ExtraGetScrData$ (RetStr$, 20, 9 , 40 ) oDocument .Grantee3 = ExtraGetScrData$ (RetStr$, 21, 9 , •J O ) oDocument .Grantee4 = ExtraGetScrData$ (RetStr$, 22, 9 , 40 )
'TAS 06/23/99 - This row has a host help message, not Grantee 5
ODocument .Grantees = ExtraGetScrData$ (RetStr$, 23, 9, 40) oDocument .Granteeδ = "" oDocument . PageNum = Page_No$ oDocument . PriorDocs = ExtraGetScrData$ (RetStr$, 12, 44, 36) oDocument . RecordedDate = CDate (ExtraGetScrData$ (RetStr$, 8, 71, 10)) oDocument . ypeV = ExtraGetScrData$ (RetStr$, 8, 22, 4) oDocument .TypeDescription = ExtraGetScrData$ (RetStr$, 8, 27, 30) oDocument . Order = Str$(i%)
End If i ** GOTO NEXT PAGE ********************************************** ' * Get the next page of documents *
If i% <> Nbr_Pages% And rErrr& = 0 Then
If ExtraPut&(ghExtrait, 0, 0, "@a") <> ATM_SUCCESS Then rErrr& = 1009 rErrMsg$ = "Unable to goto next page." End If End If i% = i% + 1
Loop
i** GOTO PIN SEARCH MENU ******************************************** ' * Go back to the PIN search menu so we can enter the next PIN *
If rErrr& = 0 Then
If ExtraPut ghExtralS., 0, 0, "@3") <> ATM_SUCCESS Then rErrr& = 10010 rErrMsg$ = "Unable to enter the PIN number." End If End If
'** VERIFY HOST LOCATION **************************************** ' * Verify that the document was found *
If rErrr& = 0 Then
If ExtraWait&(ghExtral&, 4, 24, gTimeout%, "P I N C R O S S R E F E R E N C E") <:> ATM_SUCCESS Then rErrr& = 9999 rErrMsg$ = "Unable to exit the document screen." End If End If
'** GOTO PIN SEARCH MENU ******************************************** ' * Go back to the PIN search menu so we can enter the next PIN *
If rErrr& = 0 Then
If ExtraPut&(ghExtral&, 0, 0, "@3") <> ATM_SUCCESS Then rErrr& = 10010 rErrMsg$ = "Unable to enter the PIN number." End If End If
i** VERIFY HOST LOCATION **************************************** '* Verify that the document was found *
If rErrr& = 0 Then
If ExtraWait&lghExtralfc, 4, 14 , gTimeout%, "P I N / L E G A L C R O S S R E F E R E N C E") <> ATM_SUCCESS Then rErrrS = 9999 rErrMsg$ = "Unable to exit the legal description screen." End If End If
Get_Document_Info_COOK_Exιt :
Get_Document_Info_COOK_Error : rErrr = Err. umber rErrMsg = "Get_Document_Info_COOK: " & Err .Description
Resume Get_Document_Info_COOK_Exιt
End Sub i ** GOTO DOCUMENT INFO COOK ************************************* '* Purpose: This sub routine navigates to the proper host screen '* to retrieve data for Cook county, by supplying a PIN number.
Sub Goto_Document_Info_COOK(roPm As W3FtPιn, rErrr&, rErrMsg$)
Dim Screen_Found%
Dim Condo$, Retδc
On Error GoTo Goto_Document_Info_COOK_Error
Const PIN_SEARCH = 1 Const PIN_NOT_FOUND = 2
' ** DETERMINE CURRENT SCREEN ************************************ ' * Determine if we are on the PIN search or legal desc screen *
If rErrr& = 0 Then
If WJHostWaιt2&(4, 14, 4, 24, gTιmeout%, "P I N / L E G A L C R O S S R E F E R E N C E", "P I N C R O S S R E F E R E N C E", Screen_Found% ) <> ATM_SUCCESS Then rErrrfc = 10013 rErrMsg$ = "Unable to access the Legal Description screen." End If End If
If Screen_Found = PIN_SEARCH Then i** ENTER PIN NUMBER ******************************************** ' * ENTER Pin Number to search for *
If rErrr& = 0 Then
Retfc = ExtraPut&lghExtralS, 9, 8, Mιd$ (roPin. PinNumber, 1, 2)) Rett = ExtraPut&(ghExtral&, 9, 13, Mιd$ (roPin. PinNumber, 4, 2)) Ret& = ExtraPut&tghExtralSe, 9, 18, Mιd$ (roPin. PinNumber, 7, 3) ) Ret& = ExtraPut ghExtralfc, 9, 24, Mιd$ (roPin. PinNumber, 11, 3)) Ret& = ExtraPut&(ghExtral&, 9, 30, Mιd$ (roPin. inNumber, 15, 4)) ' LMg added for condo logic Condo$ = Mιd$ (roPin. PinNumber, 15, ) 'If Len(Trιm$ (Condo$) ) > 0 Then
'TAS changed to check for a condo number that is greater than 0 If Val(Trιm$(Condo$) ) > 0 Then
Ret& = ExtraPut&(ghExtral&, 9, 30, Condo$) Else
Ret& = ExtraPut&(ghExtral&, 9, 30, "0000") End If If ExtraPut&(ghExtral&, 0, 0, "®E") <> ATM_SUCCESS Then rErrrS = 10001 rErrMsg$ = "Unable to enter the PIN number." End If End If i** VERIFY HOST LOCATION **************************************** ' * Verify that the legal desc was found *
If rErr & = 0 Then
If WJHostWait2&(4, 24, 23, 5, gTimeout%, "P I N C R O S S R E F E R E N C E", "SR20E PIN NOT ON RECORD", Screen_Found%) <> ATM_SUCCESS Then rErrrSc = 10013 rErrMsg$ = "Unable to access the Legal Description screen." End If End If
'** CHECK PIN FOUND ********************************************* '* Determine if the PIN number was found *
If rErrr& = 0 Then
If Screen_Found% = PIN_NOT_FOUND Then roPin.bInvalid_Pin = True Else roPin.bInvalid_Pin = False End If
End If
End If
i** GOTO DOCUMENT SCREEN ******************************************** ' * Goto the document screen *
If roPin.bInvalid_Pin = False And rErrrSc = 0 Then
If ExtraPut&(ghExtral£, 0, 0, "@4") <> ATM_SUCCESS Then rErrr. = 10015 rErrMsg$ = "Unable to goto the Pin Search Results screen." End If End If
i** VERIFY HOST LOCATION **************************************** ' * Verify that we are on the pin search screen *
'If roPin.bInvalid_Pin = False And rErrrik = 0 Then
' If ExtraWaitSc(ghExtralSc, 4, 24, gTimeout%, "P I N S E A R C H R E S U L T S") <> ATM_SUCCESS Then
' rErrrSc = 10025
' rErrMsg$ = "Unable to access the Pin Search Results screen."
End If 'End If
If roPin.bInvalid_Pin = False And rErrri = 0 Then
If WJHostWait2&(4, 24, 23, 5, gTimeout%, "P I N S E A R C H R E S U L T S", "C112E NO DOCUMENT IN SEARCH CRITERIA", Screen_Found%) <> ATM_SUCCESS Then rErrrSc = 10025 rErrMsg$ = "Unable to access the Pin Search screen." End If i** CHECK PIN FOUND ********************************************* ' * Determine if the PIN number was found *
If rErrrSc = 0 Then
If Screen_Found% = PIN_NOT_FOUND Then roPin.blnvalid Pin = True
'Return to PIN / LEGAL entry screen 'to try next PIN # if previous one
'had NO DOCUMENT IN SEARCH CRITERIA
If ExtraPutS.(ghExtral&, 0, 0, "@3") <> ATM_SUCCESS Then rErrrSc = 10010 rErrMsg$ = "Unable to enter the PIN number." End If
Else roPιn.bInvalιd_Pιn = False End If
End If
End If
Goto_Document_Info_COOK_Exιt •
Goto_Document_Info_COOK_Error : rErrr = Err Number rErrMsg = "Goto_Document_Info_COOK: " Sc Err .Description
Resume Goto_Document_Info_COOK_Exιt
End Sub
'** RETRIEVE DOCUMENTS ****************************************** '* Purpose- This sub routine determines which county to retrieve ' * property information from It also controls whether or not '* the data should be saved after retrieval and sorting. An error '* may cause the data to be flagged as an "Exception".
Sub Retrιeve_Documents (oOrder As W3FtOrder, oPin As W3FtPm, rErrrSc, rErrMsg$) Dim bProcessed% On Error GoTo Retrieve Documents Error
' ** CHECK RESTART VALUE ************************************************* ' * Check if the document were already retrieved from the host *
If rErrr = 0 Then bProcessed% = oPm.RetrieveStatusFlag (eftPropertylnfo) End If
'** GOTO PROPERTY SCREEN ************************************************ ' * Goto the property info host screen *
If bProcessed% = False And gbHost_Avaιlable% = True And rErrr = 0 Then If UCase (Trim (oOrder. PropertyCounty) ) = "COOK" Then
Call Goto_Document_Info_COOK(oPm, rErrrϋ, rErrMsg$) End If
End If
'** GET DOCUMENT INFO *************************************************** ' * Get the document info from the host *
If bProcessed% = False And rErrr = 0 And oPιn.bInvalιd_Pιn = False Then Select Case UCase (Trim (oOrder . PropertyCounty) ) Case "COOK"
Call Get_Document_Info_COOK(oPιn, rErrr, rErrMsg$) Case "DUPAGE"
Call Get_Document_Info_DUPAGE(oPιn, rErrr, rErrMsg$)
'Get Details on the 2nd pass Call Get_Document_Detaιls_DUPAGE(oPιn, rErrr, rErrMsg$) End Select End If
'** SAVE DOC INFO ******************************************************* ' * Save the document info to the database *
If bProcessed% = False And rErrr = 0 And oPιn.bInvalιd_Pm = False Then
'Reverse Document order prior to sorting for DUPAGE ODocument . Order = str$(ι%)
'Order Documents according to Title matching criteria Call OrderDocuments (oPin, rErrr, rErrMsg)
If rErrr = 0 Then
' Save Ordered document for Pin to Documents table
Call oPin. Documents. InsertData (rErrr, rErrMsg) End If
End If
'** UPDATE PIN STATUS *************************************************** ' * Update the Pin status to successful *
If bProcessed% = False And rErrr = 0 Then
If oPm.bInvalιd_Pιn = False And rErrr = 0 Then
'If ONLY 1 document record existed for the PIN
'and ONLY 1 Pin exists for the Order
'set the "exception" flag
If mbOnly_l_Document = True And oOrder . Pins . Count = 1 Then oPin.DocumentFlag = FAILED
Else oPin.DocumentFlag = PROCESSED
End If Else
OPin . DocumentFlag = FAILED End If
Call oPm . UpdateFlag (eftPropertyInfo, rErrr, rErrMsg)
End If
Retrιeve_Documents_Exι
Retrιeve_Documents_Error rErrr = Err.Number rErrMsg = "Retπeve_Documents : " & Err .Description
Resume Retrιeve_Documents_Exιt
End Sub
' ** GET DOCUMENT INFO DUPAGE*************************************
' * Purpose This sub routine navigates through host screens specific
'* to DuPage county and captures the property information by PIN.
Sub Get_Document_Info_DUPAGE(roPιn As W3FtPιn, rErrrSc, rErrMsg$)
Dim Screen_Found%
Dim Condo$, Ret&
Dim Nbr_Pages%, ι%, 3%
Dim Temp_Nbr_Pages$, DocTotal$
Dim RetΞtr$
Dim bNoMoreRecords As Boolean
Dim bLastDocumentPage As Boolean
Dim sCurrentDocNum As String Dim sNextDocNum As String
Dim sDocCount As String
Dim sBuyerSeller As String
Dim sTownRange As String
Dim iDocCount As Integer
Dim lGrantorCount As Integer
Dim lGranteeCount As Integer
Dim iRow As Integer
Dim lPos As Integer
Dim lFirstDocumentPage As Integer
Dim oDocument As W3 FtDocument
Dim TempDocuments As W FtDocuments
Const PIN_SEARCH = 1 Const PIN_NOT_FOUND = 2
On Error G0T0 Get_Document_Info_DUPAGE_Error
'** VERIFY HOST LOCATION ******************************************** ' * Verify that we are on the Document screen
If rErrrSc = 0 Then
If ExtraWaitSctghExtralSc, 2, 31, gTιmeout%, "SEARCH MENU") 0 ATM_SUCCESS Then rErrrSc = 9999 rErrMsg$ = "Unable to find Document screen - SEARCH MENU" End If End If
1** GET DOCUMENT SCREEN ********************************************* ' * Get the main Document screen for the Effective date If rErrrSc = 0 Then
If ExtraGetScrSc (ghExtral, RetStr$) 0 ATM_SUCCESS Then rErrrSc = 10007 rErrMsg$ = "Unable to retrieve Document screen from host " End If End If
'Store Effective Date in module variable If rErrr. = 0 Then gEffectιve_Date = CDate (ExtraGetScrData$ (RetStr$, 2, 66, 8)) End If
'** ENTER PIN NO ************************************************ ' * Enter the Pin information needed to retrieve the Document ' * information
If rErrr& = 0 Then
Ret& = ExtraPut&(ghExtral&, 7, 19, Mιd$ (roPin PinNumber, 1, 2))
RetSc = ExtraPutSc(ghExtral&, 7, 24, Mιd$(roPιn PinNumber, 4, 2 ) )
Ret& = ExtraPut&fghExtralSi, 7, 29, Mιd$(roPιn PinNumber, 7, 3))
RetSi = ExtraPut&(ghExtral&, 7, 35, Mιd$(roPm PinNumber, 11, 3) Sc " @E")
End If
1** VERIFY HOST LOCATION **************************************** ' * Verify that the Legal pin number was found
If rErrrSc = 0 Then
If WJHostWait2&(2, 20, 3, 2, gTιmeout%, "DOCUMENT CROSS REFERENCE", "NO DOCUMENTS FOUND FOR PARCEL", Screen_Found%) 0 ATM_SUCCESS Then rErrrSc = 10013 rErrMsg$ = "Document List screen not found OR Document records not found for key"
End If End If
'Initialize Only 1 document flag mbOnly_l_Document = False
'** CHECK TO SEE IF ONLY 1 DOCUMENT EXISTS for PIN **************
'* If ONLY 1 document entry exists for the PIN#
'* then the "Document List" screen will not appear
' * the host system goes directly to the document details screen
'* If that happens, set the Order to "Exception" status
'Check to see if neither Waιt2 condition was successful 'then perform a third wait for the document details screen If rErrrSc = 10013 Then
If ExtraWait&tghExtralSc, 3, 2, gTιmeout%, "DOCUMENT NUMBER") <> ATM_SUCCESS Then rErrrSc = 10013 rErrMsg$ = "Document Details screen was not found for key" Else rErrrSc = 0 rErrMsg$ = " "
'Re- initialize screen found so the Document
'will be processed and set a flag to know
' that only 1 document was found for the PIN Screen_Found% = 1 mbOnly_l_Document = True sCurrentDocNum = " " iDocCount = 1 lGrantorCount = 1 lGranteeCount = 1 mbFound_Townshιp_Range = False
'** GET PROPERTY INFO ******************************************* ' * Scrape the property info from the host *
If rErrrSc = 0 Then
If ExtraGetScrSc (ghExtral, RetStr$) <> ATM_SUCCESS Then rErrr. = 10007 rErrMsg$ = "Unable to retrieve the property information from the host "
End If
'Print the screen to file for debug Sc comparison testing
Call CaptureScreenToFile (" " , "*** Property *** ", True, gOrderNum$)
For 3% = 1 To 24
Call CaptureScreenToFile ("" , ExtraGetScrData$ (RetStr$, 3%, 1, 80), True , gOrderNum$ )
Next End If sDocCount = Tnm(Str (iDocCount) )
Set oDocument = roPin Documents AddOb ect (roPin CaseNumber, roPin PinNumber, sDocCount)
' ** CREATE DOCUMENT NUMBER **************************************
1 * Create the Document number
'* "R" + 2-dιgιt year + "-" + 6-dιgιt DOC NO
***************************************************************** sCurrentDocNum = "R" Sc ExtraGetScrData$ (RetStr$, 3, 19, 2) Sc "-" Sc ExtraGetScrData$(RetStr$, 3, 22, 6) oDocument DocumentNum = sCurrentDocNum ' 1 PageNum for each unique Document number oDocument PageNum = sDocCount oDocument RecordedDate = CDate (ExtraGetScrData$ (RetStr$, 3, 65, 2) Si "-" Sc ExtraGetScrData$(RetStr$, 3, 67, 2) & "-" 6 ExtraGetScrData$ (RetStr$, 3, 69, 2))
'Look for pattern "Rxx-Oxxxxx" and add a zeros after the 'dash if necessary to make a "valid" PπorDoc Number oDocument PπorDocs = ExtraGetScrData$ (RetStr$ , 9, 15, 65) oDocument PriorDocsFormat = DuPagePriorDocs (ExtraGetScrData$ (RetStr$, 9, 15, 65)) 'Doc type "MORTG" is assumed if ONLY 1 document record exists oDocument . TypeV = "MORTG"
'Type Description is used for COOK, but not for DUPAGE oDocument .TypeDescription = "" oDocument .Amount = " "
'Initialize Grantors and Grantees oDocumen .Grantorl = oDocumen . Grantor2 = oDocument . Grantor3 = oDocument Grantor4 = oDocument . Grantorδ = oDocument .Granteel = oDocument .Grantee2 = oDocument .Grantee3 = oDocument .Grantee4 = oDocument .GranteeΞ =
End If End If
'** CHECK PIN FOUND ********************************************* '* Determine if the PIN number was found
If rErrrSc = 0 Then
If Screen_Found% = PIN_NOT_FOUND Then roPm.bInvalιd_Pιn = True Else roPιn.bInvalιd_Pιn = False End If End If i ** GET DATA **************************************************** ' * Scrape the Document screens from the host
If roPin bInvalιd_Pm = False And rErrrSc = 0 And mbOnly_l_Document = False Then sCurrentDocNum = " " sNextDocNum = " " iDocCount = 1 lGrantorCount = 1 lGranteeCount = 1 mbFound_Townshιp_Range = False bNoMoreRecords = False bLastDocumentPage = False lFirstDocumentPage = 0
Do While bNoMoreRecords = False And rErrrSc = 0
'CODECHANGE TAS - 12/29/99
'Host screen change requires 1 more pass to get 'the data from the last screen in the doc chain If bLastDocumentPage = True Then bNoMoreRecords = True End If i** GET PROPERTY INFO ******************************************* ' * Scrape the property info from the host *
If rErrrSc = 0 Then
If ExtraGetScrSi (ghExtral, RetStr$) <> ATM_SUCCESS Then rErrrSc = 10007 rErrMsg$ = "Unable to retrieve the property information from the host "
End If
'Print the screen to file for debug comparison testing
Call CaptureScreenToFile ("" , "*** Property *** ", True, gOrderNum$) For 3 % = 1 To 24
Call CaptureScreenToFile ("", ExtraGetScrData$ (Retstr$, 3%, 1, 80), True, gOrderNum$)
Next End If
1 ** GET DATA ****************************************************
' * Scrape the property info from the host *
If rErrrSc = 0 Then
'If iFirstDocumentPage = 0 (1st page of documents) 1 Get 1st document on page because it is 1st page 'Else iFirstDocumentPage = 1 (past 1st page of documents) ' Skip 1st document on page because it is duplicate For 1 = 1 + iFirstDocumentPage To 7
' Set the current row
'If line number exists on the current screen row then
' retrieve the document data
If Len(Trιm(ExtraGetScrData$ (RetStr$, iRow, 4, 6))) > 0 Then
' ** CREATE DOCUMENT NUMBER **************************************
'* Create the Document number:
'* "R" + 2-dιgιt year + "-" + 6-dιgιt DOC NO sNextDocNum = "R" & ExtraGetScrData$ (RetStr$, iRow, 19, 2) & "-" Sc ExtraGetScrData$ (RetStr$, iRow, 4, 6)
'If we have encountered a new DOC NO in the list 'then create a new Document ob3ect and set the 'properties for a new Document If sCurrentDocNum 0 SNextDocNum Then sDocCount = Trim (Str( iDocCount) )
Set oDocument = roPin. Documents AddOb3ect (roPin. CaseNumber, roPin. PinNumber, sDocCount) sCurrentDocNum = "R" ^ ExtraGetScrData$ (RetStr$, iRow, 19, 2) Sc "-" & ExtraGetScrData$ (RetStr$, iRow, 4, 6)
' Increment # of Documents in Doc Collection iDocCount = iDocCount + 1 oDocument DocumentNum = sCurrentDocNum ' 1 PageNum for each unique Document number oDocument PageNum = sDocCount oDocument . ecordedDate = CDate (ExtraGetScrData$ (RetStr$, iRow, 11, 10))
'Look for pattern "Rxx-Oxxxxx" and add a zeros after the 'dash if necessary to make a "valid" PπorDoc Number oDocument . PriorDocs = ExtraGetScrData$ (RetStr$, iRow + 1, 25,
45) oDocument . PriorDocsFormat =
DuPagePriorDocs (ExtraGetScrData$ (RetStr$, iRow + 1, 25, 45))
' Get document type oDocumen . TypeV = ExtraGetScrData$ (RetStr$, iRow, 72, 9)
'Type Description is used for COOK, but not for DUPAGE oDocument . TypeDescription = "" oDocument .Amount = " "
' Initialize Grantors and Grantees oDocument . Grantorl = oDocument . Grantor2 = oDocument . Grantor3 = oDocument . Grantor4 = oDocument . Grantors = oDocument .Granteel = oDocument .Grantee2 = "" oDocument .Grantee3 = "" oDocument .Grantee4 = "" oDocument .Grantees = ""
'Re- initialize Grantor and Grantee count for every new document lGrantorCount iGranteeCount
End If
'Get Buyer/Seller for each repeating document entry sBuyerSeller = ExtraGetScrData$ (RetStr$, iRow, 63, 9)
'Add Grantors and Grantees to the the
'Document object based upon type.
Select Case UCase (RTrim (oDocument .TypeV) )
' Store Grantors or Grantees only for these
' document types .
'Note: Grantors and Grantees for the
'"SUBRD OF" type must be retrieved
'from the Detail screens.
Case "MORTG", "DEED", "A M", "SPWD" '?
'Add a Grantor or Grantee to the Document object 'depending upon the "BUY/SELL" host column Select Case UCase (RTrim (sBuyerSeller) )
Case "MRTGOR", "GRNTOR", "ASINOR" 'Set Grantor properties Select Case iGrantorCount Case 1 oDocument . Grantorl =
ExtraGetScrData$ (RetStr$, iRow, 22, 41)
Case 2 oDocument . Grantor2 =
ExtraGetΞcrData$ (RetStr$, iRow, 22, 41)
Case 3 oDocument .Grantor3 =
ExtraGetScrData$ (RetStr$, iRow, 22, 41)
Case 4 oDocument . Grantor4 =
ExtraGetScrData$ (RetStr$, iRow, 22, 41)
End Select
' Increment count of Grantors iGrantorCount = iGrantorCount
Case Else
'Set Grantee properties Select Case iGranteeCount Case 1 oDocument .Granteel =
ExtraGetScrData$(RetStr$, iRow, 22, 41)
Case 2 oDocument .Grantee2 =
ExtraGetScrData$(RetStr$, iRow, 22, 41)
Case 3 oDocument .Grantee3 =
ExtraGetScrData$(RetStr$, iRow, 22, 1)
Case 4 oDocument .Grantee4 =
ExtraGetScrData$ (RetStr$, iRow, 22, 1)
End Select
' Increment count of Grantees iGranteeCount = iGranteeCount + 1
End Select End Select End If
Next l
End If
'** SKIP 1ST DOCUMENT IN PAGE IF 2ND OR MORE PAGE ****************************************************
'If it is the 1st page of documents then retrieve the 1st document of the page 'Else start with the 2nd document on the page because the last document from the previous page is always carried over.
If IFirstDocumentPage = 0 Then iFirstDocumentPage = 1 End If i ** GOTO NEXT PAGE ********************************************** ' * Get the next page of documents *
If rErrrSi = 0 Then
If ExtraPutSc(ghExtralSc, 0, 0, "@8") <> ATM_SUCCESS Then rErrrSc = 1009 rErrMsg$ = "Unable to goto next page." End If End If
' * * GOTO NEXT PAGE ********************************************** ' * Get the next Document page
If rErrrSc = 0 Then
If ExtraGetScrS. (ghExtral, RetStr$) <> ATM_SUCCESS Then rErrrS = 10007 rErrMsg$ = "Unable to retrieve next Document screen from host " End If End If i ** GOTO NEXT PAGE **********************************************
'* Check to see if "NO MORE RECORDS" exist,
If rErrrSi = 0 Then
If ExtraGetScrData$(RetStr$, 3, 2, 12) = "F8 - NO MORE" Then bLastDocumentPage = True
End If End If
Loop
'If at least 1 document was found then 'reverse the order of the documents If roPin.Documents. Count > 0 Then
'Create a temp Document collection to reverse the
' order of the Dupage Documents
Set TempDocuments = New W3FtDocuments
'Store the current Document collection temporarily For l = 1 To roPin.Documents. Count
TempDocuments. AddDoc roPin.Documents d) , roPin.Documents (I) .DocumentNum &
Next l
'Clear all Document objects from the 'current PIN / Document collection to make 'room for the reverse ordered Temp collection roPin . Documents . Clear
'Overwrite the current PIN / Document set
' in reverse order using the temporary document collection For l = TempDocuments. Count To 1 Step -1 roPin.Documents.AddDoc TempDocuments d) , TempDocuments d) .DocumentNum S
Next l
End If End If
'** Clear Screen **************************************************** ' * enter Pause-Break to clear screen
If rErrrSc = 0 Then
If ExtraPutSc(ghExtralSc, 1, 1, "®C") <> ATM_SUCCESS Then rErrrSc = 9999 rErrMsg$ = "Unable to clear screen - (Pause / Break) " End If End If
Get_Document_Info_DUPAGE_Exιt :
Get_Document_In o_DUPAGE_Error . rErrr = Err. Number rErrMsg = "Get_Document_Info_DUPAGE: " Sc Err .Description
Resume Get_Document_Info_DUPAGE_Exιt
End Sub
'** GET DOCUMENT DETAILS DUPAGE*************************************
'* Purpose This sub routine is called only for specific TYPES
'* within a document chain. Some document types require navigation
' * to the document details screen to capture additional information
'* such as GRANTOR / GRANTEE names. This routine handles a host
' * navigation issue when only 1 document exists for the PIN or
'* a "SUBRD OF" document is being retrieved.
Sub Get_Document_Detaιls_DUPAGE(roPιn As W3FtPιn, rErrrSc, rErrMsg$)
Dim Screen_Found% , 3%, iDocCount
Dim Condo$, RetSi, rErrl&
Dim RetStr$, rErrlMsg$
Dim bNoMoreRecords As Boolean
Dim sCurrentDocNum As String
Dim sBuyerSeller As String
Dim sTownRange As String
Dim 1 As Integer
Dim lPos As Integer
Dim iMore As Integer
Dim oDocument As W3 FtDocument
Const PIN_SEARCH = 1 Const PI _NOT_FOUND = 2
On Error G0T0 Get_Document_Detaιls_DUPAGE_Error
'Initialize flag for whether Township and Range were found. mbFound_Townshιp_Range = False
'** VERIFY HOST LOCATION ********************************************
'* Verify that we are on the Document screen
If rErrrSc = 0 Then
If ExtraWait ghExtralS:, 2, 31, gTιmeout%, "SEARCH MENU") 0 ATM_SUCCESS Then rErrrSi = 9999 rErrMsg$ = "Unable to find Document screen - SEARCH MENU" End If End If
For l = 1 To roPin.Documents. Count
'Get the next Document ob3ect from the collection Set oDocument = roPin.Documents d)
Select Case UCase (RTrim (oDocumen .TypeV) )
Case "MORTG", "DEED", "SUBRD OF", "ΞPWD"
'** ENTER PIN NO ************************************************
' * Enter the Recording Date to End Search Date
'* and the Pin information needed to retrieve the
'* details of the Document information.
' ****************************************************************
If rErrrSc = 0 Then
' Put in the document year
RetSi = Ex raPutScfghExtralSc, 6, 33, Format (oDocument .RecordedDate,
"yyyy", 0, 0) )
' Put in the 6 digit document number
RetSi = ExtraPutSi (ghExtralSc, 6, 19, Right (oDocument .DocumentNum,
"@E")
End If
'** VERIFY HOST LOCATION **************************************** '* Verify that the Legal pin number was found *
If rErrrSc = 0 Then
If WJHostWaιt2S=(2, 30, 3, 2, gTιmeout%, "MASTER RECORD", "DOCUMENT DOES NOT EXIST", Screen_Found%) <> ATM_SUCCESS Then rErrr& = 10013 rErrMsg$ = "Pin not found on Legal search screen" End If End If
'** CHECK PIN FOUND ********************************************* '* Determine if the PIN number was found *
If rErrrS = 0 Then
If Screen_Found% = PIN_NOT_FOUND Then roPιn.bInvalιd_Pιn = True Else roPm.bInvalιd_Pιn = False End If End If
' * * GET DATA **************************************************** 1 * Scrape the Document screens from the host
If roPιn.bInvalid_Pιn = False And rErrrSi = 0 Then
'** GET PROPERTY INFO ******************************************* ' * Scrape the property info from the host *
If rErrrSi = 0 Then
If ExtraGetScrSc (ghExtral, Retstr$) <> ATM_SUCCESS Then rErrrSc = 10007 rErrMsg$ = "Unable to retrieve the property information from the host. "
End If
'Print the screen to file for debug & comparison testing
Call CaptureScreenToFile (" " , "*** Property Details *** ", True, gOrderNum$)
For 3% = 1 To 24
Call CaptureScreenToFile ("", ExtraGetScrData$ (RetStr$, 3%, 1, 80) , True, gOrderNum$)
Next End If
' ** GET DATA **************************************************** '* Scrape the property detail info from the host
If rErrr& = 0 Then
'Get data for MORTG and DEED oDocument .Amount = Str (Val (ExtraGetScrDataS (RetStr$, 8, 17, 12)))
'CODECHANGE TAS - 06/13/01 (FIT208)
'Get the full length of PriorDocs from the detail screen oDocument . PriorDocs = ExtraGetScrData$ (RetStr$, 11, 15, 65) oDocument . PπorDocsFormat = DuPagePriorDocs (ExtraGetScrData$ (RetStr$, 11, 15, 65))
' ENDCODECHANGE TAS - 06/l3/01 (FIT208)
'Get Township and Range if available in description
'which is stored in PriorDocs
If mbFound_Townshιp_Range = False Then sTownRange = Right (Trim (oDocument PriorDocs), 5) lPos = InStr(l, sTownRange, "-") msTownship = Trιm(Left (sTownRange, lPos - 1)) msRange = Trim (Right (sTownRange, Len (sTownRange) - lPos) ) mbFound_Townshιp_Range = True
'Update Township and Range for Legal
If roPm.Legals. Count > 0 Then roPin.Legals (1) .Township = msTownship roPm.Legals (1) .Range = msRange Call roPin.Legals. UpdateData (rErrlSc, rErrlMsg$) End If
End If End If End If
'Get data for SUBRD OF or
'if ONLY 1 document was found for the PIN# If UCase (RTrim (oDocument. TypeV) ) = "SUBRD OF" Or _ mbOnly_l_Document = True Then
'** ENTER PIN NO ************************************************ 1 * Enter the Recording Date to End Search Date 1 * and the Pin information needed to retrieve the '* details of the Document information.
If rErrrSc = 0 Then
'Put PF11 to get the "people" record
Rets. = ExtraPutSctghExtralSi, 1, 1, "@b") End If
'** VERIFY HOST LOCATION ********************************************
' * Verify that we are on the Document screen
If rErrrSc = 0 Then
If ExtraWaιtSc(ghExtral&, 2, 23, gTιmeout%, "PEOPLE RECORD") <> ATM_SUCCESS Then rErrrSc = 9999 rErrMsg$ = "Unable to find Document people screen - (TRANSACTOR RECORD) "
End If End If i ** GET DATA **************************************************** ' * Scrape the Document screens from the host If rErrrSc = 0 Then
If ExtraGetScrSc (ghExtral, RetStr$) <> ATM_SUCCESS Then rErrrSi = 10007 rErrMsg$ = "Unable to retrieve the property information from the host . '
End If
'Print the screen to file for debug Si comparison testing
Call CaptureScreenToFile ("" , "*** Property Details *** ", True , gOrderNum$ )
For 3% = 1 To 24
Call CaptureScreenToFile ("" , ExtraGetScrData$ (RetStr$, 3%, 1, 80), True, gOrderNum$)
Next
' Store the Grantors and Grantees oDocument Grantorl = : ExtraGetScrData$ (RetStr$, 8, 2, 30) oDocument . Grantor2 = : ExtraGetScrData$(RetStr$, 9, 2, 30) oDocument . Grantor3 = ■ ExtraGetScrData$(RetStr$, 10, 2, 30) oDocument Grantor4 = ■ ExtraGetScrData$(RetStr$, 11, 2, 30) oDocument .Granteel = : ExtraGetScrData$(RetStr$, 16, 2 , 30) oDocument Grantee2 = ExtraGetScrData$(RetStr$, 17, 2 , 30) oDocument Grantee3 = ExtraGetScrData$(RetStr$, 18, 2, 30) oDocument Grantee4 = ExtraGetScrData$(RetStr$, 19, 2, 30)
End If End If End If
'** Clear Screen **************************************************** '* enter Pause-Break to clear screen
If rErrr& = 0 Then
If ExtraPutSc(ghExtralSc, 1, 1, "@C") <> ATM_SUCCESS Then rErrrSc = 9999 rErrMsg$ = "Unable to clear screen - (Pause / Break) " End If End If i** VERIFY HOST LOCATION ******************************************** ' * Verify that we are on the Document screen
If ExtraWaιtSc(ghExtral&, 2, 31, gTιmeout%, "SEARCH MENU") <> ATM_ΞUCCESS
Then rErrr& = 9999 rErrMsg$ = "Unable to find Document screen - SEARCH MENU" End If
End Select
'CODECHANGE TAS - 06/13/01 (FIT208)
'** GET PRIORDOC DETAILS ************************************************
'* Go to the Document detail screen because the
'* PriorDocs did not fit on the mam Document listing screen.
'CODECHANGE TAS - 06/13/01 (FIT208)
If Trim (oDocument TypeV) = "RELS" Or _ Trim (oDocument .TypeV) = "DISC" Or _ Trim (oDocument TypeV) = "RLSE" Then iMore = InStr (oDocument . PriorDocsFormat, "MORE|") If iMore > 0 Then
'** ENTER PIN NO ************************************************ ' * Enter the Recording Date to End Search Date '* and the Pin information needed to retrieve the '* details of the Document information. If rErrrSc = 0 Then
' Put in the document year
RetSc = ExtraPutSc(ghExtral&, 6, 33, Format (oDocument RecordedDate,
"yyyy", 0, 0) )
'Put in the 6 digit document number
RetSc = ExtraPut£c(ghExtralSc, 6, 19, Right (oDocument DocumentNum, 6) Sc
!")
End If i** VERIFY HOST LOCATION **************************************** '* Verify that the Legal pin number was found *
If rErrrSc = 0 Then
If WJHostWaιt2£c(2, 30, 3, 2, gTιmeout%, "MASTER RECORD", "DOCUMENT DOES NOT EXIST", Screen_Found% ) <> ATM_SUCCESS Then rErrrSi = 10013 rErrMsg$ = "Pin not found on Legal search screen" End If End If
'** CHECK PIN FOUND ********************************************* ' * Determine if the PIN number was found *
*****************************************************************
If rErrrSc = 0 Then
If Screen_Found% = PIN_NOT_FOUND Then roPin bInvalιd_Pιn = True Else roPin bInvalιd_Pm = False End If End If i ** GET DATA ****************************************************
' * Scrape the Document screens from the host *****************************************************************
If roPin bInvalιd_Pιn = False And rErrrϋ = 0 Then
'** GET PROPERTY INFO ******************************************* ' * Scrape the property info from the host *
If rErrrSc = 0 Then
If ExtraGetScrSc (ghExtral, RetStr$) <> ATM_SUCCESS Then rErrrSc = 10007 rErrMsg$ = "Unable to retrieve the property information from the host "
End If
'Print the screen to file for debug S comparison testing
Call CaptureScreenToFile ("" , "*** Property Details *** ", True, gOrderNum$ )
For 3% = 1 To 24
Call CaptureScreenToFile ("", ExtraGetScrData$ (RetStr$, 3%, 1,
80) , True, gOrderNum$)
Next End If
1 ** GET DATA ****************************************************
' * Scrape the property detail info from the host *
If rErrrSc = 0 Then
'Get the full length of PriorDocs from the detail screen oDocument PriorDocs = ExtraGetScrData$ (RetStr$, 11, 15, 65) oDocument PπorDocsFormat = DuPagePriorDocs (ExtraGetScrData$ (RetStr$, 11, 15, 65))
End If
End If
'** Clear Screen **************************************************** '* enter Pause-Break to clear screen ι ******************************************************************** If rErrrSc = 0 Then
If ExtraPutSc(ghExtralSe, 1, 1, "@C") <> ATM_SUCCESS Then rErrrSc = 9999 rErrMsg$ = "Unable to clear screen - (Pause / Break) " End If End If
'** VERIFY HOST LOCATION ******************************************** ' * Verify that we are on the Document screen
If ExtraWaιtSc(ghExtralSc, 2, 31, gTιmeout%, "SEARCH MENU") <> ATM_SUCCESS
Then rErrrSc = 9999 rErrMsg$ = "Unable to find Document screen - SEARCH MENU" End If
End If End If
' ENDCODECHANGE TAS - 06/13/01 (FIT208)
Next l
Get_Document_Detaιls_DUPAGE_Exιt
Get_Document_Detaιls_DUPAGE_Error rErrr = Err Number rErrMsg = "Get_Document_Detaιls_DUPAGE " Sc Err Description
Resume Get_Document_Detaιls_DUPAGE_Exιt
End Sub i ** DUPAGEPRIORDOCS *********************************************
'* Purpose This sub routine is used to analyze and identify "real"
' * document numbers from a host screen for DuPage county The code
' * looks for a specific pattern "Rxx-xxxxx" or similar to that to
'* determine if a "PRIOR" doc exits in the line of text
'* If the prior doc pattern is found it is stored for matching
Function DuPagePriorDocs (ByVal vsPriorDocs As String) As String
Dim l As Integer
D m lPos As Integer
Dim iStart As Integer
Dim iDash As Integer
Dim sChar As String
Dim sLeftNum As String
Dim sRightNum As String
Dim bGetDocDetails As Boolean
'Initialize function value DuPagePriorDocs = " " bGetDocDetails = False iStart = 1
'Look for a dash which signifies a Doc Number iDash = InStr (iStart, vsPriorDocs, "-")
While iDash > 0 lPos = iDash - 1 sChar = "" sChar = Mid (vsPriorDocs, lPos, 1) sLeftNum = "" 'Find Numeric values to the left of the Dash While sChar >= Chr(48) And sChar <= Chr(57) sLeftNum = sChar Sc sLeftNum sChar = Mid (vsPriorDocs, lPos, 1) Else sChar = "" End If
Wend lPos = iDash + 1 sChar = "" sChar = Mid (vsPriorDocs, lPos, 1)
SRightNum = " "
' Find Numeric values to the right of the Dash While sChar >= Chr(48) And sChar <= Chr(57) sRightNum = sRightNum Si sChar
If lPos <= Len (vsPriorDocs) Then sChar = Mid (vsPriorDocs, lPos, 1) Else sChar = "" End If
Wend
'If a valid Doc Number pattern was found then build a Doc Number
If (Len (sLeftNum) > 1 And Len(sLeftNum) < 5) And (Len (sRightNum) > 0) Then
'Pad the right part of the Doc Number with zeros
If Len (sRightNum) < 6 Then sRightNum = Strιng(6 - Len (sRightNum) , 48) & sRightNum
End If
DuPagePriorDocs = DuPagePriorDocs S= "R" Si sLeftNum & "-" & sRightNum Sc "| End If
'Look for the next dash which signifies a Doc Number If iDash + 1 <= Len (vsPriorDocs) Then iDash = InStrdDash + 1, vsPriorDocs, "-") End If
Wend
'If any characters exist in the last 2 positions then
'assume we need to go to the Doc Detail screen
' to get more Doc Numbers
If InStr (Right (RTrim (vsPriorDocs) , 6), "R") > 0 Then
DuPagePriorDocs = "M0RE|" End If
End Func ion

Claims

WE CLAIM:
1. A method for outputting an analyzed data report, comprising: receiving a request signal, the request signal being a request for an analyzed data report of a parcel of real property; accessing a database of records, the database of records relating to the parcel of real property; collecting data from the database of records; analyzing the collected data; creating the analyzed data report from the analysis of the collected data; and outputting the analyzed data report to an end user.
2. The method of Claim 1 , wherein the request signal is received at a communication node.
3. The method of Claim 2, wherein the request signal is sent by a communication device.
4. The method of Claim 1 , wherein the collecting step further comprises: receiving real estate tax information for the parcel of real property; retrieving a legal description of the parcel of real property; retrieving a document chain relating to the parcel of real property; and organizing the data into a predetermined order.
5. The method of Claim 1 , wherein the analyzing step further comprises: scanning the collected data; searching the collected data for a set of preset conditions; and noting the occurrence of any of the set of preset conditions.
6. The method of Claim 1 , wherein the creating step further comprises developing the analyzed data report so that the analyzed data report contains a listing of the parcel of real property and any of the set of preset conditions.
7. The method of Claim 1 , wherein the analyzed data report is outputted according to predetermined preferences.
8. A system for outputting an analyzed data report, comprising: means for receiving a request signal, the request signal being a request for an analyzed data report of a parcel of real property; means for accessing a database of records, the database of records relating to the parcel of real property; means for collecting data from the database of records; means for analyzing the collected data; means for creating the analyzed data report from the analysis of the collected data; and means for outputting the analyzed data report to an end user.
9. The system of Claim 8, wherein the request signal is received at a communication node.
10. The system of Claim 9, wherein the request signal is sent by a communication device.
11. The system of Claim 8, wherein the collecting step further comprises: means for receiving real estate tax information for the parcel of real property; means for retrieving a legal description of the parcel of real property; means for retrieving a document chain relating to the parcel of real property; and means for organizing the data into a predetermined order.
12. The system of Claim 8, wherein the analyzing step further comprises: means for scanning the collected data; means for searching the collected data for a set of preset conditions; and means for noting the occurrence of any of the set of preset conditions.
13. The system of Claim 8, wherein the creating step further comprises means for developing the analyzed data report so that the analyzed data report contains a listing of the parcel of real property and any of the set of preset conditions.
14. The system of Claim 8, wherein the analyzed data report is outputted according to predetermined preferences.
EP01975400A 2001-09-26 2001-09-26 Method and system for outputting an analyzed data report Withdrawn EP1438681A4 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2001/030082 WO2003036514A1 (en) 2001-09-26 2001-09-26 Method and system for outputting an analyzed data report

Publications (2)

Publication Number Publication Date
EP1438681A1 EP1438681A1 (en) 2004-07-21
EP1438681A4 true EP1438681A4 (en) 2006-04-19

Family

ID=21742867

Family Applications (1)

Application Number Title Priority Date Filing Date
EP01975400A Withdrawn EP1438681A4 (en) 2001-09-26 2001-09-26 Method and system for outputting an analyzed data report

Country Status (3)

Country Link
EP (1) EP1438681A4 (en)
CA (1) CA2458759A1 (en)
WO (1) WO2003036514A1 (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5032989A (en) * 1986-03-19 1991-07-16 Realpro, Ltd. Real estate search and location system and method
US5584025A (en) * 1993-10-29 1996-12-10 The Real Estate Network Apparatus and method for interactive communication for tracking and viewing data
US5680305A (en) * 1995-02-16 1997-10-21 Apgar, Iv; Mahlon System and method for evaluating real estate
US5857174A (en) * 1997-11-21 1999-01-05 Dugan; John W. Real estate appraisal method and device for standardizing real property marketing analysis by using pre-adjusted appraised comparable sales
WO2000046722A2 (en) * 1999-02-04 2000-08-10 Rental Tracker Method of managing a real estate unit
EP1071028A2 (en) * 1999-07-20 2001-01-24 International Computers Ltd. Computer system for automatically tracking transactions
CA2337760A1 (en) * 2000-02-25 2001-08-25 Costar Group, Inc. System and method for collection, distribution, and use of information in connection with commercial real estate
US20010034701A1 (en) * 2000-02-29 2001-10-25 Fox Adam F. Business process and system for managing and tracking loan collateral

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5032989A (en) * 1986-03-19 1991-07-16 Realpro, Ltd. Real estate search and location system and method
US5584025A (en) * 1993-10-29 1996-12-10 The Real Estate Network Apparatus and method for interactive communication for tracking and viewing data
US5680305A (en) * 1995-02-16 1997-10-21 Apgar, Iv; Mahlon System and method for evaluating real estate
US5857174A (en) * 1997-11-21 1999-01-05 Dugan; John W. Real estate appraisal method and device for standardizing real property marketing analysis by using pre-adjusted appraised comparable sales
WO2000046722A2 (en) * 1999-02-04 2000-08-10 Rental Tracker Method of managing a real estate unit
EP1071028A2 (en) * 1999-07-20 2001-01-24 International Computers Ltd. Computer system for automatically tracking transactions
CA2337760A1 (en) * 2000-02-25 2001-08-25 Costar Group, Inc. System and method for collection, distribution, and use of information in connection with commercial real estate
US20010034701A1 (en) * 2000-02-29 2001-10-25 Fox Adam F. Business process and system for managing and tracking loan collateral

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of WO03036514A1 *

Also Published As

Publication number Publication date
CA2458759A1 (en) 2003-05-01
WO2003036514A1 (en) 2003-05-01
EP1438681A1 (en) 2004-07-21

Similar Documents

Publication Publication Date Title
US7047244B2 (en) Method of and system including a host database for determining connections between a host and a target person
Wang et al. Data quality requirements analysis and modeling
US20070112690A1 (en) Method and system for performing legal services over the internet
US8046306B2 (en) System, method, and apparatus for property appraisals
AU2001268489A1 (en) Method of and system for determining connections between parties over a network
US20050021551A1 (en) Current mailing address identification and verification
US20040133561A1 (en) System and method for identifying alternate contact information
US20020042784A1 (en) System and method for automatically searching and analyzing intellectual property-related materials
US20040267559A1 (en) Dispute management system and method
WO2009145472A1 (en) System and method of calculating the location suitability index and sales rank of a small business shop
US7664685B1 (en) Computer-implemented system for recording oil and gas inspection data
US7054833B1 (en) Method and system for processing unclaimed property information
KR20000054312A (en) Establishing provide Method for ordered web information
US20040153432A1 (en) Method and system for outputting an analyzed data report
US20040138896A1 (en) Web based property management method and system
US20050010551A1 (en) Method of and system for determining connections between parties using private links
US20030195868A1 (en) Methods and systems for correlating company data stored in an electronic database
US20080082344A1 (en) Electronic automated real estate appraisal information exchange and management system
EP1438681A1 (en) Method and system for outputting an analyzed data report
US20030009435A1 (en) Apparatus and method for providing a centralized personal data base accessed by combined multiple identification numbers
US7890515B2 (en) Article distribution system and article distribution method used in this system
JP4392216B2 (en) Financial service guidance system and guidance program
US20050108202A1 (en) Information search system and information search method
Kon et al. Data Quality Requirements: Analysis and Modeling
CN116402054A (en) Method and device for extracting effective text information

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20040423

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR

AX Request for extension of the european patent

Extension state: AL LT LV MK RO SI

A4 Supplementary search report drawn up and despatched

Effective date: 20060308

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: REALTY DATA CORPORATION

RIN1 Information on inventor provided before grant (corrected)

Inventor name: JANETTE M. GLASSER

Inventor name: CHARLES R, O'HALLORAN

RIN1 Information on inventor provided before grant (corrected)

Inventor name: JANETTE M. GLASSER

Inventor name: CHARLES R, O'HALLORAN

17Q First examination report despatched

Effective date: 20070726

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20080206