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

BQIPLUTL.m

Go to the documentation of this file.
  1. BQIPLUTL ;PRXM/HC/ALA-Panel Utilities ; 27 Dec 2006 2:20 PM
  1. ;;2.1;ICARE MANAGEMENT SYSTEM;;Feb 07, 2011
  1. ;
  1. Q
  1. ;
  1. SXRF ; Set cross-reference
  1. ;I $G(DA(3))="" Q
  1. NEW V3,V2,V1
  1. S V3=$S($G(DA(3))'="":DA(3),1:DA(2))
  1. S V2=$S($G(DA(3))'="":DA(2),1:DA(1))
  1. S V1=$S($G(DA(3))'="":DA(1),1:DA)
  1. I $P($G(^BQICARE(V3,1,V2,15,V1,0)),U,1)'="PLIDEN" Q
  1. S ^BQICARE("AD",X,V3,V2,V1)=""
  1. Q
  1. ;
  1. KXRF ; Kill cross-reference
  1. ;I $G(DA(3))="" Q
  1. NEW V3,V2,V1
  1. S V3=$S($G(DA(3))'="":DA(3),1:DA(2))
  1. S V2=$S($G(DA(3))'="":DA(2),1:DA(1))
  1. S V1=$S($G(DA(3))'="":DA(1),1:DA)
  1. I $P($G(^BQICARE(V3,1,V2,15,V1,0)),U,1)'="PLIDEN" Q
  1. K ^BQICARE("AD",X,V3,V2,V1)
  1. Q
  1. ;
  1. CPFL(OWNR,PLIEN) ;EP -- Contains a panel filter
  1. ; Does the passed owner and panel contain a panel filter value, then lock those panels
  1. ;Input
  1. ; OWNR = owner of the panel
  1. ; PLIEN = panel ien
  1. NEW FIL,VALUE,POWNR,PPLIEN,TN,SUCC,PPNME
  1. S FIL="",SUCC=1
  1. F S FIL=$O(^BQICARE(OWNR,1,PLIEN,15,"B","PLIDEN",FIL)) Q:FIL="" D
  1. . I $P(^BQICARE(OWNR,1,PLIEN,15,FIL,0),U,2)'="" D Q
  1. .. S VALUE=$P(^BQICARE(OWNR,1,PLIEN,15,FIL,0),U,2)
  1. .. S POWNR=$P(VALUE,$C(26),1),PPNME=$P(VALUE,$C(26),2) Q:PPNME=""
  1. .. S PPLIEN=$O(^BQICARE(POWNR,1,"B",PPNME,"")) Q:PPLIEN=""
  1. .. S LOCK=$$LCK^BQIPLRF(POWNR,PPLIEN)
  1. .. I 'LOCK S SUCC=0
  1. . S TN=0
  1. . F S TN=$O(^BQICARE(OWNR,1,PLIEN,15,FIL,1,TN)) Q:'TN D Q:'SUCC
  1. .. S VALUE=$P(^BQICARE(OWNR,1,PLIEN,15,FIL,1,TN,0),U,1)
  1. .. S POWNR=$P(VALUE,$C(26),1),PPNME=$P(VALUE,$C(26),2) Q:PPNME=""
  1. .. S PPLIEN=$O(^BQICARE(POWNR,1,"B",PPNME,"")) Q:PPLIEN=""
  1. .. S LOCK=$$LCK^BQIPLRF(POWNR,PPLIEN)
  1. .. I 'LOCK S SUCC=0_"^"_$P(LOCK,U,2)_"^"_$G(BMXSEC)_"^"_POWNR_"^"_PPLIEN
  1. ;
  1. I 'SUCC D
  1. . S FIL=""
  1. . F S FIL=$O(^BQICARE(OWNR,1,PLIEN,15,"B","PLIDEN",FIL)) Q:FIL="" D
  1. .. I $P(^BQICARE(OWNR,1,PLIEN,15,FIL,0),U,2)'="" Q
  1. .. S TN=0
  1. .. F S TN=$O(^BQICARE(OWNR,1,PLIEN,15,FIL,1,TN)) Q:'TN D
  1. ... S VALUE=$P(^BQICARE(OWNR,1,PLIEN,15,FIL,1,TN,0),U,1)
  1. ... S POWNR=$P(VALUE,$C(26),1),PPNME=$P(VALUE,$C(26),2) Q:PPNME=""
  1. ... S PPLIEN=$O(^BQICARE(POWNR,1,"B",PPNME,"")) Q:PPLIEN=""
  1. ... D ULK^BQIPLRF(POWNR,PPLIEN)
  1. Q SUCC
  1. ;
  1. CPFLU(OWNR,PLIEN) ;EP - Contains a panel filter unlock
  1. NEW FIL,VALUE,POWNR,PPLIEN,TN,PPNME
  1. S FIL=""
  1. F S FIL=$O(^BQICARE(OWNR,1,PLIEN,15,"B","PLIDEN",FIL)) Q:FIL="" D
  1. . I $P(^BQICARE(OWNR,1,PLIEN,15,FIL,0),U,2)'="" D Q
  1. .. S VALUE=$P(^BQICARE(OWNR,1,PLIEN,15,FIL,0),U,2)
  1. .. S POWNR=$P(VALUE,$C(26),1),PPNME=$P(VALUE,$C(26),2) Q:PPNME=""
  1. .. S PPLIEN=$O(^BQICARE(POWNR,1,"B",PPNME,"")) Q:PPLIEN=""
  1. .. D ULK^BQIPLRF(POWNR,PPLIEN)
  1. . S TN=0
  1. . F S TN=$O(^BQICARE(OWNR,1,PLIEN,15,FIL,1,TN)) Q:'TN D
  1. .. S VALUE=$P(^BQICARE(OWNR,1,PLIEN,15,FIL,1,TN,0),U,1)
  1. .. S POWNR=$P(VALUE,$C(26),1),PPNME=$P(VALUE,$C(26),2) Q:PPNME=""
  1. .. S PPLIEN=$O(^BQICARE(POWNR,1,"B",PPNME,"")) Q:PPLIEN=""
  1. .. D ULK^BQIPLRF(POWNR,PPLIEN)
  1. Q
  1. ;
  1. PFILL(OWNR,PLIEN,PLIDEN) ;EP - Lock panel filters or send a notification
  1. NEW TEXT,TEXT1,POWNR,PPLIEN,LOCK
  1. S TEXT=" who is using it as a filter.",TEXT1=""
  1. S POWNR=""
  1. F S POWNR=$O(^BQICARE("AD",PLIDEN,POWNR)) Q:POWNR="" D Q:LFLG
  1. . S PPLIEN=""
  1. . F S PPLIEN=$O(^BQICARE("AD",PLIDEN,POWNR,PPLIEN)) Q:PPLIEN="" D Q:LFLG
  1. .. S LOCK=$$LCK^BQIPLRF(POWNR,PPLIEN) Q:LOCK
  1. .. S LFLG=1
  1. .. S TEXT1=" panel "_$P(^BQICARE(POWNR,1,PPLIEN,0),U,1)_TEXT
  1. .. D NOT^BQIPLRF(OWNR,PLIEN,TEXT1)
  1. Q
  1. ;
  1. PFILU(OWNR,PLIEN,PLIDEN) ;EP - Unlock panel filters locked earlier
  1. NEW POWNR,PPLIEN
  1. S POWNR=""
  1. F S POWNR=$O(^BQICARE("AD",PLIDEN,POWNR)) Q:POWNR="" D
  1. . S PPLIEN=""
  1. . F S PPLIEN=$O(^BQICARE("AD",PLIDEN,POWNR,PPLIEN)) Q:PPLIEN="" D ULK^BQIPLRF(POWNR,PPLIEN)
  1. Q