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

PXRMINQ.m

Go to the documentation of this file.
  1. PXRMINQ ; SLC/PKR/PJH - Clinical Reminder inquiry routines. ;11/28/2008
  1. ;;2.0;CLINICAL REMINDERS;**4,12**;Feb 04, 2005;Build 73
  1. ;
  1. ;====================================================
  1. CF ;Do computed finding inquiry.
  1. N FLDS,HEADER,PXRMROOT,STEXT
  1. S FLDS="[PXRM COMPUTED FINDING INQUIRY]"
  1. S HEADER="REMINDER COMPUTED FINDING INQUIRY"
  1. S PXRMROOT="^PXRMD(811.4,"
  1. S STEXT="Select COMPUTED FINDING: "
  1. D SELLOOP(PXRMROOT,FLDS,HEADER,STEXT)
  1. Q
  1. ;
  1. ;====================================================
  1. DISP(DIC,FLDS) ;Display detail.
  1. N L
  1. S L=0
  1. D EN1^DIP
  1. Q
  1. ;
  1. ;====================================================
  1. N TEMP,TEXTLEN,TEXTUND
  1. S TEXTUND=$TR($J("",IOM)," ","-")
  1. S TEMP=NOW_" Page "_DC
  1. S TEXTLEN=$L(TEMP)
  1. W TEXT
  1. W ?(IOM-TEXTLEN),TEMP
  1. W !,TEXTUND,!!
  1. Q
  1. ;
  1. ;====================================================
  1. LOCLIST ;Do location list inquiry.
  1. N FLDS,HEADER,PXRMEDOK,PXRMROOT,STEXT
  1. S PXRMEDOK=1
  1. S FLDS="[PXRM LOCATION LIST INQUIRY]"
  1. S HEADER="REMINDER LOCATION LIST INQUIRY"
  1. S PXRMROOT="^PXRMD(810.9,"
  1. S STEXT="Select LOCATION LIST: "
  1. D SELLOOP(PXRMROOT,FLDS,HEADER,STEXT)
  1. Q
  1. ;
  1. ;====================================================
  1. REM ;Do reminder inquiry.
  1. N FLDS,HEADER,PXRMFVPL,PXRMROOT,STEXT
  1. ;Build the finding variable pointer information.
  1. D BLDRLIST^PXRMVPTR(811.902,.01,.PXRMFVPL)
  1. S FLDS="[PXRM DEFINITION INQUIRY]"
  1. S HEADER="REMINDER DEFINITION INQUIRY"
  1. S PXRMROOT="^PXD(811.9,"
  1. S STEXT="Select REMINDER DEFINITION: "
  1. D SELLOOP(PXRMROOT,FLDS,HEADER,STEXT)
  1. Q
  1. ;
  1. ;====================================================
  1. REMVAR(VAR,IEN) ;Do reminder inquiry for reminder IEN, return formatted
  1. ;output in VAR. VAR can be either a local variable or a global.
  1. ;If it is a local it is indexed for the broker. If it is a global
  1. ;it should be passed in closed form i.e., ^TMP("PXRMTEST",$J).
  1. ;It will be returned formatted for ListMan i.e.,
  1. ;^TMP("PXRMTEST",$J,N,0).
  1. N %ZIS,BY,DC,DHD,DONE,FF,FILENAME,FILESPEC,FLDS,FR,GBL,HFNAME
  1. N IND,IOP,NOW,PATH,PXRMFVPL,PXRMROOT,SUCCESS,TO,UNIQN
  1. ;Build the finding variable pointer information.
  1. D BLDRLIST^PXRMVPTR(811.902,.01,.PXRMFVPL)
  1. S FLDS="[PXRM DEFINITION INQUIRY]"
  1. S PXRMROOT="^PXD(811.9,"
  1. D SET(IEN,"")
  1. ;Make sure the PXRM WORKSTATION device exists.
  1. D MKWSDEV^PXRMHOST
  1. ;Set up the output file before DIP is called.
  1. S PATH=$$PWD^%ZISH
  1. S NOW=$$NOW^XLFDT
  1. S NOW=$TR(NOW,".","")
  1. S UNIQN=$J_NOW
  1. S FILENAME="PXRMWSD"_UNIQN_".DAT"
  1. S HFNAME=PATH_FILENAME
  1. S IOP="PXRM WORKSTATION;80"
  1. S %ZIS("HFSMODE")="W"
  1. S %ZIS("HFSNAME")=HFNAME
  1. D DISP(PXRMROOT,FLDS)
  1. ;Move the host file into a global.
  1. S GBL="^TMP(""PXRMINQ"",$J,1,0)"
  1. S GBL=$NA(@GBL)
  1. K ^TMP("PXRMINQ",$J)
  1. S SUCCESS=$$FTG^%ZISH(PATH,FILENAME,GBL,3)
  1. ;Look for a form feed, remove it and all subsequent lines.
  1. S FF=$C(12)
  1. I $G(VAR)["^" D
  1. . S VAR=$NA(@VAR)
  1. . S VAR=$P(VAR,")",1)
  1. . S VAR=VAR_",IND,0)"
  1. . S (DONE,IND)=0
  1. . F Q:DONE S IND=$O(^TMP("PXRMINQ",$J,IND)) Q:+IND=0 D
  1. .. I ^TMP("PXRMINQ",$J,IND,0)=FF S DONE=1 Q
  1. .. S @VAR=^TMP("PXRMINQ",$J,IND,0)
  1. E D
  1. . S (DONE,IND)=0
  1. . F Q:DONE S IND=$O(^TMP("PXRMINQ",$J,IND)) Q:+IND=0 D
  1. .. S VAR(IND)=^TMP("PXRMINQ",$J,IND,0)
  1. .. I VAR(IND)=FF S DONE=1
  1. K ^TMP("PXRMINQ",$J)
  1. ;Delete the host file.
  1. S FILESPEC(FILENAME)=""
  1. S SUCCESS=$$DEL^%ZISH(PATH,$NA(FILESPEC))
  1. Q
  1. ;
  1. ;====================================================
  1. SELECT(ROOT,PROMPT,DEFAULT) ;Select the entry.
  1. N DIC,DTOUT,DUOUT,Y
  1. S DIC=ROOT
  1. S DIC(0)="AEMQ"
  1. S DIC("A")=PROMPT
  1. I $G(DEFAULT)'="" S DIC("B")=DEFAULT
  1. D ^DIC
  1. Q Y
  1. ;
  1. ;====================================================
  1. SELLOOP(PXRMROOT,FLDS,HEADER,STEXT) ;Selection loop.
  1. N BY,DC,DHD,FR,IENN,NOW,TO
  1. S IENN=0
  1. F Q:IENN=-1 D
  1. . S IENN=$$SELECT(PXRMROOT,STEXT,"")
  1. . I IENN=-1 Q
  1. . D SET(IENN,HEADER)
  1. . D DISP(PXRMROOT,FLDS)
  1. Q
  1. ;
  1. ;====================================================
  1. SET(Y,TEXT) ;Set data for entry selection and the header.
  1. ;These variables need to be setup every time because DIP kills them.
  1. ;They are newed in the calling routine.
  1. S BY="NUMBER"
  1. S (FR,TO)=+$P(Y,U,1)
  1. ;If TEXT is null then no header.
  1. I $L(TEXT)>0 D
  1. . S NOW=$$NOW^XLFDT
  1. . S NOW=$$FMTE^XLFDT(NOW,"1P")
  1. . S DHD="W ?0 D HEADER^PXRMINQ("""_TEXT_""")"
  1. E S DHD="@@"
  1. Q
  1. ;
  1. ;====================================================
  1. N FLDS,HEADER,PXRMEDOK,PXRMROOT,STEXT
  1. S PXRMEDOK=1
  1. S FLDS="[PXRM SPONSOR INQUIRY]"
  1. S HEADER="REMINDER SPONSOR INQUIRY"
  1. S PXRMROOT="^PXRMD(811.6,"
  1. S STEXT="Select REMINDER SPONSOR: "
  1. D SELLOOP(PXRMROOT,FLDS,HEADER,STEXT)
  1. Q
  1. ;
  1. ;====================================================
  1. TAX ;Do taxonomy inquiry.
  1. N FLDS,HEADER,PXRMROOT,STEXT
  1. S FLDS="[PXRM TAXONOMY INQUIRY]"
  1. S HEADER="REMINDER TAXONOMY INQUIRY"
  1. S PXRMROOT="^PXD(811.2,"
  1. S STEXT="Select REMINDER TAXONOMY: "
  1. D SELLOOP(PXRMROOT,FLDS,HEADER,STEXT)
  1. Q
  1. ;
  1. ;====================================================
  1. TERM ;Do term inquiry.
  1. N FLDS,HEADER,PXRMFVPL,PXRMROOT,STEXT
  1. ;Build the finding variable pointer information
  1. D BLDRLIST^PXRMVPTR(811.52,.01,.PXRMFVPL)
  1. S FLDS="[PXRM TERM INQUIRY]"
  1. S HEADER="REMINDER TERM INQUIRY"
  1. S PXRMROOT="^PXRMD(811.5,"
  1. S STEXT="Select REMINDER TERM: "
  1. D SELLOOP(PXRMROOT,FLDS,HEADER,STEXT)
  1. Q
  1. ;