2.5.5 Guidelines for Preparing Program Requirements Packages (PRPs)

Introduction to Guidelines

  1. These guidelines prescribe responsibilities and standard instructions for preparing PRPs for the data processing systems.

Scope of the Guidelines

  1. These guidelines are limited to those activities involved in the preparation, compilation, approval, coordination, and analysis of PRPs.

Terminology of Guidelines

  1. A PRP denotes terminal input and output, data specifications and related processing criteria required for the development and documentation of computer programs.

Reference Documents

  1. The following documents have been referenced in this IRM:

    1. IRM Handbook 1.3 Disclosure of Official Information Handbook

    2. IRM 2553.13 Data Naming Standards Guidelines Handbook

    3. IRS Document 1536 Document Management Process Procedures Handbook

    4. Document 7986 Naming Standards

    5. IRS Document 9473 Requirements Management Request for Information Services

    6. SIB S-98-5-1 Documentation Standards for a Record Layout (07-98)


  1. Internal Revenue Manuals can be found on the Multimedia Production Division website.

  2. Electronic copies (Microsoft Word) will be provided to the Document Clearance Points-of-Contact for forwarding to their respective areas.

  3. Paper copies are provided to all on the Publication Distribution List.


  1. This handbook incorporates SIB S- 00-01-02 Guidelines for Preparing Program Requirements Packages.


  1. Analysts and the Software Quality Group have the following key responsibilities:

Software Quality Group Responsibilities

  1. The Software Quality Group (SQG) will assign PRP numbers.

