SDESPATFLAGS ;ALB/BWF,DJS - PATIENT FLAGS RPC ;DEC 8, 2022
;;5.3;Scheduling;**818,831**;DEC 1997;Build 4
;;Per VHA Directive 6402, this routine should not be modified
;
Q
; Reference to PATIENT in ICR #7029
; Reference to DGPFAPIU in ICR #4903
; Reference to PRF NATIONAL FLAG in ICR #7021
;
;
; RPC: SDES GET PATIENT FLAGS
; INPUT:
; DFN - Patient IEN (required)
; SDEAS - EAS Tracking number (optional)
;
GETFLAGS(RES,DFN,SDEAS) ;
N PRFDATA,DFNERROR,DFNERRORS,FN,RESNUM,PRFCNT,FIEN,FPTR,PRFARRY,NARR,FDATA
S DFNERROR=$$VALIDATEDFN^SDESPATRPC(.DFNERRORS,DFN)
I DFNERROR S DFNERRORS("Flag",1)="" D BUILDJSON(.RES,.DFNERRORS) Q
;
S FN=26.13
S PRFARRY("FugitiveFelonFlag")=$S($$GET1^DIQ(2,DFN,1100.01,"I"):"YES",1:"NO")
I '$D(^DGPF(FN,"C",DFN)) S PRFARRY("Flag",1)="" D BUILDJSON(.RES,.PRFARRY) Q
;
S PRFCNT=0
D LIST^DIC(26.15,,,"E",,,,,,,"FDATA","ERR"),BUILD(.PRFARRY,.FDATA,26.15,.PRFCNT) K FDATA
D LIST^DIC(26.11,,,"E",,,,,,,"FDATA","ERR"),BUILD(.PRFARRY,.FDATA,26.11,.PRFCNT) K FDATA
I '$D(PRFARRY("Flag")) S PRFARRY("Flag",1)=""
D BUILDJSON(.RES,.PRFARRY)
Q
;
BUILD(PRFARRY,FDATA,FN,PRFCNT) ;
N RESNUM,FIEN,FPTR
S RESNUM=0
F S RESNUM=$O(FDATA("DILIST",2,RESNUM)) Q:'RESNUM D
.S FIEN=$G(FDATA("DILIST",2,RESNUM))
.S FPTR=FIEN_";"_$P($$ROOT^DILFD(FN),U,2)
.K PRFDATA
.D GETINF^DGPFAPIH(DFN,FPTR,,,"PRFDATA") Q:'$D(PRFDATA)
.S PRFCNT=PRFCNT+1
.S PRFARRY("Flag",PRFCNT,"Name")=$P($G(PRFDATA("FLAG")),U,2)
.S PRFARRY("Flag",PRFCNT,"Type")=$P($G(PRFDATA("FLAGTYPE")),U,2)
.S PRFARRY("Flag",PRFCNT,"Category")=$P($G(PRFDATA("CATEGORY")),U)
.S PRFARRY("Flag",PRFCNT,"AssignedDate")=$$FMTISO^SDAMUTDT($P($G(PRFDATA("ASSIGNDT")),U,1))
.S PRFARRY("Flag",PRFCNT,"OwnerSiteID")=$P($G(PRFDATA("OWNER")),U)
.S PRFARRY("Flag",PRFCNT,"OwnerSiteName")=$P($G(PRFDATA("OWNER")),U,2)
.S PRFARRY("Flag",PRFCNT,"OriginatingSiteID")=$P($G(PRFDATA("ORIGSITE")),U)
.S PRFARRY("Flag",PRFCNT,"OriginatingSiteName")=$P($G(PRFDATA("ORIGSITE")),U,2)
.S PRFARRY("Flag",PRFCNT,"ReviewDate")=$$FMTISO^SDAMUTDT($P($G(PRFDATA("REVIEWDT")),U))
.S NARR=0 F S NARR=$O(PRFDATA("NARR",NARR)) Q:'NARR D
..S PRFARRY("Flag",PRFCNT,"Narrative",NARR)=$G(PRFDATA("NARR",NARR,0))
Q
BUILDJSON(APPTLISTJSON,APPTLISTARRAY) ;Convert data to JSON
N JSONERR
S JSONERR=""
D ENCODE^SDESJSON(.APPTLISTARRAY,.APPTLISTJSON,.JSONERR)
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HSDESPATFLAGS 2405 printed May 14, 2023@15:10:32 Page 2
SDESPATFLAGS ;ALB/BWF,DJS - PATIENT FLAGS RPC ;DEC 8, 2022
+1 ;;5.3;Scheduling;**818,831**;DEC 1997;Build 4
+2 ;;Per VHA Directive 6402, this routine should not be modified
+3 ;
+4 QUIT
+5 ; Reference to PATIENT in ICR #7029
+6 ; Reference to DGPFAPIU in ICR #4903
+7 ; Reference to PRF NATIONAL FLAG in ICR #7021
+8 ;
+9 ;
+10 ; RPC: SDES GET PATIENT FLAGS
+11 ; INPUT:
+12 ; DFN - Patient IEN (required)
+13 ; SDEAS - EAS Tracking number (optional)
+14 ;
GETFLAGS(RES,DFN,SDEAS) ;
+1 NEW PRFDATA,DFNERROR,DFNERRORS,FN,RESNUM,PRFCNT,FIEN,FPTR,PRFARRY,NARR,FDATA
+2 SET DFNERROR=$$VALIDATEDFN^SDESPATRPC(.DFNERRORS,DFN)
+3 IF DFNERROR
SET DFNERRORS("Flag",1)=""
DO BUILDJSON(.RES,.DFNERRORS)
QUIT
+4 ;
+5 SET FN=26.13
+6 SET PRFARRY("FugitiveFelonFlag")=$SELECT($$GET1^DIQ(2,DFN,1100.01,"I"):"YES",1:"NO")
+7 IF '$DATA(^DGPF(FN,"C",DFN))
SET PRFARRY("Flag",1)=""
DO BUILDJSON(.RES,.PRFARRY)
QUIT
+8 ;
+9 SET PRFCNT=0
+10 DO LIST^DIC(26.15,,,"E",,,,,,,"FDATA","ERR")
DO BUILD(.PRFARRY,.FDATA,26.15,.PRFCNT)
KILL FDATA
+11 DO LIST^DIC(26.11,,,"E",,,,,,,"FDATA","ERR")
DO BUILD(.PRFARRY,.FDATA,26.11,.PRFCNT)
KILL FDATA
+12 IF '$DATA(PRFARRY("Flag"))
SET PRFARRY("Flag",1)=""
+13 DO BUILDJSON(.RES,.PRFARRY)
+14 QUIT
+15 ;
BUILD(PRFARRY,FDATA,FN,PRFCNT) ;
+1 NEW RESNUM,FIEN,FPTR
+2 SET RESNUM=0
+3 FOR
SET RESNUM=$ORDER(FDATA("DILIST",2,RESNUM))
if 'RESNUM
QUIT
Begin DoDot:1
+4 SET FIEN=$GET(FDATA("DILIST",2,RESNUM))
+5 SET FPTR=FIEN_";"_$PIECE($$ROOT^DILFD(FN),U,2)
+6 KILL PRFDATA
+7 DO GETINF^DGPFAPIH(DFN,FPTR,,,"PRFDATA")
if '$DATA(PRFDATA)
QUIT
+8 SET PRFCNT=PRFCNT+1
+9 SET PRFARRY("Flag",PRFCNT,"Name")=$PIECE($GET(PRFDATA("FLAG")),U,2)
+10 SET PRFARRY("Flag",PRFCNT,"Type")=$PIECE($GET(PRFDATA("FLAGTYPE")),U,2)
+11 SET PRFARRY("Flag",PRFCNT,"Category")=$PIECE($GET(PRFDATA("CATEGORY")),U)
+12 SET PRFARRY("Flag",PRFCNT,"AssignedDate")=$$FMTISO^SDAMUTDT($PIECE($GET(PRFDATA("ASSIGNDT")),U,1))
+13 SET PRFARRY("Flag",PRFCNT,"OwnerSiteID")=$PIECE($GET(PRFDATA("OWNER")),U)
+14 SET PRFARRY("Flag",PRFCNT,"OwnerSiteName")=$PIECE($GET(PRFDATA("OWNER")),U,2)
+15 SET PRFARRY("Flag",PRFCNT,"OriginatingSiteID")=$PIECE($GET(PRFDATA("ORIGSITE")),U)
+16 SET PRFARRY("Flag",PRFCNT,"OriginatingSiteName")=$PIECE($GET(PRFDATA("ORIGSITE")),U,2)
+17 SET PRFARRY("Flag",PRFCNT,"ReviewDate")=$$FMTISO^SDAMUTDT($PIECE($GET(PRFDATA("REVIEWDT")),U))
+18 SET NARR=0
FOR
SET NARR=$ORDER(PRFDATA("NARR",NARR))
if 'NARR
QUIT
Begin DoDot:2
+19 SET PRFARRY("Flag",PRFCNT,"Narrative",NARR)=$GET(PRFDATA("NARR",NARR,0))
End DoDot:2
End DoDot:1
+20 QUIT
BUILDJSON(APPTLISTJSON,APPTLISTARRAY) ;Convert data to JSON
+1 NEW JSONERR
+2 SET JSONERR=""
+3 DO ENCODE^SDESJSON(.APPTLISTARRAY,.APPTLISTJSON,.JSONERR)
+4 QUIT