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

HMPPXRM.m

Go to the documentation of this file.
  1. HMPPXRM ;SLC/AGP,ASMR/RRB,CK - Clinical Reminders routine;May 15, 2016 14:15
  1. ;;2.0;ENTERPRISE HEALTH MANAGEMENT PLATFORM;**1**;May 15, 2016;Build 4
  1. ;Per VA Directive 6402, this routine should not be modified.
  1. ;
  1. Q
  1. ;
  1. EVALLIST(RESULT,PT,USER,LOC) ;
  1. N CNT,NUM,RIEN,TMP,UID,HMPTMP,HMPSYS
  1. N DUEDATE,I,J,LASTDONE,NAME,NODE,STATUS,TXT
  1. ;S USER=$P(USERUID,":",5)
  1. D GETLIST^ORQQPX(.HMPTMP,LOC)
  1. S HMPSYS=$$SYS^HMPUTILS
  1. S CNT=0,NUM=0 F S CNT=$O(HMPTMP(CNT)) Q:CNT'>0 D
  1. .S RIEN=$G(HMPTMP(CNT)) I RIEN'>0 Q
  1. .;begin fix DE 2818 ICR 6113 ASF 11/16
  1. .;S NAME="" S NAME=$P($G(^PXD(811.9,RIEN,0)),U,3)
  1. .;I NAME="" S NAME=$P($G(^PXD(811.9,RIEN,0)),U)
  1. .S NAME=$$GET1^DIQ(811.9,REIN_",",1.2)
  1. .I NAME="" S NAME=$$GET1^DIQ(811.9,REIN_",",.01)
  1. .; end DE2818 fix
  1. .S UID="urn:va:pxrm:"_HMPSYS_":"_RIEN
  1. .S NUM=NUM+1,TMP("reminders",NUM,"uid")=UID,TMP("reminders",NUM,"name")=NAME
  1. .K ^TMP("PXRHM",$J)
  1. .D MAIN^PXRM(PT,RIEN,5) ; 5 returns all reminder info
  1. .S I=1,TXT=""
  1. .S NAME="",NAME=$O(^TMP("PXRHM",$J,RIEN,NAME)) Q:NAME="" D
  1. ..S NODE=$G(^TMP("PXRHM",$J,RIEN,NAME))
  1. ..S STATUS=$P(NODE,U),DUEDATE=$$JSONDT^HMPUTILS($P(NODE,U,2)),LASTDONE=$$JSONDT^HMPUTILS($P(NODE,U,3))
  1. ..S J=0 F S J=$O(^TMP("PXRHM",$J,RIEN,NAME,"TXT",J)) Q:J="" D
  1. ...S TXT=$G(TXT)_^TMP("PXRHM",$J,RIEN,NAME,"TXT",J)_$C(13)_$C(10),I=I+1
  1. .K ^TMP("PXRHM",$J)
  1. .S TMP("reminders",NUM,"status")=STATUS
  1. .S TMP("reminders",NUM,"dueDate")=DUEDATE
  1. .S TMP("reminders",NUM,"lastDone")=LASTDONE
  1. .S TMP("reminders",NUM,"clinicalMaintenance")=TXT
  1. S TMP("success")="true"
  1. D ENCODE^HMPJSON("TMP","RESULT","ERROR")
  1. I $D(ERROR) D SETERROR(.TMP,.ERROR,.RESULT)
  1. Q
  1. ;
  1. EVALREM(RESULT,PT,UID) ;return detail for a pt's clinical reminder
  1. K ^TMP("PXRHM",$J)
  1. N DUEDATE,I,J,LASTDONE,NAME,NODE,RIEN,STATUS,TMP,TXT
  1. S RIEN=$P(UID,":",5)
  1. D MAIN^PXRM(PT,RIEN,5) ; 5 returns all reminder info
  1. S I=1,TXT=""
  1. S NAME="",NAME=$O(^TMP("PXRHM",$J,RIEN,NAME)) Q:NAME="" D
  1. .S NODE=$G(^TMP("PXRHM",$J,RIEN,NAME))
  1. .S STATUS=$P(NODE,U),DUEDATE=$$JSONDT^HMPUTILS($P(NODE,U,2)),LASTDONE=$$JSONDT^HMPUTILS($P(NODE,U,3))
  1. .S J=0 F S J=$O(^TMP("PXRHM",$J,RIEN,NAME,"TXT",J)) Q:J="" D
  1. ..S TXT=$G(TXT)_^TMP("PXRHM",$J,RIEN,NAME,"TXT",J)_$C(13)_$C(10),I=I+1
  1. K ^TMP("PXRHM",$J)
  1. S TMP("uid")=UID
  1. S TMP("status")=STATUS
  1. S TMP("dueDate")=DUEDATE
  1. S TMP("lastDone")=LASTDONE
  1. S TMP("clinicalMaintenance")=TXT
  1. S TMP("success")="true"
  1. D ENCODE^HMPJSON("TMP","RESULT","ERROR")
  1. I $D(ERROR) D SETERROR(.TMP,.ERROR,.RESULT)
  1. Q
  1. ;
  1. REMLIST(RESULT,USERUID,LOC) ;
  1. N CNT,NUM,RIEN,TMP,UID,USER,HMPTMP,HMPSYS
  1. S USER=$P(USERUID,":",5)
  1. D GETLIST^ORQQPX(.HMPTMP,LOC)
  1. S HMPSYS=$$SYS^HMPUTILS
  1. S CNT=0,NUM=0 F S CNT=$O(HMPTMP(CNT)) Q:CNT'>0 D
  1. .S RIEN=$G(HMPTMP(CNT)) I RIEN'>0 Q
  1. .;begin fix DE 2818 ICR 6113 ASF 11/16
  1. .;S NAME="" S NAME=$P($G(^PXD(811.9,RIEN,0)),U,3)
  1. .;I NAME="" S NAME=$P($G(^PXD(811.9,RIEN,0)),U)
  1. .S NAME=$$GET1^DIQ(811.9,REIN_",",1.2)
  1. .I NAME="" S NAME=$$GET1^DIQ(811.9,REIN_",",.01)
  1. .; end DE2818 fix
  1. .S UID="urn:va:pxrm:"_HMPSYS_":"_RIEN
  1. .S NUM=NUM+1,TMP("reminders",NUM,"uid")=UID,TMP("reminders",NUM,"name")=NAME
  1. S TMP("success")="true"
  1. D ENCODE^HMPJSON("TMP","RESULT","ERROR")
  1. I $D(ERROR) D SETERROR(.TMP,.ERROR,.RESULT)
  1. Q
  1. ;
  1. SETERROR(INPDATA,ERRORMSG,OUTPUT) ;
  1. N ERRARR,TXT
  1. S TXT(1)="Problem encoding json output"
  1. D SETERROR^HMPUTILS(.ERRARR,.ERRORMSG,.TXT,.INPDATA)
  1. D ENCODE^HMPJSON("ERRARR","OUTPUT","ERROR")
  1. Q
  1. ;