SDES2GETURGENCY ;ALB/BWF,JDJ - SDES2 GET URGENCY LIST; JUL 1,2025
;;5.3;Scheduling;**875,909**;Aug 13, 1993;Build 12
;;Per VHA Directive 6402, this routine should not be modified
;
; Reference to PROTOCOL in ICR #7026
; Reference to DUZ^XUP is supported by IA #7487
;
Q
; Input
; SDCONTEXT - SD CONTEXT ARRAY
; SDINPUT - blank placeholder parameter
;
GETURGENCY(RES,SDCONTEXT,SDINPUT) ; GET valid urgency protocol values that are used in the URGENCY field 5 of the REQUEST CONSULTAION file 123
N ERRORS,URGCOUNT,URGENCY,URGENCYIEN,SDNAME,URGENCYLIST,SYNIEN,SYNCOUNT,SYNNAME
D VALCONTEXT^SDES2VALCONTEXT(.ERRORS,.SDCONTEXT)
I $D(ERRORS) S ERRORS("Urgency",1)="" D BUILDJSON^SDES2JSON(.RES,.ERRORS) Q
; Visitor Pattern
I $G(SDCONTEXT("USER DUZ"))'="" N DUZ D DUZ^XUP(SDCONTEXT("USER DUZ"))
;
S URGCOUNT=0
S URGENCY="GMRCURGENCY" F S URGENCY=$O(^ORD(101,"B",URGENCY)) Q:$P(URGENCY," ",1)'="GMRCURGENCY" Q:URGENCY="" D
.S URGENCYIEN="" F S URGENCYIEN=$O(^ORD(101,"B",URGENCY,URGENCYIEN)) Q:URGENCYIEN="" D
..S SDNAME=$$GET1^DIQ(101,URGENCYIEN_",",.01)
..S URGCOUNT=URGCOUNT+1
..S URGENCYLIST("Urgency",URGCOUNT,"Name")=SDNAME
..S URGENCYLIST("Urgency",URGCOUNT,"Id")=URGENCYIEN
..S (SYNIEN,SYNCOUNT)=0
..F S SYNIEN=$O(^ORD(101,URGENCYIEN,2,SYNIEN)) Q:SYNIEN'>0 D
...S SYNNAME=$$GET1^DIQ(101.02,SYNIEN_","_URGENCYIEN_",",.01)
...S SYNCOUNT=SYNCOUNT+1
...S URGENCYLIST("Urgency",URGCOUNT,"Synonym",SYNCOUNT,"SynonymName")=SYNNAME
I '$D(URGENCYLIST) S URGENCYLIST("Urgency",1)=""
D BUILDJSON^SDES2JSON(.RES,.URGENCYLIST)
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HSDES2GETURGENCY 1591 printed Apr 22, 2026@14:51:57 Page 2
SDES2GETURGENCY ;ALB/BWF,JDJ - SDES2 GET URGENCY LIST; JUL 1,2025
+1 ;;5.3;Scheduling;**875,909**;Aug 13, 1993;Build 12
+2 ;;Per VHA Directive 6402, this routine should not be modified
+3 ;
+4 ; Reference to PROTOCOL in ICR #7026
+5 ; Reference to DUZ^XUP is supported by IA #7487
+6 ;
+7 QUIT
+8 ; Input
+9 ; SDCONTEXT - SD CONTEXT ARRAY
+10 ; SDINPUT - blank placeholder parameter
+11 ;
GETURGENCY(RES,SDCONTEXT,SDINPUT) ; GET valid urgency protocol values that are used in the URGENCY field 5 of the REQUEST CONSULTAION file 123
+1 NEW ERRORS,URGCOUNT,URGENCY,URGENCYIEN,SDNAME,URGENCYLIST,SYNIEN,SYNCOUNT,SYNNAME
+2 DO VALCONTEXT^SDES2VALCONTEXT(.ERRORS,.SDCONTEXT)
+3 IF $DATA(ERRORS)
SET ERRORS("Urgency",1)=""
DO BUILDJSON^SDES2JSON(.RES,.ERRORS)
QUIT
+4 ; Visitor Pattern
+5 IF $GET(SDCONTEXT("USER DUZ"))'=""
NEW DUZ
DO DUZ^XUP(SDCONTEXT("USER DUZ"))
+6 ;
+7 SET URGCOUNT=0
+8 SET URGENCY="GMRCURGENCY"
FOR
SET URGENCY=$ORDER(^ORD(101,"B",URGENCY))
if $PIECE(URGENCY," ",1)'="GMRCURGENCY"
QUIT
if URGENCY=""
QUIT
Begin DoDot:1
+9 SET URGENCYIEN=""
FOR
SET URGENCYIEN=$ORDER(^ORD(101,"B",URGENCY,URGENCYIEN))
if URGENCYIEN=""
QUIT
Begin DoDot:2
+10 SET SDNAME=$$GET1^DIQ(101,URGENCYIEN_",",.01)
+11 SET URGCOUNT=URGCOUNT+1
+12 SET URGENCYLIST("Urgency",URGCOUNT,"Name")=SDNAME
+13 SET URGENCYLIST("Urgency",URGCOUNT,"Id")=URGENCYIEN
+14 SET (SYNIEN,SYNCOUNT)=0
+15 FOR
SET SYNIEN=$ORDER(^ORD(101,URGENCYIEN,2,SYNIEN))
if SYNIEN'>0
QUIT
Begin DoDot:3
+16 SET SYNNAME=$$GET1^DIQ(101.02,SYNIEN_","_URGENCYIEN_",",.01)
+17 SET SYNCOUNT=SYNCOUNT+1
+18 SET URGENCYLIST("Urgency",URGCOUNT,"Synonym",SYNCOUNT,"SynonymName")=SYNNAME
End DoDot:3
End DoDot:2
End DoDot:1
+19 IF '$DATA(URGENCYLIST)
SET URGENCYLIST("Urgency",1)=""
+20 DO BUILDJSON^SDES2JSON(.RES,.URGENCYLIST)
+21 QUIT