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

DGENRPT5.m

Go to the documentation of this file.
  1. DGENRPT5 ;ALB/DW,LBD,GAH,PHH - EGT Impact Report Utility; 06/21/2007
  1. ;;5.3;Registration;**568,725,758,1015**;Aug 13,1993;Build 21
  1. ;
  1. ;
  1. Q
  1. GETAPPT(TYPE) ; Set up array of Patient IENs for SD API to process
  1. N VETARRAY,PIEN,PNAME,RCNT,ACNT,DGARRAY,SDCNT,I
  1. S ACNT=1,RCNT=0
  1. S PNAME="" F S PNAME=$O(^TMP($J,TYPE,PNAME)) Q:PNAME="" D
  1. .S PIEN=0 F S PIEN=$O(^TMP($J,TYPE,PNAME,PIEN)) Q:'PIEN D
  1. ..S RCNT=RCNT+1,VETARRAY(ACNT)=$G(VETARRAY(ACNT))_PIEN_";"
  1. ..; Group DFNs by no more than twenty records
  1. ..I RCNT>19 S ACNT=ACNT+1,RCNT=0
  1. ;
  1. ; Call SD API by array of Patient DFNs
  1. F I=1:1 Q:'$D(VETARRAY(I)) D
  1. .S DGARRAY("FLDS")="1;2;3;10",DGARRAY(4)=VETARRAY(I)
  1. .S SDCNT=$$SDAPI^SDAMA301(.DGARRAY)
  1. .I SDCNT<0 D
  1. ..N ERR,ERROR,CNT
  1. ..S ERR=$O(^TMP($J,"SDAMA301",""))
  1. ..D
  1. ...I ERR=101 S ERROR="Appt. DB unavail. Try later" Q
  1. ...I ERR=115 S ERROR="Invalid reqst, Call help desk" Q
  1. ...I ERR=117 S ERROR="Error: Check RSA error log" Q
  1. ...I ERR=113 S ERROR="Bad appt,pat stat fltr combo" Q
  1. ...I ERR=109 S ERROR="Invalid appt status filter" Q
  1. ...S ERROR=^TMP($J,"SDAMA301",ERR)
  1. ..F CNT=1:1:$L(VETARRAY(I),";")-1 S ^TMP($J,"SDAMA",$P(VETARRAY(I),";",CNT),"ERROR")=ERROR
  1. .;
  1. .I SDCNT>0 M ^TMP($J,"SDAMA")=^TMP($J,"SDAMA301")
  1. .K ^TMP($J,"SDAMA301")
  1. .K DGARRAY
  1. Q
  1. ;
  1. BLDUTL(DFN) ; Build Utility Global Entries for records processed
  1. Q:'$D(^TMP($J,"SDAMA",DFN))
  1. N CLIEN,APPTDT,NODE,APPTNUM S APPTNUM=1
  1. S CLIEN=0 F S CLIEN=$O(^TMP($J,"SDAMA",DFN,CLIEN)) Q:'CLIEN D
  1. .S APPTDT=0 F S APPTDT=$O(^TMP($J,"SDAMA",DFN,CLIEN,APPTDT)) Q:'APPTDT D
  1. ..Q:APPTDT'>DT
  1. ..S NODE=^TMP($J,"SDAMA",DFN,CLIEN,APPTDT)
  1. ..S ^UTILITY("VASD",$J,APPTNUM,"E")=$$FMTE^DILIBF($P(NODE,U),"5U")_U_$P($P(NODE,U,2),";",2)_U_U_$P($P(NODE,U,10),";",2)
  1. ..S ^UTILITY("VASD",$J,APPTNUM,"I")=NODE,APPTNUM=APPTNUM+1
  1. K ^TMP($J,"SDAMA",DFN)
  1. Q