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

PXRRWLD.m

Go to the documentation of this file.
  1. PXRRWLD ;ISL/PKR,ALB/Zoltan - Driver for PCE encounter summary report.;12/1/98
  1. ;;1.0;PCE PATIENT CARE ENCOUNTER;**20,61**;Aug 12, 1996
  1. MAIN ;
  1. N PXRRIOD,PXRRWLJB,PXRRWLST,PXRROPT,PXRRQUE,PXRRXTMP
  1. S PXRRXTMP=$$PXRRXTMP("PXRRWL")
  1. S ^XTMP(PXRRXTMP,0)=$$FMADD^XLFDT(DT,7)_U_DT_U_"PXRR Encounter Summary"
  1. ;
  1. ;Establish the selection criteria.
  1. FAC ;Get the facility list.
  1. N NFAC,PXRRFAC,PXRRFACN
  1. D FACILITY^PXRRLCSC
  1. I $D(DTOUT)!$D(DUOUT) G EXIT
  1. ;
  1. LORP ;See if the report is to be by location or provider.
  1. N PXRRWLSC
  1. D WHICH("L")
  1. I $D(DTOUT) G EXIT
  1. I $D(DUOUT) G FAC
  1. ;
  1. LOC ;Get the location(s) for the report.
  1. N NCS,NHL,PXRRCS,PXRRLCHL,PXRRLCSC
  1. I $P(PXRRWLSC,U,1)="L" D
  1. . S PXRRLCSC=""
  1. . D LOC^PXRRLCSC("Select ENCOUNTER LOCATION CRITERIA","HS")
  1. . I $P(PXRRLCSC,U,1)["C" D BYLOC^PXRRLCSC
  1. I $D(DTOUT) G EXIT
  1. I $D(DUOUT) G LORP
  1. ;
  1. PRV ;Get the provider(s) for the report.
  1. N NCL,NPL,PXRRPECL,PXRRPRLL,PXRRPRPL,PXRRPRSC
  1. N PXRRMPR
  1. S PXRRMPR=0
  1. I $P(PXRRWLSC,U,1)="P" D
  1. . D PRV^PXRRPRSC
  1. . I ('$D(DTOUT))&('$D(DUOUT)) D
  1. .. K DIRUT,DTOUT,DUOUT
  1. .. S DIR(0)="YA"
  1. .. S DIR("A",1)="Do you want providers broken out by location?"
  1. .. S DIR("A")="Enter Y (YES) or N (NO) "
  1. .. S DIR("B")="N"
  1. .. W !
  1. .. D ^DIR K DIR
  1. .. I $D(DIROUT) S DTOUT=1
  1. .. S PXRRPRLL=Y
  1. I $D(DTOUT) G EXIT
  1. I $D(DUOUT) G LORP
  1. ;
  1. DR ;Get the date range.
  1. N PXRRBDT,PXRREDT
  1. D PDR^PXRRADUT(.PXRRBDT,.PXRREDT,"ENCOUNTER")
  1. I $D(DTOUT) G EXIT
  1. I $D(DUOUT) G LORP
  1. ;
  1. SCAT ;Get the service categories.
  1. N PXRRSCAT
  1. D SCAT^PXRRECSC
  1. I $D(DTOUT) G EXIT
  1. I $D(DUOUT) G DR
  1. ;
  1. ENTY ;Get the encounter types.
  1. N PXRRENTY
  1. D ENTYPE^PXRRECSC
  1. I $D(DTOUT) G EXIT
  1. I $D(DUOUT) G SCAT
  1. ;
  1. ;Determine whether the report should be queued.
  1. S %ZIS="QM"
  1. W !
  1. D ^%ZIS
  1. I POP G EXIT
  1. S PXRRIOD=ION_";"_IOST_";"_IOM_";"_IOSL
  1. S PXRRQUE=$G(IO("Q"))
  1. ;
  1. I PXRRQUE D
  1. . ;Queue the report.
  1. . N DESC,IODEV,ROUTINE
  1. . S DESC="Encounter Summary Report - sort encounters"
  1. . S IODEV=""
  1. . S ROUTINE="SORT^PXRRWLSE"
  1. . S ^XTMP(PXRRXTMP,"SEZTSK")=$$QUE^PXRRQUE(DESC,IODEV,ROUTINE,"SAVE^PXRRWLD")
  1. .;
  1. . S DESC="Encounter Summary Report - sort appointments"
  1. . S IODEV=""
  1. . S ROUTINE="SORT^PXRRWLSA"
  1. . S ZTDTH="@"
  1. . S ^XTMP(PXRRXTMP,"SAZTSK")=$$QUE^PXRRQUE(DESC,IODEV,ROUTINE,"SAVE^PXRRWLD")
  1. .;
  1. . S DESC="Encounter Summary Report - print"
  1. . S IODEV=PXRRIOD
  1. . S ROUTINE="PXRRWLPR"
  1. . S ZTDTH="@"
  1. . S ^XTMP(PXRRXTMP,"PRZTSK")=$$QUE^PXRRQUE(DESC,IODEV,ROUTINE,"SAVE^PXRRWLD")
  1. ;
  1. E D SORT^PXRRWLSE
  1. Q
  1. ;=======================================================================
  1. EXIT ;
  1. D EXIT^PXRRGUT
  1. Q
  1. ;
  1. ;=======================================================================
  1. SAVE ;Save the variables.
  1. S ZTSAVE("PXRRBDT")="",ZTSAVE("PXRREDT")=""
  1. S ZTSAVE("PXRRCS(")="",ZTSAVE("NCS")=""
  1. S ZTSAVE("PXRRENTY")=""
  1. S ZTSAVE("PXRRFAC(")="",ZTSAVE("NFAC")=""
  1. S ZTSAVE("PXRRFACN(")=""
  1. S ZTSAVE("PXRRIOD")=""
  1. S ZTSAVE("PXRRLCHL(")="",ZTSAVE("NHL")=""
  1. S ZTSAVE("PXRRLCSC")=""
  1. S ZTSAVE("PXRRPECL(")="",ZTSAVE("NCL")=""
  1. S ZTSAVE("PXRRPRLL")=""
  1. S ZTSAVE("PXRRPRPL(")="",ZTSAVE("NPL")=""
  1. S ZTSAVE("PXRRPRSC")=""
  1. S ZTSAVE("PXRRQUE")=""
  1. S ZTSAVE("PXRRSCAT")=""
  1. S ZTSAVE("PXRRXTMP")=""
  1. S ZTSAVE("PXRRWLSC")=""
  1. S ZTSAVE("PXRRMPR")=""
  1. Q
  1. ;
  1. ;=======================================================================
  1. WHICH(DEFAULT) ;Find out if the report is to be by location or provider.
  1. N X,Y
  1. K DIROUT,DIRUT,DTOUT,DUOUT
  1. S DIR(0)="S"_U_"L:Location;"
  1. S DIR(0)=DIR(0)_"P:Provider"
  1. S DIR("A")="Do the report by"
  1. S DIR("B")=DEFAULT
  1. W !!,"This report may be done by location or provider"
  1. D ^DIR K DIR
  1. I $D(DIROUT) S DTOUT=1
  1. I $D(DTOUT)!($D(DUOUT)) Q
  1. S PXRRWLSC=Y_U_Y(0)
  1. Q
  1. ;
  1. PXRRXTMP(PXPFX) ; Extrinsic variable.
  1. ; Gets a unique PXRRXTMP value.
  1. S PFPFX=$G(PXPFX,"PXRRXTMP") ; Unizue ^XTMP prefix.
  1. N PXRRXTMP ; Value to return.
  1. N PXDONE
  1. I '$D(^XTMP("PXRRXTMP")) D
  1. . N PXCREATE ; ^XTMP Creation date.
  1. . N PXPURGE ; ^XTMP Purge date.
  1. . L +^XTMP("PXRRXTMP",0):300
  1. . S PXCREATE=$$DT^XLFDT ; Today's date.
  1. . S PXPURGE=$$HTFM^XLFDT($H+365) ; Not more than one year from today.
  1. . S ^XTMP("PXRRXTMP",0)=PXCREATE_"^"_PXPURGE_"^PXRR XTMP Coordination"
  1. . L -^XTMP("PXRRXTMP",0)
  1. L +^XTMP("PXRRXTMP",1):300
  1. S PXDONE=0
  1. F D Q:PXDONE
  1. . S (^XTMP("PXRRXTMP",1),PXRRXTMP)=$G(^XTMP("PXRRXTMP",1),0)+1
  1. . S PXRRXTMP=PXPFX_PXRRXTMP
  1. . Q:$D(^XTMP(PXRRXTMP))
  1. . Q:$D(^TMP(PXRRXTMP))
  1. . Q:$D(^TMP($J,PXRRXTMP))
  1. . S PXDONE=1
  1. L -^XTMP("PXRRXTMP",1)
  1. Q PXRRXTMP