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

BQISYSIT.m

Go to the documentation of this file.
  1. BQISYSIT ;APTIV/HC/ALA-System Site Parameters for iCare ; 11 Apr 2008 3:43 PM
  1. ;;2.7;ICARE MANAGEMENT SYSTEM;**1**;Dec 19, 2017;Build 12
  1. ;
  1. GET(DATA,FAKE) ;EP -- BQI GET SYSTEM PARAMETERS
  1. ; Get specific iCare system parameters from the Site Parameter file
  1. NEW UID,II,NUM,IEN
  1. S UID=$S($G(ZTSK):"Z"_ZTSK,1:$J)
  1. S DATA=$NA(^TMP("BQISYSIT",UID))
  1. K @DATA
  1. ;
  1. S II=0
  1. NEW $ESTACK,$ETRAP S $ETRAP="D ERR^BQISYSIT D UNWIND^%ZTER" ; SAC 2006 2.2.3.3.2
  1. ;
  1. S @DATA@(II)="I00010NUM_CONN"_$C(30)
  1. ;
  1. S IEN=$$SPM^BQIGPUTL()
  1. S NUM=$$GET1^DIQ(90508,IEN_",",.19,"E") S:NUM="" NUM=3
  1. S II=II+1,@DATA@(II)=NUM_$C(30)
  1. ;
  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. JOB(DATA,FAKE) ; EP - BQI GET SYSTEM JOB DATA
  1. NEW UID,II,NUM,IEN,OPTN,JOB,FLDS,BQSCHED,BQI,SDATA,TYPE,START,FROM,THRU
  1. NEW END,STAT,OPN,TYP,TASK,TSK,BQNSCH
  1. S UID=$S($G(ZTSK):"Z"_ZTSK,1:$J)
  1. S DATA=$NA(^TMP("BQISYSIT",UID))
  1. K @DATA
  1. ;
  1. S II=0
  1. NEW $ESTACK,$ETRAP S $ETRAP="D ERR^BQISYSIT D UNWIND^%ZTER" ; SAC 2006 2.2.3.3.2
  1. ;
  1. S @DATA@(II)="T00015JOB^T00015TYPE^D00030START^D00030END^T00015STATUS^T00050NEXT_DUE"_$C(30)
  1. ;
  1. S IEN=$$SPM^BQIGPUTL(),BQSCHED=""
  1. S OPTN=$$FIND^BQISCHED("BQI NIGHTLY BACKGROUND")
  1. I $O(^DIC(19.2,"B",OPTN,""))="" S BQSCHED="Not scheduled"
  1. S JOB="NIGHTLY"
  1. S FLDS="Flags;3.01;3.02;3.03^Natl Measures;3.07;3.08;3.09^Diagnostic Tags;3.04;3.05;3.06^Reminders;3.1;3.11;3.12^Best Practice Prompts;3.13;3.14;"
  1. S FLDS=FLDS_"3.15^Comm Alerts;3.16;3.17;3.18^Panel Autopopulate;3.19;3.2;3.21^Care Mgmt Update;3.22;3.23;3.24" D RET
  1. ; CMET
  1. S START=$$FMTE^BQIUL1($P(^BTPW(90628,IEN,0),U,6))
  1. S END=$$FMTE^BQIUL1($P(^BTPW(90628,IEN,0),U,7))
  1. S STAT=$$GET1^DIQ(90628,IEN_",",.08,"E")
  1. S TASK=24.11,TSK=$$GET1^DIQ(90508,IEN_",",TASK,"E") I TSK'="" S STAT=$$TSK(TSK)
  1. S II=II+1,@DATA@(II)=JOB_U_"CMET Data Mining"_U_START_U_END_U_STAT_U_BQSCHED_$C(30)
  1. ;
  1. S OPTN=$$FIND^BQISCHED("BQI UPDATE TASK")
  1. I $O(^DIC(19.2,"B",OPTN,""))="" S BQSCHED="Not scheduled"
  1. S JOB="WEEKLY",FLDS="Diagnostic Tags;4.01;4.02;4.03;24.04^Natl Measures;4.04;4.05;4.06;24.05^Reminders;4.07;4.08;4.09;24.06^Best Practice Prompts;4.1;4.11;4.12;24.02" D RET
  1. S JOB="WEEKLY",FLDS="Care Mgmt Update;4.13;4.14;4.15;24.03^IPC;8.04;8.05;8.06;11.06" D RET
  1. ;
  1. S JOB="MONTHLY",FLDS="IPC Update;8.1;8.11;8.12;24.08" D RET
  1. ;
  1. S II=II+1,@DATA@(II)=$C(31)
  1. Q
  1. ;
  1. RET ; Retrieve data
  1. F BQI=1:1:$L(FLDS,"^") D
  1. . S SDATA=$P(FLDS,"^",BQI)
  1. . S TYP=$P(SDATA,";",1),FROM=$P(SDATA,";",2),THRU=$P(SDATA,";",3),STAT=$P(SDATA,";",4),TASK=$P(SDATA,";",5)
  1. . S START=$$FMTE^BQIUL1($$GET1^DIQ(90508,IEN_",",FROM,"I"))
  1. . S END=$$FMTE^BQIUL1($$GET1^DIQ(90508,IEN_",",THRU,"I"))
  1. . S STAT=$$GET1^DIQ(90508,IEN_",",STAT,"E"),BQSCHED=""
  1. . S TSK=$$GET1^DIQ(90508,IEN_",",TASK,"E") I TSK'="" S STAT=$$TSK(TSK)
  1. . I JOB="NIGHTLY" D
  1. .. I STAT'="" S TASK=24.01,TSK=$$GET1^DIQ(90508,IEN_",",TASK,"E") I TSK'="" S STAT=$$TSK(TSK)
  1. .. S OPTN=$$FIND^BQISCHED("BQI NIGHTLY BACKGROUND")
  1. .. I OPTN'>0 S BQSCHED="Not scheduled" Q
  1. .. S OPN=$O(^DIC(19.2,"B",OPTN,""))
  1. .. I OPN="" S BQSCHED="Not scheduled" Q
  1. .. S BQSCHED=$$FMTE^BQIUL1($P(^DIC(19.2,OPN,0),U,2)),BQNSCH=$P(^DIC(19.2,OPN,0),U,2)
  1. . I JOB="WEEKLY" D
  1. .. I TYP="Diagnostic Tags"!(TYP="Natl Measures") D
  1. ... S OPTN=$$FIND^BQISCHED("BQI UPDATE TASK")
  1. ... I OPTN'>0 S BQSCHED="Not scheduled" Q
  1. ... S OPN=$O(^DIC(19.2,"B",OPTN,""))
  1. ... I OPN="" S BQSCHED="Not scheduled" Q
  1. ... S BQSCHED=$$FMTE^BQIUL1($P(^DIC(19.2,OPN,0),U,2))
  1. .. I TYP="Reminders" D OPRET("BQI UPDATE ALL REMINDERS")
  1. .. I TYP="Best Practice Prompts" D OPRET("BQI UPDATE TREATMENT")
  1. .. I TYP="Care Mgmt Update" D OPRET("BQI UPDATE CARE MGMT")
  1. .. I TYP="IPC" D
  1. ... NEW CDOW,DFL,WDATE
  1. ... S CDOW=$$DOW^XLFDT(DT,1) I CDOW'=0 D
  1. ... S DFL=0
  1. ... F I=1:1 Q:DFL D Q:DFL
  1. .... S WDATE=$$FMADD^XLFDT(DT,+I),CDOW=$$DOW^XLFDT(WDATE,1)
  1. .... I CDOW=0 S DFL=1,BQSCHED=WDATE_"."_$P($P($G(^BQI(90508,1,4)),"^",19),".",2),BQSCHED=$$FMTE^BQIUL1(BQSCHED)
  1. . ;
  1. . I JOB="MONTHLY" D
  1. .. I TYP="MU Clinical Quality" D
  1. ... NEW ZTSK
  1. ... S ZTSK=$P(^BQI(90508,1,12),U,5) I ZTSK'="" D QTSK(ZTSK) Q
  1. ... I ZTSK="" D NXRUN("01") Q
  1. .. I TYP="MU Performance" D
  1. ... NEW ZTSK
  1. ... S ZTSK=$P(^BQI(90508,1,12),U,6) I ZTSK'="" D QTSK(ZTSK) Q
  1. ... I ZTSK="" D NXRUN("01")
  1. .. I TYP="IPC Update" D
  1. ... NEW DY
  1. ... S DY=$P(^BQI(90508,1,11),U,2)
  1. ... D NXRUN("0"_DY) Q
  1. . S II=II+1,@DATA@(II)=JOB_U_TYP_U_START_U_END_U_STAT_U_BQSCHED_$C(30)
  1. Q
  1. ;
  1. PTCH(DATA,PATCH) ;EP - BQI CHECK PATCH STATUS
  1. ; Input parameter
  1. ; PATCH - Standard KIDS patch format e.g. BQI*1.1*2 or BGP*8.0*2
  1. NEW UID,II,RESULT,MSG
  1. S UID=$S($G(ZTSK):"Z"_ZTSK,1:$J)
  1. S DATA=$NA(^TMP("BQISYPTCH",UID))
  1. K @DATA
  1. ;
  1. S II=0
  1. NEW $ESTACK,$ETRAP S $ETRAP="D ERR^BQISYSIT D UNWIND^%ZTER" ; SAC 2006 2.2.3.3.2
  1. ;
  1. S @DATA@(II)="I00010RESULT^T00100MSG"_$C(30)
  1. S RESULT=$$PATCH^XPDUTL(PATCH)
  1. I RESULT=0 S RESULT=-1,MSG="Patch is not installed"
  1. S II=II+1,@DATA@(II)=RESULT_"^"_$G(MSG)_$C(30)
  1. S II=II+1,@DATA@(II)=$C(31)
  1. Q
  1. ;
  1. VRCH(DATA,PKG) ; EP - BQI CHECK VERSION STATUS
  1. ; Input parameter
  1. ; PKG - Standard Package namespace e.g. BQI or BGP.
  1. NEW UID,II,RESULT
  1. S UID=$S($G(ZTSK):"Z"_ZTSK,1:$J)
  1. S DATA=$NA(^TMP("BQISYVRCH",UID))
  1. K @DATA
  1. ;
  1. S II=0
  1. NEW $ESTACK,$ETRAP S $ETRAP="D ERR^BQISYSIT D UNWIND^%ZTER" ; SAC 2006 2.2.3.3.2
  1. ;
  1. S @DATA@(II)="T00010VERSION"_$C(30)
  1. S RESULT=$$VERSION^XPDUTL(PKG)
  1. S II=II+1,@DATA@(II)=RESULT_$C(30)
  1. S II=II+1,@DATA@(II)=$C(31)
  1. Q
  1. ;
  1. JTIP(DATA,FAKE) ;EP - BQI GET JOB TOOLTIPS
  1. NEW UID,II,BQIDA,TDTA,PC,ND,TEXT,NN,TXT
  1. S UID=$S($G(ZTSK):"Z"_ZTSK,1:$J)
  1. S DATA=$NA(^TMP("BQISYSTP",UID))
  1. K @DATA
  1. ;
  1. S II=0
  1. NEW $ESTACK,$ETRAP S $ETRAP="D ERR^BQISYSIT D UNWIND^%ZTER" ; SAC 2006 2.2.3.3.2
  1. ;
  1. S @DATA@(II)="T01024JOB^T01024TYPE^T01024END^T01024START^T01024STATUS^T01024NEXT_DUE"_$C(30)
  1. ;
  1. S BQIDA=$$SPM^BQIGPUTL(),II=II+1
  1. ; Process the word-processing tooltips
  1. F TDTA="5,1","6,2","7,3" D JTXT
  1. ;
  1. F PC=1:1:3 S $P(@DATA@(II),U,(PC+3))=$P(^BQI(90508,BQIDA,8),U,PC)
  1. S @DATA@(II)=@DATA@(II)_$C(30)
  1. S II=II+1,@DATA@(II)=$C(31)
  1. Q
  1. ;
  1. JTXT ;
  1. S ND=$P(TDTA,",",1),PC=$P(TDTA,",",2)
  1. S TEXT="",NN=0
  1. F S NN=$O(^BQI(90508,BQIDA,ND,NN)) Q:'NN D
  1. . S TXT=^BQI(90508,BQIDA,ND,NN,0)
  1. . S TEXT=TEXT_TXT_$C(10)
  1. S $P(@DATA@(II),U,PC)=$$TKO^BQIUL1(TEXT,$C(10))
  1. Q
  1. ;
  1. OPRET(RPC) ;EP
  1. S OPTN=$$FIND^BQISCHED(RPC)
  1. I OPTN'>0 S BQSCHED="Not scheduled" Q
  1. S OPN=$O(^DIC(19.2,"B",OPTN,""))
  1. I OPN="" S BQSCHED="Not scheduled" Q
  1. S BQSCHED=$$FMTE^BQIUL1($P(^DIC(19.2,OPN,0),U,2))
  1. Q
  1. ;
  1. NXRUN(DAY) ;EP
  1. NEW CIPC
  1. S CIPC=$P($G(^BQI(90508,1,8)),U,10)
  1. S BQMON=$E(CIPC,4,5),CYR=$E(CIPC,1,3)
  1. ;S BQMON=$E(DT,4,5),CYR=$E(DT,1,3)
  1. I BQMON=12 S BQMON=1,CYR=CYR+1
  1. E S BQMON=BQMON+1
  1. I $L(BQMON)=1 S BQMON="0"_BQMON
  1. S BEGDT=CYR_BQMON_DAY
  1. S BQSCHED=$$FMTE^BQIUL1(BEGDT)_" "_$P($$FMTE^XLFDT(BQNSCH),"@",2)
  1. Q
  1. ;
  1. TSK(ZTSK) ;EP
  1. I $G(ZTSK)="" Q ""
  1. D STAT^%ZTLOAD
  1. Q $G(ZTSK(2))
  1. ;
  1. QTSK(ZTSK) ;EP
  1. NEW STRT
  1. S STRT=$P($G(^%ZTSK(ZTSK,0)),U,6),STRT=$$HTFM^XLFDT(STRT)
  1. S BQSCHED=$$FMTE^BQIUL1(STRT)
  1. Q