000100 IDENTIFICATION DIVISION.
000200 PROGRAM-ID. ESCAL121.
000300*PROGRAM-ID. ESCAL120...Note that there is NO ESCAL120 calculating
000400*            subroutine due to a reversing of CBSA 41980 composite
000500*            & PPS WAGE INDEX which was sent out with the ESDRV120
000600*            subroutine prior to the start of the calendar year.
000700*            There is NO difference between the original ESCAL120
000800*            and ESCAL121 except the notational difference in the
000900*            version number.
001000*AUTHOR.     CMS
001100*       EFFECTIVE JANUARY 1, 2012
001200******************************************************************
001300* 4/06/05 - ALLOW PROVIDER TYPE '05' FOR PEDIATRIC HOSP          *
001400*         - TO BE EFFECTIVE WITH THE NEXT RELEASE                *
001500*         - CHANGED IN 0100-INITIAL-ROUTINE WITH PROVIDER        *
001600*           TYPE '40'                                            *
001700* 1/01/06 - NEW CBSA TABLE FOR CY2006                            *
001800*         - UPDATE 2005 MSA COMPOSITE RATES WITH 1.6% INCREASE   *
001900* 1/18/07 - THE MSA-WAGE-FACTOR-2007 WAS NOT IMPLEMENTED DURING  *
002000*           THE FIRST THREE MONTHS OF 2007                       *
002100*         - MSA-CBSA BLEND PERCENT NOW SET AT 50% MSA 50% CBSA   *
002200*         - ADDITIONAL VARIABLES WERE CREATED IN ORDER TO MAKE   *
002300*           CHANGING VALUES EASIER (IN WORKING STORAGE RATHER    *
002400*           THAN IN THE PROCEDURE DIVISION)                      *
002500*         - THIS PROGRAM NOW REFLECTS ENHANCEMENTS MADE SO THAT  *
002600*           TESTING OF THE CODE DOES NOT REQUIRE COMMENTING      *
002700*           IN/OUT LINES OF CODE.  IN ADDITION CALCULATED        *
002800*           VARIABLES ARE NOW PASSED BACK WHEN TEST CASES ARE    *
002900*           ENCOUNTERED IN ORDER FOR THE MASTER DRIVER TO PRINT  *
003000*           MORE INFORMATION ABOUT WHAT WENT ON IN THIS PROGRAM  *
003100* 1/19/07 - INDEPENDENT ESRD FACILITY WAGE NOW    $132.49        *
003200*           HOSPITAL BASED ESRD FACILTIY WAGE NOW $136.68        *
003300*           DRUG ADD-ON ADJUSTMENT AFTER 4/1/07   1.1490         *
003400* 1/26/07 - MSA COMPOSITE PAYMENT RATES INCREASED 1.6% ABOVE THE *
003500*           2006 RATES.  THIS MEANS THAT THE RATES PASSED FROM   *
003600*           THE DRIVER, WHICH ARE 2005 RATES, NEED TO BE         *
003700*           MULTIPLIED BY 1.016 AND THEN ROUNDED TO GET THE 2006 *
003800*           RATE AND THEN THAT RESULT MULTIPLIED BY ANOTHER 1.016*
003900*           AND ROUNDED AGAIN TO GET THE 4/1/2007 RATE.  THIS    *
004000*           NECESSARY ROUNDING MAKES THE RESULTS AGREE WITH THOSE*
004100*           PUBLISHED IN THE FEDERAL REGISTER.  THIS METHOD WAS  *
004200*           VERIFIED VIA TEDIOUS EXCEL SPREADSHEET CALCULATIONS  *
004300* 10/30/07- MSA COMPOSITE PAYMENT RATES DID NOT INCREASE FROM THE*
004400*           2007/04/01 RATES.  THE COMPOSITE BASE RATES DID NOT  *
004500*           CHANGE FROM THE 07/04/01 FACILITY RATES.             *
004600*           THE BLEND OF MSA TO CBSA WAS CHANGED TO 25% MSA AND  *
004700*           75% CBSA.                                            *
004800*           THE DRUG ADDON FACTOR WAS INCREASED TO 1.1550        *
004900*           ALL OTHER FIGURES REMAINED THE SAME.                 *
005000* 11/21/07- CHANGES WERE MADE TO ALL THE CALCULATION SUBROUTINES *
005100*           BEGINNING IN 2005 IN ORDER TO ENSURE THAT THE        *
005200*           PC-PRICER CAN USE THE **EXACT** SAME CODE THAT EXISTS*
005300*           ON THE MAINFRAME.  IN ORDER TO ENSURE THAT THE       *
005400*           LINKAGE SECTION REMAINS THE SAME, THE FILLER AREAS   *
005500*           LOCATED AT THE END OF EACH '05' LEVEL HAVE BEEN      *
005600*           MODIFIED TO INCLUDE VARIABLES NEEDED FOR PROOFING OF *
005700*           THE MAINFRAME CODE AS WELL AS DISPLAYING ON THE PC-  *
005800*           PRICER.                                              *
005900*         -      THE VARIABLE LABELED 'P-ESRD-RATE' IS NEVER     *
006000*           USED IN CALCUALTIONS SINCE THE DRIVER IS THE ONLY ONE*
006100*           THAT USES IT IN SPECIAL CIRCUMSTANCES AT THE FISCAL  *
006200*           INTERMEDIARIES.  THEREFORE A DUAL USE WAS MADE OF IT *
006300*           SO THAT THE PC-PRICER CAN MAKE USE OF THE VERY       *
006400*           LIMITED SPACE LEFT.  THE VARIABLE NAME WAS REDEFINED *
006500*           TO 'CASE-MIX-FCTR-ADJ-RATE' TO REFLECT IT'S USAGE ON *
006600*           THE PC-PRICER.                                       *
006700*         -        USAGE OF THE THESE FILLER AREAS AND THE       *
006800*           'CASE-MIX-FCTR-ADJ-RATE' VARIABLE WILL ONLY OCCUR    *
006900*           WHEN A 'T' (FOR TESTING) IS IN THE LAST COLUMN OF THE*
007000*           INPUT RECORD.  OTHERWISE THESE VARIABLES WILL CONTAIN*
007100*           SPACES WHEN NOT IN TEST MODE.  MOST OF THE MOVES TO  *
007200*           THESE VARIABLES OCCURS IN THE 9000-MOVE-RESULTS PARA-*
007300*           GRAPH.  A FEW MOVES MUST OCCUR IN OTHER AREAS OF THE *
007400*           PROGRAM.                                             *
007500* 11/07/08- ALL CODE FOR 2006-2008 WAGE ADJUSTED PAYMENTS WERE   *
007600*           REMOVED BECAUSE THERE IS NO LONGER A BLEND BETWEEN   *
007700*           MSA AND CBSA STARTING 1/1/2009.                      *
007800*           THE DRUG ADDON FACTOR WAS CHANGED TO 1.1520          *
007900*           THE HOSPITAL AND INDEPENDENT ESRD FACILITY PAYMENT   *
008000*           RATES ARE NOW THE SAME.  THE TWO VARIABLES WERE LEFT *
008100*           IN THE PROGRAM IN CASE THEY DECIDE TO MAKE THEM      *
008200*           DIFFERENT IN THE FUTURE.                             *
008300* 12/03/08- RENAMED THIS SUBROUTINE ESCAL091 AND CHANGED THE     *
008400*           APPROPRIATE VERSION INFORMATION.  THE 9.0 VERSION OF *
008500*           THE PRICER WAS SENT OUT IN NOVEMBER.  AFTERWARDS THE *
008600*           POLICY PEOPLE WHO SET THE WAGE INDEXES, CHANGED THEIR*
008700*           MINDS ABOUT CBSA 16700 AND RESCINDED THE WAGE INDEX. *
008800*           THIS NECESSITATED A RE-RELEASE OF THE ESRD PRICER IN *
008900*           ORDER TO MAKE SURE THAT THE FI'S ARE USING THE LATEST*
009000*           VERSION AT THE START OF CY2009.                      *
009100* 11/02/09- Renamed this subroutine ESCAL100 and changed the     *
009200*           appropriate version information.  Changed the        *
009300*           composite rate (Hosp-Based-Pmt-Rate and Indp-ESRD-Fac*
009400*           -Pmt-Rate) to 135.15.  Also changed the Drug-Addon to*
009500*           1.1500.                                              *
009600*         - Began reorganization of program so that it can be    *
009700*           used with the Bundled rate payment system as well as *
009800*           the Composite rate payment system.  In that light,   *
009900*           changed WAGE-NEW-CBSA-RECORD to COM-CBSA-WAGE-RECORD *
010000*           and added BUN-CBSA-WAGE-RECORD which is not used in  *
010100*           this version of the program.  Changed corresponding  *
010200*           variable names to agree with the new name.           *
010300* 10/29/10- Renamed this subroutine ESCAL110.  This pricer       *
010400*           changed from being only a Composite Rate pricer to   *
010500*           processing line-items using both the Composite Rate  *
010600*           methodology AND a Bundled (now called PPS) Rate      *
010700*           methodology during a blend period that lasts from    *
010800*           2011 to 2013.  The original composite rate code has  *
010900*           been completely rewritten to conform to the new      *
011000*           manner of pricing as well as being more efficient.   *
011100*           There are too many changes to list from the bundled  *
011200*           methodology to put here.                             *
011300*           On the composite-rate side of the program, the drug  *
011400*           add-on has been changed to 14.7 percent and the      *
011500*           the composite rate changed to $138.53.               *
011600*           Also added new variable A-49-CENT-PART-D-DRUG-ADJ    *
011700*           to the composite-rate side of the calculation which  *
011800*           is an adjustment for ESRD drugs and biologicals      *
011900*           currently paid under Part-D.                         *
012000* 03/07/11- Renamed this subroutine ESCAL116.  This was due to   *
012100*           problems found in the initial version which was re-  *
012200*           leased to FISS for their initial work in bringing up *
012300*           the new pricer.  Future revisions may be needed.     *
012400* 10/28/11- Renamed this subroutine ESCAL120.  Four changes are: *
012500*           (1) fixed the onstart calculation to count from day  *
012600*           one and therefore use 120 days vs the 121 days prior *
012700*           calculation (which counted from the second day).     *
012800*           (2) added an output variable which is the amount of  *
012900*           the low volume that is added to a line-item payment  *
013000*           when the provider is a low-volume provider.  This is *
013100*           for recovery purposes.                               *
013200*           (3) added an input variable for the Quality Incentive*
013300*           Program (QIP).  The specific number in this field    *
013400*           comes from FISS which maintaines the Provider        *
013500*           Specific File and the number ultimately is provided  *
013600*           by the Quality people at CMS.                        *
013700*           (4) made necessary changes for CY 2012.  A noteworthy*
013800*           change is how blended payments are calculated.  In   *
013900*           2011 there was a 49 cent Part D drug adjustment.  In *
014000*           2012 this 49 cent is added to the Base-Payment-Rate  *
014100*           and then the 2.1 % productivity is applied.  This    *
014200*           means that the base rate starts at $139.02 and after *
014300*           the 2.1% increase the base rate is $141.94.          *
014400*           Another change is in calculating the BSA.  The super-*
014500*           script is now the same in the Composite Rate portion *
014600*           of the code as it is in the PPS portion of the code. *
014700* FUTURE    This program is intended to be used in a running TEN *
014800*           year (current year and nine prior years) mode.       *
014900*           As of 10/10, there are no plans on which variables to*
015000*           remove since plans may change.                       *
015100******************************************************************
015200 DATE-COMPILED.
015300 ENVIRONMENT DIVISION.
015400 CONFIGURATION SECTION.
015500 SOURCE-COMPUTER.            IBM-Z990.
015600 OBJECT-COMPUTER.            IBM.
015700 INPUT-OUTPUT  SECTION.
015800 FILE-CONTROL.
015900
016000 DATA DIVISION.
016100 FILE SECTION.
016200/
016300 WORKING-STORAGE SECTION.
016400 01  W-STORAGE-REF                  PIC X(46) VALUE
016500     'ESCAL121      - W O R K I N G   S T O R A G E'.
016600 01  CAL-VERSION                    PIC X(05) VALUE 'C12.1'.
016700
016800 01  DISPLAY-LINE-MEASUREMENT.
016900     05  FILLER                     PIC X(50) VALUE
017000         '....:...10....:...20....:...30....:...40....:...50'.
017100     05  FILLER                     PIC X(50) VALUE
017200         '....:...60....:...70....:...80....:...90....:..100'.
017300     05  FILLER                     PIC X(20) VALUE
017400         '....:..110....:..120'.
017500
017600 01  PRINT-LINE-MEASUREMENT.
017700     05  FILLER                     PIC X(51) VALUE
017800         'X....:...10....:...20....:...30....:...40....:...50'.
017900     05  FILLER                     PIC X(50) VALUE
018000         '....:...60....:...70....:...80....:...90....:..100'.
018100     05  FILLER                     PIC X(32) VALUE
018200         '....:..110....:..120....:..130..'.
018300/
018400******************************************************************
018500*  This area contains all of the old Composite Rate variables.   *
018600* They will be eliminated when the transition period ends - 2014 *
018700******************************************************************
018800 01  HOLD-COMP-RATE-PPS-COMPONENTS.
018900     05  H-PAYMENT-RATE             PIC 9(04)V9(02).
019000     05  H-PYMT-AMT                 PIC 9(04)V9(02).
019100     05  H-WAGE-ADJ-PYMT-AMT        PIC 9(04)V9(02).
019200     05  H-PATIENT-AGE              PIC 9(03).
019300     05  H-AGE-FACTOR               PIC 9(01)V9(03).
019400     05  H-BSA-FACTOR               PIC 9(01)V9(04).
019500     05  H-BMI-FACTOR               PIC 9(01)V9(04).
019600     05  H-BSA                      PIC 9(03)V9(04).
019700     05  H-BMI                      PIC 9(03)V9(04).
019800     05  HGT-PART                   PIC 9(04)V9(08).
019900     05  WGT-PART                   PIC 9(04)V9(08).
020000     05  COMBINED-PART              PIC 9(04)V9(08).
020100     05  CALC-BSA                   PIC 9(04)V9(08).
020200
020300
020400* The following two variables will change from year to year
020500* and are used for the COMPOSITE part of the Bundled Pricer.
020600 01  DRUG-ADDON                     PIC 9(01)V9(04) VALUE 1.1430.
020700 01  BASE-PAYMENT-RATE              PIC 9(04)V9(02) VALUE 141.94.
020800
020900* The next two percentages MUST add up to 1 (i.e. 100%)
021000* They will continue to change until CY2009 when CBSA will be 1.00
021100 01  MSA-BLEND-PCT                  PIC 9(01)V9(02) VALUE 0.00.
021200 01  CBSA-BLEND-PCT                 PIC 9(01)V9(02) VALUE 1.00.
021300
021400* CONSTANTS AREA
021500* The next two percentages MUST add up TO 1 (i.e. 100%)
021600 01  NAT-LABOR-PCT                  PIC 9(01)V9(05) VALUE 0.53711.
021700 01  NAT-NONLABOR-PCT               PIC 9(01)V9(05) VALUE 0.46289.
021800
021900* The next variable is only applicapable for the 2011 Pricer.
022000 01  A-49-CENT-PART-D-DRUG-ADJ      PIC 9(01)V9(02) VALUE 0.49.
022100
022200 01  HEMO-PERI-CCPD-AMT             PIC 9(02)       VALUE 20.
022300 01  CAPD-AMT                       PIC 9(02)       VALUE 12.
022400 01  CAPD-OR-CCPD-FACTOR            PIC 9(01)V9(06) VALUE
022500                                                         0.428571.
022600* The above number technically represents the fractional
022700* number 3/7 which is three days per week that a person can
022800* receive dialysis.  It will remain this value ONLY for the
022900* COMPOSITe side of the Bundled Pricer.  The Bundled portion will
023000* use the calculation method which is more understandable and
023100* follows the method used by the Policy folks.
023200
023300*  The following number that is loaded into the payment equation
023400*  is meant to BUDGET NEUTRALIZE changes in THE CASE MIX INDEX
023500*  and   --DOES NOT CHANGE--
023600
023700 01  CASE-MIX-BDGT-NEUT-FACTOR      PIC 9(01)V9(04) VALUE 0.9116.
023800
023900 01  COMPOSITE-RATE-MULTIPLIERS.
024000*Composite rate payment multiplier (used for blended providers)
024100     05  CR-AGE-LT-18           PIC 9(01)V9(03) VALUE 1.620.
024200     05  CR-AGE-18-44           PIC 9(01)V9(03) VALUE 1.223.
024300     05  CR-AGE-45-59           PIC 9(01)V9(03) VALUE 1.055.
024400     05  CR-AGE-60-69           PIC 9(01)V9(03) VALUE 1.000.
024500     05  CR-AGE-70-79           PIC 9(01)V9(03) VALUE 1.094.
024600     05  CR-AGE-80-PLUS         PIC 9(01)V9(03) VALUE 1.174.
024700
024800     05  CR-BSA                 PIC 9(01)V9(03) VALUE 1.037.
024900     05  CR-BMI-LT-18-5         PIC 9(01)V9(03) VALUE 1.112.
025000/
025100******************************************************************
025200*    This area contains all of the NEW Bundled Rate variables.   *
025300******************************************************************
025400 01  HOLD-BUNDLED-PPS-COMPONENTS.
025500     05  H-BUN-NAT-LABOR-AMT        PIC 9(04)V9(02).
025600     05  H-BUN-NAT-NONLABOR-AMT     PIC 9(04)V9(02).
025700     05  H-BUN-BASE-WAGE-AMT        PIC 9(04)V9(04).
025800     05  H-BUN-AGE-FACTOR           PIC 9(01)V9(03).
025900     05  H-BUN-BSA                  PIC 9(03)V9(04).
026000     05  H-BUN-BSA-FACTOR           PIC 9(01)V9(04).
026100     05  H-BUN-BMI                  PIC 9(03)V9(04).
026200     05  H-BUN-BMI-FACTOR           PIC 9(01)V9(04).
026300     05  H-BUN-ONSET-FACTOR         PIC 9(01)V9(04).
026400     05  H-BUN-COMORBID-MULTIPLIER  PIC 9(01)V9(03).
026500     05  H-BUN-ADJUSTED-BASE-WAGE-AMT
026600                                    PIC 9(07)V9(04).
026700     05  H-BUN-WAGE-ADJ-TRAINING-AMT
026800                                    PIC 9(07)V9(04).
026900     05  H-CC-74-PER-DIEM-AMT       PIC 9(07)V9(04).
027000     05  H-HEMO-EQUIV-DIAL-SESSIONS PIC 9(07)V9(04).
027100     05  H-PPS-FINAL-PAY-AMT        PIC 9(07)V9(02).
027200     05  H-FULL-CLAIM-AMT           PIC 9(07)V9(02).
027300     05  H-LV-BUN-ADJUST-BASE-WAGE-AMT
027400                                    PIC 9(07)V9(04).
027500     05  H-LV-PPS-FINAL-PAY-AMT     PIC 9(07)V9(04).
027600     05  H-LV-OUT-PREDICT-SERVICES-MAP
027700                                    PIC 9(07)V9(04).
027800     05  H-LV-OUT-CM-ADJ-PREDICT-M-TRT
027900                                    PIC 9(07)V9(04).
028000     05  H-LV-OUT-PREDICTED-MAP
028100                                    PIC 9(07)V9(04).
028200     05  H-LV-OUT-PAYMENT           PIC 9(07)V9(04).
028300
028400     05  H-COMORBID-MULTIPLIER      PIC 9(01)V9(03).
028500     05  IS-HIGH-COMORBID-FOUND     PIC X(01).
028600         88  HIGH-COMORBID-FOUND               VALUE 'Y'.
028700
028800     05  H-COMORBID-DATA  OCCURS 6 TIMES
028900            INDEXED BY H-COMORBID-INDEX
029000                                    PIC X(02).
029100     05  H-COMORBID-CWF-CODE        PIC X(02).
029200
029300     05  H-BUN-LOW-VOL-MULTIPLIER   PIC 9(01)V9(03).
029400
029500     05  QIP-REDUCTION              PIC 9(01)V9(03).
029600     05  SUB                        PIC 9(04).
029700
029800     05  THE-DATE                   PIC 9(08).
029900     05  INTEGER-LINE-ITEM-DATE     PIC S9(09).
030000     05  INTEGER-DIALYSIS-DATE      PIC S9(09).
030100     05  ONSET-DATE                 PIC 9(08).
030200     05  MOVED-CORMORBIDS           PIC X(01).
030300
030400 01  HOLD-OUTLIER-PPS-COMPONENTS.
030500     05  H-OUT-AGE-FACTOR           PIC 9(01)V9(03).
030600     05  H-OUT-BSA                  PIC 9(03)V9(04).
030700     05  H-OUT-BSA-FACTOR           PIC 9(01)V9(04).
030800     05  H-OUT-BMI                  PIC 9(03)V9(04).
030900     05  H-OUT-BMI-FACTOR           PIC 9(01)V9(04).
031000     05  H-OUT-ONSET-FACTOR         PIC 9(01)V9(04).
031100     05  H-OUT-COMORBID-MULTIPLIER  PIC 9(01)V9(03).
031200     05  H-OUT-LOW-VOL-MULTIPLIER   PIC 9(01)V9(03).
031300     05  H-OUT-ADJ-AVG-MAP-AMT      PIC 9(03)V9(02).
031400     05  H-OUT-FIX-DOLLAR-LOSS      PIC 9(04)V9(02).
031500     05  H-OUT-LOSS-SHARING-PCT     PIC 9(01)V9(02).
031600     05  H-OUT-PREDICTED-SERVICES-MAP
031700                                    PIC 9(07)V9(04).
031800     05  H-OUT-IMPUTED-MAP          PIC 9(07)V9(04).
031900     05  H-OUT-CM-ADJ-PREDICT-MAP-TRT
032000                                    PIC 9(07)V9(04).
032100     05  H-OUT-PREDICTED-MAP        PIC 9(07)V9(04).
032200     05  H-OUT-PAYMENT              PIC 9(07)V9(04).
032300     05  H-OUT-HEMO-EQUIV-PAYMENT   PIC 9(07)V9(04).
032400
032500
032600* The following variable will change from year to year and is
032700* used for the BUNDLED part of the Bundled Pricer.
032800 01  BUNDLED-BASE-PMT-RATE          PIC 9(04)V9(02) VALUE 234.81.
032900
033000* The next two percentages MUST add up to 1 (i.e. 100%)
033100* They start in 2011 and will continue to change until CY2014 when
033200* BUN-CBSA-BLEND-PCT will be 1.00
033300* The third blend percent is for those providers that waived the
033400* blended percent and went to full PPS.  This variable will be
033500* eliminated in 2014 when it is no longer needed.
033600 01  COM-CBSA-BLEND-PCT             PIC 9(01)V9(02) VALUE 0.50.
033700 01  BUN-CBSA-BLEND-PCT             PIC 9(01)V9(02) VALUE 0.50.
033800 01  WAIVE-CBSA-BLEND-PCT           PIC 9(01)V9(02) VALUE 1.00.
033900
034000* CONSTANTS AREA
034100* The next two percentages MUST add up TO 1 (i.e. 100%)
034200 01  BUN-NAT-LABOR-PCT              PIC 9(01)V9(05) VALUE 0.41737.
034300 01  BUN-NAT-NONLABOR-PCT           PIC 9(01)V9(05) VALUE 0.58263.
034400 01  TRAINING-ADD-ON-PMT-AMT        PIC 9(02)V9(02) VALUE 33.44.
034500
034600*  The following number that is loaded into the payment equation
034700*  is meant to BUDGET NEUTRALIZE changes in the bundled case-mix
034800*  and   --DOES NOT CHANGE--
034900
035000 01  TRANSITION-BDGT-NEUT-FACTOR    PIC 9(01)V9(04) VALUE 0.9690.
035100
035200 01  PEDIATRIC-MULTIPLIERS.
035300*Separately billable payment multiplier (used for outliers)
035400     05  PED-SEP-BILL-PAY-MULTI.
035500         10  SB-AGE-LT-13-PD-MODE   PIC 9(01)V9(03) VALUE 0.319.
035600         10  SB-AGE-LT-13-HEMO-MODE PIC 9(01)V9(03) VALUE 1.185.
035700         10  SB-AGE-13-17-PD-MODE   PIC 9(01)V9(03) VALUE 0.476.
035800         10  SB-AGE-13-17-HEMO-MODE PIC 9(01)V9(03) VALUE 1.459.
035900     05  PED-EXPAND-BUNDLE-PAY-MULTI.
036000*Expanded bundle payment multiplier (used for normal billing)
036100         10  EB-AGE-LT-13-PD-MODE   PIC 9(01)V9(03) VALUE 1.033.
036200         10  EB-AGE-LT-13-HEMO-MODE PIC 9(01)V9(03) VALUE 1.219.
036300         10  EB-AGE-13-17-PD-MODE   PIC 9(01)V9(03) VALUE 1.067.
036400         10  EB-AGE-13-17-HEMO-MODE PIC 9(01)V9(03) VALUE 1.277.
036500
036600 01  ADULT-MULTIPLIERS.
036700*Separately billable payment multiplier (used for outliers)
036800     05  SEP-BILLABLE-PAYMANT-MULTI.
036900         10  SB-AGE-18-44           PIC 9(01)V9(03) VALUE 0.996.
037000         10  SB-AGE-45-59           PIC 9(01)V9(03) VALUE 0.992.
037100         10  SB-AGE-60-69           PIC 9(01)V9(03) VALUE 1.000.
037200         10  SB-AGE-70-79           PIC 9(01)V9(03) VALUE 0.963.
037300         10  SB-AGE-80-PLUS         PIC 9(01)V9(03) VALUE 0.915.
037400         10  SB-BSA                 PIC 9(01)V9(03) VALUE 1.014.
037500         10  SB-BMI-LT-18-5         PIC 9(01)V9(03) VALUE 1.078.
037600         10  SB-ONSET-LE-120        PIC 9(01)V9(03) VALUE 1.450.
037700         10  SB-PERICARDITIS        PIC 9(01)V9(03) VALUE 1.354.
037800         10  SB-PNEUMONIA           PIC 9(01)V9(03) VALUE 1.422.
037900         10  SB-GI-BLEED            PIC 9(01)V9(03) VALUE 1.571.
038000         10  SB-SICKEL-CELL         PIC 9(01)V9(03) VALUE 1.225.
038100         10  SB-MYELODYSPLASTIC     PIC 9(01)V9(03) VALUE 1.309.
038200         10  SB-MONOCLONAL-GAMM     PIC 9(01)V9(03) VALUE 1.074.
038300         10  SB-LOW-VOL-ADJ-LT-4000 PIC 9(01)V9(03) VALUE 0.975.
038400*Case-Mix adjusted payment multiplier (used for normal billing)
038500     05  CASE-MIX-PAYMENT-MULTI.
038600         10  CM-AGE-18-44           PIC 9(01)V9(03) VALUE 1.171.
038700         10  CM-AGE-45-59           PIC 9(01)V9(03) VALUE 1.013.
038800         10  CM-AGE-60-69           PIC 9(01)V9(03) VALUE 1.000.
038900         10  CM-AGE-70-79           PIC 9(01)V9(03) VALUE 1.011.
039000         10  CM-AGE-80-PLUS         PIC 9(01)V9(03) VALUE 1.016.
039100         10  CM-BSA                 PIC 9(01)V9(03) VALUE 1.020.
039200         10  CM-BMI-LT-18-5         PIC 9(01)V9(03) VALUE 1.025.
039300         10  CM-ONSET-LE-120        PIC 9(01)V9(03) VALUE 1.510.
039400         10  CM-PERICARDITIS        PIC 9(01)V9(03) VALUE 1.114.
039500         10  CM-PNEUMONIA           PIC 9(01)V9(03) VALUE 1.135.
039600         10  CM-GI-BLEED            PIC 9(01)V9(03) VALUE 1.183.
039700         10  CM-SICKEL-CELL         PIC 9(01)V9(03) VALUE 1.072.
039800         10  CM-MYELODYSPLASTIC     PIC 9(01)V9(03) VALUE 1.099.
039900         10  CM-MONOCLONAL-GAMM     PIC 9(01)V9(03) VALUE 1.024.
040000         10  CM-LOW-VOL-ADJ-LT-4000 PIC 9(01)V9(03) VALUE 1.189.
040100
040200 01  OUTLIER-SB-CALC-AMOUNTS.
040300     05  ADJ-AVG-MAP-AMT-LT-18      PIC 9(04)V9(02) VALUE 45.44.
040400     05  ADJ-AVG-MAP-AMT-GT-17      PIC 9(04)V9(02) VALUE 78.00.
040500     05  FIX-DOLLAR-LOSS-LT-18      PIC 9(04)V9(02) VALUE 71.64.
040600     05  FIX-DOLLAR-LOSS-GT-17      PIC 9(04)V9(02) VALUE 141.21.
040700     05  LOSS-SHARING-PCT-LT-18     PIC 9(03)V9(02) VALUE 0.80.
040800     05  LOSS-SHARING-PCT-GT-17     PIC 9(03)V9(02) VALUE 0.80.
040900/
041000******************************************************************
041100*    This area contains return code variables and their codes.   *
041200******************************************************************
041300 01 PAID-RETURN-CODE-TRACKERS.
041400     05  OUTLIER-TRACK              PIC X(01).
041500     05  ACUTE-COMORBID-TRACK       PIC X(01).
041600     05  CHRONIC-COMORBID-TRACK     PIC X(01).
041700     05  ONSET-TRACK                PIC X(01).
041800     05  LOW-VOLUME-TRACK           PIC X(01).
041900     05  TRAINING-TRACK             PIC X(01).
042000     05  PEDIATRIC-TRACK            PIC X(01).
042100     05  LOW-BMI-TRACK              PIC X(01).
042200 COPY RTCCPY.
042300*COPY "RTCCPY.CPY".
042400*                                                                *
042500*  Legal combinations of adjustments for ADULTS are:             *
042600*     if NO ONSET applies, then they can have any combination of:*
042700*       acute OR chronic comorbid, & outlier, low vol., training.*
042800*     if ONSET applies, then they can have:                      *
042900*           outlier and/or low volume.                           *
043000*  Legal combinations of adjustments for PEDIATRIC are:          *
043100*     outlier and/or training.                                   *
043200*                                                                *
043300*  Illegal combinations of adjustments for PEDIATRIC are:        *
043400*     pediatric with comorbid, onset, low volume, BSA, or BMI.   *
043500*     onset     with comorbid or training.                       *
043600*  Illegal combinations of adjustments for ANYONE are:           *
043700*     acute comorbid AND chronic comorbid.                       *
043800/
043900 LINKAGE SECTION.
044000 COPY BILLCPY.
044100*COPY "BILLCPY.CPY".
044200/
044300 COPY WAGECPY.
044400*COPY "WAGECPY.CPY".
044500/
044600 PROCEDURE DIVISION  USING BILL-NEW-DATA
044700                           PPS-DATA-ALL
044800                           WAGE-NEW-RATE-RECORD
044900                           COM-CBSA-WAGE-RECORD
045000                           BUN-CBSA-WAGE-RECORD.
045100
045200******************************************************************
045300* THERE ARE VARIOUS WAYS TO COMPUTE A FINAL DOLLAR AMOUNT.  THE  *
045400* METHOD USED IN THIS PROGRAM IS TO USE ROUNDED INTERMEDIATE     *
045500* VARIABLES.  THIS WAS DONE TO SIMPLIFY THE CALCULATIONS SO THAT *
045600* WHEN SOMETHING GOES AWRY, ONE IS NOT LEFT WONDERING WHERE IN   *
045700* A VAST COMPUTE STATEMENT, THINGS HAVE GONE AWRY.  THE METHOD   *
045800* UTILIZED HERE HAS BEEN APPROVED BY CMS.                        *
045900*                                                                *
046000*                                                                *
046100*                                                                *
046200*                                                                *
046300*    PROCESSING:                                                 *
046400*        A. WILL PROCESS CLAIMS BASED ON AGE/HEIGHT/WEIGHT       *
046500*        B. INITIALIZE ESCAL HOLD VARIABLES.                     *
046600*        C. EDIT THE DATA PASSED FROM THE CLAIM BEFORE           *
046700*           ATTEMPTING TO CALCULATE PPS. IF THIS CLAIM           *
046800*           CANNOT BE PROCESSED, SET A RETURN CODE AND           *
046900*           GOBACK.                                              *
047000*        D. ASSEMBLE PRICING COMPONENTS.                         *
047100*        E. CALCULATE THE PRICE.                                 *
047200******************************************************************
047300
047400 0000-START-TO-FINISH.
047500     INITIALIZE PPS-DATA-ALL.
047600
047700     IF BUNDLED-TEST  THEN
047800        INITIALIZE BILL-DATA-TEST
047900        INITIALIZE COND-CD-73
048000     END-IF.
048100     MOVE CAL-VERSION                  TO PPS-CALC-VERS-CD.
048200     MOVE ZEROS                        TO PPS-RTC.
048300
048400     PERFORM 1000-VALIDATE-BILL-ELEMENTS.
048500
048600     IF PPS-RTC = 00  THEN
048700        PERFORM 1200-INITIALIZATION
048800**Calculate patient age
048900        COMPUTE H-PATIENT-AGE = B-THRU-CCYY - B-DOB-CCYY
049000        IF B-DOB-MM > B-THRU-MM  THEN
049100           COMPUTE H-PATIENT-AGE = H-PATIENT-AGE - 1
049200        END-IF
049300        IF H-PATIENT-AGE < 18  THEN
049400           MOVE "Y"                    TO PEDIATRIC-TRACK
049500        END-IF
049600        PERFORM 2000-CALCULATE-BUNDLED-FACTORS
049700        IF P-PROV-WAIVE-BLEND-PAY-INDIC = 'N'  THEN
049800           PERFORM 5000-CALC-COMP-RATE-FACTORS
049900        END-IF
050000        PERFORM 9000-SET-RETURN-CODE
050100        PERFORM 9100-MOVE-RESULTS
050200     END-IF.
050300
050400     GOBACK.
050500/
050600 1000-VALIDATE-BILL-ELEMENTS.
050700     IF P-PROV-TYPE = '40'  OR  '41' OR '05'  THEN
050800        NEXT SENTENCE
050900     ELSE
051000        MOVE 52                        TO PPS-RTC
051100     END-IF.
051200
051300     IF PPS-RTC = 00  THEN
051400        IF P-SPEC-PYMT-IND NOT = '1' AND ' '  THEN
051500           MOVE 53                     TO PPS-RTC
051600        END-IF
051700     END-IF.
051800
051900     IF PPS-RTC = 00  THEN
052000        IF (B-DOB-DATE = ZERO)  OR  (B-DOB-DATE NOT NUMERIC)  THEN
052100           MOVE 54                     TO PPS-RTC
052200        END-IF
052300     END-IF.
052400
052500     IF PPS-RTC = 00  THEN
052600        IF (B-PATIENT-WGT = 0)  OR  (B-PATIENT-WGT NOT NUMERIC)
052700           MOVE 55                     TO PPS-RTC
052800        END-IF
052900     END-IF.
053000
053100     IF PPS-RTC = 00  THEN
053200        IF (B-PATIENT-HGT = 0)  OR  (B-PATIENT-HGT NOT NUMERIC)
053300           MOVE 56                     TO PPS-RTC
053400        END-IF
053500     END-IF.
053600
053700     IF PPS-RTC = 00  THEN
053800        IF B-REV-CODE  = '0821' OR '0831' OR '0841' OR '0851'
053900                                OR '0881'
054000           NEXT SENTENCE
054100        ELSE
054200           MOVE 57                     TO PPS-RTC
054300        END-IF
054400     END-IF.
054500
054600     IF PPS-RTC = 00  THEN
054700        IF B-COND-CODE NOT = '73' AND '74' AND '  '
054800           MOVE 58                     TO PPS-RTC
054900        END-IF
055000     END-IF.
055100
055200     IF PPS-RTC = 00  THEN
055300        IF P-QIP-REDUCTION NOT = '1' AND '2' AND '3' AND '4' AND
055400                                 ' '  THEN
055500           MOVE 53                     TO PPS-RTC
055600*  This RTC is for the Special Payment Indicator not = '1' or
055700*  blank, which closely approximates the intent of the edit check.
055800*  I propose to make this a PPS-RTC = 59 in 2013 version of Pricer.
055900        END-IF
056000     END-IF.
056100
056200     IF PPS-RTC = 00  THEN
056300        IF B-PATIENT-HGT > 300.00
056400           MOVE 71                     TO PPS-RTC
056500        END-IF
056600     END-IF.
056700
056800     IF PPS-RTC = 00  THEN
056900        IF B-PATIENT-WGT > 500.00  THEN
057000           MOVE 72                     TO PPS-RTC
057100        END-IF
057200     END-IF.
057300
057400* Before 2012 pricer, put in edit check to make sure that the
057500* # of sesions does not exceed the # of days in a month.  Maybe
057600* the # of cays in a month minus one when patient goes into a
057700* dialysis center for dialysis (i.e. CC = 74 and rev-cd = (0841
057800* or 0851)).  If done, then will need extra RTC.
057900     IF PPS-RTC = 00  THEN
058000        IF (B-CLAIM-NUM-DIALYSIS-SESSIONS = ZERO) OR
058100           (B-CLAIM-NUM-DIALYSIS-SESSIONS NOT NUMERIC)  THEN
058200           MOVE 73                     TO PPS-RTC
058300        END-IF
058400     END-IF.
058500
058600     IF PPS-RTC = 00  THEN
058700        IF (B-LINE-ITEM-DATE-SERVICE = ZERO) OR
058800           (B-LINE-ITEM-DATE-SERVICE NOT NUMERIC)  THEN
058900           MOVE 74                     TO PPS-RTC
059000        END-IF
059100     END-IF.
059200
059300     IF PPS-RTC = 00  THEN
059400        IF (B-DIALYSIS-START-DATE NOT NUMERIC)  THEN
059500           MOVE 75                     TO PPS-RTC
059600        END-IF
059700     END-IF.
059800
059900     IF PPS-RTC = 00  THEN
060000        IF (B-TOT-PRICE-SB-OUTLIER NOT NUMERIC) THEN
060100           MOVE 76                     TO PPS-RTC
060200        END-IF
060300     END-IF.
060400
060500     IF PPS-RTC = 00  THEN
060600        IF (COMORBID-CWF-RETURN-CODE = SPACES) OR
060700            VALID-COMORBID-CWF-RETURN-CD       THEN
060800           NEXT SENTENCE
060900        ELSE
061000           MOVE 81                     TO PPS-RTC
061100        END-IF
061200     END-IF.
061300/
061400 1200-INITIALIZATION.
061500     INITIALIZE HOLD-COMP-RATE-PPS-COMPONENTS.
061600     INITIALIZE HOLD-BUNDLED-PPS-COMPONENTS.
061700     INITIALIZE HOLD-OUTLIER-PPS-COMPONENTS.
061800     INITIALIZE PAID-RETURN-CODE-TRACKERS.
061900
062000     MOVE SPACES                       TO MOVED-CORMORBIDS.
062100
062200     IF P-QIP-REDUCTION = ' '  THEN
062300* no reduction
062400        MOVE 1.000 TO QIP-REDUCTION
062500     ELSE
062600        IF P-QIP-REDUCTION = '1'  THEN
062700* one-half percent reduction
062800           MOVE 0.995 TO QIP-REDUCTION
062900        ELSE
063000           IF P-QIP-REDUCTION = '2'  THEN
063100* one percent reduction
063200              MOVE 0.990 TO QIP-REDUCTION
063300           ELSE
063400              IF P-QIP-REDUCTION = '3'  THEN
063500* one and one-half percent reduction
063600                 MOVE 0.985 TO QIP-REDUCTION
063700              ELSE
063800* two percent reduction
063900                 MOVE 0.980 TO QIP-REDUCTION
064000              END-IF
064100           END-IF
064200        END-IF
064300     END-IF.
064400
064500*    Since pricer has to pay a comorbid condition according to the
064600* return code that CWF passes back, it is cleaner if the pricer
064700* sets aside whatever comorbid data exists on the line-item when
064800* it comes into the pricer and then transferrs the CWF code to
064900* the appropriate place in the comorbid data.  This avoids
065000* making convoluted changes in the other parts of the program
065100* which has to look at both original comorbid data AND CWF return
065200* codes to handle comorbids.  Near the end of the program where
065300* variables are transferred to the output, the original comorbid
065400* data is put back into its original place as though nothing
065500* occurred.
065600     IF COMORBID-CWF-RETURN-CODE = SPACES  THEN
065700        NEXT SENTENCE
065800     ELSE
065900        MOVE 'Y'                       TO MOVED-CORMORBIDS
066000        MOVE COMORBID-DATA (1)         TO H-COMORBID-DATA (1)
066100        MOVE COMORBID-DATA (2)         TO H-COMORBID-DATA (2)
066200        MOVE COMORBID-DATA (3)         TO H-COMORBID-DATA (3)
066300        MOVE COMORBID-DATA (4)         TO H-COMORBID-DATA (4)
066400        MOVE COMORBID-DATA (5)         TO H-COMORBID-DATA (5)
066500        MOVE COMORBID-DATA (6)         TO H-COMORBID-DATA (6)
066600        MOVE COMORBID-CWF-RETURN-CODE  TO H-COMORBID-CWF-CODE
066700        IF COMORBID-CWF-RETURN-CODE = '10'  THEN
066800           MOVE SPACES                 TO COMORBID-DATA (1)
066900                                          COMORBID-DATA (2)
067000                                          COMORBID-DATA (3)
067100                                          COMORBID-DATA (4)
067200                                          COMORBID-DATA (5)
067300                                          COMORBID-DATA (6)
067400                                          COMORBID-CWF-RETURN-CODE
067500        ELSE
067600           IF COMORBID-CWF-RETURN-CODE = '20'  THEN
067700              MOVE 'MA'                TO COMORBID-DATA (1)
067800              MOVE SPACES              TO COMORBID-DATA (2)
067900                                          COMORBID-DATA (3)
068000                                          COMORBID-DATA (4)
068100                                          COMORBID-DATA (5)
068200                                          COMORBID-DATA (6)
068300                                          COMORBID-CWF-RETURN-CODE
068400           ELSE
068500              IF COMORBID-CWF-RETURN-CODE = '30'  THEN
068600                 MOVE SPACES           TO COMORBID-DATA (1)
068700                 MOVE 'MB'             TO COMORBID-DATA (2)
068800                 MOVE SPACES           TO COMORBID-DATA (3)
068900                 MOVE SPACES           TO COMORBID-DATA (4)
069000                 MOVE SPACES           TO COMORBID-DATA (5)
069100                 MOVE SPACES           TO COMORBID-DATA (6)
069200                                          COMORBID-CWF-RETURN-CODE
069300              ELSE
069400                 IF COMORBID-CWF-RETURN-CODE = '40'  THEN
069500                    MOVE SPACES        TO COMORBID-DATA (1)
069600                    MOVE SPACES        TO COMORBID-DATA (2)
069700                    MOVE 'MC'          TO COMORBID-DATA (3)
069800                    MOVE SPACES        TO COMORBID-DATA (4)
069900                    MOVE SPACES        TO COMORBID-DATA (5)
070000                    MOVE SPACES        TO COMORBID-DATA (6)
070100                                          COMORBID-CWF-RETURN-CODE
070200                 ELSE
070300                    IF COMORBID-CWF-RETURN-CODE = '50'  THEN
070400                       MOVE SPACES     TO COMORBID-DATA (1)
070500                       MOVE SPACES     TO COMORBID-DATA (2)
070600                       MOVE SPACES     TO COMORBID-DATA (3)
070700                       MOVE 'MD'       TO COMORBID-DATA (4)
070800                       MOVE SPACES     TO COMORBID-DATA (5)
070900                       MOVE SPACES     TO COMORBID-DATA (6)
071000                                          COMORBID-CWF-RETURN-CODE
071100                    ELSE
071200                       IF COMORBID-CWF-RETURN-CODE = '60'  THEN
071300                          MOVE SPACES  TO COMORBID-DATA (1)
071400                          MOVE SPACES  TO COMORBID-DATA (2)
071500                          MOVE SPACES  TO COMORBID-DATA (3)
071600                          MOVE SPACES  TO COMORBID-DATA (4)
071700                          MOVE 'ME'    TO COMORBID-DATA (5)
071800                          MOVE SPACES  TO COMORBID-DATA (6)
071900                                          COMORBID-CWF-RETURN-CODE
072000                       ELSE
072100                          MOVE SPACES  TO COMORBID-DATA (1)
072200                                          COMORBID-DATA (2)
072300                                          COMORBID-DATA (3)
072400                                          COMORBID-DATA (4)
072500                                          COMORBID-DATA (5)
072600                                          COMORBID-CWF-RETURN-CODE
072700                          MOVE 'MF'    TO COMORBID-DATA (6)
072800                       END-IF
072900                    END-IF
073000                 END-IF
073100              END-IF
073200           END-IF
073300        END-IF
073400     END-IF.
073500
073600******************************************************************
073700***Calculate BUNDLED Wage Adjusted Rate (note different method)***
073800******************************************************************
073900     COMPUTE H-BUN-NAT-LABOR-AMT ROUNDED =
074000        (BUNDLED-BASE-PMT-RATE * BUN-NAT-LABOR-PCT) *
074100         BUN-CBSA-W-INDEX.
074200
074300     COMPUTE H-BUN-NAT-NONLABOR-AMT ROUNDED =
074400        BUNDLED-BASE-PMT-RATE * BUN-NAT-NONLABOR-PCT
074500
074600     COMPUTE H-BUN-BASE-WAGE-AMT ROUNDED =
074700        H-BUN-NAT-LABOR-AMT + H-BUN-NAT-NONLABOR-AMT.
074800/
074900 2000-CALCULATE-BUNDLED-FACTORS.
075000******************************************************************
075100***  Set BUNDLED age adjustment factor                         ***
075200******************************************************************
075300     IF H-PATIENT-AGE < 13  THEN
075400        IF B-REV-CODE = '0821'  THEN
075500           MOVE EB-AGE-LT-13-HEMO-MODE TO H-BUN-AGE-FACTOR
075600        ELSE
075700           MOVE EB-AGE-LT-13-PD-MODE   TO H-BUN-AGE-FACTOR
075800        END-IF
075900     ELSE
076000        IF H-PATIENT-AGE < 18 THEN
076100           IF B-REV-CODE = '0821'  THEN
076200              MOVE EB-AGE-13-17-HEMO-MODE
076300                                       TO H-BUN-AGE-FACTOR
076400           ELSE
076500              MOVE EB-AGE-13-17-PD-MODE
076600                                       TO H-BUN-AGE-FACTOR
076700           END-IF
076800        ELSE
076900           IF H-PATIENT-AGE < 45  THEN
077000              MOVE CM-AGE-18-44        TO H-BUN-AGE-FACTOR
077100           ELSE
077200              IF H-PATIENT-AGE < 60  THEN
077300                 MOVE CM-AGE-45-59     TO H-BUN-AGE-FACTOR
077400              ELSE
077500                 IF H-PATIENT-AGE < 70  THEN
077600                    MOVE CM-AGE-60-69  TO H-BUN-AGE-FACTOR
077700                 ELSE
077800                    IF H-PATIENT-AGE < 80  THEN
077900                       MOVE CM-AGE-70-79
078000                                       TO H-BUN-AGE-FACTOR
078100                    ELSE
078200                       MOVE CM-AGE-80-PLUS
078300                                       TO H-BUN-AGE-FACTOR
078400                    END-IF
078500                 END-IF
078600              END-IF
078700           END-IF
078800        END-IF
078900     END-IF.
079000
079100******************************************************************
079200***  Calculate BUNDLED BSA factor (note NEW formula)           ***
079300******************************************************************
079400     COMPUTE H-BUN-BSA  ROUNDED = (.007184 *
079500         (B-PATIENT-HGT ** .725) * (B-PATIENT-WGT ** .425))
079600
079700     IF H-PATIENT-AGE > 17  THEN
079800        COMPUTE H-BUN-BSA-FACTOR  ROUNDED =
079900             CM-BSA ** ((H-BUN-BSA - 1.87) / .1)
080000     ELSE
080100        MOVE 1.000                     TO H-BUN-BSA-FACTOR
080200     END-IF.
080300
080400******************************************************************
080500***  Calculate BUNDLED BMI factor                              ***
080600******************************************************************
080700     COMPUTE H-BUN-BMI  ROUNDED = (B-PATIENT-WGT /
080800         (B-PATIENT-HGT ** 2)) * 10000.
080900
081000     IF (H-PATIENT-AGE > 17) AND (H-BUN-BMI < 18.5)  THEN
081100        MOVE CM-BMI-LT-18-5            TO H-BUN-BMI-FACTOR
081200        MOVE "Y"                       TO LOW-BMI-TRACK
081300     ELSE
081400        MOVE 1.000                     TO H-BUN-BMI-FACTOR
081500     END-IF.
081600
081700******************************************************************
081800***  Calculate BUNDLED ONSET factor                            ***
081900******************************************************************
082000     IF B-DIALYSIS-START-DATE > ZERO  THEN
082100        MOVE B-LINE-ITEM-DATE-SERVICE  TO THE-DATE
082200        COMPUTE INTEGER-LINE-ITEM-DATE =
082300            FUNCTION INTEGER-OF-DATE(THE-DATE)
082400        MOVE B-DIALYSIS-START-DATE     TO THE-DATE
082500        COMPUTE INTEGER-DIALYSIS-DATE  =
082600            FUNCTION INTEGER-OF-DATE(THE-DATE)
082700* Need to add one to onset-date because the start date should
082800* be included in the count of days.  fix made 9/6/2011
082900        COMPUTE ONSET-DATE = (INTEGER-LINE-ITEM-DATE -
083000                              INTEGER-DIALYSIS-DATE) + 1
083100        IF H-PATIENT-AGE > 17  THEN
083200           IF ONSET-DATE > 120  THEN
083300              MOVE 1                   TO H-BUN-ONSET-FACTOR
083400           ELSE
083500              MOVE CM-ONSET-LE-120     TO H-BUN-ONSET-FACTOR
083600              MOVE "Y"                 TO ONSET-TRACK
083700           END-IF
083800        ELSE
083900           MOVE 1                      TO H-BUN-ONSET-FACTOR
084000        END-IF
084100     ELSE
084200        MOVE 1.000                     TO H-BUN-ONSET-FACTOR
084300     END-IF.
084400
084500******************************************************************
084600***  Set BUNDLED Co-morbidities adjustment                     ***
084700******************************************************************
084800     IF COMORBID-CWF-RETURN-CODE = SPACES  THEN
084900        IF H-PATIENT-AGE  <  18  THEN
085000           MOVE 1.000                  TO
085100                                       H-BUN-COMORBID-MULTIPLIER
085200           MOVE '10'                   TO PPS-2011-COMORBID-PAY
085300        ELSE
085400           IF H-BUN-ONSET-FACTOR  =  CM-ONSET-LE-120  THEN
085500              MOVE 1.000               TO
085600                                       H-BUN-COMORBID-MULTIPLIER
085700              MOVE '10'                TO PPS-2011-COMORBID-PAY
085800           ELSE
085900              PERFORM 2100-CALC-COMORBID-ADJUST
086000              MOVE H-COMORBID-MULTIPLIER TO
086100                                       H-BUN-COMORBID-MULTIPLIER
086200           END-IF
086300        END-IF
086400     ELSE
086500        IF COMORBID-CWF-RETURN-CODE  =  '10'  THEN
086600           MOVE 1.000                  TO
086700                                       H-BUN-COMORBID-MULTIPLIER
086800           MOVE '10'                   TO PPS-2011-COMORBID-PAY
086900        ELSE
087000           IF COMORBID-CWF-RETURN-CODE  =  '20'  THEN
087100              MOVE CM-GI-BLEED         TO
087200                                       H-BUN-COMORBID-MULTIPLIER
087300              MOVE '20'                TO PPS-2011-COMORBID-PAY
087400           ELSE
087500              IF COMORBID-CWF-RETURN-CODE  =  '30'  THEN
087600                 MOVE CM-PNEUMONIA     TO
087700                                       H-BUN-COMORBID-MULTIPLIER
087800                 MOVE '30'             TO PPS-2011-COMORBID-PAY
087900              ELSE
088000                 IF COMORBID-CWF-RETURN-CODE  =  '40'  THEN
088100                    MOVE CM-PERICARDITIS TO
088200                                       H-BUN-COMORBID-MULTIPLIER
088300                    MOVE '40'          TO PPS-2011-COMORBID-PAY
088400                 END-IF
088500              END-IF
088600           END-IF
088700        END-IF
088800     END-IF.
088900
089000******************************************************************
089100***  Calculate BUNDLED Low Volume adjustment                   ***
089200******************************************************************
089300     IF P-PROV-LOW-VOLUME-INDIC = 'Y'  THEN
089400        IF H-PATIENT-AGE > 17  THEN
089500           MOVE CM-LOW-VOL-ADJ-LT-4000 TO
089600                                       H-BUN-LOW-VOL-MULTIPLIER
089700           MOVE "Y"                    TO  LOW-VOLUME-TRACK
089800        ELSE
089900           MOVE 1.000                  TO
090000                                       H-BUN-LOW-VOL-MULTIPLIER
090100        END-IF
090200     ELSE
090300        MOVE 1.000                     TO
090400                                       H-BUN-LOW-VOL-MULTIPLIER
090500     END-IF.
090600
090700******************************************************************
090800***  Calculate BUNDLED Adjusted PPS Base Rate                  ***
090900******************************************************************
091000     COMPUTE H-BUN-ADJUSTED-BASE-WAGE-AMT  ROUNDED  =
091100        (H-BUN-BASE-WAGE-AMT * H-BUN-AGE-FACTOR)    *
091200        (H-BUN-BSA-FACTOR    * H-BUN-BMI-FACTOR)    *
091300        (H-BUN-ONSET-FACTOR  * H-BUN-COMORBID-MULTIPLIER) *
091400        (H-BUN-LOW-VOL-MULTIPLIER).
091500
091600******************************************************************
091700***  Calculate BUNDLED Condition Code payment                  ***
091800******************************************************************
091900* Self-care in Training add-on
092000     IF B-COND-CODE = '73'  THEN
092100* no add-on when onset is present
092200        IF H-BUN-ONSET-FACTOR  =  CM-ONSET-LE-120  THEN
092300           MOVE ZERO                   TO
092400                                    H-BUN-WAGE-ADJ-TRAINING-AMT
092500        ELSE
092600* use new PPS training add-on amount times wage-index
092700           COMPUTE H-BUN-WAGE-ADJ-TRAINING-AMT  ROUNDED  =
092800             TRAINING-ADD-ON-PMT-AMT * BUN-CBSA-W-INDEX
092900           MOVE "Y"                    TO TRAINING-TRACK
093000        END-IF
093100     ELSE
093200* Dialysis in Home and (CAPD or CCPD) Per-Diem calculation
093300        IF (B-COND-CODE = '74')  AND
093400           (B-REV-CODE = '0841' OR '0851')  THEN
093500              COMPUTE H-CC-74-PER-DIEM-AMT  ROUNDED =
093600                 (H-BUN-ADJUSTED-BASE-WAGE-AMT * 3) / 7
093700        ELSE
093800           MOVE ZERO                   TO
093900                                    H-BUN-WAGE-ADJ-TRAINING-AMT
094000                                    H-CC-74-PER-DIEM-AMT
094100        END-IF
094200     END-IF.
094300
094400******************************************************************
094500***  Calculate BUNDLED ESRD PPS Final Payment Rate             ***
094600******************************************************************
094700     IF (B-COND-CODE = '74')  AND
094800        (B-REV-CODE = '0841' OR '0851')  THEN
094900           COMPUTE H-PPS-FINAL-PAY-AMT  ROUNDED  =
095000                           H-CC-74-PER-DIEM-AMT
095100           COMPUTE H-FULL-CLAIM-AMT  ROUNDED  =
095200              (H-BUN-ADJUSTED-BASE-WAGE-AMT *
095300              ((B-CLAIM-NUM-DIALYSIS-SESSIONS) * 3) / 7)
095400     ELSE
095500        COMPUTE H-PPS-FINAL-PAY-AMT  ROUNDED  =
095600                H-BUN-ADJUSTED-BASE-WAGE-AMT  +
095700                H-BUN-WAGE-ADJ-TRAINING-AMT
095800     END-IF.
095900
096000******************************************************************
096100***  Calculate BUNDLED Outlier                                 ***
096200******************************************************************
096300     PERFORM 2500-CALC-OUTLIER-FACTORS.
096400
096500******************************************************************
096600***  Calculate Low Volume payment for recovery purposes        ***
096700******************************************************************
096800     IF LOW-VOLUME-TRACK = "Y"  THEN
096900        PERFORM 3000-LOW-VOL-FULL-PPS-PAYMENT
097000        PERFORM 3100-LOW-VOL-OUT-PPS-PAYMENT
097100
097200        COMPUTE H-LV-PPS-FINAL-PAY-AMT = H-LV-PPS-FINAL-PAY-AMT -
097300           H-PPS-FINAL-PAY-AMT
097400
097500        COMPUTE H-LV-OUT-PAYMENT       = H-LV-OUT-PAYMENT       -
097600           H-OUT-PAYMENT
097700
097800        COMPUTE H-LV-PPS-FINAL-PAY-AMT = H-LV-PPS-FINAL-PAY-AMT +
097900           H-LV-OUT-PAYMENT
098000
098100        IF P-PROV-WAIVE-BLEND-PAY-INDIC = 'N'  THEN
098200           COMPUTE PPS-LOW-VOL-AMT  ROUNDED =
098300              H-LV-PPS-FINAL-PAY-AMT  *  BUN-CBSA-BLEND-PCT
098400        ELSE
098500           MOVE H-LV-PPS-FINAL-PAY-AMT TO PPS-LOW-VOL-AMT
098600        END-IF
098700     END-IF.
098800
098900
099000/
099100 2100-CALC-COMORBID-ADJUST.
099200******************************************************************
099300***  Calculate Co-morbidities adjustment                       ***
099400******************************************************************
099500*  This logic assumes that the comorbids are randomly assigned   *
099600*to the comorbid table.  It will select the highest comorbid for *
099700*payment if one is found.                                        *
099800******************************************************************
099900     MOVE 'N'                          TO IS-HIGH-COMORBID-FOUND.
100000     MOVE 1.000                        TO H-COMORBID-MULTIPLIER.
100100     MOVE '10'                         TO PPS-2011-COMORBID-PAY.
100200
100300     PERFORM VARYING  SUB  FROM  1 BY 1
100400       UNTIL SUB   >  6   OR   HIGH-COMORBID-FOUND
100500         IF COMORBID-DATA (SUB) = 'MA'  THEN
100600           MOVE CM-GI-BLEED            TO H-COMORBID-MULTIPLIER
100700           MOVE "Y"                    TO IS-HIGH-COMORBID-FOUND
100800           MOVE "Y"                    TO ACUTE-COMORBID-TRACK
100900           MOVE '20'                   TO PPS-2011-COMORBID-PAY
101000         ELSE
101100           IF COMORBID-DATA (SUB) = 'MB'  THEN
101200             IF CM-PNEUMONIA  >  H-COMORBID-MULTIPLIER  THEN
101300               MOVE CM-PNEUMONIA       TO H-COMORBID-MULTIPLIER
101400               MOVE "Y"                TO ACUTE-COMORBID-TRACK
101500               MOVE '30'               TO PPS-2011-COMORBID-PAY
101600             END-IF
101700           ELSE
101800             IF COMORBID-DATA (SUB) = 'MC'  THEN
101900                IF CM-PERICARDITIS  >
102000                                      H-COMORBID-MULTIPLIER  THEN
102100                  MOVE CM-PERICARDITIS TO H-COMORBID-MULTIPLIER
102200                  MOVE "Y"             TO ACUTE-COMORBID-TRACK
102300                  MOVE '40'            TO PPS-2011-COMORBID-PAY
102400                END-IF
102500             ELSE
102600               IF COMORBID-DATA (SUB) = 'MD'  THEN
102700                 IF CM-MYELODYSPLASTIC  >
102800                                      H-COMORBID-MULTIPLIER  THEN
102900                   MOVE CM-MYELODYSPLASTIC  TO
103000                                      H-COMORBID-MULTIPLIER
103100                   MOVE "Y"            TO CHRONIC-COMORBID-TRACK
103200                   MOVE '50'           TO PPS-2011-COMORBID-PAY
103300                 END-IF
103400               ELSE
103500                 IF COMORBID-DATA (SUB) = 'ME'  THEN
103600                   IF CM-SICKEL-CELL  >
103700                                      H-COMORBID-MULTIPLIER  THEN
103800                     MOVE CM-SICKEL-CELL  TO
103900                                      H-COMORBID-MULTIPLIER
104000                     MOVE "Y"          TO CHRONIC-COMORBID-TRACK
104100                     MOVE '60'         TO PPS-2011-COMORBID-PAY
104200                   END-IF
104300                 ELSE
104400                   IF COMORBID-DATA (SUB) = 'MF'  THEN
104500                     IF CM-MONOCLONAL-GAMM  >
104600                                      H-COMORBID-MULTIPLIER  THEN
104700                       MOVE CM-MONOCLONAL-GAMM TO
104800                                      H-COMORBID-MULTIPLIER
104900                       MOVE "Y"        TO CHRONIC-COMORBID-TRACK
105000                       MOVE '70'       TO PPS-2011-COMORBID-PAY
105100                     END-IF
105200                   END-IF
105300                 END-IF
105400               END-IF
105500             END-IF
105600           END-IF
105700         END-IF
105800     END-PERFORM.
105900/
106000 2500-CALC-OUTLIER-FACTORS.
106100******************************************************************
106200***  Set separately billable OUTLIER age adjustment factor     ***
106300******************************************************************
106400     IF H-PATIENT-AGE < 13  THEN
106500        IF B-REV-CODE = '0821'  THEN
106600           MOVE SB-AGE-LT-13-HEMO-MODE TO H-OUT-AGE-FACTOR
106700        ELSE
106800           MOVE SB-AGE-LT-13-PD-MODE   TO H-OUT-AGE-FACTOR
106900        END-IF
107000     ELSE
107100        IF H-PATIENT-AGE < 18 THEN
107200           IF B-REV-CODE = '0821'  THEN
107300              MOVE SB-AGE-13-17-HEMO-MODE
107400                                       TO H-OUT-AGE-FACTOR
107500           ELSE
107600              MOVE SB-AGE-13-17-PD-MODE
107700                                       TO H-OUT-AGE-FACTOR
107800           END-IF
107900        ELSE
108000           IF H-PATIENT-AGE < 45  THEN
108100              MOVE SB-AGE-18-44        TO H-OUT-AGE-FACTOR
108200           ELSE
108300              IF H-PATIENT-AGE < 60  THEN
108400                 MOVE SB-AGE-45-59     TO H-OUT-AGE-FACTOR
108500              ELSE
108600                 IF H-PATIENT-AGE < 70  THEN
108700                    MOVE SB-AGE-60-69  TO H-OUT-AGE-FACTOR
108800                 ELSE
108900                    IF H-PATIENT-AGE < 80  THEN
109000                       MOVE SB-AGE-70-79
109100                                       TO H-OUT-AGE-FACTOR
109200                    ELSE
109300                       MOVE SB-AGE-80-PLUS
109400                                       TO H-OUT-AGE-FACTOR
109500                    END-IF
109600                 END-IF
109700              END-IF
109800           END-IF
109900        END-IF
110000     END-IF.
110100
110200******************************************************************
110300**Calculate separately billable OUTLIER BSA factor (superscript)**
110400******************************************************************
110500     COMPUTE H-OUT-BSA  ROUNDED = (.007184 *
110600         (B-PATIENT-HGT ** .725) * (B-PATIENT-WGT ** .425))
110700
110800     IF H-PATIENT-AGE > 17  THEN
110900        COMPUTE H-OUT-BSA-FACTOR  ROUNDED =
111000             SB-BSA ** ((H-OUT-BSA - 1.87) / .1)
111100     ELSE
111200        MOVE 1.000                     TO H-OUT-BSA-FACTOR
111300     END-IF.
111400
111500******************************************************************
111600***  Calculate separately billable OUTLIER BMI factor          ***
111700******************************************************************
111800     COMPUTE H-OUT-BMI  ROUNDED = (B-PATIENT-WGT /
111900         (B-PATIENT-HGT ** 2)) * 10000.
112000
112100     IF (H-PATIENT-AGE > 17) AND (H-OUT-BMI < 18.5)  THEN
112200        MOVE SB-BMI-LT-18-5            TO H-OUT-BMI-FACTOR
112300     ELSE
112400        MOVE 1.000                     TO H-OUT-BMI-FACTOR
112500     END-IF.
112600
112700******************************************************************
112800***  Calculate separately billable OUTLIER ONSET factor        ***
112900******************************************************************
113000     IF B-DIALYSIS-START-DATE > ZERO  THEN
113100        IF H-PATIENT-AGE > 17  THEN
113200           IF ONSET-DATE > 120  THEN
113300              MOVE 1                   TO H-OUT-ONSET-FACTOR
113400           ELSE
113500              MOVE SB-ONSET-LE-120     TO H-OUT-ONSET-FACTOR
113600           END-IF
113700        ELSE
113800           MOVE 1                      TO H-OUT-ONSET-FACTOR
113900        END-IF
114000     ELSE
114100        MOVE 1.000                     TO H-OUT-ONSET-FACTOR
114200     END-IF.
114300
114400******************************************************************
114500***  Set separately billable OUTLIER Co-morbidities adjustment ***
114600******************************************************************
114700     IF COMORBID-CWF-RETURN-CODE = SPACES  THEN
114800        IF H-PATIENT-AGE  <  18  THEN
114900           MOVE 1.000                  TO
115000                                       H-OUT-COMORBID-MULTIPLIER
115100           MOVE '10'                   TO PPS-2011-COMORBID-PAY
115200        ELSE
115300           IF H-BUN-ONSET-FACTOR  =  CM-ONSET-LE-120  THEN
115400              MOVE 1.000               TO
115500                                       H-OUT-COMORBID-MULTIPLIER
115600              MOVE '10'                TO PPS-2011-COMORBID-PAY
115700           ELSE
115800              PERFORM 2600-CALC-COMORBID-OUT-ADJUST
115900           END-IF
116000        END-IF
116100     ELSE
116200        IF COMORBID-CWF-RETURN-CODE  =  '10'  THEN
116300           MOVE 1.000                  TO
116400                                       H-OUT-COMORBID-MULTIPLIER
116500        ELSE
116600           IF COMORBID-CWF-RETURN-CODE  =  '20'  THEN
116700              MOVE SB-GI-BLEED         TO
116800                                       H-OUT-COMORBID-MULTIPLIER
116900           ELSE
117000              IF COMORBID-CWF-RETURN-CODE  =  '30'  THEN
117100                 MOVE SB-PNEUMONIA     TO
117200                                       H-OUT-COMORBID-MULTIPLIER
117300              ELSE
117400                 IF COMORBID-CWF-RETURN-CODE  =  '40'  THEN
117500                    MOVE SB-PERICARDITIS TO
117600                                       H-OUT-COMORBID-MULTIPLIER
117700                 END-IF
117800              END-IF
117900           END-IF
118000        END-IF
118100     END-IF.
118200
118300******************************************************************
118400***  Set OUTLIER low-volume-multiplier                         ***
118500******************************************************************
118600     IF P-PROV-LOW-VOLUME-INDIC = "N"  THEN
118700        MOVE 1                         TO H-OUT-LOW-VOL-MULTIPLIER
118800     ELSE
118900        IF H-PATIENT-AGE < 18  THEN
119000           MOVE 1                      TO H-OUT-LOW-VOL-MULTIPLIER
119100        ELSE
119200           MOVE SB-LOW-VOL-ADJ-LT-4000 TO H-OUT-LOW-VOL-MULTIPLIER
119300           MOVE "Y"                    TO LOW-VOLUME-TRACK
119400        END-IF
119500     END-IF.
119600
119700******************************************************************
119800***  Calculate predicted OUTLIER services MAP per treatment    ***
119900******************************************************************
120000     COMPUTE H-OUT-PREDICTED-SERVICES-MAP  ROUNDED =
120100        (H-OUT-AGE-FACTOR             *
120200         H-OUT-BSA-FACTOR             *
120300         H-OUT-BMI-FACTOR             *
120400         H-OUT-ONSET-FACTOR           *
120500         H-OUT-COMORBID-MULTIPLIER    *
120600         H-OUT-LOW-VOL-MULTIPLIER).
120700
120800******************************************************************
120900***  Calculate case mix adjusted predicted OUTLIER serv MAP/trt***
121000******************************************************************
121100     IF H-PATIENT-AGE < 18  THEN
121200        COMPUTE H-OUT-CM-ADJ-PREDICT-MAP-TRT  ROUNDED  =
121300           (H-OUT-PREDICTED-SERVICES-MAP * ADJ-AVG-MAP-AMT-LT-18)
121400        MOVE ADJ-AVG-MAP-AMT-LT-18     TO  H-OUT-ADJ-AVG-MAP-AMT
121500     ELSE
121600
121700        COMPUTE H-OUT-CM-ADJ-PREDICT-MAP-TRT  ROUNDED  =
121800           (H-OUT-PREDICTED-SERVICES-MAP * ADJ-AVG-MAP-AMT-GT-17)
121900        MOVE ADJ-AVG-MAP-AMT-GT-17     TO  H-OUT-ADJ-AVG-MAP-AMT
122000     END-IF.
122100
122200******************************************************************
122300*** Calculate imputed OUTLIER services MAP amount per treatment***
122400******************************************************************
122500     IF (B-COND-CODE = '74')  AND
122600        (B-REV-CODE = '0841' OR '0851')  THEN
122700         COMPUTE H-HEMO-EQUIV-DIAL-SESSIONS  ROUNDED  =
122800            ((B-CLAIM-NUM-DIALYSIS-SESSIONS * 3) / 7)
122900         COMPUTE H-OUT-IMPUTED-MAP  ROUNDED =
123000         (B-TOT-PRICE-SB-OUTLIER / H-HEMO-EQUIV-DIAL-SESSIONS)
123100     ELSE
123200        COMPUTE H-OUT-IMPUTED-MAP  ROUNDED =
123300        (B-TOT-PRICE-SB-OUTLIER / B-CLAIM-NUM-DIALYSIS-SESSIONS)
123400     END-IF.
123500
123600******************************************************************
123700*** Comparison of predicted to the imputed OUTLIER svc MAP/trt ***
123800******************************************************************
123900     IF H-PATIENT-AGE < 18   THEN
124000        COMPUTE H-OUT-PREDICTED-MAP  ROUNDED  =
124100           H-OUT-CM-ADJ-PREDICT-MAP-TRT + FIX-DOLLAR-LOSS-LT-18
124200        MOVE FIX-DOLLAR-LOSS-LT-18     TO H-OUT-FIX-DOLLAR-LOSS
124300        IF H-OUT-IMPUTED-MAP  >  H-OUT-PREDICTED-MAP  THEN
124400           COMPUTE H-OUT-PAYMENT  ROUNDED  =
124500            (H-OUT-IMPUTED-MAP  -  H-OUT-PREDICTED-MAP)  *
124600                                         LOSS-SHARING-PCT-LT-18
124700           MOVE LOSS-SHARING-PCT-LT-18 TO H-OUT-LOSS-SHARING-PCT
124800           MOVE "Y"                    TO OUTLIER-TRACK
124900        ELSE
125000           MOVE ZERO                   TO H-OUT-PAYMENT
125100           MOVE ZERO                   TO H-OUT-LOSS-SHARING-PCT
125200        END-IF
125300     ELSE
125400        COMPUTE H-OUT-PREDICTED-MAP  ROUNDED =
125500           H-OUT-CM-ADJ-PREDICT-MAP-TRT + FIX-DOLLAR-LOSS-GT-17
125600           MOVE FIX-DOLLAR-LOSS-GT-17  TO H-OUT-FIX-DOLLAR-LOSS
125700        IF H-OUT-IMPUTED-MAP  >  H-OUT-PREDICTED-MAP  THEN
125800           COMPUTE H-OUT-PAYMENT  ROUNDED  =
125900            (H-OUT-IMPUTED-MAP  -  H-OUT-PREDICTED-MAP)  *
126000                                         LOSS-SHARING-PCT-GT-17
126100           MOVE LOSS-SHARING-PCT-GT-17 TO H-OUT-LOSS-SHARING-PCT
126200           MOVE "Y"                    TO OUTLIER-TRACK
126300        ELSE
126400           MOVE ZERO                   TO H-OUT-PAYMENT
126500        END-IF
126600     END-IF.
126700
126800     MOVE H-OUT-PAYMENT                TO OUT-NON-PER-DIEM-PAYMENT.
126900
127000* Dialysis in Home and (CAPD or CCPD) Per-Diem calculation
127100     IF (B-COND-CODE = '74')  AND
127200        (B-REV-CODE = '0841' OR '0851')  THEN
127300           COMPUTE H-OUT-PAYMENT ROUNDED = H-OUT-PAYMENT *
127400             (((B-CLAIM-NUM-DIALYSIS-SESSIONS) * 3) / 7)
127500     END-IF.
127600/
127700 2600-CALC-COMORBID-OUT-ADJUST.
127800******************************************************************
127900***  Calculate OUTLIER Co-morbidities adjustment               ***
128000******************************************************************
128100*  This logic assumes that the comorbids are randomly assigned   *
128200*to the comorbid table.  It will select the highest comorbid for *
128300*payment if one is found.                                        *
128400******************************************************************
128500
128600     MOVE 'N'                          TO IS-HIGH-COMORBID-FOUND.
128700     MOVE 1.000                        TO
128800                                  H-OUT-COMORBID-MULTIPLIER.
128900
129000     PERFORM VARYING  SUB  FROM  1 BY 1
129100       UNTIL SUB   >  6   OR   HIGH-COMORBID-FOUND
129200         IF COMORBID-DATA (SUB) = 'MA'  THEN
129300           MOVE SB-GI-BLEED            TO
129400                                  H-OUT-COMORBID-MULTIPLIER
129500           MOVE "Y"                    TO IS-HIGH-COMORBID-FOUND
129600           MOVE "Y"                    TO ACUTE-COMORBID-TRACK
129700         ELSE
129800           IF COMORBID-DATA (SUB) = 'MB'  THEN
129900             IF SB-PNEUMONIA  >  H-OUT-COMORBID-MULTIPLIER  THEN
130000               MOVE SB-PNEUMONIA       TO
130100                                  H-OUT-COMORBID-MULTIPLIER
130200               MOVE "Y"                TO ACUTE-COMORBID-TRACK
130300             END-IF
130400           ELSE
130500             IF COMORBID-DATA (SUB) = 'MC'  THEN
130600                IF SB-PERICARDITIS  >
130700                                  H-OUT-COMORBID-MULTIPLIER  THEN
130800                  MOVE SB-PERICARDITIS TO
130900                                  H-OUT-COMORBID-MULTIPLIER
131000                  MOVE "Y"             TO ACUTE-COMORBID-TRACK
131100                END-IF
131200             ELSE
131300               IF COMORBID-DATA (SUB) = 'MD'  THEN
131400                 IF SB-MYELODYSPLASTIC  >
131500                                  H-OUT-COMORBID-MULTIPLIER  THEN
131600                   MOVE SB-MYELODYSPLASTIC  TO
131700                                  H-OUT-COMORBID-MULTIPLIER
131800                   MOVE "Y"            TO CHRONIC-COMORBID-TRACK
131900                 END-IF
132000               ELSE
132100                 IF COMORBID-DATA (SUB) = 'ME'  THEN
132200                   IF SB-SICKEL-CELL  >
132300                                  H-OUT-COMORBID-MULTIPLIER  THEN
132400                     MOVE SB-SICKEL-CELL  TO
132500                                  H-OUT-COMORBID-MULTIPLIER
132600                      MOVE "Y"          TO CHRONIC-COMORBID-TRACK
132700                   END-IF
132800                 ELSE
132900                   IF COMORBID-DATA (SUB) = 'MF'  THEN
133000                     IF SB-MONOCLONAL-GAMM  >
133100                                  H-OUT-COMORBID-MULTIPLIER  THEN
133200                       MOVE SB-MONOCLONAL-GAMM  TO
133300                                  H-OUT-COMORBID-MULTIPLIER
133400                       MOVE "Y"        TO CHRONIC-COMORBID-TRACK
133500                     END-IF
133600                   END-IF
133700                 END-IF
133800               END-IF
133900             END-IF
134000           END-IF
134100         END-IF
134200     END-PERFORM.
134300/
134400******************************************************************
134500*** Calculate Low Volume Full PPS payment for recovery purposes***
134600******************************************************************
134700 3000-LOW-VOL-FULL-PPS-PAYMENT.
134800******************************************************************
134900** Modified code from 'Calc BUNDLED Adjust PPS Base Rate' para. **
135000     COMPUTE H-LV-BUN-ADJUST-BASE-WAGE-AMT  ROUNDED  =
135100        (H-BUN-BASE-WAGE-AMT * H-BUN-AGE-FACTOR)     *
135200        (H-BUN-BSA-FACTOR    * H-BUN-BMI-FACTOR)     *
135300        (H-BUN-ONSET-FACTOR  * H-BUN-COMORBID-MULTIPLIER).
135400
135500******************************************************************
135600**Modified code from 'Calc BUNDLED Condition Code pay' paragraph**
135700* Self-care in Training add-on
135800     IF B-COND-CODE = '73'  THEN
135900* no add-on when onset is present
136000        IF H-BUN-ONSET-FACTOR  =  CM-ONSET-LE-120  THEN
136100           MOVE ZERO                   TO
136200                                    H-BUN-WAGE-ADJ-TRAINING-AMT
136300        ELSE
136400* use new PPS training add-on amount times wage-index
136500           COMPUTE H-BUN-WAGE-ADJ-TRAINING-AMT  ROUNDED  =
136600             TRAINING-ADD-ON-PMT-AMT * BUN-CBSA-W-INDEX
136700           MOVE "Y"                    TO TRAINING-TRACK
136800        END-IF
136900     ELSE
137000* Dialysis in Home and (CAPD or CCPD) Per-Diem calculation
137100        IF (B-COND-CODE = '74')  AND
137200           (B-REV-CODE = '0841' OR '0851')  THEN
137300              COMPUTE H-CC-74-PER-DIEM-AMT  ROUNDED =
137400                 (H-LV-BUN-ADJUST-BASE-WAGE-AMT * 3) / 7
137500        ELSE
137600           MOVE ZERO                   TO
137700                                    H-BUN-WAGE-ADJ-TRAINING-AMT
137800                                    H-CC-74-PER-DIEM-AMT
137900        END-IF
138000     END-IF.
138100
138200******************************************************************
138300**Modified code from 'Calc BUNDLED ESRD PPS Final Pay Rate para.**
138400     IF (B-COND-CODE = '74')  AND
138500        (B-REV-CODE = '0841' OR '0851')  THEN
138600           COMPUTE H-LV-PPS-FINAL-PAY-AMT  ROUNDED  =
138700                           H-CC-74-PER-DIEM-AMT
138800     ELSE
138900        COMPUTE H-LV-PPS-FINAL-PAY-AMT  ROUNDED  =
139000                H-LV-BUN-ADJUST-BASE-WAGE-AMT +
139100                H-BUN-WAGE-ADJ-TRAINING-AMT
139200     END-IF.
139300
139400/
139500******************************************************************
139600*** Calculate Low Volume OUT PPS payment for recovery purposes ***
139700******************************************************************
139800 3100-LOW-VOL-OUT-PPS-PAYMENT.
139900******************************************************************
140000**Modified code from 'Calc predict OUT serv MAP per treat' para.**
140100     COMPUTE H-LV-OUT-PREDICT-SERVICES-MAP  ROUNDED =
140200        (H-OUT-AGE-FACTOR             *
140300         H-OUT-BSA-FACTOR             *
140400         H-OUT-BMI-FACTOR             *
140500         H-OUT-ONSET-FACTOR           *
140600         H-OUT-COMORBID-MULTIPLIER).
140700
140800******************************************************************
140900**modifi code 'Calc case mix adj predict OUT serv MAP/trt' para.**
141000     IF H-PATIENT-AGE < 18  THEN
141100        COMPUTE H-LV-OUT-CM-ADJ-PREDICT-M-TRT  ROUNDED  =
141200           (H-LV-OUT-PREDICT-SERVICES-MAP * ADJ-AVG-MAP-AMT-LT-18)
141300        MOVE ADJ-AVG-MAP-AMT-LT-18     TO  H-OUT-ADJ-AVG-MAP-AMT
141400     ELSE
141500        COMPUTE H-LV-OUT-CM-ADJ-PREDICT-M-TRT  ROUNDED  =
141600           (H-LV-OUT-PREDICT-SERVICES-MAP * ADJ-AVG-MAP-AMT-GT-17)
141700        MOVE ADJ-AVG-MAP-AMT-GT-17     TO  H-OUT-ADJ-AVG-MAP-AMT
141800     END-IF.
141900
142000******************************************************************
142100** 'Calculate imput OUT services MAP amount per treatment' para **
142200** It is not necessary to modify or insert this paragraph here. **
142300
142400******************************************************************
142500**Modified 'Compare of predict to imputed OUT svc MAP/trt' para.**
142600     IF H-PATIENT-AGE < 18   THEN
142700        COMPUTE H-LV-OUT-PREDICTED-MAP  ROUNDED  =
142800           H-LV-OUT-CM-ADJ-PREDICT-M-TRT + FIX-DOLLAR-LOSS-LT-18
142900        MOVE FIX-DOLLAR-LOSS-LT-18     TO H-OUT-FIX-DOLLAR-LOSS
143000        IF H-OUT-IMPUTED-MAP  >  H-LV-OUT-PREDICTED-MAP  THEN
143100           COMPUTE H-LV-OUT-PAYMENT  ROUNDED  =
143200            (H-OUT-IMPUTED-MAP  -  H-LV-OUT-PREDICTED-MAP)  *
143300                                         LOSS-SHARING-PCT-LT-18
143400           MOVE LOSS-SHARING-PCT-LT-18 TO H-OUT-LOSS-SHARING-PCT
143500        ELSE
143600           MOVE ZERO                   TO H-LV-OUT-PAYMENT
143700           MOVE ZERO                   TO H-OUT-LOSS-SHARING-PCT
143800        END-IF
143900     ELSE
144000        COMPUTE H-LV-OUT-PREDICTED-MAP  ROUNDED =
144100           H-LV-OUT-CM-ADJ-PREDICT-M-TRT + FIX-DOLLAR-LOSS-GT-17
144200           MOVE FIX-DOLLAR-LOSS-GT-17  TO H-OUT-FIX-DOLLAR-LOSS
144300        IF H-OUT-IMPUTED-MAP  >  H-LV-OUT-PREDICTED-MAP  THEN
144400           COMPUTE H-LV-OUT-PAYMENT  ROUNDED  =
144500            (H-OUT-IMPUTED-MAP  -  H-LV-OUT-PREDICTED-MAP)  *
144600                                         LOSS-SHARING-PCT-GT-17
144700           MOVE LOSS-SHARING-PCT-GT-17 TO H-OUT-LOSS-SHARING-PCT
144800        ELSE
144900           MOVE ZERO                   TO H-LV-OUT-PAYMENT
145000        END-IF
145100     END-IF.
145200
145300     MOVE H-LV-OUT-PAYMENT             TO OUT-NON-PER-DIEM-PAYMENT.
145400
145500* Dialysis in Home and (CAPD or CCPD) Per-Diem calculation
145600     IF (B-COND-CODE = '74')  AND
145700        (B-REV-CODE = '0841' OR '0851')  THEN
145800           COMPUTE H-LV-OUT-PAYMENT ROUNDED = H-LV-OUT-PAYMENT *
145900             (((B-CLAIM-NUM-DIALYSIS-SESSIONS) * 3) / 7)
146000     END-IF.
146100/
146200 5000-CALC-COMP-RATE-FACTORS.
146300******************************************************************
146400***  Set Composite Rate age adjustment factor                  ***
146500******************************************************************
146600     IF H-PATIENT-AGE < 18  THEN
146700        MOVE CR-AGE-LT-18              TO H-AGE-FACTOR
146800     ELSE
146900        IF H-PATIENT-AGE < 45  THEN
147000           MOVE CR-AGE-18-44           TO H-AGE-FACTOR
147100        ELSE
147200           IF H-PATIENT-AGE < 60  THEN
147300              MOVE CR-AGE-45-59        TO H-AGE-FACTOR
147400           ELSE
147500              IF H-PATIENT-AGE < 70  THEN
147600                 MOVE CR-AGE-60-69     TO H-AGE-FACTOR
147700              ELSE
147800                 IF H-PATIENT-AGE < 80  THEN
147900                    MOVE CR-AGE-70-79  TO H-AGE-FACTOR
148000                 ELSE
148100                    MOVE CR-AGE-80-PLUS
148200                                       TO H-AGE-FACTOR
148300                 END-IF
148400              END-IF
148500           END-IF
148600        END-IF
148700     END-IF.
148800
148900******************************************************************
149000**Calculate Composite Rate BSA factor (2012 superscript now same)*
149100******************************************************************
149200     COMPUTE H-BSA  ROUNDED = (.007184 *
149300         (B-PATIENT-HGT ** .725) * (B-PATIENT-WGT ** .425))
149400
149500     IF H-PATIENT-AGE > 17  THEN
149600        COMPUTE H-BSA-FACTOR  ROUNDED =
149700             CR-BSA ** ((H-BSA - 1.87) / .1)
149800     ELSE
149900        MOVE 1.000                     TO H-BSA-FACTOR
150000     END-IF.
150100
150200******************************************************************
150300*** Calculate Composite Rate BMI factor (different BMI < 18.5) ***
150400******************************************************************
150500     COMPUTE H-BMI  ROUNDED = (B-PATIENT-WGT /
150600         (B-PATIENT-HGT ** 2)) * 10000.
150700
150800     IF (H-PATIENT-AGE > 17) AND (H-BMI < 18.5)  THEN
150900        MOVE CR-BMI-LT-18-5            TO H-BMI-FACTOR
151000     ELSE
151100        MOVE 1.000                     TO H-BMI-FACTOR
151200     END-IF.
151300
151400******************************************************************
151500***  Calculate Composite Rate Payment Amount                   ***
151600******************************************************************
151700*P-ESRD-RATE, also called the Exception Rate, will not be granted*
151800*in full beginning in 2011 (the beginning of the Bundled method) *
151900*and will be eliminated entirely beginning in 2014 which is the  *
152000*end of the blending period.  For 2011, those providers who elect*
152100*to be in the blend, will get only 75% of the exception rate.    *
152200*This is for the pediatric providers who originally              *
152300*had the exception rate.                                         *
152400
152500     IF P-ESRD-RATE  =  ZERO  THEN
152600        MOVE BASE-PAYMENT-RATE         TO  H-PAYMENT-RATE
152700     ELSE
152800        MOVE P-ESRD-RATE               TO  H-PAYMENT-RATE
152900     END-IF.
153000
153100     COMPUTE H-WAGE-ADJ-PYMT-AMT ROUNDED =
153200     (((H-PAYMENT-RATE * NAT-LABOR-PCT) * COM-CBSA-W-INDEX) +
153300       (H-PAYMENT-RATE * NAT-NONLABOR-PCT)) *
153400            CBSA-BLEND-PCT.
153500
153600     COMPUTE H-PYMT-AMT ROUNDED = (H-WAGE-ADJ-PYMT-AMT *
153700        H-BMI-FACTOR * H-BSA-FACTOR * CASE-MIX-BDGT-NEUT-FACTOR *
153800        H-AGE-FACTOR * DRUG-ADDON).
153900
154000     MOVE H-PYMT-AMT                   TO CASE-MIX-FCTR-ADJ-RATE.
154100
154200******************************************************************
154300***  Calculate condition code payment                          ***
154400******************************************************************
154500     MOVE SPACES                       TO COND-CD-73.
154600
154700* Hemo, peritoneal, or CCPD training add-on
154800     IF (B-COND-CODE = '73') AND (B-REV-CODE = '0821' OR '0831'
154900                                                      OR '0851')
155000        COMPUTE H-PYMT-AMT = H-PYMT-AMT + HEMO-PERI-CCPD-AMT
155100        MOVE 'A'                       TO AMT-INDIC
155200        MOVE HEMO-PERI-CCPD-AMT        TO BLOOD-DOLLAR
155300     ELSE
155400* CAPD training add-on
155500        IF (B-COND-CODE = '73')  AND  (B-REV-CODE = '0841')  THEN
155600           COMPUTE H-PYMT-AMT = H-PYMT-AMT + CAPD-AMT
155700           MOVE 'A'                    TO AMT-INDIC
155800           MOVE CAPD-AMT               TO BLOOD-DOLLAR
155900        ELSE
156000* Dialysis in Home and (CAPD or CCPD) Per-Diem calculation
156100           IF (B-COND-CODE = '74')  AND
156200              (B-REV-CODE = '0841' OR '0851')  THEN
156300              COMPUTE H-PYMT-AMT ROUNDED = H-PYMT-AMT *
156400                                           CAPD-OR-CCPD-FACTOR
156500              MOVE CAPD-OR-CCPD-FACTOR TO HEMO-CCPD-CAPD
156600           ELSE
156700              MOVE 'A'                 TO AMT-INDIC
156800              MOVE ZERO                TO BLOOD-DOLLAR
156900           END-IF
157000        END-IF
157100     END-IF.
157200
157300/
157400 9000-SET-RETURN-CODE.
157500******************************************************************
157600***  Set the return code                                       ***
157700******************************************************************
157800*   The following 'table' helps in understanding and in making   *
157900*changes to the rather large and complex "IF" statement that     *
158000*follows.  This 'table' just reorders and rewords the comments   *
158100*contained in the working storage area concerning the paid       *
158200*return-codes.                                                   *
158300*                                                                *
158400*  17 = pediatric, outlier, training                             *
158500*  16 = pediatric, outlier                                       *
158600*  15 = pediatric, training                                      *
158700*  14 = pediatric                                                *
158800*                                                                *
158900*  24 = outlier, low volume, training, chronic comorbid          *
159000*  19 = outlier, low volume, training, acute comorbid            *
159100*  29 = outlier, low volume, training                            *
159200*  23 = outlier, low volume, chronic comorbid                    *
159300*  18 = outlier, low volume, acute comorbid                      *
159400*  30 = outlier, low volume, onset                               *
159500*  28 = outlier, low volume                                      *
159600*  34 = outlier, training, chronic comorbid                      *
159700*  35 = outlier, training, acute comorbid                        *
159800*  33 = outlier, training                                        *
159900*  07 = outlier, chronic comorbid                                *
160000*  06 = outlier, acute comorbid                                  *
160100*  09 = outlier, onset                                           *
160200*  03 = outlier                                                  *
160300*                                                                *
160400*  26 = low volume, training, chronic comorbid                   *
160500*  21 = low volume, training, acute comorbid                     *
160600*  12 = low volume, training                                     *
160700*  25 = low volume, chronic comorbid                             *
160800*  20 = low volume, acute comorbid                               *
160900*  32 = low volume, onset                                        *
161000*  10 = low volume                                               *
161100*                                                                *
161200*  27 = training, chronic comorbid                               *
161300*  22 = training, acute comorbid                                 *
161400*  11 = training                                                 *
161500*                                                                *
161600*  08 = onset                                                    *
161700*  04 = acute comorbid                                           *
161800*  05 = chronic comorbid                                         *
161900*  31 = low BMI                                                  *
162000*  02 = no adjustments                                           *
162100*                                                                *
162200*  13 = w/multiple adjustments....reserved for future use        *
162300******************************************************************
162400/
162500     IF PEDIATRIC-TRACK                       = "Y"  THEN
162600        IF OUTLIER-TRACK                      = "Y"  THEN
162700           IF TRAINING-TRACK                  = "Y"  THEN
162800              MOVE 17                  TO PPS-RTC
162900           ELSE
163000              MOVE 16                  TO PPS-RTC
163100           END-IF
163200        ELSE
163300           IF TRAINING-TRACK                  = "Y"  THEN
163400              MOVE 15                  TO PPS-RTC
163500           ELSE
163600              MOVE 14                  TO PPS-RTC
163700           END-IF
163800        END-IF
163900     ELSE
164000        IF OUTLIER-TRACK                      = "Y"  THEN
164100           IF LOW-VOLUME-TRACK                = "Y"  THEN
164200              IF TRAINING-TRACK               = "Y"  THEN
164300                 IF CHRONIC-COMORBID-TRACK    = "Y"  THEN
164400                    MOVE 24            TO PPS-RTC
164500                 ELSE
164600                    IF ACUTE-COMORBID-TRACK   = "Y"  THEN
164700                       MOVE 19         TO PPS-RTC
164800                    ELSE
164900                       MOVE 29         TO PPS-RTC
165000                    END-IF
165100                 END-IF
165200              ELSE
165300                 IF CHRONIC-COMORBID-TRACK    = "Y"  THEN
165400                    MOVE 23            TO PPS-RTC
165500                 ELSE
165600                    IF ACUTE-COMORBID-TRACK   = "Y"  THEN
165700                       MOVE 18         TO PPS-RTC
165800                    ELSE
165900                       IF ONSET-TRACK         = "Y"  THEN
166000                          MOVE 30      TO PPS-RTC
166100                       ELSE
166200                          MOVE 28      TO PPS-RTC
166300                       END-IF
166400                    END-IF
166500                 END-IF
166600              END-IF
166700           ELSE
166800              IF TRAINING-TRACK               = "Y"  THEN
166900                 IF CHRONIC-COMORBID-TRACK    = "Y"  THEN
167000                    MOVE 34            TO PPS-RTC
167100                 ELSE
167200                    IF ACUTE-COMORBID-TRACK   = "Y"  THEN
167300                       MOVE 35         TO PPS-RTC
167400                    ELSE
167500                       MOVE 33         TO PPS-RTC
167600                    END-IF
167700                 END-IF
167800              ELSE
167900                 IF CHRONIC-COMORBID-TRACK    = "Y"  THEN
168000                    MOVE 07            TO PPS-RTC
168100                 ELSE
168200                    IF ACUTE-COMORBID-TRACK   = "Y"  THEN
168300                       MOVE 06         TO PPS-RTC
168400                    ELSE
168500                       IF ONSET-TRACK         = "Y"  THEN
168600                          MOVE 09      TO PPS-RTC
168700                       ELSE
168800                          MOVE 03      TO PPS-RTC
168900                       END-IF
169000                    END-IF
169100                 END-IF
169200              END-IF
169300           END-IF
169400        ELSE
169500           IF LOW-VOLUME-TRACK                = "Y"
169600              IF TRAINING-TRACK               = "Y"  THEN
169700                 IF CHRONIC-COMORBID-TRACK    = "Y"  THEN
169800                    MOVE 26            TO PPS-RTC
169900                 ELSE
170000                    IF ACUTE-COMORBID-TRACK   = "Y"  THEN
170100                       MOVE 21         TO PPS-RTC
170200                    ELSE
170300                       MOVE 12         TO PPS-RTC
170400                    END-IF
170500                 END-IF
170600              ELSE
170700                 IF CHRONIC-COMORBID-TRACK    = "Y"  THEN
170800                    MOVE 25            TO PPS-RTC
170900                 ELSE
171000                    IF ACUTE-COMORBID-TRACK   = "Y"  THEN
171100                       MOVE 20         TO PPS-RTC
171200                    ELSE
171300                       IF ONSET-TRACK         = "Y"  THEN
171400                          MOVE 32      TO PPS-RTC
171500                       ELSE
171600                          MOVE 10      TO PPS-RTC
171700                       END-IF
171800                    END-IF
171900                 END-IF
172000              END-IF
172100           ELSE
172200              IF TRAINING-TRACK               = "Y"  THEN
172300                 IF CHRONIC-COMORBID-TRACK    = "Y"  THEN
172400                    MOVE 27            TO PPS-RTC
172500                 ELSE
172600                    IF ACUTE-COMORBID-TRACK   = "Y"  THEN
172700                       MOVE 22         TO PPS-RTC
172800                    ELSE
172900                       MOVE 11         TO PPS-RTC
173000                    END-IF
173100                 END-IF
173200              ELSE
173300                 IF ONSET-TRACK               = "Y"  THEN
173400                    MOVE 08            TO PPS-RTC
173500                 ELSE
173600                    IF ACUTE-COMORBID-TRACK   = "Y"  THEN
173700                       MOVE 04         TO PPS-RTC
173800                    ELSE
173900                       IF CHRONIC-COMORBID-TRACK = "Y"  THEN
174000                          MOVE 05      TO PPS-RTC
174100                       ELSE
174200                          IF LOW-BMI-TRACK = "Y"  THEN
174300                             MOVE 31 TO PPS-RTC
174400                          ELSE
174500                             MOVE 02 TO PPS-RTC
174600                          END-IF
174700                       END-IF
174800                    END-IF
174900                 END-IF
175000              END-IF
175100           END-IF
175200        END-IF
175300     END-IF.
175400/
175500 9100-MOVE-RESULTS.
175600     IF MOVED-CORMORBIDS = SPACES  THEN
175700        NEXT SENTENCE
175800     ELSE
175900        MOVE H-COMORBID-DATA (1)       TO COMORBID-DATA (1)
176000        MOVE H-COMORBID-DATA (2)       TO COMORBID-DATA (2)
176100        MOVE H-COMORBID-DATA (3)       TO COMORBID-DATA (3)
176200        MOVE H-COMORBID-DATA (4)       TO COMORBID-DATA (4)
176300        MOVE H-COMORBID-DATA (5)       TO COMORBID-DATA (5)
176400        MOVE H-COMORBID-DATA (6)       TO COMORBID-DATA (6)
176500        MOVE H-COMORBID-CWF-CODE       TO
176600                                    COMORBID-CWF-RETURN-CODE
176700     END-IF.
176800
176900     MOVE P-GEO-MSA                    TO PPS-MSA.
177000     MOVE P-GEO-CBSA                   TO PPS-CBSA.
177100     MOVE H-WAGE-ADJ-PYMT-AMT          TO PPS-WAGE-ADJ-RATE.
177200     MOVE B-COND-CODE                  TO PPS-COND-CODE.
177300     MOVE B-REV-CODE                   TO PPS-REV-CODE.
177400     MOVE H-BUN-BASE-WAGE-AMT          TO PPS-2011-WAGE-ADJ-RATE.
177500     MOVE BUN-NAT-LABOR-PCT            TO PPS-2011-NAT-LABOR-PCT.
177600     MOVE BUN-NAT-NONLABOR-PCT         TO
177700                                    PPS-2011-NAT-NONLABOR-PCT.
177800     MOVE NAT-LABOR-PCT                TO PPS-NAT-LABOR-PCT.
177900     MOVE NAT-NONLABOR-PCT             TO PPS-NAT-NONLABOR-PCT.
178000     MOVE H-AGE-FACTOR                 TO PPS-AGE-FACTOR.
178100     MOVE H-BSA-FACTOR                 TO PPS-BSA-FACTOR.
178200     MOVE H-BMI-FACTOR                 TO PPS-BMI-FACTOR.
178300     MOVE CASE-MIX-BDGT-NEUT-FACTOR    TO PPS-BDGT-NEUT-RATE.
178400     MOVE H-BUN-AGE-FACTOR             TO PPS-2011-AGE-FACTOR.
178500     MOVE H-BUN-BSA-FACTOR             TO PPS-2011-BSA-FACTOR.
178600     MOVE H-BUN-BMI-FACTOR             TO PPS-2011-BMI-FACTOR.
178700     MOVE TRANSITION-BDGT-NEUT-FACTOR  TO
178800                                    PPS-2011-BDGT-NEUT-RATE.
178900     MOVE SPACES                       TO PPS-2011-COMORBID-MA.
179000     MOVE SPACES                       TO
179100                                    PPS-2011-COMORBID-MA-CC.
179200
179300     IF (B-COND-CODE = '74')  AND
179400        (B-REV-CODE = '0841' OR '0851')  THEN
179500         COMPUTE H-OUT-PAYMENT ROUNDED = H-OUT-PAYMENT /
179600                                     B-CLAIM-NUM-DIALYSIS-SESSIONS
179700     END-IF.
179800
179900     IF P-PROV-WAIVE-BLEND-PAY-INDIC        = 'N'  THEN
180000           COMPUTE PPS-2011-BLEND-COMP-RATE    ROUNDED =
180100              H-PYMT-AMT              *  COM-CBSA-BLEND-PCT
180200           COMPUTE PPS-2011-BLEND-PPS-RATE     ROUNDED =
180300              H-PPS-FINAL-PAY-AMT     *  BUN-CBSA-BLEND-PCT
180400           COMPUTE PPS-2011-BLEND-OUTLIER-RATE ROUNDED =
180500              H-OUT-PAYMENT           *  BUN-CBSA-BLEND-PCT
180600     ELSE
180700        MOVE ZERO                      TO
180800                                    PPS-2011-BLEND-COMP-RATE
180900        MOVE ZERO                      TO
181000                                    PPS-2011-BLEND-PPS-RATE
181100        MOVE ZERO                      TO
181200                                    PPS-2011-BLEND-OUTLIER-RATE
181300     END-IF.
181400
181500     MOVE H-PYMT-AMT                   TO
181600                                    PPS-2011-FULL-COMP-RATE.
181700     MOVE H-PPS-FINAL-PAY-AMT          TO PPS-2011-FULL-PPS-RATE
181800                                          PPS-FINAL-PAY-AMT.
181900     MOVE H-OUT-PAYMENT                TO
182000                                    PPS-2011-FULL-OUTLIER-RATE.
182100
182200
182300     IF P-QIP-REDUCTION = ' ' THEN
182400        NEXT SENTENCE
182500     ELSE
182600        COMPUTE PPS-2011-BLEND-COMP-RATE    ROUNDED =
182700                PPS-2011-BLEND-COMP-RATE    *  QIP-REDUCTION
182800        COMPUTE PPS-2011-FULL-COMP-RATE     ROUNDED =
182900                PPS-2011-FULL-COMP-RATE     *  QIP-REDUCTION
183000        COMPUTE PPS-2011-BLEND-PPS-RATE     ROUNDED =
183100                PPS-2011-BLEND-PPS-RATE     *  QIP-REDUCTION
183200        COMPUTE PPS-2011-FULL-PPS-RATE      ROUNDED =
183300                PPS-2011-FULL-PPS-RATE      *  QIP-REDUCTION
183400        COMPUTE PPS-2011-BLEND-OUTLIER-RATE ROUNDED =
183500                PPS-2011-BLEND-OUTLIER-RATE *  QIP-REDUCTION
183600        COMPUTE PPS-2011-FULL-OUTLIER-RATE  ROUNDED =
183700                PPS-2011-FULL-OUTLIER-RATE  *  QIP-REDUCTION
183800     END-IF.
183900
184000     IF BUNDLED-TEST   THEN
184100        MOVE DRUG-ADDON                TO DRUG-ADD-ON-RETURN
184200        MOVE 0.0                       TO MSA-WAGE-ADJ
184300        MOVE H-WAGE-ADJ-PYMT-AMT       TO CBSA-WAGE-ADJ
184400        MOVE BASE-PAYMENT-RATE         TO CBSA-WAGE-PMT-RATE
184500        MOVE H-PATIENT-AGE             TO AGE-RETURN
184600        MOVE 0.0                       TO MSA-WAGE-AMT
184700        MOVE COM-CBSA-W-INDEX          TO CBSA-WAGE-INDEX
184800        MOVE H-BMI                     TO PPS-BMI
184900        MOVE H-BSA                     TO PPS-BSA
185000        MOVE MSA-BLEND-PCT             TO MSA-PCT
185100        MOVE CBSA-BLEND-PCT            TO CBSA-PCT
185200
185300        IF P-PROV-WAIVE-BLEND-PAY-INDIC        = 'N'  THEN
185400           MOVE COM-CBSA-BLEND-PCT     TO COM-CBSA-PCT-BLEND
185500           MOVE BUN-CBSA-BLEND-PCT     TO BUN-CBSA-PCT-BLEND
185600        ELSE
185700           MOVE ZERO                   TO COM-CBSA-PCT-BLEND
185800           MOVE WAIVE-CBSA-BLEND-PCT   TO BUN-CBSA-PCT-BLEND
185900        END-IF
186000
186100        MOVE H-BUN-BSA                 TO BUN-BSA
186200        MOVE H-BUN-BMI                 TO BUN-BMI
186300        MOVE H-BUN-ONSET-FACTOR        TO BUN-ONSET-FACTOR
186400        MOVE H-BUN-COMORBID-MULTIPLIER TO BUN-COMORBID-MULTIPLIER
186500        MOVE H-BUN-LOW-VOL-MULTIPLIER  TO BUN-LOW-VOL-MULTIPLIER
186600        MOVE H-OUT-AGE-FACTOR          TO OUT-AGE-FACTOR
186700        MOVE H-OUT-BSA                 TO OUT-BSA
186800        MOVE SB-BSA                    TO OUT-SB-BSA
186900        MOVE H-OUT-BSA-FACTOR          TO OUT-BSA-FACTOR
187000        MOVE H-OUT-BMI                 TO OUT-BMI
187100        MOVE H-OUT-BMI-FACTOR          TO OUT-BMI-FACTOR
187200        MOVE H-OUT-ONSET-FACTOR        TO OUT-ONSET-FACTOR
187300        MOVE H-OUT-COMORBID-MULTIPLIER TO
187400                                    OUT-COMORBID-MULTIPLIER
187500        MOVE H-OUT-PREDICTED-SERVICES-MAP  TO
187600                                    OUT-PREDICTED-SERVICES-MAP
187700        MOVE H-OUT-CM-ADJ-PREDICT-MAP-TRT  TO
187800                                    OUT-CASE-MIX-PREDICTED-MAP
187900        MOVE H-HEMO-EQUIV-DIAL-SESSIONS    TO
188000                                    OUT-HEMO-EQUIV-DIAL-SESSIONS
188100        MOVE H-OUT-LOW-VOL-MULTIPLIER  TO OUT-LOW-VOL-MULTIPLIER
188200        MOVE H-OUT-ADJ-AVG-MAP-AMT     TO OUT-ADJ-AVG-MAP-AMT
188300        MOVE H-OUT-IMPUTED-MAP         TO OUT-IMPUTED-MAP
188400        MOVE H-OUT-FIX-DOLLAR-LOSS     TO OUT-FIX-DOLLAR-LOSS
188500        MOVE H-OUT-LOSS-SHARING-PCT    TO OUT-LOSS-SHARING-PCT
188600        MOVE H-OUT-PREDICTED-MAP       TO OUT-PREDICTED-MAP
188700        MOVE CR-BSA                    TO CR-BSA-MULTIPLIER
188800        MOVE CR-BMI-LT-18-5            TO CR-BMI-MULTIPLIER
188900        MOVE A-49-CENT-PART-D-DRUG-ADJ TO A-49-CENT-DRUG-ADJ
189000        MOVE CM-BSA                    TO PPS-CM-BSA
189100        MOVE CM-BMI-LT-18-5            TO PPS-CM-BMI-LT-18-5
189200        MOVE BUNDLED-BASE-PMT-RATE     TO PPS-BUN-BASE-PMT-RATE
189300        MOVE BUN-CBSA-W-INDEX          TO PPS-BUN-CBSA-W-INDEX
189400        MOVE H-BUN-ADJUSTED-BASE-WAGE-AMT  TO
189500                                    BUN-ADJUSTED-BASE-WAGE-AMT
189600        MOVE H-BUN-WAGE-ADJ-TRAINING-AMT   TO
189700                                    PPS-BUN-WAGE-ADJ-TRAIN-AMT
189800        MOVE TRAINING-ADD-ON-PMT-AMT   TO
189900                                    PPS-TRAINING-ADD-ON-PMT-AMT
190000        MOVE H-PAYMENT-RATE            TO COM-PAYMENT-RATE
190100     END-IF.
190200******        L A S T   S O U R C E   S T A T E M E N T      *****