PXRRLCCP ;ISL/PKR - encounter by clinic print. ;5/27/97 ;;1.0;PCE PATIENT CARE ENCOUNTER;**3,10,12,18**;Aug 12, 1996 ; N BMARG,C2S,C3S,C3E,C3HS,CMAX,DONE,HEAD,HLOCMAX,INDENT,MID,PAGE N CLASSNAM,DATE,IC,FACILITY,FACPNAME,FTOTAL N GTOTAL,HLOC N LOCLIST,LOCNAME,NLOCLIST,PNAME,SC,TEMP,VIEN ; ;Allow the task to be cleaned up upon successful completion. S ZTREQ="@" ; U IO ;Setup the formatting parameters. S HLOCMAX=^XTMP(PXRRXTMP,"HLOCMAX") S INDENT=3 S C2S=INDENT+HLOCMAX+1 S C3HS=INDENT+38 ;We assume that the counts will never be longer than six digits. S MID=C3HS+6 S BMARG=2 ; S DONE=0 S GTOTAL=0 ; S PAGE=1 D HDR^PXRRGPRT(PAGE) W !!,"Criteria for Clinic Encounter Count Report" D OLRCRIT^PXRRGPRT(3) ; SET ;Set up print fields S FACILITY=0 FAC S FACILITY=$O(^XTMP(PXRRXTMP,FACILITY)) I +FACILITY=0 G END ;Mark the facility as being found. F IC=1:1:NFAC I $P(PXRRFAC(IC),U,1)=FACILITY D Q . S $P(PXRRFAC(IC),U,4)="M" K LOCLIST K ^TMP(PXRRXTMP,$J,"PXRRLOC") S HEAD=1 S FTOTAL=0 S FACPNAME=$P(PXRRFACN(FACILITY),U,1)_" "_$P(PXRRFACN(FACILITY),U,2) ; ;Check for a user request to stop the task. I $$S^%ZTLOAD S ZTSTOP=1 D EXIT^PXRRGUT ; S PNAME="" PRV S PNAME=$O(^XTMP(PXRRXTMP,FACILITY,PNAME)) I PNAME="" G TOTAL ; S CLASSNAM="" CLASS ; S CLASSNAM=$O(^XTMP(PXRRXTMP,FACILITY,PNAME,CLASSNAM)) I CLASSNAM="" G PRV ; S DATE="" DATE S DATE=$O(^XTMP(PXRRXTMP,FACILITY,PNAME,CLASSNAM,DATE)) I DATE="" G CLASS ; S HLOC="" HLO S HLOC=$O(^XTMP(PXRRXTMP,FACILITY,PNAME,CLASSNAM,DATE,HLOC)) I HLOC="" G DATE S VIEN="" F S VIEN=$O(^XTMP(PXRRXTMP,FACILITY,PNAME,CLASSNAM,DATE,HLOC,VIEN)) Q:VIEN="" D . S ^TMP(PXRRXTMP,$J,"PXRRLOC",HLOC,VIEN)="" ; G HLO ; TOTAL ;Total up the encounters. S NLOCLIST=0 S CMAX=0 S HLOC="" NLOC S HLOC=$O(^TMP(PXRRXTMP,$J,"PXRRLOC",HLOC)) I HLOC="" G OUTPUT S TEMP=$$LOCCNT^PXRRLCHP(HLOC) S CMAX=$$MAX^XLFMTH(CMAX,TEMP) S LOCLIST(HLOC)=TEMP S NLOCLIST=NLOCLIST+1 G NLOC ; OUTPUT ;Print the data. S HEAD=1 S C3E=MID+($L(CMAX)/2) S HLOC="" NEXTP S HLOC=$O(LOCLIST(HLOC)) I HLOC="" S GTOTAL=GTOTAL+FTOTAL G FINAL S TEMP=LOCLIST(HLOC) S FTOTAL=FTOTAL+TEMP D HEAD I DONE G EXIT S C3S=C3E-$L(TEMP) S LOCNAME=$P(HLOC,U,1) S SC="("_$P(HLOC,U,3)_")" W !,?INDENT,LOCNAME,?C2S,SC,?C3S,TEMP G NEXTP ; FINAL ;Print facility total. I $Y>(IOSL-BMARG-3) D PAGE^PXRRGPRT I DONE G EXIT D PTOTAL^PXRRGPRT("Total facility encounters ",FTOTAL,C3E,1) G FAC END ; I $Y>(IOSL-BMARG-3) D PAGE^PXRRGPRT I DONE G EXIT I GTOTAL>0 D PTOTAL^PXRRGPRT("Total encounters ",GTOTAL,C3E,0) I $Y>(IOSL-BMARG-3) D PAGE^PXRRGPRT I DONE G EXIT D FACNE^PXRRGPRT(INDENT) EXIT ; D EXIT^PXRRGUT D EOR^PXRRGUT Q ; ;======================================================================= HEAD ;If necessary, write the header. I HEAD D . I $Y>(IOSL-BMARG-6) D PAGE^PXRRGPRT . I DONE Q . W !!,"Facility: ",FACPNAME . W !!,?INDENT,"Clinic Stop (Stop Code)",?C3HS,"Encounters" . W !,?INDENT,"------------------------------------",?C3HS,"----------" . S HEAD=0 Q ;