Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: IB20P367

IB20P367.m

Go to the documentation of this file.
  1. IB20P367 ;DAY/RRA - DSS CLINIC STOP CODES IB*2.0*367 PRE-INIT ; 3/13/07 12:55pm
  1. ;;2.0;INTEGRATED BILLING;**367**;21-MAR-94;Build 11
  1. ;;Per VHA Directive 10-93-142, this routine should not be modified.
  1. ;
  1. EN ;
  1. N IBEFFDT,U
  1. S U="^",IBEFFDT=3041001 ;effective date OCT 1st, 2004
  1. D START,ADD(IBEFFDT),UPDATE(IBEFFDT),FINISH
  1. Q
  1. ;
  1. START D BMES^XPDUTL("DSS Clinic Stop Codes, Post-Install Starting")
  1. Q
  1. ;
  1. FINISH D BMES^XPDUTL("DSS Clinic Stop Codes, Post-Install Complete")
  1. Q
  1. ;
  1. ;
  1. ADD(IBEFFDT) ;
  1. ;add a new code
  1. N Y,IBC,IBT,IBX,IBY,IBCODE,IBTYPE,IBDES,IBOVER
  1. D BMES^XPDUTL(" Adding new codes to file 352.5")
  1. S IBC=0
  1. F IBX=1:1 S IBT=$P($T(NCODE+IBX),";",3) Q:'$L(IBT) D
  1. . S IBCODE=+$P(IBT,U)
  1. . S IBY=$S(IBCODE=130:3070308,IBCODE=131:3070308,IBCODE=352:3070308,1:IBEFFDT)
  1. . I $D(^IBE(352.5,"AEFFDT",IBCODE,-IBY)) D Q
  1. . . D BMES^XPDUTL(" Duplication of stop code "_IBCODE)
  1. . S IBTYPE=$P(IBT,U,2)
  1. . S IBDES=$E($P(IBT,U,3),1,30)
  1. . S IBOVER=$P(IBT,U,4)
  1. . S Y=+$$ADD3525(IBCODE,IBY,IBTYPE,IBDES,IBOVER) S:Y>0 IBC=IBC+1
  1. D BMES^XPDUTL(" "_IBC_$S(IBC<2:" entry",1:" entries")_" added to 352.5")
  1. Q
  1. ;
  1. UPDATE(IBEFFDT) ;
  1. ;update an old code
  1. N Y,IB1,IBC,IBT,IBX,IBCODE,IBMSG,IBTYPE,IBDES,IBOVER,IBLSTDT
  1. S (IBC,IBMSG(1),IBMSG(2),IBMSG(3))=0
  1. F IBX=1:1 S IBT=$P($T(OCODE+IBX),";",3) Q:'$L(IBT) D
  1. . S IBCODE=+$P(IBT,U)
  1. . S IBY=$S(IBCODE=528:3070308,IBCODE=681:3070308,1:IBEFFDT)
  1. . I $D(^IBE(352.5,"AEFFDT",IBCODE,-IBY)) D Q
  1. . . D BMES^XPDUTL(" Duplication of stop code "_IBCODE)
  1. . S IBLSTDT=$O(^IBE(352.5,"AEFFDT",IBCODE,-9999999))
  1. . I +IBLSTDT=0 D Q
  1. . . D BMES^XPDUTL(" Code "_IBCODE_" not found in file 352.5")
  1. . S IB1=$O(^IBE(352.5,"AEFFDT",IBCODE,IBLSTDT,0))
  1. . S IB1=$G(^IBE(352.5,IB1,0))
  1. . S IBTYPE=$S($P(IBT,U,2):$P(IBT,U,2),1:$P(IB1,U,3))
  1. . S IBDES=$S($P(IBT,U,3)'="":$E($P(IBT,U,3),1,30),1:$P(IB1,U,4))
  1. . S IBOVER=$S($P(IBT,U,4)'="":$P(IBT,U,4),1:$P(IB1,U,5))
  1. . I $P(IBT,U,2) D
  1. . . I 'IBMSG(1) D BMES^XPDUTL(" Updating billable type in file 352.5") S IBMSG(1)=1
  1. . I $P(IBT,U,3)'="" D
  1. . . I 'IBMSG(2),$P(IBT,U,3)'="" D BMES^XPDUTL(" Updating description in file 352.5") S IBMSG(2)=1
  1. . I '$P(IBT,U,2),$P(IBT,U,3)="" D
  1. . . I 'IBMSG(3) D BMES^XPDUTL(" Updating effective date in file 352.5") S IBMSG(3)=1
  1. . S Y=+$$ADD3525(IBCODE,IBY,IBTYPE,IBDES,IBOVER) S:Y>0 IBC=IBC+1
  1. D BMES^XPDUTL(" "_IBC_$S(IBC<2:" update",1:" updates")_" added to file 352.5")
  1. Q
  1. ;
  1. ADD3525(IBCODE,IBEFFDT,IBTYPE,IBDES,IBOVER) ;
  1. ;add a new entry
  1. D BMES^XPDUTL(" "_IBCODE_" "_IBDES)
  1. N IBIENS,IBFDA,IBER,IBRET
  1. S IBRET=""
  1. S IBIENS="+1,"
  1. S IBFDA(352.5,IBIENS,.01)=IBCODE
  1. S IBFDA(352.5,IBIENS,.02)=IBEFFDT
  1. S IBFDA(352.5,IBIENS,.03)=IBTYPE
  1. S IBFDA(352.5,IBIENS,.04)=IBDES
  1. S:IBOVER IBFDA(352.5,IBIENS,.05)=1
  1. D UPDATE^DIE("","IBFDA","IBRET","IBER")
  1. I $D(IBER) D BMES^XPDUTL(IBER("DIERR",1,"TEXT",1))
  1. Q $G(IBRET(1))
  1. ;
  1. ;new non-billable type data
  1. NCODE ;;code^billable type^description^override flag
  1. ;;130^2^EMERGENCY DEPT
  1. ;;131^1^URGENT CARE UNIT
  1. ;;222^0^PM&RS CWT/SE FACE TO FACE^1
  1. ;;223^0^PM&RS CWT/SE NON FACE TO FACE^1
  1. ;;228^0^PM&RS CWT/TWE NON FACE TO FACE^1
  1. ;;336^0^MED PRE-PROC EVAL^1
  1. ;;352^2^GRECC CLINICAL DEMO
  1. ;;568^0^MH CWT/SE FACE TO FACE^1
  1. ;;569^0^MH CWT/SE NON FACE TO FACE^1
  1. ;;570^0^MH CWT/TWE NON FACE TO FACE^1
  1. ;;643^0^SND-OUT PROC - RADIOLOGY^1
  1. ;;658^0^STATE HOME ADULT DAY HC^1
  1. ;
  1. ; ;codes update
  1. OCODE ;;code^billable type^description^override flag
  1. ;;528^^TELEPHONE HCMI
  1. ;;681^^VA-PAID HCBC PROVIDERS
  1. ;