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

IBCNSBL1.m

Go to the documentation of this file.
  1. IBCNSBL1 ;ALB/AAS - NEW INSURANCE POLICY BULLETIN ; 29-AUG-93
  1. ;;Version 2.0 ; INTEGRATED BILLING ;; 21-MAR-94
  1. ;;Per VHA Directive 10-93-142, this routine should not be modified.
  1. ;
  1. BULL ; -- send bulletin
  1. ;
  1. S XMSUB="New Insurance Policy For "_$E($P(IBP,"^"),1,20)_" Pt. Id: "_$P(IBP,"^",2)
  1. S IBT(1)=" A new insurance policy has been added for:"
  1. S IBT(2)=" Patient: "_$E($P(IBP,"^")_" ",1,25)_" PT. ID: "_$P(IBP,"^",2)
  1. S IBT(3)=""
  1. S IBT(4)=" New Policy: "
  1. S IBCNT=4 D HDR,NPOL
  1. S IBCNT=IBCNT+1,IBT(IBCNT)=""
  1. S IBCNT=IBCNT+1,IBT(IBCNT)=" Previous Policy(s): "
  1. D HDR,OPOL
  1. S IBCNT=IBCNT+1,IBT(IBCNT)=""
  1. S IBCNT=IBCNT+1,IBT(IBCNT)=" Possible billable Inpt. Care: "
  1. D INPT
  1. S IBCNT=IBCNT+1,IBT(IBCNT)=""
  1. S IBCNT=IBCNT+1,IBT(IBCNT)=" Possible billable Opt. Care: "
  1. D OPT
  1. S IBCNT=IBCNT+1,IBT(IBCNT)=""
  1. S IBCNT=IBCNT+1,IBT(IBCNT)=" Added by: "_$P($G(^VA(200,+$P(IBEVT1,"^",2),0)),"^")
  1. S IBCNT=IBCNT+1,IBT(IBCNT)=" on: "_$$DAT1^IBOUTL(+IBEVT1,"2P")
  1. S IBCNT=IBCNT+1,IBT(IBCNT)=" Option: "
  1. I $D(XQY0) S IBT(IBCNT)=IBT(IBCNT)_$P($G(XQY0),"^",2)
  1. I $D(ZTQUEUED),$P($G(XQY0),"^",2)="" S IBT(IBCNT)=IBT(IBCNT)_"Queued Job - "_$G(ZTDESC)
  1. D SEND
  1. BULLQ Q
  1. ;
  1. NPOL ; -- set up new policy
  1. S IBCNT=IBCNT+1
  1. S IBT(IBCNT)=$$D1(IBEVTA)
  1. Q
  1. ;
  1. OPOL ; -- set up old policies
  1. N J,X,IBPCNT
  1. S J=0 F S J=$O(^DPT(DFN,.312,J)) Q:'J I J'=IBCDFN S X=$G(^DPT(DFN,.312,J,0)) S IBCNT=IBCNT+1,IBT(IBCNT)=$$D1(X) S IBPCNT=$G(IBPCNT)+1
  1. I $G(IBPCNT)<1 S IBCNT=IBCNT+1,IBT(IBCNT)=" No Previous Policies On file!"
  1. Q
  1. ;
  1. SEND S XMDUZ="INTEGRATED BILLING PACKAGE",XMTEXT="IBT("
  1. K XMY S XMN=0
  1. S IBGRP=$P($G(^XMB(3.8,+$P($G(^IBE(350.9,1,4)),"^",4),0)),"^")
  1. I IBGRP]"" S XMY("G."_IBGRP_"@"_^XMB("NETNAME"))=""
  1. D ^XMD
  1. K X,Y,IBI,IBT,IBGRP,XMDUZ,XMTEXT,XMY,XMSUB
  1. Q
  1. ;
  1. HDR ; -- print standard header
  1. D HDR1("=",76)
  1. Q
  1. ;
  1. HDR1(CHAR,LENG) ; -- print header, specify character
  1. S IBCNT=IBCNT+1
  1. S IBT(IBCNT)=" Insurance Co. Subscriber ID Group Holder Effective Expires"
  1. S IBCNT=IBCNT+1,X="",$P(X,CHAR,LENG)=""
  1. S IBT(IBCNT)=X
  1. Q
  1. ;
  1. ;
  1. D1(IBINS) N X,IBX
  1. S IBX="" I '$G(IBINS) G DQ
  1. S IBX=" "_$E($S($D(^DIC(36,+IBINS,0)):$E($P(^(0),"^",1),1,16),1:"UNKNOWN")_" ",1,16)_" "
  1. S IBX=IBX_$E($P(IBINS,"^",2)_" ",1,16)_" "
  1. S IBX=IBX_$E($$GRP^IBCNS($P(IBINS,"^",18))_" ",1,10)_" "
  1. S X=$P(IBINS,"^",6) S IBX=IBX_$E($S(X="v":"SELF",X="s":"SPOUSE",1:"OTHER")_" ",1,8)
  1. S IBX=IBX_$E($$DAT1^IBOUTL($P(IBINS,"^",8))_" ",1,10)_$$DAT1^IBOUTL($P(IBINS,"^",4))
  1. DQ Q IBX
  1. ;
  1. OPT ; -- list opt treatment (sched appoints only)
  1. N CNT S CNT=0
  1. S OPT=START
  1. F S OPT=$O(^DPT(DFN,"S",OPT)) Q:'OPT!(OPT>END) D
  1. .S IBCNT=IBCNT+1
  1. .Q:$P(^DPT(DFN,"S",OPT,0),"^",2)]"" ; can't be canceled, inpatient, etc
  1. .S IBT(IBCNT)=" Outpatient Visit on "_$$DAT1^IBOUTL(OPT,"2P")_" to "_$P($G(^SC(+$G(^DPT(DFN,"S",OPT,0)),0)),"^")
  1. .S CNT=CNT+1
  1. I 'CNT S IBCNT=IBCNT+1,IBT(IBCNT)=" No Scheduled appointments found."
  1. Q
  1. ;
  1. INPT ; -- list inpt. treatment (admissions only)
  1. N CNT S CNT=0
  1. I $G(^DPT(DFN,.1))]"" S CNT=CNT+1,IBCNT=IBCNT+1,IBT(IBCNT)=" Currently an Inpatient on "_$G(^DPT(DFN,.1))
  1. I $G(IBTADD) S IBCNT=IBCNT+1,IBT(IBCNT)=" Entry Added to Claims Tracking for Current Admission."
  1. I $G(VAIN(1)) S CNT=CNT+1,IBCNT=IBCNT+1,IBT(IBCNT)=" Previously an inpatient on ward "_$P(VAIN(4),"^",2)_" on "_$$DAT1^IBOUTL($P(START,"."))
  1. S INPT=START F S INPT=$O(^DGPM("APTT1",DFN,INPT)) Q:'INPT!(INPT>END) S DGPM=0 F S DGPM=$O(^DGPM("APTT1",DFN,INPT,DGPM)) Q:'DGPM D
  1. .Q:'$G(^DGPM(DGPM,0))
  1. .S IBCNT=IBCNT+1
  1. .S IBT(IBCNT)=" Inpatient Admission on "_$$DAT1^IBOUTL(+^DGPM(DGPM,0),"2P")
  1. .S CNT=CNT+1
  1. I 'CNT S IBCNT=IBCNT+1,IBT(IBCNT)=" No Admissions found."
  1. Q