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

BQIPTFLG.m

Go to the documentation of this file.
  1. BQIPTFLG ;PRXM/HC/ALA-Patient Flag Indicator ; 14 Dec 2006 1:34 PM
  1. ;;2.1;ICARE MANAGEMENT SYSTEM;;Feb 07, 2011
  1. ;
  1. GET(DATA,PDFN) ;EP -- BQI GET FLAG IND BY DFN
  1. ;Description
  1. ; Returns all flag indicators by panel and owner for a patient
  1. ;Input
  1. ; PDFN - Patient internal entry number
  1. ;
  1. ;Assumes DUZ
  1. ;
  1. NEW UID,II,BQIFLAG,PPDFN,BQIPREF,QFL,OWNR,PLIEN
  1. S UID=$S($G(ZTSK):"Z"_ZTSK,1:$J)
  1. S DATA=$NA(^TMP("BQIPTFLG",UID))
  1. K @DATA
  1. ;
  1. S II=0
  1. NEW $ESTACK,$ETRAP S $ETRAP="D ERR^BQIPTFLG D UNWIND^%ZTER" ; SAC 2006 2.2.3.3.2
  1. ;
  1. D RET^BQIFLAG(DUZ,.BQIPREF)
  1. S @DATA@(II)="I00010OWNER^I00010PANEL_IEN^T00001FLAG_INDICATOR^T00015PANEL_ID"_$C(30)
  1. S PLIEN=""
  1. F S PLIEN=$O(^BQICARE("AB",PDFN,DUZ,PLIEN)) Q:PLIEN="" D
  1. . I $P(^BQICARE(DUZ,1,PLIEN,40,PDFN,0),"^",2)="R" Q
  1. . S PPDFN=0,QFL=0
  1. . F S PPDFN=$O(^BQICARE(DUZ,1,PLIEN,40,PPDFN)) Q:'PPDFN D Q:QFL
  1. .. I $P(^BQICARE(DUZ,1,PLIEN,40,PPDFN,0),"^",2)="R" Q
  1. .. S BQIFLAG=$$FPAT^BQIFLAG(PPDFN,DUZ,.BQIPREF)
  1. .. I BQIFLAG S QFL=1
  1. . S II=II+1,@DATA@(II)=DUZ_"^"_PLIEN_"^"_$S(QFL:"Y",1:"")_"^"_$$PLID^BQIUG1(DUZ,PLIEN)_$C(30)
  1. ;
  1. ; Check for shared panels
  1. S OWNR=""
  1. F S OWNR=$O(^BQICARE("C",DUZ,OWNR)) Q:OWNR="" D
  1. . S PLIEN=""
  1. . F S PLIEN=$O(^BQICARE("C",DUZ,OWNR,PLIEN)) Q:PLIEN="" D
  1. .. I $G(^BQICARE(OWNR,1,PLIEN,40,PDFN,0))="" Q
  1. .. I $P(^BQICARE(OWNR,1,PLIEN,40,PDFN,0),"^",2)="R" Q
  1. .. S PPDFN=0,QFL=0
  1. .. F S PPDFN=$O(^BQICARE(OWNR,1,PLIEN,40,PPDFN)) Q:'PPDFN D Q:QFL
  1. ... S BQIFLAG=$$FPAT^BQIFLAG(PPDFN,DUZ,.BQIPREF)
  1. ... I BQIFLAG S QFL=1
  1. .. S II=II+1,@DATA@(II)=OWNR_"^"_PLIEN_"^"_$S(QFL:"Y",1:"")_"^"_$$PLID^BQIUG1(OWNR,PLIEN)_$C(30)
  1. ;
  1. DONE S II=II+1,@DATA@(II)=$C(31)
  1. Q
  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