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

BQIPLVEW.m

Go to the documentation of this file.
  1. BQIPLVEW ;VNGT/HS/ALA-Get all Views for a Panel ; 08 Jul 2009 5:51 PM
  1. ;;2.3;ICARE MANAGEMENT SYSTEM;;Apr 18, 2012;Build 59
  1. ;
  1. GET(DATA,OWNR,PLIEN) ; EP -- BQI GET PANEL LAYOUTS
  1. ;Description
  1. ; This returns all displays for a panel
  1. ;Input
  1. ; OWNR - Owner of panel internal entry number
  1. ; PLIEN - Panel internal entry number
  1. ;Output
  1. ; DATA - name of global (passed by reference) in which the data
  1. ; is stored
  1. ;Expected
  1. ; DUZ - User internal entry number
  1. ;Variables used
  1. ; UID - TMP global subscript. Will be either $J or "Z" plus the
  1. ; TaskMan Task ID
  1. ;
  1. NEW UID,II,IEN,DOR,SOR,DVALUE,SVALUE,X,SRC,TN,TYP,BQVW,SRN,BQVWS,CARE,DEF,GVALUE,MVALUE,STVCD,TEMPL,TMP
  1. S UID=$S($G(ZTSK):"Z"_ZTSK,1:$J)
  1. S DATA=$NA(^TMP("BQIPLVEW",UID))
  1. K @DATA
  1. S II=0
  1. S @DATA@(II)="I00010TEMPL_IEN^T00040TEMPLATE_NAME^T00001DEFAULT^T00001TYPE^T00120DISPLAY_ORDER^T00120SORT_ORDER^T00120SORT_DIRECTION"_$C(30)
  1. ;
  1. NEW $ESTACK,$ETRAP S $ETRAP="D ERR^BQIPLVEW D UNWIND^%ZTER" ; SAC 2006 2.2.3.3.2
  1. ;
  1. ; If user is the owner
  1. I OWNR=DUZ D
  1. . ; Check for templates
  1. . S TN=0
  1. . F S TN=$O(^BQICARE(OWNR,1,PLIEN,4,TN)) Q:'TN D
  1. .. S TYP=$P(^BQICARE(OWNR,1,PLIEN,4,TN,0),U,2),TMPL=$P(^(0),U,1)
  1. .. S BQVW(TYP)=$$TPN^BQILYUTL(OWNR,TMPL)
  1. . ;
  1. . ; Check for customized views
  1. . I $O(^BQICARE(OWNR,1,PLIEN,20,0))'="" S BQVW("D")="C^20"
  1. . I $O(^BQICARE(OWNR,1,PLIEN,22,0))'="" S BQVW("R")="C^22"
  1. . I $O(^BQICARE(OWNR,1,PLIEN,25,0))'="" S BQVW("G")="C^23"
  1. . ;
  1. . ; Check for source views
  1. . S TN=0
  1. . F S TN=$O(^BQICARE(OWNR,1,PLIEN,23,TN)) Q:'TN D
  1. .. S SRC=$P(^BQICARE(OWNR,1,PLIEN,23,TN,0),U,1)
  1. .. S SRN=$O(^BQI(90506.5,"B",SRC,"")),TYP=$P(^BQI(90506.5,SRN,0),U,2)
  1. .. S BQVW(TYP)="S^"_SRC
  1. ;
  1. ; If user is not the owner
  1. I OWNR'=DUZ D
  1. . ; Check for templates
  1. . S TN=0
  1. . F S TN=$O(^BQICARE(OWNR,1,PLIEN,30,DUZ,4,TN)) Q:'TN D
  1. .. S TYP=$P(^BQICARE(OWNR,1,PLIEN,30,DUZ,4,TN,0),U,2),TMPL=$P(^(0),U,1)
  1. .. S BQVW(TYP)=$$TPN^BQILYUTL(OWNR,TMPL)
  1. . ;
  1. . ; Check for customized views
  1. . I $O(^BQICARE(OWNR,1,PLIEN,30,DUZ,20,0))'="" S BQVW("D")="C^20"
  1. . I $O(^BQICARE(OWNR,1,PLIEN,30,DUZ,22,0))'="" S BQVW("R")="C^22"
  1. . I $O(^BQICARE(OWNR,1,PLIEN,30,DUZ,25,0))'="" S BQVW("G")="C^23"
  1. . ;
  1. . ; Check for source views
  1. . S TN=0
  1. . F S TN=$O(^BQICARE(OWNR,1,PLIEN,30,DUZ,23,TN)) Q:'TN D
  1. .. S SRC=$P(^BQICARE(OWNR,1,PLIEN,30,DUZ,23,TN,0),U,1)
  1. .. S SRN=$O(^BQI(90506.5,"B",SRC,"")),TYP=$P(^BQI(90506.5,SRN,0),U,2)
  1. .. S BQVW(TYP)="S^"_SRC
  1. ;
  1. ; Otherwise define defaults
  1. S TMP=$NA(BQVW)
  1. F TYP="D","R","G","A" D
  1. . I $D(@TMP@(TYP)) D Q
  1. .. S VALUE=@TMP@(TYP)
  1. .. ;
  1. .. ; If this is a template, get the template definition
  1. .. I VALUE?.N D DEF^BQILYDEF(VALUE) Q
  1. .. ;
  1. .. ; If this is a source view, check for a customized view or else return the default
  1. .. I $E(VALUE,1)="S" D
  1. ... S SRC=$P(@TMP@(TYP),U,2) I $$CVW^BQICMVW(SRC) Q
  1. ... D STND^BQILYDEF(TYP)
  1. .. ;
  1. .. ; If this is a customized view
  1. .. I $E(VALUE,1)="C" D
  1. ... I TYP="D" D
  1. .... I $$CVW^BQIPLVWC() Q
  1. .... D STND^BQILYDEF(TYP)
  1. ... I TYP="R" D
  1. .... I $$CVW^BQIPLRVW() Q
  1. .... D STND^BQILYDEF(TYP)
  1. ... I TYP="G" D
  1. .... I $$CVW^BQIGPVW() Q
  1. .... D STND^BQILYDEF(TYP)
  1. . D STND^BQILYDEF(TYP)
  1. ;
  1. DONE ;
  1. S II=II+1,@DATA@(II)=$C(31)
  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. UPD(DATA,OWNR,PLIEN,TYPE,TEMPL,SOR,SDIR,DOR) ; EP -- BQI SAVE PANEL LAYOUTS
  1. ;Input
  1. ; OWNR - Owner IEN
  1. ; PLIEN - Panel IEN
  1. ; TYPE - Type of layout that is being saved
  1. ; TEMPL - Template name
  1. ; YEAR - GRPA Year
  1. ; DOR - The display order
  1. ; SOR - The sort order
  1. ; SDIR - The sort direction
  1. NEW UID,II,TMPL,YEAR
  1. S UID=$S($G(ZTSK):"Z"_ZTSK,1:$J)
  1. S DATA=$NA(^TMP("BQIPLVUP",UID))
  1. S @DATA@(II)="I00010RESULT^T00100MSG^T00001HANDLER"_$C(30)
  1. ;
  1. I $G(YEAR)="" D
  1. . I OWNR'="",PLIEN'="" D
  1. .. NEW DA,IENS
  1. .. S DA(1)=$S(OWNR=DUZ:DUZ,1:OWNR)
  1. .. S DA=PLIEN,IENS=$$IENS^DILF(.DA)
  1. .. S YEAR=$$GET1^DIQ(90505.01,IENS,3.3,"E")
  1. . S BQIH=$$SPM^BQIGPUTL()
  1. . I $G(YEAR)="" S YEAR=$$GET1^DIQ(90508,BQIH_",",2,"E")
  1. ;
  1. S TEMPL=$G(TEMPL,"")
  1. S SOR=$G(SOR,""),SDIR=$G(SDIR,"")
  1. S:SOR="" SOR="PN" S:SDIR="" SDIR="A"
  1. ;
  1. S DOR=$G(DOR,"")
  1. I DOR="" D
  1. . S LIST="",BN=""
  1. . F S BN=$O(DOR(BN)) Q:BN="" S LIST=LIST_DOR(BN)
  1. . K DOR
  1. . S DOR=LIST
  1. . K LIST
  1. ;
  1. NEW $ESTACK,$ETRAP S $ETRAP="D ERR^BQIPLVEW D UNWIND^%ZTER" ; SAC 2006 2.2.3.3.2
  1. ;
  1. S RESULT=1_U_U
  1. ;
  1. ; If the template is not null, save the template
  1. I TEMPL'="" D G FIN
  1. . I OWNR=DUZ D
  1. .. NEW DA,IENS,DIC
  1. .. S DA(2)=OWNR,DA(1)=PLIEN,X=TEMPL,DIC(0)="LNZ",DIC="^BQICARE("_DA(2)_",1,"_DA(1)_",4,"
  1. .. D ^DIC
  1. .. S DA=+Y
  1. .. S IENS=$$IENS^DILF(.DA)
  1. .. S BQIUPD(90505.14,IENS,.02)=TYPE
  1. .. D FILE^DIE("","BQIUPD","ERROR")
  1. .. I $D(ERROR) S RESULT=-1_U_$G(ERROR("DIERR",1,"TEXT",1))_U
  1. . I OWNR'=DUZ D
  1. .. S DA(3)=OWNR,DA(2)=PLIEN,DA(1)=DUZ,X=TEMPL,DIC(0)="LNZ"
  1. .. S DIC="^BQICARE("_DA(3)_",1,"_DA(2)_",30,"_DA(1)_",4,"
  1. .. D ^DIC
  1. .. S DA=+Y
  1. .. S IENS=$$IENS^DILF(.DA)
  1. .. S BQIUPD(90505.34,IENS,.02)=TYPE
  1. .. D FILE^DIE("","BQIUPD","ERROR")
  1. .. I $D(ERROR) S RESULT=-1_U_$G(ERROR("DIERR",1,"TEXT",1))_U
  1. ;
  1. ; If the template name is blank, then each type must be saved as customized
  1. I TEMPL="" D
  1. . I TYPE="R" D FIL^BQIPLRVW(OWNR,PLIEN,SOR,SDIR,DOR) Q
  1. . I TYPE="G" D FIL^BQIGPVW(OWNR,PLIEN,YEAR,SOR,SDIR,DOR) Q
  1. . I TYPE="D" D FIL^BQIPLVWC(OWNR,PLIEN,SOR,SDIR,DOR) Q
  1. . S CRN=$O(^BQI(90506.5,"C",TYPE,"")) Q:CRN=""
  1. . S CARE=$P(^BQI(90506.5,CRN,0),U,1)
  1. . D FIL^BQICMVW(OWNR,PLIEN,CARE,SOR,SDIR,DOR)
  1. Q
  1. ;
  1. FIN ;
  1. S II=II+1,@DATA@(II)=RESULT_$C(30)
  1. S II=II+1,@DATA@(II)=$C(31)
  1. Q