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

PXRMRPC.m

Go to the documentation of this file.
  1. PXRMRPC ; SLC/PJH - PXRM REMINDER GUI - routine for RPC ;12/20/2000
  1. ;;2.0;CLINICAL REMINDERS;;Feb 04, 2005
  1. Q
  1. ;
  1. TAG(PXRMY,PXRMTAG,PXRMX) ;Entry point for all RPC calls
  1. ;
  1. I PXRMTAG="ALL" D ALL(.PXRMY) Q
  1. I PXRMTAG="INI" D INI(.PXRMY) Q
  1. I PXRMTAG="INQ" D REMVAR^PXRMINQ(.PXRMY,PXRMX) Q
  1. I PXRMTAG="EXC" D EXC(.PXRMY) Q
  1. I PXRMTAG="CMP" D CMP(.PXRMY,PXRMX) Q
  1. I PXRMTAG="RPC" D RPC(.PXRMY) Q
  1. ;
  1. S PXRMY(1)="-1^INVALID"
  1. ;
  1. Q
  1. ;
  1. ;
  1. ALL(ORY) ;All active reminders
  1. ;print name^ien
  1. N ARR,DATA,NAME,ORREM,OCNT,SUB
  1. S ORREM=0
  1. F S ORREM=$O(^PXD(811.9,ORREM)) Q:'ORREM D
  1. .S DATA=$G(^PXD(811.9,ORREM,0)) Q:DATA=""
  1. .;Skip inactive reminders
  1. .I $P(DATA,U,6) Q
  1. .;Skip reminders with no name
  1. .S NAME=$P(DATA,U,3) I NAME="" Q
  1. .;Sort by name
  1. .S ARR(NAME_U_ORREM)=""
  1. ; Build output arrray
  1. S SUB="",OCNT=0
  1. F S SUB=$O(ARR(SUB)) Q:SUB="" D
  1. .S OCNT=OCNT+1
  1. .S ORY(OCNT)=SUB
  1. Q
  1. ;
  1. CMP(PXRMY,IEN) ;List Exchange Repository Entries
  1. N CNT,DATA,CMPIEN,SUB
  1. D CDISP^PXRMEXLC(IEN)
  1. S CNT=0,SUB=""
  1. F S SUB=$O(^TMP("PXRMEXLC",$J,SUB)) Q:'SUB D
  1. .S DATA=$G(^TMP("PXRMEXLC",$J,SUB,0)) Q:DATA="" Q:DATA=" "
  1. .S CMPIEN=$G(^TMP("PXRMEXLC",$J,"IDX",SUB,SUB))
  1. .S CNT=CNT+1,PXRMY(CNT)=DATA_U_CMPIEN
  1. Q
  1. ;
  1. EXC(PXRMY) ;List Exchange Repository Entries
  1. N CNT,DATA,REPIEN,SUB
  1. D BLDLIST^PXRMEXLC(0)
  1. S CNT=0,SUB=""
  1. F S SUB=$O(^TMP("PXRMEXLR",$J,SUB)) Q:'SUB D
  1. .S DATA=$G(^TMP("PXRMEXLR",$J,SUB,0)) Q:DATA=""
  1. .S REPIEN=$G(^TMP("PXRMEXLR",$J,"IDX",SUB,SUB))
  1. .S CNT=CNT+1,PXRMY(CNT)=$P(DATA," ",3,99)_U_REPIEN
  1. Q
  1. ;
  1. INI(PXRMY) ;Lists available RPC calls
  1. ;
  1. S PXRMY(1)="Reminder Maintenance^ALL"
  1. S PXRMY(2)="Reminder Exchange^EXC"
  1. S PXRMY(3)="Test RPC^RPC"
  1. S PXRMY(4)="Other Options^OTH"
  1. Q
  1. ;
  1. RPC(PXRMY) ;Test bed
  1. ;
  1. D SEL^PXRMRPCD(.PXRMY)
  1. Q
  1. ;
  1. XALL(ORY,FROM,DIR) ;All active dialogs
  1. ;
  1. ; Input parameters
  1. ; FROM - dialog name
  1. ; DIR - direction (1/-1)
  1. ;
  1. N CNT,DATA,DIEN,IC,TYPE
  1. S CNT=44,IC=0
  1. F Q:IC'<CNT S FROM=$O(^PXRMD(801.41,"B",FROM),DIR) Q:FROM="" D
  1. .S DIEN=0
  1. .F S DIEN=$O(^PXRMD(801.41,"B",FROM,DIEN)) Q:'DIEN D
  1. ..S DATA=$G(^PXRMD(801.41,DIEN,0)) Q:DATA=""
  1. ..;Only reminder dialogs
  1. ..S TYPE=$P(DATA,U,4) Q:TYPE'="R"
  1. ..;Skip diabled dialogs
  1. ..I $P(DATA,U,3)]"" Q
  1. ..;Sort by name
  1. ..S IC=IC+1,ORY(IC)=DIEN_U_FROM
  1. Q