1 | GMRCGUIA ;SLC/DCM,JFR - File Consult actions from GUI ;7/8/03 07:36
|
---|
2 | ;;3.0;CONSULT/REQUEST TRACKING;**1,4,12,15,22,35**;DEC 27, 1997
|
---|
3 | ;
|
---|
4 | ; This routine invokes IA #2638,#2926
|
---|
5 | ;
|
---|
6 | NEW(DFN,GMRCDA,GMRCLOC,GMRCTYPE,GMRCSVC,GMRCPROV,GMRCURG,GMRCPLI,GMRCNP,GMRCATN,GMRCINOT,GMRCDIAG,GMRCRFQ) ;Add a new consult for a patient.
|
---|
7 | ;DFN=Patient ^DPT( file number
|
---|
8 | ;GMRCRFQ=Reason For Request, why the consult is being ordered. Passed in as
|
---|
9 | ; an array
|
---|
10 | ;GMRCDIAG=Povisional diagnosis; what is suspected to be the problem
|
---|
11 | ;GMRCTYPE=Request type -Consult or Procedure
|
---|
12 | ;GMRCLOC=Patient location.
|
---|
13 | ;GMRCDA=Date Time of Request
|
---|
14 | ;GMRCSVC=To Service; consulting service
|
---|
15 | ;GMRCLOC=Hospital Location ordering consult
|
---|
16 | ;GMRCPR=If a procedure, the procedure ordered (pointer to file 101)
|
---|
17 | ;GMRCURG=Urgency of request (stat, routine, etc) from file 101
|
---|
18 | ;GMRCPLI=Place of consultation (bedside, consultants choice, etc.) from file 101
|
---|
19 | ;GMRCPROV=Sending Provider
|
---|
20 | ;GMRCATN=if consult is to go to a specific provider, this provider is identified here.
|
---|
21 | ;GMRCINOT=Service provided as Inpatient or Outpatient
|
---|
22 | N DIC,DLAYGO,Y,DIE,GMRCADUZ,X,GMRCO,DR
|
---|
23 | S DIC="^GMR(123,",DIC(0)="L",X="""N""",DLAYGO=123 D ^DIC K DLAYGO
|
---|
24 | S (DA,GMRCO)=+Y,GMRCSTS=5,GMRCA=1,DIE=DIC
|
---|
25 | L +^GMR(123,GMRC0)
|
---|
26 | S DR=".02////^S X=DFN;.04////^S X=GMRCLOC;1////^S X=GMRCSVC;3////^S X=GMRCDA;4////^S X=GMRCPR;5////^S X=GMRCURG;6////^S X=GMRCPLI"_$S(GMRCATN]"":"7////^S X=GMRCATN",1:"")
|
---|
27 | D ^DIE
|
---|
28 | S DR="8////^S X=GMRCSTS;9////^S X=GMRCA;10////^S X=GMRCPROV;11////^S X=GMRCATN;13////^S X=GMRCTYPE;14////^S X=GMRCINOT"_$S($D(GMRCDIAG):"30:////^S X=GMRCDIAG",1:"")
|
---|
29 | D ^DIE L -^GMR(123,GMRCO)
|
---|
30 | I $O(GMRCRFQ(0)) D REASON^GMRCGUIB(GMRCO,GMRCRFQ,GMRCDA)
|
---|
31 | D EN^GMRCHL7(DFN,GMRCDA,GMRCTYPE,$G(GMRCRB),"NW",DUZ,$G(VISIT),"")
|
---|
32 | D EXIT
|
---|
33 | Q
|
---|
34 | ;
|
---|
35 | RC(GMRCO,GMRCORNP,GMRCAD,GMRCMT,GMRCDUZ) ;Receive consult into service
|
---|
36 | ;
|
---|
37 | ;Input variables:
|
---|
38 | ;GMRCO - The internal file number of the consult from File 123
|
---|
39 | ;GMRCORNP - Name of the person who actually 'Received'the consult
|
---|
40 | ;GMRCDUZ - DUZ of person entering the consult as being 'RECEIVED'.
|
---|
41 | ;GMRCAD - Actual date time that consult was received into the service.
|
---|
42 | ;GMRCMT - array of comments if entered (by reference)
|
---|
43 | ; ARRAY(1)="FIRST LINE OF COMMENT"
|
---|
44 | ; ARRAY(2)="SECOND LINE OF COMMENT"
|
---|
45 | ;GMRCDUZ - DUZ of person entering the consult as being 'RECEIVED'
|
---|
46 | ;
|
---|
47 | ;Output:
|
---|
48 | ;GMRCERR - Error Condition Code: 0 = NO error, 1=error
|
---|
49 | ;GMRCERMS - Error message or null
|
---|
50 | ; returned as GMRCERR^GMRCERMS
|
---|
51 | ;
|
---|
52 | N DFN,GMRCSTS,GMRCNOW,GMRCERR,GMRCERMS
|
---|
53 | S GMRCERR=0,GMRCERMS="",GMRCNOW=$$NOW^XLFDT
|
---|
54 | S:$G(GMRCAD)="" GMRCAD=GMRCNOW
|
---|
55 | S:'$G(GMRCDUZ) GMRCDUZ=DUZ
|
---|
56 | S DFN=$P($G(^GMR(123,GMRCO,0)),"^",2) I DFN="" S GMRCERR="1",GMRCERMS="Not A Valid Consult - File Not Found." D EXIT Q GMRCERR_"^"_GMRCERMS
|
---|
57 | S GMRCSTS=6,GMRCA=21
|
---|
58 | D STATUS^GMRCP I $D(GMRCQUT) D EXIT Q GMRCERR_"^"_GMRCERMS
|
---|
59 | I '$O(GMRCMT(0)) D AUDIT^GMRCP
|
---|
60 | I $O(GMRCMT(0)) D
|
---|
61 | . S DA=$$SETDA^GMRCGUIB
|
---|
62 | . D SETCOM^GMRCGUIB(.GMRCMT,GMRCDUZ)
|
---|
63 | D EN^GMRCHL7(DFN,GMRCO,"","","SC",GMRCORNP,"","")
|
---|
64 | D EXIT
|
---|
65 | Q GMRCERR_"^"_GMRCERMS
|
---|
66 | ;
|
---|
67 | DC(GMRCO,GMRCORNP,GMRCAD,GMRCACTM,GMRCOM) ;Discontinue or Deny a consult
|
---|
68 | ;
|
---|
69 | ;Input variables:
|
---|
70 | ;GMRCO - Internal file number of consult from File 123
|
---|
71 | ;GMRCORNP - Provider who Discontinued or Denied consult
|
---|
72 | ;GMRCAD - FM date/time of actual activity.
|
---|
73 | ;GMRCACTM - set to "DY" if 'CANCELLED'(old DENY)
|
---|
74 | ; set to "DC" if consult is Discontinued
|
---|
75 | ;GMRCOM - Comment array containing explanation of action
|
---|
76 | ; Passed by reference in the following form :
|
---|
77 | ; ARRAY(1)="xxx xxx xxx"
|
---|
78 | ; ARRAY(2)="XXX XXX"
|
---|
79 | ; ARRAY(3)="XXX XXX xx", etc.
|
---|
80 | ; Comment is a required field when consult is denied or discontinued.
|
---|
81 | ;
|
---|
82 | ;Output:
|
---|
83 | ;GMRCERR=Error Flag: 0 if no error, 1 if error occurred
|
---|
84 | ;GMRCERMS - Error message or null
|
---|
85 | ; returned as GMRCERR^GMRCERMS
|
---|
86 | ;
|
---|
87 | N GMRCDUZ,DFN,GMRCNOW,GMRCSTS,GMRCERR,GMRCERMS,GMRCADUZ,GMRCTRLC
|
---|
88 | S GMRCERR=0,GMRCERMS=""
|
---|
89 | S GMRCDUZ=DUZ,GMRCERR=0,GMRCERMS="",GMRCNOW=$$NOW^XLFDT
|
---|
90 | K GMRCQUT
|
---|
91 | S:$G(GMRCAD)="" GMRCAD=GMRCNOW
|
---|
92 | S DFN=$P($G(^GMR(123,GMRCO,0)),"^",2) I DFN="" S GMRCERR="1",GMRCERMS="Not A Valid Consult - File Not Found." D EXIT Q GMRCERR_"^"_GMRCERMS
|
---|
93 | I '$D(GMRCOM) S GMRCERR=1,GMRCERMS="Comments are required for this action." D EXIT Q GMRCERR_"^"_GMRCERMS
|
---|
94 | S GMRCSTS=$P(^ORD(100.01,$P(^GMR(123,GMRCO,0),"^",12),0),U,2)
|
---|
95 | I GMRCSTS="dc" S GMRCERR=1,GMRCERMS="Order Has Already Been Discontinued." D EXIT Q GMRCERR_"^"_GMRCERMS
|
---|
96 | I GMRCSTS="ca" S GMRCERR=1,GMRCERMS="Order Has Already Been Cancelled." D EXIT Q GMRCERR_"^"_GMRCERMS
|
---|
97 | I GMRCSTS="comp" S GMRCERR=1,GMRCERMS="Order Has Already Been Completed." D EXIT Q GMRCERR_"^"_GMRCERMS
|
---|
98 | S GMRCA=$S(GMRCACTM="DC":6,1:19),GMRCSTS=$S(GMRCA=6:1,1:13)
|
---|
99 | D STATUS^GMRCP I $D(GMRCQUT) D EXIT Q GMRCERR_"^"_GMRCERMS
|
---|
100 | I GMRCACTM="DC",$$DCPRNT^GMRCUTL1(GMRCO,DUZ) D PRNT^GMRCUTL1("",GMRCO)
|
---|
101 | S DA=$$SETDA^GMRCGUIB D SETCOM^GMRCGUIB(.GMRCOM)
|
---|
102 | S GMRCOM(0)=DA
|
---|
103 | S GMRCTRLC=$S(GMRCACTM="DC":"OD",1:"OC")
|
---|
104 | D EN^GMRCHL7(DFN,GMRCO,$G(GMRCTYPE),$G(GMRCRB),GMRCTRLC,GMRCORNP,$G(GMRCVSIT),.GMRCOM,,GMRCAD)
|
---|
105 | S GMRCORTX=$S(GMRCACTM="DY":"Cancelled",1:"Discontinued")_" consult "
|
---|
106 | S GMRCORTX=GMRCORTX_$$ORTX^GMRCAU(+GMRCO)
|
---|
107 | S GMRCADUZ="",GMRCFL=0
|
---|
108 | I GMRCACTM="DC" D
|
---|
109 | . S GMRCFL=$$DCNOTE^GMRCADC(GMRCO,DUZ) ;NOTIFY SERVICE ON DC ?
|
---|
110 | I +$P($G(^GMR(123,+GMRCO,0)),"^",14),$P(^(0),"^",14)'=DUZ D
|
---|
111 | . S GMRCADUZ($P(^(0),"^",14))=""
|
---|
112 | ;send notification
|
---|
113 | N NOTYPE S NOTYPE=$S(GMRCA=6:23,1:30)
|
---|
114 | D MSG^GMRCP(DFN,GMRCORTX,+GMRCO,NOTYPE,.GMRCADUZ,GMRCFL)
|
---|
115 | D EXIT
|
---|
116 | Q GMRCERR_"^"_GMRCERMS
|
---|
117 | ;
|
---|
118 | FR(GMRCO,GMRCSS,GMRCORNP,GMRCATTN,GMRCURGI,GMRCOM,GMRCAD) ;FWD consult
|
---|
119 | ;to another service
|
---|
120 | ;
|
---|
121 | ;Input variables:
|
---|
122 | ;GMRCO=File 123 IEN of the consult record
|
---|
123 | ;GMRCSS=service being forwarded to; ptr to REQUEST SERVICES (#123.5)
|
---|
124 | ;GMRCORNP=Provider Responsible for action
|
---|
125 | ;GMRCATTN=NEW PERSON to whose attention action should be directed
|
---|
126 | ;GMRCURGI=urgency from PROTOCOL(#101) file
|
---|
127 | ;GMRCOM=Comment array containing explanation of action
|
---|
128 | ; Passed by reference in the following form :
|
---|
129 | ; ARRAY(1)="xxx xxx xxx"
|
---|
130 | ; ARRAY(2)="XXX XXX"
|
---|
131 | ; ARRAY(3)="XXX XXX xx", etc.
|
---|
132 | ;GMRCAD=FM date/time of actual activity
|
---|
133 | ;
|
---|
134 | ;Output:
|
---|
135 | ; GMRCERR=Error Flag: 0 if no error, 1 if error occurred
|
---|
136 | ; GMRCERMS - Error message or null
|
---|
137 | ; returned as GMRCERR^GMRCERMS
|
---|
138 | ;
|
---|
139 | N DR,GMRCDUZ,GMRCNOW,GMRCFF,GMRCFR,GMRCADUZ,GMRCURG
|
---|
140 | N GMRCERR,GMRCERMS,GMRCIROL,GMRCINM,GMRCIROU
|
---|
141 | S GMRCERR=0,GMRCERMS=""
|
---|
142 | S DFN=$P(^GMR(123,+GMRCO,0),U,2)
|
---|
143 | S GMRCDUZ=DUZ,GMRCNOW=$$NOW^XLFDT
|
---|
144 | S:'$G(GMRCAD) GMRCAD=GMRCNOW ;Actual FM date/time consult was FWD'd
|
---|
145 | S:'$G(GMRCURGI) GMRCURGI=$P(^GMR(123,GMRCO,0),U,9)
|
---|
146 | S GMRCA=17,GMRCSTS=5
|
---|
147 | S GMRCFF=$P($G(^GMR(123.5,+GMRCSS,123)),U,9) ;printed to new serv
|
---|
148 | S GMRCFR=$P($G(^GMR(123,+GMRCO,0)),"^",5) ;Get current service
|
---|
149 | S DIE="^GMR(123,",DA=GMRCO,DR=""
|
---|
150 | I $D(^GMR(123.5,+GMRCSS,"IFC")) D ; if fwd to IFC serv, get extra flds
|
---|
151 | . S GMRCIROU=$P(^GMR(123.5,+GMRCSS,"IFC"),U) Q:GMRCIROU="" ;no rout fac
|
---|
152 | . S GMRCINM=$P(^GMR(123.5,+GMRCSS,"IFC"),U,2) Q:GMRCINM="" ;no serv nm
|
---|
153 | . S GMRCA=25,GMRCIROL="P"
|
---|
154 | . S DR=".07////^S X=GMRCIROU;.125////^S X=GMRCIROL;.131///^S X=GMRCINM;"
|
---|
155 | S DR=DR_"1////^S X=$G(GMRCSS);5////^S X=$G(GMRCURGI);8////^S X=$G(GMRCSTS);9////^S X=$G(GMRCA);.1///@"_$S($L($G(GMRCATTN)):";7////^S X=GMRCATTN",1:"")
|
---|
156 | L +^GMR(123,GMRCO):3 I '$T K DIE,DA,DR S GMRCERR=1,GMRCERMS="Data Not Filed - File In Use By Another User." D EXIT Q GMRCERR_"^"_GMRCERMS
|
---|
157 | D ^DIE L -^GMR(123,GMRCO) K DIE,DA,DR
|
---|
158 | S DA=$$SETDA^GMRCGUIB D SETCOM^GMRCGUIB(.GMRCOM)
|
---|
159 | S GMRCURG=$P($G(^ORD(101,+GMRCURGI,0)),"^",2)
|
---|
160 | D DEM^GMRCU ;sets GMRCRB and other variables
|
---|
161 | D TYPE^GMRCAFRD ;sets GMRCTYPE
|
---|
162 | D FRMSG^GMRCAFRD ;create XX HL7 message for OE/RR and send alert
|
---|
163 | D EXIT
|
---|
164 | Q GMRCERR_"^"_GMRCERMS
|
---|
165 | ;
|
---|
166 | RT(GMRCO,TMPGLOB) ;Set ^TMP("GMRCR",$J,"DT", with results from med and TIU
|
---|
167 | ;GMRCO=IEN of consult from file 123
|
---|
168 | ;Set TMPGLOB to a ^TMP global other than ^TMP("GMRCR",$J,"MCAR", or ^TMP("GMRCR",$J,"RES", i.e., S TMPGLOB="^TMP(""GMRCR"",$J,""RT"")"'
|
---|
169 | Q:'$G(GMRCO)
|
---|
170 | K @TMPGLOB
|
---|
171 | S GMRCDVL="",$P(GMRCDVL,"-",41)=""
|
---|
172 | S GMRCSR=$P(^GMR(123,+GMRCO,0),"^",15),GMRCTUFN=$P(^(0),"^",20)
|
---|
173 | S GMRCRTFL=$S('+GMRCSR&('GMRCTUFN):1,1:0)
|
---|
174 | ;
|
---|
175 | D GETRSLT^GMRCART(TMPGLOB)
|
---|
176 | ;
|
---|
177 | D EXIT
|
---|
178 | Q
|
---|
179 | EXIT ;kill off variables for exit from actions
|
---|
180 | K GMRCA,GMRCDVL,GMRCSR,GMRCRTFL,GMRCFL,GMRCORNP,GMRCQUT,GMRCSTS,GMRCTUFN
|
---|
181 | K GMRCRTFL,GMRCADUZ,GMRCORTX
|
---|
182 | Q
|
---|