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

BQIPLDF.m

Go to the documentation of this file.
  1. BQIPLDF ;PRXM/HC/DLS - Get Panel Definition ; 23 Nov 2005 11:13 AM
  1. ;;2.3;ICARE MANAGEMENT SYSTEM;;Apr 18, 2012;Build 59
  1. ;
  1. Q
  1. ;
  1. EN(DATA,OWNER,PLIEN) ; EP -- BQI GET PANEL DEF
  1. ;
  1. ;Description
  1. ; Given a Panel Owner IEN and a Panel IEN, generates the panel definition.
  1. ;
  1. ;Input
  1. ; OWNER - Panel Owner IEN
  1. ; PLIEN - IEN of the panel within the Owner's file.
  1. ;
  1. ;Output
  1. ; DATA - Name of global in which data is stored(^TMP("BQIPLDF"))
  1. ;
  1. N UID,X,BQII,DA,IENS,PCAT
  1. N THDR,PLID,OWNRNM,PLNAME,PLDESC,PLDTCR,PLSTYP,DFUPBY,ASSOC,STATUS,IPCPL
  1. N PDTDFUP,AUPPFL,PDTPOPD,PTLSUP,DTLSUP,TOTPAT,SRCNAM,GDESC,FSRCNAM,POPBY
  1. S UID=$S($G(ZTSK):"Z"_ZTSK,1:$J)
  1. S DATA=$NA(^TMP("BQIPLDF",UID))
  1. K @DATA
  1. ;
  1. S BQII=0
  1. ;
  1. NEW $ESTACK,$ETRAP S $ETRAP="D ERR^BQIPLDF D UNWIND^%ZTER" ; SAC 2006 2.2.3.3.2
  1. ;
  1. D HDR
  1. ;
  1. ; Get PLID and Owner Name
  1. S DA=OWNER,IENS=$$IENS^DILF(.DA)
  1. S PLID=$$PLID^BQIUG1(OWNER,PLIEN) ;PLID(Owner IEN + Panel IEN)
  1. S OWNRNM=$$GET1^DIQ(90505,IENS,.01,"E") ;Owner Name
  1. ;
  1. ; Get Panel Information
  1. S DA(1)=OWNER,DA=PLIEN,IENS=$$IENS^DILF(.DA)
  1. S PLNAME=$$GET1^DIQ(90505.01,IENS,.01,"E") ;Panel Name
  1. S PLDESC=$$GET1^DIQ(90505.01,IENS,1,"E") ;Panel Descripton
  1. S PLDTCR=$$GET1^DIQ(90505.01,IENS,.02,"I") ;Date Panel Created
  1. I PLDTCR S PLDTCR=$$FMTE^BQIUL1(PLDTCR)
  1. S PLSTYP=$$GET1^DIQ(90505.01,IENS,.03,"I") ;Panel Source Type
  1. S DFUPBY=$$GET1^DIQ(90505.01,IENS,.04,"E") ;Panel Def Last Updated By
  1. S PDTDFUP=$$GET1^DIQ(90505.01,IENS,.05,"I") ;Date Panel Def Last Updated
  1. I PDTDFUP S PDTDFUP=$$FMTE^BQIUL1(PDTDFUP)
  1. S AUPPFL=$$GET1^DIQ(90505.01,IENS,.06,"I") ;Autopopulate Flag
  1. S PDTPOPD=$$GET1^DIQ(90505.01,IENS,.07,"I") ;Date Panel Last Populated
  1. S POPBY=$$GET1^DIQ(90505.01,IENS,3.5,"E") ;Populated by
  1. I PDTPOPD S PDTPOPD=$$FMTE^BQIUL1(PDTPOPD)
  1. S PTLSUP=$$GET1^DIQ(90505.01,IENS,.08,"E") ;Patient List Updated By
  1. S DTLSUP=$$GET1^DIQ(90505.01,IENS,.09,"I") ;Date Patient List Last Updated
  1. I DTLSUP S DTLSUP=$$FMTE^BQIUL1(DTLSUP)
  1. S TOTPAT=$$GET1^DIQ(90505.01,IENS,.1,"E") ;Total Patients
  1. S SRCNAM=$$GET1^DIQ(90505.01,IENS,.11,"E") ;Source Name
  1. S FSRCNAM=$$GET1^DIQ(90505.01,IENS,.14,"E") ;Filter Source Name
  1. S STATUS=$$GET1^DIQ(90505.01,IENS,.13,"I") ;Status
  1. S ASSOC=$$GET1^DIQ(90505.01,IENS,.15,"E") ;Associated Panel IEN
  1. S IPCPL=$$GET1^DIQ(90505.01,IENS,2.1,"I") ;IPC Panel Flag
  1. I IPCPL=1 S IPCPL="Y"
  1. S PCAT=$$PCAT(OWNER,PLIEN) ;Panel Category
  1. ; Generated description
  1. S GDESC="" D
  1. . NEW TEXT,TN
  1. . D GETS^DIQ(90505.01,IENS,5,"","TEXT")
  1. . S TN=0 F S TN=$O(TEXT(90505.01,IENS,5,TN)) Q:'TN I TEXT(90505.01,IENS,5,TN)'="" D
  1. .. I TEXT(90505.01,IENS,5,TN)'["Panel Category:" S GDESC=GDESC_TEXT(90505.01,IENS,5,TN)_$C(10) Q
  1. .. NEW CDESC
  1. .. D CATIPC^BQIPDSCM(OWNER,PLIEN,.CDESC)
  1. .. I $D(CDESC(1,0)) S GDESC=GDESC_CDESC(1,0)_$C(10)
  1. ;
  1. S BQII=BQII+1
  1. S @DATA@(BQII)=OWNER_"^"_OWNRNM_"^"_PLIEN_"^"_PLID_"^"_PLNAME_"^"_PLDESC_"^"_PLDTCR_"^"
  1. S @DATA@(BQII)=@DATA@(BQII)_PLSTYP_"^"_DFUPBY_"^"_PDTDFUP_"^"_AUPPFL_"^"_PDTPOPD_"^"_POPBY_"^"_PTLSUP_"^"_DTLSUP_"^"
  1. S @DATA@(BQII)=@DATA@(BQII)_TOTPAT_"^"_SRCNAM_"^"_GDESC_"^"_FSRCNAM_"^"_STATUS_"^"_ASSOC_"^"_IPCPL_"^"_PCAT_$C(30)
  1. ;
  1. DONE ; -- exit
  1. S BQII=BQII+1,@DATA@(BQII)=$C(31)
  1. Q
  1. ;
  1. HDR ; -- header
  1. S THDR="I00010OWNER^T00050OWNER_NAME^I00010PANEL_IEN^T00020PANEL_ID^T00120PANEL_NAME^T00250PANEL_DESCRIPTION^D00015DT_CREATED^"
  1. S THDR=THDR_"T00010SOURCE_TYPE^T00050DEF_LAST_UPDATED_BY^D00015DT_DEF_LAST_UPDATED^T00001AUTOPOPULATE_FLAG^D00015DT_LAST_POPULATED^"
  1. S THDR=THDR_"T00035POPULATED_BY^T00050PATIENT_LIST_UPDATED_BY^D00015DT_PATIENT_LIST_UPDATED^I00010TOTAL_PATIENTS^T00030SOURCE_NAME^"
  1. S THDR=THDR_"T00250GENERATED_DESCRIPTION^T00030FILTER_SOURCE_NAME^T00001STATUS^I00010ASSOCIATED_PANEL_IEN^T00001IPC_PANEL^"
  1. S THDR=THDR_"T00030PANEL_CATEGORY"_$C(30)
  1. S @DATA@(BQII)=THDR
  1. Q
  1. ;
  1. PCAT(OWNR,PLIEN) ;EP - Retrieve panel category
  1. ;
  1. ;If panel owner equals DUZ
  1. NEW DA,IENS
  1. S DA(1)=OWNR,DA=PLIEN,IENS=$$IENS^DILF(.DA)
  1. I DUZ=OWNR Q $$GET1^DIQ(90505.01,IENS,2.2,"E")
  1. K DA,IENS
  1. ;
  1. ;Otherwise pull from share node
  1. NEW DA,IENS
  1. S DA(2)=OWNR,DA(1)=PLIEN,DA=DUZ,IENS=$$IENS^DILF(.DA)
  1. Q $$GET1^DIQ(90505.03,IENS,.06,"E")
  1. ;
  1. ERR ; -- error trapping
  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(BQII),$D(DATA) S BQII=BQII+1,@DATA@(BQII)=$C(31)
  1. Q