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

PXRMCDEF.m

Go to the documentation of this file.
  1. PXRMCDEF ;SLC/AGP - Computed findings for Reminder Definition. ;06/30/2020
  1. ;;2.0;CLINICAL REMINDERS;**4,18,24,26,47,45,42**;Feb 04, 2005;Build 245
  1. ;
  1. ;======================================================
  1. RDEF(DFN,TEST,DATE,VALUE,TEXT) ;Computed finding for returning a Reminder
  1. ;definition evaluation status.
  1. I $G(TEST)="" D Q
  1. . S TEST=0
  1. . S ^TMP(PXRMPID,$J,PXRMITEM,"FERROR","CF.VA-REMINDER DEFINITION")="No reminder definition"
  1. ;New PXRMFFSS and PXRMTDEB so that reminder test function finding
  1. ;and term output is not corrupted.
  1. N DEFARR,FIEVAL,NAME,PNAME,RIEN,TEMP,PARAM,PXRMDEBG,PXRMFFSS,PXRMTDEB
  1. N SAVETMP,OUTTYPE
  1. S NAME=$P(TEST,U,1)
  1. I NAME="" D Q
  1. . S ^TMP(PXRMPID,$J,PXRMITEM,"FERROR","CF.VA-REMINDER DEFINITION")="No reminder definition."
  1. I +NAME=NAME S RIEN=+NAME,NAME=$P(^PXD(811.9,RIEN,0),U,1)
  1. E S RIEN=+$O(^PXD(811.9,"B",NAME,""))
  1. I RIEN=0 D Q
  1. . S ^TMP(PXRMPID,$J,PXRMITEM,"FERROR","CF.VA-REMINDER DEFINITION")="The reminder definition does not exist."
  1. I +$P(^PXD(811.9,RIEN,0),U,6)=1 D Q
  1. . S ^TMP(PXRMPID,$J,PXRMITEM,"FERROR","CF.VA-REMINDER DEFINITION")="The reminder definition is inactive."
  1. . S TEST=0
  1. S PARAM=$P(TEST,U,2),PARAM=$P($G(PARAM),"=",2),SAVETMP=+$P(TEST,U,3),OUTTYPE=$P(TEST,U,4)
  1. I OUTTYPE="" S OUTTYPE=1
  1. S TEST=0,DATE=$$NOW^PXRMDATE
  1. K ^TMP("PXRHM",$J,RIEN)
  1. S PNAME=$S($P($G(^PXD(811.9,RIEN,0)),U,3)'="":$P(^PXD(811.9,RIEN,0),U,3),1:NAME)
  1. ;Load the definition into DEFARR.
  1. D DEF^PXRMLDR(RIEN,.DEFARR)
  1. D EVAL^PXRM(DFN,.DEFARR,OUTTYPE,0,.FIEVAL,DATE)
  1. S TEMP=$G(^TMP("PXRHM",$J,RIEN,PNAME))
  1. I SAVETMP,$G(PXRMSRCFF) D
  1. . K ^TMP("PXRM BL DATA",$J)
  1. . M ^TMP("PXRM BL DATA",$J,"FIEVAL")=FIEVAL
  1. . M ^TMP("PXRM BL DATA",$J,"PXRHM")=^TMP("PXRHM",$J)
  1. . S ^TMP("PXRM BL DATA",$J,"REMINDER IEN")=RIEN
  1. . S ^TMP("PXRM BL DATA",$J,"REMINDER NAME")=PNAME
  1. K ^TMP("PXRHM",$J,RIEN)
  1. S TEST=$S(TEMP="":0,TEMP["ERROR":0,TEMP["CNBD":0,1:1)
  1. Q:'TEST
  1. S TEXT="Reminder: "_NAME
  1. S VALUE=$P(TEMP,U)
  1. S VALUE("STATUS")=VALUE
  1. S VALUE("DUEDATE")=$P(TEMP,U,2)
  1. S VALUE("LASTDONE")=$P(TEMP,U,3)
  1. Q:PARAM=""
  1. I PARAM="DUE DATE",+VALUE("DUEDATE")>0 S DATE=VALUE("DUEDATE")
  1. I PARAM="LAST DONE",+VALUE("LASTDONE")>0 S DATE=VALUE("LASTDONE")
  1. Q
  1. ;