- 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 Mar 13, 2025@20:45:23 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