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

BQICMRUN.m

Go to the documentation of this file.
  1. BQICMRUN ;VNGT/HS/BEE - Care Management - Calculate Last Run Date ; 7 Apr 2009 10:35 AM
  1. ;;2.1;ICARE MANAGEMENT SYSTEM;;Feb 07, 2011
  1. ;
  1. Q
  1. ;
  1. EN(DATA,DFN,SOURCE) ; EP - BQI GET LAST CARE MGT RUN
  1. ;
  1. ; Input
  1. ; DFN - Patient Internal ID
  1. ; SOURCE - Lookup (either NAME or IEN) to File #90506.5
  1. ;
  1. ; Get the Care Manager Last Run Information
  1. ;
  1. NEW UID,II,HDR,DA,NEDT,WEDT,LRDT,SEDT,SIEN
  1. S UID=$S($G(ZTSK):"Z"_ZTSK,1:$J)
  1. S DATA=$NA(^TMP("BQICMRUN",UID))
  1. K @DATA
  1. ;
  1. S DFN=$G(DFN,""),SOURCE=$G(SOURCE,"")
  1. ;
  1. S II=0
  1. NEW $ESTACK,$ETRAP S $ETRAP="D ERR^BQIGPRUN D UNWIND^%ZTER" ; SAC 2006 2.2.3.3.2
  1. ;
  1. S HDR="D00030LAST_RUN_DATETIME"
  1. S @DATA@(II)=HDR_$C(30)
  1. ;
  1. S DA=$O(^BQI(90508,0)) I 'DA G DONE
  1. ;
  1. ;Pull Nightly/Weekly Run Completion Times - Determine most recent
  1. S NEDT=$$GET1^DIQ(90508,DA_",",3.23,"I")
  1. S WEDT=$$GET1^DIQ(90508,DA_",",4.02,"I")
  1. S LRDT=WEDT S:NEDT>LRDT LRDT=NEDT
  1. ;
  1. ;Handle Individual Patient/SOURCE, if provided
  1. I DFN]"",SOURCE]"" D
  1. .;
  1. .;Check for valid iCare Patient
  1. .I '$D(^BQIPAT(DFN)) Q
  1. .;
  1. .;Convert SOURCE to IEN if necessary
  1. .I SOURCE'?1N.N S SOURCE=$O(^BQI(90506.5,"B",SOURCE,"")) Q:SOURCE'?1N.N
  1. .;
  1. .;Look up entry
  1. .S SIEN=$O(^BQIPAT(DFN,60,"B",SOURCE,"")) Q:SIEN=""
  1. .S SEDT=$$GET1^DIQ(90507.56,SIEN_","_DFN_",",".02","I")
  1. .S:SEDT]"" LRDT=SEDT
  1. ;
  1. ;Convert to external date
  1. S:LRDT]"" LRDT=$$FMTE^BQIUL1(LRDT)
  1. ;
  1. S II=II+1,@DATA@(II)=LRDT_$C(30)
  1. ;
  1. DONE ;
  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