[613] | 1 | DGENRPT5 ;ALB/DW,LBD,GAH,PHH - EGT Impact Report Utility; 06/21/2007
|
---|
| 2 | ;;5.3;Registration;**568,725,758**;Aug 13,1993;Build 1
|
---|
| 3 | ;
|
---|
| 4 | ;
|
---|
| 5 | Q
|
---|
| 6 | GETAPPT(TYPE) ; Set up array of Patient IENs for SD API to process
|
---|
| 7 | N VETARRAY,PIEN,PNAME,RCNT,ACNT,DGARRAY,SDCNT,I
|
---|
| 8 | S ACNT=1,RCNT=0
|
---|
| 9 | S PNAME="" F S PNAME=$O(^TMP($J,TYPE,PNAME)) Q:PNAME="" D
|
---|
| 10 | .S PIEN=0 F S PIEN=$O(^TMP($J,TYPE,PNAME,PIEN)) Q:'PIEN D
|
---|
| 11 | ..S RCNT=RCNT+1,VETARRAY(ACNT)=$G(VETARRAY(ACNT))_PIEN_";"
|
---|
| 12 | ..; Group DFNs by no more than twenty records
|
---|
| 13 | ..I RCNT>19 S ACNT=ACNT+1,RCNT=0
|
---|
| 14 | ;
|
---|
| 15 | ; Call SD API by array of Patient DFNs
|
---|
| 16 | F I=1:1 Q:'$D(VETARRAY(I)) D
|
---|
| 17 | .S DGARRAY("FLDS")="1;2;3;10",DGARRAY(4)=VETARRAY(I)
|
---|
| 18 | .S SDCNT=$$SDAPI^SDAMA301(.DGARRAY)
|
---|
| 19 | .I SDCNT<0 D
|
---|
| 20 | ..N ERR,ERROR,CNT
|
---|
| 21 | ..S ERR=$O(^TMP($J,"SDAMA301",""))
|
---|
| 22 | ..D
|
---|
| 23 | ...I ERR=101 S ERROR="Appt. DB unavail. Try later" Q
|
---|
| 24 | ...I ERR=115 S ERROR="Invalid reqst, Call help desk" Q
|
---|
| 25 | ...I ERR=117 S ERROR="Error: Check RSA error log" Q
|
---|
| 26 | ...I ERR=113 S ERROR="Bad appt,pat stat fltr combo" Q
|
---|
| 27 | ...I ERR=109 S ERROR="Invalid appt status filter" Q
|
---|
| 28 | ...S ERROR=^TMP($J,"SDAMA301",ERR)
|
---|
| 29 | ..F CNT=1:1:$L(VETARRAY(I),";")-1 S ^TMP($J,"SDAMA",$P(VETARRAY(I),";",CNT),"ERROR")=ERROR
|
---|
| 30 | .;
|
---|
| 31 | .I SDCNT>0 M ^TMP($J,"SDAMA")=^TMP($J,"SDAMA301")
|
---|
| 32 | .K ^TMP($J,"SDAMA301")
|
---|
| 33 | .K DGARRAY
|
---|
| 34 | Q
|
---|
| 35 | ;
|
---|
| 36 | BLDUTL(DFN) ; Build Utility Global Entries for records processed
|
---|
| 37 | Q:'$D(^TMP($J,"SDAMA",DFN))
|
---|
| 38 | N CLIEN,APPTDT,NODE,APPTNUM S APPTNUM=1
|
---|
| 39 | S CLIEN=0 F S CLIEN=$O(^TMP($J,"SDAMA",DFN,CLIEN)) Q:'CLIEN D
|
---|
| 40 | .S APPTDT=0 F S APPTDT=$O(^TMP($J,"SDAMA",DFN,CLIEN,APPTDT)) Q:'APPTDT D
|
---|
| 41 | ..Q:APPTDT'>DT
|
---|
| 42 | ..S NODE=^TMP($J,"SDAMA",DFN,CLIEN,APPTDT)
|
---|
| 43 | ..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)
|
---|
| 44 | ..S ^UTILITY("VASD",$J,APPTNUM,"I")=NODE,APPTNUM=APPTNUM+1
|
---|
| 45 | K ^TMP($J,"SDAMA",DFN)
|
---|
| 46 | Q
|
---|