PXAIERR ;ISL/JVS,PKR - Set error array. ;Aug 04, 2025@08:28:16
;;1.0;PCE PATIENT CARE ENCOUNTER;**211,244**;Aug 12, 1996;Build 37
;
SETPROB ;--Put errors into PXAPROB.
I PXADI("DIALOG")=8390001.001 D Q
. S PXASUB=PXASUB+1
. S PXAPROB($J,PXASUB,"ERROR1",PXAERR(7),PXAERR(9),PXAK)=$G(PXAERR(12))
. I $G(PXAERR(13))'="" S PXAPROB($J,PXASUB,"ERROR2",PXAERR(7),PXAERR(9),PXAK)=$G(PXAERR(13))
;
I PXADI("DIALOG")=8390001.002 D Q
. S PXASUB=PXASUB+1
. S PXAPROB($J,PXASUB,"WARNING2",PXAERR(7),PXAERR(9),PXAK)=$G(PXAERR(12))
;
I PXADI("DIALOG")=8390001.003 D Q
. ;W !,"IN SETPROB^PXAIERR" BREAK
. N WARNSUB
. S PXASUB=PXASUB+1
. S WARNSUB=""
. F S WARNSUB=$O(PXAERR(WARNSUB)) Q:WARNSUB="" D
.. I (WARNSUB'["W") Q
.. I PXAERR(WARNSUB)="" Q
.. S PXAPROB($J,PXASUB,"WARNING3","ENCOUNTER",1,WARNSUB)=PXAERR(WARNSUB)
. ;W !,"SETPROB^PXAIERR, PXAPROB set" BREAK
;
I PXADI("DIALOG")=8390001.004 D
. S PXASUB=PXASUB+1
. S PXAPROB($J,PXASUB,"ERROR4","PX/DL",PXAK)=$G(PXAERR("PL1"))
Q
;
;===============
NUMWARNINGS(PXAERR) ;Calculate the number of warnings that are defined.
N NUMW,SUB
S NUMW=0,SUB=""
F S SUB=$O(PXAERR(SUB)) Q:SUB="" D
. I SUB["W" S NUMW=NUMW+1
Q NUMW
;
;===============
SSCL(SCL) ;Populate the site support contact list. Return a maximum of three.
N IND,JND,TEMP
S (IND,JND)=0
F S IND=+$O(^PX(815,1,900,IND)) Q:(IND=0)!(JND>2) D
. S TEMP=$G(^PX(815,1,900,IND,0))
. S JND=JND+1
. S SCL(900+JND)=$P(TEMP,U,1)_"; "_$P(TEMP,U,2)_"; "_$P(TEMP,U,3)_"; "_$P(TEMP,U,4)
I JND=0 S SCL(901)="No PCE support contacts are defined for this site!"
Q
;
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HPXAIERR 1640 printed Jul 11, 2026@02:22:07 Page 2
PXAIERR ;ISL/JVS,PKR - Set error array. ;Aug 04, 2025@08:28:16
+1 ;;1.0;PCE PATIENT CARE ENCOUNTER;**211,244**;Aug 12, 1996;Build 37
+2 ;
SETPROB ;--Put errors into PXAPROB.
+1 IF PXADI("DIALOG")=8390001.001
Begin DoDot:1
+2 SET PXASUB=PXASUB+1
+3 SET PXAPROB($JOB,PXASUB,"ERROR1",PXAERR(7),PXAERR(9),PXAK)=$GET(PXAERR(12))
+4 IF $GET(PXAERR(13))'=""
SET PXAPROB($JOB,PXASUB,"ERROR2",PXAERR(7),PXAERR(9),PXAK)=$GET(PXAERR(13))
End DoDot:1
QUIT
+5 ;
+6 IF PXADI("DIALOG")=8390001.002
Begin DoDot:1
+7 SET PXASUB=PXASUB+1
+8 SET PXAPROB($JOB,PXASUB,"WARNING2",PXAERR(7),PXAERR(9),PXAK)=$GET(PXAERR(12))
End DoDot:1
QUIT
+9 ;
+10 IF PXADI("DIALOG")=8390001.003
Begin DoDot:1
+11 ;W !,"IN SETPROB^PXAIERR" BREAK
+12 NEW WARNSUB
+13 SET PXASUB=PXASUB+1
+14 SET WARNSUB=""
+15 FOR
SET WARNSUB=$ORDER(PXAERR(WARNSUB))
if WARNSUB=""
QUIT
Begin DoDot:2
+16 IF (WARNSUB'["W")
QUIT
+17 IF PXAERR(WARNSUB)=""
QUIT
+18 SET PXAPROB($JOB,PXASUB,"WARNING3","ENCOUNTER",1,WARNSUB)=PXAERR(WARNSUB)
End DoDot:2
+19 ;W !,"SETPROB^PXAIERR, PXAPROB set" BREAK
End DoDot:1
QUIT
+20 ;
+21 IF PXADI("DIALOG")=8390001.004
Begin DoDot:1
+22 SET PXASUB=PXASUB+1
+23 SET PXAPROB($JOB,PXASUB,"ERROR4","PX/DL",PXAK)=$GET(PXAERR("PL1"))
End DoDot:1
+24 QUIT
+25 ;
+26 ;===============
NUMWARNINGS(PXAERR) ;Calculate the number of warnings that are defined.
+1 NEW NUMW,SUB
+2 SET NUMW=0
SET SUB=""
+3 FOR
SET SUB=$ORDER(PXAERR(SUB))
if SUB=""
QUIT
Begin DoDot:1
+4 IF SUB["W"
SET NUMW=NUMW+1
End DoDot:1
+5 QUIT NUMW
+6 ;
+7 ;===============
SSCL(SCL) ;Populate the site support contact list. Return a maximum of three.
+1 NEW IND,JND,TEMP
+2 SET (IND,JND)=0
+3 FOR
SET IND=+$ORDER(^PX(815,1,900,IND))
if (IND=0)!(JND>2)
QUIT
Begin DoDot:1
+4 SET TEMP=$GET(^PX(815,1,900,IND,0))
+5 SET JND=JND+1
+6 SET SCL(900+JND)=$PIECE(TEMP,U,1)_"; "_$PIECE(TEMP,U,2)_"; "_$PIECE(TEMP,U,3)_"; "_$PIECE(TEMP,U,4)
End DoDot:1
+7 IF JND=0
SET SCL(901)="No PCE support contacts are defined for this site!"
+8 QUIT
+9 ;