BMC4P13 ;IHS/OIT/FCJ - BMC 4.0 PATCH 12 ; 16 Feb 2011 2:54 PM
;;4.0;REFERRED CARE INFO SYSTEM;**12**;JAN 09, 2006;Build 101
;
INSTALLD(BMC) ; Determine if patch BMC was installed, where BMC is
; the name of the INSTALL. E.g "AVA*93.2*12".
NEW DIC,X,Y
; lookup package.
S X=$P(BMC,"*",1)
S DIC="^DIC(9.4,",DIC(0)="FM",D="C"
D IX^DIC
I Y<1 Q 0
; lookup version.
S DIC=DIC_+Y_",22,",X=$P(BMC,"*",2)
D ^DIC
I Y<1 Q 0
; lookup patch.
S DIC=DIC_+Y_",""PAH"",",X=$P(BMC,"*",3)
D ^DIC
Q $S(Y<1:0,1:1)
; -----------------------------------------------------
PRE ;EP - From KIDS.
I $$NEWCP^XPDUTL("PRE1","AUDS^BMC4E")
; The following line prevents the "Disable Options..." and "Move
; Routines..." questions from being asked during the install.
I $G(XPDENV)=1 S (XPDDIQ("XPZ1"),XPDDIQ("XPZ2"))=0
Q
;
POST ;EP - From KIDS.
;Add BUSA entries
I $D(^BUSA(9002319.03,0)) D
. ;BMC ADD REFERRAL
. I $O(^BUSA(9002319.03,"B","BMC ADD REFERRAL",""))="" D
.. NEW DIC,X,DLAYGO,Y,DTOUT,DIRUT,DUOUT,BUSAUPD,DA,ERROR
.. S DIC(0)="L",DIC="^BUSA(9002319.03,"
.. L +^BUSA(9002319.03,0):1 E Q
.. S X="BMC ADD REFERRAL",DLAYGO=9002319.03
.. K DO,DD D FILE^DICN
.. L -^BUSA(9002319.03,0)
.. I +Y<0 Q
.. S DA=+Y
.. S BUSAUPD(9002319.03,DA_",",.02)="P",BUSAUPD(9002319.03,DA_",",.03)="A"
.. S BUSAUPD(9002319.03,DA_",",.06)="S X=""BMC: Created patient referral"""
.. S BUSAUPD(9002319.03,DA_",",1.01)="I~2",BUSAUPD(9002319.03,DA_",",2.01)="I~32"
.. D FILE^DIE("","BUSAUPD","ERROR")
. ;BMC UPDATE REFERRAL
. I $O(^BUSA(9002319.03,"B","BMC UPDATE REFERRAL",""))="" D
.. NEW DIC,X,DLAYGO,Y,DTOUT,DIRUT,DUOUT,BUSAUPD,DA,ERROR
.. S DIC(0)="L",DIC="^BUSA(9002319.03,"
.. L +^BUSA(9002319.03,0):1 E Q
.. S X="BMC UPDATE REFERRAL",DLAYGO=9002319.03
.. K DO,DD D FILE^DICN
.. L -^BUSA(9002319.03,0)
.. I +Y<0 Q
.. S DA=+Y
.. S BUSAUPD(9002319.03,DA_",",.02)="P",BUSAUPD(9002319.03,DA_",",.03)="E"
.. S BUSAUPD(9002319.03,DA_",",.06)="S X=""BMC: Update patient referral"""
.. S BUSAUPD(9002319.03,DA_",",1.01)="I~1"
.. S BUSAUPD(9002319.03,DA_",",1.02)="S X=$$GET1~DIQ(90001,X_"","",.03,""I"")"
.. S BUSAUPD(9002319.03,DA_",",2.01)="I~1"
.. S BUSAUPD(9002319.03,DA_",",2.02)="S X=$$GET1~DIQ(90001,X_"","",1309,""I"")"
.. D FILE^DIE("","BUSAUPD","ERROR")
;
; --- Restore dd audit settings.
S %="AUDR^BMC4E"
I $$NEWCP^XPDUTL("POS1-"_%,%)
; --- Set new Index "BA" and "BB"
S %="INDX^BMC4P13"
I $$NEWCP^XPDUTL("POS2-"_%,%)
; --- Add Provider/Vendor Option
S %="P5^BMC4P13"
I $$NEWCP^XPDUTL("POS3-"_%,%)
; --- Add MED HX Opt and fx CHS 2010 PO #'s
S %="P6^BMC4P13"
I $$NEWCP^XPDUTL("POS4-"_%,%)
; --- Add Opt-printing C32s for Active referrals
S %="P7^BMC4P13"
I $$NEWCP^XPDUTL("POS5-"_%,%)
; --- Add Opt-TOC and Edit option for TOC
S %="P8^BMC4P13"
I $$NEWCP^XPDUTL("POS6-"_%,%)
; ---Re-Add Options, removed because a parent opt sent
S %="P9^BMC4P13"
I $$NEWCP^XPDUTL("POS8-"_%,%)
; ---Remove CHS PAID from GEN RET
S %="P10^BMC4P13"
I $$NEWCP^XPDUTL("POS9-"_%,%)
; ---Remove clinic field from V ref file
S %="P10VR^BMC4P13"
I $$NEWCP^XPDUTL("POS10-"_%,%)
; ---Reformat comments to 80 char in RCIS Comments file
S %="P10COM^BMC4P13"
I $$NEWCP^XPDUTL("POS11-"_%,%)
; ---New Opt and fix of V Ref file
S %="P12^BMC4P13"
I $$NEWCP^XPDUTL("POS12-"_%,%)
; --- Send mail message of install.
S %="MAIL^BMC4E"
I $$NEWCP^XPDUTL("POS13-"_%,%)
Q
;
INDX ;INDEX NEW INDECIES "BA", "BB" AND "CD" ;Patch 2
S BMC="BMC*4.0*2" Q:$$INSTALLD(BMC)
D BMES^XPDUTL("BEGIN Indexing Expected Begining Date of Service.")
S DIK="^BMCREF("
S DIK(1)="1105^BA"
D ENALL^DIK
D BMES^XPDUTL("BEGIN Indexing Appointment/begin DOS.")
S DIK(1)="1106^BB"
D ENALL^DIK
D BMES^XPDUTL("BEGIN Indexing CHS Denial Number.")
S DIK(1)="1128^CD"
D ENALL^DIK
D BMES^XPDUTL("Completed updating new indexes.")
K DA,DIC,DIK,X
Q
P5 ;Add Opt for Vendor
S BMC="BMC*4.0*5" Q:$$INSTALLD(BMC)
D BMES^XPDUTL("Begin adding new Provider/Vendor option.")
I $$ADD^XPDMENU("BMCMENU","BMCVEN","VEN") D MES^XPDUTL($J("",5)_"Provider/Vendor add/edit Menu added to RCIS Main Menu")
D MES^XPDUTL("END updating option.")
Q
P6 ;FX CHS PO'S WITH FY 00 INSTEAD OF FY 10
S BMC="BMC*4.0*6" Q:$$INSTALLD(BMC)
D MES^XPDUTL("Updating CHS 2010 PO Numbers.")
S BMC=3090900 F S BMC=$O(^BMCREF("B",BMC)) Q:BMC'?1N.N D
.S BMC1="" F S BMC1=$O(^BMCREF("B",BMC,BMC1)) Q:BMC1'?1N.N D
..I $D(^BMCREF(BMC1,41)) S BMC2=0 F S BMC2=$O(^BMCREF(BMC1,41,BMC2)) Q:BMC2'?1N.N D
...S BMCPO=$P(^BMCREF(BMC1,41,BMC2,0),U,8)
...I $E(BMCPO,1,2)="00",$L(BMCPO)=12 D
....S $P(^BMCREF(BMC1,41,BMC2,0),U,8)="10"_$E(BMCPO,3,12)
....S $P(^BMCREF(BMC1,41,BMC2,11),U)=10
D BMES^XPDUTL("Begin adding option for Adding Med Hx comments.")
I $$ADD^XPDMENU("BMC MENU EDIT REFERRAL","BMC MED HX COMMENTS","MED") D MES^XPDUTL($J("",5)_"Enter Medical Hx Comments Menu added to RCIS Edit Menu")
D MES^XPDUTL("END updating option.")
Q
P7 ;Add Report opt for the printed C32
S BMC="BMC*4.0*7" Q:$$INSTALLD(BMC)
D BMES^XPDUTL("Begin adding option for Active referrals without a printed C32.")
I $$ADD^XPDMENU("BMC MENU-RPTS ADMINISTRATIVE","BMC RPT-ACTIVE REFERRALS-C32","ARC") D MES^XPDUTL($J("",5)_"Report for Active ref w/o a C32 Menu added to Adm Report option")
D MES^XPDUTL("END updating option.")
Q
P8 ;Add Report TOC Opt and Edit TOC Opt
S BMC="BMC*4.0*8" Q:$$INSTALLD(BMC)
D BMES^XPDUTL("Begin adding option for TOC Report for Approved referrals pending a TOC document.")
I $$ADD^XPDMENU("BMC MENU-RPTS ADMINISTRATIVE","BMC RPT-APPRV REF TOC PENDING","TOCR") D MES^XPDUTL($J("",5)_"Report for Approved ref w/o a TOC option added to Adm Report option")
D BMES^XPDUTL("Begin adding Edit option for TOC Information.")
I $$ADD^XPDMENU("BMC MENU EDIT REFERRAL","BMC MOD TOC","TOC") D MES^XPDUTL($J("",5)_"Edit Option for TOC information for Approved Referrals.")
D MES^XPDUTL("END updating option.")
;
PCCLNK ;Add RCIS to PCC Visit Merge Utility
;NEW INDEX NEED TO REINDEX FOR BETA SITES
S DIK="^BMCREF(",DIK(1)="1309^VSTR" D ENALL^DIK K DIK
I $D(^APCDLINK("B","REFERRED CARE INFORMATION SYST")) D ;already exists
.S DA=0,DA=$O(^APCDLINK("B","REFERRED CARE INFORMATION SYST",DA))
.S DIE="^APCDLINK(",DR=".01///REFERRED CARE INFORMATION SYS;1///I $L($T(MRG^BMCPCCV))"
.D ^DIE K DIE,DA,DR
Q:$D(^APCDLINK("B","REFERRED CARE INFORMATION SYS")) ;already exists
D BMES^XPDUTL("Adding RCIS to PCC Visit Merge Utility . . .")
NEW DD,DO,DIC,DLAYGO,X,Y
S DIC="^APCDLINK(",DIC(0)="LE",DLAYGO=9001002
S DIC("DR")=".02///BMC;1///I $L($T(MRG^BMCPCCV)) D MRG^BMCPCCV;3///I $L($T(DEL^BMCPCCV)) D DEL^BMCPCCV"
S X="REFERRED CARE INFORMATION SYS" D FILE^DICN
Q
P9 ;Add Report Opt
S BMC="BMC*4.0*9" ;Q:$$INSTALLD(BMC)
D MES^XPDUTL("Begin updating Special Print Menu option.")
I $$ADD^XPDMENU("BMC MENU SPECIAL","BMC DISPLAY REFERRAL RECORD","DSP")
I $$ADD^XPDMENU("BMC MENU SPECIAL","BMC PRINT REFERRAL FORMS","PRF")
I $$ADD^XPDMENU("BMC MENU SPECIAL","BMC PRINT ROUTING SLIP","PRS")
I $$ADD^XPDMENU("BMC MENU SPECIAL","BMC MENU-PRINT REPORTS","RPT")
D MES^XPDUTL("END updating Special Print Menu option.")
Q
P10 ;Patch 10
;S BMC="BMC*4.0*10" Q:$$INSTALLD(BMC)
;Delete GEN RET option 99.1 CHS Paid To Date
NEW DA,DIE,DIC,DR
S X="CHS Paid To Date",(DIC,DIE)="^BMCTSORT(",DR=".01////"_"@"
D ^DIC
I +Y<0 D BMES^XPDUTL("Unable to remove CHS Paid To Date from Gen Ret items . . .")
S DA=+Y
D ^DIE
D BMES^XPDUTL("CHS Paid To Date removed from Gen Ret items . . .")
Q
;
P10VR ;Clean up clinic stop in V Referral file
S BMC="BMC*4.0*10" Q:$$INSTALLD(BMC)
NEW DA,DIE,DIC,DR
S DA=0
S DIE="^AUPNVREF(",DR="1203////"_"@"
F S DA=$O(^AUPNVREF(DA)) Q:DA'?1N.N D:$P($G(^AUPNVREF(DA,12)),U,3)'=""
.D ^DIE
D BMES^XPDUTL("Completed clean up of clinic stop field in V Referral file . . .")
Q
P10COM ;Clean up of comments file
S BMC="BMC*4.0*10" Q:$$INSTALLD(BMC)
NEW DA,DIE,DIC,DR
S BEGDT=3130100
F S BEGDT=$O(^BMCCOM("B",BEGDT)) Q:BEGDT'?1N.N D
.S DA=0
.F S DA=$O(^BMCCOM("B",BEGDT,DA)) Q:DA'?1N.N D
..Q:'$D(^BMCCOM(DA,1,0))
..S DA(1)=0,FLG=0 F S DA(1)=$O(^BMCCOM(DA,1,DA(1))) Q:DA(1)'?1N.N I $L(^BMCCOM(DA,1,DA(1),0))>80 S FLG=1
..Q:FLG'=1
..S DA(1)=0 F S DA(1)=$O(^BMCCOM(DA,1,DA(1))) Q:DA(1)'?1N.N D
...S ^BMCCOMT(DA,1,DA(1),0)=^BMCCOM(DA,1,DA(1),0)
..S ^BMCCOMT(DA,1,0)=^BMCCOM(DA,1,0),BMCDA=(DA(1)-1)
..K ^BMCCOM(DA,1)
..S BMCDA=0,BMCDA2=0
..F S BMCDA=$O(^BMCCOMT(DA,1,BMCDA)) Q:BMCDA'?1N.N D
...S BMCCOM=^BMCCOMT(DA,1,BMCDA,0)
...S L=($L(BMCCOM)/80) I L#1>0 S L=L+1
...S (LGTH,LGTH2)=0 F I=1:1:L D
....S LGTH=LGTH2+1,BMCDA2=BMCDA2+1,LGTH2=80*BMCDA2 S ^BMCCOM(DA,1,BMCDA2,0)=$E(BMCCOM,LGTH,LGTH2)
...S ^BMCCOM(DA,1,0)=^BMCCOMT(DA,1,0),$P(^BMCCOM(DA,1,0),U,2,4)="90001.031"_U_BMCDA2_U_BMCDA2
K L,LGTH,LGHT2,BMCDA,BMCDA2,BMCCOM,FLG,BEGDT,CT
D BMES^XPDUTL("Completed clean up RCIS Comments file . . .")
Q
;
P12 ;Add Report Opt and Call-in options
S BMC="BMC*4.0*12" Q:$$INSTALLD(BMC)
D BMES^XPDUTL("Begin adding option for CHS Paid Report.")
I $$ADD^XPDMENU("BMC MENU-RPTS ADMINISTRATIVE","BMC RPT-CHS ONLY PAID","CHSP") D MES^XPDUTL($J("",5)_"Report for CHS Paid Referrals option added to Adm Report option")
D BMES^XPDUTL("Begin adding Edit option for Call-in Referrals.")
I $$ADD^XPDMENU("BMC MENU REFERRAL MANAGEMENT","BMC CALL-IN REFERRAL EDIT","CIN") D MES^XPDUTL($J("",5)_"Edit Call in Referrals added to Referral Management Menu.")
D MES^XPDUTL("END updating option.")
VREF ;CLEAN UP V REF FILE
G:$G(^AUPNVREF(0)) ZPAR
D BMES^XPDUTL("Updating V Referral file.")
;FIX TO STUFF 1202 OF V REFERRAL WITH REQUESTING PROVIDER FROM RCIS REFERRAL ENTRY
;NULL OUT 1210 FIELD VALUE
;MOVE AND CORRECT V REFERRAL INFO BASED ON REFERRAL ENTRY
NEW APCDVREF,APCDREF,APCDRP,BMCVDFN,BMCVPRV
S APCDVREF=0 F S APCDVREF=$O(^AUPNVREF(APCDVREF)) Q:APCDVREF'=+APCDVREF D
.S APCDREF=$$VALI^XBDIQ1(9000010.59,APCDVREF,.06)
.Q:APCDREF="" ;NO REFERRAL IEN
.Q:'$D(^BMCREF(APCDREF,0)) ;no referral??
.S APCDRP=$$VALI^XBDIQ1(90001,APCDREF,.06) ;REQUESTING PROVIDER IEN
.S (BMCVDFN,BMCVPRV)="",BMCVDFN=$$VALI^XBDIQ1(90001,APCDREF,1309) I BMCVDFN S BMCVPRV=$$PRIMPROV^APCLV(BMCVDFN,"I")
.S DIE="^AUPNVREF(",DA=APCDVREF
.I APCDRP S DR="1210///@;1202////"_APCDRP
.I 'APCDRP S DR="1210///@;1202///@"
.I BMCVPRV S DR=DR_";1204////"_BMCVPRV ;SET PROV ENCOUNTER
.D ^DIE
.I $D(Y) D EN^DDIOL("failure to update v referral "_APCDVREF)
.K DIE,DA,DR
D BMES^XPDUTL("Completed Updating V Referral file.")
ZPAR ;ADD ENTRY TO ZISH PARAMETER FILE
D BMES^XPDUTL("Adding entry to Zish Send Parameter file.")
S X="BMC RCIS REPORTS",DIC="^%ZIB(9888888.93,",DIC(0)="L"
D ^DIC
I Y<0 W !,"ZISH SEND PARAMETER FOR THE BMC RCIS REPORTS ENTRY COULD NOT BE ADDED, YOU WILL NEED ADD THROUGH FILEMAN" G GENRET
S DA=+Y,DIE=DIC
S DR=".07////"_"B"_";.08////"_"sendto"
D ^DIE
K D,D0,D1,DI,DIADD,DIC,DICR,DIE,DLAYGO,DQ,DR,DINUM,DA
D BMES^XPDUTL("Completed adding Entry to Zish Send Parameter file.")
;
GENRET ;UPDATE GEN RET OPTIONS
D BMES^XPDUTL("Updating items for the Gen Ret Report option.")
NEW DA,DIE,DIC,DR
S X="Service Category (CPT)",(DIC,DIE)="^BMCTSORT(",DR=".01////Service Cat HCPCS/CPT"
D ^DIC I +Y>0 S DA=+Y D ^DIE K DR
S X="Util Review Committee",DR=".09////952"
D ^DIC I +Y>0 S DA=+Y D ^DIE K DR
S X="Mgd Care Committee",DR=".09////950"
D ^DIC I +Y>0 S DA=+Y D ^DIE K DR
S X="DT Mgd Care Action",DR=".09////951"
D ^DIC I +Y>0 S DA=+Y D ^DIE K DR
S X="Site Created by" D ^DIC I +Y<0 S DIC(0)="L" D
.D ^DIC S DA=+Y
.S DR=".02////R;.04////90001.31,.01;.05////S;.06////Site Created by;.07////20;.09////999;.11////R;"
.S DR=DR_"1////S X=$$FACREQ^BMCRLU1(BMCREF);2////S X=$P(^DIC(4,BMCY,0),U)"
.D ^DIE
D BMES^XPDUTL("Completed updating items for the Gen Ret option . . .")
K DA,DIE,DIC,DR
Q
BMC4P13 ;IHS/OIT/FCJ - BMC 4.0 PATCH 12 ; 16 Feb 2011 2:54 PM
+1 ;;4.0;REFERRED CARE INFO SYSTEM;**12**;JAN 09, 2006;Build 101
+2 ;
INSTALLD(BMC) ; Determine if patch BMC was installed, where BMC is
+1 ; the name of the INSTALL. E.g "AVA*93.2*12".
+2 NEW DIC,X,Y
+3 ; lookup package.
+4 SET X=$PIECE(BMC,"*",1)
+5 SET DIC="^DIC(9.4,"
SET DIC(0)="FM"
SET D="C"
+6 DO IX^DIC
+7 IF Y<1
QUIT 0
+8 ; lookup version.
+9 SET DIC=DIC_+Y_",22,"
SET X=$PIECE(BMC,"*",2)
+10 DO ^DIC
+11 IF Y<1
QUIT 0
+12 ; lookup patch.
+13 SET DIC=DIC_+Y_",""PAH"","
SET X=$PIECE(BMC,"*",3)
+14 DO ^DIC
+15 QUIT $SELECT(Y<1:0,1:1)
+16 ; -----------------------------------------------------
PRE ;EP - From KIDS.
+1 IF $$NEWCP^XPDUTL("PRE1","AUDS^BMC4E")
+2 ; The following line prevents the "Disable Options..." and "Move
+3 ; Routines..." questions from being asked during the install.
+4 IF $GET(XPDENV)=1
SET (XPDDIQ("XPZ1"),XPDDIQ("XPZ2"))=0
+5 QUIT
+6 ;
POST ;EP - From KIDS.
+1 ;Add BUSA entries
+2 IF $DATA(^BUSA(9002319.03,0))
Begin DoDot:1
+3 ;BMC ADD REFERRAL
+4 IF $ORDER(^BUSA(9002319.03,"B","BMC ADD REFERRAL",""))=""
Begin DoDot:2
+5 NEW DIC,X,DLAYGO,Y,DTOUT,DIRUT,DUOUT,BUSAUPD,DA,ERROR
+6 SET DIC(0)="L"
SET DIC="^BUSA(9002319.03,"
+7 LOCK +^BUSA(9002319.03,0):1
IF '$TEST
QUIT
+8 SET X="BMC ADD REFERRAL"
SET DLAYGO=9002319.03
+9 KILL DO,DD
DO FILE^DICN
+10 LOCK -^BUSA(9002319.03,0)
+11 IF +Y<0
QUIT
+12 SET DA=+Y
+13 SET BUSAUPD(9002319.03,DA_",",.02)="P"
SET BUSAUPD(9002319.03,DA_",",.03)="A"
+14 SET BUSAUPD(9002319.03,DA_",",.06)="S X=""BMC: Created patient referral"""
+15 SET BUSAUPD(9002319.03,DA_",",1.01)="I~2"
SET BUSAUPD(9002319.03,DA_",",2.01)="I~32"
+16 DO FILE^DIE("","BUSAUPD","ERROR")
End DoDot:2
+17 ;BMC UPDATE REFERRAL
+18 IF $ORDER(^BUSA(9002319.03,"B","BMC UPDATE REFERRAL",""))=""
Begin DoDot:2
+19 NEW DIC,X,DLAYGO,Y,DTOUT,DIRUT,DUOUT,BUSAUPD,DA,ERROR
+20 SET DIC(0)="L"
SET DIC="^BUSA(9002319.03,"
+21 LOCK +^BUSA(9002319.03,0):1
IF '$TEST
QUIT
+22 SET X="BMC UPDATE REFERRAL"
SET DLAYGO=9002319.03
+23 KILL DO,DD
DO FILE^DICN
+24 LOCK -^BUSA(9002319.03,0)
+25 IF +Y<0
QUIT
+26 SET DA=+Y
+27 SET BUSAUPD(9002319.03,DA_",",.02)="P"
SET BUSAUPD(9002319.03,DA_",",.03)="E"
+28 SET BUSAUPD(9002319.03,DA_",",.06)="S X=""BMC: Update patient referral"""
+29 SET BUSAUPD(9002319.03,DA_",",1.01)="I~1"
+30 SET BUSAUPD(9002319.03,DA_",",1.02)="S X=$$GET1~DIQ(90001,X_"","",.03,""I"")"
+31 SET BUSAUPD(9002319.03,DA_",",2.01)="I~1"
+32 SET BUSAUPD(9002319.03,DA_",",2.02)="S X=$$GET1~DIQ(90001,X_"","",1309,""I"")"
+33 DO FILE^DIE("","BUSAUPD","ERROR")
End DoDot:2
End DoDot:1
+34 ;
+35 ; --- Restore dd audit settings.
+36 SET %="AUDR^BMC4E"
+37 IF $$NEWCP^XPDUTL("POS1-"_%,%)
+38 ; --- Set new Index "BA" and "BB"
+39 SET %="INDX^BMC4P13"
+40 IF $$NEWCP^XPDUTL("POS2-"_%,%)
+41 ; --- Add Provider/Vendor Option
+42 SET %="P5^BMC4P13"
+43 IF $$NEWCP^XPDUTL("POS3-"_%,%)
+44 ; --- Add MED HX Opt and fx CHS 2010 PO #'s
+45 SET %="P6^BMC4P13"
+46 IF $$NEWCP^XPDUTL("POS4-"_%,%)
+47 ; --- Add Opt-printing C32s for Active referrals
+48 SET %="P7^BMC4P13"
+49 IF $$NEWCP^XPDUTL("POS5-"_%,%)
+50 ; --- Add Opt-TOC and Edit option for TOC
+51 SET %="P8^BMC4P13"
+52 IF $$NEWCP^XPDUTL("POS6-"_%,%)
+53 ; ---Re-Add Options, removed because a parent opt sent
+54 SET %="P9^BMC4P13"
+55 IF $$NEWCP^XPDUTL("POS8-"_%,%)
+56 ; ---Remove CHS PAID from GEN RET
+57 SET %="P10^BMC4P13"
+58 IF $$NEWCP^XPDUTL("POS9-"_%,%)
+59 ; ---Remove clinic field from V ref file
+60 SET %="P10VR^BMC4P13"
+61 IF $$NEWCP^XPDUTL("POS10-"_%,%)
+62 ; ---Reformat comments to 80 char in RCIS Comments file
+63 SET %="P10COM^BMC4P13"
+64 IF $$NEWCP^XPDUTL("POS11-"_%,%)
+65 ; ---New Opt and fix of V Ref file
+66 SET %="P12^BMC4P13"
+67 IF $$NEWCP^XPDUTL("POS12-"_%,%)
+68 ; --- Send mail message of install.
+69 SET %="MAIL^BMC4E"
+70 IF $$NEWCP^XPDUTL("POS13-"_%,%)
+71 QUIT
+72 ;
INDX ;INDEX NEW INDECIES "BA", "BB" AND "CD" ;Patch 2
+1 SET BMC="BMC*4.0*2"
IF $$INSTALLD(BMC)
QUIT
+2 DO BMES^XPDUTL("BEGIN Indexing Expected Begining Date of Service.")
+3 SET DIK="^BMCREF("
+4 SET DIK(1)="1105^BA"
+5 DO ENALL^DIK
+6 DO BMES^XPDUTL("BEGIN Indexing Appointment/begin DOS.")
+7 SET DIK(1)="1106^BB"
+8 DO ENALL^DIK
+9 DO BMES^XPDUTL("BEGIN Indexing CHS Denial Number.")
+10 SET DIK(1)="1128^CD"
+11 DO ENALL^DIK
+12 DO BMES^XPDUTL("Completed updating new indexes.")
+13 KILL DA,DIC,DIK,X
+14 QUIT
P5 ;Add Opt for Vendor
+1 SET BMC="BMC*4.0*5"
IF $$INSTALLD(BMC)
QUIT
+2 DO BMES^XPDUTL("Begin adding new Provider/Vendor option.")
+3 IF $$ADD^XPDMENU("BMCMENU","BMCVEN","VEN")
DO MES^XPDUTL($JUSTIFY("",5)_"Provider/Vendor add/edit Menu added to RCIS Main Menu")
+4 DO MES^XPDUTL("END updating option.")
+5 QUIT
P6 ;FX CHS PO'S WITH FY 00 INSTEAD OF FY 10
+1 SET BMC="BMC*4.0*6"
IF $$INSTALLD(BMC)
QUIT
+2 DO MES^XPDUTL("Updating CHS 2010 PO Numbers.")
+3 SET BMC=3090900
FOR
SET BMC=$ORDER(^BMCREF("B",BMC))
IF BMC'?1N.N
QUIT
Begin DoDot:1
+4 SET BMC1=""
FOR
SET BMC1=$ORDER(^BMCREF("B",BMC,BMC1))
IF BMC1'?1N.N
QUIT
Begin DoDot:2
+5 IF $DATA(^BMCREF(BMC1,41))
SET BMC2=0
FOR
SET BMC2=$ORDER(^BMCREF(BMC1,41,BMC2))
IF BMC2'?1N.N
QUIT
Begin DoDot:3
+6 SET BMCPO=$PIECE(^BMCREF(BMC1,41,BMC2,0),U,8)
+7 IF $EXTRACT(BMCPO,1,2)="00"
IF $LENGTH(BMCPO)=12
Begin DoDot:4
+8 SET $PIECE(^BMCREF(BMC1,41,BMC2,0),U,8)="10"_$EXTRACT(BMCPO,3,12)
+9 SET $PIECE(^BMCREF(BMC1,41,BMC2,11),U)=10
End DoDot:4
End DoDot:3
End DoDot:2
End DoDot:1
+10 DO BMES^XPDUTL("Begin adding option for Adding Med Hx comments.")
+11 IF $$ADD^XPDMENU("BMC MENU EDIT REFERRAL","BMC MED HX COMMENTS","MED")
DO MES^XPDUTL($JUSTIFY("",5)_"Enter Medical Hx Comments Menu added to RCIS Edit Menu")
+12 DO MES^XPDUTL("END updating option.")
+13 QUIT
P7 ;Add Report opt for the printed C32
+1 SET BMC="BMC*4.0*7"
IF $$INSTALLD(BMC)
QUIT
+2 DO BMES^XPDUTL("Begin adding option for Active referrals without a printed C32.")
+3 IF $$ADD^XPDMENU("BMC MENU-RPTS ADMINISTRATIVE","BMC RPT-ACTIVE REFERRALS-C32","ARC")
DO MES^XPDUTL($JUSTIFY("",5)_"Report for Active ref w/o a C32 Menu added to Adm Report option")
+4 DO MES^XPDUTL("END updating option.")
+5 QUIT
P8 ;Add Report TOC Opt and Edit TOC Opt
+1 SET BMC="BMC*4.0*8"
IF $$INSTALLD(BMC)
QUIT
+2 DO BMES^XPDUTL("Begin adding option for TOC Report for Approved referrals pending a TOC document.")
+3 IF $$ADD^XPDMENU("BMC MENU-RPTS ADMINISTRATIVE","BMC RPT-APPRV REF TOC PENDING","TOCR")
DO MES^XPDUTL($JUSTIFY("",5)_"Report for Approved ref w/o a TOC option added to Adm Report option")
+4 DO BMES^XPDUTL("Begin adding Edit option for TOC Information.")
+5 IF $$ADD^XPDMENU("BMC MENU EDIT REFERRAL","BMC MOD TOC","TOC")
DO MES^XPDUTL($JUSTIFY("",5)_"Edit Option for TOC information for Approved Referrals.")
+6 DO MES^XPDUTL("END updating option.")
+7 ;
PCCLNK ;Add RCIS to PCC Visit Merge Utility
+1 ;NEW INDEX NEED TO REINDEX FOR BETA SITES
+2 SET DIK="^BMCREF("
SET DIK(1)="1309^VSTR"
DO ENALL^DIK
KILL DIK
+3 ;already exists
IF $DATA(^APCDLINK("B","REFERRED CARE INFORMATION SYST"))
Begin DoDot:1
+4 SET DA=0
SET DA=$ORDER(^APCDLINK("B","REFERRED CARE INFORMATION SYST",DA))
+5 SET DIE="^APCDLINK("
SET DR=".01///REFERRED CARE INFORMATION SYS;1///I $L($T(MRG^BMCPCCV))"
+6 DO ^DIE
KILL DIE,DA,DR
End DoDot:1
+7 ;already exists
IF $DATA(^APCDLINK("B","REFERRED CARE INFORMATION SYS"))
QUIT
+8 DO BMES^XPDUTL("Adding RCIS to PCC Visit Merge Utility . . .")
+9 NEW DD,DO,DIC,DLAYGO,X,Y
+10 SET DIC="^APCDLINK("
SET DIC(0)="LE"
SET DLAYGO=9001002
+11 SET DIC("DR")=".02///BMC;1///I $L($T(MRG^BMCPCCV)) D MRG^BMCPCCV;3///I $L($T(DEL^BMCPCCV)) D DEL^BMCPCCV"
+12 SET X="REFERRED CARE INFORMATION SYS"
DO FILE^DICN
+13 QUIT
P9 ;Add Report Opt
+1 ;Q:$$INSTALLD(BMC)
SET BMC="BMC*4.0*9"
+2 DO MES^XPDUTL("Begin updating Special Print Menu option.")
+3 IF $$ADD^XPDMENU("BMC MENU SPECIAL","BMC DISPLAY REFERRAL RECORD","DSP")
+4 IF $$ADD^XPDMENU("BMC MENU SPECIAL","BMC PRINT REFERRAL FORMS","PRF")
+5 IF $$ADD^XPDMENU("BMC MENU SPECIAL","BMC PRINT ROUTING SLIP","PRS")
+6 IF $$ADD^XPDMENU("BMC MENU SPECIAL","BMC MENU-PRINT REPORTS","RPT")
+7 DO MES^XPDUTL("END updating Special Print Menu option.")
+8 QUIT
P10 ;Patch 10
+1 ;S BMC="BMC*4.0*10" Q:$$INSTALLD(BMC)
+2 ;Delete GEN RET option 99.1 CHS Paid To Date
+3 NEW DA,DIE,DIC,DR
+4 SET X="CHS Paid To Date"
SET (DIC,DIE)="^BMCTSORT("
SET DR=".01////"_"@"
+5 DO ^DIC
+6 IF +Y<0
DO BMES^XPDUTL("Unable to remove CHS Paid To Date from Gen Ret items . . .")
+7 SET DA=+Y
+8 DO ^DIE
+9 DO BMES^XPDUTL("CHS Paid To Date removed from Gen Ret items . . .")
+10 QUIT
+11 ;
P10VR ;Clean up clinic stop in V Referral file
+1 SET BMC="BMC*4.0*10"
IF $$INSTALLD(BMC)
QUIT
+2 NEW DA,DIE,DIC,DR
+3 SET DA=0
+4 SET DIE="^AUPNVREF("
SET DR="1203////"_"@"
+5 FOR
SET DA=$ORDER(^AUPNVREF(DA))
IF DA'?1N.N
QUIT
IF $PIECE($GET(^AUPNVREF(DA,12)),U,3)'=""
Begin DoDot:1
+6 DO ^DIE
End DoDot:1
+7 DO BMES^XPDUTL("Completed clean up of clinic stop field in V Referral file . . .")
+8 QUIT
P10COM ;Clean up of comments file
+1 SET BMC="BMC*4.0*10"
IF $$INSTALLD(BMC)
QUIT
+2 NEW DA,DIE,DIC,DR
+3 SET BEGDT=3130100
+4 FOR
SET BEGDT=$ORDER(^BMCCOM("B",BEGDT))
IF BEGDT'?1N.N
QUIT
Begin DoDot:1
+5 SET DA=0
+6 FOR
SET DA=$ORDER(^BMCCOM("B",BEGDT,DA))
IF DA'?1N.N
QUIT
Begin DoDot:2
+7 IF '$DATA(^BMCCOM(DA,1,0))
QUIT
+8 SET DA(1)=0
SET FLG=0
FOR
SET DA(1)=$ORDER(^BMCCOM(DA,1,DA(1)))
IF DA(1)'?1N.N
QUIT
IF $LENGTH(^BMCCOM(DA,1,DA(1),0))>80
SET FLG=1
+9 IF FLG'=1
QUIT
+10 SET DA(1)=0
FOR
SET DA(1)=$ORDER(^BMCCOM(DA,1,DA(1)))
IF DA(1)'?1N.N
QUIT
Begin DoDot:3
+11 SET ^BMCCOMT(DA,1,DA(1),0)=^BMCCOM(DA,1,DA(1),0)
End DoDot:3
+12 SET ^BMCCOMT(DA,1,0)=^BMCCOM(DA,1,0)
SET BMCDA=(DA(1)-1)
+13 KILL ^BMCCOM(DA,1)
+14 SET BMCDA=0
SET BMCDA2=0
+15 FOR
SET BMCDA=$ORDER(^BMCCOMT(DA,1,BMCDA))
IF BMCDA'?1N.N
QUIT
Begin DoDot:3
+16 SET BMCCOM=^BMCCOMT(DA,1,BMCDA,0)
+17 SET L=($LENGTH(BMCCOM)/80)
IF L#1>0
SET L=L+1
+18 SET (LGTH,LGTH2)=0
FOR I=1:1:L
Begin DoDot:4
+19 SET LGTH=LGTH2+1
SET BMCDA2=BMCDA2+1
SET LGTH2=80*BMCDA2
SET ^BMCCOM(DA,1,BMCDA2,0)=$EXTRACT(BMCCOM,LGTH,LGTH2)
End DoDot:4
+20 SET ^BMCCOM(DA,1,0)=^BMCCOMT(DA,1,0)
SET $PIECE(^BMCCOM(DA,1,0),U,2,4)="90001.031"_U_BMCDA2_U_BMCDA2
End DoDot:3
End DoDot:2
End DoDot:1
+21 KILL L,LGTH,LGHT2,BMCDA,BMCDA2,BMCCOM,FLG,BEGDT,CT
+22 DO BMES^XPDUTL("Completed clean up RCIS Comments file . . .")
+23 QUIT
+24 ;
P12 ;Add Report Opt and Call-in options
+1 SET BMC="BMC*4.0*12"
IF $$INSTALLD(BMC)
QUIT
+2 DO BMES^XPDUTL("Begin adding option for CHS Paid Report.")
+3 IF $$ADD^XPDMENU("BMC MENU-RPTS ADMINISTRATIVE","BMC RPT-CHS ONLY PAID","CHSP")
DO MES^XPDUTL($JUSTIFY("",5)_"Report for CHS Paid Referrals option added to Adm Report option")
+4 DO BMES^XPDUTL("Begin adding Edit option for Call-in Referrals.")
+5 IF $$ADD^XPDMENU("BMC MENU REFERRAL MANAGEMENT","BMC CALL-IN REFERRAL EDIT","CIN")
DO MES^XPDUTL($JUSTIFY("",5)_"Edit Call in Referrals added to Referral Management Menu.")
+6 DO MES^XPDUTL("END updating option.")
VREF ;CLEAN UP V REF FILE
+1 IF $GET(^AUPNVREF(0))
GOTO ZPAR
+2 DO BMES^XPDUTL("Updating V Referral file.")
+3 ;FIX TO STUFF 1202 OF V REFERRAL WITH REQUESTING PROVIDER FROM RCIS REFERRAL ENTRY
+4 ;NULL OUT 1210 FIELD VALUE
+5 ;MOVE AND CORRECT V REFERRAL INFO BASED ON REFERRAL ENTRY
+6 NEW APCDVREF,APCDREF,APCDRP,BMCVDFN,BMCVPRV
+7 SET APCDVREF=0
FOR
SET APCDVREF=$ORDER(^AUPNVREF(APCDVREF))
IF APCDVREF'=+APCDVREF
QUIT
Begin DoDot:1
+8 SET APCDREF=$$VALI^XBDIQ1(9000010.59,APCDVREF,.06)
+9 ;NO REFERRAL IEN
IF APCDREF=""
QUIT
+10 ;no referral??
IF '$DATA(^BMCREF(APCDREF,0))
QUIT
+11 ;REQUESTING PROVIDER IEN
SET APCDRP=$$VALI^XBDIQ1(90001,APCDREF,.06)
+12 SET (BMCVDFN,BMCVPRV)=""
SET BMCVDFN=$$VALI^XBDIQ1(90001,APCDREF,1309)
IF BMCVDFN
SET BMCVPRV=$$PRIMPROV^APCLV(BMCVDFN,"I")
+13 SET DIE="^AUPNVREF("
SET DA=APCDVREF
+14 IF APCDRP
SET DR="1210///@;1202////"_APCDRP
+15 IF 'APCDRP
SET DR="1210///@;1202///@"
+16 ;SET PROV ENCOUNTER
IF BMCVPRV
SET DR=DR_";1204////"_BMCVPRV
+17 DO ^DIE
+18 IF $DATA(Y)
DO EN^DDIOL("failure to update v referral "_APCDVREF)
+19 KILL DIE,DA,DR
End DoDot:1
+20 DO BMES^XPDUTL("Completed Updating V Referral file.")
ZPAR ;ADD ENTRY TO ZISH PARAMETER FILE
+1 DO BMES^XPDUTL("Adding entry to Zish Send Parameter file.")
+2 SET X="BMC RCIS REPORTS"
SET DIC="^%ZIB(9888888.93,"
SET DIC(0)="L"
+3 DO ^DIC
+4 IF Y<0
WRITE !,"ZISH SEND PARAMETER FOR THE BMC RCIS REPORTS ENTRY COULD NOT BE ADDED, YOU WILL NEED ADD THROUGH FILEMAN"
GOTO GENRET
+5 SET DA=+Y
SET DIE=DIC
+6 SET DR=".07////"_"B"_";.08////"_"sendto"
+7 DO ^DIE
+8 KILL D,D0,D1,DI,DIADD,DIC,DICR,DIE,DLAYGO,DQ,DR,DINUM,DA
+9 DO BMES^XPDUTL("Completed adding Entry to Zish Send Parameter file.")
+10 ;
GENRET ;UPDATE GEN RET OPTIONS
+1 DO BMES^XPDUTL("Updating items for the Gen Ret Report option.")
+2 NEW DA,DIE,DIC,DR
+3 SET X="Service Category (CPT)"
SET (DIC,DIE)="^BMCTSORT("
SET DR=".01////Service Cat HCPCS/CPT"
+4 DO ^DIC
IF +Y>0
SET DA=+Y
DO ^DIE
KILL DR
+5 SET X="Util Review Committee"
SET DR=".09////952"
+6 DO ^DIC
IF +Y>0
SET DA=+Y
DO ^DIE
KILL DR
+7 SET X="Mgd Care Committee"
SET DR=".09////950"
+8 DO ^DIC
IF +Y>0
SET DA=+Y
DO ^DIE
KILL DR
+9 SET X="DT Mgd Care Action"
SET DR=".09////951"
+10 DO ^DIC
IF +Y>0
SET DA=+Y
DO ^DIE
KILL DR
+11 SET X="Site Created by"
DO ^DIC
IF +Y<0
SET DIC(0)="L"
Begin DoDot:1
+12 DO ^DIC
SET DA=+Y
+13 SET DR=".02////R;.04////90001.31,.01;.05////S;.06////Site Created by;.07////20;.09////999;.11////R;"
+14 SET DR=DR_"1////S X=$$FACREQ^BMCRLU1(BMCREF);2////S X=$P(^DIC(4,BMCY,0),U)"
+15 DO ^DIE
End DoDot:1
+16 DO BMES^XPDUTL("Completed updating items for the Gen Ret option . . .")
+17 KILL DA,DIE,DIC,DR
+18 QUIT