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