FSCRPCAP ;SLC/STAFF-NOIS RPC Alert Process ;1/11/98  18:48
 ;;1.1;NOIS;;Sep 06, 1998
 ;
ALERT(XQADATA) ; from FSCRPCA
 I '$O(^FSCD("SEND","B",+XQADATA,0)) Q
 N CALL,LNUM,NUM
 K ^TMP("FSC CURRENT LIST",$J)
 K ^TMP("FSC LIST CLEANUP",$J)
 S LNUM=0
 S NUM=0 F  S NUM=$O(^FSCD("SEND","B",+XQADATA,NUM)) Q:NUM<1  D
 .S CALL=+$P($G(^FSCD("SEND",NUM,0)),U,2)
 .D SETUP(CALL,$P($G(^FSCD("ALERT",+XQADATA,0)),U,3))
 .D MRA^FSCMR(DUZ,CALL)
 .S LNUM=LNUM+1
 .S ^TMP("FSC LIST CLEANUP",$J,LNUM)=$P($G(^FSCD("ALERT",+XQADATA,0)),U,3)
 .D OUTPUT^FSCRPCA
 S NUM=0 F  S NUM=$O(^FSCD("SEND","B",+XQADATA,NUM)) Q:NUM<1  D
 .I '$L($P($G(^FSCD("SEND",NUM,0)),U,3)) S $P(^(0),U,3)=DT
 Q
 ;
USER ; from FSCRPCA
 N CALL,DA,DIK,LNUM,NUM,X,Y
 K ^FSCD("ALERT","ALERT",DUZ)
 K ^TMP("FSC CURRENT LIST",$J)
 K ^TMP("FSC LIST CLEANUP",$J)
 S LNUM=0
 S DIK="^FSCD(""ALERT"","
 S CALL=0 F  S CALL=$O(^FSCD("ALERT","AUC",DUZ,CALL)) Q:CALL<1  S NUM=^(CALL) D
 .D SETUP(CALL,$P($G(^FSCD("ALERT",NUM,0)),U,3))
 .D MRA^FSCMR(DUZ,CALL)
 .S LNUM=LNUM+1
 .S ^TMP("FSC LIST CLEANUP",$J,LNUM)=$P(^FSCD("ALERT",NUM,0),U,3)
 .S DA=+NUM D ^DIK
 .D OUTPUT^FSCRPCA
 Q
 ;
SETUP(CALL,MSG) ;
 N LNUM
 S LNUM=1+$O(^TMP("FSC CURRENT LIST",$J,"A"),-1)
 I LNUM<1000 S LNUM=LNUM+1000
 S ^TMP("FSC CURRENT LIST",$J,LNUM)=CALL_U_$$SHORT^FSCRPXUS(CALL,DUZ)_" ("_MSG_")"
 S ^TMP("FSC CURRENT LIST",$J,"C",CALL)=LNUM
 Q
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HFSCRPCAP   1403     printed  Sep 23, 2025@19:55:30                                                                                                                                                                                                    Page 2
FSCRPCAP  ;SLC/STAFF-NOIS RPC Alert Process ;1/11/98  18:48
 +1       ;;1.1;NOIS;;Sep 06, 1998
 +2       ;
ALERT(XQADATA) ; from FSCRPCA
 +1        IF '$ORDER(^FSCD("SEND","B",+XQADATA,0))
               QUIT 
 +2        NEW CALL,LNUM,NUM
 +3        KILL ^TMP("FSC CURRENT LIST",$JOB)
 +4        KILL ^TMP("FSC LIST CLEANUP",$JOB)
 +5        SET LNUM=0
 +6        SET NUM=0
           FOR 
               SET NUM=$ORDER(^FSCD("SEND","B",+XQADATA,NUM))
               if NUM<1
                   QUIT 
               Begin DoDot:1
 +7                SET CALL=+$PIECE($GET(^FSCD("SEND",NUM,0)),U,2)
 +8                DO SETUP(CALL,$PIECE($GET(^FSCD("ALERT",+XQADATA,0)),U,3))
 +9                DO MRA^FSCMR(DUZ,CALL)
 +10               SET LNUM=LNUM+1
 +11               SET ^TMP("FSC LIST CLEANUP",$JOB,LNUM)=$PIECE($GET(^FSCD("ALERT",+XQADATA,0)),U,3)
 +12               DO OUTPUT^FSCRPCA
               End DoDot:1
 +13       SET NUM=0
           FOR 
               SET NUM=$ORDER(^FSCD("SEND","B",+XQADATA,NUM))
               if NUM<1
                   QUIT 
               Begin DoDot:1
 +14               IF '$LENGTH($PIECE($GET(^FSCD("SEND",NUM,0)),U,3))
                       SET $PIECE(^(0),U,3)=DT
               End DoDot:1
 +15       QUIT 
 +16      ;
USER      ; from FSCRPCA
 +1        NEW CALL,DA,DIK,LNUM,NUM,X,Y
 +2        KILL ^FSCD("ALERT","ALERT",DUZ)
 +3        KILL ^TMP("FSC CURRENT LIST",$JOB)
 +4        KILL ^TMP("FSC LIST CLEANUP",$JOB)
 +5        SET LNUM=0
 +6        SET DIK="^FSCD(""ALERT"","
 +7        SET CALL=0
           FOR 
               SET CALL=$ORDER(^FSCD("ALERT","AUC",DUZ,CALL))
               if CALL<1
                   QUIT 
               SET NUM=^(CALL)
               Begin DoDot:1
 +8                DO SETUP(CALL,$PIECE($GET(^FSCD("ALERT",NUM,0)),U,3))
 +9                DO MRA^FSCMR(DUZ,CALL)
 +10               SET LNUM=LNUM+1
 +11               SET ^TMP("FSC LIST CLEANUP",$JOB,LNUM)=$PIECE(^FSCD("ALERT",NUM,0),U,3)
 +12               SET DA=+NUM
                   DO ^DIK
 +13               DO OUTPUT^FSCRPCA
               End DoDot:1
 +14       QUIT 
 +15      ;
SETUP(CALL,MSG) ;
 +1        NEW LNUM
 +2        SET LNUM=1+$ORDER(^TMP("FSC CURRENT LIST",$JOB,"A"),-1)
 +3        IF LNUM<1000
               SET LNUM=LNUM+1000
 +4        SET ^TMP("FSC CURRENT LIST",$JOB,LNUM)=CALL_U_$$SHORT^FSCRPXUS(CALL,DUZ)_" ("_MSG_")"
 +5        SET ^TMP("FSC CURRENT LIST",$JOB,"C",CALL)=LNUM
 +6        QUIT