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

IBCNSC2.m

Go to the documentation of this file.
  1. IBCNSC2 ;ALB/NLR - INACTIVATE AND REPOINT INS STUFF ; 20-APR-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. MAIN ; -- main flow control
  1. ;
  1. N IBQUIT,DFN
  1. S IBQUIT=0
  1. D START D:'IBQUIT AP I ('IBQUIT),(+IBV=1) D RPTASK^IBCNSC3
  1. G EXIT
  1. ;
  1. START ; -- activate or inactivate insurance co. if necessary
  1. ;
  1. S IBV=$P(^DIC(36,IBCNS,0),U,5),IBV1=IBV,IBN=$P(^DIC(36,IBCNS,0),U)
  1. S IBA="ACTIVE",IBB="ACTIVATE",IBVER=0 I IBV S IBA="IN"_IBA
  1. I 'IBV S IBB="IN"_IBB
  1. S DIR("B")="No"
  1. S DIR(0)="YO",DIR("A")=""_IBN_" IS CURRENTLY "_IBA_". DO YOU WISH TO "_IBB_" IT"
  1. S DIR("?",1)="Company should be INACTIVE if it is no longer"
  1. S DIR("?",2)="active in your area. This will disallow users"
  1. S DIR("?")="from selecting this insurance company entry."
  1. D ^DIR K DIR I $D(DIRUT) S IBQUIT=1 G R1Q
  1. I 'IBV,Y D VERIFY^IBCNSC3 G:IBQUIT R1Q S IBVER=1
  1. I 'IBVER,IBV,Y S IBV=0
  1. ;
  1. RESET ; -- change global if ins. co. activated or inactivated
  1. ;
  1. S:IBV1'=IBV $P(^DIC(36,IBCNS,0),U,5)=IBV
  1. ;
  1. ;
  1. UPDATE ; -- update patient file
  1. ;
  1. ;I +IBV=0 S IBQUIT=1 G R1Q
  1. S DFN=0,IBC=0 F S DFN=$O(^DPT("AB",IBCNS,DFN)) Q:'DFN!(IBC>20) S IBC=IBC+1
  1. W !!,"THERE "_$S(IBC=0:"ARE NO PATIENTS",IBC=1:"IS ONE PATIENT",IBC>20:"ARE MORE THAN 20 PATIENTS",1:"ARE "_IBC_" PATIENTS")_" COVERED BY THIS "_$S(+IBV=0:"(ACTIVE)",+IBV=1:"(INACTIVE)")_" INSURANCE COMPANY...." I 'IBC D PAUSE^VALM1 S IBQUIT=1
  1. ;
  1. R1Q Q
  1. ;
  1. AP ; -- ask if user wishes to print patients with inactivated insurance
  1. ;
  1. S DIR(0)="YO",DIR("A")="DO YOU WISH TO PRINT "_$S(IBC=1:"THE NAME OF THIS PATIENT",1:"A LIST OF ALL OF THE PATIENTS"),DIR("B")="No"
  1. W !
  1. D ^DIR K DIR I $D(DIRUT) S IBQUIT=1 G R2Q
  1. G:'Y R2Q
  1. W !!,"*** You will need a 132 column printer for this report. ***",!
  1. ;
  1. DEV ; -- ask for device
  1. ;
  1. S %ZIS="QM" D ^%ZIS I POP S IBQUIT=1 G R2Q
  1. I $D(IO("Q")) K IO("Q") S ZTRTN="PRINT^IBCNSC2",ZTSAVE("IB*")="",ZTDESC="PATIENTS WITH INACTIVATED INSURANCE" D ^%ZTLOAD K ZTSK D HOME^%ZIS Q
  1. U IO
  1. ;
  1. PRINT ; -- print list of patients covered by inactivated insurance company
  1. ;
  1. D BUILD^IBCNSC3
  1. D HDR^IBCNSC3
  1. S IBNA="" F S IBNA=$O(^TMP($J,"IBCNSC2",IBNA)) Q:IBNA=""!(IBQUIT) S DFN=0 F S DFN=$O(^TMP($J,"IBCNSC2",IBNA,DFN)) Q:'DFN!(IBQUIT) S IBD=0 F S IBD=$O(^TMP($J,"IBCNSC2",IBNA,DFN,IBD)) Q:'IBD!(IBQUIT) D
  1. .S IBST=^TMP($J,"IBCNSC2",IBNA,DFN,IBD)
  1. .I $Y>(IOSL-5) D PAUSE^IBOUTL D HDR^IBCNSC3
  1. .W !,?1,$E(IBNA,1,28),?31,$P(IBST,"^",1),?52,$$DAT1^IBOUTL($P(IBST,"^",2)),?63,$$DAT1^IBOUTL($P(IBST,"^",3)),?74,$P(IBST,"^",4),?95,$$EXPAND^IBTRE(2.312,6,$P(IBST,"^",5)),?106,$E($P(IBST,"^",6),1,24)
  1. I $E(IOST,1,2)["C-",('($G(IBV))) D PAUSE^VALM1
  1. ;
  1. R2Q I $D(ZTQUEUED) S ZTREQ="@" Q
  1. D ^%ZISC
  1. Q
  1. ;
  1. EXIT ; -- kill variables -- IBCNS used by IBCNSC so don't want to kill here
  1. ;
  1. K ^TMP($J,"IBCNSC2")
  1. K DIRUT,IBA,IBB,IBC,IBD,IBIND,IBNA,IBNO,IBPAG,IBR,IBST,IBV,IBVER,IBV1,IBCO,IBEF,IBEX,IBN,IBQUIT,X,Y
  1. Q