IB20P681 ;ALB/CXW - DSS CLINIC STOP CODES FOR FY 2021 ; July 16,2020
;;2.0;INTEGRATED BILLING;**681**;21-MAR-94;Build 7
;;Per VA Directive 6402, this routine should not be modified.
;
Q
POST ; Update IB Stop Code Billable Types for FY 2021 in #352.5
N U,IBEFDT
S U="^",IBEFDT=3201001
D START,UPDATE,FINISH
Q
;
START D BMES^XPDUTL("DSS Clinic Stop Codes for FY 2021, Post-Install Starting")
Q
;
FINISH D BMES^XPDUTL("DSS Clinic Stop Codes for FY 2021, Post-Install Complete")
Q
;
UPDATE ; add new entry for an old code with an effective date of 10/01/2020
N IBCODE,IBCNT,IBDES,IBLSTDT,IBOVER,IBRES,IBT,IBTYPE,IBX
S IBCNT=0
D BMES^XPDUTL(" Updating Stop Code entries in file 352.5")
F IBX=1:1 S IBT=$P($T(OCODE+IBX),";;",2) Q:IBT="Q" D
. S IBCODE=+$P(IBT,U)
. I $D(^IBE(352.5,"AEFFDT",IBCODE,-IBEFDT)) D Q
. . D BMES^XPDUTL(" Duplication of stop code "_IBCODE)
. S IBLSTDT=$O(^IBE(352.5,"AEFFDT",IBCODE,-9999999))
. I +IBLSTDT=0 D Q
. . D BMES^XPDUTL(" Code "_IBCODE_" not found in file 352.5")
. ; only use fy21 data
. S IBTYPE=$P(IBT,U,2)
. S IBDES=$P(IBT,U,3)
. S IBOVER=$P(IBT,U,4)
. S IBRES=+$$ADD3525(IBCODE,IBEFDT,IBTYPE,IBDES,IBOVER)
. S:IBRES>0 IBCNT=IBCNT+1
D BMES^XPDUTL(" "_IBCNT_$S(IBCNT<2:" update",1:" updates")_" added to file 352.5")
Q
;
ADD3525(IBCODE,IBEFDT,IBTYPE,IBDES,IBOVER) ;
; input - stop code, effective date, billable type, description, override flag
; output - > 0 if add a new entry, otherwise
N IBER,IBFDA,IBIENS,IBRET
D BMES^XPDUTL(" "_IBCODE_" "_IBDES)
S IBIENS="+1,"
S IBFDA(352.5,IBIENS,.01)=IBCODE
S IBFDA(352.5,IBIENS,.02)=IBEFDT
S IBFDA(352.5,IBIENS,.03)=IBTYPE
S IBFDA(352.5,IBIENS,.04)=IBDES
S:IBOVER IBFDA(352.5,IBIENS,.05)=1
D UPDATE^DIE("","IBFDA","IBRET","IBER")
I $D(IBER) D MES^XPDUTL(" Error Text: "_$G(IBER("DIERR",1,"TEXT",1)))
Q +$G(IBRET(1))
;
; 15 existing stop codes
OCODE ;;code^billable type^description^override flag
;;105^0^X-RAY & FLUOROSCOPY (XR & RF)^1
;;109^2^NUCLEAR MED & PET (NM & PET)^1
;;110^2^INTERVENTIONAL RAD (IR) CL^1
;;115^2^ULTRASOUND (US)^1
;;153^2^INTERVENTIONAL RAD (IR) PROC^1
;;332^1^PRE-BED CARE (MED SER)
;;516^1^PTSD OPT SPEC & RES PROG: GRP
;;562^1^PTSD OPT SPEC & RES PROG: IND
;;568^0^MENT HLTH CWT/SE (CWT/SE)^1
;;574^0^MEN HTH CWT/TWE (CWT/TWE)
;;647^0^NC S&F TELECARE PRV LOC^1
;;695^0^SF TH PRV SITE(SAMSTA)^1
;;696^0^SF TH PRV SITE(DIFSTA)^1
;;698^0^SF TELECARE FROM NONVAMC PROV^1
;;703^0^MAMMOGRAM (MG)^1
;;Q
;
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HIB20P681 2549 printed Dec 13, 2024@02:04:31 Page 2
IB20P681 ;ALB/CXW - DSS CLINIC STOP CODES FOR FY 2021 ; July 16,2020
+1 ;;2.0;INTEGRATED BILLING;**681**;21-MAR-94;Build 7
+2 ;;Per VA Directive 6402, this routine should not be modified.
+3 ;
+4 QUIT
POST ; Update IB Stop Code Billable Types for FY 2021 in #352.5
+1 NEW U,IBEFDT
+2 SET U="^"
SET IBEFDT=3201001
+3 DO START
DO UPDATE
DO FINISH
+4 QUIT
+5 ;
START DO BMES^XPDUTL("DSS Clinic Stop Codes for FY 2021, Post-Install Starting")
+1 QUIT
+2 ;
FINISH DO BMES^XPDUTL("DSS Clinic Stop Codes for FY 2021, Post-Install Complete")
+1 QUIT
+2 ;
UPDATE ; add new entry for an old code with an effective date of 10/01/2020
+1 NEW IBCODE,IBCNT,IBDES,IBLSTDT,IBOVER,IBRES,IBT,IBTYPE,IBX
+2 SET IBCNT=0
+3 DO BMES^XPDUTL(" Updating Stop Code entries in file 352.5")
+4 FOR IBX=1:1
SET IBT=$PIECE($TEXT(OCODE+IBX),";;",2)
if IBT="Q"
QUIT
Begin DoDot:1
+5 SET IBCODE=+$PIECE(IBT,U)
+6 IF $DATA(^IBE(352.5,"AEFFDT",IBCODE,-IBEFDT))
Begin DoDot:2
+7 DO BMES^XPDUTL(" Duplication of stop code "_IBCODE)
End DoDot:2
QUIT
+8 SET IBLSTDT=$ORDER(^IBE(352.5,"AEFFDT",IBCODE,-9999999))
+9 IF +IBLSTDT=0
Begin DoDot:2
+10 DO BMES^XPDUTL(" Code "_IBCODE_" not found in file 352.5")
End DoDot:2
QUIT
+11 ; only use fy21 data
+12 SET IBTYPE=$PIECE(IBT,U,2)
+13 SET IBDES=$PIECE(IBT,U,3)
+14 SET IBOVER=$PIECE(IBT,U,4)
+15 SET IBRES=+$$ADD3525(IBCODE,IBEFDT,IBTYPE,IBDES,IBOVER)
+16 if IBRES>0
SET IBCNT=IBCNT+1
End DoDot:1
+17 DO BMES^XPDUTL(" "_IBCNT_$SELECT(IBCNT<2:" update",1:" updates")_" added to file 352.5")
+18 QUIT
+19 ;
ADD3525(IBCODE,IBEFDT,IBTYPE,IBDES,IBOVER) ;
+1 ; input - stop code, effective date, billable type, description, override flag
+2 ; output - > 0 if add a new entry, otherwise
+3 NEW IBER,IBFDA,IBIENS,IBRET
+4 DO BMES^XPDUTL(" "_IBCODE_" "_IBDES)
+5 SET IBIENS="+1,"
+6 SET IBFDA(352.5,IBIENS,.01)=IBCODE
+7 SET IBFDA(352.5,IBIENS,.02)=IBEFDT
+8 SET IBFDA(352.5,IBIENS,.03)=IBTYPE
+9 SET IBFDA(352.5,IBIENS,.04)=IBDES
+10 if IBOVER
SET IBFDA(352.5,IBIENS,.05)=1
+11 DO UPDATE^DIE("","IBFDA","IBRET","IBER")
+12 IF $DATA(IBER)
DO MES^XPDUTL(" Error Text: "_$GET(IBER("DIERR",1,"TEXT",1)))
+13 QUIT +$GET(IBRET(1))
+14 ;
+15 ; 15 existing stop codes
OCODE ;;code^billable type^description^override flag
+1 ;;105^0^X-RAY & FLUOROSCOPY (XR & RF)^1
+2 ;;109^2^NUCLEAR MED & PET (NM & PET)^1
+3 ;;110^2^INTERVENTIONAL RAD (IR) CL^1
+4 ;;115^2^ULTRASOUND (US)^1
+5 ;;153^2^INTERVENTIONAL RAD (IR) PROC^1
+6 ;;332^1^PRE-BED CARE (MED SER)
+7 ;;516^1^PTSD OPT SPEC & RES PROG: GRP
+8 ;;562^1^PTSD OPT SPEC & RES PROG: IND
+9 ;;568^0^MENT HLTH CWT/SE (CWT/SE)^1
+10 ;;574^0^MEN HTH CWT/TWE (CWT/TWE)
+11 ;;647^0^NC S&F TELECARE PRV LOC^1
+12 ;;695^0^SF TH PRV SITE(SAMSTA)^1
+13 ;;696^0^SF TH PRV SITE(DIFSTA)^1
+14 ;;698^0^SF TELECARE FROM NONVAMC PROV^1
+15 ;;703^0^MAMMOGRAM (MG)^1
+16 ;;Q
+17 ;