[613] | 1 | GMRCTIUL ;SLC/DCM,DLT - Get list of existing results for consults ;5/01/98 10:09
|
---|
| 2 | ;;3.0;CONSULT/REQUEST TRACKING;**4,14,15**;DEC 27, 1997
|
---|
| 3 | ;
|
---|
| 4 | ; This routine invokes IA #2834
|
---|
| 5 | ;
|
---|
| 6 | GETLIST(GMRCO,GETWHAT,TYPE,GMRCNT) ;Get the count and list of results
|
---|
| 7 | ;Input variables:
|
---|
| 8 | ;GMRCO=consult entry from 123
|
---|
| 9 | ;GETWHAT=how much to return
|
---|
| 10 | ; 0 = count only returned
|
---|
| 11 | ; 1 = count + ^TMP internal values from TIU
|
---|
| 12 | ; 2 = count + ^TMP internal values from TIU
|
---|
| 13 | ; + ^TMP display format array
|
---|
| 14 | ;TYPE=what type of results to return
|
---|
| 15 | ; 0=all types
|
---|
| 16 | ; 1=TIU only
|
---|
| 17 | ; 2=Medicine results only
|
---|
| 18 | ;returns GMRCNT() = result count
|
---|
| 19 | ; ^TMP("GMRC50",$J,GMRCRVP,GMRCRIEN)=summary data from source
|
---|
| 20 | ; where GMRCRVP is the variable pointer value
|
---|
| 21 | ; where GMRCRIEN is the entry in the 50th node
|
---|
| 22 | ; ^TMP("GMRC50R",$J,GMRCRIEN)= external list for review
|
---|
| 23 | N COUNT,GMRCRIEN,TAB
|
---|
| 24 | K ^TMP("GMRC50",$J),^TMP("GMRC50R",$J),GMRCNT
|
---|
| 25 | S (COUNT,GMRCRIEN)=0,GMRCNT(0)=COUNT
|
---|
| 26 | S TAB="",$P(TAB," ",30)=""
|
---|
| 27 | ;Get results from the result multiple
|
---|
| 28 | F S GMRCRIEN=$O(^GMR(123,+GMRCO,50,GMRCRIEN)) Q:'GMRCRIEN D I $G(GMRCQUT) K GMRCQUT Q
|
---|
| 29 | . S GMRCRVP=$P($G(^GMR(123,+GMRCO,50,+GMRCRIEN,0)),"^",1) I GMRCRVP="" S GMRCQUT=1 Q
|
---|
| 30 | . D UPDCNT
|
---|
| 31 | . Q
|
---|
| 32 | ;Get TIU NARRATIVE RESULT if the result multiple is not loaded yet
|
---|
| 33 | I COUNT=0,'$D(^GMR(123,+GMRCO,50)),+$P(^GMR(123,+GMRCO,0),"^",20) D
|
---|
| 34 | . S GMRCRVP=$P($G(^GMR(123,+GMRCO,0)),"^",20)_";TIU(8925,"
|
---|
| 35 | . D UPDCNT
|
---|
| 36 | . Q
|
---|
| 37 | S GMRCNT(0)=COUNT
|
---|
| 38 | Q
|
---|
| 39 | ;
|
---|
| 40 | UPDCNT ;Update count of existing results for the consult and build array
|
---|
| 41 | S GMRCVF=$P(GMRCRVP,";",2)
|
---|
| 42 | I '$G(GMRCNT(GMRCVF)) S GMRCNT(GMRCVF)=0
|
---|
| 43 | S COUNT=COUNT+1
|
---|
| 44 | S GMRCNT(GMRCVF)=GMRCNT(GMRCVF)+1
|
---|
| 45 | I +GETWHAT,TYPE=1 D TIUTMP(+GETWHAT)
|
---|
| 46 | Q
|
---|
| 47 | ;
|
---|
| 48 | TIUTMP(GETWHAT) ;build ^TMP array for results based on TIU when type=1
|
---|
| 49 | I $G(GMRCRVP)["MCAR" D Q
|
---|
| 50 | .S COUNT=COUNT-1
|
---|
| 51 | .S GMRCNT(GMRCVF)=GMRCNT(GMRCVF)-1
|
---|
| 52 | S ^TMP("GMRC50",$J,GMRCRVP,COUNT)=$$RESOLVE^TIUSRVLO(+GMRCRVP)
|
---|
| 53 | Q:GETWHAT=1 ;get internal value global
|
---|
| 54 | N GMRCRDAT,GMRCDOCT,GMRCEDT,GMRCAUTH,GMRCSTS,GMRCTX
|
---|
| 55 | S GMRCRDAT=^TMP("GMRC50",$J,GMRCRVP,COUNT)
|
---|
| 56 | S GMRCDOCT=$E($P(GMRCRDAT,"^",1),1,19)
|
---|
| 57 | S GMRCEDT=$$FMTE^XLFDT($P(GMRCRDAT,U,2),"D")
|
---|
| 58 | S GMRCAUTH=$E($P($G(^VA(200,+$P(GMRCRDAT,"^",4),0)),U,1),1,12)
|
---|
| 59 | S GMRCSTS=$E($P(GMRCRDAT,"^",6),1,5)
|
---|
| 60 | S GMRCTX=$J(COUNT,3)_"> "_$E(GMRCDOCT_TAB,1,20)_$E("#"_+GMRCRVP_TAB,1,9)_$E(GMRCEDT_TAB,1,13)_$E(GMRCAUTH_TAB,1,14)_$E(GMRCSTS_TAB,1,6)_$E("#"_+$P(GMRCRDAT,"^",9)_TAB,1,10)
|
---|
| 61 | S ^TMP("GMRC50R",$J,COUNT,GMRCRVP)=GMRCTX
|
---|
| 62 | Q
|
---|
| 63 | ;
|
---|
| 64 | PROCTMP ;build ^TMP array for procedure results when type note=1
|
---|
| 65 | Q:TYPE=1
|
---|
| 66 | Q
|
---|
| 67 | ;
|
---|
| 68 | SHOWTIU ;Display the current TIU results available
|
---|
| 69 | N GMRCRVP,GMRCRCT
|
---|
| 70 | W !,"Notes associated with this consult:",!
|
---|
| 71 | W !," No. Document Title TIU Entered Author Sts Consult"
|
---|
| 72 | S GMRCRCT=0
|
---|
| 73 | F S GMRCRCT=$O(^TMP("GMRC50R",$J,GMRCRCT)) Q:'+GMRCRCT D
|
---|
| 74 | . S GMRCRVP=$O(^TMP("GMRC50R",$J,GMRCRCT,""))
|
---|
| 75 | . W !,^TMP("GMRC50R",$J,GMRCRCT,GMRCRVP)
|
---|
| 76 | Q
|
---|
| 77 | SELR(GMRCRCT) ;Select a note from the list
|
---|
| 78 | ;Input GMRCNT=array with the count of TIU notes
|
---|
| 79 | I '+$G(GMRCRCT("TIU(8925,")),'+$O(^TMP("GMRC50R",$J,0)) S GMRCMSG="No results available" D EXAC^GMRCADC(GMRCMSG) K GMRCMSG Q 0
|
---|
| 80 | ;Select a note
|
---|
| 81 | N DIR,Y,DTOUT,DUOUT,DIRUT,DIROUT
|
---|
| 82 | S DIR("A")="Select an existing note"
|
---|
| 83 | S DIR(0)="NO^1:"_GMRCRCT("TIU(8925,")
|
---|
| 84 | D ^DIR
|
---|
| 85 | Q +Y
|
---|
| 86 | LN1 ;Used by filemanager print template to format line
|
---|
| 87 | S:'$G(COUNT) COUNT=1
|
---|
| 88 | S GMRCVF="TIU(8925,",GMRCNT(GMRCVF)=1,TAB=" "
|
---|
| 89 | S GMRCRVP=+($G(^GMR(123,D0,50,D1,0)))
|
---|
| 90 | Q:'GMRCRVP
|
---|
| 91 | N GMRCDOCT,GMRCEDT
|
---|
| 92 | S GMRCRDAT=$$RESOLVE^TIUSRVLO(+GMRCRVP)
|
---|
| 93 | S GMRCDOCT=$E($P(GMRCRDAT,"^",1),1,19)
|
---|
| 94 | S GMRCEDT=$$FMTE^XLFDT(GMRCRDAT,"D")
|
---|
| 95 | S GMRCTX=$E("#"_+GMRCRVP_TAB,1,9)_$E(GMRCDOCT_TAB,1,22)_$E(GMRCEDT_TAB,1,13)_$P(GMRCRDAT,U,3)
|
---|
| 96 | W GMRCTX
|
---|
| 97 | Q
|
---|
| 98 | LN2 ;Used by Fileman to write second line
|
---|
| 99 | N GMRCAUTH,GMRCSTS
|
---|
| 100 | S GMRCAUTH=$E($P($G(^VA(200,+$P(GMRCRDAT,"^",4),0)),U,1),1,12)
|
---|
| 101 | S GMRCSTS=$E($P(GMRCRDAT,"^",6),1,5)
|
---|
| 102 | S GMRCTX=$E(TAB,1,5)_$E("Author: "_GMRCAUTH_TAB,1,16)_$E(GMRCSTS_TAB,1,8)_$E("#"_+$P(GMRCRDAT,"^",9)_TAB,1,10)
|
---|
| 103 | W GMRCTX
|
---|
| 104 | Q
|
---|
| 105 | ;
|
---|