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

ACHSPDC1.m

Go to the documentation of this file.
  1. ACHSPDC1 ; IHS/ITSC/PMF - CONTINUATION OF VIEW/PRINT DOCUMENTS FOR PAITENT ; [ 10/16/2001 8:16 AM ]
  1. ;;3.1;CONTRACT HEALTH MGMT SYSTEM;;JUN 11, 2001
  1. ;
  1. START ;EP - From TaskMan.
  1. S:$D(ZTQUEUED) ACHSQUIT=0
  1. D FC^ACHSUF
  1. I $G(ACHSERR)=1 G K
  1. S (ACHSTOT,ACHSCANC,ACHSCTOT,ACHSTOT("$"),ACHSDOC)=0
  1. S ACHST1=$$C^XBFUNC("PATIENT: "_$P(^DPT(DFN,0),U)_" CHART #: "_$$HRN^ACHS(DFN,DUZ(2)),80)
  1. S ACHST2=$$C^XBFUNC("For the period "_$$FMTE^XLFDT(ACHSBDT)_" through "_$$FMTE^XLFDT(ACHSEDT),80)
  1. S ACHSTOS=$P(^DD(9002080.01,3,0),U,3),ACHSSTS=$P(^DD(9002080.01,11,0),U,3),ACHST3=$$C^XBFUNC($S(ACHSRPT:$P($P(ACHSTOS,";",ACHSRPT),":",2)_" documents ONLY",1:"All Documents"),80)
  1. D BRPT^ACHSFU
  1. X:$D(IO("S")) ACHSPPO
  1. D HDR
  1. DUZ2 ;
  1. K ACHSDVEW
  1. S ACHSVQIT=0
  1. D FC
  1. S ACHSFAC=$P(^AUTTLOC($O(^AUTTLOC("B",DUZ(2),0)),0),U,10)
  1. A ; Main loop.
  1. S ACHSDOC=$O(^ACHSF(DUZ(2),"PB",DFN,ACHSDOC))
  1. G END:ACHSDOC=""
  1. S ACHSDOC0=$G(^ACHSF(DUZ(2),"D",ACHSDOC,0))
  1. G A:+$P(ACHSDOC0,U,2)<ACHSBDT,A:+$P(ACHSDOC0,U,2)>ACHSEDT,A:(ACHSRPT'="ALL")&(ACHSRPT'=$P(ACHSDOC0,U,4))
  1. W ACHSFAC,?7,$P(ACHSDOC0,U,14),ACHSFC,$P(ACHSDOC0,U)
  1. K Y
  1. I $D(^ACHSF(DUZ(2),"D",ACHSDOC,3)),+$P(^(3),U)>0 S Y=+$P(^(3),U)
  1. S:'$D(Y) Y=+$P(ACHSDOC0,U,2)
  1. W ?17,$E(Y,2,7)
  1. I +$P(ACHSDOC0,U,8),$D(^AUTTVNDR(+$P(ACHSDOC0,U,8),0)) W ?24,$E($P(^(0),U),1,22)
  1. W ?47,$E($P($P(ACHSTOS,";",$P(ACHSDOC0,U,4)),":",2),1,2)
  1. I $D(^ACHSF(DUZ(2),"D",ACHSDOC,"PA")) S X=$S($D(^("ZA")):+^("ZA"),1:+^("PA")) G P6
  1. S X=$S($D(^ACHSF(DUZ(2),"D",ACHSDOC,"PA")):+^("PA"),1:$P(ACHSDOC0,U,9))
  1. I $P(ACHSDOC0,U,12)=4 S X=0,ACHS=$O(^ACHSF(DUZ(2),"D",ACHSDOC,"T",0)) F Q:+ACHS=0 S X=+$P(^(ACHS,0),U,4),ACHS=$O(^ACHSF(DUZ(2),"D",ACHSDOC,"T",ACHS))
  1. I $P(ACHSDOC0,U,12)=4 S ACHSCANC=ACHSCANC+X
  1. P6 ;
  1. I $P(ACHSDOC0,U,12)]"" W ?52,$P($P(ACHSSTS,";",$P(ACHSDOC0,U,12)+1),":",2)
  1. S ACHSTOT("$")=ACHSTOT("$")+X,ACHSCTOT=ACHSTOT("$")-ACHSCANC
  1. W ?69
  1. S X3=10
  1. D FMT^ACHS
  1. W !
  1. I IOST["C-",$Y>24 G DISPLAY
  1. ;
  1. I IOST'["C-",$Y>ACHSBM D CPI^ACHS D RTRN^ACHS G K:$G(ACHSQUIT) D HDR
  1. S ACHSTOT=ACHSTOT+1
  1. G A
  1. ;
  1. END ;
  1. W ?69,"----------",!,"Total documents seen: ",ACHSTOT,?69
  1. S X=ACHSTOT("$"),X3=10
  1. D FMT^ACHS
  1. W !!?45,"LESS CANCELS",?68
  1. S X=-ACHSCANC,X3=10
  1. D FMT^ACHS
  1. W !?69,"==========",!?69
  1. S X=ACHSCTOT,X3=10
  1. D FMT^ACHS
  1. I IOST["C-",$Y>15 S ACHSVQIT=1 D DISPLAY
  1. D:IOST'["C-" CPI^ACHS
  1. K ;EP - Kill vars, do ERPT, quit.
  1. D EN^XBVK("ACHS"),^ACHSVAR
  1. K DFN
  1. D ERPT^ACHS
  1. Q
  1. ;
  1. HDR ; Print header.
  1. S ACHSPG=ACHSPG+1
  1. W @IOF
  1. D CPI^ACHS:IOST'["C-"
  1. W !,ACHS("*"),!?22,"CHS DOCUMENTS FOR A SPECIFIC PATIENT",!,ACHSUSR,?71,"Page",$J(ACHSPG,3),!,ACHST1,!,ACHST2,!,ACHST3,!,ACHS("*")
  1. W !,"FAC",?7,"DOCUMENT",?17,"DATED",?24,"VENDOR",?47,"TYPE",?52,"STATUS",?69,"AMOUNT",!,$$REPEAT^XLFSTR("-",79),!
  1. Q
  1. ;
  1. FC ; Set Finance Code.
  1. S ACHSFC=$P(^AUTTLOC(DUZ(2),0),U,17)
  1. I $L(ACHSFC)'=3 S ACHSFC="???" Q
  1. S ACHSFC=$P(^AUTTAREA($P(^AUTTLOC(DUZ(2),0),U,4),0),U,3)_$E(ACHSFC,2,3)
  1. Q
  1. ;
  1. DISPLAY ; View document selected from the report.
  1. K DIR
  1. S DIR(0)="Y",DIR("A")="Do you want to view one of the documents listed",DIR("B")="NO"
  1. D ^DIR
  1. K DIR
  1. I Y=0,ACHSVQIT=0 D HDR S ACHSTOT=ACHSTOT+1 G A
  1. I Y=0 Q
  1. I ACHSVQIT=1,Y=0,ACHSPG>1,$Y>24 G AGAIN
  1. S ACHSDVEW=0
  1. D ^ACHSAD
  1. K DIR
  1. S DIR(0)="E"
  1. W !!
  1. D ^DIR
  1. G K:Y=0
  1. I ACHSVQIT'=1 D HDR G A
  1. AGAIN ;
  1. K DIR
  1. S DIR(0)="Y",DIR("A")="View document list again",DIR("B")="NO"
  1. W !!!
  1. D ^DIR
  1. I Y=1 S (ACHSVQIT,ACHSTOT,ACHSTOT("$"),ACHSPG)=0,ACHSDOC="" D HDR G A
  1. G K
  1. ;