Conceptual Data Model of the U.S. Federal Government Budgetary Process

Date
2011-12-12
Revision
10
Status
draft for presentation 2011-12-14

Motivation

Goal is to have an:

Scope of the Specification

Note that this specification makes reference to Entities and concepts explained in the Conceptual Data Model of Formal Legislative Processes in the U.S. Federal Government.

Depth of the Specification

This data is sought primarily to bring transparency to the federal spending lifecycle from the original budget proposed by the president through the creation of budget authority by Congress, to the final outlay of money by executive branch agencies.

The primary problem data conforming to this specification will solve is the current inability to correlate particular obligations and outlays to specific appropriations and budget authorities.

This specification does not attempt to model financial data detailed down to the last transaction or with the rigor required by accountants; nor does it model receipts or other sources of federal revenue; nor does it model borrowing authority; nor does it attempt to model all budget- and spending-related communication among agencies, the Treasury Department, and the Office of Management and Budget.

Transparent Data Practices

Background

This section is informative, not normative.

In order to understand the data of interest, it is necessary to understand something of the budgetary process.

  1. Executive:
    1. President proposes a budget.
  2. Legislative:
    1. Congress creates its own budget through House and Senate resolutions. (See the Conceptual Data Model of Formal Legislative Processes in the U.S. Federal Government for these resolutions.)
    2. Congress creates Budget Authorities in law, which direct that money should be spent for a particular purpose.
  3. Executive:
    1. Treasury Warrant Issuance: The Financial Management Service (FMS) of the Treasury Department and the Office of Management and Budget (OMB) come to agreement on which Treasury Accounts fund which Budget Authorities and issue Treasury Warrants to Agencies for all Bureau-level accounts under their purview. This creates a balance in the Treasury Account which can fund Bureau spending.
    2. Apportionment: The OMB informs individual Agencies how much of their Warrant they may spend per financial quarter. Agencies then apportion this amount to their Bureau-level accounts.
    3. Allocation: Bureaus allocate resources to Programs which serve a given Budget Authority.
    4. Obligation: Agencies and Bureaus, through Programs, enter into various kinds of legally-binding agreements (obligations) which will be satisfied by outlays.
    5. Outlay: Money transfers are executed to liquidate obligations.
    6. Reporting: The OMB reports expenditures by Budget Authority and makes recommendations to Congress for future Budget Authorities.

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)

ExecutiveAgent
Abstract Entity representing an agent responsible for executing an Authority.
«ExecutiveAgent» Agency
A federal agency.
«ExecutiveAgent» Bureau
A bureau of a federal agency.
Program
A federal program overseen by a Bureau.
Project
A federal project overseen by a Program.
Authority
Abstract class specifying a proposed, existing, or terminated authority to obligate funds. When a new Authority replaces an older Authority, the older authorities are referenced through the previousAuthority property.
PresidentialBudget
Represents a presidential budget Appendix. This Entity is a container for budget reports.
PresidentialBudgetReport
Represents an individual report in a presidential budget Appendix. Reports are organized by Authority.
OutlayEstimate
Represents an estimate of spending in a fiscal year for a Budget Authority. The amounts specified are not actually part of the Budget Authority and are purely informational data found in budget documents.
AppropriationWarrant
An amount of funds assigned by the Treasury into a treasury account to serve a particular Authority which was the result of appropriating legislation.
Apportionment
An instruction from the OMB to an agency about how much an ExecutiveAgent may spend from a treasury account in service of an Authority within a given period of time.
Allocation
A division of an Apportionment by an ExecutiveAgent into Programs or Projects.
Obligation
An abstract class representing a binding agreement or statutory requirement that will result in outlays immediately or in the future.
«Obligation» Award
An abstract class representing an agreement between the federal government and a non-federal Entity for deliverables rendered to the federal government. Refer to [USASpending.gov](http://www.usaspending.gov/learn?tab=About%20the%20Data) for more information on these fields. Awards are typically referred to as “discretionary spending” because the authority to obligate funds is an appropriation by congress.
«Award» Procurement Contract
An Award which acquires a good or service for the exclusive use or benefit of the Federal Government.
«Award» Grant
An Award which produces a good or service which is not for the exclusive use of the Federal Government. If the use of the good or service is partially shared by the Federal Government, it may be called a Cooperative Agreement; otherwise it is a Grant.
«Obligation» Salary
An Entity representing an aggregate of salary and wage obligations to Federal Employees.
«Obligation» DirectPayment
An Entity representing some aggregate of direct payments paid to individuals. This includes entitlement obligations (Retirement, Disability, Medicare, Unemployment, etc.) DirectPayments are typically referred to as “mandatory spending” because the obligation is required by statue.
«Obligation» Other
An Entity representing other unclassified Obligations, such as insurance and loans.
Outlay
Spending in execution of an Obligation.
Party
The recipient of an Outlay or party to an Obligation. This may include federal entities, state entities, federal employers, contractors, grant recipients, foreign countries, which should be expressed by subclasses of this Entity as necessary.

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-readability.

authoritystatus_enum
dollarorindefinite
A specific dollar amount, or “indefinite” if no dollar amount is specified.
dateorindefinite
A specific calendar date, or “indefinite” if no date is specified.
ombagencycode
A three or five digit number that indicates a specific Agency or Bureau. The first three digits indicate an Agency; the last two indicate a Bureau of that Agency. These include Legislative and Judicial branch “Agencies” and “Bureaus”. There is a mapping between ombagencycode and treasuryagencycode.
treasuryagencycode
A two-digit number that indicates a specific Agency or Bureau. These include Legislative and Judicial branch “Agencies” and “Bureaus”. There is a mapping between ombagencycode and treasuryagencycode.
treasuryaccountid
Uniquely identifies a Treasury account.
authoritysourceclass_enum
A one- or two-character code indicating the type of document which created a Authority.
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.
presidentialbudgetreporttext (markuptype)
The text of a presidential budget report. Authority, agency, bureau, schedules, treasury accounts, functional classification, object classifications, and receipts should be easily extractable from a presidentialbudgetreporttext document.