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

ORDD71.m

Go to the documentation of this file.
ORDD71 ; SLC/AGP - Information panel and editor DD entry points ;Mar 17, 2025@19:19:04
 ;;3.0;ORDER ENTRY/RESULTS REPORTING;**508**;Dec 17, 1997;Build 39
 ;
 ; Reference to $$ISACTIVE^PXRMAPI supported by DBIA # 7466
 ;
 Q
 ;========================= internal API ================================
GETACT(DA) ;
 N COMPIEN,RESULT
 S COMPIEN=$P($G(^ORI(101.71,DA(3),"PKG",DA(2),"LOC",DA(1),"ITM",DA,30)),U) I COMPIEN=0 Q ""
 Q $$GETCOMP(COMPIEN)
 ;
GETCOMP(IDX) ;
 Q $P($G(^ORI(101.73,IDX,0)),U,3)
 ;
GETETYPE(DA) ;
 Q $P($G(^ORI(101.71,DA(3),"PKG",DA(2),"LOC",DA(1),"ITM",DA,10)),U)
 ;
GETRDATA(DA) ;
 Q $P($G(^ORI(101.71,DA(3),"PKG",DA(2),"LOC",DA(1),"ITM",DA,10)),U,2,3)
 ;
INUSE(FN,IEN) ;
 N ORFILES
 D CHKPT^DIUTL(FN,IEN,"ORFILES",1)
 Q ORFILES(0)
 ;
ISLISTCOMP(COMPIEN) ;
 N NAME
 I COMPIEN="" Q 0
 S NAME=$P($G(^ORI(101.73,COMPIEN,0)),U,3)
 I NAME="ptCBO" Q 1
 I NAME="ptCBOFreeText" Q 1
 I NAME="ptCBOLongList" Q 1
 I NAME="ptCheckBox" Q 1
 I NAME="ptCheckListBox" Q 1
 I NAME="ptListBox" Q 1
 Q 0
 ;
ISTYPE(IEN,TYPE) ;
 I $P($G(^ORI(101.73,IEN,0)),U,2)=TYPE Q 1
 Q 0
 ;
 ;========================= end internal API ============================
GETEDITORS(ONEOF,SUB) ;
 N CNT,IDX,NAME
 S NAME="",CNT=0 F  S NAME=$O(^ORE(101.74,"B",NAME)) Q:NAME=""  D
 .S IDX=0 F  S IDX=$O(^ORE(101.74,"B",NAME,IDX)) Q:IDX'>0  D SETONEOF(.ONEOF,SUB,.CNT,IDX,NAME)
 Q
 ;
GETPLUGINS(ONEOF,SUB) ;
 N CNT,IDX,NAME
 S NAME="",CNT=0 F  S NAME=$O(^OR(101.75,"B",NAME)) Q:NAME=""  D
 .S IDX=0 F  S IDX=$O(^OR(101.75,"B",NAME,IDX)) Q:IDX'>0  D SETONEOF(.ONEOF,SUB,.CNT,IDX,NAME)
 Q
 ;
GETLONGLIST(ONEOF,SUB) ;
 N CNT,IDX,NAME
 S NAME="",CNT=0 F  S NAME=$O(^OR(101.75,"B",NAME)) Q:NAME=""  D
 .S IDX=0 F  S IDX=$O(^OR(101.75,"B",NAME,IDX)) Q:IDX'>0  D:$P($G(^OR(101.75,IDX,0)),U,4)="L" SETONEOF(.ONEOF,SUB,.CNT,IDX,NAME)
 Q
 ;
GETSCHEMAS(ONEOF,SUB,TYPE) ;
 N ARRAY,CNT,IDX,NAME,SIEN
 S CNT=0
 I TYPE="" Q
 S SIEN=+$O(^ORW(101.77,"B",TYPE,"")) I SIEN=0 Q
 S IDX=0 F  S IDX=$O(^ORW(101.76,"C",SIEN,IDX)) Q:IDX'>0  D
 .S ARRAY($P($G(^ORW(101.76,IDX,0)),U))=IDX
 S NAME="" F  S NAME=$O(ARRAY(NAME)) Q:NAME=""  D SETONEOF(.ONEOF,SUB,.CNT,ARRAY(NAME),NAME)
 Q
 ;
SETONEOF(ONEOF,SUB,CNT,CONST,TITLE) ;
 S CNT=CNT+1
 S ONEOF(SUB,CNT,"const")=CONST
 S ONEOF(SUB,CNT,"title")=TITLE
 Q
 ;
FINDNATPANE() ;
 N NODE,PANE,RESULT
 S RESULT=0
 S PANE=0 F  S PANE=$O(^ORI(101.71,"TAB","A",PANE)) Q:PANE'>0!(RESULT>0)  D
 .I $P($G(^ORI(101.71,PANE,0)),U,4)="" S RESULT=PANE
 Q RESULT
 ;
SETIMAGEICON(DA) ;
 I $P($G(^ORI(101.73,DA,0)),U)="" Q
 I $P($G(^ORI(101.73,DA,0)),U,2)'="I" Q
 I $P(^ORI(101.73,DA,0),U,3)'="" Q
 S $P(^ORI(101.73,DA,0),U,3)="imgIcon"
 Q
 ;
 ;
