Conceptual Data Model of Formal Legislative Processes in the U.S. Federal Government

Motivation

Goal is to have an:

Scope of the Specification

Transparent Data Practices

Conceptual Data Model

Metamodel

Entities

An Entity represents an object in the world. An Entity is composed of unordered named Properties and is uniquely identified by an Identifier.

An Entity’s Class defines what Properties and Identifiers compose a given Entity.

An Entity Class may be specified by other Entity Classes. Such Entity Classes are called Subclasses of the specified Entity Class. An Entity Subclass inherits the Properties and Identifiers of the Entity Class.

Properties

A Property consists of a Name and a Value. Names must be unique within an Entity. A Value must be an Entity, a Collection of Entities, or a typed literal.

A Property may be derived or computed, meaning that its value can be inferred from other Properties.

Identifiers

Identifiers uniquely identify an Entity. Identifiers are composed of the Values of one or more Properties which taken together are the minimum necessary to identify that Entity.

Identifiers should be natural where possible; if there is no natural Identifier for an Entity, a surrogate Identifier must be assigned and transmitted by an authority. Every Entity must have an Identifier.

Types

A Type describes a literal Value for a Property. Types may be simple (e.g., Integers, Strings, URIs, Currency Amounts, Dates, etc) or complex (XML documents, PDF documents, etc).

This specification does not define the textual representation for typed Values, but one should use representations which are standardized, machine-readable, and in conformance with the principles set forth in the Transparent Data Practices outlined in this document.

Collections

Collections are groups of Entities indicated together. Collections may be heterogeneous or homogeneous. Collections may have cardinality constraints.

Bag

A Bag is an unordered non-unique set of Entities. A single Entity may occur more than once within a Bag.

List

A List is an ordered non-unique set of Entities. A single Entity may occur more than once within a Bag. The sort order should be specified.

Set

A Set is an unordered unique set of Entities. An Entity may occur only once within a Set.

Ordered Set

An Ordered Set is an ordered unique set of Entities. The sort order should be specified.

Extending

This data model is not meant to be exhaustive. It may be extended by augmentation (adding additional properties to Entity Classes defined in this specification), or by subclassing (defining new Entity Classes inheriting from an existing Entity Class defined in this specification).

Abstract Entity Classes may not be augmented, only subclassed.

Any extensions must make use of a namespacing mechanism to prevent Property Name and Entity Class Name collisions with other extensions. No namespacing mechanism is defined by this specification—namespacing mechanisms are implementation-specific.

Metamodel Notation

The following notation is used to describe entities.

[«SuperClassName»] EntityClassName
Description of Entity Class.

Model (Entity Classes)

Static Entities

Static Entities are those which change infrequently.

Body
An abstract Entity Class representing an official body of people.
«Body» ConstitutionalBody
An abstract Entity Class representing the House or Senate. This Entity Class is unusual in that most of its properties are derived. In principle, the value of these properties may be derived by examining all open Terms of all FederalElectiveOfficeholders.
«ConstitutionalBody» HouseOfRepresentatives
The membership of the House of Representatives on a given date
«ConstitutionalBody» Senate
The membership of the Senate on a given date
«Body» AbstractCommittee
Abstract Entity Class shared by Committees and Subcommittees
«AbstractCommittee» Committee
A Congressional Committee. Includes the Committee of the Whole.
«AbstractCommittee» Subcommittee
A congressional subcommittee: must have only one parent Committee.
Congress
A two-year meeting of the United States Congress composed of Sessions.
Session
A meeting of a Congress. A Session must be part of one and only one Congress.
Seat
Represents a Congressional Seat. This is an abstract class which exists solely to define Subclasses; there are no concrete Entities of this Class.
«Seat» HouseSeat
A Seat in the House of Representatives
«Seat» SenateSeat
A Seat in the Senate
Term
Represents the time during which an official seat is held.
«Term» CongressionalTerm
Represents a Congressional Term. A new Term beings when a person is sworn in.
«Term» CongressionalOfficialTerm
Represents a Term of a Congressional office aside from Congressional Membership.
«Term» ExecutiveTerm
Represents a Term of an Executive office.
PartyAffiliation
Represents the time during which a person is a member of a party.
Person
Represents a Person. This is an abstract class which exists solely to define Subclasses; there are no concrete Entities of this Class.
«Person» FederalElectiveOfficeholder
Represents a Person who holds an elective federal office. All federal elective officeholders should be identified by a single identifier system.
«Person» Functionary
A person who is identified by title or purpose rather than by name. This is used for non-FederalElectiveOfficeholders who appear frequently in congressional proceedings but whose individial identies are not important. E.g.: a clerk or a chaplain.

