1 | MAGGTRP1 ;WOIFO/GEK - Display Associated Report ; [ 11/08/2001 17:18 ]
|
---|
2 | ;;3.0;IMAGING;**8**;Sep 15, 2004
|
---|
3 | ;; +---------------------------------------------------------------+
|
---|
4 | ;; | Property of the US Government. |
|
---|
5 | ;; | No permission to copy or redistribute this software is given. |
|
---|
6 | ;; | Use of unreleased versions of this software requires the user |
|
---|
7 | ;; | to execute a written test agreement with the VistA Imaging |
|
---|
8 | ;; | Development Office of the Department of Veterans Affairs, |
|
---|
9 | ;; | telephone (301) 734-0100. |
|
---|
10 | ;; | |
|
---|
11 | ;; | The Food and Drug Administration classifies this software as |
|
---|
12 | ;; | a medical device. As such, it may not be changed in any way. |
|
---|
13 | ;; | Modifications to this software may result in an adulterated |
|
---|
14 | ;; | medical device under 21CFR820, the use of which is considered |
|
---|
15 | ;; | to be a violation of US Federal Statutes. |
|
---|
16 | ;; +---------------------------------------------------------------+
|
---|
17 | ;;
|
---|
18 | Q
|
---|
19 | RAD(MAGRPTY,RARPT) ;RPC [MAGGRADREPORT] Call to retrun a Radiology report
|
---|
20 | ; MAGRPTY is the return array
|
---|
21 | ; RARPT is the Radiology Report IEN i.e. ^RARPT(RARPT
|
---|
22 | N ERRRES,RPTRES
|
---|
23 | S ERRRES=""
|
---|
24 | D OPENDEV Q:POP
|
---|
25 | D BUILD(RARPT)
|
---|
26 | S RPTRES=$G(@MAGRPTY@(0))
|
---|
27 | I 'RPTRES S ERRRES=RPTRES
|
---|
28 | I +RPTRES=-2 S ERRRES=RPTRES
|
---|
29 | D:IO'=IO(0) ^%ZISC
|
---|
30 | I $L(ERRRES) K @MAGRPTY S @MAGRPTY@(0)=ERRRES
|
---|
31 | ; Mod Patch5 block Questionable reports
|
---|
32 | ; stop incorrectly report success on a failed report attempt. this line is
|
---|
33 | ; moved inside BUILD tag
|
---|
34 | ;S @MAGRPTY@(0)="1^OK"
|
---|
35 | Q
|
---|
36 | BUILD(RARPT) ;Call to generate the Radiology Report
|
---|
37 | ; This call is called be various Imaging routines to get the Rad Report
|
---|
38 | ; This call assumes the device is already open.
|
---|
39 | ; New the variables that'll be defined in the call to RASET^RAUTL2
|
---|
40 | N RACN,RACNI,RADATE,RADFN,RADTE,RADTI
|
---|
41 | ; We'll use these
|
---|
42 | ; RADTI = Inverse date/time for rad order
|
---|
43 | ; RACNI = rad case number
|
---|
44 | ; RADFN = Patient DFN
|
---|
45 | N I,Y,X,MAGPRC,XINF
|
---|
46 | IF $$NEWERR^%ZTER N $ETRAP,$ESTACK S $ETRAP="D ERRA^MAGGTRP1"
|
---|
47 | E S X="ERRA^MAGGTPR1",@^%ZOSF("TRAP")
|
---|
48 | I RARPT["PMRAD" S @MAGRPTY@(0)="-2^Patient Mismatch. Radiology Files" Q
|
---|
49 | I '$G(RARPT) S @MAGRPTY@(0)="0^NO Radiology Report number." Q
|
---|
50 | ;
|
---|
51 | I '$$FIND1^DIC(74,"","A",+RARPT) S @MAGRPTY@(0)="0^Radiology report entry "_RARPT_" is not on file. Contact IRM." Q
|
---|
52 | ;
|
---|
53 | S Y=RARPT
|
---|
54 | ; This call will define the needed variables RADTI,RACNI and RADFN
|
---|
55 | D RASET^RAUTL2
|
---|
56 | ;D RPT2DPT(RARPT,.XINF)
|
---|
57 | ;S ^TMP("MAGQIRP1",$J,"XINF")=XINF
|
---|
58 | ;I +XINF'=RADFN S @MAGRPTY@(0)="0^Patient Mismatch. Radiology Files" Q
|
---|
59 | S ^TMP("MAGQIRP1",$J)="RADFN "_RADFN_" RADTI "_RADTI_" RACNI "_RACNI
|
---|
60 | S ^TMP("MAGQIRP1",$J,1)="RARPT "_RARPT_" ,0)="_$G(^RARPT(RARPT,0))
|
---|
61 | D EN3^RAO7PC3(RADFN_"^"_RADTI_"^"_RACNI)
|
---|
62 | I '$D(^TMP($J,"RAE3")) D Q
|
---|
63 | . S @MAGRPTY@(0)="0^Radiology report not on file. Contact IRM." Q
|
---|
64 | S MAGPRC=$O(^TMP($J,"RAE3",RADFN,RACNI,""))
|
---|
65 | S I=0 F S I=$O(^TMP($J,"RAE3",RADFN,RACNI,MAGPRC,I)) Q:'I D
|
---|
66 | . W !,$G(^TMP($J,"RAE3",RADFN,RACNI,MAGPRC,I))
|
---|
67 | ; 2.5P5 This line was moved from above. So this BUILD function
|
---|
68 | ; should now correctly return success or failure.
|
---|
69 | S @MAGRPTY@(0)="1^OK"
|
---|
70 | Q
|
---|
71 | OPENDEV ;
|
---|
72 | S MAGRPTY=$NA(^TMP($J,"WSDAT"))
|
---|
73 | K @MAGRPTY ; clean it up first.
|
---|
74 | S IOP="IMAGING WORKSTATION",%ZIS=0 D ^%ZIS
|
---|
75 | I POP S @MAGRPTY@(0)="0^Can't open device IMAGING WORKSTATION" Q
|
---|
76 | U IO
|
---|
77 | Q
|
---|
78 | ERRA ;
|
---|
79 | S @MAGRPTY@(0)="0^ERROR "_$$EC^%ZOSV
|
---|
80 | D @^%ZOSF("ERRTN")
|
---|
81 | Q
|
---|
82 | GRPDESC(MAGIEN) ; PRINT LONG DESC OF IMAGE GROUP and ALL children in Group
|
---|
83 | ;DEVICE HAS ALREADY BEEN OPENED
|
---|
84 | N MAGCIEN,MAGJ,MAGDASH
|
---|
85 | S $P(MAGDASH,"_",79)="_"
|
---|
86 | K ^UTILITY($J,"W")
|
---|
87 | D GETDESC(MAGIEN)
|
---|
88 | S MAGCIEN=0
|
---|
89 | F S MAGCIEN=$O(^MAG(2005,MAGIEN,1,MAGCIEN)) Q:'MAGCIEN D
|
---|
90 | . S MAGJ=^MAG(2005,MAGIEN,1,MAGCIEN,0)
|
---|
91 | . I '$D(^MAG(2005,+MAGJ,3)) Q
|
---|
92 | . D GETDESC(MAGJ)
|
---|
93 | W MAGDASH
|
---|
94 | Q
|
---|
95 | GETDESC(MAGIEN) ;
|
---|
96 | ;
|
---|
97 | N X,MAGI,DIWR,DIWL,DIWF,MAGHD
|
---|
98 | I $O(^MAG(2005,MAGIEN,1,0)) S MAGHD="Group"
|
---|
99 | E S MAGHD="Image"
|
---|
100 | W MAGHD_" ID# "_MAGIEN,!
|
---|
101 | I $O(^MAG(2005,MAGIEN,3,0)) D
|
---|
102 | . S DIWR=80,DIWL=1,DIWF="N"
|
---|
103 | . W MAGHD_" : "_$P(^MAG(2005,MAGIEN,2),U,4),!
|
---|
104 | . W MAGHD_" Long Description: ",!
|
---|
105 | . S MAGI=0
|
---|
106 | . F S MAGI=$O(^MAG(2005,MAGIEN,3,MAGI)) Q:+MAGI<1 D
|
---|
107 | . . S X=^MAG(2005,MAGIEN,3,MAGI,0) D ^DIWP
|
---|
108 | . D ^DIWW
|
---|
109 | . W !
|
---|
110 | Q
|
---|
111 | RPT2DPT(RARPT,RET) ; For input RARPT, return string RET containing case
|
---|
112 | ; subscript values for accessing ^RADPT
|
---|
113 | ; Stole this code from john, don't tell him.
|
---|
114 | ; * This subroutine may be called by other routines of the Radiology
|
---|
115 | ; Imaging Workstation programs
|
---|
116 | ;
|
---|
117 | N DFN,DTI,CNI S (DFN,DTI,CNI)=""
|
---|
118 | I RARPT?1N.N,$D(^RARPT(RARPT)) S X=$G(^(RARPT,0)) I X]"" D
|
---|
119 | . S X=$P(X,U)
|
---|
120 | . S X=$O(^RADPT("ADC",X,0)) I X S DFN=X,DTI=$O(^(X,0)),CNI=$O(^(DTI,0))
|
---|
121 | . S RET=DFN_U_DTI_U_CNI
|
---|
122 | E S RET=""
|
---|
123 | Q
|
---|