SETONCLICK(DA) ;
 N DCODE,EDITOR,IEN,IDX,NODE,RESULT
 S NODE=$G(^ORI(101.71,DA(3),"PKG",DA(2),"LOC",DA(1),"ITM",DA,30))
 S DCODE=+$P(NODE,U,3)
 S EDITOR=+$P(NODE,U,5)
 S RESULT=$S(EDITOR>0:1,DCODE>0:1,1:0)
 I RESULT=0 D
 .S IDX=0
 .F  S IDX=$O(^ORI(101.71,DA(3),"PKG",DA(2),"LOC",DA(1),"ITM",DA,"REQD",IDX)) Q:IDX'>0!(RESULT=1)  D
 ..I $P($G(^ORI(101.71,DA(3),"PKG",DA(2),"LOC",DA(1),"ITM",DA,"REQD",IDX,0)),U,2)'="N" S RESULT=1
 I RESULT=1,$P(^ORI(101.71,DA(3),"PKG",DA(2),"LOC",DA(1),"ITM",DA,30),U,4)="" D
 .S $P(^ORI(101.71,DA(3),"PKG",DA(2),"LOC",DA(1),"ITM",DA,30),U,4)=1
 Q
 ;
VCOMBO(DA) ;
 N COMPIEN
 S COMPIEN=$P($G(^ORE(101.74,DA(1),30,DA,0)),U,2)
 I COMPIEN=0 Q 0
 Q $$ISLISTCOMP(COMPIEN)
 ;
VDCODE(DA) ;
 N GUIC,ACT,ETYPE
 S ETYPE=$$GETETYPE(.DA)
 S ACT=$$GETACT(.DA)
 S ACT=$E(ETYPE,1,3)'="act" Q 0
 I ACT="actNone" Q 0
 I ACT="actShowEditor" Q 0
 Q 1
 ;
VECODE(DA,VALUE) ;
 Q $$GETETYPE(.DA)=VALUE
 ;
VEDITOR(DA,VALUE) ;
 N ACT
 S ACT=$P($G(^ORI(101.71,DA(3),"PKG",DA(2),"LOC",DA(1),"ITM",DA,30)),U)
 I '$$VCOMPONENT(ACT,"A") Q 0
 I $P($G(^ORI(101.73,ACT,0)),U,3)'="actShowEditor" Q 0
 I $P($G(^ORE(101.74,VALUE,0)),U,3)=1 Q 0
 Q 1
 ;
VCOMPONENT(IEN,VALUE) ;
 N TYPE
 S TYPE=$P($G(^ORI(101.73,IEN,0)),U,3)
 I VALUE="A",$E(TYPE,1,3)'="act" Q 0
 I VALUE="C",$E(TYPE,1,2)'="cl" Q 0
 I VALUE="D",$E(TYPE,1,4)'="data" Q 0
 I VALUE="I",$E(TYPE,1,3)'="img" Q 0
 I VALUE="L",$E(TYPE,1,3)'="tab" Q 0
 I VALUE="P",$E(TYPE,1,2)'="pt" Q 0
 Q 1
 ;
VGUICNAME(IEN,VALUE) ;
 N TYPE
 S TYPE=$P($G(^ORI(101.73,IEN,0)),U,2)
 I TYPE="A",$E(VALUE,1,3)'="act" Q 0
 I TYPE="D",$E(VALUE,1,4)'="data" Q 0
 I TYPE="P",$E(VALUE,1,2)'="pt" Q 0
 Q 1
 ;
VLONGLIST(DA,VALUE) ;
 Q 1
 N COMPIEN,NAME
 S COMPIEN=$P($G(^ORE(101.74,DA(1),30,DA,0)),U,2)
 I COMPIEN=0 Q 0
 I $P($G(^ORI(101.73,COMPIEN,0)),U,3)'="ptListBox" Q 0
 I $P($G(^OR(101.75,VALUE,0)),U,4)'="L" Q 0
 Q 1
 ;
VLONGP(DA,VALUE) ;
 I +$P($G(^ORE(101.74,DA(1),30,DA,30)),U,3)=0 Q 0
 Q 1
 ;
VREM(Y,FN) ;
 N RESULT
 S RESULT=0
 I FN=811.9 D
 .I '$D(^PXD(811.9,"I",+Y)) Q
 .I $$ISACTIVE^PXRMAPI(FN,+Y) S RESULT=1
 I FN=811.5 D
 .I $D(^PXRMD(811.5,"I",+Y)) S RESULT=1
 Q RESULT
 ;
VREMSTAT(DA,Y) ;
 I +$G(PXRMEXCH)=1 Q 1
 N ISTERM,REMCOMP
 S REMCOMP=$P($$GETRDATA(.DA),U) I REMCOMP="" Q 0
 S ISTERM=$S(REMCOMP["PXRMD(811.5":1,1:0)
 I ISTERM=1&(Y="F"!(Y="T"))!(Y="TRUE")!(Y="FALSE") Q 1
 I ISTERM=0&(Y="D"!(Y="A")!(Y="N"))!(Y="DUE")!(Y="APPLICABLE")!(Y="N/A") Q 1
 Q 0
 ;