[613] | 1 | GMRCTIUE ;SLC/DCM,DLT,JFR - Complete/Update TIU notes ;07/10/03 15:26
|
---|
| 2 | ;;3.0;CONSULT/REQUEST TRACKING;**4,10,14,12,15,17,35**;DEC 27, 1997
|
---|
| 3 | ;
|
---|
| 4 | ; This routine invokes IA #2410,#2694,#2833,#2699,#2700
|
---|
| 5 | ;
|
---|
| 6 | Q
|
---|
| 7 | ENTER(GMRCO) ; Enter a note in TIU for the consult result
|
---|
| 8 | ;If consult from list is defined in GMRCO, then use it.
|
---|
| 9 | K GMRCQUT N TIUDA,TIUCLASS,GMRCLCK
|
---|
| 10 | N GMRCMC
|
---|
| 11 | I '$L($G(GMRCO)) D SELECT^GMRCA2(.GMRCO)
|
---|
| 12 | Q:$D(GMRCQUT)!'$L($G(GMRCO))
|
---|
| 13 | I $P($G(^GMR(123,GMRCO,12)),U,5)="P" D D EDEX Q
|
---|
| 14 | . N DIR
|
---|
| 15 | . W !,"The requesting facility may not complete an inter-facility "
|
---|
| 16 | . W "consult."
|
---|
| 17 | . S DIR(0)="E" D ^DIR
|
---|
| 18 | I '$$LOCK^GMRCA1(GMRCO) D EDEX Q
|
---|
| 19 | S GMRCLCK=1
|
---|
| 20 | D CHKSTS I $G(GMRCQUT) D EDEX Q
|
---|
| 21 | I $D(VALM) D FULL^VALM1
|
---|
| 22 | ;
|
---|
| 23 | ;Find out access if a Clinical Procedure request
|
---|
| 24 | N GMRCCP
|
---|
| 25 | S GMRCCP=$$CPACTM^GMRCCP(+GMRCO)
|
---|
| 26 | ;
|
---|
| 27 | ;If service administrative user, then use administrative complete logic
|
---|
| 28 | N GMRCAU
|
---|
| 29 | S GMRCAU=$$VALID^GMRCAU($P(^GMR(123,GMRCO,0),U,5))
|
---|
| 30 | I GMRCAU=3 D Q
|
---|
| 31 | . I $P(^GMR(123,+GMRCO,0),U,12)'=2,'GMRCCP S GMRCMC=$$MED(GMRCO)
|
---|
| 32 | . I $G(GMRCMC),$P(^GMR(123,+GMRCO,0),U,12)=2 D EDEX Q
|
---|
| 33 | . W !,$$CJ^XLFSTR("- Proceeding with Administrative Complete -",80)
|
---|
| 34 | . D COMP^GMRCAAC(+GMRCO)
|
---|
| 35 | . D EDEX
|
---|
| 36 | ;
|
---|
| 37 | I GMRCAU=4 D I $G(GMRCQIT)=1 D EDEX Q
|
---|
| 38 | . N DIRUT
|
---|
| 39 | . I $P(^GMR(123,+GMRCO,0),U,12)'=2,'GMRCCP S GMRCMC=$$MED(GMRCO)
|
---|
| 40 | . I $G(GMRCMC),$P(^GMR(123,+GMRCO,0),U,12)=2 Q
|
---|
| 41 | . S DIR(0)="YA",DIR("A")="Administratively complete this request? "
|
---|
| 42 | . D ^DIR I $D(DIRUT) S GMRCQIT=1 Q
|
---|
| 43 | . I Y<1 Q
|
---|
| 44 | . W !,$$CJ^XLFSTR("- Proceeding with Administrative Complete -",80)
|
---|
| 45 | . D COMP^GMRCAAC(+GMRCO) S GMRCQIT=1
|
---|
| 46 | . Q
|
---|
| 47 | ;
|
---|
| 48 | ;Assume the user is a clinical user
|
---|
| 49 | I GMRCCP=0 S GMRCMC=$$MED(GMRCO) ;only go med if not a CP
|
---|
| 50 | ;If a Procedure, allow Medicine or fall through to a note
|
---|
| 51 | I $G(GMRCMC) D I $G(GMRCQIT)=1 D EDEX Q
|
---|
| 52 | . N DUOUT,DTOUT,DIROUT,DIRUT,X,Y,DIR
|
---|
| 53 | . W !
|
---|
| 54 | . S DIR(0)="YA",DIR("B")="Y",DIR("A")="Continue with Note Entry? "
|
---|
| 55 | . D ^DIR I Y<1 S GMRCQIT=1
|
---|
| 56 | . W !
|
---|
| 57 | . Q
|
---|
| 58 | ;
|
---|
| 59 | ;Get list of notes If no new notes, add new then quit
|
---|
| 60 | S GMRCDFN=$P(^GMR(123,+GMRCO,0),"^",2)
|
---|
| 61 | I $D(VALM) D FULL^VALM1
|
---|
| 62 | I '$$GETLIST(GMRCDFN,GMRCO,.GMRCTIUC) D D EDEX Q
|
---|
| 63 | . I GMRCCP>1,GMRCCP'=4 D CPGUI Q
|
---|
| 64 | . D NEW
|
---|
| 65 | ;
|
---|
| 66 | ;If TIU Document already exists, use single record edit, and quit
|
---|
| 67 | S GMRCVF="TIU(8925,"
|
---|
| 68 | I GMRCTIUC(GMRCVF)=1 D Q
|
---|
| 69 | . I GMRCCP=3 D CPGUI Q ;incomplete CP document, must go to GUI
|
---|
| 70 | . N DIR,X,Y,DTOUT,DUOUT,DIROUT,DIRUT
|
---|
| 71 | . D SHOWTIU^GMRCTIUL
|
---|
| 72 | . S DIR(0)="YA",DIR("B")="Yes",DIR("A")="Edit/Review this note? "
|
---|
| 73 | . D ^DIR I Y>0 D
|
---|
| 74 | .. S GMRCTUFN=$$SINGLE(GMRCVF)
|
---|
| 75 | .. I +GMRCTUFN D EDITNOTE(GMRCTUFN)
|
---|
| 76 | . S DIR(0)="YA"
|
---|
| 77 | . S DIR("B")="No",DIR("A")="Would you like to enter a new note? "
|
---|
| 78 | . W ! D ^DIR I Y>0 D NEW
|
---|
| 79 | . D EDEX
|
---|
| 80 | . Q
|
---|
| 81 | ;
|
---|
| 82 | ;Show the list of multiple tiu results for selection
|
---|
| 83 | D SHOWTIU^GMRCTIUL
|
---|
| 84 | ;
|
---|
| 85 | ;Select a note from the list and then get the TIU internal entry
|
---|
| 86 | S GMRCSELR=$$SELR^GMRCTIUL(.GMRCTIUC)
|
---|
| 87 | I $D(GMRCQUT) D EDEX Q
|
---|
| 88 | I '+(GMRCSELR) D D EDEX Q
|
---|
| 89 | . ;didn't select existing note, allow a new entry
|
---|
| 90 | . N DIR,X,Y
|
---|
| 91 | . S DIR(0)="Y",DIR("A")="Would you like to enter a new note"
|
---|
| 92 | . S DIR("B")="N" D ^DIR
|
---|
| 93 | . I Y<1 K DTOUT,DUOUT,X,Y Q
|
---|
| 94 | . D NEW
|
---|
| 95 | S GMRCTUFN=$$GETTUFN(GMRCSELR)
|
---|
| 96 | ;
|
---|
| 97 | I +GMRCTUFN D EDITNOTE(GMRCTUFN)
|
---|
| 98 | ;
|
---|
| 99 | D EDEX
|
---|
| 100 | Q
|
---|
| 101 | ;
|
---|
| 102 | MED(GMRCO) ;allow med results if appropriate
|
---|
| 103 | ;If a Procedure and setu properly, allow Medicine
|
---|
| 104 | N GMRCMED,GMRCQIT S GMRCMED=0
|
---|
| 105 | I $P(^GMR(123,+GMRCO,0),U,17)="P" D
|
---|
| 106 | . Q:'$P(^GMR(123.3,+$P(^GMR(123,+GMRCO,0),U,8),0),U,5)
|
---|
| 107 | . D FULL^VALM1
|
---|
| 108 | . N DIR,DIROUT,DTOUT,DUOUT,X,Y
|
---|
| 109 | . S DIR(0)="YA",DIR("B")="Y"
|
---|
| 110 | . S DIR("A",1)=" ",DIR("A")="Attach Medicine Results? "
|
---|
| 111 | . D ^DIR Q:Y<1
|
---|
| 112 | . K DIR
|
---|
| 113 | . S GMRCMED=1
|
---|
| 114 | . D ARMED^GMRCAR
|
---|
| 115 | Q GMRCMED
|
---|
| 116 | ;
|
---|
| 117 | SAUSER() ; admin user?
|
---|
| 118 | N GMRCSS,GMRCADUS
|
---|
| 119 | S GMRCSS=+$P($G(^GMR(123,+GMRCO,0)),"^",5) Q:'+GMRCSS 0
|
---|
| 120 | I $D(^GMR(123.5,+$P($G(^GMR(123,+GMRCO,0)),"^",5),123.33,"B",DUZ)) Q 1
|
---|
| 121 | I '$L($TEXT(VALIDU^GMRCAU)) Q 0
|
---|
| 122 | S GMRCADUS=0
|
---|
| 123 | I $L($TEXT(VALIDU^GMRCAU)) D TEAM^GMRCAU(.GMRCADUS,123.34,DUZ)
|
---|
| 124 | Q +GMRCADUS
|
---|
| 125 | ;
|
---|
| 126 | CHKSTS ;Check the order status before allowing entry of a note
|
---|
| 127 | N STATUS S STATUS=$P($G(^GMR(123,+GMRCO,0)),"^",12)
|
---|
| 128 | I $S(STATUS=1:1,STATUS=13:1,1:0) D
|
---|
| 129 | . W !,"This order has been "
|
---|
| 130 | . W $S(STATUS=1:"DISCONTINUED",1:"CANCELLED")
|
---|
| 131 | . W ". A note cannot be entered."
|
---|
| 132 | . D PAUSE S GMRCQUT=1
|
---|
| 133 | Q
|
---|
| 134 | ;
|
---|
| 135 | EDITNOTE(GMRCTUFN) ;use TIU LM for an existing note
|
---|
| 136 | I +$D(^TIU(8925,+GMRCTUFN,0)) D Q
|
---|
| 137 | . D EXSTNOTE^TIUBR1(+GMRCDFN,+GMRCTUFN)
|
---|
| 138 | ;
|
---|
| 139 | ; link is missing
|
---|
| 140 | W !,"A note #"_+GMRCTUFN_" is linked to the consult,"
|
---|
| 141 | W !," but the note is no longer in TIU!"
|
---|
| 142 | D PAUSE
|
---|
| 143 | Q
|
---|
| 144 | ;
|
---|
| 145 | SINGLE(GMRCVF) ;Get the single result entry from the list for the file type
|
---|
| 146 | N RSLT,GMRCVP
|
---|
| 147 | S RSLT="",GMRCVP=0
|
---|
| 148 | F S RSLT=$O(^TMP("GMRC50",$J,RSLT)) Q:RSLT="" D Q:+GMRCVP
|
---|
| 149 | . I $P(RSLT,";",2)=GMRCVF S GMRCVP=RSLT
|
---|
| 150 | Q +GMRCVP
|
---|
| 151 | ;
|
---|
| 152 | GETTUFN(GMRCSELR) ;Get the result entry from the selected entry
|
---|
| 153 | N RSLT
|
---|
| 154 | S RSLT=$O(^TMP("GMRC50R",$J,GMRCSELR,""))
|
---|
| 155 | Q RSLT
|
---|
| 156 | ;
|
---|
| 157 | NEW ;Enter a new result through TIU if implemented or old Completion logic
|
---|
| 158 | S TIUCLASS=+$$CLASS(+$$CPACTM^GMRCCP(+GMRCO))
|
---|
| 159 | I TIUCLASS'>0 D Q
|
---|
| 160 | . W !!,$C(7),"Consult Resulting through TIU is not yet implemented."
|
---|
| 161 | . W !,"Proceeding with Administrative Complete."
|
---|
| 162 | . D COMP^GMRCAAC(+GMRCO)
|
---|
| 163 | ;
|
---|
| 164 | N GMRCTIDA
|
---|
| 165 | D MAIN^TIUEDIT(TIUCLASS,.GMRCTIDA,GMRCDFN,"","","","",1)
|
---|
| 166 | ;
|
---|
| 167 | Q
|
---|
| 168 | ;
|
---|
| 169 | CLASS(CPSTAT) ; Get TIU doc def for CONSULTS OR clinical procedures
|
---|
| 170 | N GMRCY,GMRCDTYP,ERR
|
---|
| 171 | I 'CPSTAT D
|
---|
| 172 | . S GMRCY=$$FIND1^DIC(8925.1,,"X","CONSULTS","B",,"ERR")
|
---|
| 173 | I '$D(GMRCY) D
|
---|
| 174 | . S GMRCY=$$FIND1^DIC(8925.1,,"X","CLINICAL PROCEDURES","B",,"ERR")
|
---|
| 175 | S GMRCDTYP=$$GET1^DIQ(8925.1,+GMRCY,.04,"I")
|
---|
| 176 | I +GMRCY>0,$S(GMRCDTYP="CL":0,GMRCDTYP="DC":0,1:1) S GMRCY=0
|
---|
| 177 | Q GMRCY
|
---|
| 178 | ;
|
---|
| 179 | GETLIST(GMRCDFN,GMRCO,GMRCLIST) ;
|
---|
| 180 | ;
|
---|
| 181 | N GMRCVF
|
---|
| 182 | ;
|
---|
| 183 | D GETLIST^GMRCTIUL(GMRCO,2,1,.GMRCTIUC)
|
---|
| 184 | S GMRCVF="TIU(8925,"
|
---|
| 185 | Q +$G(GMRCTIUC(GMRCVF))
|
---|
| 186 | ;
|
---|
| 187 | ADDEND(GMRCO) ; Make an addendum action for a selected consult
|
---|
| 188 | N TIUDA,GMRCTX,GMRCDFN,GMRCADUZ,RSLTINFO,GMRCACT,GMRCTIUC
|
---|
| 189 | N GMRCLCK,RSLTIEN
|
---|
| 190 | K GMRCQUT
|
---|
| 191 | I '$L($G(GMRCO)) D SELECT^GMRCA2(.GMRCO)
|
---|
| 192 | Q:$D(GMRCQUT)!'+($G(GMRCO))
|
---|
| 193 | ;
|
---|
| 194 | ;If service administrative user, then QUIT.
|
---|
| 195 | I $$VALID^GMRCAU($P(^GMR(123,+GMRCO,0),U,5))=3 D Q
|
---|
| 196 | . D EXAC^GMRCADC("You do not have the ability to edit this note.")
|
---|
| 197 | ;
|
---|
| 198 | ;Assume the user is a clinical user
|
---|
| 199 | ;
|
---|
| 200 | ;Get list of notes for this consult. if no notes, then quit.
|
---|
| 201 | S GMRCDFN=$P(^GMR(123,+GMRCO,0),"^",2)
|
---|
| 202 | I '$$GETLIST(GMRCDFN,+GMRCO,.GMRCTIUC) D Q
|
---|
| 203 | . W !,"This consult does not yet have an associated note."
|
---|
| 204 | . W !," Use the Complete action to enter a new note."
|
---|
| 205 | . D PAUSE,EDEX
|
---|
| 206 | ;
|
---|
| 207 | I '$$LOCK^GMRCA1(GMRCO) D EDEX Q
|
---|
| 208 | S GMRCLCK=1
|
---|
| 209 | ;If TIU Document already exists, use single record edit, and quit
|
---|
| 210 | S GMRCVF="TIU(8925,"
|
---|
| 211 | I GMRCTIUC(GMRCVF)=1 D D EDEX Q
|
---|
| 212 | . S GMRCTUFN=$$SINGLE(GMRCVF)
|
---|
| 213 | . Q:'+GMRCTUFN
|
---|
| 214 | . D SHOWTIU^GMRCTIUL
|
---|
| 215 | . N GMRCVP,RSLTINFO,AUTHOR
|
---|
| 216 | . S GMRCVP=+GMRCTUFN_";"_GMRCVF
|
---|
| 217 | . S RSLTIEN=$O(^TMP("GMRC50",$J,GMRCVP,0))
|
---|
| 218 | . S RSLTINFO=$G(^TMP("GMRC50",$J,GMRCVP,RSLTIEN))
|
---|
| 219 | . I $P(RSLTINFO,"^",6)="completed" D ADDEND1(+GMRCTUFN) Q
|
---|
| 220 | . I (DUZ=+$P(RSLTINFO,"^",4)) D EDITNOTE(+GMRCTUFN) Q
|
---|
| 221 | . W !,"You may not addend to the incomplete associated note."
|
---|
| 222 | . W !,"You are not the author of the existing note."
|
---|
| 223 | . I $$READ^GMRCACMT("Y","Do you want to add a new note ","YES") D NEW
|
---|
| 224 | . Q
|
---|
| 225 | ;
|
---|
| 226 | ;Show the list of multiple tiu results for selection
|
---|
| 227 | D SHOWTIU^GMRCTIUL
|
---|
| 228 | ;
|
---|
| 229 | ;Select a note from the list and then get the TIU internal entry
|
---|
| 230 | S GMRCSELR=$$SELR^GMRCTIUL(.GMRCTIUC)
|
---|
| 231 | I $D(GMRCQUT)!'+(GMRCSELR) D EDEX Q
|
---|
| 232 | S GMRCTUFN=$$GETTUFN(GMRCSELR)
|
---|
| 233 | ;
|
---|
| 234 | I +GMRCTUFN D ADDEND1(+GMRCTUFN),EDEX Q
|
---|
| 235 | ;
|
---|
| 236 | D EDEX
|
---|
| 237 | Q
|
---|
| 238 | ADDEND1(TIUDA) ;Add an addendum
|
---|
| 239 | ;
|
---|
| 240 | D FULL^VALM1,ADDEND1^TIURA1
|
---|
| 241 | Q
|
---|
| 242 | ;
|
---|
| 243 | EDEX ;
|
---|
| 244 | I $G(GMRCLCK) D UNLOCK^GMRCA1(GMRCO)
|
---|
| 245 | K GMRCDFN,GMRCO,GMRCQUT,GMRCTUFN,GMRCSEL,GMRCQIT
|
---|
| 246 | Q
|
---|
| 247 | ;
|
---|
| 248 | PAUSE ; Pause for user
|
---|
| 249 | ;
|
---|
| 250 | N X W !,"Press <RETURN> to continue: " R X:DTIME E W " (timeout)"
|
---|
| 251 | Q
|
---|
| 252 | ;
|
---|
| 253 | CPGUI ;it's GUI way or no way
|
---|
| 254 | N MSG
|
---|
| 255 | S MSG="You must use the CPRS GUI to complete this Clinical Procedure"
|
---|
| 256 | D EXAC^GMRCADC(MSG)
|
---|
| 257 | Q
|
---|