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

HMPPARAM.m

Go to the documentation of this file.
  1. HMPPARAM ;SLC/AGP,ASMR/RRB,CK - Parameter 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. ; DE2818 - SQA findings. Newed HMPAR in GETPARAM +1. RRB - 10/27/2015
  1. ; External References DBIA#
  1. ; ------------------- -----
  1. ; ^XTV(8989.51 2992
  1. ;
  1. Q
  1. ;
  1. BLDENT(UID,ENTITY) ;
  1. ;urn:va:param:F484:1120:HMP USER PREF
  1. ;urn:va:param:F484:1120:HMP ROSTER PREF:13
  1. ;urn:va:param:F484:SYS:HMP USER PREF
  1. S ENTITY("uid")=UID
  1. I +$P(UID,":",5)>0 D Q
  1. .S ENTITY("entity")="USR"
  1. .S ENTITY("entityId")=$P(UID,":",5)
  1. S ENTITY("entity")="SYS"
  1. Q
  1. ;
  1. BUILDUID(VALUES,TYPE,ID) ;
  1. N DOMAIN
  1. S DOMAIN=$$SYS^HMPUTILS
  1. S VALUES("uid")="urn:va:"_TYPE_":"_DOMAIN_":"_ID
  1. Q
  1. ;
  1. DELPARAM(RESULT,UID) ;
  1. N ARRAY,ENT,ENTITY,ENTVALUE,ERR,STR,HMPERR
  1. D BLDENT(UID,.ARRAY)
  1. ;delete old parameter
  1. S ENTITY=ARRAY("entity")
  1. S ENTVALUE=ARRAY("entityId")
  1. S ENT=$S($G(ENTVALUE)>0:ENTITY_".`"_ENTVALUE,1:ENTITY)
  1. I $G(ARRAY("uid"))="" Q
  1. I $G(ENT)="" Q
  1. D DEL^XPAR(ENT,"HMP PARAMETERS",ARRAY("uid"),.HMPERR)
  1. Q
  1. ;
  1. GETALPAR(JSONRES,ENTITY,ENTVALUE,RETVALUE) ;
  1. N CNT,DECODE,ENT,GETVAL,INST,PARAM,RESULT,HMPERR,HMPLIST
  1. S ENT=$S($G(ENTVALUE)'="":ENTITY_".`"_ENTVALUE,1:ENTITY)
  1. D GETLST^XPAR(.HMPLIST,ENT,"HMP PARAMETERS","I")
  1. I HMPLIST=0 Q
  1. S GETVAL=$S(RETVALUE="true":1,1:0)
  1. I GETVAL=0 D Q
  1. .S CNT=0,INST="" F S INST=$O(HMPLIST(INST)) Q:INST="" S JSONRES(CNT)=INST,CNT=CNT+1
  1. S CNT=0,INST="" F S INST=$O(HMPLIST(INST)) Q:INST="" D
  1. .S CNT=CNT+1
  1. .S RESULT("params",CNT,"uid")=INST
  1. .D GETPARAM(.PARAM,"HMP PARAMETERS",ENTITY,ENTVALUE,INST)
  1. .I '$D(PARAM) Q
  1. .M RESULT("params",CNT,"value",":")=PARAM
  1. .K PARAM
  1. I '$D(RESULT) Q ""
  1. S RESULT("success")="true"
  1. D ENCODE^HMPJSON("RESULT","JSONRES","HMPERR")
  1. I $D(HMPERR) K JSONRES S TXT(1)="Problem encoding results to json format." D SETERROR(.RESULT,.HMPERR,.TXT,.JSONRES) Q
  1. Q
  1. ;
  1. GETPARAM(RESULT,NAME,ENTITY,ENTVALUE,INST) ; Get value for a param
  1. N CNT,ENT,FORMAT,IEN,HMPAR,HMPPAR,HMPERR
  1. ;S IEN=$O(^XTV(8989.51,"B",NAME,"")) Q:IEN'>0
  1. S FORMAT="I"
  1. ;D BLDLST^XPAREDIT(.HMPPAR,IEN
  1. S ENT=$S($G(ENTVALUE)'="":ENTITY_".`"_ENTVALUE,1:ENTITY)
  1. D GETWP^XPAR(.HMPAR,ENT,NAME,INST,.HMPERR)
  1. S CNT=0 F S CNT=$O(HMPAR(CNT)) Q:CNT'>0 D
  1. .S RESULT(CNT)=HMPAR(CNT,0)
  1. Q
  1. ;
  1. GETBYUID(RESULT,UID) ;
  1. N ENTITY
  1. D BLDENT(UID,.ENTITY)
  1. D GETPARAM(.RESULT,"HMP PARAMETERS",$G(ENTITY("entity")),$G(ENTITY("entityId")),$G(ENTITY("uid")))
  1. ;I $D(RESULT)<10 S RESULT(0)="{}"
  1. Q
  1. ;
  1. PARSEJSN(VALUE,ARRAY,ERR) ;
  1. N ERROR,JSON,TXT
  1. D DECODE^HMPJSON("VALUE","ARRAY","ERROR")
  1. I $D(ERR) K ARRAY S TXT(1)="Problem decoding json value." D SETERROR(.VALUE,.ERROR,.TXT,.ERR) Q 0
  1. Q 1
  1. ;
  1. PUTPARAM(RESULT,VALUE,ENTARR) ;
  1. N CNT,ENT,ENTITY,ENTVALUE,ERR,STR,HMPERR,X
  1. I $D(ENTARR)<10 I $$PARSEJSN(.VALUE,.ENTARR,.ERR)=0 M RESULT=ERR Q
  1. ;delete old parameter
  1. S ENTITY=ENTARR("entity")
  1. S ENTVALUE=ENTARR("entityId")
  1. S ENT=$S($G(ENTVALUE)>0:ENTITY_".`"_ENTVALUE,1:ENTITY)
  1. D DEL^XPAR(ENT,"HMP PARAMETERS",ENTARR("uid"),.HMPERR)
  1. S CNT=$O(VALUE(""),-1) I CNT="" S STR(1,0)=VALUE
  1. I CNT>0 F X=0:1:CNT S STR(X+1,0)=VALUE(X)
  1. D PUT^XPAR(ENT,"HMP PARAMETERS",ENTARR("uid"),.STR,.HMPERR)
  1. S RESULT(0)="{""success"":""true""}"
  1. Q
  1. ;
  1. PUTBYUID(RESULT,UID,VALUE) ;
  1. N ENTITY
  1. D BLDENT(UID,.ENTITY)
  1. D PUTPARAM(.RESULT,.VALUE,.ENTITY)
  1. Q
  1. ;
  1. SETERROR(INPDATA,ERRORMSG,TXT,OUTPUT) ;
  1. N ERRARR
  1. D SETERROR^HMPUTILS(.ERRARR,.ERRORMSG,.TXT,.INPDATA)
  1. D ENCODE^HMPJSON("ERRARR","OUTPUT","ERROR")
  1. Q