000100 IDENTIFICATION DIVISION.                                         00010003
000200 PROGRAM-ID.          SNFDR170.                                   00020003
000300*AUTHOR.                 CMS.                                     00030003
000400*                                                                 00040003
000500******************************************************************00050003
000600*REMARKS.                                                         00060003
000700*     SNFPR990   NATIONAL SNF FOR JULY 1 1998                     00070003
000800*                MSA FILE = ML12.DBA2652.WIPREREC.#970924         00080003
000900*     SNFPR000   EFFECTIVE OCT 1, 1999                            00090003
001000*                MSA FILE = ML12.DBA2652.WIPREREC.#990628         00100003
001100*                      BOTH YEARS                                 00110003
001200*                      ADDED 48 VIRGIN ISLAND TO MSA FILE         00120003
001300*                      ADDED 65 GUAM TO MSA FILE                  00130003
001400*                MADE MSA FILE AN ARGUMENT PASTED TO SNFPR        00140003
001500*     SNFPR001   EFFECTIVE APR 1, 2000                            00150003
001600*                   20% INCREASE FOR 15 RUGS                      00160003
001700*                EFFECTIVE JAN 1, 2000                            00170003
001800*                   100 % FACILITY FOR TWO PROVIDERS              00180003
001900*     SNFPR010   EFFECTIVE OCT 1, 2000                            00190003
002000*                MSA FILE = ML12.DBA2652.WIPREREC.#000705.STANLEY 00200003
002100*                   24% INCREASE FOR 15 RUGS                      00210003
002200*                   04% INCREASE FOR ALL OTHER RUGS               00220003
002300*                   NEW RATES FOR FY 2001                         00230003
002400*     SNFPR012   EFFECTIVE APR 1, 2001 WITH NEW RATES             00240003
002500*                MSA FILE = ML12.DBA2652.WIPREREC.#000705.STANLEY 00250003
002600*                 ADD ONS ARE APPLIED AFTER ALL ADJUSTMENTS ARE MA00260003
002700*                   MADE. THE THREE ADD ONS ARE  4%, 10.7%, 24%.  00270003
002800*                   NEW RATES FOR FY 2001                         00280003
002900*     SNFPR020   EFFECTIVE OCT 1, 2001 WITH NEW RATES             00290003
003000*                MSA FILE = ML12.DBA2652.WIPREREC.#010707.STANLEY 00300003
003100*                 ADD ONS ARE APPLIED AFTER ALL ADJUSTMENTS ARE MA00310003
003200*                   MADE. THE THREE ADD ONS ARE  4%, 10.7%, 24%.  00320003
003300*                   NEW RATES FOR FY 2002                         00330003
003400*     SNFPR020   EFFECTIVE DEC 1, 2001 CHANGE FOR FOLLOWING MSA   00340003
003500*     MSA021     MSA 1123, 3810, 7520                             00350003
003600*               MSA FILE = ML12.@DBA2652.WIPREREC.#010707.STANLEY 00360003
003700*     SNFPR030   EFFECTIVE OCT 1, 2002 WITH NEW RATES             00370003
003800*               MSA FILE = ML12.@DBA2652.WIPREREC.#020709.STANLEY 00380003
003900*                THE TWO ADD-ONS ARE  6.7% AND 20%                00390003
004000*     SNFPR040   EFFECTIVE OCT 1, 2003 WITH NEW RATES             00400003
004100*              MSA FILE =  ML00.@DBA2652.WIPREREC.#030826.STANLEY 00410003
004200*     SNFPR050   EFFECTIVE OCT 1, 2004                            00420003
004300*         MSA FILE =  ML00.@DBA2652.WI2005.PFPREC.#040901.SCR401U 00430003
004400*              INCREASED INPUT AND OUTPUT FILE TO 125 BYTES       00440003
004500*                   ADDED 9 DIAGNOSIS CODES                       00450003
004600*              STILL PROCESS USING MSA FILE                       00460003
004700*     SNFPR051   EFFECTIVE JAN 1, 2005                            00470003
004800*         MSA FILE =  ML00.@DBA2652.WI2005.PFPREC.#041020.SCR401U 00480003
004900*     SNFPR060   EFFECTIVE OCT 1, 2005                            00490003
005000*              NO CBSA FILE FOR FY2006                            00500003
005100*                 WILL USE THE WAGE INDEX LOCATED IN PROV RECORD  00510003
005200*     SNFPR061   EFFECTIVE JUL 1, 2006                            00520003
005300*              CONVERT TO CICS                                    00530003
005400*     SNFPR071   EFFECTIVE OCT 1, 2006                            00540003
005500*              UPDATE RATE                                        00550003
005600*              ADD CBSA FILE FOR FY2007                           00560003
005700*     SNFPR082   EFFECTIVE OCT 2, 2007                            00570003
005800*              KEEP CBSA FILE FOR FY2008                          00580003
005900*     SNFPR090   EFFECTIVE OCT 2, 2008                            00590003
006000*              KEEP CBSA FILE FOR FY2009                          00600003
006100*     SNFPR100   EFFECTIVE OCT 1, 2009                            00610003
006200*              KEEP CBSA FILE FOR FY2009                          00620003
006300*     SNFPR101   EFFECTIVE OCT 1, 2009                            00630003
006400*              KEEP CBSA FILE FOR FY2009                          00640003
006500******************************************************************00650003
006600*     SNFPR102   EFFECTIVE OCT 2, 2009                            00660003
006700*              KEEP CBSA FILE FOR FY2010                          00670003
006800******************************************************************00680003
006900*     SNFPR112   EFFECTIVE OCT 1, 2010                            00690003
007000*              KEEP CBSA FILE FOR FY2011                          00700003
007100******************************************************************00710003
007200*     SNFPR120   EFFECTIVE OCT 1, 2011                            00720003
007300*              KEEP CBSA FILE FOR FY2012                          00730003
007400******************************************************************00740003
007500*     SNFPR140   EFFECTIVE OCT 1, 2013                            00750003
007600*              KEEP CBSA FILE FOR FY2014                          00760003
007700******************************************************************00770003
007800*     SNFPR150   EFFECTIVE OCT 1, 2014                            00780003
007900*              KEEP CBSA FILE FOR FY2015                          00790003
008000******************************************************************00800003
008100******************************************************************00801003
008200*     SNFDR160   EFFECTIVE OCT 1, 2015                            00802003
008300*                KEEP CBSA FILE FOR FY2016                        00803003
008400*                BASED ON ICD10 TESTING SNF DRIVER - SNFDR160     00803103
008500******************************************************************00803203
008100******************************************************************00803303
008200*     SNFDR170   EFFECTIVE OCT 1, 2016                            00803403
008300*                KEEP CBSA FILE FOR FY2017                        00803503
008400*                SNF DRIVER - SNFDR170                            00803603
008500******************************************************************00803703
008600 DATE-COMPILED.                                                   00803803
008700 ENVIRONMENT                     DIVISION.                        00803903
008800                                                                  00804003
008900 CONFIGURATION                   SECTION.                         00805003
009000 SOURCE-COMPUTER.                IBM-370.                         00806003
009100 OBJECT-COMPUTER.                IBM-370.                         00807003
009200                                                                  00808003
009300 INPUT-OUTPUT SECTION.                                            00809003
009400 FILE-CONTROL.                                                    00810003
009500 DATA DIVISION.                                                   00820003
009600 FILE SECTION.                                                    00830003
009700                                                                  00840003
009800 WORKING-STORAGE SECTION.                                         00850003
009900 77  W-STORAGE-REF               PIC X(49)  VALUE                 00860003
010000     'SNF D R I V E R   - W O R K I N G   S T O R A G E'.         00870003
010100 01  SNFDR-VERSION               PIC X(09)  VALUE 'SNFDR17.0'.    00880003
010200 01  SNFPR170                    PIC X(08)  VALUE 'SNFPR170'.     00890003
010300 01  HOLD-SNF-CBSA.                                               00900003
010400     05  HOLD-SNF-CBSA-1ST       PIC XXX    VALUE SPACES.         00910003
010500     05  HOLD-SNF-CBSA-2ND       PIC XX     VALUE SPACES.         00920003
010600 01  SNF-HOLD-THRU-DATE.                                          00930003
010700     05  SNF-HOLD-THRU-CC        PIC XX.                          00940003
010800     05  SNF-HOLD-THRU-YYMMDD.                                    00950003
010900         15  SNF-HOLD-THRU-YY    PIC XX.                          00960003
011000         15  SNF-HOLD-THRU-MMDD  PIC XXXX.                        00970003
011100                                                                  00980003
011200*******************************************************           00990003
011300*    PASSED TO SNFPR PROGRAM CLAIMS                   *           01000003
011400*         FOR CLAIMS PRIOR 10/01/2005                 *           01010003
011500*******************************************************           01020003
011600 01  MSA-WAGE-INDEX-RECORD.                                       01030003
011700     02  MSA-WIR-MSA           PIC X(04).                         01040003
011800     02  MSA-WIR-EFFDATE       PIC X(08).                         01050003
011900     02  MSA-WIR-AREA-WAGEIND  PIC X(06).                         01060003
012000                                                                  01070003
012100*******************************************************           01080003
012200*    PASSED TO SNFPR PROGRAM CLAIMS                   *           01090003
012300*         FOR CLAIMS ON OR AFTER  10/01/2005          *           01100003
012400*******************************************************           01110003
012500 01  CBSA-WAGE-INDEX-RECORD.                                      01120003
012600     02  CBSA-WIR-CBSA         PIC X(05).                         01130003
012700     02  CBSA-WIR-EFFDATE      PIC X(08).                         01140003
012800     02  CBSA-WIR-AREA-WAGEIND PIC X(06).                         01150003
012900                                                                  01160003
013000 LINKAGE SECTION.                                                 01170003
013100                                                                  01180003
013200*******************************************************           01190003
013300* NATIONAL SNF RECORD FORMAT PASSED TO SNFPR PROGRAM  *           01200003
013400*******************************************************           01210003
013500 01  SNF-WORK.                                                    01220003
013600     05  SNF-INPUT-DATA.                                          01230003
013700         10  SNF-MSA           PIC X(04).                         01240003
013800         10  SNF-CBSA.                                            01250003
013900             15  SNF-CBSA-1ST  PIC XXX.                           01260003
014000                 88  SNF-CBSA-RURAL   VALUE '   ' '999'.          01270003
014100             15  SNF-CBSA-2ND  PIC XX.                            01280003
014200         10  SNF-SPEC-WI-IND   PIC X.                             01290003
014300             88  SNF-SPEC-WI-IND-VALUES   VALUE 'Y' 'N' '1' '2'.  01300003
014400         10  SNF-SPEC-WI       PIC 9(02)V9(04).                   01310003
014500         10  SNF-SPEC-WI-X     REDEFINES                          01320003
014600                               SNF-SPEC-WI PIC X(06).             01330003
014700         10  SNF-HCPPS-CODE    PIC X(05).                         01340003
014800         10  SNF-FROM-DATE.                                       01350003
014900             15  SNF-FROM-CC   PIC XX.                            01360003
015000             15  SNF-FROM-YYMMDD.                                 01370003
015100                 25  SNF-FROM-YY                                  01380003
015200                               PIC XX.                            01390003
015300                 25  SNF-FROM-MM                                  01400003
015400                               PIC XX.                            01410003
015500                 25  SNF-FROM-DD                                  01420003
015600                               PIC XX.                            01430003
015700         10  SNF-THRU-DATE.                                       01440003
015800             15  SNF-THRU-CC   PIC XX.                            01450003
015900             15  SNF-THRU-YYMMDD.                                 01460003
016000                 25  SNF-THRU-YY                                  01470003
016100                               PIC XX.                            01480003
016200                 25  SNF-THRU-MM                                  01490003
016300                               PIC XX.                            01500003
016400                 25  SNF-THRU-DD                                  01510003
016500                               PIC XX.                            01520003
016600         10  SNF-FED-BLEND     PIC X.                             01530003
016700             88  SNF-FED-BLEND-VALUES                             01540003
016800                                   VALUE '0' '1' '2' '3' '4'.     01550003
016900         10  SNF-FACILITY-RATE PIC 9(05)V9(02).                   01560003
017000         10  SNF-DIAGNOSIS-CODES.                                 01570003
017100             15  SNF-PRIN-DIAG-CODE      PIC X(07).               01580003
017200             15  SNF-OTHER-DIAG-CODE2    PIC X(07).               01590003
017300             15  SNF-OTHER-DIAG-CODE3    PIC X(07).               01600003
017400             15  SNF-OTHER-DIAG-CODE4    PIC X(07).               01610003
017500             15  SNF-OTHER-DIAG-CODE5    PIC X(07).               01620003
017600             15  SNF-OTHER-DIAG-CODE6    PIC X(07).               01630003
017700             15  SNF-OTHER-DIAG-CODE7    PIC X(07).               01640003
017800             15  SNF-OTHER-DIAG-CODE8    PIC X(07).               01650003
017900             15  SNF-OTHER-DIAG-CODE9    PIC X(07).               01660003
018000             15  SNF-OTHER-DIAG-CODE10   PIC X(07).               01670003
018100             15  SNF-OTHER-DIAG-CODE11   PIC X(07).               01680003
018200             15  SNF-OTHER-DIAG-CODE12   PIC X(07).               01690003
018300             15  SNF-OTHER-DIAG-CODE13   PIC X(07).               01700003
018400             15  SNF-OTHER-DIAG-CODE14   PIC X(07).               01710003
018500             15  SNF-OTHER-DIAG-CODE15   PIC X(07).               01720003
018600             15  SNF-OTHER-DIAG-CODE16   PIC X(07).               01730003
018700             15  SNF-OTHER-DIAG-CODE17   PIC X(07).               01740003
018800             15  SNF-OTHER-DIAG-CODE18   PIC X(07).               01750003
018900             15  SNF-OTHER-DIAG-CODE19   PIC X(07).               01760003
019000             15  SNF-OTHER-DIAG-CODE20   PIC X(07).               01770003
019100             15  SNF-OTHER-DIAG-CODE21   PIC X(07).               01780003
019200             15  SNF-OTHER-DIAG-CODE22   PIC X(07).               01790003
019300             15  SNF-OTHER-DIAG-CODE23   PIC X(07).               01800003
019400             15  SNF-OTHER-DIAG-CODE24   PIC X(07).               01810003
019500             15  SNF-OTHER-DIAG-CODE25   PIC X(07).               01820003
019600         10  SNF-PAY-RTC.                                         01830003
019700             15  SNF-PAYMENT-RATE                                 01840003
019800                               PIC 9(06)V9(02).                   01850003
019900             15  SNF-RTC       PIC 99.                            01860003
020000         10  SNF-FILLER            PIC X(24).                     01870003
020100                                                                  01880003
020200*******************************************************           01890003
020300*    RETURNED BY SNFPR PROGRAM                        *           01900003
020400*******************************************************           01910003
020500 01  HOLD-VARIABLES.                                              01920003
020600     02  HOLD-VAR-DATA.                                           01930003
020700         05  FACTOR            PIC 9.                             01940003
020800         05  NUR-INDEX         PIC 9V99.                          01950003
020900         05  THR-INDEX         PIC 9V99.                          01960003
021000         05  AREA-WAGE-INDEX   PIC 9(01)V9(04).                   01970003
021100         05  IP-RATE           PIC 9(03)V9(02).                   01980003
021200         05  GS-RATE           PIC 9(02)V9(02).                   01990003
021300         05  TH-RATE           PIC 9(02)V9(02).                   02000003
021400         05  REHAB-RATE        PIC 9(03)V9(02).                   02010003
021500         05  NURSING-COMPONENT PIC 999V99.                        02020003
021600         05  THERAPY-COMPONENT PIC 999V99.                        02030003
021700         05  NCM-THR-COMPONENT PIC 999V99.                        02040003
021800         05  NCM-COMPONENT     PIC 999V99.                        02050003
021900         05  PAYMENT-RATE-ADJ  PIC 9(06)V99.                      02060003
022000         05  FED-PAYMENT       PIC 9(06)V99.                      02070003
022100     02  SNFPR-VERSION         PIC X(09).                         02080003
022200                                                                  02090003
022300                                                                  02100003
022400                                                                  02110003
022500 01  MSA-WI-TABLE.                                                02120003
022600     05  MSA-DATA        OCCURS 8000                              02130003
022700                           INDEXED BY MU1 MU2 MU3.                02140003
022800         10  MSA-TB-MSA        PIC X(04).                         02150003
022900         10  MSA-TB-EFFDATE    PIC X(08).                         02160003
023000         10  MSA-TB-WAGEIND    PIC X(06).                         02170003
023100                                                                  02180003
023200 01  CBSA-WI-TABLE.                                               02190003
023300     05  T-CBSA-DATA        OCCURS 8000                           02200003
023400                           INDEXED BY MA1 MA2 MA3.                02210003
023500         10  T-CBSA            PIC X(05).                         02220003
023600         10  T-CBSA-EFFDATE    PIC X(08).                         02230003
023700         10  T-CBSA-WAGEIND    PIC X(06).                         02240003
023800                                                                  02250003
023900 PROCEDURE  DIVISION USING SNF-WORK                               02260003
024000                           HOLD-VARIABLES                         02270003
024100                           CBSA-WI-TABLE                          02280003
024200                           MSA-WI-TABLE.                          02290003
024300                                                                  02300003
024400 0000-MAINLINE  SECTION.                                          02310003
024500                                                                  02320003
024600     PERFORM 0100-PROCESS-RECORDS                                 02330003
024700        THRU 0100-EXIT.                                           02340003
024800                                                                  02350003
024900     GOBACK.                                                      02360003
025000                                                                  02370003
025100                                                                  02380003
025200 0100-PROCESS-RECORDS.                                            02390003
025300                                                                  02400003
025400     MOVE ALL '0'              TO SNF-PAY-RTC                     02410003
025500                                  HOLD-VAR-DATA                   02420003
025600                                  MSA-WAGE-INDEX-RECORD           02430003
025700                                  CBSA-WAGE-INDEX-RECORD.         02440003
025800                                                                  02450003
025900     IF SNF-THRU-DATE < 19980701                                  02460003
026000        MOVE '40'              TO SNF-RTC                         02470003
026100        GO TO 0100-EXIT.                                          02480003
026200                                                                  02490003
026300     MOVE SNF-CBSA             TO HOLD-SNF-CBSA.                  02500003
026400                                                                  02510003
026500     IF SNF-CBSA-RURAL                                            02520003
026600        MOVE SPACES            TO HOLD-SNF-CBSA-1ST.              02530003
026700                                                                  02540003
026800     IF SNF-THRU-DATE < 20051001                                  02550003
026900        PERFORM 1600-GET-MSA                                      02560003
027000           THRU 1600-EXIT                                         02570003
027100     ELSE                                                         02580003
027200        PERFORM 1650-GET-CBSA                                     02590003
027300           THRU 1650-EXIT.                                        02600003
027400                                                                  02610003
027500     IF SNF-RTC NOT = '00'                                        02620003
027600         GO TO 0100-EXIT.                                         02630003
027700                                                                  02640003
027800     IF SNF-THRU-DATE < 20051001                                  02650003
027900         PERFORM 1700-GET-WAGE-INDEX                              02660003
028000            THRU 1700-EXIT                                        02670003
028100         VARYING MU2           FROM MU1 BY 1 UNTIL                02680003
028200         MSA-TB-MSA (MU2) NOT = SNF-MSA                           02690003
028300     ELSE                                                         02700003
028400         PERFORM 1900-GET-WAGE-INDEX                              02710003
028500            THRU 1900-EXIT                                        02720003
028600         VARYING MA2           FROM MA1 BY 1 UNTIL                02730003
028700         T-CBSA (MA2) NOT = HOLD-SNF-CBSA.                        02740003
028800                                                                  02750003
028900     IF SNF-THRU-DATE < 20051001                                  02760003
029000        IF '000000' = MSA-WIR-AREA-WAGEIND                        02770003
029100            MOVE '30'          TO SNF-RTC                         02780003
029200            GO TO 0100-EXIT.                                      02790003
029300                                                                  02800003
029400     IF SNF-RTC NOT = '00'                                        02810003
029500         GO TO 0100-EXIT.                                         02820003
029600                                                                  02830003
029700                                                                  02840003
029800     CALL  SNFPR170 USING SNF-WORK                                02850003
029900                          HOLD-VARIABLES                          02860003
030000                          CBSA-WAGE-INDEX-RECORD                  02870003
030100                          MSA-WAGE-INDEX-RECORD.                  02880003
030200                                                                  02890003
030300 0100-EXIT.  EXIT.                                                02900003
030400                                                                  02910003
030500                                                                  02920003
030600 1600-GET-MSA.                                                    02930003
030700     SET MU1                   TO 1.                              02940003
030800                                                                  02950003
030900     SEARCH MSA-DATA VARYING MU1                                  02960003
031000            AT END                                                02970003
031100               MOVE '30'       TO SNF-RTC                         02980003
031200               GO TO 1600-EXIT                                    02990003
031300            WHEN MSA-TB-MSA (MU1) = SNF-MSA                       03000003
031400               SET MU2         TO MU1.                            03010003
031500                                                                  03020003
031600 1600-EXIT.  EXIT.                                                03030003
031700                                                                  03040003
031800 1650-GET-CBSA.                                                   03050003
031900     SET MA1                   TO 1.                              03060003
032000                                                                  03070003
032100     SEARCH T-CBSA-DATA VARYING MA1                               03080003
032200            AT END                                                03090003
032300               MOVE '30'       TO SNF-RTC                         03100003
032400               GO TO 1650-EXIT                                    03110003
032500            WHEN T-CBSA (MA1) = HOLD-SNF-CBSA                     03120003
032600               SET MA2         TO MA1.                            03130003
032700                                                                  03140003
032800 1650-EXIT.  EXIT.                                                03150003
032900                                                                  03160003
033000 1700-GET-WAGE-INDEX.                                             03170003
033100                                                                  03180003
033200     IF SNF-THRU-DATE NOT < MSA-TB-EFFDATE (MU2)                  03190003
033300        MOVE MSA-TB-MSA     (MU2)                                 03200003
033400                               TO MSA-WIR-MSA                     03210003
033500        MOVE MSA-TB-EFFDATE (MU2)                                 03220003
033600                               TO MSA-WIR-EFFDATE                 03230003
033700        MOVE MSA-TB-WAGEIND (MU2)                                 03240003
033800                               TO MSA-WIR-AREA-WAGEIND.           03250003
033900                                                                  03260003
034000 1700-EXIT.  EXIT.                                                03270003
034100                                                                  03280003
034200 1900-GET-WAGE-INDEX.                                             03290003
034300                                                                  03300003
034400     IF  SNF-SPEC-WI-IND = 'Y'                                    03310003
034500         MOVE '1'              TO SNF-SPEC-WI-IND.                03320003
034600                                                                  03330003
034700     IF  SNF-SPEC-WI-IND = '1' AND SNF-SPEC-WI-X NOT NUMERIC      03340003
034800         MOVE '30'             TO SNF-RTC                         03350003
034900         GO TO 1900-EXIT.                                         03360003
035000                                                                  03370003
035100     IF  SNF-SPEC-WI-IND = '1' AND SNF-SPEC-WI-X NUMERIC          03380003
035200         MOVE SNF-CBSA         TO CBSA-WIR-CBSA                   03390003
035300         MOVE '20051001'       TO CBSA-WIR-EFFDATE                03400003
035400         MOVE SNF-SPEC-WI-X    TO CBSA-WIR-AREA-WAGEIND           03410003
035500         GO TO 1900-EXIT.                                         03420003
035600                                                                  03430003
035700     MOVE SNF-THRU-DATE TO SNF-HOLD-THRU-DATE                     03440003
035800                                                                  03450003
035900     IF SNF-HOLD-THRU-DATE NOT < T-CBSA-EFFDATE (MA2)             03460003
036000        MOVE T-CBSA         (MA2)                                 03470003
036100                               TO CBSA-WIR-CBSA                   03480003
036200        MOVE T-CBSA-EFFDATE (MA2)                                 03490003
036300                               TO CBSA-WIR-EFFDATE                03500003
036400        MOVE T-CBSA-WAGEIND (MA2)                                 03510003
036500                               TO CBSA-WIR-AREA-WAGEIND.          03520003
036600                                                                  03530003
036700 1900-EXIT.  EXIT.                                                03540003
036800*****        LAST STATEMENT               *************           03550003