Substantive Entities

Substantive Entities are those which contain information on the deliberations of Congress.

Bill
A Bill in Congress that has not become law.
PublicLaw
A Bill which has passed into law.
Amendment
An amendment to a Bill or to another Amendment.
Meeting
A specific temporally and spatially delineated gathering of a Body. Includes House of Representative, Senate, Committee, and Subcommittee meetings.
LegislativeStatement
Something said to a Body convened in a Meeting.
Record
A record of the entire content of a meeting released as a single document. Although not composed of LegislativeStatements, these should be derivable from the text, video, or audio. Must include at least one of the optional properties.
Report
A report submitted by a committee to a house of Congress

Administrative Entities

Administrative Entities are those which affect the state of a Bill.

Motion
A formal proposition put before a Body which requires the consent of that Body to be approved. The thing approved depends on the nature of the Motion, but includes Amendments, passage of Bills, adjournments, etc. Motions are closely tied to Decisions.
«Motion» Referral
The assignment of a bill to a committee for consideration. This is a Motion with a motionType of “to refer” and a Bill as its object.
Decision
The expression of assent or dissent by a Body for or against a Motion.
«Decision» RollCall
A Decision resolved by voting.
Vote
An individual vote
Communication
A formal message or communication between houses of Congress or the president and Congress

Actions/Events

Relationship to Entity Classes

Actions are an event-based, incremental view of congressional activities. Every Action should contain enough information to fully specify either a new entity or a set of modifications to an existing entity, or both.

The entity an action modifies is called the object of that action.

An ordered list of actions with an identical object is called a actionlog. Actionlogs should be available for entities retrieved through bulk access. E.g. A Bill Entity should have some way to list all actions which affected it.

Action Entity Class

Action

Action Types

Below are the defined action types and the Entity they create or modify

State Machines

In principle the set of allowed action types and entity modifications at any point in a sequence of actions is constrained by the state of those entities. Some actions advance the state of entities in such a way that other actions upon those entities are no longer possible and new actions are possible. (For example, a Meeting that has been called to order may not be called to order again.)

The rules that govern the transitions between states are called state machines. Because of the complexity of the formal legislative process and because the details of this process may change over time, this specification does not rigorously define a set of state machines governing entity states.

Bill States

However, the value of the Bill state property is governed by a state machine because the state of a Bill is important to know and difficult to discover algorithmically.

Below is a description of the defined bill state values and their types.

introduced
Last action was a successful motion to Introduce.
referred
Last action was a successful motion to Refer.
reported
Last action was a Report by committee.
pass.house
Last action was a Pass by the House for a bill originating in the House which requires both chambers to be enacted. The bill must go to the senate.
pass.senate
Last action was a Pass by the Senate for a bill originating in the Senate which requires both chambers to be enacted. The bill must go to the house.
pass_back.house
Last action was a Pass by the House for a bill originating in the Senate which requires both chambers to be enacted, but the bill contains motifications to which the Senate must agree. Motifications are noted by successful Amend actions since the Pass action in the House.
pass_back.senate
Last action was a Pass by the Senate for a bill originating in the House which requires both chambers to be enacted, but the bill contains motifications to which the House must agree. Motifications are noted by successful Amend actions since the Pass action in the Senate.
passed
Last action was a Pass by any chamber which was sufficient for the bill to achieve final passage.
vetoed
The last action was that the President vetoed a passed bill. The veto may still be overridden.
veto_override.house
The last action was that the House overrode a presidential veto, but the Senate has not.
veto_override.senate
The last action was that the Senate overrode a presidential veto, but the House has not.
enacted
The bill has become a public law or constitutional amendment either by presidential signature, veto override by both houses, or state ratification. This is a final state.

