Federal, state, and local legislators together propose thousands of bills a year, many of which are complex and reference or change many disparate sections of a particular legal code. Querying the official websites of state legislatures for a particular bill generally only returns the text of the bill without any other related information required to understand how the bill would affect the broader legal code. Simply displaying the proposed legislation satisfies laws requiring the government to publish legislative information but leaves a barrier for citizens wishing to understand the end effect of the proposed legislation. Particularly for citizens not employed in the practice of law, knowing the surrounding context and definitions of a piece of proposed legislation can be critical to understanding its ultimate effect.
One embodiment disclosed herein is a method for retrieving relevant active law as well as defined terms and definitions for a piece of proposed legislation. The method described herein provides citizens with context about a proposed changes to active law in order to illustrate the effect of those proposed changes.
One embodiment is a method comprising retrieving a first set of text using the processor of a first computer, the first set of text comprising a first set of data indicative of proposed changes to a first active law, and retrieving a second set of text using the processor of the first computer, the second set of text comprising data indicative of at least a portion of the first active law. The method also comprises selecting a subset of the second set of text using the processor of the first computer, the subset comprising defined terms and retrieving a third set of text using the processor of the first computer, the third set of text comprising data from the first active law indicative of definitions for the defined terms in the subset of the second set of text. The method further comprises outputting data indicative of a legislative text in which the processor of the first computer integrates the first, second, and third sets of text in a manner sufficient to simultaneously show the definitions for the defined terms and the first set of text on the screen of a second computer.
Another embodiment is a method comprising identifying and retrieving, using a computer processor, defined terms from data stored in a first computer memory or a second computer memory indicative of a first active law, identifying and retrieving, using the computer processor, the definitions of the defined terms from data stored in the first computer memory or the second computer memory indicative of the first active law, and organizing, using the computer processor, the defined terms and definitions into a data structure stored in the first computer memory or the second computer memory.
As used herein, the term “active law” refers to law which is in effect.
As used herein, the term “bill” means any piece of proposed legislation at any level of government including by not limited to legislation proposed in any national congress or parliament, any chamber of any state or provincial legislature, or any governing council or body of a county, municipal, or otherwise local government.
The embodiments described herein relate to a computerized method for retrieving and assembling data illustrative of the effect of a bill. Specifically, beyond accessing the text of a bill, the embodiments comprise retrieving the portions of active law which the bill references or proposes to amend and retrieving the definitions of specifically defined terms which can assist in revealing the effect of a bill and the referenced active law.
One embodiment comprises a method shown in
In process block 103 of the method shown in
In block 105, the method handling computing device 303 retrieves the active law, from a database of active law 323, which the bill retrieved in block 103 references or proposes to amend. The retrieval executed as part of block 105 may require a set of rules specific to the database of bills 321 defining the format in which laws are referenced and where references can be found in bills contained within the specific database of bills 321. For an example of a format used to refer to particular portions of a legal code, “RSA 653:1, V” refers chapter 653, section 1, paragraph V in the New Hampshire Revised Statutes Annotated.
In block 107, the method handling computing device 303 selects the terms contained within the amended or referenced active law whose definitions are contained within the data structure of terms and definitions 325 generated using the method shown in
In block 109, the method handling computing device 303 retrieves the definitions for the terms selected in block 107 from the data structure of terms and definitions 325.
In block 111, the method handling computing device 303 outputs the bill, the active law it references or proposes to amend, and the defined terms and definitions selected and defined in blocks 107 and 109 respectively. The output format depends on the application but, if the query were generated on an external query source computing device 301, may comprise a JSON object returned through a network connection to the query source computing device 301.
Optionally, in block 113, the method handling computing device 303 or another computing device displays the output on a screen in such a way as to illustrate the impact of the bill identified using the data contained within the query 319.
The database of bills 321, the database of active law 323, and data structure of defined terms and their respective definitions 325 can all either be accessed by the processor 315 from the memory 309 of the method handling computing device 303 or from the memory 311 of one or more external networked computing devices 305 where the local processor 317 would access the database 323 and return the requested text over a network connection to the processor 315 on the method handling computing device 303.
One embodiment of the method shown in
In block 203 of
In block 205, the processor 315 of the method handling computing device 303 identifies and retrieves the definitions of the terms identified in block 203 from the database of active law 323. Identification of the definitions of the defined terms requires a set of rules describing what constitutes the definition of a term defined in the active law.
For the execution of block 203 and block 205, the database of active law 323 is stored either in the memory 309 of the method handling computing device 303 or stored in the memory 311 of one or more external networked computing devices 305 and accessed remotely through a network connection.
Finally, in block 207, the processor 315 of the method handling computing device 303 organizes and stores the defined terms and definitions as a data structure in memory 309 for later use by the method shown in
In one particular non-limiting embodiment, the method shown in
A database of active law 323, populated with the Revised Statutes Annotated of the State of New Hampshire, and a database of bills 321, populated with bills before the 2016 session of the New Hampshire General Court, are stored in the memory 311 of the external networked computing device 305 and can be accessed through a network connection by the method handling computing device 303.
Before the method described in
First, the processor 315 of the web application server 303 accesses the server of the New Hampshire General Court to execute block 203 of the method described in
The processor 315 of the web application server 303 then accesses the server of the New Hampshire General Court to execute block 205. The web application server identifies and retrieves the definitions of the terms identified in block 203 from the database of the New Hampshire Revised Statutes Annotated 323 using a set of rules particular to that legal code describing how and where the defined terms are defined.
Finally in block 207, the the processor 315 of the web application server 303 organizes the terms retrieved in block 203 and the definitions retrieved in block 205 into a data structure 325, namely a hashtable or dictionary, stored in memory 309.
The execution of the method described in
When the web application server 303 receives the query, the execution of the method described in
In block 105, the processor 315 of the web application server 303 uses a set of rules to determine that H.B. 1484, shown in
In block 107, the processor 315 of the web application server 303 uses the data structure of defined terms and definitions and logic specific to the New Hampshire Revised Statutes Annotated to select the defined terms used in H.B. 1484, RSA 21-N:10, and RSA 653:1.
In block 109, the processor 315 of the web application server 303 retrieves the definitions of the terms, selected in block 107, from the data structure of defined terms and definitions stored in memory 309 of the web application server 303.
In block 111, the processor 315 of the web application server 303 outputs from memory 309 the texts of H.B. 1484, RSA 21-N:10, and RSA 653:1 and the defined terms and their definitions used in H.B. 1484, RSA 21-N:10, and RSA 653:1. The processor 315 optionally communicates that output to the user's personal computer 301 where it can be simultaneously displayed on the screen for the user.
A number of alternatives, modifications, variations, or improvements therein may be subsequently made by those skilled in the art, which are also intended to be encompassed by the following claims.