ORIRPC ; SLC/AGP,AJB - Information panel RPC ;Sep 17, 2025@14:28:30
;;3.0;ORDER ENTRY/RESULTS REPORTING;**508**;Dec 17, 1997;Build 39
;
; Reference to EN^PXRMGEV supported by DBIA # 6772
; Reference to $$STATMTCH^PXRMAPI supported by DBIA # 7466
; Reference to $$STATUS^PXRMBANNER supported by DBIA # 7146
; Reference to $$CLICKTEXT^PXRMBANNER supported by DBIA # 7146
; Reference to TIUSRCH^PXRMEXU1 supported by DBIA # 4373
; Reference to FNFTXTO^PXRMFNFT supported by DBIA # 7523
; Reference to ^PXRMD(811.5 supported by DBIA #7466
;
Q
A2P(DA,DATA,DFN,NODE,NUM,SUB) ; return value if section [ITEM] applies to patient
N ACTION S ACTION=$$GUICOMPONENT(+NODE(30)) Q:$E(ACTION,1,3)'="act" 0
N EVALTYPE S EVALTYPE=$P(NODE(10),U,1) Q:EVALTYPE="" 0
Q:EVALTYPE="N" 1
Q:EVALTYPE="C" $$PNLEXECODE^ORIUTL(.DA,.DATA,DFN,.NODE,NUM,SUB,$P(NODE(10),U,4),"panelPatientEvaluation")
Q:EVALTYPE["R" $$EVALREMINDER(.DA,DFN,.NODE,SUB,ACTION)
Q 0
;
EVALREMINDER(DA,DFN,NODE,SUB,ACTION) ; evaluate reminder defintion/term for patient
N EvalSTATUS,RESULT S RESULT=0
N ReminderTYPE S ReminderTYPE=$P(NODE(10),U,1) Q:'(ReminderTYPE="RT"!(ReminderTYPE="RD")) 0
N ReminderIEN S ReminderIEN=+$P(NODE(10),U,2) Q:'ReminderIEN 0
I ReminderTYPE="RD",$P(NODE(10),U,2)'["811.9" Q 0
I ReminderTYPE="RT",$P(NODE(10),U,2)'["811.5" Q 0
N ReminderSTATUS S ReminderSTATUS=$P(NODE(10),U,3) Q:ReminderSTATUS="" 0
I ReminderTYPE="RT" S ReminderSTATUS=$S(ReminderSTATUS="F":0,1:1)
S EvalSTATUS=$G(^TMP(SUB,$J,$S(ReminderTYPE="RT":"TERM",1:"DEFINITION"),ReminderIEN,"STATUS"))
I EvalSTATUS'="" Q $S(ReminderTYPE="RD":$S($$STATMTCH^PXRMAPI(EvalSTATUS,ReminderSTATUS):1,1:0),ReminderTYPE="RT":$S(EvalSTATUS=ReminderSTATUS:1,1:0))
I ReminderTYPE="RD" D
. N INPUT,RSUB S RSUB="ORIRPC EVALREMINDER"
. S INPUT("DFN")=DFN,INPUT("REMINDERS",ReminderIEN)=1_U_5,INPUT("SUB")=RSUB
. N OUTPUT D EN^PXRMGEV(.OUTPUT,.INPUT)
. S EvalSTATUS=$P($G(^TMP($J,RSUB,ReminderIEN)),U,1)
. ;I EvalSTATUS="ERROR"!(EvalSTATUS="CNBD") Q
. S ^TMP(SUB,$J,"DEFINITION",ReminderIEN,"STATUS")=EvalSTATUS
. M ^TMP(SUB,$J,"DEFINITION",ReminderIEN,"FIEVAL")=@OUTPUT@(ReminderIEN,"FIEVAL")
. S RESULT=$$STATMTCH^PXRMAPI(EvalSTATUS,ReminderSTATUS)
. I RESULT=1 D
. . N TEMP S TEMP=$$STATUS^PXRMBANNER(DFN,ReminderIEN)
. . S ^TMP(SUB,$J,"DEFINITION",ReminderIEN,"FF")=+$P(TEMP,U,1)
. . S ^TMP(SUB,$J,"DEFINITION",ReminderIEN,"DISPLAY")=$P(TEMP,U,2)
. K @OUTPUT
I ReminderTYPE="RT" D
. N INPUT,TSUB S TSUB="ORIRPC EVALTERM"
. S INPUT("DFN")=DFN,INPUT("TERMS",ReminderIEN)="^1^1",INPUT("SUB")=TSUB
. N OUTPUT D EN^PXRMGEV(.OUTPUT,.INPUT)
. S EvalSTATUS=+$G(^TMP($J,TSUB,"TERMS",ReminderIEN))
. S ^TMP(SUB,$J,"TERM",ReminderIEN,"STATUS")=EvalSTATUS
. M ^TMP(SUB,$J,"TERM",ReminderIEN,"FIEVAL")=^TMP($J,TSUB,"TERMS",ReminderIEN,"FIEVAL")
. M ^TMP(SUB,$J,"TERM",ReminderIEN,"detailText")=^TMP($J,TSUB,"TERMS",ReminderIEN,"DETAIL TEXT")
. S RESULT=$S(EvalSTATUS=ReminderSTATUS:1,1:0)
. K ^TMP($J,TSUB)
Q RESULT
GETPANELS(ORY,JSON) ; main entry point
N DILOCKTM,DISYS,IO,LASTUPDATE,ORREMERR,SUB,XPARSYS Q:$$GET^XPAR("ALL","OR INFO PANEL ON")="false"
S SUB="ORIRPC GETPANELS",ORY=$NA(^TMP(SUB,$J)) K @ORY
N ERR,PRM D DECODE^XLFJSON("JSON","PRM","ERR") I $D(ERR) M @ORY=ERR Q
N DFN,PKG S DFN=PRM("patientId") Q:DFN'>0 S PKG=PRM("package"),PKG=$$LU(9.4,PKG,"X") Q:PKG'>0
N DATA D PSET(.DATA) ; set parameter definition values
I $$GETUPDSTATUS^ORIUTL D SETUPDATE^ORIRPC1(ORY) Q
N CL F CL="NATIONAL","LOCAL" D
. N DA S DA(0)=$O(^ORI(101.71,"B",CL,0)) Q:'DA(0) Q:'$P(^ORI(101.71,DA(0),0),U,2) D ; quit if not enabled
. . S LASTUPDATE=$P($G(^ORI(101.71,DA(0),0)),U,3)
. . S DA(1)=$O(^ORI(101.71,DA(0),"PKG","B",PKG,0)) Q:'DA(1)
. . N SEQ S SEQ=0 F S SEQ=$O(^ORI(101.71,DA(0),"PKG",DA(1),"LOC","B",SEQ)) Q:'SEQ S DA(2)=$O(^ORI(101.71,DA(0),"PKG",DA(1),"LOC","B",SEQ,0)) Q:'DA(2) D
. . . N NODE S NODE(0)=$G(^ORI(101.71,DA(0),"PKG",DA(1),"LOC",DA(2),0)) Q:$P(NODE(0),U,6)="true" ; quit if not enabled
. . . S:$P(NODE(0),U,2)'="" NODE(101.73,0)=$G(^ORI(101.73,$P(NODE(0),U,2),0))
. . . S NODE(101.73,0)=$G(NODE(101.73,0))
. . . S NODE(101.73,"CPRS")=$G(^ORI(101.73,$P(NODE(0),U,2),"CPRS"))
. . . D SETSECTIONS^ORIRPC1(CL,.DA,.DATA,.NODE)
. . . S DATA("lastUpdated")=LASTUPDATE
. . . N SEQ S SEQ=0 F S SEQ=$O(^ORI(101.71,DA(0),"PKG",DA(1),"LOC",DA(2),"ITM","B",SEQ)) Q:'SEQ D
. . . . S DA(3)=$O(^ORI(101.71,DA(0),"PKG",DA(1),"LOC",DA(2),"ITM","B",SEQ,0))
. . . . N GBL S GBL=$NA(^ORI(101.71,DA(0),"PKG",DA(1),"LOC",DA(2),"ITM",DA(3)))
. . . . S NODE(0)=@GBL@(0) Q:$P(NODE(0),U,3)'="E" ; quit if not enabled
. . . . S NODE(10)=$G(@GBL@(10)),NODE(20)=$G(@GBL@(20)),NODE(30)=$G(@GBL@(30))
. . . . M NODE("DTXT")=@GBL@("DTXT"),NODE("REQD")=@GBL@("REQD"),NODE("URL")=@GBL@("URL")
. . . . N NUM S NUM=(+$O(DATA("presentation",""),-1)+1)
. . . . N DIFNA S DIFNA=+NODE(20) ; display [ITEM] if not applicable to patient
. . . . S ORREMERR=0
. . . . N A2PATIENT S A2PATIENT=$$A2P(.DA,.DATA,DFN,.NODE,NUM,SUB) Q:'DIFNA&('(A2PATIENT))
. . . . D ITEMINFO(A2PATIENT,.DA,.DATA,DFN,.NODE,NUM,SUB)
. . . . I 'A2PATIENT K NODE(0),NODE(10),NODE(20),NODE(30),NODE("DTXT"),NODE("REQD"),NODE("URL") Q
. . . . D ITEMAPP(.DA,.DATA,DFN,.NODE,NUM,SUB)
. . . . D ITEMDTL(.DA,.DATA,DFN,.NODE,NUM,SUB)
. . . . D:$D(NODE("REQD")) REQUIREDDATA(.DATA,.NODE,NUM)
. . . . K NODE(0),NODE(10),NODE(20),NODE(30),NODE("DTXT"),NODE("REQD"),NODE("URL")
K @ORY D ENCODE^XLFJSON("DATA",ORY,"ERROR")
Q
;
ITEMINFO(A2PATIENT,DA,DATA,DFN,NODE,NUM,SUB) ; default infoPanel information
N HASERROR
S HASERROR=+$G(^TMP(SUB,$J,"detailText error",NUM))
S DATA("presentation",NUM,"createNote")="false"
S DATA("presentation",NUM,"disabled")=$S(A2PATIENT:"false",HASERROR:"false",1:"true")
S DATA("presentation",NUM,"panelId")=DA(0)_";"_DA(1)_";"_DA(2)_";"_DA(3)
S DATA("presentation",NUM,"sectionId")=DA(0)_";"_DA(1)_";"_DA(2)
S:$P(NODE(0),U,2)'="" DATA("presentation",NUM,"name")=$P(NODE(0),U,2)
S:$P(NODE(0),U,4)'="" DATA("presentation",NUM,"abbreviatedDisplayText")=$S('HASERROR:$P(NODE(0),U,4),1:"ERROR")
S:$P(NODE(0),U,5)'="" DATA("presentation",NUM,"displayText")=$S('HASERROR:$P(NODE(0),U,5),1:"ERROR CLICK FOR MORE DETAILS")
S:$P(NODE(0),U,6)'="" DATA("presentation",NUM,"color")=$$GUICOMPONENT($P(NODE(0),U,6))
I $P(NODE(0),U,8) D
. N X S X=0 F S X=$O(^ORI(101.73,$P(NODE(0),U,8),50,X)) Q:'X S DATA("presentation",NUM,"imageIcon")=$G(DATA("presentation",NUM,"imageIcon"))_^ORI(101.73,$P(NODE(0),U,8),50,X,0)
S:$P(NODE(30),U,1)'="" DATA("presentation",NUM,"action")=$S('HASERROR:$$GUICOMPONENT($P(NODE(30),U,1)),1:$$GETERRORCOMP())
S:$P(NODE(30),U,2)'="" DATA("presentation",NUM,"popOut")=$P(NODE(30),U,2)
I '$P(NODE(0),U,8),'$D(DATA("presentation",NUM,"imageIcon")),$P(NODE(30),U,1) D ; action image/icon
. N X S X=0 F S X=$O(^ORI(101.73,$P(NODE(30),U,1),50,X)) Q:'X S DATA("presentation",NUM,"imageIcon")=$G(DATA("presentation",NUM,"imageIcon"))_^ORI(101.73,$P(NODE(30),U,1),50,X,0)
I 'A2PATIENT D
.I $P(NODE(20),U,2)'="" S DATA("presentation",NUM,"abbreviatedDisplayText")=$P(NODE(20),U,2)
.I $P(NODE(20),U,3)'="" S DATA("presentation",NUM,"displayText")=$P(NODE(20),U,3)
.I $P(NODE(20),U,4)'="" S DATA("presentation",NUM,"color")=$$GUICOMPONENT($P(NODE(20),U,4))
.I $P(NODE(20),U,5) D
.. K DATA("presentation",NUM,"imageIcon")
.. N X S X=0 F S X=$O(^ORI(101.73,$P(NODE(20),U,5),50,X)) Q:'X S DATA("presentation",NUM,"imageIcon")=$G(DATA("presentation",NUM,"imageIcon"))_^ORI(101.73,$P(NODE(20),U,5),50,X,0)
Q
ITEMAPP(DA,DATA,DFN,NODE,NUM,SUB) ; applicable infoPanel information
N Abrv,Color,DisplayText,EvalTYPE,IEN,ReminderIEN S (Abrv,Color,DisplayText,EvalTYPE,IEN,ReminderIEN)=""
S EvalTYPE=$P(NODE(10),U),IEN=DA(0)_";"_DA(1)_";"_DA(2)_";"_DA(3),ReminderIEN=+$P(NODE(10),U,2)
S:EvalTYPE="C" Abrv=$G(^TMP(SUB,$J,"CODE",IEN,"abbreviation"))
S:EvalTYPE="C" Color=$G(^TMP(SUB,$J,"CODE",IEN,"color"))
S:EvalTYPE="C" DisplayText=$G(^TMP(SUB,$J,"CODE",IEN,"displayText"))
I EvalTYPE="RD" D
.S DisplayText=$G(^TMP(SUB,$J,"DEFINITION",ReminderIEN,"DISPLAY"))
.N ReminderSTATUS S ReminderSTATUS=$G(^TMP(SUB,$J,"DEFINITION",ReminderIEN,"STATUS"))
.I ReminderSTATUS=""!(ReminderSTATUS="ERROR")!(ReminderSTATUS="CNBD") S DATA("presentation",NUM,"disabled")="true"
S:Abrv'="" DATA("presentation",NUM,"abbreviatedDisplayText")=Abrv
S:Color'="" DATA("presentation",NUM,"color")=Color
S:DisplayText'="" DATA("presentation",NUM,"displayText")=DisplayText
Q
ITEMDTL(DA,DATA,DFN,NODE,NUM,SUB) ; detailed infoPanel information
Q:'$D(DATA("presentation",NUM,"action"))!(DATA("presentation",NUM,"action")="actNone")
N CDRPC,IEN S CDRPC=$S($P(NODE(30),U,4)'="":$P(NODE(30),U,4),1:"false"),IEN=DA(0)_";"_DA(1)_";"_DA(2)_";"_DA(3)
S DATA("presentation",NUM,"callDetailRPC")=$S('+$G(^TMP(SUB,$J,"detailText error",NUM)):CDRPC,1:"false")
I DATA("presentation",NUM,"action")="actShowEditor" D Q
. Q:'$P(NODE(30),U,5) Q:'$P($G(^ORE(101.74,$P(NODE(30),U,5),40)),U,3)
. S DATA("presentation",NUM,"createNote")="true"
I CDRPC="true" Q
I DATA("presentation",NUM,"action")="actShowUrl" D Q
. I $G(NODE("URL"))'="" S DATA("presentation",NUM,"url")=NODE("URL") Q
. Q:$P(NODE(10),U,1)'="C" N URL S URL=$G(^TMP(SUB,$J,"CODE",IEN,"url")) S:URL'="" DATA("presentation",NUM,"url")=URL
N DetailCODE,EvalTYPE S EvalTYPE=$P(NODE(10),U),DetailCODE=$P(NODE(30),U,3)
I DetailCODE D PNLEXECODE^ORIUTL(.DA,.DATA,DFN,.NODE,NUM,SUB,DetailCODE,"panelDetailDisplay") Q:$D(DATA("presentation",NUM,"detailText"))
I $D(NODE("DTXT")) D DTEXT(.DA,.DATA,DFN,.NODE,NUM,SUB) Q:$D(DATA("presentation",NUM,"detailText"))
D:EvalTYPE="RD" RDDTEXT(.DA,.DATA,DFN,.NODE,NUM,SUB)
D:EvalTYPE="RT" RTDTEXT(.DA,.DATA,DFN,.NODE,NUM,SUB)
Q
DTEXT(DA,DATA,DFN,NODE,NUM,SUB) ; "DTXT" node
N GBL S GBL="^ORI(101.71,"_DA(0)_",""PKG"","_DA(1)_",""LOC"","_DA(2)_",""ITM"","
N OLIST,TLIST,X D TIUSRCH^PXRMEXU1(GBL,DA(3),"""DTXT""",.OLIST,.TLIST) ; extract objects and template data
N REPLACE S OLIST=0 F S OLIST=$O(OLIST(OLIST)) Q:'OLIST S REPLACE("|"_OLIST(OLIST)_"|")="'FMT{|"_OLIST(OLIST)_"|}FMT"
N DTXT S X=0 F S X=$O(^ORI(101.71,DA(0),"PKG",DA(1),"LOC",DA(2),"ITM",DA(3),"DTXT",X)) Q:'X D
. S DTXT(X)=$$REPLACE^XLFSTR(^ORI(101.71,DA(0),"PKG",DA(1),"LOC",DA(2),"ITM",DA(3),"DTXT",X,0),.REPLACE)
N OUTPUT,PXRMRM,SG S X=0,PXRMRM=80
D FNFTXTO^PXRMFNFT(1,$O(DTXT(""),-1),.DTXT,DFN,"",.X,.OUTPUT)
N Num S Num=$O(DATA("presentation",NUM,"detailText","\",""),-1)+1
S X=0 F S X=$O(OUTPUT(X)) Q:'X S DATA("presentation",NUM,"detailText","\",Num+X)=OUTPUT(X)_$C(13)_$C(10)
Q
RDDTEXT(DA,DATA,DFN,NODE,NUM,SUB) ; reminder definition detail text
N ReminderIEN S ReminderIEN=+$P(NODE(10),U,2) Q:'ReminderIEN
N FF S FF=+$G(^TMP(SUB,$J,"DEFINITION",ReminderIEN,"FF")) S:'FF FF=+$$STATUS^PXRMBANNER(DFN,ReminderIEN) Q:'FF
K ^TMP("ORIRPC RDDTEXT",$J) Q:'+$$CLICKTEXT^PXRMBANNER("ORIRPC RDDTEXT",ReminderIEN,DFN,FF)
N IDX S IDX=0 F S IDX=$O(^TMP("ORIRPC RDDTEXT",$J,IDX)) Q:'IDX S DATA("presentation",NUM,"detailText","\",IDX)=^TMP("ORIRPC RDDTEXT",$J,IDX,0)_$C(13)_$C(10)
I '$D(^TMP("ORIRPC RDDTEXT",$J)) D
. S DATA("presentation",NUM,"detailText","\",1)="No data returned from $$CLICKTEXT^PXRMBANNER."_$C(13)_$C(10)_"ReminderIEN: "_ReminderIEN_$C(13)_$C(10)_"DFN: "_DFN_$C(13)_$C(10)_"FF: "_FF_$C(13)_$C(10)
K ^TMP("ORIRPC RDDTEXT",$J)
Q
RTDTEXT(DA,DATA,DFN,NODE,NUM,SUB) ; reminder term detail text
N ReminderIEN S ReminderIEN=+$P(NODE(10),U,2) Q:'ReminderIEN
N ReminderNAME S ReminderNAME=$P($G(^PXRMD(811.5,ReminderIEN,0)),U) Q:ReminderNAME=""
N IDX S IDX=0 F S IDX=$O(^TMP(SUB,$J,"TERM",ReminderIEN,"detailText",IDX)) Q:'IDX S DATA("presentation",NUM,"detailText","\",IDX)=^TMP(SUB,$J,"TERM",ReminderIEN,"detailText",IDX,0)_$C(13)_$C(10)
I '$D(^TMP(SUB,$J,"TERM",ReminderIEN,"detailText")) D
. S DATA("presentation",NUM,"detailText","\",1)="No data returned from EN^PXRMGEV"_$C(13)_$C(10)_"ReminderIEN: "_ReminderIEN_$C(13)_$C(10)_"DFN: "_DFN_$C(13)_$C(10)_"termNAME: "_ReminderNAME_$C(13)_$C(10)
K ^TMP("ORIRPC RTDTEXT",$J)
Q
REQUIREDDATA(DATA,NODE,NUM) ;
N X S X=0 F S X=$O(NODE("REQD",X)) Q:'X D
. N IEN,REQUIRED S IEN=$P(NODE("REQD",X,0),U,1) Q:'IEN
. S REQUIRED=$P(NODE("REQD",X,0),U,2)
. N Node S Node(0)=$G(^ORI(101.73,IEN,0)),Node(30)=$G(^ORI(101.73,IEN,30))
. S DATA("presentation",NUM,"requiredData",X,"dataName")=$P(Node(0),U,3)
. S DATA("presentation",NUM,"requiredData",X,"required")=$S(+REQUIRED:"true",1:"false")
. S DATA("presentation",NUM,"requiredData",X,"errorMessage")=$S(Node(30)'="":Node(30),1:"Error messsage note defined.")
. N Num S Num=0 F S Num=$O(^ORI(101.73,IEN,40,Num)) Q:'Num D
. . S Node(40)=$G(^ORI(101.73,IEN,40,Num,0))
. . S DATA("presentation",NUM,"requiredData",X,"returnData",Num,"dataName")=$P(Node(40),U)
. . N Required S Required=$P(Node(40),U,2)
. . S DATA("presentation",NUM,"requiredData",X,"returnData",Num,"required")=$S(Required="O":"optional",Required="Y":"required",1:"notRequired")
Q
;
GETERRORCOMP() ;
Q "actShowDetail"
;
GUICOMPONENT(DA) ; return component name
Q $S($G(DA)="":0,1:$P($G(^ORI(101.73,DA,0)),U,3))
LU(FILE,NAME,FLAGS,SCREEN,INDEXES,IENS) ;
N DILOCKTM,DISYS,IO
Q $$FIND1^DIC(FILE,$G(IENS),$G(FLAGS),NAME,$G(INDEXES),$G(SCREEN),"ERR")
PSET(DATA) ; component^parameter definition
;;panelTextAlignment^OR INFO TEXT ALIGN
;;processMouseClickWhenFloating^OR INFO MOUSE CLICK
;;showRefreshButton^OR INFO REFRESH BUTTON
;;imageIconEnabled^OR INFO IMAGES
;;colorEnabled^OR INFO COLORS
;;defaultColor^OR INFO DEFAULT COLOR
;;indentText^OR INFO INDENT
;;panelAlignment^OR INFO PANEL ALIGNMENT
;;
N INF,NUM,XPARSYS F NUM=1:1 S INF=$P($T(PSET+NUM),";;",2) Q:INF="" D
. N VAL S VAL=$$GET^XPAR("ALL",$P(INF,U,2)) I VAL'="" S DATA("generalParameters",$P(INF,U,1))=$S(+VAL>0:$$GUICOMPONENT(VAL),1:VAL)
Q
;
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HORIRPC 13973 printed May 25, 2026@12:35:08 Page 2
ORIRPC ; SLC/AGP,AJB - Information panel RPC ;Sep 17, 2025@14:28:30
+1 ;;3.0;ORDER ENTRY/RESULTS REPORTING;**508**;Dec 17, 1997;Build 39
+2 ;
+3 ; Reference to EN^PXRMGEV supported by DBIA # 6772
+4 ; Reference to $$STATMTCH^PXRMAPI supported by DBIA # 7466
+5 ; Reference to $$STATUS^PXRMBANNER supported by DBIA # 7146
+6 ; Reference to $$CLICKTEXT^PXRMBANNER supported by DBIA # 7146
+7 ; Reference to TIUSRCH^PXRMEXU1 supported by DBIA # 4373
+8 ; Reference to FNFTXTO^PXRMFNFT supported by DBIA # 7523
+9 ; Reference to ^PXRMD(811.5 supported by DBIA #7466
+10 ;
+11 QUIT
A2P(DA,DATA,DFN,NODE,NUM,SUB) ; return value if section [ITEM] applies to patient
+1 NEW ACTION
SET ACTION=$$GUICOMPONENT(+NODE(30))
if $EXTRACT(ACTION,1,3)'="act"
QUIT 0
+2 NEW EVALTYPE
SET EVALTYPE=$PIECE(NODE(10),U,1)
if EVALTYPE=""
QUIT 0
+3 if EVALTYPE="N"
QUIT 1
+4 if EVALTYPE="C"
QUIT $$PNLEXECODE^ORIUTL(.DA,.DATA,DFN,.NODE,NUM,SUB,$PIECE(NODE(10),U,4),"panelPatientEvaluation")
+5 if EVALTYPE["R"
QUIT $$EVALREMINDER(.DA,DFN,.NODE,SUB,ACTION)
+6 QUIT 0
+7 ;
EVALREMINDER(DA,DFN,NODE,SUB,ACTION) ; evaluate reminder defintion/term for patient
+1 NEW EvalSTATUS,RESULT
SET RESULT=0
+2 NEW ReminderTYPE
SET ReminderTYPE=$PIECE(NODE(10),U,1)
if '(ReminderTYPE="RT"!(ReminderTYPE="RD"))
QUIT 0
+3 NEW ReminderIEN
SET ReminderIEN=+$PIECE(NODE(10),U,2)
if 'ReminderIEN
QUIT 0
+4 IF ReminderTYPE="RD"
IF $PIECE(NODE(10),U,2)'["811.9"
QUIT 0
+5 IF ReminderTYPE="RT"
IF $PIECE(NODE(10),U,2)'["811.5"
QUIT 0
+6 NEW ReminderSTATUS
SET ReminderSTATUS=$PIECE(NODE(10),U,3)
if ReminderSTATUS=""
QUIT 0
+7 IF ReminderTYPE="RT"
SET ReminderSTATUS=$SELECT(ReminderSTATUS="F":0,1:1)
+8 SET EvalSTATUS=$GET(^TMP(SUB,$JOB,$SELECT(ReminderTYPE="RT":"TERM",1:"DEFINITION"),ReminderIEN,"STATUS"))
+9 IF EvalSTATUS'=""
QUIT $SELECT(ReminderTYPE="RD":$SELECT($$STATMTCH^PXRMAPI(EvalSTATUS,ReminderSTATUS):1,1:0),ReminderTYPE="RT":$SELECT(EvalSTATUS=ReminderSTATUS:1,1:0))
+10 IF ReminderTYPE="RD"
Begin DoDot:1
+11 NEW INPUT,RSUB
SET RSUB="ORIRPC EVALREMINDER"
+12 SET INPUT("DFN")=DFN
SET INPUT("REMINDERS",ReminderIEN)=1_U_5
SET INPUT("SUB")=RSUB
+13 NEW OUTPUT
DO EN^PXRMGEV(.OUTPUT,.INPUT)
+14 SET EvalSTATUS=$PIECE($GET(^TMP($JOB,RSUB,ReminderIEN)),U,1)
+15 ;I EvalSTATUS="ERROR"!(EvalSTATUS="CNBD") Q
+16 SET ^TMP(SUB,$JOB,"DEFINITION",ReminderIEN,"STATUS")=EvalSTATUS
+17 MERGE ^TMP(SUB,$JOB,"DEFINITION",ReminderIEN,"FIEVAL")=@OUTPUT@(ReminderIEN,"FIEVAL")
+18 SET RESULT=$$STATMTCH^PXRMAPI(EvalSTATUS,ReminderSTATUS)
+19 IF RESULT=1
Begin DoDot:2
+20 NEW TEMP
SET TEMP=$$STATUS^PXRMBANNER(DFN,ReminderIEN)
+21 SET ^TMP(SUB,$JOB,"DEFINITION",ReminderIEN,"FF")=+$PIECE(TEMP,U,1)
+22 SET ^TMP(SUB,$JOB,"DEFINITION",ReminderIEN,"DISPLAY")=$PIECE(TEMP,U,2)
End DoDot:2
+23 KILL @OUTPUT
End DoDot:1
+24 IF ReminderTYPE="RT"
Begin DoDot:1
+25 NEW INPUT,TSUB
SET TSUB="ORIRPC EVALTERM"
+26 SET INPUT("DFN")=DFN
SET INPUT("TERMS",ReminderIEN)="^1^1"
SET INPUT("SUB")=TSUB
+27 NEW OUTPUT
DO EN^PXRMGEV(.OUTPUT,.INPUT)
+28 SET EvalSTATUS=+$GET(^TMP($JOB,TSUB,"TERMS",ReminderIEN))
+29 SET ^TMP(SUB,$JOB,"TERM",ReminderIEN,"STATUS")=EvalSTATUS
+30 MERGE ^TMP(SUB,$JOB,"TERM",ReminderIEN,"FIEVAL")=^TMP($JOB,TSUB,"TERMS",ReminderIEN,"FIEVAL")
+31 MERGE ^TMP(SUB,$JOB,"TERM",ReminderIEN,"detailText")=^TMP($JOB,TSUB,"TERMS",ReminderIEN,"DETAIL TEXT")
+32 SET RESULT=$SELECT(EvalSTATUS=ReminderSTATUS:1,1:0)
+33 KILL ^TMP($JOB,TSUB)
End DoDot:1
+34 QUIT RESULT
GETPANELS(ORY,JSON) ; main entry point
+1 NEW DILOCKTM,DISYS,IO,LASTUPDATE,ORREMERR,SUB,XPARSYS
if $$GET^XPAR("ALL","OR INFO PANEL ON")="false"
QUIT
+2 SET SUB="ORIRPC GETPANELS"
SET ORY=$NAME(^TMP(SUB,$JOB))
KILL @ORY
+3 NEW ERR,PRM
DO DECODE^XLFJSON("JSON","PRM","ERR")
IF $DATA(ERR)
MERGE @ORY=ERR
QUIT
+4 NEW DFN,PKG
SET DFN=PRM("patientId")
if DFN'>0
QUIT
SET PKG=PRM("package")
SET PKG=$$LU(9.4,PKG,"X")
if PKG'>0
QUIT
+5 ; set parameter definition values
NEW DATA
DO PSET(.DATA)
+6 IF $$GETUPDSTATUS^ORIUTL
DO SETUPDATE^ORIRPC1(ORY)
QUIT
+7 NEW CL
FOR CL="NATIONAL","LOCAL"
Begin DoDot:1
+8 ; quit if not enabled
NEW DA
SET DA(0)=$ORDER(^ORI(101.71,"B",CL,0))
if 'DA(0)
QUIT
if '$PIECE(^ORI(101.71,DA(0),0),U,2)
QUIT
Begin DoDot:2
+9 SET LASTUPDATE=$PIECE($GET(^ORI(101.71,DA(0),0)),U,3)
+10 SET DA(1)=$ORDER(^ORI(101.71,DA(0),"PKG","B",PKG,0))
if 'DA(1)
QUIT
+11 NEW SEQ
SET SEQ=0
FOR
SET SEQ=$ORDER(^ORI(101.71,DA(0),"PKG",DA(1),"LOC","B",SEQ))
if 'SEQ
QUIT
SET DA(2)=$ORDER(^ORI(101.71,DA(0),"PKG",DA(1),"LOC","B",SEQ,0))
if 'DA(2)
QUIT
Begin DoDot:3
+12 ; quit if not enabled
NEW NODE
SET NODE(0)=$GET(^ORI(101.71,DA(0),"PKG",DA(1),"LOC",DA(2),0))
if $PIECE(NODE(0),U,6)="true"
QUIT
+13 if $PIECE(NODE(0),U,2)'=""
SET NODE(101.73,0)=$GET(^ORI(101.73,$PIECE(NODE(0),U,2),0))
+14 SET NODE(101.73,0)=$GET(NODE(101.73,0))
+15 SET NODE(101.73,"CPRS")=$GET(^ORI(101.73,$PIECE(NODE(0),U,2),"CPRS"))
+16 DO SETSECTIONS^ORIRPC1(CL,.DA,.DATA,.NODE)
+17 SET DATA("lastUpdated")=LASTUPDATE
+18 NEW SEQ
SET SEQ=0
FOR
SET SEQ=$ORDER(^ORI(101.71,DA(0),"PKG",DA(1),"LOC",DA(2),"ITM","B",SEQ))
if 'SEQ
QUIT
Begin DoDot:4
+19 SET DA(3)=$ORDER(^ORI(101.71,DA(0),"PKG",DA(1),"LOC",DA(2),"ITM","B",SEQ,0))
+20 NEW GBL
SET GBL=$NAME(^ORI(101.71,DA(0),"PKG",DA(1),"LOC",DA(2),"ITM",DA(3)))
+21 ; quit if not enabled
SET NODE(0)=@GBL@(0)
if $PIECE(NODE(0),U,3)'="E"
QUIT
+22 SET NODE(10)=$GET(@GBL@(10))
SET NODE(20)=$GET(@GBL@(20))
SET NODE(30)=$GET(@GBL@(30))
+23 MERGE NODE("DTXT")=@GBL@("DTXT"),NODE("REQD")=@GBL@("REQD"),NODE("URL")=@GBL@("URL")
+24 NEW NUM
SET NUM=(+$ORDER(DATA("presentation",""),-1)+1)
+25 ; display [ITEM] if not applicable to patient
NEW DIFNA
SET DIFNA=+NODE(20)
+26 SET ORREMERR=0
+27 NEW A2PATIENT
SET A2PATIENT=$$A2P(.DA,.DATA,DFN,.NODE,NUM,SUB)
if 'DIFNA&('(A2PATIENT))
QUIT
+28 DO ITEMINFO(A2PATIENT,.DA,.DATA,DFN,.NODE,NUM,SUB)
+29 IF 'A2PATIENT
KILL NODE(0),NODE(10),NODE(20),NODE(30),NODE("DTXT"),NODE("REQD"),NODE("URL")
QUIT
+30 DO ITEMAPP(.DA,.DATA,DFN,.NODE,NUM,SUB)
+31 DO ITEMDTL(.DA,.DATA,DFN,.NODE,NUM,SUB)
+32 if $DATA(NODE("REQD"))
DO REQUIREDDATA(.DATA,.NODE,NUM)
+33 KILL NODE(0),NODE(10),NODE(20),NODE(30),NODE("DTXT"),NODE("REQD"),NODE("URL")
End DoDot:4
End DoDot:3
End DoDot:2
End DoDot:1
+34 KILL @ORY
DO ENCODE^XLFJSON("DATA",ORY,"ERROR")
+35 QUIT
+36 ;
ITEMINFO(A2PATIENT,DA,DATA,DFN,NODE,NUM,SUB) ; default infoPanel information
+1 NEW HASERROR
+2 SET HASERROR=+$GET(^TMP(SUB,$JOB,"detailText error",NUM))
+3 SET DATA("presentation",NUM,"createNote")="false"
+4 SET DATA("presentation",NUM,"disabled")=$SELECT(A2PATIENT:"false",HASERROR:"false",1:"true")
+5 SET DATA("presentation",NUM,"panelId")=DA(0)_";"_DA(1)_";"_DA(2)_";"_DA(3)
+6 SET DATA("presentation",NUM,"sectionId")=DA(0)_";"_DA(1)_";"_DA(2)
+7 if $PIECE(NODE(0),U,2)'=""
SET DATA("presentation",NUM,"name")=$PIECE(NODE(0),U,2)
+8 if $PIECE(NODE(0),U,4)'=""
SET DATA("presentation",NUM,"abbreviatedDisplayText")=$SELECT('HASERROR:$PIECE(NODE(0),U,4),1:"ERROR")
+9 if $PIECE(NODE(0),U,5)'=""
SET DATA("presentation",NUM,"displayText")=$SELECT('HASERROR:$PIECE(NODE(0),U,5),1:"ERROR CLICK FOR MORE DETAILS")
+10 if $PIECE(NODE(0),U,6)'=""
SET DATA("presentation",NUM,"color")=$$GUICOMPONENT($PIECE(NODE(0),U,6))
+11 IF $PIECE(NODE(0),U,8)
Begin DoDot:1
+12 NEW X
SET X=0
FOR
SET X=$ORDER(^ORI(101.73,$PIECE(NODE(0),U,8),50,X))
if 'X
QUIT
SET DATA("presentation",NUM,"imageIcon")=$GET(DATA("presentation",NUM,"imageIcon"))_^ORI(101.73,$PIECE(NODE(0),U,8),50,X,0)
End DoDot:1
+13 if $PIECE(NODE(30),U,1)'=""
SET DATA("presentation",NUM,"action")=$SELECT('HASERROR:$$GUICOMPONENT($PIECE(NODE(30),U,1)),1:$$GETERRORCOMP())
+14 if $PIECE(NODE(30),U,2)'=""
SET DATA("presentation",NUM,"popOut")=$PIECE(NODE(30),U,2)
+15 ; action image/icon
IF '$PIECE(NODE(0),U,8)
IF '$DATA(DATA("presentation",NUM,"imageIcon"))
IF $PIECE(NODE(30),U,1)
Begin DoDot:1
+16 NEW X
SET X=0
FOR
SET X=$ORDER(^ORI(101.73,$PIECE(NODE(30),U,1),50,X))
if 'X
QUIT
SET DATA("presentation",NUM,"imageIcon")=$GET(DATA("presentation",NUM,"imageIcon"))_^ORI(101.73,$PIECE(NODE(30),U,1),50,X,0)
End DoDot:1
+17 IF 'A2PATIENT
Begin DoDot:1
+18 IF $PIECE(NODE(20),U,2)'=""
SET DATA("presentation",NUM,"abbreviatedDisplayText")=$PIECE(NODE(20),U,2)
+19 IF $PIECE(NODE(20),U,3)'=""
SET DATA("presentation",NUM,"displayText")=$PIECE(NODE(20),U,3)
+20 IF $PIECE(NODE(20),U,4)'=""
SET DATA("presentation",NUM,"color")=$$GUICOMPONENT($PIECE(NODE(20),U,4))
+21 IF $PIECE(NODE(20),U,5)
Begin DoDot:2
+22 KILL DATA("presentation",NUM,"imageIcon")
+23 NEW X
SET X=0
FOR
SET X=$ORDER(^ORI(101.73,$PIECE(NODE(20),U,5),50,X))
if 'X
QUIT
SET DATA("presentation",NUM,"imageIcon")=$GET(DATA("presentation",NUM,"imageIcon"))_^ORI(101.73,$PIECE(NODE(20),U,5),50,X,0)
End DoDot:2
End DoDot:1
+24 QUIT
ITEMAPP(DA,DATA,DFN,NODE,NUM,SUB) ; applicable infoPanel information
+1 NEW Abrv,Color,DisplayText,EvalTYPE,IEN,ReminderIEN
SET (Abrv,Color,DisplayText,EvalTYPE,IEN,ReminderIEN)=""
+2 SET EvalTYPE=$PIECE(NODE(10),U)
SET IEN=DA(0)_";"_DA(1)_";"_DA(2)_";"_DA(3)
SET ReminderIEN=+$PIECE(NODE(10),U,2)
+3 if EvalTYPE="C"
SET Abrv=$GET(^TMP(SUB,$JOB,"CODE",IEN,"abbreviation"))
+4 if EvalTYPE="C"
SET Color=$GET(^TMP(SUB,$JOB,"CODE",IEN,"color"))
+5 if EvalTYPE="C"
SET DisplayText=$GET(^TMP(SUB,$JOB,"CODE",IEN,"displayText"))
+6 IF EvalTYPE="RD"
Begin DoDot:1
+7 SET DisplayText=$GET(^TMP(SUB,$JOB,"DEFINITION",ReminderIEN,"DISPLAY"))
+8 NEW ReminderSTATUS
SET ReminderSTATUS=$GET(^TMP(SUB,$JOB,"DEFINITION",ReminderIEN,"STATUS"))
+9 IF ReminderSTATUS=""!(ReminderSTATUS="ERROR")!(ReminderSTATUS="CNBD")
SET DATA("presentation",NUM,"disabled")="true"
End DoDot:1
+10 if Abrv'=""
SET DATA("presentation",NUM,"abbreviatedDisplayText")=Abrv
+11 if Color'=""
SET DATA("presentation",NUM,"color")=Color
+12 if DisplayText'=""
SET DATA("presentation",NUM,"displayText")=DisplayText
+13 QUIT
ITEMDTL(DA,DATA,DFN,NODE,NUM,SUB) ; detailed infoPanel information
+1 if '$DATA(DATA("presentation",NUM,"action"))!(DATA("presentation",NUM,"action")="actNone")
QUIT
+2 NEW CDRPC,IEN
SET CDRPC=$SELECT($PIECE(NODE(30),U,4)'="":$PIECE(NODE(30),U,4),1:"false")
SET IEN=DA(0)_";"_DA(1)_";"_DA(2)_";"_DA(3)
+3 SET DATA("presentation",NUM,"callDetailRPC")=$SELECT('+$GET(^TMP(SUB,$JOB,"detailText error",NUM)):CDRPC,1:"false")
+4 IF DATA("presentation",NUM,"action")="actShowEditor"
Begin DoDot:1
+5 if '$PIECE(NODE(30),U,5)
QUIT
if '$PIECE($GET(^ORE(101.74,$PIECE(NODE(30),U,5),40)),U,3)
QUIT
+6 SET DATA("presentation",NUM,"createNote")="true"
End DoDot:1
QUIT
+7 IF CDRPC="true"
QUIT
+8 IF DATA("presentation",NUM,"action")="actShowUrl"
Begin DoDot:1
+9 IF $GET(NODE("URL"))'=""
SET DATA("presentation",NUM,"url")=NODE("URL")
QUIT
+10 if $PIECE(NODE(10),U,1)'="C"
QUIT
NEW URL
SET URL=$GET(^TMP(SUB,$JOB,"CODE",IEN,"url"))
if URL'=""
SET DATA("presentation",NUM,"url")=URL
End DoDot:1
QUIT
+11 NEW DetailCODE,EvalTYPE
SET EvalTYPE=$PIECE(NODE(10),U)
SET DetailCODE=$PIECE(NODE(30),U,3)
+12 IF DetailCODE
DO PNLEXECODE^ORIUTL(.DA,.DATA,DFN,.NODE,NUM,SUB,DetailCODE,"panelDetailDisplay")
if $DATA(DATA("presentation",NUM,"detailText"))
QUIT
+13 IF $DATA(NODE("DTXT"))
DO DTEXT(.DA,.DATA,DFN,.NODE,NUM,SUB)
if $DATA(DATA("presentation",NUM,"detailText"))
QUIT
+14 if EvalTYPE="RD"
DO RDDTEXT(.DA,.DATA,DFN,.NODE,NUM,SUB)
+15 if EvalTYPE="RT"
DO RTDTEXT(.DA,.DATA,DFN,.NODE,NUM,SUB)
+16 QUIT
DTEXT(DA,DATA,DFN,NODE,NUM,SUB) ; "DTXT" node
+1 NEW GBL
SET GBL="^ORI(101.71,"_DA(0)_",""PKG"","_DA(1)_",""LOC"","_DA(2)_",""ITM"","
+2 ; extract objects and template data
NEW OLIST,TLIST,X
DO TIUSRCH^PXRMEXU1(GBL,DA(3),"""DTXT""",.OLIST,.TLIST)
+3 NEW REPLACE
SET OLIST=0
FOR
SET OLIST=$ORDER(OLIST(OLIST))
if 'OLIST
QUIT
SET REPLACE("|"_OLIST(OLIST)_"|")="'FMT{|"_OLIST(OLIST)_"|}FMT"
+4 NEW DTXT
SET X=0
FOR
SET X=$ORDER(^ORI(101.71,DA(0),"PKG",DA(1),"LOC",DA(2),"ITM",DA(3),"DTXT",X))
if 'X
QUIT
Begin DoDot:1
+5 SET DTXT(X)=$$REPLACE^XLFSTR(^ORI(101.71,DA(0),"PKG",DA(1),"LOC",DA(2),"ITM",DA(3),"DTXT",X,0),.REPLACE)
End DoDot:1
+6 NEW OUTPUT,PXRMRM,SG
SET X=0
SET PXRMRM=80
+7 DO FNFTXTO^PXRMFNFT(1,$ORDER(DTXT(""),-1),.DTXT,DFN,"",.X,.OUTPUT)
+8 NEW Num
SET Num=$ORDER(DATA("presentation",NUM,"detailText","\",""),-1)+1
+9 SET X=0
FOR
SET X=$ORDER(OUTPUT(X))
if 'X
QUIT
SET DATA("presentation",NUM,"detailText","\",Num+X)=OUTPUT(X)_$CHAR(13)_$CHAR(10)
+10 QUIT
RDDTEXT(DA,DATA,DFN,NODE,NUM,SUB) ; reminder definition detail text
+1 NEW ReminderIEN
SET ReminderIEN=+$PIECE(NODE(10),U,2)
if 'ReminderIEN
QUIT
+2 NEW FF
SET FF=+$GET(^TMP(SUB,$JOB,"DEFINITION",ReminderIEN,"FF"))
if 'FF
SET FF=+$$STATUS^PXRMBANNER(DFN,ReminderIEN)
if 'FF
QUIT
+3 KILL ^TMP("ORIRPC RDDTEXT",$JOB)
if '+$$CLICKTEXT^PXRMBANNER("ORIRPC RDDTEXT",ReminderIEN,DFN,FF)
QUIT
+4 NEW IDX
SET IDX=0
FOR
SET IDX=$ORDER(^TMP("ORIRPC RDDTEXT",$JOB,IDX))
if 'IDX
QUIT
SET DATA("presentation",NUM,"detailText","\",IDX)=^TMP("ORIRPC RDDTEXT",$JOB,IDX,0)_$CHAR(13)_$CHAR(10)
+5 IF '$DATA(^TMP("ORIRPC RDDTEXT",$JOB))
Begin DoDot:1
+6 SET DATA("presentation",NUM,"detailText","\",1)="No data returned from $$CLICKTEXT^PXRMBANNER."_$CHAR(13)_$CHAR(10)_"ReminderIEN: "_ReminderIEN_$CHAR(13)_$CHAR(10)_"DFN: "_DFN_$CHAR(13)_$CHAR(10)_"FF: "_FF_$CHAR(13)_$CHAR(10)
End DoDot:1
+7 KILL ^TMP("ORIRPC RDDTEXT",$JOB)
+8 QUIT
RTDTEXT(DA,DATA,DFN,NODE,NUM,SUB) ; reminder term detail text
+1 NEW ReminderIEN
SET ReminderIEN=+$PIECE(NODE(10),U,2)
if 'ReminderIEN
QUIT
+2 NEW ReminderNAME
SET ReminderNAME=$PIECE($GET(^PXRMD(811.5,ReminderIEN,0)),U)
if ReminderNAME=""
QUIT
+3 NEW IDX
SET IDX=0
FOR
SET IDX=$ORDER(^TMP(SUB,$JOB,"TERM",ReminderIEN,"detailText",IDX))
if 'IDX
QUIT
SET DATA("presentation",NUM,"detailText","\",IDX)=^TMP(SUB,$JOB,"TERM",ReminderIEN,"detailText",IDX,0)_$CHAR(13)_$CHAR(10)
+4 IF '$DATA(^TMP(SUB,$JOB,"TERM",ReminderIEN,"detailText"))
Begin DoDot:1
+5 SET DATA("presentation",NUM,"detailText","\",1)="No data returned from EN^PXRMGEV"_$CHAR(13)_$CHAR(10)_"ReminderIEN: "_ReminderIEN_$CHAR(13)_$CHAR(10)_"DFN: "_DFN_$CHAR(13)_$CHAR(10)_"termNAME: "_ReminderNAME_$CHAR(13)_$CHAR(10)
End DoDot:1
+6 KILL ^TMP("ORIRPC RTDTEXT",$JOB)
+7 QUIT
REQUIREDDATA(DATA,NODE,NUM) ;
+1 NEW X
SET X=0
FOR
SET X=$ORDER(NODE("REQD",X))
if 'X
QUIT
Begin DoDot:1
+2 NEW IEN,REQUIRED
SET IEN=$PIECE(NODE("REQD",X,0),U,1)
if 'IEN
QUIT
+3 SET REQUIRED=$PIECE(NODE("REQD",X,0),U,2)
+4 NEW Node
SET Node(0)=$GET(^ORI(101.73,IEN,0))
SET Node(30)=$GET(^ORI(101.73,IEN,30))
+5 SET DATA("presentation",NUM,"requiredData",X,"dataName")=$PIECE(Node(0),U,3)
+6 SET DATA("presentation",NUM,"requiredData",X,"required")=$SELECT(+REQUIRED:"true",1:"false")
+7 SET DATA("presentation",NUM,"requiredData",X,"errorMessage")=$SELECT(Node(30)'="":Node(30),1:"Error messsage note defined.")
+8 NEW Num
SET Num=0
FOR
SET Num=$ORDER(^ORI(101.73,IEN,40,Num))
if 'Num
QUIT
Begin DoDot:2
+9 SET Node(40)=$GET(^ORI(101.73,IEN,40,Num,0))
+10 SET DATA("presentation",NUM,"requiredData",X,"returnData",Num,"dataName")=$PIECE(Node(40),U)
+11 NEW Required
SET Required=$PIECE(Node(40),U,2)
+12 SET DATA("presentation",NUM,"requiredData",X,"returnData",Num,"required")=$SELECT(Required="O":"optional",Required="Y":"required",1:"notRequired")
End DoDot:2
End DoDot:1
+13 QUIT
+14 ;
GETERRORCOMP() ;
+1 QUIT "actShowDetail"
+2 ;
GUICOMPONENT(DA) ; return component name
+1 QUIT $SELECT($GET(DA)="":0,1:$PIECE($GET(^ORI(101.73,DA,0)),U,3))
LU(FILE,NAME,FLAGS,SCREEN,INDEXES,IENS) ;
+1 NEW DILOCKTM,DISYS,IO
+2 QUIT $$FIND1^DIC(FILE,$GET(IENS),$GET(FLAGS),NAME,$GET(INDEXES),$GET(SCREEN),"ERR")
PSET(DATA) ; component^parameter definition
+1 ;;panelTextAlignment^OR INFO TEXT ALIGN
+2 ;;processMouseClickWhenFloating^OR INFO MOUSE CLICK
+3 ;;showRefreshButton^OR INFO REFRESH BUTTON
+4 ;;imageIconEnabled^OR INFO IMAGES
+5 ;;colorEnabled^OR INFO COLORS
+6 ;;defaultColor^OR INFO DEFAULT COLOR
+7 ;;indentText^OR INFO INDENT
+8 ;;panelAlignment^OR INFO PANEL ALIGNMENT
+9 ;;
+10 NEW INF,NUM,XPARSYS
FOR NUM=1:1
SET INF=$PIECE($TEXT(PSET+NUM),";;",2)
if INF=""
QUIT
Begin DoDot:1
+11 NEW VAL
SET VAL=$$GET^XPAR("ALL",$PIECE(INF,U,2))
IF VAL'=""
SET DATA("generalParameters",$PIECE(INF,U,1))=$SELECT(+VAL>0:$$GUICOMPONENT(VAL),1:VAL)
End DoDot:1
+12 QUIT
+13 ;