PRCAP338 ;SAB/Albany - PRCA*4.5*338 POST INSTALL;12/11/17 2:10pm
;;4.5;Accounts Receivable;**338**;Mar 20, 1995;Build 69
;Per VA Directive 6402, this routine should not be modified.
Q
;
POSTINIT ;Post Install for PRCA*4.5*338
D BMES^XPDUTL(" >> Starting the Post-Initialization routine for PRCA*4.5*338 ")
; Adding AR CATEGORIES and REVENUE SOURCE CODES
D ARCAT
D ARCATUPD
D CHRGUPD
D FND714
D APPR714
D FNDR1
D APPRR1
D REVSC
D BMES^XPDUTL(" >> End of the Post-Initialization routine for PRCA*4.5*338")
Q
;
ARCAT ;AR CATEGORY ENTRIES (430.2)
N LOOP,FDA,FDAIEN,DATA,CHK
;
D MES^XPDUTL(" -> Adding new AR CATEGORY entries to file 430.2 ...")
; Add new AR categories
F LOOP=2:1:38 D
. ;Clear the array
. K FDA
. ;Extract the new AR Category to be added.
. S DATA=$T(ARDATA+LOOP)
. ;Check to insure that the AR Category doesn't exist already
. S CHK="" ; Initialized the check variable
. S CHK=$O(^PRCA(430.2,"B",$P(DATA,";",3),""))
. Q:CHK'=""
. ;Store in array for adding to the file (#430.2).
. S FDA(430.2,"+1,",.01)=$P(DATA,";",3) ;AR Category Name
. S FDA(430.2,"+1,",1)=$P(DATA,";",4) ;Abbreviation
. S FDA(430.2,"+1,",2)=$P(DATA,";",5) ;Segment
. S FDA(430.2,"+1,",3)=$P(DATA,";",6) ;GL #
. S FDA(430.2,"+1,",5)=$P(DATA,";",7) ;Type
. S FDA(430.2,"+1,",6)=$P(DATA,";",8) ;Category Number
. S FDA(430.2,"+1,",7)=$P(DATA,";",9) ;Receivable Code
. S FDA(430.2,"+1,",9)=$P(DATA,";",10) ;Charge Interest
. S FDA(430.2,"+1,",10)=$P(DATA,";",11) ;Charge Admin
. S FDA(430.2,"+1,",11)=$P(DATA,";",12) ;Charge Penalty
. S FDA(430.2,"+1,",12)=$P(DATA,";",13) ;Accrued
. S FDA(430.2,"+1,",13)=$P(DATA,";",14) ;Refund/Reimbursement
. S FDA(430.2,"+1,",14)=$P(DATA,";",15) ;Paragraph Codes
. ;Add to the file.
. D UPDATE^DIE(,"FDA","FDAIEN")
. S FDAIEN=FDAIEN(1) K FDAIEN(1)
D MES^XPDUTL(" New AR CATEGORIES added.")
Q
;
ARDATA ; New AR Category data. (Internal data format)
;;Category Name;Abbreviation;AMIS Seg #;GL Number;Type;AR Cat #;Receivable Code;Interest;Admin;Penalty;Accrued;Refund;Paragraph Codes
;;CHOICE THIRD PARTY;C1;249;1212;T;50;2;0;0;0;1;2;
;;CC THIRD PARTY;C2;249;1212;T;51;2;0;0;0;1;2;
;;CCN THIRD PARTY;C3;249;1212;T;52;2;0;0;0;1;2;
;;CC MTF THIRD PARTY;C4;249;1212;T;53;2;0;0;0;1;2;
;;CHOICE NO-FAULT AUTO;C5;247;1212;T;54;2;0;0;0;1;2;
;;CHOICE TORT FEASOR;C6;0;1228;T;55;2;0;0;0;1;2;
;;CCN WORKERS' COMP;CD;246;1212;T;56;2;0;0;0;1;2;
;;CCN NO-FAULT AUTO;CB;247;1212;T;57;2;0;0;0;1;2;
;;CCN TORT FEASOR;CC;0;1228;T;58;2;0;0;0;1;2;
;;CC WORKERS' COMP;CA;246;1212;T;59;2;0;0;0;1;2;
;;CC NO-FAULT AUTO;C8;247;1212;T;60;2;0;0;0;1;2;
;;CC TORT FEASOR;C9;0;1228;T;61;2;0;0;0;1;2;
;;CHOICE WORKERS' COMP;C7;246;1212;T;62;2;0;0;0;1;2;
;;CHOICE INPT;CF;240;1221;P;63;2;1;1;0;1;2;30,40,55,80,85,50,60,65,70
;;CHOICE RX CO-PAYMENT;CG;294;1212;P;64;2;1;1;0;1;2;25,40,55,80,85,50,60,65,70
;;CC INPT;CJ;240;1221;P;65;2;1;1;0;1;2;30,40,55,80,85,50,60,65,70
;;CC RX CO-PAYMENT;CK;294;1212;P;66;2;1;1;0;1;2;25,40,55,80,85,50,60,65,70
;;CCN INPT;CO;240;1221;P;67;2;1;1;0;1;2;30,40,55,80,85,50,60,65,70
;;CCN RX CO-PAYMENT;CQ;294;1212;P;68;2;1;1;0;1;2;25,40,55,80,85,50,60,65,70
;;CC MTF INPT;CX;240;1221;P;69;2;1;1;0;1;2;30,40,55,80,85,50,60,65,70
;;CC MTF RX CO-PAYMENT;CY;294;1212;P;70;2;1;1;0;1;2;25,40,55,80,85,50,60,65,70
;;CC NURSING HOME CARE - LTC;CL;0;1319;P;71;2;1;1;0;1;2;30,40,55,80,85,50,60,65,70
;;CC RESPITE CARE;CN;0;1319;P;72;2;1;1;0;1;2;30,40,55,80,85,50,60,65,70
;;CCN NURSING HOME CARE - LTC;CR;0;1319;P;73;2;1;1;0;1;2;30,40,55,80,85,50,60,65,70
;;CCN RESPITE CARE;CU;0;1319;P;74;2;1;1;0;1;2;30,40,55,80,85,50,60,65,70
;;CHOICE NURSING HOME CARE - LTC;CH;0;1319;P;75;2;1;1;0;1;2;30,40,55,80,85,50,60,65,70
;;CHOICE RESPITE CARE;CI;0;1319;P;76;2;1;1;0;1;2;30,40,55,80,85,50,60,65,70
;;TRICARE DES;T4;0;1311;T;77;2;0;0;0;0;2
;;TRICARE SCI;T5;0;1311;T;78;2;0;0;0;0;2
;;TRICARE TBI;T6;0;1311;T;79;2;0;0;0;0;2
;;TRICARE BLIND REHABILITATION;T7;0;1311;T;80;2;0;0;0;0;2
;;TRICARE DENTAL;T8;0;1311;T;81;2;0;0;0;0;2
;;TRICARE PHARMACY;T9;0;1311;T;82;2;0;0;0;0;2
;;CHOICE OPT;CZ;240;1221;P;83;2;1;1;0;1;2;30,40,55,80,85,50,60,65,70
;;CC OPT;D1;240;1221;P;84;2;1;1;0;1;2;30,40,55,80,85,50,60,65,70
;;CCN OPT;D2;240;1221;P;85;2;1;1;0;1;2;30,40,55,80,85,50,60,65,70
;;CC MTF OPT;D3;240;1221;P;86;2;1;1;0;1;2;30,40,55,80,85,50,60,65,70
;;END
;
ARCATUPD ; AR CATEGORY ENTRIES (430.2)
N LOOP,LIEN,PRCAARY,PRCADATA,PRCAARCT
N PRCADMC,PRCATOP,PRCACS
N X,Y,DIE,DA,DR,DTOUT,DATA
;
D MES^XPDUTL(" -> Adding data to the new AR CATEGORY (430.2) fields ...")
;Clear the array
K PRCAARY
; Grab all of the entries to update
F LOOP=2:1 S PRCADATA=$T(ARUPDDAT+LOOP) Q:PRCADATA=" ;;END" D
. ;Extract the new AR Category to be added.
. S PRCAARCT=$P(PRCADATA,";",4)
. ;Store in array for adding to the file (#430.2).
. S PRCAARY(PRCAARCT)=$P(PRCADATA,";",5,7)
;
;Loop through all of the entries in the AC xref of the 430.2 file, and update using the built array
F LOOP=1:1:86 D
. S DATA=$G(PRCAARY(LOOP))
. Q:DATA="" ;go to next entry if Category is not to be updated.
. S LIEN=$O(^PRCA(430.2,"AC",LOOP,""))
. Q:LIEN=""
. S PRCADMC=$P(DATA,";",1)
. S PRCATOP=$P(DATA,";",2)
. S PRCACS=$P(DATA,";",3)
. ;
. ; File the update
. S DR="1.01////"_PRCADMC_";"
. S DR=DR_"1.02////"_PRCATOP_";"
. S DR=DR_"1.03////"_PRCACS_";"
. Q:DR=""
. S DIE="^PRCA(430.2,",DA=LIEN
. D ^DIE
. K DR ;Clear update array before next use
;
S DR=""
D MES^XPDUTL(" Data added to the new AR CATEGORY (430.2) fields.")
Q
;
ARUPDDAT ; Data for the new AR Category fields. (All categories will be updated)
;;Category Name;Category Num;DMC?;TOP?;CS?
;;ADULT DAY HEALTH CARE;40;1;2;3
;;C (MEANS TEST);24;1;2;3
;;CHAMPVA;36;0;0;0
;;CHAMPVA SUBSISTENCE;34;0;0;0
;;CHAMPVA THIRD PARTY;35;0;0;0
;;COMP & PEN PROCEEDS;8;0;0;0
;;CRIME OF PER.VIO.;27;0;0;0
;;CURRENT EMP.;14;0;1;0
;;CWT PROCEEDS;7;0;0;0
;;DOMICILIARY;41;1;2;3
;;EMERGENCY/HUMANITARIAN;25;0;1;0
;;EMERGENCY/HUMANITARIAN REIMB.;48;0;0;0
;;ENHANCED USE LEASE PROCEEDS;10;0;1;0
;;EX-EMPLOYEE;13;0;1;0
;;FEDERAL AGENCIES-REFUND;15;0;0;0
;;FEDERAL AGENCIES-REIMB.;16;0;0;0
;;FEE REIMB INS;47;0;0;0
;;GERIATRIC EVAL-INSTITUTIONAL;44;1;2;3
;;GERIATRIC EVAL-NON-INSTITUTION;45;1;2;3
;;HOSPITAL CARE (NSC);1;1;2;3
;;HOSPITAL CARE PER DIEM;32;1;2;3
;;INELIGIBLE HOSP.;20;0;1;0
;;INELIGIBLE HOSP. REIMB.;49;0;0;0
;;INTERAGENCY;19;0;0;0
;;MEDICARE;28;0;0;0
;;MILITARY;17;0;0;0
;;NO-FAULT AUTO ACC.;26;0;0;0
;;NURSING HOME CARE PER DIEM;31;1;2;3
;;NURSING HOME CARE(NSC);3;1;2;3
;;NURSING HOME CARE-LTC;46;1;2;3
;;NURSING HOME PROCEEDS;5;1;2;3
;;OUTPATIENT CARE(NSC);2;1;2;3
;;PARKING FEES;6;0;1;0
;;PREPAYMENT;33;0;0;0
;;REIMBURS.HEALTH INS;21;0;0;0
;;RESPITE CARE-INSTITUTIONAL;42;1;2;3
;;RESPITE CARE-NON-INSTITUTIONAL;43;1;2;3
;;RX CO-PAYMENT/NSC VET;30;1;2;3
;;RX CO-PAYMENT/SC VET;29;1;2;3
;;SHARING AGREEMENTS;18;0;1;0
;;TORT FEASOR;22;0;0;0
;;TRICARE;37;0;0;0
;;TRICARE PATIENT;38;1;2;3
;;TRICARE THIRD PARTY;39;0;0;0
;;VENDOR;11;0;1;0
;;WORKMAN'S COMP.;23;0;0;0
;;CHOICE THIRD PARTY;50;0;0;0
;;CC THIRD PARTY;51;0;0;0
;;CCN THIRD PARTY;52;0;0;0
;;CC MTF THIRD PARTY;53;0;0;0
;;CHOICE NO-FAULT AUTO;54;0;0;0
;;CHOICE TORT FEASOR;55;0;0;0
;;CCN WORKERS' COMP;56;0;0;0
;;CCN NO-FAULT AUTO;57;0;0;0
;;CCN TORT FEASOR;58;0;0;0
;;CC WORKERS' COMP;59;0;0;0
;;CC NO-FAULT AUTO;60;0;0;0
;;CC TORT FEASOR;61;0;0;0
;;CHOICE WORKERS' COMP;62;0;0;0
;;CHOICE C (MEANS TEST);63;1;2;3
;;CHOICE RX CO-PAYMENT;64;1;2;3
;;CC C (MEANS TEST);65;1;2;3
;;CC RX CO-PAYMENT;66;1;2;3
;;CCN C (MEANS TEST);67;1;2;3
;;CCN RX CO-PAYMENT;68;1;2;3
;;CC MTF C (MEANS TEST);69;1;2;3
;;CC MTF RX CO-PAYMENT;70;1;2;3
;;CC NURSING HOME CARE - LTC;71;1;2;3
;;CC RESPITE CARE;72;1;2;3
;;CCN NURSING HOME CARE - LTC;73;1;2;3
;;CCN RESPITE CARE;74;1;2;3
;;CHOICE NURSING HOME CARE - LTC;75;1;2;3
;;CHOICE RESPITE CARE;76;1;2;3
;;TRICARE DES;77;0;0;0
;;TRICARE SCI;78;0;0;0
;;TRICARE TBI;79;0;0;0
;;TRICARE BLIND REHABILITATION;80;0;0;0
;;TRICARE DENTAL;81;0;0;0
;;TRICARE PHARMACY;82;0;0;0
;;CHOICE OPT;83;1;2;3
;;CC OPT;84;1;2;3
;;CCN OPT;85;1;2;3
;;CC MTF OPT;86;1;2;3
;;END
;
CHRGUPD ; Update the charge flags
N RCLOOP,RCIEN,RCDATA,RCINT,RCADMIN,RCPEN,RCCAT
N X,Y,DIE,DA,DR,DTOUT
;
D MES^XPDUTL(" -> Updating Charge flags in select AR CATEGORY (430.2) entries ...")
;Clear the array
K PRCAARY
; Grab all of the entries to update
F RCLOOP=1:1 S RCDATA=$T(CUPDDT+RCLOOP) Q:RCDATA=" ;;END" D
. S RCCAT=$P(RCDATA,";",4)
. S RCIEN=$O(^PRCA(430.2,"AC",RCCAT,""))
. Q:RCIEN=""
. S RCINT=$P(RCDATA,";",5)
. S RCADMIN=$P(RCDATA,";",6)
. S RCPEN=$P(RCDATA,";",7)
. ;
. ; File the update
. S DR="9////"_RCINT_";"
. S DR=DR_"10////"_RCADMIN_";"
. S DR=DR_"11////"_RCPEN_";"
. Q:DR=""
. S DIE="^PRCA(430.2,",DA=RCIEN
. D ^DIE
. K DR ;Clear update array before next use
;
S DR=""
D MES^XPDUTL(" Charge Flags in select AR CATEGORY (430.2) entries.")
Q
;
CUPDDT ; Charge flag update data
;;ADULT DAY HEALTH CARE;40;1;1;0
;;COMP & PEN PROCEEDS;8;0;0;0
;;CRIME OF PER.VIO.;27;0;0;0
;;CWT PROCEEDS;7;0;0;0
;;DOMICILIARY;41;1;1;0
;;GERIATRIC EVAL-INSTITUTIONAL;44;1;1;0
;;GERIATRIC EVAL-NON-INSTITUTION;45;1;1;0
;;NO-FAULT AUTO ACC.;26;0;0;0
;;NURSING HOME CARE-LTC;46;1;1;0
;;NURSING HOME PROCEEDS;5;0;0;0
;;RESPITE CARE-INSTITUTIONAL;42;1;1;0
;;RESPITE CARE-NON-INSTITUTIONAL;43;1;1;0
;;TORT FEASOR;22;0;0;0
;;END
ENV ;environment check
S XPDABORT="" ;Package level variable. Don't New
D DBCHK(.XPDABORT) ;checks for fund existence
I XPDABORT="" K XPDABORT
Q
;
DBCHK(XPDABORT) ;checks for test/production account
N RCMISS,RCIEN
;
S RCMISS=0 ; Set the missing flag to False (No Funds missing)
;
; check to see if 0160R1 is properly defined
S RCIEN=$O(^PRCD(420.3,"B","0160R1","")) S:'RCIEN RCMISS=1
S RCIEN=$O(^PRCD(420.14,"B","0160R1","")) S:'RCIEN RCMISS=1
;
; If not defined properly (RCMISS=1) warn user and abort the installation.
I RCMISS DO
. D BMES^XPDUTL("******")
. D MES^XPDUTL("The new 0160R1 fund has not been fully defined for this facility.")
. D MES^XPDUTL("This facility is not yet ready for the installation of PRCA*4.5*338.")
. D MES^XPDUTL("Installation aborted.")
. D MES^XPDUTL("******")
. S XPDABORT=2
Q
;
FND714 ;PRCD FUND entry 528714 in 420.14
N DA,DIC,DIK,DLAYGO,FUND,X,Y
D MES^XPDUTL(" -> Adding new PRCD FUND entry 528714 to file 420.14 ...")
S DIC="^PRCD(420.14,",DIC(0)="L",DLAYGO=420.14,FUND=528714
; if the entry is in the file, delete it first to add fields uneditable
S X=FUND D ^DIC I +Y>0 S DA=+Y,DIK="^PRCD(420.14," D ^DIK
; add entry
S X=FUND
S DIC("DR")="1////MCCF-FEE-COLL FUND-1ST PARTY;"
S DIC("DR")=DIC("DR")_"2///2018;"
S DIC("DR")=DIC("DR")_"3///2018;"
S DIC("DR")=DIC("DR")_"4.7///NET;"
S DIC("DR")=DIC("DR")_"5///A;"
S DIC("DR")=DIC("DR")_"4.5///N;"
D FILE^DICN
D MES^XPDUTL(" PRCD FUND completed.")
Q
;
APPR714 ;PRCD FUND/APPROPRIATION CODE entry 528714 in 420.3
N DA,DIC,DIE,DIK,DINUM,DLAYGO,DR,RCDATA,RCDINUM,X,Y
D MES^XPDUTL(" -> Adding new PRCD FUND/APPROPRIATION CODE entry 528714 to file 420.3 ...")
; install entries in file 420.3
S FUND=528714,DIC="^PRCD(420.3,",DIC(0)="L",DLAYGO=420.3
; if the entry is in the file, delete it first to add fields uneditable
S X=FUND D ^DIC I +Y>0 S DA=+Y,DIK="^PRCD(420.3," D ^DIK
; add entry
S X=FUND
S DIC("DR")="2////36_5287.14;"
S DIC("DR")=DIC("DR")_"4///36_5287.14;"
S DIC("DR")=DIC("DR")_"6///528714;"
S DIC("DR")=DIC("DR")_"7///Y;"
D FILE^DICN
D MES^XPDUTL(" PRCD FUND/APPROPRIATION CODE completed.")
Q
;
FNDR1 ;PRCD FUND entry 0160R1 into 420.14
N DA,DIC,DIK,DLAYGO,FUND,X,Y
D MES^XPDUTL(" -> Adding new PRCD FUND entry 0160R1 to file 420.14 ...")
S DIC="^PRCD(420.14,",DIC(0)="L",DLAYGO=420.14,FUND="0160R1"
; if the entry is in the file, delete it first to add fields uneditable
S X=FUND D ^DIC I +Y>0 S DA=+Y,DIK="^PRCD(420.14," D ^DIK
; add entry
S X=FUND
S DIC("DR")="1////MEDICAL SERVICE - LIM1;"
S DIC("DR")=DIC("DR")_"2///2018;"
S DIC("DR")=DIC("DR")_"3///2018;"
S DIC("DR")=DIC("DR")_"4.7///NET;"
S DIC("DR")=DIC("DR")_"5///A;"
S DIC("DR")=DIC("DR")_"4.5///Y;"
D FILE^DICN
D MES^XPDUTL(" PRCD FUND completed.")
Q
;
APPRR1 ;PRCD FUND/APPROPRIATION CODE entry 0160R1 into 420.3
N DA,DIC,DIE,DIK,DINUM,DLAYGO,DR,RCDATA,RCDINUM,X,Y
D MES^XPDUTL(" -> Adding new PRCD FUND/APPROPRIATION CODE entry 0160R1 to file 420.3 ...")
; install entries in file 420.3
S FUND="0160R1",DIC="^PRCD(420.3,",DIC(0)="L",DLAYGO=420.3
; if the entry is in the file, delete it first to add fields uneditable
S X=FUND D ^DIC I +Y>0 S DA=+Y,DIK="^PRCD(420.3," D ^DIK
; add entry
S X=FUND
S DIC("DR")="2////36_0160;"
S DIC("DR")=DIC("DR")_"4///36 0160;"
S DIC("DR")=DIC("DR")_"6///0160R1;"
D FILE^DICN
D MES^XPDUTL(" PRCD FUND/APPROPRIATION CODE completed.")
Q
;
REVSC ;REVENUE SOURCE CODE entries in file #347.3
N RCLOOP,RSCDATA,DIC,Y,GBL,DA,X,DIE,DR
D MES^XPDUTL(" -> Adding new REVENUE SOURCE CODE entries to file 347.3 ...")
S GBL="^RC(347.3,"
F RCLOOP=1:1 D Q:RSCDATA="END"
. S RSCDATA=$P($T(NEWRSC+RCLOOP),";",3,99)
. Q:RSCDATA="END"
. ; do a lookup and continue if exists.
. S DIC=GBL,X=$P(RSCDATA,";",2) D ^DIC
. I +Y>0 S DIK=GBL,DA=+Y D ^DIK
. ; add entry
. S X=$P(RSCDATA,";",2)
. S DIC("DR")=".02///"_$P(RSCDATA,";")_";"
. S DIC("DR")=DIC("DR")_".03///0;"
. D FILE^DICN
. I +Y=-1 D
. . D MES^XPDUTL(" "_$P(RSCDATA,";")_" failed to add!")
D MES^XPDUTL(" REVENUE SOURCE CODES completed.")
;
NEWRSC ;New Revenue Source Codes (RSC#)
;;DOD DISABILITY EVALUATION SYSTEM (DES);8085
;;DOD SPINAL CORD INPATIENT;8086
;;DOD SPINAL CORD OUTPATIENT;8087
;;DOD SPINAL CORD OTHER;8088
;;DOD TRAUMATIC BRAIN INJURY INPATIENT;8089
;;TRAUMATIC BRAIN INJURY OUTPATIENT;8090
;;TRAUMATIC BRAIN INJURY OTHER;8091
;;BLIND REHABILITATION INPATIENT;8092
;;BLIND REHABILITATION OUTPATIENT;8093
;;BLIND REHABILITATION OTHER;8094
;;TRICARE PHARMACY;8095
;;TRICARE ACTIVE DUTY DENTAL;8096
;;END
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HPRCAP338 14531 printed Nov 22, 2024@16:50:55 Page 2
PRCAP338 ;SAB/Albany - PRCA*4.5*338 POST INSTALL;12/11/17 2:10pm
+1 ;;4.5;Accounts Receivable;**338**;Mar 20, 1995;Build 69
+2 ;Per VA Directive 6402, this routine should not be modified.
+3 QUIT
+4 ;
POSTINIT ;Post Install for PRCA*4.5*338
+1 DO BMES^XPDUTL(" >> Starting the Post-Initialization routine for PRCA*4.5*338 ")
+2 ; Adding AR CATEGORIES and REVENUE SOURCE CODES
+3 DO ARCAT
+4 DO ARCATUPD
+5 DO CHRGUPD
+6 DO FND714
+7 DO APPR714
+8 DO FNDR1
+9 DO APPRR1
+10 DO REVSC
+11 DO BMES^XPDUTL(" >> End of the Post-Initialization routine for PRCA*4.5*338")
+12 QUIT
+13 ;
ARCAT ;AR CATEGORY ENTRIES (430.2)
+1 NEW LOOP,FDA,FDAIEN,DATA,CHK
+2 ;
+3 DO MES^XPDUTL(" -> Adding new AR CATEGORY entries to file 430.2 ...")
+4 ; Add new AR categories
+5 FOR LOOP=2:1:38
Begin DoDot:1
+6 ;Clear the array
+7 KILL FDA
+8 ;Extract the new AR Category to be added.
+9 SET DATA=$TEXT(ARDATA+LOOP)
+10 ;Check to insure that the AR Category doesn't exist already
+11 ; Initialized the check variable
SET CHK=""
+12 SET CHK=$ORDER(^PRCA(430.2,"B",$PIECE(DATA,";",3),""))
+13 if CHK'=""
QUIT
+14 ;Store in array for adding to the file (#430.2).
+15 ;AR Category Name
SET FDA(430.2,"+1,",.01)=$PIECE(DATA,";",3)
+16 ;Abbreviation
SET FDA(430.2,"+1,",1)=$PIECE(DATA,";",4)
+17 ;Segment
SET FDA(430.2,"+1,",2)=$PIECE(DATA,";",5)
+18 ;GL #
SET FDA(430.2,"+1,",3)=$PIECE(DATA,";",6)
+19 ;Type
SET FDA(430.2,"+1,",5)=$PIECE(DATA,";",7)
+20 ;Category Number
SET FDA(430.2,"+1,",6)=$PIECE(DATA,";",8)
+21 ;Receivable Code
SET FDA(430.2,"+1,",7)=$PIECE(DATA,";",9)
+22 ;Charge Interest
SET FDA(430.2,"+1,",9)=$PIECE(DATA,";",10)
+23 ;Charge Admin
SET FDA(430.2,"+1,",10)=$PIECE(DATA,";",11)
+24 ;Charge Penalty
SET FDA(430.2,"+1,",11)=$PIECE(DATA,";",12)
+25 ;Accrued
SET FDA(430.2,"+1,",12)=$PIECE(DATA,";",13)
+26 ;Refund/Reimbursement
SET FDA(430.2,"+1,",13)=$PIECE(DATA,";",14)
+27 ;Paragraph Codes
SET FDA(430.2,"+1,",14)=$PIECE(DATA,";",15)
+28 ;Add to the file.
+29 DO UPDATE^DIE(,"FDA","FDAIEN")
+30 SET FDAIEN=FDAIEN(1)
KILL FDAIEN(1)
End DoDot:1
+31 DO MES^XPDUTL(" New AR CATEGORIES added.")
+32 QUIT
+33 ;
ARDATA ; New AR Category data. (Internal data format)
+1 ;;Category Name;Abbreviation;AMIS Seg #;GL Number;Type;AR Cat #;Receivable Code;Interest;Admin;Penalty;Accrued;Refund;Paragraph Codes
+2 ;;CHOICE THIRD PARTY;C1;249;1212;T;50;2;0;0;0;1;2;
+3 ;;CC THIRD PARTY;C2;249;1212;T;51;2;0;0;0;1;2;
+4 ;;CCN THIRD PARTY;C3;249;1212;T;52;2;0;0;0;1;2;
+5 ;;CC MTF THIRD PARTY;C4;249;1212;T;53;2;0;0;0;1;2;
+6 ;;CHOICE NO-FAULT AUTO;C5;247;1212;T;54;2;0;0;0;1;2;
+7 ;;CHOICE TORT FEASOR;C6;0;1228;T;55;2;0;0;0;1;2;
+8 ;;CCN WORKERS' COMP;CD;246;1212;T;56;2;0;0;0;1;2;
+9 ;;CCN NO-FAULT AUTO;CB;247;1212;T;57;2;0;0;0;1;2;
+10 ;;CCN TORT FEASOR;CC;0;1228;T;58;2;0;0;0;1;2;
+11 ;;CC WORKERS' COMP;CA;246;1212;T;59;2;0;0;0;1;2;
+12 ;;CC NO-FAULT AUTO;C8;247;1212;T;60;2;0;0;0;1;2;
+13 ;;CC TORT FEASOR;C9;0;1228;T;61;2;0;0;0;1;2;
+14 ;;CHOICE WORKERS' COMP;C7;246;1212;T;62;2;0;0;0;1;2;
+15 ;;CHOICE INPT;CF;240;1221;P;63;2;1;1;0;1;2;30,40,55,80,85,50,60,65,70
+16 ;;CHOICE RX CO-PAYMENT;CG;294;1212;P;64;2;1;1;0;1;2;25,40,55,80,85,50,60,65,70
+17 ;;CC INPT;CJ;240;1221;P;65;2;1;1;0;1;2;30,40,55,80,85,50,60,65,70
+18 ;;CC RX CO-PAYMENT;CK;294;1212;P;66;2;1;1;0;1;2;25,40,55,80,85,50,60,65,70
+19 ;;CCN INPT;CO;240;1221;P;67;2;1;1;0;1;2;30,40,55,80,85,50,60,65,70
+20 ;;CCN RX CO-PAYMENT;CQ;294;1212;P;68;2;1;1;0;1;2;25,40,55,80,85,50,60,65,70
+21 ;;CC MTF INPT;CX;240;1221;P;69;2;1;1;0;1;2;30,40,55,80,85,50,60,65,70
+22 ;;CC MTF RX CO-PAYMENT;CY;294;1212;P;70;2;1;1;0;1;2;25,40,55,80,85,50,60,65,70
+23 ;;CC NURSING HOME CARE - LTC;CL;0;1319;P;71;2;1;1;0;1;2;30,40,55,80,85,50,60,65,70
+24 ;;CC RESPITE CARE;CN;0;1319;P;72;2;1;1;0;1;2;30,40,55,80,85,50,60,65,70
+25 ;;CCN NURSING HOME CARE - LTC;CR;0;1319;P;73;2;1;1;0;1;2;30,40,55,80,85,50,60,65,70
+26 ;;CCN RESPITE CARE;CU;0;1319;P;74;2;1;1;0;1;2;30,40,55,80,85,50,60,65,70
+27 ;;CHOICE NURSING HOME CARE - LTC;CH;0;1319;P;75;2;1;1;0;1;2;30,40,55,80,85,50,60,65,70
+28 ;;CHOICE RESPITE CARE;CI;0;1319;P;76;2;1;1;0;1;2;30,40,55,80,85,50,60,65,70
+29 ;;TRICARE DES;T4;0;1311;T;77;2;0;0;0;0;2
+30 ;;TRICARE SCI;T5;0;1311;T;78;2;0;0;0;0;2
+31 ;;TRICARE TBI;T6;0;1311;T;79;2;0;0;0;0;2
+32 ;;TRICARE BLIND REHABILITATION;T7;0;1311;T;80;2;0;0;0;0;2
+33 ;;TRICARE DENTAL;T8;0;1311;T;81;2;0;0;0;0;2
+34 ;;TRICARE PHARMACY;T9;0;1311;T;82;2;0;0;0;0;2
+35 ;;CHOICE OPT;CZ;240;1221;P;83;2;1;1;0;1;2;30,40,55,80,85,50,60,65,70
+36 ;;CC OPT;D1;240;1221;P;84;2;1;1;0;1;2;30,40,55,80,85,50,60,65,70
+37 ;;CCN OPT;D2;240;1221;P;85;2;1;1;0;1;2;30,40,55,80,85,50,60,65,70
+38 ;;CC MTF OPT;D3;240;1221;P;86;2;1;1;0;1;2;30,40,55,80,85,50,60,65,70
+39 ;;END
+40 ;
ARCATUPD ; AR CATEGORY ENTRIES (430.2)
+1 NEW LOOP,LIEN,PRCAARY,PRCADATA,PRCAARCT
+2 NEW PRCADMC,PRCATOP,PRCACS
+3 NEW X,Y,DIE,DA,DR,DTOUT,DATA
+4 ;
+5 DO MES^XPDUTL(" -> Adding data to the new AR CATEGORY (430.2) fields ...")
+6 ;Clear the array
+7 KILL PRCAARY
+8 ; Grab all of the entries to update
+9 FOR LOOP=2:1
SET PRCADATA=$TEXT(ARUPDDAT+LOOP)
if PRCADATA=" ;;END"
QUIT
Begin DoDot:1
+10 ;Extract the new AR Category to be added.
+11 SET PRCAARCT=$PIECE(PRCADATA,";",4)
+12 ;Store in array for adding to the file (#430.2).
+13 SET PRCAARY(PRCAARCT)=$PIECE(PRCADATA,";",5,7)
End DoDot:1
+14 ;
+15 ;Loop through all of the entries in the AC xref of the 430.2 file, and update using the built array
+16 FOR LOOP=1:1:86
Begin DoDot:1
+17 SET DATA=$GET(PRCAARY(LOOP))
+18 ;go to next entry if Category is not to be updated.
if DATA=""
QUIT
+19 SET LIEN=$ORDER(^PRCA(430.2,"AC",LOOP,""))
+20 if LIEN=""
QUIT
+21 SET PRCADMC=$PIECE(DATA,";",1)
+22 SET PRCATOP=$PIECE(DATA,";",2)
+23 SET PRCACS=$PIECE(DATA,";",3)
+24 ;
+25 ; File the update
+26 SET DR="1.01////"_PRCADMC_";"
+27 SET DR=DR_"1.02////"_PRCATOP_";"
+28 SET DR=DR_"1.03////"_PRCACS_";"
+29 if DR=""
QUIT
+30 SET DIE="^PRCA(430.2,"
SET DA=LIEN
+31 DO ^DIE
+32 ;Clear update array before next use
KILL DR
End DoDot:1
+33 ;
+34 SET DR=""
+35 DO MES^XPDUTL(" Data added to the new AR CATEGORY (430.2) fields.")
+36 QUIT
+37 ;
ARUPDDAT ; Data for the new AR Category fields. (All categories will be updated)
+1 ;;Category Name;Category Num;DMC?;TOP?;CS?
+2 ;;ADULT DAY HEALTH CARE;40;1;2;3
+3 ;;C (MEANS TEST);24;1;2;3
+4 ;;CHAMPVA;36;0;0;0
+5 ;;CHAMPVA SUBSISTENCE;34;0;0;0
+6 ;;CHAMPVA THIRD PARTY;35;0;0;0
+7 ;;COMP & PEN PROCEEDS;8;0;0;0
+8 ;;CRIME OF PER.VIO.;27;0;0;0
+9 ;;CURRENT EMP.;14;0;1;0
+10 ;;CWT PROCEEDS;7;0;0;0
+11 ;;DOMICILIARY;41;1;2;3
+12 ;;EMERGENCY/HUMANITARIAN;25;0;1;0
+13 ;;EMERGENCY/HUMANITARIAN REIMB.;48;0;0;0
+14 ;;ENHANCED USE LEASE PROCEEDS;10;0;1;0
+15 ;;EX-EMPLOYEE;13;0;1;0
+16 ;;FEDERAL AGENCIES-REFUND;15;0;0;0
+17 ;;FEDERAL AGENCIES-REIMB.;16;0;0;0
+18 ;;FEE REIMB INS;47;0;0;0
+19 ;;GERIATRIC EVAL-INSTITUTIONAL;44;1;2;3
+20 ;;GERIATRIC EVAL-NON-INSTITUTION;45;1;2;3
+21 ;;HOSPITAL CARE (NSC);1;1;2;3
+22 ;;HOSPITAL CARE PER DIEM;32;1;2;3
+23 ;;INELIGIBLE HOSP.;20;0;1;0
+24 ;;INELIGIBLE HOSP. REIMB.;49;0;0;0
+25 ;;INTERAGENCY;19;0;0;0
+26 ;;MEDICARE;28;0;0;0
+27 ;;MILITARY;17;0;0;0
+28 ;;NO-FAULT AUTO ACC.;26;0;0;0
+29 ;;NURSING HOME CARE PER DIEM;31;1;2;3
+30 ;;NURSING HOME CARE(NSC);3;1;2;3
+31 ;;NURSING HOME CARE-LTC;46;1;2;3
+32 ;;NURSING HOME PROCEEDS;5;1;2;3
+33 ;;OUTPATIENT CARE(NSC);2;1;2;3
+34 ;;PARKING FEES;6;0;1;0
+35 ;;PREPAYMENT;33;0;0;0
+36 ;;REIMBURS.HEALTH INS;21;0;0;0
+37 ;;RESPITE CARE-INSTITUTIONAL;42;1;2;3
+38 ;;RESPITE CARE-NON-INSTITUTIONAL;43;1;2;3
+39 ;;RX CO-PAYMENT/NSC VET;30;1;2;3
+40 ;;RX CO-PAYMENT/SC VET;29;1;2;3
+41 ;;SHARING AGREEMENTS;18;0;1;0
+42 ;;TORT FEASOR;22;0;0;0
+43 ;;TRICARE;37;0;0;0
+44 ;;TRICARE PATIENT;38;1;2;3
+45 ;;TRICARE THIRD PARTY;39;0;0;0
+46 ;;VENDOR;11;0;1;0
+47 ;;WORKMAN'S COMP.;23;0;0;0
+48 ;;CHOICE THIRD PARTY;50;0;0;0
+49 ;;CC THIRD PARTY;51;0;0;0
+50 ;;CCN THIRD PARTY;52;0;0;0
+51 ;;CC MTF THIRD PARTY;53;0;0;0
+52 ;;CHOICE NO-FAULT AUTO;54;0;0;0
+53 ;;CHOICE TORT FEASOR;55;0;0;0
+54 ;;CCN WORKERS' COMP;56;0;0;0
+55 ;;CCN NO-FAULT AUTO;57;0;0;0
+56 ;;CCN TORT FEASOR;58;0;0;0
+57 ;;CC WORKERS' COMP;59;0;0;0
+58 ;;CC NO-FAULT AUTO;60;0;0;0
+59 ;;CC TORT FEASOR;61;0;0;0
+60 ;;CHOICE WORKERS' COMP;62;0;0;0
+61 ;;CHOICE C (MEANS TEST);63;1;2;3
+62 ;;CHOICE RX CO-PAYMENT;64;1;2;3
+63 ;;CC C (MEANS TEST);65;1;2;3
+64 ;;CC RX CO-PAYMENT;66;1;2;3
+65 ;;CCN C (MEANS TEST);67;1;2;3
+66 ;;CCN RX CO-PAYMENT;68;1;2;3
+67 ;;CC MTF C (MEANS TEST);69;1;2;3
+68 ;;CC MTF RX CO-PAYMENT;70;1;2;3
+69 ;;CC NURSING HOME CARE - LTC;71;1;2;3
+70 ;;CC RESPITE CARE;72;1;2;3
+71 ;;CCN NURSING HOME CARE - LTC;73;1;2;3
+72 ;;CCN RESPITE CARE;74;1;2;3
+73 ;;CHOICE NURSING HOME CARE - LTC;75;1;2;3
+74 ;;CHOICE RESPITE CARE;76;1;2;3
+75 ;;TRICARE DES;77;0;0;0
+76 ;;TRICARE SCI;78;0;0;0
+77 ;;TRICARE TBI;79;0;0;0
+78 ;;TRICARE BLIND REHABILITATION;80;0;0;0
+79 ;;TRICARE DENTAL;81;0;0;0
+80 ;;TRICARE PHARMACY;82;0;0;0
+81 ;;CHOICE OPT;83;1;2;3
+82 ;;CC OPT;84;1;2;3
+83 ;;CCN OPT;85;1;2;3
+84 ;;CC MTF OPT;86;1;2;3
+85 ;;END
+86 ;
CHRGUPD ; Update the charge flags
+1 NEW RCLOOP,RCIEN,RCDATA,RCINT,RCADMIN,RCPEN,RCCAT
+2 NEW X,Y,DIE,DA,DR,DTOUT
+3 ;
+4 DO MES^XPDUTL(" -> Updating Charge flags in select AR CATEGORY (430.2) entries ...")
+5 ;Clear the array
+6 KILL PRCAARY
+7 ; Grab all of the entries to update
+8 FOR RCLOOP=1:1
SET RCDATA=$TEXT(CUPDDT+RCLOOP)
if RCDATA=" ;;END"
QUIT
Begin DoDot:1
+9 SET RCCAT=$PIECE(RCDATA,";",4)
+10 SET RCIEN=$ORDER(^PRCA(430.2,"AC",RCCAT,""))
+11 if RCIEN=""
QUIT
+12 SET RCINT=$PIECE(RCDATA,";",5)
+13 SET RCADMIN=$PIECE(RCDATA,";",6)
+14 SET RCPEN=$PIECE(RCDATA,";",7)
+15 ;
+16 ; File the update
+17 SET DR="9////"_RCINT_";"
+18 SET DR=DR_"10////"_RCADMIN_";"
+19 SET DR=DR_"11////"_RCPEN_";"
+20 if DR=""
QUIT
+21 SET DIE="^PRCA(430.2,"
SET DA=RCIEN
+22 DO ^DIE
+23 ;Clear update array before next use
KILL DR
End DoDot:1
+24 ;
+25 SET DR=""
+26 DO MES^XPDUTL(" Charge Flags in select AR CATEGORY (430.2) entries.")
+27 QUIT
+28 ;
CUPDDT ; Charge flag update data
+1 ;;ADULT DAY HEALTH CARE;40;1;1;0
+2 ;;COMP & PEN PROCEEDS;8;0;0;0
+3 ;;CRIME OF PER.VIO.;27;0;0;0
+4 ;;CWT PROCEEDS;7;0;0;0
+5 ;;DOMICILIARY;41;1;1;0
+6 ;;GERIATRIC EVAL-INSTITUTIONAL;44;1;1;0
+7 ;;GERIATRIC EVAL-NON-INSTITUTION;45;1;1;0
+8 ;;NO-FAULT AUTO ACC.;26;0;0;0
+9 ;;NURSING HOME CARE-LTC;46;1;1;0
+10 ;;NURSING HOME PROCEEDS;5;0;0;0
+11 ;;RESPITE CARE-INSTITUTIONAL;42;1;1;0
+12 ;;RESPITE CARE-NON-INSTITUTIONAL;43;1;1;0
+13 ;;TORT FEASOR;22;0;0;0
+14 ;;END
ENV ;environment check
+1 ;Package level variable. Don't New
SET XPDABORT=""
+2 ;checks for fund existence
DO DBCHK(.XPDABORT)
+3 IF XPDABORT=""
KILL XPDABORT
+4 QUIT
+5 ;
DBCHK(XPDABORT) ;checks for test/production account
+1 NEW RCMISS,RCIEN
+2 ;
+3 ; Set the missing flag to False (No Funds missing)
SET RCMISS=0
+4 ;
+5 ; check to see if 0160R1 is properly defined
+6 SET RCIEN=$ORDER(^PRCD(420.3,"B","0160R1",""))
if 'RCIEN
SET RCMISS=1
+7 SET RCIEN=$ORDER(^PRCD(420.14,"B","0160R1",""))
if 'RCIEN
SET RCMISS=1
+8 ;
+9 ; If not defined properly (RCMISS=1) warn user and abort the installation.
+10 IF RCMISS
Begin DoDot:1
+11 DO BMES^XPDUTL("******")
+12 DO MES^XPDUTL("The new 0160R1 fund has not been fully defined for this facility.")
+13 DO MES^XPDUTL("This facility is not yet ready for the installation of PRCA*4.5*338.")
+14 DO MES^XPDUTL("Installation aborted.")
+15 DO MES^XPDUTL("******")
+16 SET XPDABORT=2
End DoDot:1
+17 QUIT
+18 ;
FND714 ;PRCD FUND entry 528714 in 420.14
+1 NEW DA,DIC,DIK,DLAYGO,FUND,X,Y
+2 DO MES^XPDUTL(" -> Adding new PRCD FUND entry 528714 to file 420.14 ...")
+3 SET DIC="^PRCD(420.14,"
SET DIC(0)="L"
SET DLAYGO=420.14
SET FUND=528714
+4 ; if the entry is in the file, delete it first to add fields uneditable
+5 SET X=FUND
DO ^DIC
IF +Y>0
SET DA=+Y
SET DIK="^PRCD(420.14,"
DO ^DIK
+6 ; add entry
+7 SET X=FUND
+8 SET DIC("DR")="1////MCCF-FEE-COLL FUND-1ST PARTY;"
+9 SET DIC("DR")=DIC("DR")_"2///2018;"
+10 SET DIC("DR")=DIC("DR")_"3///2018;"
+11 SET DIC("DR")=DIC("DR")_"4.7///NET;"
+12 SET DIC("DR")=DIC("DR")_"5///A;"
+13 SET DIC("DR")=DIC("DR")_"4.5///N;"
+14 DO FILE^DICN
+15 DO MES^XPDUTL(" PRCD FUND completed.")
+16 QUIT
+17 ;
APPR714 ;PRCD FUND/APPROPRIATION CODE entry 528714 in 420.3
+1 NEW DA,DIC,DIE,DIK,DINUM,DLAYGO,DR,RCDATA,RCDINUM,X,Y
+2 DO MES^XPDUTL(" -> Adding new PRCD FUND/APPROPRIATION CODE entry 528714 to file 420.3 ...")
+3 ; install entries in file 420.3
+4 SET FUND=528714
SET DIC="^PRCD(420.3,"
SET DIC(0)="L"
SET DLAYGO=420.3
+5 ; if the entry is in the file, delete it first to add fields uneditable
+6 SET X=FUND
DO ^DIC
IF +Y>0
SET DA=+Y
SET DIK="^PRCD(420.3,"
DO ^DIK
+7 ; add entry
+8 SET X=FUND
+9 SET DIC("DR")="2////36_5287.14;"
+10 SET DIC("DR")=DIC("DR")_"4///36_5287.14;"
+11 SET DIC("DR")=DIC("DR")_"6///528714;"
+12 SET DIC("DR")=DIC("DR")_"7///Y;"
+13 DO FILE^DICN
+14 DO MES^XPDUTL(" PRCD FUND/APPROPRIATION CODE completed.")
+15 QUIT
+16 ;
FNDR1 ;PRCD FUND entry 0160R1 into 420.14
+1 NEW DA,DIC,DIK,DLAYGO,FUND,X,Y
+2 DO MES^XPDUTL(" -> Adding new PRCD FUND entry 0160R1 to file 420.14 ...")
+3 SET DIC="^PRCD(420.14,"
SET DIC(0)="L"
SET DLAYGO=420.14
SET FUND="0160R1"
+4 ; if the entry is in the file, delete it first to add fields uneditable
+5 SET X=FUND
DO ^DIC
IF +Y>0
SET DA=+Y
SET DIK="^PRCD(420.14,"
DO ^DIK
+6 ; add entry
+7 SET X=FUND
+8 SET DIC("DR")="1////MEDICAL SERVICE - LIM1;"
+9 SET DIC("DR")=DIC("DR")_"2///2018;"
+10 SET DIC("DR")=DIC("DR")_"3///2018;"
+11 SET DIC("DR")=DIC("DR")_"4.7///NET;"
+12 SET DIC("DR")=DIC("DR")_"5///A;"
+13 SET DIC("DR")=DIC("DR")_"4.5///Y;"
+14 DO FILE^DICN
+15 DO MES^XPDUTL(" PRCD FUND completed.")
+16 QUIT
+17 ;
APPRR1 ;PRCD FUND/APPROPRIATION CODE entry 0160R1 into 420.3
+1 NEW DA,DIC,DIE,DIK,DINUM,DLAYGO,DR,RCDATA,RCDINUM,X,Y
+2 DO MES^XPDUTL(" -> Adding new PRCD FUND/APPROPRIATION CODE entry 0160R1 to file 420.3 ...")
+3 ; install entries in file 420.3
+4 SET FUND="0160R1"
SET DIC="^PRCD(420.3,"
SET DIC(0)="L"
SET DLAYGO=420.3
+5 ; if the entry is in the file, delete it first to add fields uneditable
+6 SET X=FUND
DO ^DIC
IF +Y>0
SET DA=+Y
SET DIK="^PRCD(420.3,"
DO ^DIK
+7 ; add entry
+8 SET X=FUND
+9 SET DIC("DR")="2////36_0160;"
+10 SET DIC("DR")=DIC("DR")_"4///36 0160;"
+11 SET DIC("DR")=DIC("DR")_"6///0160R1;"
+12 DO FILE^DICN
+13 DO MES^XPDUTL(" PRCD FUND/APPROPRIATION CODE completed.")
+14 QUIT
+15 ;
REVSC ;REVENUE SOURCE CODE entries in file #347.3
+1 NEW RCLOOP,RSCDATA,DIC,Y,GBL,DA,X,DIE,DR
+2 DO MES^XPDUTL(" -> Adding new REVENUE SOURCE CODE entries to file 347.3 ...")
+3 SET GBL="^RC(347.3,"
+4 FOR RCLOOP=1:1
Begin DoDot:1
+5 SET RSCDATA=$PIECE($TEXT(NEWRSC+RCLOOP),";",3,99)
+6 if RSCDATA="END"
QUIT
+7 ; do a lookup and continue if exists.
+8 SET DIC=GBL
SET X=$PIECE(RSCDATA,";",2)
DO ^DIC
+9 IF +Y>0
SET DIK=GBL
SET DA=+Y
DO ^DIK
+10 ; add entry
+11 SET X=$PIECE(RSCDATA,";",2)
+12 SET DIC("DR")=".02///"_$PIECE(RSCDATA,";")_";"
+13 SET DIC("DR")=DIC("DR")_".03///0;"
+14 DO FILE^DICN
+15 IF +Y=-1
Begin DoDot:2
+16 DO MES^XPDUTL(" "_$PIECE(RSCDATA,";")_" failed to add!")
End DoDot:2
End DoDot:1
if RSCDATA="END"
QUIT
+17 DO MES^XPDUTL(" REVENUE SOURCE CODES completed.")
+18 ;
NEWRSC ;New Revenue Source Codes (RSC#)
+1 ;;DOD DISABILITY EVALUATION SYSTEM (DES);8085
+2 ;;DOD SPINAL CORD INPATIENT;8086
+3 ;;DOD SPINAL CORD OUTPATIENT;8087
+4 ;;DOD SPINAL CORD OTHER;8088
+5 ;;DOD TRAUMATIC BRAIN INJURY INPATIENT;8089
+6 ;;TRAUMATIC BRAIN INJURY OUTPATIENT;8090
+7 ;;TRAUMATIC BRAIN INJURY OTHER;8091
+8 ;;BLIND REHABILITATION INPATIENT;8092
+9 ;;BLIND REHABILITATION OUTPATIENT;8093
+10 ;;BLIND REHABILITATION OTHER;8094
+11 ;;TRICARE PHARMACY;8095
+12 ;;TRICARE ACTIVE DUTY DENTAL;8096
+13 ;;END