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

PXRRWLSA.m

Go to the documentation of this file.
  1. PXRRWLSA ;ISL/PKR - Sort appointments for encounter summary report. ;12/1/98
  1. ;;1.0;PCE PATIENT CARE ENCOUNTER;**20,61**;Aug 12, 1996
  1. ;
  1. ;Sort the encounters found in PXRRWLSE and attach them to appointments.
  1. SORT ;
  1. N APPT,BUSY,DATE,DFN,FACILITY,IC,OUPENC,POV,STOIND,VIEN
  1. N MULTPR
  1. ;
  1. ;Allow the task to be cleaned up upon successful completion.
  1. S ZTREQ="@"
  1. ;
  1. I '(PXRRQUE!$D(IO("S"))) D INIT^PXRRBUSY(.BUSY)
  1. ;
  1. S FACILITY=0
  1. NFAC S FACILITY=$O(^XTMP(PXRRXTMP,FACILITY))
  1. I +FACILITY=0 G DONE
  1. ;
  1. S STOIND=""
  1. NIND S STOIND=$O(^XTMP(PXRRXTMP,FACILITY,STOIND))
  1. I STOIND="" G NFAC
  1. ;
  1. S DFN=0
  1. NDFN S DFN=$O(^XTMP(PXRRXTMP,FACILITY,STOIND,"PATIENT",DFN))
  1. I +DFN=0 G NIND
  1. ;
  1. S DATE=0
  1. NDATE S DATE=$O(^XTMP(PXRRXTMP,FACILITY,STOIND,"PATIENT",DFN,DATE))
  1. I +DATE=0 G NDFN
  1. ;
  1. ;If this is an interactive session let the user know that something
  1. ;is happening.
  1. I '(PXRRQUE!$D(IO("S"))) D SPIN^PXRRBUSY("Sorting appointments",.BUSY)
  1. ;
  1. ;Check for a user request to stop the task.
  1. I $$S^%ZTLOAD S ZTSTOP=1 D EXIT^PXRRGUT
  1. ;
  1. S VIEN=0
  1. NVISIT S VIEN=$O(^XTMP(PXRRXTMP,FACILITY,STOIND,"PATIENT",DFN,DATE,VIEN))
  1. I +VIEN=0 G NDATE
  1. ;
  1. S MULTPR=$G(^XTMP(PXRRXTMP,FACILITY,STOIND,"PATIENT",DFN,DATE,VIEN))
  1. ;
  1. ;We have a DFN, DATE, and a VIEN look for an appointment.
  1. ;We will need DBIAs for reading DPT and SCE.
  1. S APPT=$G(^DPT(DFN,"S",DATE,0))
  1. S OUPENC=$P(APPT,U,20)
  1. I $L(OUPENC)>0 D
  1. .;Make sure that we point back to the same visit.
  1. . I $P($G(^SCE(OUPENC,0)),U,5)=VIEN D
  1. ..;Save the purpose of visit.
  1. .. S POV=$P(APPT,U,7)
  1. .. S ^XTMP(PXRRXTMP,FACILITY,STOIND,"POV",POV)=$G(^XTMP(PXRRXTMP,FACILITY,STOIND,"POV",POV))+1
  1. .. I MULTPR=1 D
  1. ... S ^XTMP(PXRRXTMP,FACILITY,"&&","POV",POV)=$G(^XTMP(PXRRXTMP,FACILITY,"&&","POV",POV))+1
  1. G NVISIT
  1. ;
  1. DONE ;
  1. ;Sorting is done.
  1. I '(PXRRQUE!$D(IO("S"))) D DONE^PXRRBUSY("done")
  1. EXIT ;
  1. ;
  1. ;Print the report information.
  1. I PXRRQUE D
  1. .;Start the printing that was queued but not scheduled.
  1. . N DESC,ROUTINE,TASK
  1. . S ROUTINE="PXRRWLPR"
  1. . S DESC="Encounter Summary Report - print"
  1. . S ZTDTH=$$NOW^XLFDT
  1. . S TASK=^XTMP(PXRRXTMP,"PRZTSK")
  1. . D REQUE^PXRRQUE(DESC,ROUTINE,TASK)
  1. E D ^PXRRWLPR
  1. Q
  1. ;