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

ACHSDNL5.m

Go to the documentation of this file.
  1. ACHSDNL5 ; IHS/ITSC/TPF/PMF - DENIAL LTR/FS (FS2) (6/6) ;
  1. ;;3.1;CONTRACT HEALTH MGMT SYSTEM;**19**;JUN 11, 2001
  1. Q:$G(ACHSQUIT)
  1. W $S(ACHSUMET=1:" VENDOR(S)",1:" VENDOR(S) suggested"),?48,"CHARGES" S ACHSTOT("$")=0
  1. S ACHSPPRO=^ACHSDEN(DUZ(2),"D",ACHSA,100) G VEND0:$P(ACHSPPRO,U)'="Y" S (ACHSVPTR,A)=$P(ACHSPPRO,U,2) G VEND0:A']"",VEND0:'$D(^AUTTVNDR(A,0)) W !,$P(^(0),U) ;S ACHSVPTR=A ***TPF SET PTR ALONG WITH A SINCE NO CHANGE LATER ON LINE
  1. S X=$P(ACHSPPRO,U,9) I X]"" S ACHSTOT("$")=ACHSTOT("$")+X D COMMA^%DTC W ?40,$J(X,6),"(ACTUAL)" G T2
  1. S X=$P(ACHSPPRO,U,8) I X]"" S ACHSTOT("$")=ACHSTOT("$")+X D COMMA^%DTC W ?40,$J(X,6),"(EST.)"
  1. ;
  1. T2 D ADDR
  1. G V1
  1. ;
  1. VEND0 W !,$P(ACHSPPRO,U,3) S X=$P(ACHSPPRO,U,9) I X]"" S ACHSTOT("$")=ACHSTOT("$")+X D COMMA^%DTC W ?40,$J(X,6),"(ACTUAL)" G T4
  1. S X=$P(ACHSPPRO,U,8) I X]"" S ACHSTOT("$")=ACHSTOT("$")+X D COMMA^%DTC W ?40,$J(X,6),"(EST.)"
  1. ;
  1. T4 S X=$P(ACHSPPRO,U,4)_U_$P(ACHSPPRO,U,5)_U_$P(ACHSPPRO,U,6)_U_$P(ACHSPPRO,U,7) D SUBADDR
  1. ;
  1. V1 ;
  1. S DA(1)=0 G VEND2:'$D(^ACHSDEN(DUZ(2),"D",ACHSA,200,0)),VEND2:+$P(^(0),U,3)=0
  1. ;
  1. VEND1 S DA(1)=$O(^ACHSDEN(DUZ(2),"D",ACHSA,200,DA(1))) G VEND2:+DA(1)=0 S A(1)=^(DA(1),0),A(2)=+A(1) G VEND1:A(2)'>0,VEND1:'$D(^AUTTVNDR(A(2),0)) W !,$P(^(0),U),?40
  1. S X=$P(A(1),U,3) I X]"" S ACHSTOT("$")=ACHSTOT("$")+X D COMMA^%DTC W $J(X,6),"(ACTUAL)" G TYPE1
  1. S X=$P(A(1),U,2) I X]"" S ACHSTOT("$")=ACHSTOT("$")+X D COMMA^%DTC W $J(X,6),"(EST.)"
  1. ;
  1. TYPE1 S ACHSVPTR=A(2) D ADDR
  1. G VEND1
  1. ;
  1. VEND2 S DA(2)=0 G TOTAL:'$D(^ACHSDEN(DUZ(2),"D",ACHSA,210,0)),TOTAL:+$P(^(0),U,4)=0
  1. ;
  1. V2 S DA(2)=$O(^ACHSDEN(DUZ(2),"D",ACHSA,210,DA(2))) G TOTAL:+DA(2)=0 S A(1)=^(DA(2),0) W !,$P(A(1),U)
  1. S X=$P(A(1),U,7) I X]"" S ACHSTOT("$")=ACHSTOT("$")+X D COMMA^%DTC W ?40,$J(X,6),"(ACTUAL)" G T5
  1. S X=$P(A(1),U,6) I X]"" S ACHSTOT("$")=ACHSTOT("$")+X D COMMA^%DTC W ?40,$J(X,6),"(EST.)"
  1. ;
  1. T5 S X=$P(A(1),U,2,5) D SUBADDR
  1. G V2
  1. ;
  1. TOTAL ;
  1. ;3/25/01 PMF somehow we get here and the dashes are not
  1. ;defined. This call to get them set is temporary. They
  1. ;should be set when initializing
  1. D LINES^ACHSFU
  1. Q:$G(ACHSQUIT)
  1. W ?30,$E(ACHS("-"),1,30),! S X=ACHSTOT("$") D COMMA^%DTC W ?30,"TOTAL:",?40,$J(X,6)
  1. G END:'$D(^ACHSDEN(DUZ(2),"D",ACHSA,800,0)),END:+$P(^(0),U,4)=0
  1. S ACHSTOT1("$")=0 W !,ACHS("-"),!," OTHER RESOURCES",?37,"AMOUNT PAID (IF ANY)"
  1. ;
  1. F A=0:0 S A=$O(^ACHSDEN(DUZ(2),"D",ACHSA,800,A)) Q:'A D
  1. . S OTHRES=$G(^ACHSDEN(DUZ(2),"D",ACHSA,800,A,0)) Q:OTHRES=""
  1. . S INSR=$P(OTHRES,U,1) Q:INSR=""
  1. . S INSR=$G(^AUTNINS(INSR,0)) Q:INSR=""
  1. . W !,$P(INSR,U)
  1. . S X=+$P(OTHRES,U,2),ACHSTOT1("$")=ACHSTOT1("$")+X
  1. . D COMMA^%DTC W ?40,$J(X,6)
  1. . Q
  1. K X,INSR,OTHRES
  1. ;
  1. S X=ACHSTOT1("$") D COMMA^%DTC W !?30,$E(ACHS("-"),1,30),!?30,"TOTAL: ",?40,$J(X,6)
  1. S X=(ACHSTOT("$")-ACHSTOT1("$")) D COMMA^%DTC W !,ACHS("-"),!?28,"BALANCE:",?40,$J(X,6),!
  1. ;
  1. END ;EP.
  1. W ! D CPI^ACHS,RTRN^ACHS W @IOF
  1. K A,ACHSDOS,ACHSISDT,ACHSNAME,ACHSNAMP,ACHSPDR,ACHSPPRO,ACHSRQDT,ACHSST,ACHSTOT,ACHSTOT1,ACHSVPTR,DTOUT,DUOUT
  1. Q
  1. ADDR ;EP.
  1. Q:$G(ACHSVPTR)="" ;***TPF BLOODY WELL QUIT IF WE DON'T HAVE A VALID PTR
  1. Q:'$D(^AUTTVNDR(ACHSVPTR,13)) S A=^(13) S X=$P(A,U)_U_$P(A,U,2)_U_$P(A,U,3)_U_$P(A,U,4)
  1. SUBADDR ;EP.
  1. S:'$D(DIWL) DIWL=5 ;ACHS*3.1*19
  1. W !?DIWL-1,$P(X,U),!?DIWL-1,$P(X,U,2) S ACHSST=$P(X,U,3) I ACHSST]"",$D(^DIC(5,ACHSST,0)) W " ",$P(^(0),U,2)
  1. W " ",$P(X,U,4),!
  1. Q