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

ACHSDNL1.m

Go to the documentation of this file.
ACHSDNL1 ; IHS/ITSC/PMF - DENIAL LTR/FS (DRIVER) (2/6) ;  [ 10/31/2003  11:44 AM ]
 ;;3.1;CONTRACT HEALTH MGMT SYSTEM;**4,6,22**;JUNE 11, 2001;Build 13
 ;ACHS*3.1*4  allow multiple office copies
 ;ACHS*3.1*6 6.5.03 IHS/SET/FCJ NO LONGER WANT MANDATORY OFFICE COPY
 ;
START ;ENTRY POINT - TaskMan.  PRINT LETTERS AND FACT SHEETS.
 S ACHSQUIT=0
 D BRPT^ACHS
 S ACHSBM=ACHSBM-4
 W @IOF
 I $G(ACHDBDT) S ACHDBDT=ACHDBDT-1
 G:'ACHDBDT S3
S1 ;
 I $G(ACHDBDT) S ACHDBDT=$O(^ACHSDEN(DUZ(2),"D","AISSUE",ACHDBDT)) G END:'ACHDBDT!(ACHDBDT>ACHDEDT)!($G(ACHSQUIT))
 S ACHSA=0
S2 ;
 S ACHSA=$O(^ACHSDEN(DUZ(2),"D","AISSUE",ACHDBDT,ACHSA))
 G S1:+ACHSA=0
 G S2:$$DN^ACHS(0,8)="Y"
 G S2:$E($$DN^ACHS(0,1))="#"
 ;
S3 ;
 S ACHDONE=""
 ;ACHS*3.1*4  4/5/02  pmf  print 0 to 10 office copies
 ;D ^ACHSDNL2 Q:$G(ACHSQUIT)  ; ACHS*3.1*4
 ;ACHS*3.1*6 6.5.03 IHS/SET/FCJ NO LONGER WANT MANDATORY OFFICE COPY
 ;S:'$G(ACHDCOFF) ACHDCOFF=1  ;ACHS*3.1*6 6.5.03
 S:'$G(ACHDCOFF) ACHDCOFF=0   ;ACHS*3.1*6 6.5.03
 F ACHSIII=1:1:ACHDCOFF D ^ACHSDNL2 Q:$G(ACHSQUIT)  ; ACHS*3.1*4
 I $G(ACHSQUIT) Q  ; ACHS*3.1*4
 S ACHDONE=1  ; ACHS*3.1*4
 ;
 I $D(ACHDPROZ) S ACHDCPAT=0
 I ACHDCPAT>0 F ACHD("I")=1:1:ACHDCPAT D ^ACHSDNL2,CKPTR G:X=27!(X=U) END
 S ACHD("CPAT")=ACHDCPAT
 G:ACHDCVEN'>0 PRNTFACT
 K ACHDCPAT
 I $D(ACHDPROZ) G PROZ
 S ACHDNAME=$P($G(^ACHSDEN(DUZ(2),"D",ACHSA,100)),U,3)
 S ACHDADDR=$P($G(^ACHSDEN(DUZ(2),"D",ACHSA,100)),U,4,7)
 S ACHSVPTR=""
 S ACHDONFL=$S($$DN^ACHS(100,1)="Y":1,1:0)
 ;
 I ACHDONFL,$$DN^ACHS(100,2) D
 .S ACHSVPTR=$$DN^ACHS(100,2)
 .S ACHDNAME=$P($G(^AUTTVNDR(ACHSVPTR,0)),U)
 ;
 F ACHD("I")=1:1:ACHDCVEN D ^ACHSDNL2,CKPTR G:X=27!(X=U) END
 ;
 ;FIND ALL 'OTHER PROVIDER ON-FILE' ENTRIES
 S ACHDNAME="",ACHDONFL=1
 F ACHDVEND=0:0 S ACHDVEND=$O(^ACHSDEN(DUZ(2),"D",ACHSA,200,ACHDVEND)) Q:'ACHDVEND  D
 .S ACHSVPTR=$P($G(^ACHSDEN(DUZ(2),"D",ACHSA,200,ACHDVEND,0)),U)
 .S ACHDNAME=$P($G(^AUTTVNDR($P($G(^ACHSDEN(DUZ(2),"D",ACHSA,200,ACHDVEND,0)),U),0)),U) F ACHD("I")=1:1:ACHDCVEN D ^ACHSDNL2 Q:X=27!(X=U)
 ;
 ;FIND ALL 'OTHER PROVIDER (NOT ON-FILE)' ENTRIES
 S ACHDONFL=0,ACHDNODE=210
 F ACHDVEND=0:0 S ACHDVEND=$O(^ACHSDEN(DUZ(2),"D",ACHSA,210,ACHDVEND)) Q:'ACHDVEND  D
 .S ACHDNAME=$P($G(^ACHSDEN(DUZ(2),"D",ACHSA,210,ACHDVEND,0)),U)
 .S ACHDADDR=$P($G(^ACHSDEN(DUZ(2),"D",ACHSA,210,ACHDVEND,0)),U,2,5)
 .F ACHD("I")=1:1:ACHDCVEN D ^ACHSDNL2 Q:X=27!(X=U)
 ;
 ;
PRNTFACT ;
 I ACHDCFAC F ACHD("I")=1:1:ACHDCFAC D ^ACHSDNL4,CKPTR G:X=27!(X=U) END
 I ACHDBDT S ACHDCPAT=ACHD("CPAT") G S2
END ;
 K A,ACHDADDR,ACHDOC,ACHDOS,ACHDCFAC,ACHDCPAT,ACHDCVEN,ACHSA,ACHDISDT,ACHDNAME,ACHDNODE,ACHDRQDT,ACHDST,ACHDVEND,ACHDONFL
 D ERPT^ACHS,END^ACHSDNL
 Q
 ;
CKPTR ; --- Check if user pressed ESC
 I $D(ZTSK) S X=0 Q
 U IO(0)
 R *X:0
 I X'=27,(X'=U) U IO Q
 W *7,*7,*7
 F  R X:0 Q:'$T
 W !!,"***   PRINTING INTERRUPTED   ***",!
 S X=27
 Q
 ;
PROZ ;
 I $P(ACHDPROZ,U,2)'="Y" G PROZ1
 S ACHSVPTR=$P(ACHDPROZ,U,3)
 S ACHDONFL=1
 S ACHDNAME=$P($G(^AUTTVNDR(ACHSVPTR,0)),U)
 D ^ACHSDNL2
 G PRNTFACT
 ;
PROZ1 ;
 I $P(ACHDPROZ,U,2)'="N" Q
 S ACHDONFL=0,ACHDVEND=$P(ACHDPROZ,U,3)
 I 'ACHDVEND S ACHDNAME=$P(ACHDPROZ,U),ACHDADDR=$P($G(^ACHSDEN(DUZ(2),"D",ACHSA,100)),U,3,7) G PROZ2
 S ACHDNAME=$P($G(^ACHSDEN(DUZ(2),"D",ACHSA,210,ACHDVEND,0)),U)
 ;ACHS*3.1*22 ;CHANGED 3 TO 2 IN NXT LINE
 S ACHDADDR=$P($G(^ACHSDEN(DUZ(2),"D",ACHSA,210,ACHDVEND,0)),U,2,7)
PROZ2 ;
 F ACHD("I")=1:1:ACHDCVEN D ^ACHSDNL2
 G PRNTFACT
 ;