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

BQIPLMRU.m

Go to the documentation of this file.
  1. BQIPLMRU ;PRXM/HC/ALA - Most Recently Viewed Panels ; 17 Feb 2006 12:20 PM
  1. ;;2.1;ICARE MANAGEMENT SYSTEM;;Feb 07, 2011
  1. ;
  1. Q
  1. ;
  1. RET(DATA) ; EP - BQI GET MRU PANELS
  1. ;Get the list of most recently viewed panels
  1. ;Output
  1. ; DATA - name of global (passed by reference) in which the data
  1. ; is stored
  1. ;Assumes
  1. ; DUZ - User who signed onto iCare
  1. ;
  1. NEW UID,II,BQIN,BQITXT,X
  1. S UID=$S($G(ZTSK):"Z"_ZTSK,1:$J)
  1. S DATA=$NA(^TMP("BQIPLMRU",UID))
  1. K @DATA
  1. ;
  1. S II=0
  1. NEW $ESTACK,$ETRAP S $ETRAP="D ERR^BQIPLMRU D UNWIND^%ZTER" ; SAC 2006 2.2.3.3.2
  1. ;
  1. S @DATA@(II)="T00250PANEL_ID_LIST"_$C(30)
  1. S BQIN=0,BQITXT=""
  1. F S BQIN=$O(^BQICARE(DUZ,5,BQIN)) Q:'BQIN D
  1. . NEW DA,IENS
  1. . S DA(1)=DUZ,DA=BQIN,IENS=$$IENS^DILF(.DA)
  1. . S BQITXT=BQITXT_$$GET1^DIQ(90505.5,IENS,.01,"E")_$C(29)
  1. S BQITXT=$$TKO^BQIUL1(BQITXT,$C(29))
  1. S II=II+1,@DATA@(II)=BQITXT_$C(30)
  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,PLIST) ; EP - BQI SET MRU PANELS
  1. ;Update the list of most recently viewed panels
  1. ;
  1. ;Input
  1. ; PLIST - List of panel ids separated by $C(29)
  1. ;Assumes
  1. ; DUZ - User who signed onto iCare
  1. ;
  1. NEW UID,II,X,RESULT,BQI
  1. S UID=$S($G(ZTSK):"Z"_ZTSK,1:$J)
  1. S DATA=$NA(^TMP("BQIPLMRU",UID))
  1. K @DATA
  1. ;
  1. S II=0
  1. NEW $ESTACK,$ETRAP S $ETRAP="D ERR^BQIPLMRU D UNWIND^%ZTER" ; SAC 2006 2.2.3.3.2
  1. S @DATA@(II)="I00010RESULT"_$C(30)
  1. ;
  1. S PLIST=$G(PLIST,"")
  1. NEW DIK,DA
  1. D DEL
  1. ;
  1. I $G(PLIST)="" D Q
  1. . S II=II+1,@DATA@(II)="1"_$C(30)
  1. . S II=II+1,@DATA@(II)=$C(31)
  1. ;
  1. I '$D(^BQICARE(DA(1),5,0)) S ^BQICARE(DA(1),5,0)="^90505.5^^"
  1. S RESULT=0
  1. F BQI=1:1:$L(PLIST,$C(29)) D
  1. . NEW DA,IENS,BQIVL,DIC
  1. . S BQIVL=$P(PLIST,$C(29),BQI)
  1. . S DA(1)=DUZ,X=BQIVL,DIC(0)="L",DIC="^BQICARE("_DA(1)_",5,"
  1. . D ^DIC
  1. . I +Y>0 S RESULT=1
  1. ;
  1. S II=II+1,@DATA@(II)=RESULT_$C(30)
  1. S II=II+1,@DATA@(II)=$C(31)
  1. Q
  1. ;
  1. DEL ; Remove old panel id list first
  1. S DA(1)=DUZ,DA=0,DIK="^BQICARE("_DA(1)_",5,"
  1. F S DA=$O(^BQICARE(DA(1),5,DA)) Q:'DA D ^DIK
  1. Q