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

BQIPTREV.m

Go to the documentation of this file.
  1. BQIPTREV ;APTIV/HC/ALA-Get Patient's Last Routine Events ; 18 Jan 2008 5:49 PM
  1. ;;2.1;ICARE MANAGEMENT SYSTEM;;Feb 07, 2011
  1. ;
  1. ;
  1. EN(DATA,DFN) ;EP - BQI GET PATIENT ROUTINE EVENTS
  1. ;Description - all the routine events that a patient has
  1. ;
  1. ;Input
  1. ; DFN - Patient internal entry number
  1. ;
  1. NEW UID,II,BQNM,IEN,BQEVNT,HIEN,CALL,TAG,CODE,BQREM,RIEN,BQIX,BQLDT,CAT
  1. S UID=$S($G(ZTSK):"Z"_ZTSK,1:$J)
  1. S DATA=$NA(^TMP("BQIPTREV",UID))
  1. K @DATA
  1. ;
  1. S II=0
  1. NEW $ESTACK,$ETRAP S $ETRAP="D ERR^BQIPTREV D UNWIND^%ZTER" ; SAC 2006 2.2.3.3.2
  1. ;
  1. S HDR="T00050LASTROUT^D00015LASTDATE^T00030CATEGORY^I00010VISIT_IEN"
  1. S @DATA@(II)=HDR_$C(30)
  1. S BQNM=""
  1. F S BQNM=$O(^BQI(90507.3,"B",BQNM)) Q:BQNM="" D
  1. . S IEN=""
  1. . F S IEN=$O(^BQI(90507.3,"B",BQNM,IEN)) Q:IEN="" D
  1. .. S BQEVNT=$P(^BQI(90507.3,IEN,0),U,1),BQREM=$P(^(0),U,2)
  1. .. S HIEN=$$FIND1^DIC(9001018,"","X",BQREM,"B","","ERROR")
  1. .. ; if it didn't find the corresponding reminder, quit
  1. .. I HIEN=0 Q
  1. .. I $P(^APCHSURV(HIEN,0),U,3)'=1 Q
  1. .. S CALL=$P(^APCHSURV(HIEN,0),U,2),TAG=$P(CALL,";",1)
  1. .. S CAT=$$GET1^DIQ(9001018,HIEN_",",.05,"E")
  1. .. I TAG="" Q
  1. .. S CODE=TAG_"_"_HIEN
  1. .. S RIEN=$O(^BQIPAT(DFN,40,"B",CODE,""))
  1. .. I RIEN="" Q
  1. .. S BQIX=^BQIPAT(DFN,40,RIEN,0)
  1. .. S CT=0 F BI=2:1:3 I $P(BQIX,U,BI)'="" S CT=CT+1
  1. .. I CT=0 Q
  1. .. S BQLDT=$P(BQIX,U,2),VISIT=$P(BQIX,U,6)
  1. .. ;
  1. .. I BQREM="COLORECTAL CA-SCOPE/XRAY" D
  1. ... S BQLDT=""
  1. ... S X=$$GVHMR^APCHSMU(DFN,HIEN)
  1. ... I X'["|" S BQVAL=$P(X,U,4) D Q
  1. .... I BQVAL'[$$UP^XLFSTR(BQEVNT) Q
  1. .... S BQLDT=$P(X,U,2),VISIT=$P(X,U,6)
  1. ... F BQJ=1:1:$L(X,"|") D
  1. .... S BQVAL=$P(X,"|",BQJ)
  1. .... I $P(BQVAL,U,1)'=$$UP^XLFSTR(BQEVNT) Q
  1. .... S BQLDT=$P(BQVAL,U,2),VISIT=$P(BQIX,U,6)
  1. .. S BQLDT=$$FMTE^BQIUL1(BQLDT)
  1. .. ;I BQLDT="" S BQLDT="01/01/0001 12:00:00 AM"
  1. .. S II=II+1,@DATA@(II)=BQEVNT_U_BQLDT_U_CAT_U_VISIT_$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