[613] | 1 | PXRMINQ ; SLC/PKR/PJH - Clinical Reminder inquiry routines. ;03/17/2005
|
---|
| 2 | ;;2.0;CLINICAL REMINDERS;**4**;Feb 04, 2005;Build 21
|
---|
| 3 | ;
|
---|
| 4 | ;====================================================
|
---|
| 5 | DISP(DIC,FLDS) ;Display detail.
|
---|
| 6 | N L
|
---|
| 7 | S L=0
|
---|
| 8 | D EN1^DIP
|
---|
| 9 | Q
|
---|
| 10 | ;
|
---|
| 11 | ;====================================================
|
---|
| 12 | HEADER(TEXT) ;Display Header (see DHD variable).
|
---|
| 13 | N TEMP,TEXTLEN,TEXTUND
|
---|
| 14 | S TEXTUND=$TR($J("",IOM)," ","-")
|
---|
| 15 | S TEMP=NOW_" Page "_DC
|
---|
| 16 | S TEXTLEN=$L(TEMP)
|
---|
| 17 | W TEXT
|
---|
| 18 | W ?(IOM-TEXTLEN),TEMP
|
---|
| 19 | W !,TEXTUND,!!
|
---|
| 20 | Q
|
---|
| 21 | ;
|
---|
| 22 | ;====================================================
|
---|
| 23 | LOCLIST ;Do location list inquiry.
|
---|
| 24 | N BY,DC,DHD,FLDS,FR,IENN,NOW,PXRMEDOK,PXRMFVPL,PXRMROOT,TO
|
---|
| 25 | S PXRMEDOK=1
|
---|
| 26 | S FLDS="[PXRM LOCATION LIST INQUIRY]"
|
---|
| 27 | S IENN=0
|
---|
| 28 | S PXRMROOT="^PXRMD(810.9,"
|
---|
| 29 | F Q:IENN=-1 D
|
---|
| 30 | . S IENN=$$SELECT(PXRMROOT,"Select LOCATION LIST: ","")
|
---|
| 31 | . I IENN=-1 Q
|
---|
| 32 | . D SET(IENN,"REMINDER LOCATION LIST INQUIRY")
|
---|
| 33 | . D DISP(PXRMROOT,FLDS)
|
---|
| 34 | Q
|
---|
| 35 | ;
|
---|
| 36 | ;====================================================
|
---|
| 37 | REM ;Do reminder inquiry.
|
---|
| 38 | N BY,DC,DHD,FLDS,FR,IENN,NOW,PXRMFVPL,PXRMROOT,TO
|
---|
| 39 | ;Build the finding variable pointer information.
|
---|
| 40 | D BLDRLIST^PXRMVPTR(811.902,.01,.PXRMFVPL)
|
---|
| 41 | S FLDS="[PXRM DEFINITION INQUIRY]"
|
---|
| 42 | S IENN=0
|
---|
| 43 | S PXRMROOT="^PXD(811.9,"
|
---|
| 44 | F Q:IENN=-1 D
|
---|
| 45 | . S IENN=$$SELECT(PXRMROOT,"Select Reminder Definition: ","")
|
---|
| 46 | . I IENN=-1 Q
|
---|
| 47 | . D SET(IENN,"REMINDER DEFINITION INQUIRY")
|
---|
| 48 | . D DISP(PXRMROOT,FLDS)
|
---|
| 49 | Q
|
---|
| 50 | ;
|
---|
| 51 | ;====================================================
|
---|
| 52 | REMVAR(VAR,IEN) ;Do reminder inquiry for reminder IEN, return formatted
|
---|
| 53 | ;output in VAR. VAR can be either a local variable or a global.
|
---|
| 54 | ;If it is a local it is indexed for the broker. If it is a global
|
---|
| 55 | ;it should be passed in closed form i.e., ^TMP("PXRMTEST",$J).
|
---|
| 56 | ;It will be returned formatted for ListMan i.e.,
|
---|
| 57 | ;^TMP("PXRMTEST",$J,N,0).
|
---|
| 58 | N %ZIS,BY,DC,DHD,DONE,FF,FILENAME,FILESPEC,FLDS,FR,GBL,HFNAME
|
---|
| 59 | N IND,IOP,NOW,PATH,PXRMFVPL,PXRMROOT,SUCCESS,TO,UNIQN
|
---|
| 60 | ;Build the finding variable pointer information.
|
---|
| 61 | D BLDRLIST^PXRMVPTR(811.902,.01,.PXRMFVPL)
|
---|
| 62 | S FLDS="[PXRM DEFINITION INQUIRY]"
|
---|
| 63 | S PXRMROOT="^PXD(811.9,"
|
---|
| 64 | D SET(IEN,"")
|
---|
| 65 | ;Make sure the PXRM WORKSTATION device exists.
|
---|
| 66 | D MKWSDEV^PXRMHOST
|
---|
| 67 | ;Set up the output file before DIP is called.
|
---|
| 68 | S PATH=$$PWD^%ZISH
|
---|
| 69 | S NOW=$$NOW^XLFDT
|
---|
| 70 | S NOW=$TR(NOW,".","")
|
---|
| 71 | S UNIQN=$J_NOW
|
---|
| 72 | S FILENAME="PXRMWSD"_UNIQN_".DAT"
|
---|
| 73 | S HFNAME=PATH_FILENAME
|
---|
| 74 | S IOP="PXRM WORKSTATION;80"
|
---|
| 75 | S %ZIS("HFSMODE")="W"
|
---|
| 76 | S %ZIS("HFSNAME")=HFNAME
|
---|
| 77 | D DISP(PXRMROOT,FLDS)
|
---|
| 78 | ;Move the host file into a global.
|
---|
| 79 | S GBL="^TMP(""PXRMINQ"",$J,1,0)"
|
---|
| 80 | S GBL=$NA(@GBL)
|
---|
| 81 | K ^TMP("PXRMINQ",$J)
|
---|
| 82 | S SUCCESS=$$FTG^%ZISH(PATH,FILENAME,GBL,3)
|
---|
| 83 | ;Look for a form feed, remove it and all subsequent lines.
|
---|
| 84 | S FF=$C(12)
|
---|
| 85 | I $G(VAR)["^" D
|
---|
| 86 | . S VAR=$NA(@VAR)
|
---|
| 87 | . S VAR=$P(VAR,")",1)
|
---|
| 88 | . S VAR=VAR_",IND,0)"
|
---|
| 89 | . S (DONE,IND)=0
|
---|
| 90 | . F Q:DONE S IND=$O(^TMP("PXRMINQ",$J,IND)) Q:+IND=0 D
|
---|
| 91 | .. I ^TMP("PXRMINQ",$J,IND,0)=FF S DONE=1 Q
|
---|
| 92 | .. S @VAR=^TMP("PXRMINQ",$J,IND,0)
|
---|
| 93 | E D
|
---|
| 94 | . S (DONE,IND)=0
|
---|
| 95 | . F Q:DONE S IND=$O(^TMP("PXRMINQ",$J,IND)) Q:+IND=0 D
|
---|
| 96 | .. S VAR(IND)=^TMP("PXRMINQ",$J,IND,0)
|
---|
| 97 | .. I VAR(IND)=FF S DONE=1
|
---|
| 98 | K ^TMP("PXRMINQ",$J)
|
---|
| 99 | ;Delete the host file.
|
---|
| 100 | S FILESPEC(FILENAME)=""
|
---|
| 101 | S SUCCESS=$$DEL^%ZISH(PATH,$NA(FILESPEC))
|
---|
| 102 | Q
|
---|
| 103 | ;
|
---|
| 104 | ;====================================================
|
---|
| 105 | SELECT(ROOT,PROMPT,DEFAULT) ;Select the entry.
|
---|
| 106 | N DIC,DTOUT,DUOUT,Y
|
---|
| 107 | S DIC=ROOT
|
---|
| 108 | S DIC(0)="AEMQ"
|
---|
| 109 | S DIC("A")=PROMPT
|
---|
| 110 | I $G(DEFAULT)'="" S DIC("B")=DEFAULT
|
---|
| 111 | D ^DIC
|
---|
| 112 | Q Y
|
---|
| 113 | ;
|
---|
| 114 | ;====================================================
|
---|
| 115 | SET(Y,TEXT) ;Set data for entry selection and the header.
|
---|
| 116 | ;
|
---|
| 117 | ;These variables need to be setup every time because DIP kills them.
|
---|
| 118 | ;They are newed in the calling routine.
|
---|
| 119 | S BY="NUMBER"
|
---|
| 120 | S (FR,TO)=+$P(Y,U,1)
|
---|
| 121 | ;If TEXT is null then no header.
|
---|
| 122 | I $L(TEXT)>0 D
|
---|
| 123 | . S NOW=$$NOW^XLFDT
|
---|
| 124 | . S NOW=$$FMTE^XLFDT(NOW,"1P")
|
---|
| 125 | . S DHD="W ?0 D HEADER^PXRMINQ("""_TEXT_""")"
|
---|
| 126 | E S DHD="@@"
|
---|
| 127 | Q
|
---|
| 128 | ;
|
---|
| 129 | ;====================================================
|
---|
| 130 | SPONSOR ;Do sponsor inquiry.
|
---|
| 131 | N BY,DC,DHD,FLDS,FR,IENN,NOW,PXRMEDOK,PXRMFVPL,PXRMROOT,TO
|
---|
| 132 | S PXRMEDOK=1
|
---|
| 133 | S FLDS="[PXRM SPONSOR INQUIRY]"
|
---|
| 134 | S IENN=0
|
---|
| 135 | S PXRMROOT="^PXRMD(811.6,"
|
---|
| 136 | F Q:IENN=-1 D
|
---|
| 137 | . S IENN=$$SELECT(PXRMROOT,"Select Reminder Sponsor: ","")
|
---|
| 138 | . I IENN=-1 Q
|
---|
| 139 | . D SET(IENN,"REMINDER SPONSOR INQUIRY")
|
---|
| 140 | . D DISP(PXRMROOT,FLDS)
|
---|
| 141 | Q
|
---|
| 142 | ;
|
---|
| 143 | ;====================================================
|
---|
| 144 | TAX ;Do taxonomy inquiry.
|
---|
| 145 | N BY,DC,DHD,FLDS,FR,IENN,NOW,PXRMFVPL,PXRMROOT,TO
|
---|
| 146 | S FLDS="[PXRM TAXONOMY INQUIRY]"
|
---|
| 147 | S IENN=0
|
---|
| 148 | S PXRMROOT="^PXD(811.2,"
|
---|
| 149 | F Q:IENN=-1 D
|
---|
| 150 | . S IENN=$$SELECT(PXRMROOT,"Select Reminder Taxonomy: ","")
|
---|
| 151 | . I IENN=-1 Q
|
---|
| 152 | . D SET(IENN,"REMINDER TAXONOMY INQUIRY")
|
---|
| 153 | . D DISP(PXRMROOT,FLDS)
|
---|
| 154 | Q
|
---|
| 155 | ;
|
---|
| 156 | ;====================================================
|
---|
| 157 | TERM ;Do term inquiry.
|
---|
| 158 | N BY,DC,DHD,FLDS,FR,IENN,NOW,PXRMFVPL,PXRMROOT,TO
|
---|
| 159 | ;Build the finding variable pointer information
|
---|
| 160 | D BLDRLIST^PXRMVPTR(811.52,.01,.PXRMFVPL)
|
---|
| 161 | S FLDS="[PXRM TERM INQUIRY]"
|
---|
| 162 | S IENN=0
|
---|
| 163 | S PXRMROOT="^PXRMD(811.5,"
|
---|
| 164 | F Q:IENN=-1 D
|
---|
| 165 | . S IENN=$$SELECT(PXRMROOT,"Select Reminder Term: ","")
|
---|
| 166 | . I IENN=-1 Q
|
---|
| 167 | . D SET(IENN,"REMINDER TERM INQUIRY")
|
---|
| 168 | . D DISP(PXRMROOT,FLDS)
|
---|
| 169 | Q
|
---|
| 170 | ;
|
---|