Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: BQIRGPL

BQIRGPL.m

Go to the documentation of this file.
  1. BQIRGPL ;GDIT/HS/ALA-Registers and Panels ; 01 Nov 2007 1:00 PM
  1. ;;2.6;ICARE MANAGEMENT SYSTEM;;Jul 07, 2017;Build 72
  1. ;
  1. Q
  1. ;
  1. EN(DATA,OWNR,PLIEN,CARE,PLIST) ;EP -- BQI GET REG DATA BY PANEL
  1. ;Description - Entry point for the panel
  1. ;Input Parameters
  1. ; OWNR - Owner of panel
  1. ; PLIEN - Panel IEN
  1. ; CARE - Care Management
  1. ; PLIST - List of DFNs (optional)
  1. ;
  1. NEW UID,II,X,BQIRM,VAL,HIEN,E,J,K,L,MAX,MIN,NAFLG,BN,LIST,BQI,DFN,QFL,TQFL
  1. S UID=$S($G(ZTSK):"Z"_ZTSK,1:$J)
  1. S DATA=$NA(^TMP("BQIRGPL",UID))
  1. K @DATA
  1. ;
  1. S II=0
  1. NEW $ESTACK,$ETRAP S $ETRAP="D ERR^BQIRGPL D UNWIND^%ZTER" ; SAC 2006 2.2.3.3.2
  1. ;
  1. ; If a list of DFNs, process them instead of entire panel
  1. I $D(PLIST)>0 D G DONE
  1. . I $D(PLIST)>1 D
  1. .. S LIST="",BN=""
  1. .. F S BN=$O(PLIST(BN)) Q:BN="" S LIST=LIST_PLIST(BN)
  1. .. K PLIST S PLIST=LIST
  1. . F BQI=1:1 S DFN=$P(PLIST,$C(28),BQI) Q:DFN="" D
  1. .. I $P($G(^BQICARE(OWNR,1,PLIEN,40,DFN,0)),"^",2)="R" Q
  1. .. D PAT(.DATA,OWNR,PLIEN,CARE,DFN)
  1. ;
  1. S DFN=0
  1. I $O(^BQICARE(OWNR,1,PLIEN,40,DFN))="" D PAT(.DATA,OWNR,PLIEN,CARE,"") G DONE
  1. ;
  1. F S DFN=$O(^BQICARE(OWNR,1,PLIEN,40,DFN)) Q:'DFN D
  1. . I $P($G(^BQICARE(OWNR,1,PLIEN,40,DFN,0)),"^",2)="R" Q
  1. . D PAT(.DATA,OWNR,PLIEN,CARE,DFN)
  1. ;
  1. DONE ;
  1. I II=0,'$D(@DATA) D PAT(.DATA,OWNR,PLIEN,CARE,"")
  1. S II=II+1,@DATA@(II)=$C(31)
  1. Q
  1. ;
  1. PAT(DATA,OWNR,PLIEN,CARE,DFN) ;EP - Build record by patient
  1. ; Get standard display
  1. NEW PCIEN,HDR,VALUE,HEADR,SENS,HDOB,Y,STVW,TEXT,ORD,GMET,GHDR,RGIEN,CRIEN,CTYP
  1. NEW GIEN,CIEN,ATAGN,ATAGNM,ATAGST,CRN,TYP,DIS,BTREF,CODE,CT,GREF,IEN,IFL,ITIEN
  1. NEW RES,RESULT,STOP,STVCD,TIEN,TREF,VISIT,VSDTM
  1. S VALUE="",RGIEN=""
  1. I DFN'="" S Y=$$GET1^DIQ(9000001,DFN_",",1102.2,"I"),HDOB=$$FMTE^BQIUL1(Y)
  1. I DFN'="" S VALUE=DFN_U_$$FLG^BTPWPPAT(DFN)_U_$$FLG^BQIULPT(DUZ,PLIEN,DFN)_U_$$SENS^BQIULPT(DFN)_U_$$CALR^BQIULPT(DFN)_U_$$MFLAG^BQIULPT(OWNR,PLIEN,DFN)_U_HDOB_U
  1. S HEADR="I00010DFN^T00001TICKLER_INDICATOR^T00001FLAG_INDICATOR^T00001SENS_FLAG^T00001COMM_FLAG^T00001HIDE_MANUAL^D00030HIDE_DOB^"
  1. S HEADR=HEADR_"I00010HIDE_ASSOC_TAG_IEN^T00030HIDE_ASSOC_TAG_NAME^T00001HIDE_ASSOC_TAG_STATUS^"
  1. ;
  1. I CARE'?.N S CRN=$O(^BQI(90506.5,"B",CARE,"")) I CRN="" Q
  1. I CRN'="" S TYP=$P(^BQI(90506.5,CRN,0),U,2),CTYP=TYP
  1. I CARE?.N S CRN=CARE,CARE=$P(^BQI(90506.5,CRN,0),U,1),TYP=$P(^BQI(90506.5,CRN,0),U,2),CTYP=TYP
  1. S CRIEN=CRN
  1. S RGIEN=$P(^BQI(90506.5,CRN,0),U,3) I RGIEN'="" S REG=$P(^BQI(90507,RGIEN,0),U,1)
  1. S ATAGN=$P(^BQI(90506.5,CRN,0),U,11),ATAGST=""
  1. I ATAGN="" S ATAGNM="{None}",ATAGST=""
  1. I ATAGN'="" S ATAGNM=$P(^BQI(90506.2,ATAGN,0),U,1)
  1. I DFN'="" S ATAGST=$$CTAG^BQITDUTL(DFN,ATAGNM)
  1. I ATAGST="" S ATAGN="",ATAGNM="{None}"
  1. S VALUE=VALUE_ATAGN_U_ATAGNM_U_ATAGST_U
  1. ;I DFN="" S HEADR=$$TKO^BQIUL1(HEADR,"^"),@DATA@(II)=HEADR_$C(30) Q
  1. ; Find IEN
  1. S PCIEN=""
  1. F S PCIEN=$O(^BQI(90506.1,"AC",CTYP,PCIEN)) Q:PCIEN="" D
  1. . I $P(^BQI(90506.1,PCIEN,0),U,6)'=".001" Q
  1. . S HEADR=HEADR_$P(^BQI(90506.1,PCIEN,0),U,8)_U
  1. . I DFN="" Q
  1. . S STVW=PCIEN
  1. . N CRIEN ;New'd variable since it gets used in executable calls
  1. . X ^BQI(90506.1,STVW,1)
  1. . S VALUE=VALUE_VAL_U
  1. ;
  1. ; Check for template
  1. NEW DA,IENS,TEMPL,LYIEN,QFL,PCIEN
  1. S TEMPL=""
  1. I OWNR'=DUZ D
  1. . S DA=$O(^BQICARE(OWNR,1,PLIEN,30,DUZ,4,"C",CTYP,""))
  1. . I DA="" Q
  1. . S DA(3)=OWNR,DA(2)=PLIEN,DA(1)=DUZ,IENS=$$IENS^DILF(.DA)
  1. . S TEMPL=$$GET1^DIQ(90505.34,IENS,.01,"E")
  1. I OWNR=DUZ D
  1. . S DA=$O(^BQICARE(OWNR,1,PLIEN,4,"C",CTYP,""))
  1. . I DA="" Q
  1. . S DA(2)=OWNR,DA(1)=PLIEN,IENS=$$IENS^DILF(.DA)
  1. . S TEMPL=$$GET1^DIQ(90505.14,IENS,.01,"E")
  1. ;
  1. ; If template, use it
  1. I TEMPL'="" S TQFL=0 D G FIN:'TQFL
  1. . ;S LYIEN=$$DEF^BQILYUTL(OWNR,"M")
  1. . S LYIEN=$$TPN^BQILYUTL(DUZ,TEMPL)
  1. . I LYIEN="" S TQFL=1 Q
  1. . S DOR=""
  1. . F S DOR=$O(^BQICARE(DUZ,15,LYIEN,1,"C",DOR)) Q:DOR="" D
  1. .. S PCIEN=""
  1. .. F S PCIEN=$O(^BQICARE(DUZ,15,LYIEN,1,"C",DOR,PCIEN)) Q:PCIEN="" D
  1. ... S CODE=$P(^BQICARE(DUZ,15,LYIEN,1,PCIEN,0),U,1)
  1. ... S GIEN=$O(^BQI(90506.1,"B",CODE,""))
  1. ... I GIEN'="" D
  1. .... S STVW=GIEN
  1. .... I $P($G(^BQI(90506.1,GIEN,0)),U,10)=1 Q
  1. .... D CVAL
  1. ... I GIEN="" S IFL=0 D Q:IFL
  1. .... S STVCD=CODE
  1. .... D CKO
  1. ... S VALUE=VALUE_VAL_"^"
  1. ... S HEADR=HEADR_HDR_"^"
  1. ;
  1. ; If no template, check for customized
  1. I OWNR=DUZ D
  1. . S CIEN=$O(^BQICARE(OWNR,1,PLIEN,23,"B",CARE,""))
  1. . I CIEN'="" D
  1. .. S PCIEN=0
  1. .. I $O(^BQICARE(OWNR,1,PLIEN,23,CIEN,1,PCIEN))="" D DEF Q
  1. .. F S PCIEN=$O(^BQICARE(OWNR,1,PLIEN,23,CIEN,1,PCIEN)) Q:'PCIEN D
  1. ... S CODE=$P(^BQICARE(OWNR,1,PLIEN,23,CIEN,1,PCIEN,0),"^",1) Q:CODE=""
  1. ... S GIEN=$O(^BQI(90506.1,"B",CODE,""))
  1. ... I GIEN'="" D
  1. .... S STVW=GIEN
  1. .... I $P($G(^BQI(90506.1,GIEN,0)),U,10)=1 Q
  1. .... D CVAL
  1. ... I GIEN="" S IFL=0 D Q:IFL
  1. .... S STVCD=CODE
  1. .... D CKO
  1. ... S VALUE=VALUE_VAL_"^"
  1. ... S HEADR=HEADR_HDR_"^"
  1. . ;
  1. . ; If no customized, use default
  1. . I CIEN="" D DEF
  1. ;
  1. I OWNR'=DUZ D
  1. . S CIEN=$O(^BQICARE(OWNR,1,PLIEN,30,DUZ,23,"B",CARE,""))
  1. . I CIEN'="" D
  1. .. S PCIEN=0
  1. .. I $O(^BQICARE(OWNR,1,PLIEN,30,DUZ,23,CIEN,1,PCIEN))="" D DEF Q
  1. .. F S PCIEN=$O(^BQICARE(OWNR,1,PLIEN,30,DUZ,23,CIEN,1,PCIEN)) Q:'PCIEN D
  1. ... S CODE=$P(^BQICARE(OWNR,1,PLIEN,30,DUZ,23,CIEN,1,PCIEN,0),"^",1) Q:CODE=""
  1. ... S GIEN=$O(^BQI(90506.1,"B",CODE,""))
  1. ... I GIEN'="" D
  1. .... S STVW=GIEN
  1. .... I $P($G(^BQI(90506.1,GIEN,0)),U,10)=1 Q
  1. .... K VAL
  1. .... D CVAL
  1. ... I STVW="" S IFL=0 D Q:IFL
  1. .... S STVCD=CODE
  1. .... D CKO
  1. ... S HEADR=HEADR_HDR_"^"
  1. ... ;I VALUE=$$TKO^BQIUL1(VAL,";") Q
  1. ... I VALUE=$P(VAL,";"),$P(VAL,";",2)'="" S VALUE=VALUE_$P(VAL,";",2)_"^" Q
  1. ... S VALUE=VALUE_VAL_"^"
  1. . I CIEN="" D DEF
  1. ;
  1. FIN ; Finish
  1. S HEADR=$$TKO^BQIUL1(HEADR,"^")
  1. S VALUE=$$TKO^BQIUL1(VALUE,"^")
  1. ;
  1. I DFN="" S VALUE=""
  1. ;
  1. I II=0 S @DATA@(II)=HEADR_$C(30)
  1. I VALUE'="",$P($G(@DATA@(II)),$C(30),1)'=VALUE S II=II+1,@DATA@(II)=VALUE_$C(30)
  1. Q
  1. ;
  1. CVAL ; Get demographic values
  1. ;Parameters
  1. ; FIL = FileMan file number
  1. ; FLD = FileMan field number
  1. ; EXEC = If an executable is needed to determine value
  1. ; HDR = Header value
  1. ;the executable expects the value to be returned in variable VAL
  1. NEW FIL,FLD,EXEC,RCODE,RGIEN,RIEN,RHDR,MVALUE,CODE,GIEN
  1. S VAL=""
  1. ;S GIEN=$O(^BQI(90506.1,"B",STVW,"")) I GIEN="" Q
  1. S GIEN=STVW
  1. S FIL=$$GET1^DIQ(90506.1,GIEN_",",.05,"E")
  1. S FLD=$$GET1^DIQ(90506.1,GIEN_",",.06,"E")
  1. S EXEC=$$GET1^DIQ(90506.1,GIEN_",",1,"E")
  1. S HDR=$$GET1^DIQ(90506.1,GIEN_",",.08,"E")
  1. I $G(DFN)="" S VAL="" Q
  1. ;
  1. I $G(EXEC)'="" X EXEC Q
  1. ;
  1. S RCODE=$$GET1^DIQ(90506.1,GIEN_",",.01,"E")
  1. S RGIEN=$O(^BQI(90506.3,"AC",CRIEN,"")),VAL=""
  1. I RGIEN'="" D Q:VAL'=""
  1. . S RIEN=$O(^BQI(90506.3,RGIEN,10,"AC",RCODE,""))
  1. . I RIEN'="",$P($G(^BQI(90506.3,RGIEN,10,RIEN,1)),U,1)="M" D Q
  1. .. S RHDR=$P(^BQI(90506.3,RGIEN,10,RIEN,0),U,2),MVALUE=""
  1. .. NEW SNAME,SRIEN,SORD,SXREF,SIEN
  1. .. S SNAME=$P(^BQI(90506.3,RGIEN,10,RIEN,0),U,1)
  1. .. S SRIEN=$O(^BQI(90506.3,"B",SNAME,"")) I SRIEN="" Q
  1. .. S SORD="",SXREF=$S($D(^BQI(90506.3,SRIEN,10,"AF")):"AF",1:"C")
  1. .. F S SORD=$O(^BQI(90506.3,SRIEN,10,SXREF,SORD)) Q:SORD="" D
  1. ... S SIEN=""
  1. ... F S SIEN=$O(^BQI(90506.3,SRIEN,10,SXREF,SORD,SIEN)) Q:SIEN="" D
  1. .... I $P(^BQI(90506.3,SRIEN,10,SIEN,0),U,4)'="S" Q
  1. .... S CODE=$P(^BQI(90506.3,SRIEN,10,SIEN,0),U,7) I CODE="" Q
  1. .... S STVW=$O(^BQI(90506.1,"B",CODE,"")) I STVW="" Q
  1. .... I $$GET1^DIQ(90506.1,STVW_",",.1,"I")=1 Q
  1. .... NEW FIL,FLD,EXEC
  1. .... S FIL=$$GET1^DIQ(90506.1,STVW_",",.05,"E")
  1. .... S FLD=$$GET1^DIQ(90506.1,STVW_",",.06,"E")
  1. .... S EXEC=$$GET1^DIQ(90506.1,STVW_",",1,"E")
  1. .... S HDR=RHDR
  1. .... I $G(DFN)="" S VAL="" Q
  1. .... ;
  1. .... I $G(EXEC)'="" X EXEC S VAL=VAL_$S(VAL'="":$C(10),1:"") Q
  1. .... I FIL'="",FLD'="" S VAL=$$GET1^DIQ(FIL,DFN_",",FLD,"E")
  1. .... S VAL=VAL_$S(VAL'="":$C(10),1:"")
  1. .... ;S VALUE=VALUE_VAL_$S(VAL'="":$C(10),1:"")
  1. .... ;S VAL=VALUE
  1. ... S MVALUE=MVALUE_$$TKO^BQIUL1(VAL,$C(10))
  1. ... ;S MVALUE=MVALUE_VAL
  1. .. S VAL=MVALUE
  1. ;
  1. I FIL'="",FLD'="" S VAL=$$GET1^DIQ(FIL,DFN_",",FLD,"E")
  1. Q
  1. ;
  1. ERR ;
  1. D ^%ZTER
  1. NEW Y,ERRDTM
  1. S Y=$$NOW^XLFDT() X ^DD("DD") S ERRDTM=Y
  1. S BMXSEC="Recording that an error occurred at "_ERRDTM
  1. I $D(II),$D(DATA) S II=II+1,@DATA@(II)=$C(31)
  1. Q
  1. ;
  1. DEF ; Default list of fields
  1. NEW CRIEN,TYP,ORD,PCIEN,STVW,KEY,CODE
  1. ; Check for any alternate display order which trumps source display order
  1. S CRIEN=$$FIND1^DIC(90506.5,"","B",CARE,"","","ERROR")
  1. S TYP=$P(^BQI(90506.5,CRIEN,0),U,2)
  1. S ORD=""
  1. F S ORD=$O(^BQI(90506.1,"AF",TYP,ORD)) Q:ORD="" D
  1. . S PCIEN=""
  1. . F S PCIEN=$O(^BQI(90506.1,"AF",TYP,ORD,PCIEN)) Q:PCIEN="" D
  1. .. I $$GET1^DIQ(90506.1,PCIEN_",",.1,"I")=1 Q
  1. .. S KEY=$$GET1^DIQ(90506.1,PCIEN_",",3.1,"E")
  1. .. I KEY'="",'$$KEYCHK^BQIULSC(KEY,DUZ) Q
  1. .. I $$GET1^DIQ(90506.1,PCIEN_",",3.04,"I")'="O" D
  1. ... S CODE=$P(^BQI(90506.1,PCIEN,0),U,1) Q:CODE=""
  1. ... I $P($G(^BQI(90506.1,PCIEN,0)),U,10)=1 Q
  1. ... S STVW=PCIEN
  1. ... D CVAL
  1. ... S VALUE=VALUE_VAL_"^"
  1. ... S HEADR=HEADR_HDR_"^"
  1. ;
  1. S CRIEN=$$FIND1^DIC(90506.5,"","B","Patient","","","ERROR")
  1. S TYP=$P(^BQI(90506.5,CRIEN,0),U,2)
  1. S ORD=""
  1. F S ORD=$O(^BQI(90506.1,"AD",TYP,ORD)) Q:ORD="" D
  1. . S PCIEN=""
  1. . F S PCIEN=$O(^BQI(90506.1,"AD",TYP,ORD,PCIEN)) Q:PCIEN="" D
  1. .. I $$GET1^DIQ(90506.1,PCIEN_",",.1,"I")=1 Q
  1. .. S KEY=$$GET1^DIQ(90506.1,PCIEN_",",3.1,"E")
  1. .. I KEY'="",'$$KEYCHK^BQIULSC(KEY,DUZ) Q
  1. .. I $$GET1^DIQ(90506.1,PCIEN_",",3.04,"I")'="O" D
  1. ... S CODE=$P(^BQI(90506.1,PCIEN,0),U,1) Q:CODE=""
  1. ... I $P($G(^BQI(90506.1,PCIEN,0)),U,10)=1 Q
  1. ... S STVW=PCIEN
  1. ... D CVAL
  1. ... S VALUE=VALUE_VAL_"^"
  1. ... S HEADR=HEADR_HDR_"^"
  1. ;
  1. NEW CRIEN,TYP,ORD,PCIEN,STVW,KEY,CODE
  1. S CRIEN=$$FIND1^DIC(90506.5,"","B",CARE,"","","ERROR")
  1. S TYP=$P(^BQI(90506.5,CRIEN,0),U,2),ATAGN=$P(^BQI(90506.5,CRIEN,0),U,11)
  1. S ORD=""
  1. F S ORD=$O(^BQI(90506.1,"AD",TYP,ORD)) Q:ORD="" D
  1. . S PCIEN=""
  1. . F S PCIEN=$O(^BQI(90506.1,"AD",TYP,ORD,PCIEN)) Q:PCIEN="" D
  1. .. I $$GET1^DIQ(90506.1,PCIEN_",",.1,"I")=1 Q
  1. .. S KEY=$$GET1^DIQ(90506.1,PCIEN_",",3.1,"E")
  1. .. I KEY'="",'$$KEYCHK^BQIULSC(KEY,DUZ) Q
  1. .. I $$GET1^DIQ(90506.1,PCIEN_",",3.04,"I")'="O" D
  1. ... S CODE=$P(^BQI(90506.1,PCIEN,0),U,1) Q:CODE=""
  1. ... I $P($G(^BQI(90506.1,PCIEN,0)),U,10)=1 Q
  1. ... S STVW=PCIEN
  1. ... D CVAL
  1. ... S VALUE=VALUE_VAL_"^"
  1. ... S HEADR=HEADR_HDR_"^"
  1. ;
  1. ; if additional fields
  1. NEW CSIEN,STVCD
  1. S CSIEN=0
  1. F S CSIEN=$O(^BQI(90506.5,CRIEN,10,CSIEN)) Q:'CSIEN D
  1. . S STVCD=$P(^BQI(90506.5,CRIEN,10,CSIEN,0),U,1)
  1. . I $P(^BQI(90506.5,CRIEN,10,CSIEN,0),U,9)=1 Q
  1. . I $P(^BQI(90506.5,CRIEN,10,CSIEN,0),U,6)'="O" D
  1. . D CKO
  1. . S VALUE=VALUE_VAL_"^"
  1. . S HEADR=HEADR_HDR_"^"
  1. ; If there is a dx tag, check for additional locally added columns
  1. I ATAGN'="" D
  1. . NEW CSIEN,STVCD
  1. . S CSIEN=0
  1. . F S CSIEN=$O(^BQI(90506.2,ATAGN,6,CSIEN)) Q:'CSIEN D
  1. .. S STVCD=$P(^BQI(90506.2,ATAGN,6,CSIEN,0),U,1)
  1. .. I $P(^BQI(90506.2,ATAGN,6,CSIEN,0),U,9)=1 Q
  1. .. I $P(^BQI(90506.2,ATAGN,6,CSIEN,0),U,6)'="O" D
  1. .. D CKO
  1. .. S VALUE=VALUE_VAL_"^"
  1. .. S HEADR=HEADR_HDR_"^"
  1. Q
  1. ;
  1. CKO ; Check other
  1. NEW BQDTFRM,RES
  1. I $P(STVCD,"_",1)'=CTYP Q
  1. S GIEN=$O(^BQI(90506.5,CRN,10,"B",STVCD,""))
  1. I GIEN'="" D Q
  1. . ;Set HEADR
  1. . S DIS=$P(^BQI(90506.5,CRN,10,GIEN,0),U,5)
  1. . I $P(^BQI(90506.5,CRN,10,GIEN,0),U,9)=1 S IFL=1 Q
  1. . S BQDTFRM=$P(^BQI(90506.5,CRN,10,GIEN,0),U,8) S:BQDTFRM="" BQDTFRM="S"
  1. . ;Get Value
  1. . S VAL="",RES=""
  1. . I DFN'="" S RES=$$FND^BQICMUTL(CRN,GIEN,DFN)
  1. . ;I 'RES S HDR="T00025"_STVCD,VAL="" Q
  1. . I DIS="" S HDR="T00025"_STVCD,VAL=RES
  1. . I DIS="D" D
  1. .. S HDR="T00025"_STVCD
  1. .. S VAL=$S(BQDTFRM="S":$$FMTE^BQIUL1($P(RES,U,2)),1:$$FMTMDY^BQIUL1($P(RES,U,2)))
  1. . I DIS="R" S HDR="T00025"_STVCD,VAL=$P(RES,U,2)
  1. . I DIS="B" D
  1. .. S HDR="T00025"_STVCD
  1. .. S VAL=$S(BQDTFRM="S":$$FMTE^BQIUL1($P(RES,U,2)),1:$$FMTMDY^BQIUL1($P(RES,U,2)))_$S($P(RES,U,3)'="":" ("_$P(RES,U,3)_")",1:"")
  1. . I VAL'="",$P(RES,U,7)="refusal" S VAL="Refused "_VAL
  1. I GIEN="",ATAGN'="" S GIEN=$O(^BQI(90506.2,ATAGN,6,"B",STVCD,""))
  1. I GIEN'="" D Q
  1. . ;Set HEADR
  1. . S DIS=$P(^BQI(90506.2,ATAGN,6,GIEN,0),U,5)
  1. . I $P(^BQI(90506.2,ATAGN,6,GIEN,0),U,9)=1 S IFL=1 Q
  1. . S BQDTFRM=$P(^BQI(90506.2,ATAGN,6,GIEN,0),U,8) S:BQDTFRM="" BQDTFRM="S"
  1. . ;Get Value
  1. . S VAL="",RES=""
  1. . I DFN'="" S RES=$$FTAG^BQICMUTL(ATAGN,GIEN,DFN)
  1. . ;I 'RES S HDR="T00020"_STVCD,VAL="" Q
  1. . I DIS="D" D
  1. .. S HDR="T00020"_STVCD
  1. .. S VAL=$S(BQDTFRM="S":$$FMTE^BQIUL1($P(RES,U,2)),1:$$FMTMDY^BQIUL1($P(RES,U,2)))
  1. . I DIS="R" S HDR="T00025"_STVCD,VAL=$P(RES,U,3)
  1. . I DIS="B" D
  1. .. S HDR="T00025"_STVCD
  1. .. S VAL=$S(BQDTFRM="S":$$FMTE^BQIUL1($P(RES,U,2)),1:$$FMTMDY^BQIUL1($P(RES,U,2)))_" "_$P(RES,U,3)
  1. . I VAL'="",$P(RES,U,7)="refusal" S VAL="Refused "_VAL
  1. Q