1 | GMRCGUIU ;SLC/DCM,JFR - Utilities for CPRS GUI ;10/24/01 15:15
|
---|
2 | ;;3.0;CONSULT/REQUEST TRACKING;**4,12,15,17,22**;DEC 27, 1997
|
---|
3 | ;
|
---|
4 | ; This routine invokes IA #2757,#3042,#3122,#3171
|
---|
5 | ;
|
---|
6 | GUIC ;Kill variables from GMRCGUIC
|
---|
7 | K GMRC(0),GMRCA,GMRCATN,GMRCD,GMRCDD,GMRCDIAG,GMRCDT,GMRCED,GMRCEDCM
|
---|
8 | K GMRCFL,GMRCFLD,GMRCION,GMRCLNO,GMRCNATO,GMRCNT,GMRCORTX,GMRCPL
|
---|
9 | K GMRCPROC,GMRCRQT,GMRCS38,GMRCSS,GMRCSVC,GMRCTRLC,GMRCTYPE,GMRCURG
|
---|
10 | K GMRCX,LN,GMRCADUZ,ORDG,RMBED,VISIT
|
---|
11 | K GMRCITM,GMRCMSG,GMRCND1,GMRCNOD,GMRCPROV,GMRCOUNT,GMRCGUIF,GMRCREQ
|
---|
12 | K GMRCSS,GMRCPROC,GMRCURG,GMRCURGY,GMRCPL,GMRCATN,GMRCINO,GMRCREQ
|
---|
13 | K GMRCDIAG,GMRCDXCD,GMRCPROV,ND,NDX
|
---|
14 | K XQAKILL,^TMP("GMRCFLD20",$J)
|
---|
15 | Q
|
---|
16 | SETDA(GMRCSS,GMRCPROC,GMRCURG,GMRCPL,GMRCATN,GMRCRQT,GMRCION,GMRCDIAG,GMRCDXCD) ;Set DA in ^GMR(123,GMRCO,40
|
---|
17 | N X
|
---|
18 | S X=""
|
---|
19 | I +GMRCSS S X="1////^S X=+GMRCSS;.1///@;"
|
---|
20 | I +GMRCPROC S X=X_"4////^S X=GMRCPROC;.1///@;"
|
---|
21 | I +GMRCURG S X=X_"5////^S X=GMRCURG;"
|
---|
22 | I +GMRCPL S X=X_"6////^S X=GMRCPL;"
|
---|
23 | I +GMRCATN S X=X_"7////^S X=GMRCATN;"
|
---|
24 | I $G(GMRCATN)="@" S X=X_"7///@;"
|
---|
25 | I $L(GMRCION) S X=X_"14///^S X=GMRCION;"
|
---|
26 | I $L(GMRCDIAG) D
|
---|
27 | . I GMRCDIAG="@" S X=X_"30///@;30.1///@;" Q
|
---|
28 | . S X=X_"30////^S X=GMRCDIAG;"
|
---|
29 | I $L(GMRCDXCD) S X=X_"30.1////^S X=GMRCDXCD;"
|
---|
30 | I $L(X) S X=$E(X,1,$L(X)-1)
|
---|
31 | Q X
|
---|
32 | ;
|
---|
33 | COMMENT(GMRCO,MSG,ND,GMRCDA) ;File comments from GUI edits
|
---|
34 | N Y,GMRCND
|
---|
35 | S GMRCDA=$$ADDCM^GMRCEDT3(GMRCO),GMRCA=20
|
---|
36 | D AUDIT0^GMRCEDT3(GMRCDA,GMRCO)
|
---|
37 | S Y=$$FMTE^XLFDT(DT,"1D"),GMRCFLD(40)="COMMENT ADDED: "_Y_"^"_GMRCDA
|
---|
38 | S GMRCND="",GMRCNT=1 F S GMRCND=$O(@MSG@(ND,GMRCND)) Q:GMRCND="" S ^GMR(123,GMRCO,40,GMRCDA,1,GMRCNT,0)=@MSG@(ND,GMRCND),GMRCNT=GMRCNT+1
|
---|
39 | S ^GMR(123,GMRCO,40,GMRCDA,1,0)="^^"_(GMRCNT-1)_"^"_(GMRCNT-1)_"^"_GMRCDT_"^"
|
---|
40 | I $P($G(^GMR(123,GMRCO,12)),U,5)="P" D
|
---|
41 | . D TRIGR^GMRCIEVT(GMRCO,GMRCDA)
|
---|
42 | Q
|
---|
43 | ;
|
---|
44 | SENDCOMT(GMRCO,ND1) ;Get comments
|
---|
45 | N NDX,NDY,CMTDT,SENDR,TYPE
|
---|
46 | S NDX=0,CMTDT="",SENDR=""
|
---|
47 | S NDX=0 F S NDX=$O(^GMR(123,GMRCO,40,NDX)) Q:NDX?1A.E!(NDX="") S TYPE=$P(^GMR(123,GMRCO,40,NDX,0),"^",2) I $S(TYPE=19:1,TYPE=20:1,1:0) S TYPE(TYPE,NDX)=""
|
---|
48 | I $O(TYPE(19,0)) S @GLOBAL@(ND1,0)="~DENY COMMENT",ND1=ND1+1 D
|
---|
49 | .S NDX=0 F S NDX=$O(TYPE(19,NDX)) Q:NDX="" D
|
---|
50 | ..S CMTDT=$$FMTE^XLFDT($P(^GMR(123,GMRCO,40,NDX,0),"^",1)),SENDR=$S($L($P(^GMR(123,GMRCO,40,NDX,0),"^",4)):$P(^VA(200,$P(^(0),"^",4),0),"^",1),1:"Missing Data")
|
---|
51 | ..S @GLOBAL@(ND1,0)="t"_"CANCELLED: "_CMTDT_" BY: "_SENDR,ND1=ND1+1,NDY=0
|
---|
52 | ..S NDY=0 F S NDY=$O(^GMR(123,GMRCO,40,NDX,1,NDY)) Q:NDY="" S @GLOBAL@(ND1,0)="t"_^GMR(123,GMRCO,40,NDX,1,NDY,0),ND1=ND1+1
|
---|
53 | ..S @GLOBAL@(ND1,0)="t",$P(@GLOBAL@(ND1,0),"-",81)="",ND1=ND1+1
|
---|
54 | ..Q
|
---|
55 | .Q
|
---|
56 | S NDX=0 F S NDX=$O(TYPE(20,NDX)) Q:NDX="" S @GLOBAL@(ND1,0)="~ADDED COMMENT",ND1=ND1+1 D
|
---|
57 | .S CMTDT=$$FMTE^XLFDT($P(^GMR(123,GMRCO,40,NDX,0),"^",1)),SENDR=$S($L($P(^GMR(123,GMRCO,40,NDX,0),"^",4)):$P(^VA(200,$P(^GMR(123,GMRCO,40,NDX,0),"^",4),0),"^",1),1:"UNKNOWN")
|
---|
58 | .S @GLOBAL@(ND1,0)="t"_"COMMENT on "_CMTDT_" BY: "_SENDR,ND1=ND1+1
|
---|
59 | .S NDY=0 F S NDY=$O(^GMR(123,GMRCO,40,NDX,1,NDY)) Q:NDY="" S @GLOBAL@(ND,0)="t"_^GMR(123,GMRCO,40,NDX,1,NDY,0),ND1=ND1+1
|
---|
60 | .S @GLOBAL@(ND1,0)="t",$P(@GLOBAL@(ND1,0),"-",81)="",ND1=ND1+1
|
---|
61 | .Q
|
---|
62 | Q
|
---|
63 | GETMED(GMRCIFN,GMRCRES) ;return available med results for proc request
|
---|
64 | ; input:
|
---|
65 | ; GMRCIFN - ien from file 123
|
---|
66 | ; GMRCRES - variable passed in by reference used for output
|
---|
67 | ; output:
|
---|
68 | ; GMRCRES(x) = result_name^date^summary^result_ref
|
---|
69 | ; example:
|
---|
70 | ; GMRCRES(1)="19;MCAR(691.5,^EKG^JUN 30,1999@15:52^ABNORMAL"
|
---|
71 | N CNT,ROOT,PROC,S5,DFN,I
|
---|
72 | N MCARCODE,MCARDT,MCESKEY,MCKEYCAR,MCFILE
|
---|
73 | S PROC=+$P($G(^GMR(123,GMRCIFN,0)),U,8)
|
---|
74 | I 'PROC Q ;no procedure there
|
---|
75 | S ROOT=$$GET1^DIQ(697.2,+$P(^GMR(123.3,PROC,0),U,5),1)
|
---|
76 | I '$L(ROOT) Q ;proc not set up for med resulting
|
---|
77 | S S5=ROOT D EN^MCARPS2(+$P(^GMR(123,GMRCIFN,0),U,2))
|
---|
78 | I '$D(^TMP("OR",$J,"MCAR","OT")) Q ;no results available
|
---|
79 | S CNT=0,I=0
|
---|
80 | F S CNT=$O(^TMP("OR",$J,"MCAR","OT",CNT)) Q:'CNT D
|
---|
81 | . N DATA S DATA=^TMP("OR",$J,"MCAR","OT",CNT)
|
---|
82 | . Q:$D(^GMR(123,"R",$P(DATA,U,2)_";"_ROOT_","))
|
---|
83 | . Q:$$SCRNDRFT^GMRCMED($P(DATA,U,2),$P(ROOT,"(",2)) ;screen draft rpts
|
---|
84 | . S I=I+1
|
---|
85 | . S GMRCRES(I)=$P(DATA,U,2)_";"_ROOT_","_U_$P(DATA,U)_U_$P(DATA,U,6,7)
|
---|
86 | . Q
|
---|
87 | K MCARCODE,MCARDT,MCESKEY,MCKEYCAR,MCFILE
|
---|
88 | K ^TMP("OR",$J,"MCAR")
|
---|
89 | Q
|
---|
90 | GETRES(GMRCO,GMRCAR) ;return array of associated med rslts
|
---|
91 | ; DBIA #: ?
|
---|
92 | ; Input:
|
---|
93 | ; GMRCO - ien from file 123
|
---|
94 | ; GMRCAR - variable passed by ref to return array in
|
---|
95 | ; Output:
|
---|
96 | ; GMRCAR(x)=result_ref^result_name^date^impression
|
---|
97 | ; Example:
|
---|
98 | ; GMRCAR(1)="19;MCAR(691.5,^EKG^JUN 30,1999@15:52^ABNORMAL"
|
---|
99 | N RES,CNT,DATA
|
---|
100 | S RES=0,CNT=1
|
---|
101 | F S RES=$O(^GMR(123,GMRCO,50,RES)) Q:'RES D
|
---|
102 | . N GMRCMCR,GMRCMCAR,RES0
|
---|
103 | . S RES0=$G(^GMR(123,GMRCO,50,RES,0))
|
---|
104 | . I RES0'["MCAR" Q
|
---|
105 | . S GMRCMCR=$$SINGLE^MCAPI(RES0)
|
---|
106 | . Q:'$L(GMRCMCR)
|
---|
107 | . D MEDLKUP^MCARUTL3(.GMRCMCAR,+$P(RES0,"MCAR(",2),+RES0)
|
---|
108 | . S GMRCAR(CNT)=^GMR(123,GMRCO,50,RES,0)_U
|
---|
109 | . S GMRCAR(CNT)=GMRCAR(CNT)_$P(GMRCMCR,U)_U_$P(GMRCMCR,U,6,7)
|
---|
110 | . I $P(GMRCMCAR,U,10) S GMRCAR(CNT)=GMRCAR(CNT)_"^1"
|
---|
111 | . S CNT=CNT+1
|
---|
112 | . Q
|
---|
113 | Q
|
---|
114 | DISPMED(GMRCRES,GMRCAR) ; display a med result
|
---|
115 | ; Input:
|
---|
116 | ; GMRCRES - med result var ptr (e.g. "19;MCAR(691.5")
|
---|
117 | ; GMRCAR - array to return output from medicine API
|
---|
118 | ; Output:
|
---|
119 | ; GMRCAR
|
---|
120 | ; - var passed by ref or as global ref to return text of
|
---|
121 | ; medicine pkg report
|
---|
122 | ; Example: GMRCAR(1)=" PROCEDURE DATE/TIME: 06/30/99 15:52"
|
---|
123 | ; GMRCAR(2)=" CONFIDENTIAL ECG REPORT"
|
---|
124 | ; GMRCAR(3...)=
|
---|
125 | D START^ORWRP(80,"EN^MCAPI(GMRCRES,1)")
|
---|
126 | I '$D(^TMP("ORDATA",$J,1)) D Q
|
---|
127 | . I $D(GMRCAR) S @GMRCAR@(1)="Unable to locate result." Q
|
---|
128 | . I '$D(GMRCAR) S GMRCAR(1)="Unable to locate result."
|
---|
129 | I $D(GMRCAR) M @GMRCAR=^TMP("ORDATA",$J,1)
|
---|
130 | I '$D(GMRCAR) M GMRCAR=^TMP("ORDATA",$J,1)
|
---|
131 | K ^TMP("ORDATA",$J,1)
|
---|
132 | Q
|
---|
133 | CANDOMED(GMRCIEN,USER) ;can person associate med results?
|
---|
134 | ; GMRCIEN - ien from file 123
|
---|
135 | N PROC
|
---|
136 | I '$D(^GMR(123,GMRCIEN,0)) Q 0 ;bad record
|
---|
137 | S PROC=+$P(^GMR(123,GMRCIEN,0),U,8) I 'PROC Q 0 ;no procedure
|
---|
138 | I +$G(^GMR(123,GMRCIEN,1)) Q 0 ;med rslts not allowed on CP
|
---|
139 | I '+$P(^GMR(123.3,PROC,0),U,5) Q 0 ;proc not set up
|
---|
140 | Q 1
|
---|