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

XQALDATA.m

Go to the documentation of this file.
  1. XQALDATA ;ISC/JLI ISD/HGW - PROVIDE DATA ON ALERTS ;07/05/12 13:08
  1. ;;8.0;KERNEL;**207,285,443,513,602**;Jul 10, 1995;Build 10
  1. ;Per VHA Directive 2004-038, this routine should not be modified
  1. Q
  1. GETUSER(ROOT,XQAUSER,FRSTDATE,LASTDATE) ; SR. ICR #4834 (private OE/RR)
  1. N XREF,XVAL,X,X2,X3,I,NCNT ; P443
  1. S:$G(XQAUSER)'>0 XQAUSER=DUZ
  1. S:$G(FRSTDATE)'>0 FRSTDATE=0
  1. S:$G(LASTDATE)'>0 LASTDATE=0
  1. S NCNT=0 K @ROOT
  1. I FRSTDATE=0 D Q
  1. . F I=0:0 S I=$O(^XTV(8992,XQAUSER,"XQA",I)) Q:I'>0 S X=^(I,0),X3=$G(^(3)),X2=$G(^(2)) D
  1. . . S NCNT=NCNT+1
  1. . . S @ROOT@(NCNT)=$S($P(X3,U)'="":"G ",$P(X,U,7,8)="^ ":"I ",1:" ")_$P(X,U,3)_U_$P(X,U,2)_$S($P(X2,U,3)'="":U_$P(X2,U,3),1:"") ; P443
  1. . S @ROOT=NCNT
  1. S XREF="R"
  1. S XVAL=XQAUSER
  1. D CHKTRAIL
  1. Q
  1. GETPAT(ROOT,PATIENT,FRSTDATE,LASTDATE) ;
  1. N XREF,XVAL,NCNT
  1. S NCNT=0 K @ROOT
  1. I $G(PATIENT)'>0 S @ROOT=0 Q
  1. S XREF="C"
  1. S XVAL=PATIENT
  1. D CHKTRAIL
  1. Q
  1. CHKTRAIL ;
  1. ; ZEXCEPT: FRSTDATE,LASTDATE,NCNT,ROOT,XREF,XVAL -- from GETPAT or GETUSER
  1. N XQ1,X,X1,X2,X3
  1. F XQ1=0:0 S XQ1=$O(^XTV(8992.1,XREF,XVAL,XQ1)) Q:XQ1'>0 D
  1. . S X=$G(^XTV(8992.1,XQ1,0)),X1=$G(^(1)),X3=$G(^(3)),X2=$G(^(2)) Q:X=""
  1. . I FRSTDATE'>0,'$D(^XTV(8992,"AXQA",$P(X,U))) Q
  1. . I FRSTDATE>0,$P(X,U,2)<FRSTDATE Q
  1. . I FRSTDATE>0,LASTDATE>0,$P(X,U,2)>LASTDATE Q
  1. . S NCNT=NCNT+1
  1. . S @ROOT@(NCNT)=$S($P(X3,U)'="":"G ",$P(X1,U,2,3)="^":"I ",$P(X1,U,2,3)="":"I ",1:" ")_$P(X1,U)_U_$P(X,U)_$S($P(X2,U,3)'="":U_$P(X2,U,3),1:"") ; P443
  1. S @ROOT=NCNT
  1. Q
  1. GETUSER1(ROOT,XQAUSER,FRSTDATE,LASTDATE) ;
  1. N NCNT,KEY
  1. S:$G(XQAUSER)'>0 XQAUSER=DUZ
  1. S:$G(FRSTDATE)'>0 FRSTDATE=0
  1. S:$G(LASTDATE)'>0 LASTDATE=0
  1. I $$ACTVSURO^XQALSURO(XQAUSER)'>0 D RETURN^XQALSUR1(XQAUSER) ; P513
  1. S NCNT=0 K @ROOT
  1. I FRSTDATE=0 D Q
  1. . N X,X2,X3,X4,I S I="" F S I=$O(^XTV(8992,XQAUSER,"XQA",I),-1) Q:I'>0 S X=^(I,0),X2=$G(^(2)),X3=$G(^(3)),X4=$D(^(4)) D
  1. . . I $P(X,U,4)'="" D
  1. . . . N XQAID,XQXX,XQXY,XQADAT ; P513, update ALERT TRACKING FILE
  1. . . . S $P(^XTV(8992,XQAUSER,"XQA",I,0),U,4)="" ; P513 - MARK SEEN
  1. . . . S XQAID=$P(X,U,2) ; P513
  1. . . . S XQXX=$O(^XTV(8992.1,"B",XQAID,0)),XQXY=0,XQADAT=$$NOW^XLFDT() ; P513
  1. . . . I XQXX>0 S XQXY=$O(^XTV(8992.1,XQXX,20,"B",XQAUSER,0)) I XQXY>0 D
  1. . . . . I $P(^XTV(8992.1,XQXX,20,XQXY,0),U,2)="" S $P(^XTV(8992.1,XQXX,20,XQXY,0),U,2)=XQADAT
  1. . . . . I $P(^XTV(8992.1,XQXX,20,XQXY,0),U,3)="" S $P(^XTV(8992.1,XQXX,20,XQXY,0),U,3)=XQADAT
  1. . . S NCNT=NCNT+1
  1. . . S KEY=$S($P(X3,U)'="":"G ",X4>1:"L ",$P(X,U,7,8)="^ ":"I ",1:"R "),@ROOT@(NCNT)=KEY_$P(X,U,3)_U_$P(X,U,2)
  1. . . I X2'="" D
  1. . . . S NCNT=NCNT+1,@ROOT@(NCNT)=KEY_"-----Forwarded by: "_$$GET1^DIQ(200,($P(X2,U)_","),.01)_" Generated: "_$$DAT8^XQALERT($P(X2,U,2),1)_U_$P(X,U,2)
  1. . . . I $P(X2,U,3)'="" S NCNT=NCNT+1,@ROOT@(NCNT)=KEY_"-----"_$P(X2,U,3)_U_$P(X,U,2)
  1. . . . Q
  1. . S @ROOT=NCNT
  1. . Q
  1. Q