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

ACHSCPTH.m

Go to the documentation of this file.
  1. ACHSCPTH ; IHS/ITSC/PMF - PRINT CHS CPT CODE REPORT-BY VENDOR/DETAILED ; [ 10/16/2001 8:16 AM ]
  1. ;;3.1;CONTRACT HEALTH MGMT SYSTEM;;JUN 11, 2001
  1. ;
  1. D BRPT^ACHSFU
  1. S (C,ACHSCHBS,ACHSCHBT,ACHSDOCS,ACHSCHAS,ACHSCHAT,ACHSDOCT,ACHS43T,ACHS57T,ACHS64T)=0
  1. S (ACHS43,ACHS57,ACHS64,ACHSV43,ACHSV57,ACHSV64)=0
  1. S (ACHSDOC,ACHSFLG,ACHSPAGE,ACHSVDCT,ACHSVCBT,ACHSVCAT)=0
  1. S (ACHS43S,ACHS57S,ACHS64S)=0
  1. S (ACHSDOCA,ACHSVNDR)=""
  1. P1 ;EP
  1. S ACHSVNDR=$O(^TMP("ACHSCPT",$J,ACHSVNDR))
  1. G:ACHSVNDR="" TOTL
  1. I ACHSVNDR=0 S ACHSPAGE=0 G NODATA1^ACHSCPTI
  1. I $D(^TMP("ACHSCPT",$J,ACHSVNDR,0)) S ACHSPAGE=0 G NODATA^ACHSCPTI
  1. S ACHSCODE=""
  1. P2 ;
  1. S ACHSCODE=$O(^TMP("ACHSCPT",$J,ACHSVNDR,ACHSCODE))
  1. G:ACHSCODE="" VNDRTOT
  1. S ACHSDOC=""
  1. D HEADER^ACHSCPTI
  1. P3 ;
  1. S ACHSDOC=$O(^TMP("ACHSCPT",$J,ACHSVNDR,ACHSCODE,ACHSDOC))
  1. G:ACHSDOC="" SUBTOTL
  1. S ACHSDEN=""
  1. P4 ;
  1. S ACHSDEN=$O(^TMP("ACHSCPT",$J,ACHSVNDR,ACHSCODE,ACHSDOC,ACHSDEN))
  1. G:ACHSDEN="" P3
  1. GETADD ;Vendor address
  1. S ACHSVEN=$P($G(^TMP("ACHSCPT",$J,ACHSVNDR,ACHSCODE,ACHSDOC,ACHSDEN)),U,10)
  1. S Z=$G(^AUTTVNDR(ACHSVEN,13))
  1. S ACHSVADD=$S(Z="":"NOT ON FILE",1:$P(Z,U,1)),ACHSVCIT=$S(Z="":Z,1:$P(Z,U,2)),ACHSVST=$S(Z="":Z,1:$P(Z,U,3)),ACHSVST=$S(Z="":Z,1:$P($G(^DIC(5,ACHSVST,0)),U)),ACHSZIP=$S(Z="":Z,1:$P(Z,U,4))
  1. D HEADER1^ACHSCPTI:ACHSFLG=0
  1. S X=$G(^TMP("ACHSCPT",$J,ACHSVNDR,ACHSCODE,ACHSDOC,ACHSDEN))
  1. GETSERV ;
  1. S ACHSSER=$P(X,U,1),ACHSSERV=$S(ACHSSER=1:"HOSP",ACHSSER=2:"DENT",ACHSSER=3:"OUTP",1:"UNKN")
  1. I ACHSSER=1 S ACHS43S=ACHS43S+1
  1. I ACHSSER=2 S ACHS57S=ACHS57S+1
  1. I ACHSSER=3 S ACHS64S=ACHS64S+1
  1. S ACHSFROM=$E($P(X,U,2),4,5)_"/"_$E($P(X,U,2),6,7)_"/"_$E($P(X,U,2),2,3)
  1. S ACHSTO=$E($P(X,U,3),4,5)_"/"_$E($P(X,U,3),6,7)_"/"_$E($P(X,U,3),2,3)
  1. S ACHSWLU=$P(X,U,4),ACHSCHB=$P(X,U,5),ACHSCHA=$P(X,U,6)
  1. S ACHSMSG=$P(X,U,7),ACHS2TH=$P(X,U,8),ACHSSURF=$P(X,U,9)
  1. PRINT ;Prints data totals
  1. W !,ACHSDOC,?12,ACHSSERV,?17,ACHSFROM_"-"_ACHSTO,?35,$J(ACHSWLU,2),?41,$J(ACHSMSG,2),?45,$J(ACHS2TH,2),?51,$J(ACHSSURF,2)
  1. S X=ACHSCHB,X2=2
  1. D COMMA^%DTC
  1. W ?54,X
  1. S X=ACHSCHA,X2=2
  1. D COMMA^%DTC
  1. W ?67,X
  1. S ACHSCHBS=ACHSCHBS+ACHSCHB,ACHSCHAS=ACHSCHAS+ACHSCHA
  1. S ACHSDOCS=ACHSDOCS+1,ACHSFLG=1
  1. I IOST["P-",$Y>56 S ACHSFLG=0 D HEADER^ACHSCPTI,HEADER1^ACHSCPTI
  1. I IOST["C-",'$D(IO("S")),$Y>24 K DIR S DIR(0)="E" D ^DIR G END:Y=0 S ACHSFLG=0
  1. G P4
  1. ;
  1. SUBTOTL ;
  1. W !!,$$REPEAT^XLFSTR("-",80),!,"SUBTOTAL",?25,$J(ACHSDOCS,4)
  1. S X=ACHSCHBS,X2="2$"
  1. D COMMA^%DTC
  1. W ?54,X
  1. S X=ACHSCHAS,X2="2$"
  1. D COMMA^%DTC
  1. W ?67,X
  1. I ACHSCHBS>0,ACHSCHAS>0 S X=(ACHSCHAS/ACHSCHBS)*100 W !!,"PERCENTAGE OF CHGS ALLOWED TO CHGS BILLED" W ?66,$E(X,1,5)_"%"
  1. W !!?3,"** HOSP - "_ACHS43S_" **",?32,"** DENT - "_ACHS57S_" **",?62,"** OUTP - "_ACHS64S_" **"
  1. S ACHSCHBT=ACHSCHBT+ACHSCHBS,ACHSCHAT=ACHSCHAT+ACHSCHAS,ACHSDOCT=ACHSDOCT+ACHSDOCS
  1. S ACHS43T=ACHS43T+ACHS43S,ACHS57T=ACHS57T+ACHS57S,ACHS64T=ACHS64T+ACHS64S
  1. S ACHSVDCT=ACHSVDCT+ACHSDOCS,ACHSVCBT=ACHSVCBT+ACHSCHBS,ACHSVCAT=ACHSVCAT+ACHSCHAS
  1. S ACHSV43=ACHSV43+ACHS43S,ACHSV57=ACHSV57+ACHS57S,ACHSV64=ACHSV64+ACHS64S
  1. K DIR
  1. I IOST["C-",'$D(IO("S")) S DIR(0)="E" W !! D ^DIR G END:Y=0
  1. S (C,ACHSCHBS,ACHSCHAS,ACHSDOCS,ACHSFLG,ACHS43S,ACHS57S,ACHS64S)=0
  1. G P2
  1. ;
  1. VNDRTOT ;
  1. W !!,$$REPEAT^XLFSTR("=",80),!,"VENDOR TOTALS",?25,$J(ACHSVDCT,4)
  1. S X=ACHSVCBT,X2="2$"
  1. D COMMA^%DTC
  1. W ?56,X
  1. S X=ACHSVCAT,X2="2$"
  1. D COMMA^%DTC
  1. W ?68,X
  1. I ACHSVCBT>0,ACHSVCAT>0 S X=(ACHSVCAT/ACHSVCBT)*100 W !!,"PERCENTAGE OF CHGS ALLOWED TO CHGS BILLED" W ?66,$E(X,1,5)_"%"
  1. W !!?3,"** HOSP - "_ACHSV43_" **",?32,"** DENT - "_ACHSV57_" **",?62,"** OUTP - "_ACHSV64_" **"
  1. K DIR
  1. I IOST["C-",'$D(IO("S")) S DIR(0)="E" W !! D ^DIR G END:Y=0
  1. S (ACHSVDCT,ACHSVCBT,ACHSVCAT,ACHSPAGE,ACHSV43,ACHSV57,ACHSV64)=0
  1. G P1
  1. ;
  1. TOTL ;
  1. W !!!!,$$REPEAT^XLFSTR("=",80),!!,"TOTAL",?25,$J(ACHSDOCT,4)
  1. S X=ACHSCHBT,X2="2$"
  1. D COMMA^%DTC
  1. W ?54,X
  1. S X=ACHSCHAT,X2="2$"
  1. D COMMA^%DTC
  1. W ?67,X
  1. I ACHSCHBT>0,ACHSCHAT>0 S X=(ACHSCHAT/ACHSCHBT)*100 W !!,"PERCENTAGE OF CHGS ALLOWED TO CHGS BILLED" W ?66,$E(X,1,5)_"%"
  1. W !!?3,"** HOSP - "_ACHS43T_" **",?32,"** DENT - "_ACHS57T_" **",?62,"** OUTP - "_ACHS64T_" **"
  1. I IOST["C-",'$D(IO("S")) K DIR S DIR(0)="E" W !! D ^DIR G END:Y=0
  1. Q
  1. ;
  1. END ;
  1. K ACHSPAGE,C,ACHSCHBS,ACHSCHBT,ACHSDOCS,ACHSCHBT,ACHSDOCT
  1. K ACHS2TH,ACHS43S,ACHS43T,ACHS57S,ACHS57T,ACHS64S,ACHS64T
  1. K ACHSCHA,ACHSCHAS,ACHSCHB,ACHSCHBS,ACHSV64,ACHSVA
  1. K ACHSDOC,ACHSCODE,ACHSDEN,ACHSDOCA
  1. K ACHSIOQ,ACHSCHAT,ACHSVADD,ACHSVCIT,ACHSVEN,ACHSVNDR
  1. K ACHSVST,ACHSZIP,I,Z,ACHSFLG,X,X2,Y,^TMP("ACHSCPT",$J),ACHSFROM
  1. K ACHSMSG,ACHSSER,ACHSSERV,ACHSSURF,ACHSTO,ACHSV43,ACHSV57
  1. K ACHSVCAT,ACHSVCBT,ACHSVDCT,ACHSWLU,DIR
  1. G END^ACHSCPTI ;To close device, quit
  1. ;