Analyst Responsibilities

  1. For each PRP assigned to an analyst, the analyst will:

    1. Notify the SQG whenever a PRP is transferred to a new analyst. Instructions for notifying the SQG are located on the Software Quality Group Website.

    2. Obtain a section number for each new PRP from the Software Quality Group.

    3. Maintain an up-to-date version of all PRPs

    4. Maintain all "Unrestricted" PRPs on PC-DOCS. Instructions for using PC-DOCS are detailed in Document 1536 located in PC-DOCS or via the SQG Home Page

    5. Do not place "Restricted" PRPs on PC-DOCS due to their legal nature. Developers must maintain their own version control for Restricted PRPs.

    6. Consolidate programming requirements to eliminate redundancy wherever possible.

    7. Coordinate with other specialists responsible for projects that interact with their area. In some cases, this may involve holding meetings or writing memoranda to all affected computer specialists and program analysts.

    8. Continue coordination efforts with computer specialists, systems analysts and program analysts throughout the development and testing of computer programs.

    9. When making changes to a PRP, highlight the changes, include a "Nature of Change Page" as the first page of the document (Refer to Exhibit and transmit a complete new version of the PRP to PC-DOCS.

    10. Coordinate the necessary changes with Product Assurance.

    11. Follow the guidelines as written in the existing IRM Handbook 1.3 (Disclosure of Official Information) Subsection 12 and other internal memoranda when deciding to use the `Official Use Only` classification.

PRP Content

  1. Prepare and assemble PRPs in the following format:

Heading Project

  1. On each page of the PRP provide a heading that includes the Project, Title, Organization Code, Analyst, Title, PRP Number/ Section, Operating Period (e.g. specific start and end dates, calendar year, fiscal year, specific date, cycle, etc.) and Revision Date. Refer to Exhibit

  2. Only update the Revision Date when making a non-editorial change. For example, if a PRP were changed to correct misspelled or misused words, these changes would not require a new revision date. However, if the PRP were changed to add or remove program functionality, the change would require a new revision date.

  3. If a PRP is unchanged, update the Operating Period to the current year.

Page Number

  1. Record a page number on each sheet in the lower right-hand corner. Make the first digits the number of the PRP section. Follow this section number by a dash (-). Follow the dash by the consecutive sequence number of the sheet as it occurs among the pages of the section. Thus, the page numbers of a Section 5 PRP would be numbered "5-1" , "5-2" , etc. Section 42, for example, would be numbered "42-1" , etc. Do not number the Nature of Change Page.


  1. Include the following subsections in each PRP section:

Subsection 00
  1. Flowchart - Provide a flowchart that includes inputs, outputs, processes of the system and major machine functions. Preferably, use a tool such as VISIO. Include a narrative description.

  2. Scope - Provide a brief outline of procedural areas and organizational units involved in the PRP. In the scope indicate the relationship of this package to others, especially where the input from others affects this one, or the output from this one affects others. As appropriate, limit the scope by indicating those processes excluded.

  3. Work Schedule Limitations - Include statements regarding production cycles, data volumes and retention periods. When major changes are made, include statements regarding any differences between the initial and subsequent work schedule limitations. For example, the frequency of processing, such as weekly, biweekly, etc. is necessary when establishing work schedule limitations.

  4. Effective Date - This is the date the program effected by the PRP is run.

  5. (5) Definitions - Define all terms used in the PRP that are applicable to all sections. Define those terms that may have different (or more precise) meanings in other PRPs.

Subsection 01
  1. Include Input Record Element Specifications (RES) and/or RES Supplement, if necessary. The RES and RES Supplement may be omitted, if a sufficiently detailed Core Record Layout (CRL) is used.

  2. NOTE: The CRL is always required but separately maintained in PC-DOCS. Refer to SIB S-98-5-1 Documentation Standards for a Record Layout (07-98.)

Subsection 02
  1. Each Process Criteria must have its own Subsection number.

  2. Include the Process Criteria in narrative form. Use the following paragraphing pattern: X.02 A.(1)(a)1.a. where X is the PRP Section Number, .02 is the subsection number, etc. The Process Criteria will include the following:

    1. Input - Identify the data and files entering the process.

    2. Controls-those manual and automated measures employed to safeguard asset-related or otherwise sensitive data, and check on the accuracy and reliability of a computer system. The Controls statement is mandatory in all PRP sections. Indicate "no controls" if appropriate.

    3. Processing (validity checks, error messages, computations, posting criteria, etc. required to adequately document and explain the program.)

    4. Output - Identify the data and files exiting the process.

    5. Distribution - Specify the recipient of error files, controls, reports, etc.

    6. Runs/Programs - Identify the Runs/Programs affected by the process.

Subsection 03
  1. Include the Output Record Element Specifications. Describe all outputs including their elements. Refer to Exhibits and as well as Subsection 01.

PRP Changes

  1. Modify the PRP as needed. Modifications to a PRP are usually required because of a RIS, System Acceptability Test or field problem referral. Change the written material for clarification or other editorial purposes (use a maintenance number to document editorial changes).

  2. Do not transmit partial revisions. Transmit the entire PRP each time changes are made. Transmit the PRP to Product Assurance and production (if applicable).

Record Element Specifications

  1. Prepare the Record Element Specifications and RES Supplement (when needed, refer to Exhibits and for each input and output record.

Element Number

  1. Assign numbers sequentially beginning with one (1) for each element in the record. When necessary, identify each component of the element with a decimal element number; e.g., Date-Month = E4.1, Date-Day = E4.2 and Date-Year = E4.3 for the MMDDYYYY format.

Record Element Name

  1. Enter the name of the element. Use unique names throughout your PRP. When referring to a record element elsewhere, use its name followed by "RnEn."


  1. Enter the acceptable abbreviation if that abbreviation is widely understood, e.g., IRS for Internal Revenue Service; otherwise, spell it out the first time it is used in the PRP. Refer to Document 7986 Data Naming Standards and Document 7931 Acronyms & Terms or IRM 2553.13 Naming Standards Guidelines for guidance in creating new abbreviations, acronyms, or terms.


  1. Enter the line number only when a printed record is involved. If it is not a printed record, leave blank.

Fixed or Variable

  1. Enter "F" or " V" depending upon whether the field is fixed or variable length The length of a Fixed Length field is always constant and always appears in the same position. The length of a Variable Length record will be no longer than the amount of information to be recorded.

Significant Characters or Positions

  1. Enter the total number of characters for this element under "MAX."

Decimal Position

  1. ) Identify the number of decimal positions.

    1. For unformatted fields, do not count the decimal point in the field size as it will not occupy a character position. For example: a four-digit unformatted number with a one digit decimal would be entered as nnn.n. A four-digit number with no decimals would be written as nnnn.

    2. For formatted fields, the decimal position do not count. Do not make an entry in this space when the decimal point actually occupies a character position. For example: the record contains a 10-position money amount; the last two digits are cents but the decimal point does not take up a character position; in this situation, the decimal position would be N.

  2. Display the character by character representation of the element being described. Use one of the following character types:

    1. Use "a" for alphabetic (A through Z) character

    2. Use "b" for blanks or fixed spaces

    3. Use "n" for numeric (0 through 9) characters

    4. Use "v" for variable alpha/numeric or special characters

  3. Do not leave an empty space between character positions. When a fixed space is required, enter "b" . For example, format "v nnn" as "vbnnn." Represent an element with a leading blank as "bn" or " bvbnnn."

  4. Use two dashes (-- in the element to denote continuation. For example: if the element is 20 positions and numeric, then enter n-n.

  5. When the same character always occupies the same position in a printed report, identify that character specifically in the format. For example, SSN may be represented as nnn-nn-nnnn.

Valid Range of Codes or Values

  1. Indicate the legitimate range of codes (e.g., 50-89) or specific code values (e.g., b, 1, 2) that are possible for this element.

  2. (2) Interpret these codes or values on the RES Supplement (e.g., b= No hold action, 1=hold refund, 2= hold notice.)

Element Explanations

  1. Use this portion to further define/describe the elements.

PRP Numbering

  1. Use the following rules when designating PRP numbers.

General Rules

  1. Use the First Digit to refer to the file

    1. 1 = BMF (Business Master File)

    2. 2 = EPMF (Employee Plan Master File)

    3. 3 = EO (Exempt Organization) Preexisting PRPs (which may not have "3" in the first digit need) not be changed. New numbers must comply.

    4. 4 = IMF (Individual Master File)

    5. 6 = IRAF (Individual Retirement Account Master File)

    6. 7 = EXTRACTION

    7. 9 = NMF (Non-Master File)

  2. Use the Second and Third Digits to refer to the type of processing.

    1. 30 = MCC (daily)

    2. 60 = MCC (weekly)

    3. 80 = MCC (periodic). Preexisting PRPs numbers need not be changed, but new numbers must comply.

Other Rules

  1. In addition to those PRPs mentioned above, some do not fit the general rules shown here. Usually these PRPs contain only one project. In these cases, the Project Number and PRP Number are the same, e.g., PRP 741 (ISRP)