XUXTADAPI ;SLC/JLA - Service/Section Edit API's ; NOV 20, 2024@12:30
;;8.0;KERNEL;**807**;Nov 20, 2024;Build 56;
;
;
; External API'S
;
; FileMan/ScreenMan API's
GETS(AFILE,AIENS,AFIELD,AFLAGS,ATROOT,AMROOT) D GETS^DIQ($G(AFILE),$G(AIENS),$G(AFIELD),$G(AFLAGS),$G(ATROOT),$G(AMROOT)) Q
LIST(AFILE,AIENS,AFIELD,AFLAGS,AMAX,AFROM,APART,AINDEX,ASCREEN,AIDENTIFIER,ATROOT,AMROOT) D LIST^DIC($G(AFILE),$G(AIENS),$G(AFIELD),$G(AFLAGS),$G(AMAX),$G(AFROM),$G(APART),$G(AINDEX),$G(ASCREEN),$G(AIDENTIFIER),$G(ATROOT),$G(AMROOT)) Q
;
;
; API's available to show data:
; D SHOWASSI^XUXTADAPI() - Show All Service/Sections IEN's
; D SHOWASSIN^XUXTADAPI() - Show All Service/Sections IEN's=Name
; D SHOWVSSCDCR^XUXTADAPI(AXUXTADSSIEN)
; Show Service/Section with IEN: AXUXTADSSIEN (current/most recent) Date Closed record
; D SHOWVSSOCS^XUXTADAPI(AXUXTADSSIEN)
; Show Service/Section with IEN: AXUXTADSSIEN current Open/Closed status
; D SHOWVISSA^XUXTADAPI(AXUXTADSSIEN)
; Show Is Service/Section with IEN: AXUXTADSSIEN Assigned
;
;
; Get All Service/Section's IEN's records Array
;
; AXUXTADSSIA - An array to hold all Service/Section IEN records
;
; Returns AXUXTADSSIA populated with the IEN for each Service/Section
;
;
; ***** DIRECT ACCESS OF GLOBAL ^DIC(49 *****
;
; S XUXTADSSA="SSI"
; W $$GASSI^XUXTADAPI(XUXTADSSA)
GASSI(AXUXTADSSIA) ;
NEW XUXTADSSIA,XUXTADSSIEN,XUXTADRTNVAL,XUXTADSSFILE
S XUXTADSSIA=$G(AXUXTADSSIA)
I $L(XUXTADSSIA)'>0 D G GASSIDN
. S XUXTADRTNVAL="0^Results array parameter AXUXTADSSIA is not valid"
K @XUXTADSSIA
S XUXTADSSFILE=49 ; SERVICE/SECTION file #
S (@XUXTADSSIA,XUXTADSSIEN)=0
F S XUXTADSSIEN=$O(^DIC(XUXTADSSFILE,XUXTADSSIEN)) Q:'XUXTADSSIEN D
. S @XUXTADSSIA=@XUXTADSSIA+1
. S @XUXTADSSIA@(XUXTADSSIEN)=""
S XUXTADRTNVAL=@XUXTADSSIA
GASSIDN ;
Q XUXTADRTNVAL
;
;
; Get All Service/Section's IEN's records Array
;
; AXUXTADSSIA - An array to hold all Service/Section IEN records
;
; Returns AXUXTADSSIA populated with the IEN for each Service/Section
;
;
; Uses Database Server API
; LIST^DIC(file[,iens][,fields][,flags][,number][,[.]from][,[.]part][,index][,[.]screen][,identifier][,target_root][,msg_root])
;
; S XUXTADSSA="SSI"
; W $$GASSIFM^XUXTADAPI(XUXTADSSA)
GASSIFM(AXUXTADSSIA) ;
NEW XUXTADSSIA,XUXTADNODE,XUXTADRTNVAL
NEW FILE,FIELDS,TROOT
I '$D(VERBOSE) NEW VERBOSE S VERBOSE=0
;I VERBOSE W !,"GASSIFM^XUXTADAPI(",$G(AXUXTADSSIA),") Called"
;I VERBOSE W !,"Get All Service/Section's IEN's"
S FILE=49,FIELDS="@",TROOT="GASSIFMFDA",XUXTADNODE=0
S XUXTADSSIA=$G(AXUXTADSSIA)
I $L(XUXTADSSIA)'>0 D G GASSIFMDN
. S XUXTADRTNVAL="0^Results array parameter AXUXTADSSIA is not valid"
D LIST(FILE,,FIELDS,,,,,,,,TROOT)
K @XUXTADSSIA
S @XUXTADSSIA=0
F S XUXTADNODE=$O(@TROOT@("DILIST",2,XUXTADNODE)) Q:'XUXTADNODE D
. S @XUXTADSSIA=@XUXTADSSIA+1
. S @XUXTADSSIA@(@TROOT@("DILIST",2,XUXTADNODE))=""
S XUXTADRTNVAL=@XUXTADSSIA
GASSIFMDN ;
;I VERBOSE W !,"GASSIFM^XUXTADAPI Exiting, Response: ",XUXTADRTNVAL,! ZW @XUXTADSSIA
K @TROOT
Q XUXTADRTNVAL
;
;
; Show All Service/Sections IEN's
;
; D SHOWASSI^XUXTADAPI
SHOWASSI() ;
N XUXTADAIA,XUXTADRTNVAL,XUXTADHEADER
S XUXTADAIA="SHOWASSI"
S XUXTADRTNVAL=$$GASSIFM(XUXTADAIA)
S XUXTADHEADER="All Service/Section IEN's:"
D SHOWA(XUXTADHEADER,XUXTADAIA)
K @XUXTADAIA
Q
;
;
; Get All Service/Section's IEN=Name records Array
;
; AXUXTADSSIA - An array to hold all Service/Section IEN records
;
; Returns AXUXTADSSIA populated with the IEN and NAME for each Service/Section record
;
;
; ***** DIRECT ACCESS OF GLOBAL ^DIC(49 *****
;
; S XUXTADSSA="SSI"
; W $$GASSIN^XUXTADAPI(XUXTADSSA)
GASSIN(AXUXTADSSIA) ;
NEW XUXTADSSIA,XUXTADSSIEN,XUXTADRTNVAL,XUXTADSSFILE
S XUXTADSSIA=$G(AXUXTADSSIA)
I $L(XUXTADSSIA)'>0 D G GASSINDN
. S XUXTADRTNVAL="0^Results array parameter AXUXTADSSIA is not valid"
K @XUXTADSSIA
S XUXTADSSFILE=49 ; File number of SERVICE/SECTION file
S (@XUXTADSSIA,XUXTADSSIEN)=0
F S XUXTADSSIEN=$O(^DIC(XUXTADSSFILE,XUXTADSSIEN)) Q:'XUXTADSSIEN D
. S @XUXTADSSIA=@XUXTADSSIA+1
. S @XUXTADSSIA@(XUXTADSSIEN)=$P(^DIC(XUXTADSSFILE,XUXTADSSIEN,0),U)
S XUXTADRTNVAL=@XUXTADSSIA
GASSINDN ;
Q XUXTADRTNVAL
;
;
; Get All Service/Section's IEN=Name records Array
;
; AXUXTADSSIA - An array to hold all Service/Section IEN/Name records
;
; Returns AXUXTADSSIA populated with the IEN and Name record for each Service/Section record
;
;
; Uses Database Server API
; LIST^DIC(file[,iens][,fields][,flags][,number][,[.]from][,[.]part][,index][,[.]screen][,identifier][,target_root][,msg_root])
;
; S XUXTADSSA="SSI"
; W $$GASSINFM^XUXTADAPI(XUXTADSSA)
GASSINFM(AXUXTADSSIA) ;
NEW XUXTADSSIA,XUXTADNODE,XUXTADRTNVAL
NEW FILE,FIELDS,TROOT
I '$D(VERBOSE) NEW VERBOSE S VERBOSE=0
;I VERBOSE W !,"GASSINFM^XUXTADAPI(",$G(AXUXTADSSIA),") Called"
;I VERBOSE W !,"Get All Service/Section's IEN's=Name"
S FILE=49,FIELDS=".01",TROOT="GASSINFMFDA",XUXTADNODE=0
S XUXTADSSIA=$G(AXUXTADSSIA)
I $L(XUXTADSSIA)'>0 D G GASSINFMDN
. S XUXTADRTNVAL="0^Results array parameter AXUXTADSSIA is not valid"
D LIST(FILE,,FIELDS,,,,,,,,TROOT)
K @XUXTADSSIA
S @XUXTADSSIA=0
F S XUXTADNODE=$O(@TROOT@("DILIST",2,XUXTADNODE)) Q:'XUXTADNODE D
. S @XUXTADSSIA=@XUXTADSSIA+1
. S @XUXTADSSIA@(@TROOT@("DILIST",2,XUXTADNODE))=@TROOT@("DILIST",1,XUXTADNODE)
S XUXTADRTNVAL=@XUXTADSSIA
GASSINFMDN ;
;I VERBOSE W !,"GASSINFM^XUXTADAPI Exiting, Response: ",XUXTADRTNVAL,! ZW @XUXTADSSIA
K @TROOT
Q XUXTADRTNVAL
;
;
; Show All Service/Section's IEN=Name records
;
; D SHOWASSIN^XUXTADAPI
SHOWASSIN() ;
N XUXTADSSINA,XUXTADRTNVAL,XUXTADHEADER
S XUXTADSSINA="SHOWASSIN"
S XUXTADRTNVAL=$$GASSINFM(XUXTADSSINA)
S XUXTADHEADER="All Service/Section's IEN=Name records:"
D SHOWA(XUXTADHEADER,XUXTADSSINA)
K @XUXTADSSINA
Q
;
;
; Get Service/Section's (current/most recent) Date Closed record
;
; AXUXTADSSIEN - A Service/Section IEN
;
; Returns Service/Section's current/most recent Date Closed record
; or nothing if no record exists yet
;
;
; ***** DIRECT ACCESS OF GLOBAL ^DIC(49 *****
;
; S XUXTADSSIEN=3
; W $$GSSCDCR^XUXTADAPI(XUXTADSSIEN)
GSSCDCR(AXUXTADSSIEN) ;
NEW XUXTADCDCR,XUXTADSSIEN,XUXTADNODE,XUXTADSSFILE,XUXTADDCNODE
S XUXTADCDCR="",XUXTADNODE=""
S XUXTADSSIEN=+$G(AXUXTADSSIEN)
S XUXTADSSFILE=49 ; File number of SERVICE/SECTION file
S XUXTADDCNODE=3 ; Date Closed node
I (XUXTADSSIEN'>0)!('$D(^DIC(XUXTADSSFILE,XUXTADSSIEN))) D G GSSCDCRDN
. S XUXTADCDCR="0^Service/Section IEN "_XUXTADSSIEN_" is not valid"
; Read the last Date Closed Record (-1 reverse order)
S XUXTADNODE=$O(^DIC(XUXTADSSFILE,XUXTADSSIEN,XUXTADDCNODE,XUXTADNODE),-1)
I XUXTADNODE>0 S XUXTADCDCR=^(XUXTADNODE,0)
GSSCDCRDN ;
Q XUXTADCDCR
;
;
; Get Service/Section's (current/most recent) Date Closed record
;
; AXUXTADSSIEN - A Service/Section IEN
;
; Returns Service/Section's current/most recent Date Closed record
; or nothing if no record exists yet
;
;
; Uses Database Server API
; GETS^DIQ(file,iens,field[,flags],target_root[,msg_root])
;
; S XUXTADSSIEN=3
; W $$GSSCDCRFM^XUXTADAPI(XUXTADSSIEN)
GSSCDCRFM(AXUXTADSSIEN) ;
NEW XUXTADSSIEN,XUXTADSSIA,XUXTADCDCR,XUXTADNODE,XUXTADDCFLD,XUXTADDRFLD
NEW FILE,IENS,FIELD,FLAGS,TROOT,SUBFILE
I '$D(VERBOSE) NEW VERBOSE S VERBOSE=0
;I VERBOSE W !,"GSSCDCRFM^XUXTADAPI(",$G(AXUXTADSSIEN),") Called"
;I VERBOSE W !,"Get Service/Section's (current/most recent) Date Closed record"
S XUXTADSSIEN=+$G(AXUXTADSSIEN),XUXTADSSIA="GSSCDCRFMSSI"
S FILE=49,IENS=""_XUXTADSSIEN_",",FIELD="13*",FLAGS="I",TROOT="FMD"
S SUBFILE=49.07,XUXTADCDCR="",XUXTADNODE="",XUXTADDCFLD=.01,XUXTADDRFLD=1
; Get All Service/Section IEN's
D GASSIFM(XUXTADSSIA)
; Verify that the SS IEN passed in is valid and exists
I (XUXTADSSIEN'>0)!('$D(@XUXTADSSIA@(XUXTADSSIEN))) D G GSSCDCRFMDN
. S XUXTADCDCR="0^Service/Section IEN "_XUXTADSSIEN_" is not valid"
D GETS(FILE,IENS,FIELD,FLAGS,TROOT)
;I VERBOSE W ! ZW @TROOT
; Read the last Date Closed Record (-1 reverse order)
S XUXTADNODE=$O(@TROOT@(SUBFILE,XUXTADNODE),-1)
;I VERBOSE W !,"XUXTADSSIEN: ",XUXTADSSIEN,", XUXTADNODE: ",XUXTADNODE,!
I XUXTADNODE>0 S XUXTADCDCR=@TROOT@(SUBFILE,XUXTADNODE,XUXTADDCFLD,FLAGS)_U_@TROOT@(SUBFILE,XUXTADNODE,XUXTADDRFLD,FLAGS)
GSSCDCRFMDN ;
;I VERBOSE W !,"GSSCDCRFM^XUXTADAPI Exiting, Response: ",XUXTADCDCR
K @XUXTADSSIA,@TROOT
Q XUXTADCDCR
;
;
; Show Service/Section's (current/most recent) Date Closed record
;
; S AXUXTADSSIEN=1048
; D SHOWVSSCDCR^XUXTADAPI(AXUXTADSSIEN)
SHOWVSSCDCR(AXUXTADSSIEN) ;
N XUXTADRTNVAL,XUXTADHEADER
S XUXTADRTNVAL=$$GSSCDCRFM(AXUXTADSSIEN)
S XUXTADHEADER="Service/Section's (current/most recent) Date Closed record:"
D SHOWV(XUXTADHEADER,XUXTADRTNVAL)
Q
;
;
; Get Service/Section's current Open/Closed status
;
; AXUXTADSSIEN - A Service/Section IEN
;
; Returns
; 0^Error message when an error occurs
; 1^Success message
; 1^Open
; 1^Closed
;
;
; ***** DIRECT ACCESS OF GLOBAL ^DIC(49 *****
;
; S XUXTADSSIEN=3
; W $$GSSOCS^XUXTADAPI(XUXTADSSIEN)
GSSOCS(AXUXTADSSIEN) ;
NEW XUXTADSSIEN,XUXTADSSOCS,XUXTADCDCR,XUXTADCDR,XUXTADSSFILE
S XUXTADSSIEN=+$G(AXUXTADSSIEN),XUXTADSSOCS="1^Open"
S XUXTADSSFILE=49 ; File number of SERVICE/SECTION file
I (XUXTADSSIEN'>0)!('$D(^DIC(XUXTADSSFILE,XUXTADSSIEN))) D G GSSOCSDN
. S XUXTADSSOCS="0^Service/Section IEN "_XUXTADSSIEN_" is not valid"
S XUXTADCDCR=$$GSSCDCR(XUXTADSSIEN)
I $L(XUXTADCDCR)>0 D G GSSOCSDN
. S XUXTADCDR=$P(XUXTADCDCR,"^",2)
. ; If there is no Re-opened date then the Service/Section is Closed
. I $L(XUXTADCDR)=0 S XUXTADSSOCS="1^Closed"
GSSOCSDN ;
Q XUXTADSSOCS
;
;
; Get Service/Section's current Open/Closed status
;
; AXUXTADSSIEN - A Service/Section IEN
;
; Returns
; 0^Error message when an error occurs
; 1^Success message
; 1^Open
; 1^Closed
;
; S XUXTADSSIEN=3
; W $$GSSOCSFM^XUXTADAPI(XUXTADSSIEN)
GSSOCSFM(AXUXTADSSIEN) ;
NEW XUXTADSSIEN,XUXTADSSIA,XUXTADSSOCS,XUXTADCDCR,XUXTADCDR
I '$D(VERBOSE) NEW VERBOSE S VERBOSE=0
;I VERBOSE W !,"GSSOCSFM^XUXTADAPI(",$G(AXUXTADSSIEN),") Called"
;I VERBOSE W !,"Get Service/Section's current Open/Closed status"
S XUXTADSSIEN=+$G(AXUXTADSSIEN),XUXTADSSIA="GSSOCSFMSSI",XUXTADSSOCS="1^Open"
; Get All Service/Section IEN's
D GASSIFM(XUXTADSSIA)
; Verify that the SS IEN passed in is valid and exists
I (XUXTADSSIEN'>0)!('$D(@XUXTADSSIA@(XUXTADSSIEN))) D G GSSOCSFMDN
. S XUXTADSSOCS="0^Service/Section IEN "_XUXTADSSIEN_" is not valid"
S XUXTADCDCR=$$GSSCDCRFM(XUXTADSSIEN)
I $L(XUXTADCDCR)>0 D G GSSOCSFMDN
. S XUXTADCDR=$P(XUXTADCDCR,"^",2)
. ; If there is no Re-opened date then the Service/Section is Closed
. I $L(XUXTADCDR)=0 S XUXTADSSOCS="1^Closed"
GSSOCSFMDN ;
;I VERBOSE W !,"GSSOCSFM^XUXTADAPI Exiting, Response: ",XUXTADSSOCS
K @XUXTADSSIA
Q XUXTADSSOCS
;
;
; Show Service/Section's current Open/Closed status
;
; S AXUXTADSSIEN=1048
; D SHOWVSSOCS^XUXTADAPI(AXUXTADSSIEN)
SHOWVSSOCS(AXUXTADSSIEN) ;
N XUXTADRTNVAL,XUXTADHEADER
S XUXTADRTNVAL=$$GSSOCSFM(AXUXTADSSIEN)
S XUXTADHEADER="Service/Section's current Open/Closed status:"
D SHOWV(XUXTADHEADER,$P(XUXTADRTNVAL,"^",2))
Q
;
;
; Is Service/Section with IEN: AXUXTADSSIEN Assigned?
;
; AXUXTADSSIEN - A Service/Section IEN
;
; Returns
; 0^Error message when an error occurs
; 0
; 1
;
;
; ***** DIRECT ACCESS OF GLOBALS ^DIC(49 AND ^VA(200 *****
;
; S XUXTADSSIEN=1043
; W $$ISSA^XUXTADAPI(XUXTADSSIEN)
ISSA(AXUXTADSSIEN) ;
NEW XUXTADSSIEN,XUXTADRTNVAL,XUXTADSSFILE,XUXTADNPFILE
S XUXTADSSIEN=+$G(AXUXTADSSIEN)
S XUXTADSSFILE=49 ; File number of SERVICE/SECTION file
S XUXTADNPFILE=200 ; File number of NEW PERSON file
; Make sure the Service/Section IEN passed in is > 0 and exists in the Service/Section File 49
I (XUXTADSSIEN'>0)!('$D(^DIC(XUXTADSSFILE,XUXTADSSIEN))) D G ISSADN
. S XUXTADRTNVAL="0^Service/Section IEN "_XUXTADSSIEN_" is not valid"
S XUXTADRTNVAL=$O(^VA(XUXTADNPFILE,"E",XUXTADSSIEN,0))
I XUXTADRTNVAL="" S XUXTADRTNVAL=0
E S XUXTADRTNVAL=1
ISSADN ;
Q XUXTADRTNVAL
;
;
; Is Service/Section with IEN: AXUXTADSSIEN Assigned?
;
; AXUXTADSSIEN - A Service/Section IEN
;
; Returns
; 0^Error message when an error occurs
; 0 Not Assigned
; 1 Assigned
;
; Uses Database Server (DBS) API
; LIST^DIC(file[,iens][,fields][,flags][,number][,[.]from][,[.]part][,index][,[.]screen][,identifier][,target_root][,msg_root])
;
; S XUXTADSSIEN=1043
; W $$ISSAFM^XUXTADAPI(XUXTADSSIEN)
ISSAFM(AXUXTADSSIEN) ;
NEW XUXTADSSIEN,XUXTADSSIA,XUXTADRTNVAL
NEW FILE,FIELD,FLAGS,MAX,FROM,PART,INDEX,TROOT
I '$D(VERBOSE) NEW VERBOSE S VERBOSE=0
;I VERBOSE W !,"ISSAFM^XUXTADAPI(",$G(AXUXTADSSIEN),") Called"
;I VERBOSE W !,"Is Service/Section Assigned"
S XUXTADSSIA="ISSAFMSSI",TROOT="ISSAFMFMD"
K @XUXTADSSIA
S XUXTADSSIEN=+$G(AXUXTADSSIEN),@XUXTADSSIA=0
; Get All Service/Section IEN's
D GASSIFM(XUXTADSSIA)
; Verify that the SS IEN passed in is valid and exists
I (XUXTADSSIEN'>0)!('$D(@XUXTADSSIA@(XUXTADSSIEN))) D G ISSAFMDN
. S XUXTADRTNVAL="0^Service/Section IEN "_XUXTADSSIEN_" is not valid"
; See if there is a User assigned from File 200 using the Service/Section index "E"
S FILE=200,FIELD="@",FLAGS="I",MAX=1,FROM=XUXTADSSIEN-1,PART=XUXTADSSIEN,INDEX="E"
K @TROOT
D LIST(FILE,,FIELD,FLAGS,MAX,FROM,PART,INDEX,,,TROOT)
S XUXTADRTNVAL=0
I $D(@TROOT@("DILIST",0)) D
. ;I VERBOSE W ! ZW @TROOT
. S XUXTADRTNVAL=$P(@TROOT@("DILIST",0),U,1)=1
ISSAFMDN ;
;I VERBOSE W !,"ISSAFM^XUXTADAPI Exiting, Response: ",XUXTADRTNVAL
K @XUXTADSSIA,@TROOT
Q XUXTADRTNVAL
;
;
; Show Is Service/Section with IEN: AXUXTADSSIEN Assigned
;
; S AXUXTADSSIEN=1048
; D SHOWVISSA^XUXTADAPI(AXUXTADSSIEN)
SHOWVISSA(AXUXTADSSIEN) ;
N XUXTADRTNVAL,XUXTADHEADER
S XUXTADRTNVAL=$$ISSAFM(AXUXTADSSIEN)
S XUXTADHEADER="Is Service/Section Assigned:"
D SHOWV(XUXTADHEADER,$S(XUXTADRTNVAL=0:"No",1:"Yes"))
Q
;
;
; Show AXUXTADHEADER followed by AXUXTADVALUE
;
; D SHOWV^XUXTADAPI(AXUXTADHEADER,AXUXTADVALUE)
SHOWV(AXUXTADHEADER,AXUXTADVALUE) ;
N XUXTADHEADER,XUXTADVALUE
S XUXTADHEADER="Value: ",XUXTADVALUE="Undefined"
S:$L($G(AXUXTADHEADER)) XUXTADHEADER=AXUXTADHEADER
S:$L($G(AXUXTADVALUE)) XUXTADVALUE=AXUXTADVALUE
W !!,XUXTADHEADER," ",XUXTADVALUE,!!
Q
;
;
; Show AXUXTADHEADER followed by ANXUXTADARRAY
;
; D SHOWA^XUXTADAPI(AXUXTADHEADER,ANXUXTADARRAY)
SHOWA(AXUXTADHEADER,ANXUXTADARRAY) ;
N XUXTADHEADER,XUXTADARRAY
S XUXTADHEADER="Array: ",XUXTADARRAY="Undefined"
S:$L($G(AXUXTADHEADER)) XUXTADHEADER=AXUXTADHEADER
S:$L($G(ANXUXTADARRAY)) XUXTADARRAY=ANXUXTADARRAY
W !!,XUXTADHEADER
I $D(@XUXTADARRAY)>1 W !! ZW @XUXTADARRAY
E W !!,@XUXTADARRAY,!!
Q
;
;
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HXUXTADAPI 15235 printed Sep 23, 2025@19:50:30 Page 2
XUXTADAPI ;SLC/JLA - Service/Section Edit API's ; NOV 20, 2024@12:30
+1 ;;8.0;KERNEL;**807**;Nov 20, 2024;Build 56;
+2 ;
+3 ;
+4 ; External API'S
+5 ;
+6 ; FileMan/ScreenMan API's
GETS(AFILE,AIENS,AFIELD,AFLAGS,ATROOT,AMROOT) DO GETS^DIQ($GET(AFILE),$GET(AIENS),$GET(AFIELD),$GET(AFLAGS),$GET(ATROOT),$GET(AMROOT))
QUIT
LIST(AFILE,AIENS,AFIELD,AFLAGS,AMAX,AFROM,APART,AINDEX,ASCREEN,AIDENTIFIER,ATROOT,AMROOT) DO LIST^DIC($GET(AFILE),$GET(AIENS),$GET(AFIELD),$GET(AFLAGS),$GET(AMAX),$GET(AFROM),$GET(APART),$GET(AINDEX),$GET(ASCREEN),$GET(AIDENTIFIER),$GET(ATROOT),$GET(AMRO
OT))
QUIT
+1 ;
+2 ;
+3 ; API's available to show data:
+4 ; D SHOWASSI^XUXTADAPI() - Show All Service/Sections IEN's
+5 ; D SHOWASSIN^XUXTADAPI() - Show All Service/Sections IEN's=Name
+6 ; D SHOWVSSCDCR^XUXTADAPI(AXUXTADSSIEN)
+7 ; Show Service/Section with IEN: AXUXTADSSIEN (current/most recent) Date Closed record
+8 ; D SHOWVSSOCS^XUXTADAPI(AXUXTADSSIEN)
+9 ; Show Service/Section with IEN: AXUXTADSSIEN current Open/Closed status
+10 ; D SHOWVISSA^XUXTADAPI(AXUXTADSSIEN)
+11 ; Show Is Service/Section with IEN: AXUXTADSSIEN Assigned
+12 ;
+13 ;
+14 ; Get All Service/Section's IEN's records Array
+15 ;
+16 ; AXUXTADSSIA - An array to hold all Service/Section IEN records
+17 ;
+18 ; Returns AXUXTADSSIA populated with the IEN for each Service/Section
+19 ;
+20 ;
+21 ; ***** DIRECT ACCESS OF GLOBAL ^DIC(49 *****
+22 ;
+23 ; S XUXTADSSA="SSI"
+24 ; W $$GASSI^XUXTADAPI(XUXTADSSA)
GASSI(AXUXTADSSIA) ;
+1 NEW XUXTADSSIA,XUXTADSSIEN,XUXTADRTNVAL,XUXTADSSFILE
+2 SET XUXTADSSIA=$GET(AXUXTADSSIA)
+3 IF $LENGTH(XUXTADSSIA)'>0
Begin DoDot:1
+4 SET XUXTADRTNVAL="0^Results array parameter AXUXTADSSIA is not valid"
End DoDot:1
GOTO GASSIDN
+5 KILL @XUXTADSSIA
+6 ; SERVICE/SECTION file #
SET XUXTADSSFILE=49
+7 SET (@XUXTADSSIA,XUXTADSSIEN)=0
+8 FOR
SET XUXTADSSIEN=$ORDER(^DIC(XUXTADSSFILE,XUXTADSSIEN))
if 'XUXTADSSIEN
QUIT
Begin DoDot:1
+9 SET @XUXTADSSIA=@XUXTADSSIA+1
+10 SET @XUXTADSSIA@(XUXTADSSIEN)=""
End DoDot:1
+11 SET XUXTADRTNVAL=@XUXTADSSIA
GASSIDN ;
+1 QUIT XUXTADRTNVAL
+2 ;
+3 ;
+4 ; Get All Service/Section's IEN's records Array
+5 ;
+6 ; AXUXTADSSIA - An array to hold all Service/Section IEN records
+7 ;
+8 ; Returns AXUXTADSSIA populated with the IEN for each Service/Section
+9 ;
+10 ;
+11 ; Uses Database Server API
+12 ; LIST^DIC(file[,iens][,fields][,flags][,number][,[.]from][,[.]part][,index][,[.]screen][,identifier][,target_root][,msg_root])
+13 ;
+14 ; S XUXTADSSA="SSI"
+15 ; W $$GASSIFM^XUXTADAPI(XUXTADSSA)
GASSIFM(AXUXTADSSIA) ;
+1 NEW XUXTADSSIA,XUXTADNODE,XUXTADRTNVAL
+2 NEW FILE,FIELDS,TROOT
+3 IF '$DATA(VERBOSE)
NEW VERBOSE
SET VERBOSE=0
+4 ;I VERBOSE W !,"GASSIFM^XUXTADAPI(",$G(AXUXTADSSIA),") Called"
+5 ;I VERBOSE W !,"Get All Service/Section's IEN's"
+6 SET FILE=49
SET FIELDS="@"
SET TROOT="GASSIFMFDA"
SET XUXTADNODE=0
+7 SET XUXTADSSIA=$GET(AXUXTADSSIA)
+8 IF $LENGTH(XUXTADSSIA)'>0
Begin DoDot:1
+9 SET XUXTADRTNVAL="0^Results array parameter AXUXTADSSIA is not valid"
End DoDot:1
GOTO GASSIFMDN
+10 DO LIST(FILE,,FIELDS,,,,,,,,TROOT)
+11 KILL @XUXTADSSIA
+12 SET @XUXTADSSIA=0
+13 FOR
SET XUXTADNODE=$ORDER(@TROOT@("DILIST",2,XUXTADNODE))
if 'XUXTADNODE
QUIT
Begin DoDot:1
+14 SET @XUXTADSSIA=@XUXTADSSIA+1
+15 SET @XUXTADSSIA@(@TROOT@("DILIST",2,XUXTADNODE))=""
End DoDot:1
+16 SET XUXTADRTNVAL=@XUXTADSSIA
GASSIFMDN ;
+1 ;I VERBOSE W !,"GASSIFM^XUXTADAPI Exiting, Response: ",XUXTADRTNVAL,! ZW @XUXTADSSIA
+2 KILL @TROOT
+3 QUIT XUXTADRTNVAL
+4 ;
+5 ;
+6 ; Show All Service/Sections IEN's
+7 ;
+8 ; D SHOWASSI^XUXTADAPI
SHOWASSI() ;
+1 NEW XUXTADAIA,XUXTADRTNVAL,XUXTADHEADER
+2 SET XUXTADAIA="SHOWASSI"
+3 SET XUXTADRTNVAL=$$GASSIFM(XUXTADAIA)
+4 SET XUXTADHEADER="All Service/Section IEN's:"
+5 DO SHOWA(XUXTADHEADER,XUXTADAIA)
+6 KILL @XUXTADAIA
+7 QUIT
+8 ;
+9 ;
+10 ; Get All Service/Section's IEN=Name records Array
+11 ;
+12 ; AXUXTADSSIA - An array to hold all Service/Section IEN records
+13 ;
+14 ; Returns AXUXTADSSIA populated with the IEN and NAME for each Service/Section record
+15 ;
+16 ;
+17 ; ***** DIRECT ACCESS OF GLOBAL ^DIC(49 *****
+18 ;
+19 ; S XUXTADSSA="SSI"
+20 ; W $$GASSIN^XUXTADAPI(XUXTADSSA)
GASSIN(AXUXTADSSIA) ;
+1 NEW XUXTADSSIA,XUXTADSSIEN,XUXTADRTNVAL,XUXTADSSFILE
+2 SET XUXTADSSIA=$GET(AXUXTADSSIA)
+3 IF $LENGTH(XUXTADSSIA)'>0
Begin DoDot:1
+4 SET XUXTADRTNVAL="0^Results array parameter AXUXTADSSIA is not valid"
End DoDot:1
GOTO GASSINDN
+5 KILL @XUXTADSSIA
+6 ; File number of SERVICE/SECTION file
SET XUXTADSSFILE=49
+7 SET (@XUXTADSSIA,XUXTADSSIEN)=0
+8 FOR
SET XUXTADSSIEN=$ORDER(^DIC(XUXTADSSFILE,XUXTADSSIEN))
if 'XUXTADSSIEN
QUIT
Begin DoDot:1
+9 SET @XUXTADSSIA=@XUXTADSSIA+1
+10 SET @XUXTADSSIA@(XUXTADSSIEN)=$PIECE(^DIC(XUXTADSSFILE,XUXTADSSIEN,0),U)
End DoDot:1
+11 SET XUXTADRTNVAL=@XUXTADSSIA
GASSINDN ;
+1 QUIT XUXTADRTNVAL
+2 ;
+3 ;
+4 ; Get All Service/Section's IEN=Name records Array
+5 ;
+6 ; AXUXTADSSIA - An array to hold all Service/Section IEN/Name records
+7 ;
+8 ; Returns AXUXTADSSIA populated with the IEN and Name record for each Service/Section record
+9 ;
+10 ;
+11 ; Uses Database Server API
+12 ; LIST^DIC(file[,iens][,fields][,flags][,number][,[.]from][,[.]part][,index][,[.]screen][,identifier][,target_root][,msg_root])
+13 ;
+14 ; S XUXTADSSA="SSI"
+15 ; W $$GASSINFM^XUXTADAPI(XUXTADSSA)
GASSINFM(AXUXTADSSIA) ;
+1 NEW XUXTADSSIA,XUXTADNODE,XUXTADRTNVAL
+2 NEW FILE,FIELDS,TROOT
+3 IF '$DATA(VERBOSE)
NEW VERBOSE
SET VERBOSE=0
+4 ;I VERBOSE W !,"GASSINFM^XUXTADAPI(",$G(AXUXTADSSIA),") Called"
+5 ;I VERBOSE W !,"Get All Service/Section's IEN's=Name"
+6 SET FILE=49
SET FIELDS=".01"
SET TROOT="GASSINFMFDA"
SET XUXTADNODE=0
+7 SET XUXTADSSIA=$GET(AXUXTADSSIA)
+8 IF $LENGTH(XUXTADSSIA)'>0
Begin DoDot:1
+9 SET XUXTADRTNVAL="0^Results array parameter AXUXTADSSIA is not valid"
End DoDot:1
GOTO GASSINFMDN
+10 DO LIST(FILE,,FIELDS,,,,,,,,TROOT)
+11 KILL @XUXTADSSIA
+12 SET @XUXTADSSIA=0
+13 FOR
SET XUXTADNODE=$ORDER(@TROOT@("DILIST",2,XUXTADNODE))
if 'XUXTADNODE
QUIT
Begin DoDot:1
+14 SET @XUXTADSSIA=@XUXTADSSIA+1
+15 SET @XUXTADSSIA@(@TROOT@("DILIST",2,XUXTADNODE))=@TROOT@("DILIST",1,XUXTADNODE)
End DoDot:1
+16 SET XUXTADRTNVAL=@XUXTADSSIA
GASSINFMDN ;
+1 ;I VERBOSE W !,"GASSINFM^XUXTADAPI Exiting, Response: ",XUXTADRTNVAL,! ZW @XUXTADSSIA
+2 KILL @TROOT
+3 QUIT XUXTADRTNVAL
+4 ;
+5 ;
+6 ; Show All Service/Section's IEN=Name records
+7 ;
+8 ; D SHOWASSIN^XUXTADAPI
SHOWASSIN() ;
+1 NEW XUXTADSSINA,XUXTADRTNVAL,XUXTADHEADER
+2 SET XUXTADSSINA="SHOWASSIN"
+3 SET XUXTADRTNVAL=$$GASSINFM(XUXTADSSINA)
+4 SET XUXTADHEADER="All Service/Section's IEN=Name records:"
+5 DO SHOWA(XUXTADHEADER,XUXTADSSINA)
+6 KILL @XUXTADSSINA
+7 QUIT
+8 ;
+9 ;
+10 ; Get Service/Section's (current/most recent) Date Closed record
+11 ;
+12 ; AXUXTADSSIEN - A Service/Section IEN
+13 ;
+14 ; Returns Service/Section's current/most recent Date Closed record
+15 ; or nothing if no record exists yet
+16 ;
+17 ;
+18 ; ***** DIRECT ACCESS OF GLOBAL ^DIC(49 *****
+19 ;
+20 ; S XUXTADSSIEN=3
+21 ; W $$GSSCDCR^XUXTADAPI(XUXTADSSIEN)
GSSCDCR(AXUXTADSSIEN) ;
+1 NEW XUXTADCDCR,XUXTADSSIEN,XUXTADNODE,XUXTADSSFILE,XUXTADDCNODE
+2 SET XUXTADCDCR=""
SET XUXTADNODE=""
+3 SET XUXTADSSIEN=+$GET(AXUXTADSSIEN)
+4 ; File number of SERVICE/SECTION file
SET XUXTADSSFILE=49
+5 ; Date Closed node
SET XUXTADDCNODE=3
+6 IF (XUXTADSSIEN'>0)!('$DATA(^DIC(XUXTADSSFILE,XUXTADSSIEN)))
Begin DoDot:1
+7 SET XUXTADCDCR="0^Service/Section IEN "_XUXTADSSIEN_" is not valid"
End DoDot:1
GOTO GSSCDCRDN
+8 ; Read the last Date Closed Record (-1 reverse order)
+9 SET XUXTADNODE=$ORDER(^DIC(XUXTADSSFILE,XUXTADSSIEN,XUXTADDCNODE,XUXTADNODE),-1)
+10 IF XUXTADNODE>0
SET XUXTADCDCR=^(XUXTADNODE,0)
GSSCDCRDN ;
+1 QUIT XUXTADCDCR
+2 ;
+3 ;
+4 ; Get Service/Section's (current/most recent) Date Closed record
+5 ;
+6 ; AXUXTADSSIEN - A Service/Section IEN
+7 ;
+8 ; Returns Service/Section's current/most recent Date Closed record
+9 ; or nothing if no record exists yet
+10 ;
+11 ;
+12 ; Uses Database Server API
+13 ; GETS^DIQ(file,iens,field[,flags],target_root[,msg_root])
+14 ;
+15 ; S XUXTADSSIEN=3
+16 ; W $$GSSCDCRFM^XUXTADAPI(XUXTADSSIEN)
GSSCDCRFM(AXUXTADSSIEN) ;
+1 NEW XUXTADSSIEN,XUXTADSSIA,XUXTADCDCR,XUXTADNODE,XUXTADDCFLD,XUXTADDRFLD
+2 NEW FILE,IENS,FIELD,FLAGS,TROOT,SUBFILE
+3 IF '$DATA(VERBOSE)
NEW VERBOSE
SET VERBOSE=0
+4 ;I VERBOSE W !,"GSSCDCRFM^XUXTADAPI(",$G(AXUXTADSSIEN),") Called"
+5 ;I VERBOSE W !,"Get Service/Section's (current/most recent) Date Closed record"
+6 SET XUXTADSSIEN=+$GET(AXUXTADSSIEN)
SET XUXTADSSIA="GSSCDCRFMSSI"
+7 SET FILE=49
SET IENS=""_XUXTADSSIEN_","
SET FIELD="13*"
SET FLAGS="I"
SET TROOT="FMD"
+8 SET SUBFILE=49.07
SET XUXTADCDCR=""
SET XUXTADNODE=""
SET XUXTADDCFLD=.01
SET XUXTADDRFLD=1
+9 ; Get All Service/Section IEN's
+10 DO GASSIFM(XUXTADSSIA)
+11 ; Verify that the SS IEN passed in is valid and exists
+12 IF (XUXTADSSIEN'>0)!('$DATA(@XUXTADSSIA@(XUXTADSSIEN)))
Begin DoDot:1
+13 SET XUXTADCDCR="0^Service/Section IEN "_XUXTADSSIEN_" is not valid"
End DoDot:1
GOTO GSSCDCRFMDN
+14 DO GETS(FILE,IENS,FIELD,FLAGS,TROOT)
+15 ;I VERBOSE W ! ZW @TROOT
+16 ; Read the last Date Closed Record (-1 reverse order)
+17 SET XUXTADNODE=$ORDER(@TROOT@(SUBFILE,XUXTADNODE),-1)
+18 ;I VERBOSE W !,"XUXTADSSIEN: ",XUXTADSSIEN,", XUXTADNODE: ",XUXTADNODE,!
+19 IF XUXTADNODE>0
SET XUXTADCDCR=@TROOT@(SUBFILE,XUXTADNODE,XUXTADDCFLD,FLAGS)_U_@TROOT@(SUBFILE,XUXTADNODE,XUXTADDRFLD,FLAGS)
GSSCDCRFMDN ;
+1 ;I VERBOSE W !,"GSSCDCRFM^XUXTADAPI Exiting, Response: ",XUXTADCDCR
+2 KILL @XUXTADSSIA,@TROOT
+3 QUIT XUXTADCDCR
+4 ;
+5 ;
+6 ; Show Service/Section's (current/most recent) Date Closed record
+7 ;
+8 ; S AXUXTADSSIEN=1048
+9 ; D SHOWVSSCDCR^XUXTADAPI(AXUXTADSSIEN)
SHOWVSSCDCR(AXUXTADSSIEN) ;
+1 NEW XUXTADRTNVAL,XUXTADHEADER
+2 SET XUXTADRTNVAL=$$GSSCDCRFM(AXUXTADSSIEN)
+3 SET XUXTADHEADER="Service/Section's (current/most recent) Date Closed record:"
+4 DO SHOWV(XUXTADHEADER,XUXTADRTNVAL)
+5 QUIT
+6 ;
+7 ;
+8 ; Get Service/Section's current Open/Closed status
+9 ;
+10 ; AXUXTADSSIEN - A Service/Section IEN
+11 ;
+12 ; Returns
+13 ; 0^Error message when an error occurs
+14 ; 1^Success message
+15 ; 1^Open
+16 ; 1^Closed
+17 ;
+18 ;
+19 ; ***** DIRECT ACCESS OF GLOBAL ^DIC(49 *****
+20 ;
+21 ; S XUXTADSSIEN=3
+22 ; W $$GSSOCS^XUXTADAPI(XUXTADSSIEN)
GSSOCS(AXUXTADSSIEN) ;
+1 NEW XUXTADSSIEN,XUXTADSSOCS,XUXTADCDCR,XUXTADCDR,XUXTADSSFILE
+2 SET XUXTADSSIEN=+$GET(AXUXTADSSIEN)
SET XUXTADSSOCS="1^Open"
+3 ; File number of SERVICE/SECTION file
SET XUXTADSSFILE=49
+4 IF (XUXTADSSIEN'>0)!('$DATA(^DIC(XUXTADSSFILE,XUXTADSSIEN)))
Begin DoDot:1
+5 SET XUXTADSSOCS="0^Service/Section IEN "_XUXTADSSIEN_" is not valid"
End DoDot:1
GOTO GSSOCSDN
+6 SET XUXTADCDCR=$$GSSCDCR(XUXTADSSIEN)
+7 IF $LENGTH(XUXTADCDCR)>0
Begin DoDot:1
+8 SET XUXTADCDR=$PIECE(XUXTADCDCR,"^",2)
+9 ; If there is no Re-opened date then the Service/Section is Closed
+10 IF $LENGTH(XUXTADCDR)=0
SET XUXTADSSOCS="1^Closed"
End DoDot:1
GOTO GSSOCSDN
GSSOCSDN ;
+1 QUIT XUXTADSSOCS
+2 ;
+3 ;
+4 ; Get Service/Section's current Open/Closed status
+5 ;
+6 ; AXUXTADSSIEN - A Service/Section IEN
+7 ;
+8 ; Returns
+9 ; 0^Error message when an error occurs
+10 ; 1^Success message
+11 ; 1^Open
+12 ; 1^Closed
+13 ;
+14 ; S XUXTADSSIEN=3
+15 ; W $$GSSOCSFM^XUXTADAPI(XUXTADSSIEN)
GSSOCSFM(AXUXTADSSIEN) ;
+1 NEW XUXTADSSIEN,XUXTADSSIA,XUXTADSSOCS,XUXTADCDCR,XUXTADCDR
+2 IF '$DATA(VERBOSE)
NEW VERBOSE
SET VERBOSE=0
+3 ;I VERBOSE W !,"GSSOCSFM^XUXTADAPI(",$G(AXUXTADSSIEN),") Called"
+4 ;I VERBOSE W !,"Get Service/Section's current Open/Closed status"
+5 SET XUXTADSSIEN=+$GET(AXUXTADSSIEN)
SET XUXTADSSIA="GSSOCSFMSSI"
SET XUXTADSSOCS="1^Open"
+6 ; Get All Service/Section IEN's
+7 DO GASSIFM(XUXTADSSIA)
+8 ; Verify that the SS IEN passed in is valid and exists
+9 IF (XUXTADSSIEN'>0)!('$DATA(@XUXTADSSIA@(XUXTADSSIEN)))
Begin DoDot:1
+10 SET XUXTADSSOCS="0^Service/Section IEN "_XUXTADSSIEN_" is not valid"
End DoDot:1
GOTO GSSOCSFMDN
+11 SET XUXTADCDCR=$$GSSCDCRFM(XUXTADSSIEN)
+12 IF $LENGTH(XUXTADCDCR)>0
Begin DoDot:1
+13 SET XUXTADCDR=$PIECE(XUXTADCDCR,"^",2)
+14 ; If there is no Re-opened date then the Service/Section is Closed
+15 IF $LENGTH(XUXTADCDR)=0
SET XUXTADSSOCS="1^Closed"
End DoDot:1
GOTO GSSOCSFMDN
GSSOCSFMDN ;
+1 ;I VERBOSE W !,"GSSOCSFM^XUXTADAPI Exiting, Response: ",XUXTADSSOCS
+2 KILL @XUXTADSSIA
+3 QUIT XUXTADSSOCS
+4 ;
+5 ;
+6 ; Show Service/Section's current Open/Closed status
+7 ;
+8 ; S AXUXTADSSIEN=1048
+9 ; D SHOWVSSOCS^XUXTADAPI(AXUXTADSSIEN)
SHOWVSSOCS(AXUXTADSSIEN) ;
+1 NEW XUXTADRTNVAL,XUXTADHEADER
+2 SET XUXTADRTNVAL=$$GSSOCSFM(AXUXTADSSIEN)
+3 SET XUXTADHEADER="Service/Section's current Open/Closed status:"
+4 DO SHOWV(XUXTADHEADER,$PIECE(XUXTADRTNVAL,"^",2))
+5 QUIT
+6 ;
+7 ;
+8 ; Is Service/Section with IEN: AXUXTADSSIEN Assigned?
+9 ;
+10 ; AXUXTADSSIEN - A Service/Section IEN
+11 ;
+12 ; Returns
+13 ; 0^Error message when an error occurs
+14 ; 0
+15 ; 1
+16 ;
+17 ;
+18 ; ***** DIRECT ACCESS OF GLOBALS ^DIC(49 AND ^VA(200 *****
+19 ;
+20 ; S XUXTADSSIEN=1043
+21 ; W $$ISSA^XUXTADAPI(XUXTADSSIEN)
ISSA(AXUXTADSSIEN) ;
+1 NEW XUXTADSSIEN,XUXTADRTNVAL,XUXTADSSFILE,XUXTADNPFILE
+2 SET XUXTADSSIEN=+$GET(AXUXTADSSIEN)
+3 ; File number of SERVICE/SECTION file
SET XUXTADSSFILE=49
+4 ; File number of NEW PERSON file
SET XUXTADNPFILE=200
+5 ; Make sure the Service/Section IEN passed in is > 0 and exists in the Service/Section File 49
+6 IF (XUXTADSSIEN'>0)!('$DATA(^DIC(XUXTADSSFILE,XUXTADSSIEN)))
Begin DoDot:1
+7 SET XUXTADRTNVAL="0^Service/Section IEN "_XUXTADSSIEN_" is not valid"
End DoDot:1
GOTO ISSADN
+8 SET XUXTADRTNVAL=$ORDER(^VA(XUXTADNPFILE,"E",XUXTADSSIEN,0))
+9 IF XUXTADRTNVAL=""
SET XUXTADRTNVAL=0
+10 IF '$TEST
SET XUXTADRTNVAL=1
ISSADN ;
+1 QUIT XUXTADRTNVAL
+2 ;
+3 ;
+4 ; Is Service/Section with IEN: AXUXTADSSIEN Assigned?
+5 ;
+6 ; AXUXTADSSIEN - A Service/Section IEN
+7 ;
+8 ; Returns
+9 ; 0^Error message when an error occurs
+10 ; 0 Not Assigned
+11 ; 1 Assigned
+12 ;
+13 ; Uses Database Server (DBS) API
+14 ; LIST^DIC(file[,iens][,fields][,flags][,number][,[.]from][,[.]part][,index][,[.]screen][,identifier][,target_root][,msg_root])
+15 ;
+16 ; S XUXTADSSIEN=1043
+17 ; W $$ISSAFM^XUXTADAPI(XUXTADSSIEN)
ISSAFM(AXUXTADSSIEN) ;
+1 NEW XUXTADSSIEN,XUXTADSSIA,XUXTADRTNVAL
+2 NEW FILE,FIELD,FLAGS,MAX,FROM,PART,INDEX,TROOT
+3 IF '$DATA(VERBOSE)
NEW VERBOSE
SET VERBOSE=0
+4 ;I VERBOSE W !,"ISSAFM^XUXTADAPI(",$G(AXUXTADSSIEN),") Called"
+5 ;I VERBOSE W !,"Is Service/Section Assigned"
+6 SET XUXTADSSIA="ISSAFMSSI"
SET TROOT="ISSAFMFMD"
+7 KILL @XUXTADSSIA
+8 SET XUXTADSSIEN=+$GET(AXUXTADSSIEN)
SET @XUXTADSSIA=0
+9 ; Get All Service/Section IEN's
+10 DO GASSIFM(XUXTADSSIA)
+11 ; Verify that the SS IEN passed in is valid and exists
+12 IF (XUXTADSSIEN'>0)!('$DATA(@XUXTADSSIA@(XUXTADSSIEN)))
Begin DoDot:1
+13 SET XUXTADRTNVAL="0^Service/Section IEN "_XUXTADSSIEN_" is not valid"
End DoDot:1
GOTO ISSAFMDN
+14 ; See if there is a User assigned from File 200 using the Service/Section index "E"
+15 SET FILE=200
SET FIELD="@"
SET FLAGS="I"
SET MAX=1
SET FROM=XUXTADSSIEN-1
SET PART=XUXTADSSIEN
SET INDEX="E"
+16 KILL @TROOT
+17 DO LIST(FILE,,FIELD,FLAGS,MAX,FROM,PART,INDEX,,,TROOT)
+18 SET XUXTADRTNVAL=0
+19 IF $DATA(@TROOT@("DILIST",0))
Begin DoDot:1
+20 ;I VERBOSE W ! ZW @TROOT
+21 SET XUXTADRTNVAL=$PIECE(@TROOT@("DILIST",0),U,1)=1
End DoDot:1
ISSAFMDN ;
+1 ;I VERBOSE W !,"ISSAFM^XUXTADAPI Exiting, Response: ",XUXTADRTNVAL
+2 KILL @XUXTADSSIA,@TROOT
+3 QUIT XUXTADRTNVAL
+4 ;
+5 ;
+6 ; Show Is Service/Section with IEN: AXUXTADSSIEN Assigned
+7 ;
+8 ; S AXUXTADSSIEN=1048
+9 ; D SHOWVISSA^XUXTADAPI(AXUXTADSSIEN)
SHOWVISSA(AXUXTADSSIEN) ;
+1 NEW XUXTADRTNVAL,XUXTADHEADER
+2 SET XUXTADRTNVAL=$$ISSAFM(AXUXTADSSIEN)
+3 SET XUXTADHEADER="Is Service/Section Assigned:"
+4 DO SHOWV(XUXTADHEADER,$SELECT(XUXTADRTNVAL=0:"No",1:"Yes"))
+5 QUIT
+6 ;
+7 ;
+8 ; Show AXUXTADHEADER followed by AXUXTADVALUE
+9 ;
+10 ; D SHOWV^XUXTADAPI(AXUXTADHEADER,AXUXTADVALUE)
SHOWV(AXUXTADHEADER,AXUXTADVALUE) ;
+1 NEW XUXTADHEADER,XUXTADVALUE
+2 SET XUXTADHEADER="Value: "
SET XUXTADVALUE="Undefined"
+3 if $LENGTH($GET(AXUXTADHEADER))
SET XUXTADHEADER=AXUXTADHEADER
+4 if $LENGTH($GET(AXUXTADVALUE))
SET XUXTADVALUE=AXUXTADVALUE
+5 WRITE !!,XUXTADHEADER," ",XUXTADVALUE,!!
+6 QUIT
+7 ;
+8 ;
+9 ; Show AXUXTADHEADER followed by ANXUXTADARRAY
+10 ;
+11 ; D SHOWA^XUXTADAPI(AXUXTADHEADER,ANXUXTADARRAY)
SHOWA(AXUXTADHEADER,ANXUXTADARRAY) ;
+1 NEW XUXTADHEADER,XUXTADARRAY
+2 SET XUXTADHEADER="Array: "
SET XUXTADARRAY="Undefined"
+3 if $LENGTH($GET(AXUXTADHEADER))
SET XUXTADHEADER=AXUXTADHEADER
+4 if $LENGTH($GET(ANXUXTADARRAY))
SET XUXTADARRAY=ANXUXTADARRAY
+5 WRITE !!,XUXTADHEADER
+6 IF $DATA(@XUXTADARRAY)>1
WRITE !!