U.S. Department of Health and Human Services
PDF Version (69 PDF pages)
This report was prepared under contract #HHS-100-94-0016 between the U.S. Department of Health and Human Services (HHS), Office of Disability, Aging and Long-Term Care Policy (DALTCP) and the Lewin Group. For additional information about the study, you may visit the DALTCP home page at http://aspe.hhs.gov/_/office_specific/daltcp.cfm or contact the ASPE Project Officer, John Drabek, at HHS/ASPE/DALTCP, Room 424E, H.H. Humphrey Building, 200 Independence Avenue, SW, Washington, DC 20201. His e-mail address is: John.Drabek@hhs.gov.
In September of 1988, the Office of the Assistant Secretary for Planning and Evaluation (ASPE) contracted with Lewin-ICF and the Brookings Institution to develop a public use version of the Brookings/ICF Long Term Care Financing Model. Using microsimulation techniques, the model projects the utilization and sources of financing for nursing home and home care services among the elderly to the year 2020.
Under this contract, many of the assumptions used in the model were revised to reflect data and findings that had recently become available. As the need for alternative policy simulations arose, the capabilities of the model were expanded. Examples of the types of simulations modeled include: the purchase of new private long term care insurance products; the use of pension funds to purchase long term care insurance; and publicly sponsored programs, such as the long term care benefits proposed by the Pepper Commission.
One of the products of this project is a public use version of the model code and accompanying documentation. The documentation includes:
Model Assumptions, which presents the assumptions used in developing the model.
Designing and Using Model Simulations, which presents assumptions used in modeling alternative proposals and using the results of the model.
A User's Guide to Specifying Simulations, which details how to specify simulations using the model's parameters.
A Programmer's/Operator's Manual, which shows the code structure and operation of the model.
This report is one of four related to the Brookings/ICF Long Term Care Financing Model. It outlines the programming logic, input and output data sets, and running the model. The three other documents discuss: 1) the assumptions used in developing the model; 2) assumptions used in modeling alternative proposals; and 3) using the results of the model, and how to specify simulations using the model's parameters.
This documentation was prepared by Peter Robertshaw, a subcontractor to Lewin-ICF and Lisa Maria B. Alecxih of Lewin-ICF. John Drabek, serving as the project officer, and Paul Gayer of the Office of the Assistant Secretary for Planning and Evaluation provided invaluable comments.
This report was developed as part of the documentation of a public
use version of the Brookings/ICF Long Term Care Financing Model for the Office
of the Assistant Secretary for Planning and Evaluation. Other reports in this
series include:
Copies of the reports may be obtained by writing
to: Brenda Veazey Department of Health and Human Services Room 424E, Humphrey Building 200 Independence Avenue, S.W. Washington, D.C. 20201 |
This document is intended to assist programmers/operators in the use of the Brookings/ICF Long Term Financing Model. Section I of this document is a description of the model. This description presents a brief overview of the model's purpose and a brief description of the programming logic at a subroutine level.
Section II and Section III of this document describe in detail the input and output data sets used by the model. Section IV discusses the editing, compiling, linking and running of the model from an operator's viewpoint. Sample JCL and DCL batch files are included to assist in the setup of the model. Section V gives details on the job control file (LTC2.CON) which is used to control important user-variable aspects of the simulation.
Section VI describes two utility programs for use with the model. The first is a table extraction utility, which gives the user the ability to extract a specified list of tables, suitable for printing or down-loading and importing into a PC-based spreadsheet. The second utility checks two parameter files and reports any differences between them.
Finally, Section VII describes a FORTRAN program that converts an optional data set produced by the model into a person level file from which tabulations may be produced.
The Brookings/ICF Long Term Care (LTC) simulation model simulates the utilization and financing of both institutional and noninstitutional long-term care services for elderly individuals through the year 2020. Institutional services include nursing home care provided by skilled nursing facilities and intermediate care facilities. Noninstitutional services include home health, homemaker, choremaker, personal care, and meal preparation services. The model simulates the number of individuals receiving these services and the costs of these services as financed by various public and private sources. The overall objective of the model is to simulate the effects of various financing and organizational reform options on future public and private expenditures for nursing home and home care services.
The model begins with a nationally representative sample of the adult U.S. population. Each member of this sample population is assigned a weight value which, when aggregated, will approximate the total U.S. population in terms of both number of persons and demographic (i.e. age, sex, etc.) characteristics. Each record in the sample database contains information on a person's age, sex, marital status, income, assets, and other characteristics. The model simulates changes for each individual in the sample population from 1986 to 2020, simulating changes in age, economic status, disability status, utilization of long term care, and method of paying for such care.
The model uses a Monte Carlo simulation methodology. The model simulates changes in an individual's status by drawing a random number between zero and one and comparing it to the fixed probability of that event occurring for an individual with a given set of socio-demographic characteristics. In order to produce consistent results between runs, the random numbers used are drawn from a permanent datafile so that each time the model is run, the same random number is used for each decision made.
The model can be used to simulate long-term care financing assuming changes in private payment methods (such as increased purchase of private long-term care insurance), or new public financing programs. These simulations are greatly affected by the choice of assumptions about the economy (such as the rate of growth of the overall economy and nursing home prices) and individual behavior (such as rates of nursing home utilization and insurance purchase). The model can be used to make estimates using alternative assumptions to show how sensitive the results are to the assumptions chosen. Many of the possible assumptions and options are parameterized to allow for easy model operation.
The code structure for the Brookings/ICF Long Term Care Financing model is relatively straight forward. At its simplest level, the program consists of the main line program which calls a variety of subroutines to perform specific tasks. The main line program may be broken down into three sections (see Figure 1): initialization, data processing and reporting.
The initializing step sets up many of the arrays used in the model calculations, including defining tax rates, inflation factors, and poverty levels. Arrays used for accumulating and reporting functions are initialized to zero in this step.
The next step is the data processing loop. This loop is executed once for each record in the database. Intermediate arrays are initialized and then the annual cost loop is entered. This loop is performed for each individual for every year from 1980 to 2025. Within each year the routine checks for nursing home use, sets up random numbers used in the simulation, performs any 'special case' scenarios, checks for insurance availability, calls the costs calculation routines, stores costs in appropriate arrays, and calls the table accumulation routines.
The final step in the program is the reporting step. In this step, the main line programs calls a series of subroutines which total the accumulation arrays and print out the summary tables to the output file. This step is executed after processing the last record in the database.
The following tables describe the main line and each of the FORTRAN subroutines in the model. The description includes a listing of which routines call, or are called by, each subroutine. The main line program description is first, followed by each of the subroutines in alphabetical order.
![]() |
TABLE 1. Subroutine Descriptions | |||
---|---|---|---|
Routine | Description | Calls: | |
Main (LTC2) | This routine performs data initialization, then loops over (i.e. reads) every record in the database. For each record, this routine loops over every year from 1980 to 2025. Within each year of the simulation, the routine checks for nursing home use, sets up random numbers used in the simulation, performs any 'special case' scenarios (hard coded), checks for insurance availability, calls the cost calculation routines, stores costs in appropriate arrays, and calls the table accumulation routines. After processing all the records in the database, this routine calls the table printing routines and then ends the program | Called By: | - |
Calls: | PARAIN RWJXXX SETUP ZILCH1 ZILCH3 ZIL256 DPPAX TAB38 NISPRB TAB44 RINDV FIXP FIXNI FIXS MOVR MOVRNI GETRAN GETAST TAXCLC SMI WEIGHT INSURE HAWCC SSI YRCOST TBL256 HAWACC TBLPJA W2020 WRITR ACCUM OUTER SSAC SSOUT ZILCH2 HAWTAB OOPS OUT256 TABLES TBLPJO |
||
AARPA | Subroutine AARPA accumulates data reported in Table 30, 35 and 36. | Called By: | ACCUM |
Calls: | WEIGHT | ||
AARPT | Subroutine AARPT prints out Tables 30, 35 and 36. | Called By: | PERTAB |
Calls: | PRUDU | ||
ACCUM | Subroutine ACCUM accumulates data for many of the nursing home tables (i.e. Tables 1-10). Initiates calls to various other accumulation routines. | Called By: | MAIN |
Calls: | PERACC GAYACC AARPA WEIGHT OUTER BACCUM |
||
ACCYR | Subroutine ACCYR accumulates both nursing home and non-institutionalized monthly costs into an annual data grid. | Called By: | YRCOST |
Calls: | - | ||
BACCUM | Subroutine BACCUM accumulates data for many of the non-institutionalized tables (i.e. Tables 11-20). | Called By: | ACCUM |
Calls: | WEIGHT OUTER |
||
CAPG | Subroutine CAPG calculates capital gains tax liability. | Called By: | TAXCLC |
Calls: | - | ||
CATAVL | Subroutine CATAVL determines the amount of income and assets that is available for nursing home payments under the catastrophic coverage act of 1989. | Called By: | MMCOST |
Calls: | - | ||
CCGRID | Subroutine CCGRID controls the monthly calculation of costs for both nursing home and non-institutionalized services. The routine loops over the months in the year, collects information on whether or not the individual is covered by insurance, checks against deductibles/maximums as applicable, adjusts assets, and calls the routines that do the actual cost calculations. The routine then assigns all costs to the appropriate data grids. | Called By: | YRCOST |
Calls: | SSI PUBLIC MMCOS2 MMCOST |
||
CHKNUM | Subroutine CHKNUM checks input parameters that are required to be within specified ranges. | Called By: | PARAIN |
Calls: | - | ||
COMMA | Character function COMMA is used to format output fields with embedded commas. | Called By: | All tabling routines |
Calls: | - | ||
CRDOUT | Subroutine CRDOUT is used to dump out individual and spouse data for the credited contribution scenarios. Not currently called by the model (used for debugging purposes only). | Called By: | - |
Calls: | - | ||
DPPAX | Subroutine DPPAX initializes, accumulates and prints out Table 37 (distribution of pension plan assets by age and family income for 1990). | Called By: | Main |
Calls: | - | ||
ENTRY | Subroutine ENTRY parses each line of the users input parameter file. This routine is called once for every line in the file. | Called By: | PARAIN |
Calls: | IDIG | ||
FIXNI | Subroutine FIXNI initializes the non-institutional data array for each year of the simulation. | Called By: | MAIN |
Calls: | - | ||
FIXP | Subroutine FIXP initializes the individuals data array for each record. | Called By: | MAIN |
Calls: | - | ||
FIXS | Subroutine FIXS initializes the spouses data array for each record. | Called By: | MAIN |
Calls: | - | ||
GAYACC | Subroutine GAYACC accumulates data for tables G1 through G5, comparing average income and social security income between nursing home residents, non-residents and all elderly. | Called By: | ACCUM |
Calls: | WEIGHT | ||
GAYOUT | Subroutine GAYOUT prints out Tables G1 through G5. | Called By: | PERTAB |
Calls: | - | ||
GETAST | Subroutine GETAST uses the 1984 SIPP databases to impute financial and home equity assets to each individual and spouse. It is called once per record when the individual reaches age 65. | Called By: | MAIN |
Calls: | - | ||
GETLOS | Subroutine GETLOS fills in the nursing home length of stay array and disability arrays used throughout the model. | Called By: | RINDV |
Calls: | - | ||
GETRAN | Subroutine GETRAN looks up an array of pseudo-random numbers seeded by the individuals index number. | Called By: | MAIN |
Calls: | - | ||
HAWACC | Subroutine HAWACC accumulates population counts, incomes, and health care expenditures for reporting in Tables A, B, C and D. | Called By: | MAIN |
Calls: | - | ||
HAWCC | Subroutine HAWCC calculates credited and non-credited contribution amounts for the credited contribution universal scenario. | Called By: | MAIN |
Calls: | WEIGHT | ||
HAWFIL | Subroutine HAWFIL constructs a replacement person from the current record. | Called By: | RINDV |
Calls: | - | ||
HAWTAB | Subroutine HAWTAB creates totals and prints out Tables A, B, C and D. | Called By: | MAIN |
Calls: | WEIGHT | ||
HAWYES | Subroutine HAWYES sets flags which are used to determine whether or not a replacement person is to be constructed from the current record. | Called By: | RINDV |
Calls: | - | ||
IDIG | Integer function IDIG checks to see if a character is a valid numeric. It is used in the parsing of the input parameter file. | Called By: | ENTRY |
Calls: | - | ||
INGRID | Subroutine INGRID constructs part of the data grid used to report the annual non-institutionalized costs. | Called By: | YRCOST |
Calls: | - | ||
INSURE | Subroutine INSURE determines the insurance status of the individual/spouse. If a person does not have insurance, the routine determines if they are eligible to buy, looks up the appropriate premium, checks for reduced premiums and tax credits, looks up the probability of buying insurance based on asset level, worker status, and percent of income of premium, adjusts the probability by any underwriting function or poor elderly assumptions, then compares this probability to a random number to determine whether insurance is purchased. After purchase, the routine defines benefits for every year from the purchase year to 2025. If a person already has insurance, the routine will determine whether they keep it by checking the current premium against the defined lapse probabilities. | Called By: | MAIN |
Calls: | - | ||
ITABON | Integer function ITABON checks whether or not to print out a given table (depends on input parameters). | Called By: | Many tabling |
Calls: | - | ||
ITEM | Subroutine ITEM looks up itemized deductions in the calculation of federal tax liability. | Called By: | TAXCLC |
Calls: | - | ||
MKGRD2 | Subroutine MKGRD2 completes the construction of the data grid used to report the annual non-institutionalized costs. | Called By: | YRCOST |
Calls: | - | ||
MKGRID | Subroutine MKGRID constructs part of the data grid used to report the annual nursing home costs, including distributing the length of stay over the required number of months, and assigning days covered by Medicare to each month. | Called By: | YRCOST |
Calls: | - | ||
MMCOS2 | Subroutine MMCOS2 calculates the monthly cost of a non-institutionalized visit. The routine sets the monthly cost and then determines how that cost is divided between public policy payments, long term care insurance, Medicare, cash, assets, other payor and Medicaid. The routine is called once for every month a person is receiving non-institutionalized services. | Called By: | CCGRID |
Calls: | - | ||
MMCOST | Subroutine MMCOST calculates the monthly cost of a nursing home stay. The routine sets the monthly costs, and then determines how that cost is divided between public policy payments, long term care insurance, Medicare, cash, assets, and Medicaid. The routine is called once for every month a person is in a nursing home. | Called By: | CCGRID |
Calls: | CATAVL | ||
MOVR | Subroutine MOVR moves nursing home data into position before processing. | Called By: | MAIN |
Calls: | - | ||
MOVRNI | Subroutine MOVRNI moves non-institutional data into position before processing. | Called By: | MAIN |
Calls: | - | ||
NEWTAB | Subroutine NEWTAB prints out Tables 21, 22, and 23. | Called By: | TABLEB |
Calls: | PERTAB | ||
NISPRB | Subroutine NISPRB determines whether or not an individual/spouse uses formal or informal non-institutionalized services. The probability of use is based on age, marital status, family income, disability status and sex of the person. The routine defines what type of non-institutionalized services are received, how long (days) they are received for, type of payments used for financing the visits, and number of visits. | Called By: | MAIN |
Calls: | - | ||
OOPS | Subroutine OOPS initializes, accumulates, and prints Tables 51-53. | Called By: | MAIN |
Calls: | - | ||
OUT256 | Subroutine OUT256 performs calculations on the arrays containing data for Tables 25 and 26. | Called By: | MAIN |
Calls: | - | ||
OUTER | Subroutine OUTER dumps out personal data, nursing home data and non-institutional data for an individual. It is used for debugging purposes. | Called By: | MAIN PERACC |
Calls: | ACCUM BACCUM |
||
PARAIN | Subroutine PARAIN reads in the users input parameter file. Each line of data entered is checked for validity and against pre-defined ranges. Logic checks between parameters are also performed. | Called By: | MAIN |
Calls: | ENTRY CHKNUM PERCENT |
||
PERACC | Subroutine PERACC accumulates data reported in Tables 24 through 29. | Called By: | ACCUM |
Calls: | WEIGHT OUTER |
||
PERTAB | Subroutine PERTAB prints out tables 24 through 29. | Called By: | NEWTAB |
Calls: | GAYOUT AARPT |
||
PERCNT | Subroutine PERCNT checks input parameters that are required to add to 100% | Called By: | PARAIN |
Calls: | - | ||
PRUDU | Subroutine PRUDU prints out Tables 31, 32, 33, and 34. | Called By: | AARPT |
Calls: | - | ||
PUBLIC | Subroutine PUBLIC determines whether or not an individual is eligible for public programs. The routine checks against age and availability, deductibles, and maximum dollar amounts. | Called By: | CCGRID |
Calls: | - | ||
RANSET | Subroutine RANSET reads in the random number database and stores it in two arrays which are ready for access from the model. | Called By: | SETUP |
Calls: | - | ||
READAS | Subroutine READAS reads in the asset and home equity databases as well as the probability database used to assign assets and home equity to individuals. The assets, home equity and probability databases were created from the 1984 SIPP. | Called By: | SETUP |
Calls: | - | ||
REAGE | Subroutine REAGE initializes the individual and spouse pension income arrays, and then calculates annual pension incomes based on information in the PRISM defined benefit and defined contribution arrays. | Called By: | RINDV |
Calls: | - | ||
RINDV | Subroutine RINDV reads in the input database file (i.e. the output file from the PRISM model). This routine also initiates the construction of the replacement population set (i.e. synthetic person level data for person aged less then 25 in 1979) if required by the input parameters. | Called By: | MAIN |
Calls: | REAGE GETLOS HAWFIL HAWYES |
||
RWJXXX | Subroutine RWJXXX initializes, accumulates and prints tables RWJ1 and RWJ4. It is used in a special case that adjusted each individuals assigned weight according to age, sex, marital status, nursing home use, disability status, and average social security benefit at age 65. | Called By: | MAIN |
Calls: | - | ||
SETD | Subroutine SETD initializes double precision arrays to a given value (usually zero). | Called By: | Many routines |
Calls: | - | ||
SETUP | Subroutine SETUP initializes many of the arrays used in the model calculations, including defining tax rates, inflation factors, and poverty rates. It includes the calls to read in the asset level and probability files, and set-up of the random numbers. | Called By: | MAIN |
Calls: | READAS RANSET TAXSET |
||
SMI | Subroutine SMI calculates additional taxes. | Called By: | MAIN |
Calls: | - | ||
SSAC | Subroutine SSAC initializes, accumulates and prints the income/assets of the aged tables (Table 45-48) | Called By: | MAIN |
Calls: | SETD | ||
SSI | Subroutine SSI calculates federal and state monthly SSI income. | Called By: | MAIN |
Calls: | CCGRID | ||
SSOUT | Subroutine SSOUT converts the model output to a special format required for use with TPL. | Called By: | MAIN |
Calls: | - | ||
STCALL | Subroutine STCALL calculates an individuals state tax liability given a federal tax liability. | Called By: | TAXCLC |
Calls: | - | ||
TAB38 | Subroutine TAB38 initializes, accumulates and prints out Tables 38 through 43. | Called By: | MAIN |
Calls: | - | ||
TAB44 | Subroutine TAB44 initializes, accumulates and prints out Table 44. | Called By: | MAIN |
Calls: | - | ||
TABLEB | Subroutine TABLEB prints out many of the non-institutionalized tables (i.e. tables 11 through 20). | Called By: | TABLES |
Calls: | ZILCH2 NEWTAB |
||
TABLES | Subroutine TABLES prints out many of the nursing home tables (i.e. Tables 1-10). It initiates call to non-institutionalized table routines. | Called By: | MAIN |
Calls: | ZILCH2 TABLEB |
||
TAXCLC | Subroutine TAXCLC begins the process of looking up the tax liability of the individual and spouse. | Called By: | MAIN |
Calls: | CAPG ITEM TAX STCALL |
||
TAXSET | Subroutine TAXSET creates the tax tables that are used to calculate federal and state income taxes based on income level. | Called By: | SETUP |
Calls: | - | ||
TAX | Subroutine TAX uses the tax tables created in TAXSET to look up an individuals tax liability for the current year. | Called By: | TAXCLC |
Calls: | - | ||
TBL256 | Subroutine TBL256 accumulates data for reporting in Table 25 and 26. | Called By: | MAIN |
Calls: | - | ||
TBLPJA | Subroutine TBLPJA accumulates data for reporting in the PJE series of tables. | Called By: | MAIN |
Calls: | - | ||
TBLPJO | Subroutine TBLPJO prints out the PJE series of tables. | Called By: | MAIN |
Calls: | - | ||
W2020 | Subroutine W2020 adjusts length of stays for persons entering nursing homes in 2019 and 2020. | Called By: | MAIN |
Calls: | - | ||
WEIGHT | Subroutine WEIGHT multiplies an individuals PRISM weight by adjustment factors to make population totals match 1986 base year data and projected data. Includes division of weight as required by the iteration parameter. | Called By: | MAIN HAWCC PERACC GAYACC AARPA ACCUM BACCUM HAWTAB |
Calls: | - | ||
WRITR | Subroutine WRITR writes out personal data, nursing home data and non-institutional data for an individual to the optional output data file. | Called By: | MAIN |
Calls: | - | ||
WTBAFF | Subroutine WTBAFF dumps out specified common block data. It is not currently called in the model (it is used for debugging purposes only and produces large quantities of output). | Called By: | - |
Calls: | - | ||
WTGRD2 | Subroutine WTGRD2 dumps out information on each persons non-institutionalized stay each year. It is used only for de-bugging purposes. | Called By: | YRCOST |
Calls: | - | ||
WTGRID | Subroutine WTGRID dumps out information on each persons nursing home stay each year. It is used only for de-bugging purposes. | Called By: | YRCOST |
Calls: | - | ||
YRCOST | Subroutine YRCOST begins the process of calculating the annual cost of staying in a nursing home or receiving non-institutionalized services. It is called once per year per individual. | Called By: | MAIN |
Calls: | INGRID MKGRID MKGRD2 WTGRD2 WTGRID CCGRID ACCYR |
||
ZIL256 | Subroutine ZIL256 initializes a series of output table accumulation arrays to zero. | Called By: | MAIN |
Calls: | - | ||
ZILCH1 | Subroutine ZILCH1 initializes a series of output table accumulation arrays to zero. | Called By: | MAIN |
Calls: | - | ||
ZILCH2 | Subroutine ZILCH2 initializes a series of output table accumulation arrays to zero. | Called By: | MAIN |
Calls: | TABLEB TABLES |
||
ZILCH3 | Subroutine ZILCH3 initializes a series of output table accumulation arrays to zero. | Called By: | MAIN |
Calls: | - |
In addition to the FORTRAN subroutines described above, the model also makes extensive use of three assembler language subroutines described in Table 2. IBM and VAX versions of these routines currently exist.
TABLE 2. Assembler Subroutine Descriptions | |||
---|---|---|---|
Routine | Description | Calls: | |
RDCH77 | This routine performs a very fast, unformatted read. This routine is invoked with: CALL RDCH77 (I,A,LEN,*900), where I is the logical unit number to which the data set to be read is attached, A is an array with sufficient dimensions to hold a record of data, LEN is the length of the record read by RDCH77 (i.e. the subroutine returns this value), and 900 is the FORTRAN statement number that is executed after an end-of-file return code is received. | Called By: | RINDV |
Calls: | - | ||
RJS201 | This routine performs a byte copy operation on the specified arrays. This routine is invoked as follows: CALL RJS201 (NB,A1,NS1,A2,NS2), where NB is the number of bytes to be copied, A1 is the array from which the bytes are to be copied, NS1 is the starting byte for the copy operation, A2 is the array to which the bytes are copied, and NS2 determines the position in A2 to which to bytes are copied. | Called By: | MOVR MOVRNI WRITR W2020 GETRAN |
Calls: | - | ||
SETX | This routine initializes an array to a specified value. The call for this routine is: CALL SETX(A,N,V), where A is the name of the array to be initialized, N is the number of words to be initialized, and V is the value to which the array is to be initialized. Note that A and V can be either real or integer. | Called By: | MAIN RINDV SETUP YRCOST CCGRID FIXP FIXS FIXNI TAXSET REAGE PARAIN ENTRY ACCUM BACCUM PERACC WEIGHT AARPA RWJXXX |
Calls: | - |
Table 3 lists the input data sets required to run the model.
TABLE 3. Model Input Data Sets | |||
---|---|---|---|
Dataset Name | Unit Number |
Description | Size (kBytes) |
NATADJ.DAT(2) | 3 | This data set is used to calibrate model weights to in order to approximate U.S. population aggregates. It is used only when replacement population is created. | 13 |
NIHPROB4.PRN(1) | 4 | These probability factors are used to calculate nursing home induced demand. Factors are determined by age, marital status, disability status and prior nursing home use. | 14 |
TAXR.DAT(1) | 8 | This is the table of tax rates by income bracket and filing status. | 18 |
FAMLIFE.DATA(1) (generally on tape or cartridge) | 9 | This is the input data file containing approximately 44,000 person records. It is the output file from the PRISM run. | 156,640 |
FAMSUB.DATA(1) | 9 | This is the input data file containing the first 500 person records. It is used for testing purposes. | 1,780 |
RANDOM.NUM(1) | 11 | This is the random number database used to make all 'random' decisions in the model. | 426 |
LTC2.CON(1) | 12 | This is the job control file, used to control user-variable aspects of the simulation. See Section 6 for more details | 1 |
DISLIFE.NEW(2) | 17 | These are purchase probability tables. Probabilities are presented by age, premium to income ratio, and disabled/non-disabled. | 8 |
DB.NEW(2) | 40 | These are death benefit tables by issue age, attained age and 12 options. | 68 |
RPU.NEW(2) | 41 | These are reduced paid-up options tables by issue age, duration and indexing. | 9 |
PRE.NEW(2) | 42 | These are monthly premium rates by option, issue age and employment status. | 9 |
LAPSE.NEW(2) | 43 | These are pension lapse rates by policy year, age group, and type of pension. | 8 |
BASE.PRB(1) | 67 | This is the parameter file in which the user can define insurance, public policy, deductibles, and many other options. If altered, it should be saved under a different name. | 84 |
ASSET1A.DAT(1) | 80 | This is the first of three asset databases. Assets are stored by age, marital status, and pension status, and are assigned by income level. These asset tables were created from the 1984 Survey of Income and Program Participation. This file contains assets for age group 65-67. | 85 |
ASSET2A.DAT(1) | 81 | This is the asset database for age group 68-74. | 85 |
ASSET3A.DAT(1) | 82 | This is the asset database for age group 75+. | 85 |
HOME1A.DAT(1) | 83 | This is the first of three home equity databases. Data are stored in the same format as asset database above. These tables were created from the 1984 SIPP. This file contains home equities for the 65-67 age group. | 85 |
HOME2A.DAT(1) | 84 | This is the home equity database for age group 68-74. | 85 |
HOME3A.DAT(1) | 85 | This is the home equity database for age group 75+. | 85 |
PROB1A.DAT(1) | 86 | This is the first of three probability databases. These probability tables are stored by age, marital status, pension status and income level. These tables are used to assign the financial and home equity assets described above. This file contains probabilities for age group 65-67. | 85 |
PROB2A.DAT(1) | 87 | This is the probability database for age group 68-74. | 85 |
PROB3A.DAT(1) | 88 | This is the probability database for age group 75+. | 85 |
(1) = Required dataset (2) = Optional dataset (depends on input parameters) |
Table 4 contains a listing and description of each output datafile the model creates.
TABLE 4. Summary of Model Output Files(1) | |||
---|---|---|---|
Dataset Name | Unit Number |
Description | Size (kBytes) |
BASE.PRT | 6 | This file contains various information about the run including dumps of setup variables. | 292 |
BASE.OUT | 10 | This is an optional output datafile which contains annual information for each person in the database. | 60,000 |
BASE.TAB | 20 | This file contains the output tables from the run. | 2,550 |
BASE.DMP | 21 | This is a dump of annual person, nursing home, and non-institutional data for the first 100 persons who receive services. | 292 |
(1) = Dataset names used here are examples only. |
The Brookings/ICF Long Term Financing Model is composed of 80 subroutines. In order to run the model, each subroutine must be compiled and linked into an executable module. This can either be done by 1) compiling each subroutine separately and then link-editing all the routines together, 2) or by combining all the subroutines into one file and compiling and linking that one file.
All the input datasets indicated as required [(1) = required dataset] in Table 2 must be available to the model when it begins running. In addition, any of the optional datasets called for in the parameter file must also be available. The output files from the model require approximately three megabytes of disk space, excluding the optional output datafile (see unit number 10 in Table 4). Approximately six megabytes of disk space are required to store both the input data bases and the output table file.
Finally, one tape drive is needed to read the input data base. See Attachment Six for a discussion of the cost of running the model at the National Institute on Health Computer Center.
Link-editing and executing this model requires approximately five megabytes of memory. Required run-time of the model depends on the type of computer being used. For example, cpu time on a VAX 8650 is approximately 95 minutes, and on an IBM 3090E cpu time is approximately 15 minutes. If the replacement population option is specified, these run times are approximately doubled.
Table 5 shows an example JCL batch file to execute the model on an IBM 3090E. Table 6 shows the equivalent DCL code to run the model on a VAX system.
TABLE 5. Example JCL for Model Execution |
---|
//IIILTC JOB
(AAAA,406,C,40000,2000),YOURNAME /*KEYWORD=ZZZ /*ROUTE PRINT HOLD /*NOTIFY III /*ROUTE XEQ TAPE /*ROUTE XEQ VECTOR /*MESSAGE 012345,R; /*DISCOUNT //S1 EXEC FORVCOMP, CORE=4500K, // OPTIONS='OPT(3),VECTOR,NOMAP,NOXREF,NOSOURCE' //COMP.SYSIN DD DSN=AAAAIII.LTC2N.FORT,DISP=SHR, //UNIT=FILE,FOL=SER=FILE37 //S2 EXEC FORVLKGO //LOAD.SYSLIN DD //DD DSN=AAAAIII.OBJLIB(RDCH77),DISP=SHR,UNIT=FILE,VOL=SER=FILE37 //DD DSN=AAAAIII.OBJLIB(RJS201),DISP=SHR,UNIT=FILE,VOL=SER=FILE37 //DD DSN=AAAAIII.OBJLIB(SETX),DISP=SHR,UNIT=FILE,VOL=SER=FILE37 //GO.FT08F001 DD DSN=AAAAIII.TAXR.DAT,DISP=SHR, // UNIT=FILE,VOL=SER=FILE37 //GO.FT09F001 DD DSN=AAAAIII.FAMILIFE1.DATA,DISP=(OLD,KEEP), // UNIT=3480,VOL=SER=012345,LABEL=(1,SL,,IN), // DCB=(RECFM=VB,LRECL=30404,BLKSIZE=30408) //GO.FT12F001 DD DSN=AAAAIII.LTC2.CON,DISP=SHR, // UNIT=FILE,VOL=SER=FILE37 //GO.FT20F001 DD DSN=AAAAIII.BASE.TAB,DISP=(NEW,KEEP), // UNIT=FILE,VOL=SER=FILE37,SPACE=(TRK,(80,2),RLSE), // DCB=(LRECL=133,RECFM=FB,BLKSIZE=13300) //GO.FT21F001 DD DSN=AAAAIII.BASE.DMP,DISP=(NEW,KEEP), // UNIT=FILE,VOL=SER=FILE37,SPACE=(TRK,(80,2),RLSE), // DCB=(LRECL=80,RECFM=FB,BLKSIZE=8000) //GO.FT67F001 DD DSN=AAAAIII.BASE.PRB,DISP=SHR, // UNIT=FILE,VOL=SER=FILE37 //GO.FT80F001 DD DSN=AAAAIII.ASSET1A.DAT,DISP=SHR, // UNIT=FILE,VOL=SER-FILE37 //GO.FT81F001 DD DSN=AAAAIII.ASSET2A.DAT,DISP=SHR, // UNIT=FILE,VOL=SER-FILE37 //GO.FT82F001 DD DSN=AAAAIII.ASSET3A.DAT,DISP=SHR, // UNIT=FILE,VOL=SER-FILE37 //GO.FT83F001 DD DSN=AAAAIII.HOME1A.DAT,DISP=SHR, // UNIT=FILE,VOL=SER-FILE37 //GO.FT84F001 DD DSN=AAAAIII.HOME2A.DAT,DISP=SHR, // UNIT=FILE,VOL=SER-FILE37 //GO.FT85F001 DD DSN=AAAAIII.HOME3A.DAT,DISP=SHR, // UNIT=FILE,VOL=SER-FILE37 //GO.FT86F001 DD DSN=AAAAIII.PROB1A.DAT,DISP=SHR, // UNIT=FILE,VOL=SER-FILE37 //GO.FT87F001 DD DSN=AAAAIII.PROB2A.DAT,DISP=SHR, // UNIT=FILE,VOL=SER-FILE37 //GO.FT88F001 DD DSN=AAAAIII.PROB3A.DAT,DISP=SHR, // UNIT=FILE,VOL=SER-FILE37 //GO.FT11F001 DD DSN=AAAAIII.RANDOM.NUM,DISP=SHR, // UNIT=FILE,VOL=SER-FILE37 //GO.FT03F001 DD DSN=AAAAIII.NATADJ.DAT,DIS=SHR, // UNIT=FILE,VOL=SER-FILE37 //GO.FT04F001 DD DSN=AAAAIII.NIHPROB4.PRN,DISP=SHR, // UNIT=FILE,VOL=SER-FILE37 |
TABLE 6. Example DCL for Model Execution |
---|
$PMOUNT PAC1 $@LTCLINK $PURGE $ON ERROR THEN GOTO FIXUP $ON CONTROL_C THEN GOTO FIXUP $ASSIGN NATADJ.DAT FOR003 $ASSIGN NIHPROB4.PRN FOR004 $ASSIGN BASE.PRT FOR006 $ASSIGN SYS$OUTPUT FOR007 $ASSIGN TAXR.DAT FOR008 $ASSIGN PAC1:BLOCK1.DAT FOR009 $!ASSIGN BASE.OUT FOR010 $ASSIGN LTC2.CON FOR012 $ASSIGN BASE.TAB FOR020 $ASSIGN BASE.DMP FOR021 $ASSIGN BASE.PRB FOR067 $ASSIGN ASSET1A.DAT FOR080 $ASSIGN ASSET2A.DAT FOR081 $ASSIGN ASSET3A.DAT FOR082 $ASSIGN HOME1A.DAT FOR083 $ASSIGN HOME2A.DAT FOR084 $ASSIGN HOME3A.DAT FOR085 $ASSIGN PROB1A.DAT FOR086 $ASSIGN PROB2A.DAT FOR087 $ASSIGN PROB3A.DAT FOR088 $ASSIGN RANDOM.NUM FOR011 $RUN LTC2 $FIXUP: $ON ERROR THEN GOTO END $DEASSIGN ALL $END: $PURGE $PRINT BASE.TAB $PRINT BASE.DMP |
The job control file is a small ASCII file that contains important parameters used to control the simulation. Table 7 shows an example job control file, and each of the 11 parameters in the file are described below.
TABLE 7. Sample Job Control File | |
---|---|
1 | IPART: SAMPLE RUN (1 = RUN WHOLE DBASE, 4=RUN 25%) |
0 | IWRITE: WRITE OUT THE OUTPUT FILE (0=NO, 1=YES) |
0 | ICASE: SPECIAL CASE FLAG (0 = NO SPECIAL CASE) |
0 | IHMTOS: COVERT HOME EQUITY (0=NO, 1 = YES) |
1.0 | SSILEV: SSI LEVEL MULTIPLIER FOR TRANSFER OF INCOME |
2 | IBASE: BASE CASE (0=PRE 1989, 1 = 1989, 2=POST 1989) |
0 | IPDMP: RECORD DUMP (0=NO, 1= DUMP 150 RECORDS) |
999999 | IMAX: NUMBER OF RECORDS TO PROCESS |
0 | LVLTST: LEVEL OF TESTING (LEAVE AT 0) |
0 | IHAW: <25 REPLACE POP (0=NO, 1 =HAWAII, 2=NATIONAL) |
2 | IIT: NUMBER OF ITERATIONS (2 = STANDARD RUN) |
IPART: | This parameter controls what proportion of the
database will actually be run through the simulation. Entering a 1 indicates
that the entire database will be used. (For example, entering a 2 will instruct
the program to perform the simulation on every second record, and multiply each
persons weight by 2. Entering a 3 will instruct the program to perform the
simulation on every third record, and multiply each persons weight by 3, etc.).
This parameter is normally set equal to 1. |
IWRITE: | This parameter is an on/off switch for the output
datafile attached to unit number 10 (see Table 4).
Entering 0 will prevent file creation, 1 will enable it. This parameter is
normally set to 0. |
ICASE: | This parameter is used for programs that can not be
simulated using the available input parameters and requires "hard-coding" into
the model. Currently, cases 1 through 18 are defined in the model and should
not be re-used. For simulations defined using parameters only, this parameter
should be set to 0. |
IHMTOS: | This parameter was included for a special case
scenario that involved conversion of home equity to financial assets. Should be
set to 0. |
SSILEV: | This parameter is a multiplier that is applied to the
SSI level for transfer of income from nursing home residents to their spouses.
(For example, 1.0 means transfer income at SSI income level, while 2.0 means
transfer at 2.0 times the SSI income level). This parameter only applies to
simulations using the pre-1989 (catastrophic coverage act) scenario, and should
therefore be set to 1.0 when the parameter [BASE is greater than 0 (see
below). |
IBASE: | This parameter determines how the model deals with
spousal impoverishment scenarios. Entering 0 will cause the model to use the
pre-1989 conditions for the entire simulation period. Entering a 1 will cause
the model to use the spousal impoverishment conditions in the 1989 Catastrophic
Coverage Act for years 1989 through 2020. Entering a 2 will cause the model to
use the Catastrophic Coverage Act for 1989, and then to use only the
non-repealed portions of the Act for years 1990 through 2020. All future
simulations should be run with this parameter set to 2. |
IPDMP: | This parameter is used to dump out 150 records into
the file attached to unit 21 (see Table 4). These records
are used for debugging purposes only, and therefore this parameter should be
set to 0 for all runs. |
IMAX: | This parameter sets the maximum number of input
records to process through the simulation. To process the entire database,
enter a large number (e.g. 999999). IMAX should be set to a smaller number for
test cases. |
LVLTST: | This parameter is used for model debugging. Setting it
to any number above 0 will cause large amount of intermediate data to be dumped
to files attached to unit 6 and 21. LVILTST should be set to 0. |
IHAW: | This parameter determines whether or not a synthetic
replacement population is generated for persons under the age of 25 in 1979.
These persons are not included in the original database, as they would not
reach age 65 before the end of the simulation. However, some insurance
scenarios may require this population to be available for premium payment.
Entering 0 will cause no population replacement. Entering 1 will invoke
population replacement and a reweighting of the database to simulation Hawaii's
population and demographics. Entering a 2 will invoke population replacement at
a national level. |
IIT: | This parameter determines the number of iterations of
the model (i.e. how many times each input record is passed through the
simulation). During each iteration, the input record is processed with a
different set of "random" numbers, effectively increasing the size of the
sample population and reducing problems with small cell sizes in some of the
output tables, but at the expense of increase CPU requirements for running the
model. A standard run uses 2 iterations on each record. |
Two utility programs, CHEKFL and TABLE2, are available to assist the user in the parameter setup and analysis of the model output. These utilities are described below.
The CHEKFL program is a utility that allows the user to compare two input parameter files and report on any differences between them. The input parameter file is a fairly large file and when running multiple scenarios it sometimes may become difficult to check that only the desired parameters have been changed between two runs. CHEKFL can be used to compare the parameters for a new simulation against the base case or against a previous simulation scenario.
In addition, CHEKFL performs all logic, total, and data range checks on the input parameters that are required for a full model run. Sample JCL and DCL files to setup and run CHEKFL are shown in Table 8.
TABLE 8. Sample Command Files for CHEKFL | |
---|---|
Sample JCL | Sample DCL |
//PR4LTC JOB
(VWA1,406,A),YOURNAME /*KEYWORD=ZZZ /*ROUTE PRINT HOLD /*NOTIFY III //S1 EXEC FORVCOMP,OPTIONS='NOMAP,NOXREF,NOSOURCE' //COMP.SYSIN DD DSN=AAAAIII.CHEKFL.FOR,DISP=SHR, // UNIT=FILE,VOL=SER=FILE37 //S2 EXEC FORVLKGO //GO.FT04F001 DD DSN=AAAAIII.NIHPROB4.PRN,DISP=SHR, // UNIT=FILE,VOL=SER=FILE37 //GO.FT67F001 DD DSN=AAAAIII.BASE1.PRB,DISP=SHR, // UNIT=FILE,VOL=SER=FILE37 //GO.FT68F001 DD DSN=AAASZ4.BASE2.PRB,DISP=SHR, // UNIT=FILE,VOL=SER=FILE37 //GO.FT20F001 DD DSN=AAAAIII.OUTPUTA.DAT,DISP=(NEW,KEEP), // UNIT=FILE,VOL=SER=FILE37,SPACE=(TRK,(80,2),RLSE), // DCB=(LRECL=133,RECFM=FB,BLKSIZE=13300) //GO.FT21F001 DD DSN=AAAAIII.OUTPUT2.DAT,DISP=(NEW,KEEP), // UNIT=FILE,VOL=SER=FILE37,SPACE=(TRK,(80,2),RLSE), // DCB=(LRECL=80,RECFM=FB,BLKSIZE=8000) |
$ ASSIGN
BASE1.PRB FOR067 $ ASSIGN BASE2.PRB FOR068 $ ASSIGN OUTPUT1.DAT FOR020 $ ASSIGN OUTPUT2.DAT FOR021 $ ASSIGN NIHPROB4.PRN FOR004 $ RUN CHEKFL $ PUR OUTPUT*.DAT |
The TABLE2 utility program allows the user to define and extract a set of tables from the large table output file. The extracted file can be printed on the host computer, or download to a PC and printed locally. There is also an option to create a file that can be imported directly into a PC spreadsheet program.
A sample input control file for TABLE2 is shown in Table 9. The first line determines whether or not the optional Lotus readable output file is created (0=no, 1 =yes). The next lines are a list of the tables which are to be extracted (a maximum of 10 lines). The program reads in these lines and searches the table file for exact character string matches, and then copies the following records until the end of the current page is reached.
For example, entering TABLE 1 in the input file would cause the output of tables 1, 10, 11, 12, 13, ...,19. If you wanted table 1 only, you would enter TABLE 1# (the # identifier only works for tables 1-9). Table 10 shows example JCL and DCL files for compiling, linking, and executing the program.
TABLE 9. Input Parameters for the TABLE2 Utility |
---|
0 TABLE 1# TABLE 2# TABLE 11 TABLE 12 TABLE 41.1.3 TABLE PJE4 |
TABLE 10. Sample JCL and DCL for TABLE2 | |
---|---|
JCL | DCL |
//PR4LTC JOB
(VWA1,406,A),YOURNAME /*KEYWORD=ZZZ /*ROUTE PRINT HOLD /*NOTIFY III //S1 EXEC FORVCOMP,OPTIONS='NOMAP,NOXREF,NOSOURCE' //COMP.SYSIN DD DSN=AAAAIII.TABLE2.FOR,DISP=SHR, // UNIT=FILE,VOL=SER=FILE37 //S2 EXEC FORVLKGO //GO.FT08F001 DD DSN=AAAAIII.BASE.TAB,DISP=SHR, // UNIT=FILE,VOL=SER=FILE37 //GO.FT11F001 DD DSN=AAAAIII.TABLE2.INP,DISP=SHR, // UNIT=FILE,VOL=SER=FILE37 //GO.FT09F001 DD DSN=AAAAIII.BASE.TB1,DISP=(NEW,KEEP), // UNIT=FILE,VOL=SER=FILE37,SPACE=(TRK,(80,2),RLSE), // DCB=(LRECL=133,RECFM=FB,BLKSIZE=13300) //GO.FT10F001 DD DSN=AAAAIII.BASE.WK0,DISP=(NEW,KEEP), // UNIT=FILE,VOL=SER=FILE37,SPACE=(TRK,(80,2),RLSE), // DCB=(LRECL=80,RECFM=FB,BLKSIZE=8000) |
$LINK TABLE2,IOUTIL/LIB $ASSIGN BASE.TAB FOR008 $ASSIGN BASE.TB1 FOR009 $ASSIGN BASE.WK0 FOR010 $ASSIGN TABLE2.INP FOR011 $ASSIGN SYS$OUTPUT FOR007 $RUN TABLE2 $ DEASSIGN FOR007 $ DEASSIGN FOR008 $ DEASSIGN FOR009 $ DEASSIGN FOR010 $ DEASSIGN FOR011 |
The output dataset BASE.OUT may be converted into an ASCII/EBCIDIC person level file which can be used to produce additional tabulations. BASEOUT is written by the subroutine WRITR and is only produced when specified in the Job Control File through the parameter IWRITE. LTCCONV.FOR is a FORTRAN program that transforms arrays from BASE.OUT into a single record for every year after a person turns age 65 with demographic, economic, and long term care use information. The record layout for the converted database is shown in Table 11.
TABLE 11. Record Layout for Output Data File | |||
---|---|---|---|
Variable | Length | Field | Variable Definitions |
Demographic Variables | |||
1 | 1 | 1 | RACE 1 = White 2 = Nonwhite |
2 | 1 | 2 | SEX 1 = Male 2 = Female |
3 | 3 | 3-5 | AGEDTH Age in last year alive (65: 108) |
4 | 10 | 6-15 | WEIGHT Sample weight to be used in all tabulations |
5 | 3 | 16-18 | AGE Age of individual in simulation year (65: 108) |
6 | 1 | 19 | MARIT Marital Status 1 = Married 2 = Unmarried |
7 | 1 | 20 | DISAB Disability status in year 1 = Disabled 2 = Not Disabled |
8 | 4 | 21-24 | YEAR Year of simulation (1986: 2020) |
Family Income Variables (in 1989 $s) | |||
9 | 5 | 25-29 | POV Total family income as a percent of the poverty threshold in year |
10 | 10 | 30-39 | FEARN Family earnings income in year |
11 | 10 | 40-49 | FPEN Family pension income in year |
12 | 10 | 50-59 | FIRA Family IRA income in year |
13 | 10 | 60-69 | FSOC Family social security income in year |
14 | 10 | 70-79 | FASSINC Family income from financial assets in year |
15 | 10 | 80-89 | FSSI Family income from SSI and state supplements in year |
Individual Income Variables (in 1989 $s) | |||
16 | 10 | 90-99 | IEARN Individual earnings income in year |
17 | 10 | 100-109 | IPEN Individual pension income in year |
18 | 10 | 110-119 | IIRA Individual IRA income in year |
19 | 10 | 120-129 | ISOC Individual social security income in year |
20 | 10 | 130-139 | IASSET Individual income from assets in year |
21 | 10 | 140-149 | ISSI Individual income from SSI and state supplements in year |
Family
Assets Variables (in 1989 $s) *** Family assets at end of year *** |
|||
22 | 10 | 150-159 | FASSET Value of family financial assets in year (non-housing assets) |
23 | 10 | 160-169 | HASSET Value of family equity in home 0 = Non-homeowner > = Homeowner |
Utilization of Institutional Care | |||
24 | 3 | 170-172 | IDAYS Days of institutional care in year |
25 | 1 | 173 | ISTART 0 = Not in institution 1 = Admitted to institution in year 2 = Discharged during year 3 = Both admitted and discharged during year 4 = Other institutionalized |
26 | 1 | 174 | ITERM Nursing home visit will terminate as: 0 = Not in institution 1 = Death termination 2 = Live termination |
27 | 4 | 175-178 | TENURE Days in institution from date of admissions through end of year |
28 | 4 | 179-182 | LENGTH Total length of stay: i.e., days in institution from date admitted through day of discharge |
Insitutional Expenses During Year (in 1989 ($s) *** Includes institutional expenses from start of year through end of year *** |
|||
29 | 5 | 183-87 | IMCRYR Amount paid by Medicare in year |
30 | 5 | 188-192 | IMCDYR Amount paid by Medicaid in year |
31 | 5 | 193-197 | IOPCYR Amount paid out-of-pocket from cash resources in year |
32 | 5 | 198-202 | IOPAYR Amount paid out-of-pocket from asset resources in year |
33 | 5 | 203-207 | ILTCYR Amount paid by long-term care insurance in year (this will always be zero in the base case) |
Institutional Expenses Through End of Year (in 1989
$s) *** Includes institutional expenses from date of admission through end of year *** |
|||
34 | 6 | 208-213 | IMCRTD Amount paid by Medicare through end of year |
35 | 6 | 214-219 | IMCDTD Amount paid by Medicaid through end of year |
36 | 6 | 220-225 | IOPCTD Amount paid out-of-pocket from cash resources through end of year |
37 | 6 | 226-231 | IOPATD Amount paid out-of-pocket from assets through end of year |
38 | 6 | 232-237 | ILTCTD Amount paid by long-term care insurance through end of year (this will always be zero in the base case) |
Institutional Expenses from Duration of Visit (in 1989
$s) **Includes expenses for instituional care from date of admission through date of discharge** |
|||
39 | 6 | 238-243 | IMCR Amount paid by Medicare for entire visit |
40 | 6 | 244-249 | IMCD Amount paid by Medicaid for entire visit |
41 | 6 | 250-255 | IOPC Amount paid out-of-pocket from cash resources for entire visit |
42 | 6 | 256-261 | IOPA Amount paid out-of-pocket from asset resources for entire visit |
43 | 6 | 262-267 | ILTC Amount paid by long-term care insurance for entire visit (this will always be zero in the base case) |
Utilization of Non-Institutional Care | |||
44 | 3 | 268-270 | FDAYS Days of formal care in year |
45 | 3 | 271-273 | INDAYS Days of informal care in year |
46 | 3 | 274-276 | FVISITS Number of formal visits in year |
47 | 3 | 277-279 | INVISITS Number of informal visits in year |
48 | 1 | 280 | NSTART 0 = Not receiving non-institutional care 1 = Started receiving care in year 2 = Care terminates in year 3 = Care both starts and terminates during year 4 = Other recipients of non-institutional care |
49 | 1 | 281 | NTERM Non-institutional care will terminate as: 0 = Not receiving non-institutional services 1 = Death termination 2 = Live termination 3 = Enters nursing home |
50 | 4 | 282-285 | FTEN Days receiving formal non-institutional care from date care starts through end of year |
51 | 4 | 286-289 | INTEN Days receiving informal non-institutional care from date care starts through end of year |
52 | 5 | 290-294 | FVTEN Formal care visits from date care starts through end of year |
53 | 5 | 295-299 | INVTEN Informal care visits from date care starts through end of year |
54 | 5 | 300-304 | FLEN Duration of formal care: i.e., days receiving formal care from date care starts through date care terminates |
55 | 5 | 305-309 | INLEN Duration of informal care: i.e., days receiving informal care from date care starts through date care terminates |
56 | 5 | 310-314 | FVTOT Total formal care visits from the date formal care starts through the date care terminates |
57 | 5 | 315-319 | INVTOT Total informal care visits from the date informal care starts through the date care terminates |
Non-institutional Expenses During Year (in 1989 $s) *** Includes non-institutional expenses from start of year through end of year *** |
|||
58 | 5 | 320-324 | NMCRYR Amount paid by Medicare in year |
59 | 5 | 325-329 | NMCDYR Amount paid by Medicaid in year |
60 | 5 | 330-33 | NOPCYR Amount paid out-of-pocket from cash resources in year |
61 | 5 | 335-339 | NOPAYR Amount paid out-of-pocket from asset resources in year |
62 | 5 | 340-344 | NLTCYR Amount paid by long-term care insurance in year (zero in base case) |
63 | 5 | 345-349 | NOTHYR Amount paid by other sources in year |
Non-Institutional Expenses Through End of Year (in 1989
$s) *** Includes non-institutional expenses from the date care started through the end of year *** |
|||
64 | 6 | 350-355 | NMCRTD Amount paid by Medicare through end of year |
65 | 6 | 356-361 | NMCDTD Amount paid by Medicaid through end of year |
66 | 6 | 362-367 | NOPCTD Amount paid out-of-pocket from cash resources through end of year |
67 | 6 | 368-373 | NOPATD Amount paid out-of-pocket from asset resources through end of year |
68 | 6 | 374-379 | NLTCTD Amount paid by long-term care insurance through end of year (zero in base case) |
69 | 6 | 380-385 | NOTHTD Amount paid by other sources through end of year |
Non-institutional Expenses for Duration of Visit (in 1989
$s) *** Includes non-institutional expenses from the date care started through the date care terminated *** |
|||
70 | 6 | 386-391 | NMCR Amount paid by Medicare for entire visit |
71 | 6 | 392-397 | NMCD Amount paid by Medicaid for entire visit |
72 | 6 | 398-403 | NOPC Amount paid out-of-pocket from cash resources for entire visit |
73 | 6 | 404-409 | NOPA Amount paid out-of-pocket from asset resources for entire visit |
74 | 6 | 410-415 | NLTC Amount paid by long-term care insurance for entire visit (zero in base case) |
75 | 6 | 416-421 | NOTH Amount paid by other sources for entire visit |
Family Tax Payments in Year (in 1989 $s) | |||
76 | 10 | 422-431 | FEDTAX Federal income tax payments |
77 | 10 | 432-441 | STATETAX State income tax payments |
78 | 10 | 442-451 | LTCAMT Amount of LTC funding specific |
Additional Income and Asset Variables (in 1989 $s) *** Values at entry to LTC *** |
|||
79 | 10 | 452-461 | BNHINC Family income at entry to nursing home |
80 | 10 | 462-471 | BNHAST Family financial assets at entry to nursing home |
81 | 10 | 472-481 | BHHAST Family income at entry to home health |
82 | 10 | 482-491 | BHHAST Family financial assets at entry to home health |
83 | 3 | 492-494 | SPAGE Age of spouse |
You can advance to: |