Types (property-level specifications)

The exact representation of the types below will depend on the concrete data model that implements this abstract model. Use existing standards where possible and aim for unambiguous machine-readablility.

markuptype

An abstract type. A markuptype is a document with inline machine-processable markup (e.g. XML) from which it is easy to extract contained or related Entities and other semantic information.

Special considerations:

billtext (markuptype)

The text of a bill. Titles, agencies or programs affected, U.S. Code sections affected, authorizations or appropriations of funds and their amounts, locations, people, foreign and state governments and agencies, internal section numbers, the version of the text itself, the status, and the date should be easily extractable from a billtext document.

Special considerations:

amendmentchange (markuptype)

The text of an amendment. Should be an unambiguous machine-processable description of the changes that have been proposed for another markuptype (billtext or amendmentchange) to produce the desired new document.

committeereport (markuptype)

The text of a committee report. If any other entities are expressed in the markup (e.g. Decisions, Statements, Bills), these should be expressed in a way rich enough to allow one to derive the corresponding Entity.

Where applicable, a committeereport should include: statements, minority statements, statement of authorizing clause of the Constitution, any special statements required by House or Senate rules (indicating rule number), bill texts, section-by-section summaries of bills, proposed amendments, and committee voting records.

transcript (markuptype)

The record of human speech or action. One should be able to identify every Person Entity speaking and the time of each utterance so that one may derive LegislativeStatement Entities. If any other entities are expressed in the markup (e.g. Reports, Decisions, Statements), these should be expressed in a way rich enough to allow one to derive the corresponding Entity. This markup type should be appropriate for any temporally-arranged, mixed-content documents, such as the Congressional Record.

Special considerations:

communication (markuptype)

The text of a communication to a house of Congress from the other house of Congress or from the executive. One should be able to identify mentioned people, bills, public laws, U.S. Code sections, dockets, and regulations (RIN).

constitutionalbody_enum
congressionaloffice_enum
executiveoffice_enum
party_enum
meeting_type
bill_type
vote_cast
motion_types
decision_type
decision_rule
decision_result
referral_term

Special Considerations

Bill Versions

A bill version is the official text of a bill at a given time. The passing of an amendment to a bill creates a new version of a bill.

There are two ways to identify a bill version given the text of the bill as introduced and a full set of adopted amendments to the bill and of adopted amendments to adopted amendments of the bill.

The first way is by date and time. Given a date and time, one must be able to apply all adopted amendments to a bill text or to adopted amendment texts in order of their adoptionDate up to the desired date and time. The result of these transformations should be the official text of the bill.

The second way is by amendment number. A bill’s version may be identified by the amendment number of an amendment which has that bill as its object. Given the amendment identified by this amendment number, one must be able to apply all adopted amendments to a bill text or to adopted amendment texts in order of their adoptionDate up to and including the amendment indicated. The result of these transformations should be the official text of the bill at the moment the indicated amendment was adopted.

All amendments must express their changes as against the official version of the bill at the time of amendment adoption. Amendments must be applied sequentially in order of adoption, and may not be applied concurrently to the same version of a bill.

Only adopted amendments are considered for bill versioning. This specification does not define identifiable bill versions for amendments that have not been adopted. Thus this specification defines no mechanism for identifying proposed or unrealized versions of bills.