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

ACHSOCSP.m

Go to the documentation of this file.
  1. ACHSOCSP ; IHS/ITSC/PMF - PRINT CHS SERVICE CLASS CODES SUMMARY ; [ 10/12/2004 12:50 PM ]
  1. ;;3.1;CONTRACT HEALTH MGMT SYSTEM;**6,7**;JUNE 11,2001
  1. ;ACHS*3.1*6 IHS/SET/JVK ADD TOTALS TO SHOW OBLIGTED TO PAID SUMMARY
  1. ;ACHS*3.1*7 IHS/SET/JVK ADD PAID TOTALS FOR NUMBER OF DOC'S
  1. ;
  1. D BRPT^ACHSFU
  1. S (ACHSOB,ACHSPAY,ACHSDOC)=0,ACHSBM=IOSL-4
  1. S (ACHSPAGE,ACHSOBST,ACHSPMS,ACHSDOCS,ACHSOBT,ACHSPMTT,ACHSDOCT,ACHSDOC,ACHSOB,ACHSPMT,ACHSPMST,ACHSDST,ACHSOBS,ACHSOBT,ACHSWKLD,ACHSWKTO)=0
  1. I '$D(^TMP("ACHSOCSQ",$J)) D NODATA G END
  1. S ACHSFAC=""
  1. P1 ;
  1. S ACHSFAC=$O(^TMP("ACHSOCSQ",$J,ACHSFAC))
  1. G:ACHSFAC="" TOTAL
  1. D HEADER,HEADER1
  1. S ACHSOC=""
  1. P1A ;
  1. S ACHSOC=$O(^TMP("ACHSOCSQ",$J,ACHSFAC,ACHSOC))
  1. I ACHSOC="" D SUBTOTL G P1
  1. S ACHSOCD=$E($P(ACHSOC,U,1),1,2)_"."_$E($P(ACHSOC,U,1),3,99)_$$REPEAT^XLFSTR(" ",30)
  1. S X=$G(^TMP("ACHSOCSQ",$J,ACHSFAC,ACHSOC))
  1. S ACHSDOCS=$P(X,U,1)
  1. S ACHSOBS=$P(X,U,2)
  1. S ACHSPMS=$P(X,U,3)
  1. S ACHSWKL=$P(X,U,4)
  1. ;ITSC/SET/JVK ACHS*3.1*7 ADD DOCS PAID VS TOTAL DOCS
  1. S ACHSPDOC=$P(X,U,5)
  1. S ACHSBLKT=$P(X,U,6)
  1. I ACHSBLKT="" S ACHSBLKT=0
  1. W !,$E(ACHSOCD,1,30),$J($FN(ACHSDOCS,","),10),$J($FN(ACHSOBS,",",2),16),$J($FN(ACHSPMS,",",2),16),$J($FN(ACHSWKL,","),8)
  1. ;ITSC/SET/JVK ACHS*3.1.*7 ADD TOTAL OF PAID DOCS TO PRINT LINE
  1. W !,?12,"Paid Doc(s)",?30,$J(ACHSPDOC,10),?45,"Blankets/Special Doc(s): ",ACHSBLKT,!
  1. S ACHSOBST=ACHSOBST+ACHSOBS,ACHSPMST=ACHSPMST+ACHSPMS,ACHSDST=ACHSDST+ACHSDOCS,ACHSWKLD=ACHSWKLD+ACHSWKL
  1. I $Y>ACHSBM D RTRN^ACHS G:$G(ACHSQUIT) END Q:'$D(ACHSPAGE) D HEADER,HEADER1
  1. G P1A
  1. ;
  1. SUBTOTL ;
  1. W !!,$$REPEAT^XLFSTR("-",80),!,"SUBTOTAL",$$REPEAT^XLFSTR(" ",22),$J($FN(ACHSDST,","),10),$J("$"_$FN(ACHSOBST,",",2),16),$J("$"_$FN(ACHSPMST,",",2),16),$J($FN(ACHSWKLD,","),8)
  1. ;IHS/SET/JVK ACHS*3.1*6 BEG NEW CODE
  1. ;I ACHSOBST>0,ACHSPMST>0 S X=(ACHSPMST/ACHSOBST)*100 W !!,"PERCENTAGE OF PAYMENT TO OBLIGATED",?54,$J($FN(X,",",2),8),"%"
  1. I ACHSOBST>0,ACHSPMST>0 S X=(ACHSPMST/ACHSOBST)*100 W !!,"PERCENTAGE OF POSTED PAYMENTS TO OBLIGATED",?54,$J($FN(X,",",2),8),"%"
  1. W !!,"OBLIGATED PAYMENT RECONCILE AMT",?45,$J($FN(ACHSOBX,",",2),10)
  1. W !!,"PAYMENT ADJUSTMENT RECONCILE AMT",?45,$J($FN(ACHSZAT,",",2),10)
  1. ;S ACHSOBT=ACHSOBT+ACHSOBST,ACHSPMTT=ACHSPMTT+ACHSPMST,ACHSDOCT=ACHSDOCT+ACHSDST,ACHSWKTO=ACHSWKTO+ACHSWKLD
  1. S ACHSOBT=ACHSOBT+ACHSOBST+ACHSOBX+ACHSZAT,ACHSPMTT=ACHSPMTT+ACHSPMST,ACHSDOCT=ACHSDOCT+ACHSDST,ACHSWKTO=ACHSWKTO+ACHSWKLD
  1. ;IHS/SET/JVK ACHS*3.1*6 END NEW CODE
  1. S (ACHSOBST,ACHSPMST,ACHSDST,ACHSPAGE,ACHSWKLD)=0
  1. Q
  1. ;
  1. TOTAL ;
  1. W !!!!,$$REPEAT^XLFSTR("=",80),!!,"TOTAL",$$REPEAT^XLFSTR(" ",25),$J($FN(ACHSDOCT,","),10),$J("$"_$FN(ACHSOBT,",",2),16),$J("$"_$FN(ACHSPMTT,",",2),16),$J($FN(ACHSWKTO,","),8),!
  1. I ACHSOBT>0,ACHSPMTT>0 S Z=(ACHSPMTT/ACHSOBT)*100 W !,"PERCENTAGE OF PAYMENT TO TOTAL OBLIGATED",?54,$J($FN(Z,",",2),8),"%"
  1. ;ITSC/SET/JVK ACHS*3.1*7 ADD LINE BELOW
  1. W !!,"TOTAL DOCUMENTS IN PAID STATUS: ",?20,$J(ACHSPSCC,10)
  1. D RTRN^ACHS
  1. END ;Close device, kill variables, quit
  1. S:$D(ZTQUEUED) ZTREQ="@"
  1. D ERPT^ACHS,EN^XBVK("ACHS"),^ACHSVAR
  1. K I,X
  1. K ^TMP("ACHSOCSQ",$J),X2,Z,DIR
  1. Q
  1. ;
  1. NODATA ;
  1. D HEADER
  1. W !!!,"NO DATA FOR SPECIFIED ",$S(ACHSFY:"FISCAL YEAR",1:"DATES"),".",!!!!
  1. D RTRN^ACHS
  1. Q
  1. ;
  1. W @IOF
  1. S ACHSPAGE=ACHSPAGE+1
  1. S Y=$$HTE^XLFDT($H),ACHSTIM=$P(Y,"@",2)
  1. W !,"*",$P(Y,"@",1)
  1. S X=$$LOC^ACHS W ?((80/2)-($L(X)/2)),X
  1. W ?71,ACHSTIM,"*",!,"*User: ",ACHSUSR,?70,"Device:",IO,"*",!!
  1. S X="SERVICE CLASSIFICATION Summary Report - Page "
  1. W ?((80/2)-($L(X)/2)),X_ACHSPAGE,!
  1. S X=$S(ACHSFY:"For FISCAL YEAR: "_ACHSFY,1:"From "_$$FMTE^XLFDT(ACHSBDT)_" to "_$$FMTE^XLFDT(ACHSEDT))
  1. W ?((80/2)-($L(X)/2)),X,!,$$REPEAT^XLFSTR("*",80)
  1. Q
  1. ;
  1. HEADER1 ;
  1. W !!,"OBJCODE",?32,"#_DOCS_#",?46,"$_OBLIGD_$",?61,"$_PAYMENT_$ WORKLD"
  1. Q
  1. ;