PXRMLOCL ; SLC/PKR - Handle location findings. ;07/26/2007 ;;2.0;CLINICAL REMINDERS;**4,6**;Feb 04, 2005;Build 123 ;This routine is for location list patient lists. ;============================================= ALLLOCS(SUB) ;Build a list of all hospital locations associated ;with Visit file entries. N HLOC K ^TMP($J,SUB) S HLOC="" ;DBIA #2028 F S HLOC=$O(^AUPNVSIT("AHL",HLOC)) Q:HLOC="" S ^TMP($J,SUB,HLOC)="" Q ; ;============================================= EVALPL(FINDPA,ENODE,TERMARR,PLIST) ;Evaluate location term findings ;for patient lists. Return the list in ^TMP($J,PLIST) N BDT,EDT,ITEM,FILENUM,PFINDPA N STATUSA,TEMP,TFINDING,TFINDPA S FILENUM=$$GETFNUM^PXRMDATA(ENODE) S ITEM="" F S ITEM=$O(TERMARR("E",ENODE,ITEM)) Q:+ITEM=0 D . S TFINDING="" . F S TFINDING=$O(TERMARR("E",ENODE,ITEM,TFINDING)) Q:+TFINDING=0 D .. K PFINDPA,TFINDPA .. M TFINDPA=TERMARR(20,TFINDING) ..;Set the finding parameters. .. D SPFINDPA^PXRMTERM(.FINDPA,.TFINDPA,.PFINDPA) .. D GPLIST(FILENUM,"IP",ITEM,.PFINDPA,PLIST) Q ; ;============================================= FPLIST(FILENUM,HLOCL,NOCC,BDT,EDT,PLIST) ;Find patient list data for ;a visit to a hospital location. Return the list in ^TMP($J,PLIST). N BTIME,DAS,DATE,DEND,DFN,DONE,DS,ETIME,HLOC,INVBD,INVDATE,INVDT,INVED N NFOUND,SC,TEMP,TGLIST,TIME S TGLIST="FPLIST_PXRMLOCL" K ^TMP($J,TGLIST) S DEND=$S(EDT[".":EDT,1:EDT+.235959) ;"AHL" in Visit file is inverse date_.time instead of a full inverse ;date and time. For example if the date/time is 3030704.104449 then ;"AHL" has 6969295.104449 instead of 6969295.89555 S INVBD=9999999-$P(BDT,".",1),BTIME="."_$P(BDT,".",2) S INVED=9999999-$P(DEND,".",1),ETIME="."_$P(DEND,".",2) S DS=INVED-.000001 S HLOC="" F S HLOC=$O(^TMP($J,HLOCL,HLOC)) Q:HLOC="" D . S INVDT=DS,DONE=0 .;DBIA #2028 . F S INVDT=$O(^AUPNVSIT("AHL",HLOC,INVDT)) Q:(DONE)!(INVDT="") D .. S INVDATE=$P(INVDT,".",1) .. I INVDATE>INVBD S DONE=1 Q .. S TIME="."_$P(INVDT,".",2) .. I INVDATE=INVED,TIME>ETIME Q .. I INVDATE=INVBD,TIME