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

BTPWBTTR.m

Go to the documentation of this file.
  1. BTPWBTTR ;VNGT/HS/ALA-Batch Event Trigger ; 21 Oct 2009 1:36 PM
  1. ;;1.1;CARE MANAGEMENT EVENT TRACKING;**2**;Apr 01, 2015;Build 17
  1. ;
  1. ;
  1. INIT(DATA,BTPWPRC) ;EP -- BTPW BATCH EVENT INITIAL
  1. NEW UID,II,VALUE,SOURCE,IEN,TYPE,IIEN,BTPWPFND,BTPWFNTR,FNDING,ABLE,FNDING
  1. S UID=$S($G(ZTSK):"Z"_ZTSK,1:$J)
  1. S DATA=$NA(^TMP("BTPWBTTR",UID))
  1. K @DATA
  1. S II=0
  1. NEW $ESTACK,$ETRAP S $ETRAP="D ERR^BTPWBTTR D UNWIND^%ZTER" ; SAC 2006 2.2.3.3.2
  1. ;
  1. S @DATA@(II)="T00008SOURCE^T00001CODE_TYPE^T00001ABLE_FLAG^T01024PARMS"_$C(30)
  1. S IEN="",VALUE=""
  1. S IEN=$O(^BTPW(90628,1,2,"B",BTPWPRC,IEN))
  1. I IEN="" S BMXSEC="RPC Failed: This procedure is not on file for batch events" Q
  1. ; For findings, get default from Site parameters
  1. S SOURCE="BTPWPFND",TYPE="T",ABLE="Y" D
  1. . S (FNDING,VALUE)=$P($G(^BTPW(90628,1,2,IEN,1)),U,1)
  1. . I $P(^BTPW(90621,BTPWPRC,0),U,1)="PAP SMEAR",VALUE]"" S VALUE=VALUE_$C(28)_$P($G(^BTPW(90620.9,VALUE,0)),U) ;Include name with Paps
  1. . I $P(^BTPW(90621,BTPWPRC,0),U,1)="PAP SMEAR" S ABLE="Y"
  1. . S @SOURCE=VALUE D UP
  1. . ;S VALUE=FNDING_$C(29)_$P(^BTPW(90620.9,FNDING,0),U,1) D UP
  1. . ; for findings interpretation, get default from findings
  1. S SOURCE="BTPWFNTR",TYPE="C",ABLE="Y" D
  1. . NEW IIEN
  1. . S IIEN=$O(^BTPW(90621,BTPWPRC,6,"B",FNDING,"")) I IIEN="" Q
  1. . S VAL=$P(^BTPW(90621,BTPWPRC,6,IIEN,0),U,2)
  1. . S VALUE=VAL_$C(29)_$$STC^BQIUL2(90621.06,.02,VAL)
  1. . S @SOURCE=VALUE
  1. . D UP
  1. ; For followup event, same as selected event
  1. S SOURCE="BTPWPFOL",TYPE="T",ABLE="Y" D
  1. . ;S VALUE=BTPWPRC_$C(29)_$P(^BTPW(90621,BTPWPRC,0),U,1) D UP
  1. . S VALUE=$P(^BTPW(90621,BTPWPRC,0),U,1) D UP
  1. ; For Followup Due By Date, get from Site parameters
  1. S SOURCE="BTPWPFLD",TYPE="C" D
  1. . S VALUE=$P(^BTPW(90628,1,2,IEN,0),U,2)
  1. . S VALUE=VALUE
  1. . ;_$C(29)_$S(VALUE="24M":"2 years",VALUE="36M":"3 years",1:"1 year")
  1. . D UP
  1. ; For close reason, Event Complete = 1
  1. ;S SOURCE="BTPWPCLR",TYPE="C",VALUE=1_$C(29)_$$STC^BQIUL2(90620,1.04,1) D UP
  1. S SOURCE="BTPWPCLR",TYPE="C",VALUE=$$STC^BQIUL2(90620,1.04,1) D UP
  1. ; For State, it is CLOSED
  1. ;S SOURCE="BTPWSTGE",TYPE="C",VALUE="C"_$C(29)_"CLOSED" D UP
  1. S SOURCE="BTPWSTGE",TYPE="C",VALUE="CLOSED" D UP
  1. S SOURCE="BTPWPNOT",TYPE="T",VALUE=$P(^BTPW(90628,1,2,IEN,0),U,5) D UP
  1. ; For Status, it is TRACKED
  1. ;S SOURCE="BTPWSTAT",TYPE="C",VALUE="T"_$C(29)_"TRACKED" D UP
  1. S SOURCE="BTPWSTAT",TYPE="C",VALUE="TRACKED" D UP
  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. UP ; Update
  1. S II=II+1,@DATA@(II)=SOURCE_U_TYPE_U_$G(ABLE)_U_VALUE_$C(30)
  1. Q
  1. ;
  1. NOT(DATA,BTPWPNOT) ; EP - BTPW TRIGGER NOTIFICATION
  1. NEW UID,II,VALUE,SOURCE,HELP,ABLE,REQ,CLEAR,TYPE,ABR,CLFLAG
  1. S UID=$S($G(ZTSK):"Z"_ZTSK,1:$J)
  1. S DATA=$NA(^TMP("BTPWBTTR",UID))
  1. K @DATA
  1. S II=0
  1. NEW $ESTACK,$ETRAP S $ETRAP="D ERR^BTPWBTTR D UNWIND^%ZTER" ; SAC 2006 2.2.3.3.2
  1. ;
  1. D HDR
  1. ;
  1. S ABR=$P(^BTPW(90622,BTPWPNOT,0),U,3)
  1. I ABR="L"!(ABR="T") D
  1. . S SOURCE="BTPWTDOC",VALUE="",HELP="",ABLE="Y",REQ="R",CLEAR="",CLFLAG="",TYPE="T" D REC
  1. . S SOURCE="BTPWTTMP",VALUE="",HELP="",ABLE="Y",REQ="R",CLEAR="",CLFLAG="",TYPE="T" D REC
  1. . S SOURCE="BTPWSIGN",VALUE="",HELP="",ABLE="Y",REQ="R",CLEAR="",CLFLAG="",TYPE="P" D REC
  1. . S SOURCE="BTPWLNK",VALUE="",HELP="",ABLE="Y",REQ="R",CLEAR="",CLFLAG="",TYPE="X" D REC
  1. E D
  1. . S SOURCE="BTPWTDOC",VALUE="",HELP="",ABLE="N",REQ="R",CLEAR="BTPWTDOC",CLFLAG="",TYPE="T" D REC
  1. . S SOURCE="BTPWTTMP",VALUE="",HELP="",ABLE="N",REQ="R",CLEAR="BTPWTTMP",CLFLAG="",TYPE="T" D REC
  1. . S SOURCE="BTPWSIGN",VALUE="",HELP="",ABLE="N",REQ="R",CLEAR="BTPWSIGN",CLFLAG="",TYPE="P" D REC
  1. . S SOURCE="BTPWLNK",VALUE="",HELP="",ABLE="N",REQ="R",CLEAR="BTPWLNK",CLFLAG="",TYPE="X" D REC
  1. S II=II+1,@DATA@(II)=$C(31)
  1. Q
  1. ;
  1. STATE(DATA,BTPWSTGE,BTPWRDUE,BTPWFDUE,BTPWNDUE,BTPWFLUN,BTPWFIND) ; EP - BTPW TRIGGER STATE
  1. NEW UID,II,VALUE,SOURCE,HELP,ABLE,REQ,CLEAR,TYPE
  1. NEW BTPFNDTM,BTPWPFND,BTPWFNTR,BTPFNCOM,BTPFLND,BTPEDTM,BTPEDBY,FNDDT
  1. ;
  1. S UID=$S($G(ZTSK):"Z"_ZTSK,1:$J)
  1. S DATA=$NA(^TMP("BTPWBTTR",UID))
  1. K @DATA
  1. S II=0
  1. NEW $ESTACK,$ETRAP S $ETRAP="D ERR^BTPWBTTR D UNWIND^%ZTER" ; SAC 2006 2.2.3.3.2
  1. ;
  1. ;Re-Assemble parameter list if in an array
  1. S BTPWFIND=$G(BTPWFIND,"")
  1. I BTPWFIND="" D
  1. . N LIST,BN
  1. . S LIST="",BN=""
  1. . F S BN=$O(BTPWFIND(BN)) Q:BN="" S LIST=LIST_BTPWFIND(BN)
  1. . K BTPWFIND
  1. . S BTPWFIND=LIST
  1. . K LIST
  1. ;
  1. ;Parse Parameters
  1. S (BTPFNDTM,BTPWPFND,BTPWFNTR,BTPFNCOM,BTPFLND,BTPEDTM,BTPEDBY)=""
  1. F BQ=1:1:$L(BTPWFIND,$C(28)) D
  1. . N PDATA,NAME,VALUE,BP,BV
  1. . S PDATA=$P(BTPWFIND,$C(28),BQ) Q:PDATA=""
  1. . S NAME=$P(PDATA,"=",1) I NAME=""!(NAME="CMIEN")!(NAME="EVIEN") Q
  1. . S VALUE=$P(PDATA,"=",2,99) Q:VALUE=""
  1. . F BP=1:1:$L(VALUE,$C(29)) S BV=$P(VALUE,$C(29),BP),@NAME=$G(@NAME)_$S(BP=1:"",1:$C(29))_BV
  1. ;
  1. ;Get earliest finding date
  1. S FNDDT=""
  1. I BTPFNDTM]"" D
  1. . N I,VAL,CVAL
  1. . S CVAL="" F I=1:1:$L(BTPFNDTM,$C(29)) S VAL=$$DATE^BQIUL1($P(BTPFNDTM,$C(29),I)) I VAL'="",(VAL<CVAL)!(CVAL="") S CVAL=VAL
  1. . S FNDDT=CVAL
  1. ;
  1. S BTPWRDUE=$$FMTE^BQIUL1($$DATE^BQIUL1(BTPWRDUE))
  1. S BTPWFDUE=$$FMTE^BQIUL1($$DATE^BQIUL1(BTPWFDUE))
  1. S BTPWNDUE=$$FMTE^BQIUL1($$DATE^BQIUL1(BTPWNDUE))
  1. ;
  1. D HDR
  1. I BTPWSTGE="O" D
  1. . S SOURCE="BTPCLREA",VALUE="",HELP="",ABLE="N",REQ="",CLEAR="BTPCLREA",CLFLAG="",TYPE="C" D REC
  1. . S SOURCE="BTPOTCOM",VALUE="",HELP="",ABLE="Y",REQ="",CLEAR="BTPOTCOM",CLFLAG="",TYPE="X" D REC
  1. . ;
  1. . ;Enable/disable Follow-up Needed
  1. . I FNDDT]"" S SOURCE="BTPWFLUN",VALUE=BTPWFLUN,HELP="",ABLE="Y",REQ="",CLEAR="",CLFLAG="",TYPE="C" D REC
  1. . ;
  1. . ;Enable Follow-up Decision Due By
  1. . I BTPWFLUN="Y" S SOURCE="BTPWFDUE",VALUE=BTPWFDUE,HELP="",ABLE="Y",REQ="",CLEAR="",CLFLAG="",TYPE="D" D REC
  1. . ;
  1. . ;Enable Findings Due By
  1. . S SOURCE="BTPWRDUE",VALUE=BTPWRDUE,HELP="",ABLE="Y",REQ="",CLEAR="",CLFLAG="",TYPE="D" D REC
  1. . ;
  1. . ;Enable Findings Grid
  1. . S SOURCE="BTPWFIND",VALUE="",HELP="",ABLE="Y",REQ="",CLEAR="",CLFLAG="",TYPE="M" D REC
  1. . ;
  1. . ;Enable Follow-up Grid
  1. . I BTPWFLUN="Y" S SOURCE="BTPWFU",VALUE="",HELP="",ABLE="Y",REQ="",CLEAR="",CLFLAG="",TYPE="M" D REC
  1. . ;
  1. . ;Enable Notifications Due By
  1. . I FNDDT]"" S SOURCE="BTPWNDUE",VALUE=BTPWNDUE,HELP="",ABLE="Y",REQ="",CLEAR="",CLFLAG="",TYPE="D" D REC
  1. . ;
  1. . ;Enable Notifications Grid
  1. . I FNDDT]"" S SOURCE="BTPWNTY",VALUE="",HELP="",ABLE="Y",REQ="",CLEAR="",CLFLAG="",TYPE="M" D REC
  1. . ;
  1. ;
  1. I BTPWSTGE="C" D
  1. . S SOURCE="BTPCLREA",VALUE="",HELP="",ABLE="Y",REQ="R",CLEAR="",CLFLAG="",TYPE="T" D REC
  1. . S SOURCE="BTPOTCOM",VALUE="",HELP="",ABLE="Y",REQ="",CLEAR="",CLFLAG="",TYPE="X" D REC
  1. . S SOURCE="BTPWFIND",VALUE="",HELP="",ABLE="N",REQ="",CLEAR="",CLFLAG="",TYPE="M" D REC
  1. . S SOURCE="BTPWFU",VALUE="",HELP="",ABLE="N",REQ="",CLEAR="",CLFLAG="",TYPE="M" D REC
  1. . S SOURCE="BTPWNTY",VALUE="",HELP="",ABLE="N",REQ="",CLEAR="",CLFLAG="",TYPE="M" D REC
  1. . S SOURCE="BTPWRDUE",VALUE=BTPWRDUE,HELP="",ABLE="N",REQ="",CLEAR="",CLFLAG="N",TYPE="D" D REC
  1. . S SOURCE="BTPWFDUE",VALUE=BTPWFDUE,HELP="",ABLE="N",REQ="",CLEAR="",CLFLAG="N",TYPE="D" D REC
  1. . S SOURCE="BTPWNDUE",VALUE=BTPWNDUE,HELP="",ABLE="N",REQ="",CLEAR="",CLFLAG="N",TYPE="D" D REC
  1. . S SOURCE="BTPWFLUN",VALUE=BTPWFLUN,HELP="",ABLE="N",REQ="",CLEAR="",CLFLAG="N",TYPE="C" D REC
  1. ;
  1. S II=II+1,@DATA@(II)=$C(31)
  1. Q
  1. ;
  1. HDR ; Header
  1. S @DATA@(II)="T00008SOURCE^T00001CODE_TYPE^T01024PARMS^T00030PROP_VALUE^T00001ABLE_FLAG^T00001REQ_OPT^T00200HELP_TEXT^T01024CLEAR_FIELDS^T00001CLEAR_FLAG"_$C(30)
  1. Q
  1. ;
  1. REC ; Record
  1. S II=II+1,@DATA@(II)=$G(SOURCE)_U_$G(TYPE)_U_$G(VALUE)_U_U_$G(ABLE)_U_$G(REQ)_U_$G(HELP)_U_$G(CLEAR)_U_$G(CLFLAG)_$C(30)
  1. Q