1 | MAGDRA2 ;WOIFO/LB -Routine for DICOM fix [ 06/20/2001 08:56 ] ; 06/06/2005 09:28
|
---|
2 | ;;3.0;IMAGING;**10,11,51**;26-August-2005
|
---|
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 | ; Routine to create the MAGDY variable needed by MAGDLB1 routine when
|
---|
20 | ; manually correcting DICOM FIX files.
|
---|
21 | EN ;
|
---|
22 | ; MAGDY variable to be created during this execution.
|
---|
23 | N MAGBEG,MAGEND,MAGDFN,MAGOUT,MAGX,MAGXX,INFO,MAGNME,MAGSSN
|
---|
24 | S MAGBEG=1070101,MAGEND=$$DT^XLFDT
|
---|
25 | READ ;
|
---|
26 | S (MAGDFN,MAGX)=$$READ^MAGDRA3
|
---|
27 | Q:MAGX="^"
|
---|
28 | S MAGDFN=+MAGDFN
|
---|
29 | I 'MAGDFN W !,"Entry not found, enter a ""^"" to quit." G READ
|
---|
30 | ;
|
---|
31 | I MAGX["~" G ONE ;Lookup was on case number and successful
|
---|
32 | S MAGXX=$$FIND1^DIC(70,"","","`"_MAGDFN) ;Radiology patient
|
---|
33 | ;
|
---|
34 | I MAGDFN=MAGXX D
|
---|
35 | . S INFO=$$PTINFO Q:$D(MAGERR)
|
---|
36 | . S MAGNME=$P(INFO,"^"),MAGSSN=$P(INFO,"^",2)
|
---|
37 | . K ^TMP($J,"RAE1") ;Re-established by EN1^RA07PC1 -DBIA available
|
---|
38 | . ; Set the beginning and ending date.
|
---|
39 | . D EN1^RAO7PC1(MAGDFN,MAGBEG,MAGEND,500)
|
---|
40 | . D:$D(^TMP($J,"RAE1")) LOOP^MAGDRA1
|
---|
41 | . Q
|
---|
42 | E D G:MAGX'="^" READ
|
---|
43 | . W !,"No Radiology information found for the supplied answer.",$C(7)
|
---|
44 | . Q
|
---|
45 | Q
|
---|
46 | ;
|
---|
47 | PTINFO() ;
|
---|
48 | N INFO,MAGOUT
|
---|
49 | I '$D(MAGDFN) Q ""
|
---|
50 | D GETS^DIQ(2,MAGDFN,".01;.09","E","MAGOUT","MAGERR")
|
---|
51 | I $D(MAGERR) Q ""
|
---|
52 | I $D(MAGOUT) D Q INFO
|
---|
53 | . S INFO=$G(MAGOUT(2,MAGDFN_",",.01,"E"))
|
---|
54 | . S INFO=INFO_"^"_$G(MAGOUT(2,MAGDFN_",",.09,"E"))
|
---|
55 | . Q
|
---|
56 | Q ""
|
---|
57 | ;
|
---|
58 | LCASE(MAGDT,MAGCASE) ;
|
---|
59 | Q $TR($TR($$FMTE^XLFDT(MAGDT,"2FD")," ","0"),"/","")_"-"_MAGCASE
|
---|
60 | ;
|
---|
61 | IMG(MAGRPT) ;
|
---|
62 | N INFO,MAGOUT,MAGERR
|
---|
63 | I 'MAGRPT Q ""
|
---|
64 | D GETS^DIQ(74,MAGRPT,"2005*","I","MAGOUT","MAGERR")
|
---|
65 | I $D(MAGERR) Q ""
|
---|
66 | I $D(MAGOUT(74.02005)) Q " i"
|
---|
67 | Q ""
|
---|
68 | ;
|
---|
69 | PROC(MAGPRC) ;
|
---|
70 | Q $$FIND1^DIC(71,,"XB",MAGPRC)
|
---|
71 | ;
|
---|
72 | ONE ;
|
---|
73 | ;MAGDFN,MAGX variables expected from EN
|
---|
74 | I 'MAGDFN,'+MAGX Q
|
---|
75 | N BEG,CASE,CDATE,CS,DATA,END,FLDS,INFO,MAGCASE,MAGCNI,MAGDATE,MAGDTI
|
---|
76 | N MAGEXST,MAGLOC,MAGNME,MAGOUT,MAGPIEN,MAGPRC,MAGPSET,MAGPST,MAGRPT
|
---|
77 | N PP,PSET,RAENTRY,RAMEMLOW,RAPRTSET,RIEN,STAT,X,X1,X2,XX
|
---|
78 | N RARPT,RADFN,RADTI,RACNI ;<--Variables needed for EN1^RAUTL20
|
---|
79 | ; RAUTL20 used to retrieve if case is part of a print set.
|
---|
80 | S MAGDFN=$P(MAGX,"~"),INFO=$$PTINFO
|
---|
81 | S MAGNME=$P(INFO,"^"),MAGSSN=$P(INFO,"^",2)
|
---|
82 | S RIEN=$P(MAGX,"~",2)_","_$P(MAGX,"~",1)
|
---|
83 | S X1=9999999.9999-$P(MAGX,"~",2),X2=+2 D C^%DTC
|
---|
84 | S END=X,BEG=9999999.9999-$P(MAGX,"~",2)
|
---|
85 | K ^TMP($J,"RAE1")
|
---|
86 | D EN1^RAO7PC1(MAGDFN,BEG,END,20)
|
---|
87 | S RAENTRY=$P(MAGX,"~",2)_"-"_$P(MAGX,"~",3)
|
---|
88 | Q:'$D(^TMP($J,"RAE1"))
|
---|
89 | Q:'$D(^TMP($J,"RAE1",MAGDFN,RAENTRY))
|
---|
90 | S DATA=^TMP($J,"RAE1",MAGDFN,RAENTRY)
|
---|
91 | S MAGDATE=$P(RAENTRY,"-"),CDATE=9999999.9999-MAGDATE
|
---|
92 | S MAGDATE=$TR($$FMTE^XLFDT(CDATE,"2FD")," ","0")
|
---|
93 | S MAGPRC=$P(DATA,"^"),CASE=$P(DATA,"^",2),STAT=$P(DATA,"^",6)
|
---|
94 | S MAGEXST=$P(STAT,"~",2),MAGLOC=$P(DATA,"^",7)
|
---|
95 | S (MAGRPT,RARPT)=$P(DATA,"^",5)
|
---|
96 | S (MAGDTI,RADTI)=$P(RAENTRY,"-")
|
---|
97 | S (MAGCNI,RACNI)=$P(RAENTRY,"-",2),RADFN=MAGDFN
|
---|
98 | S MAGCASE=$$LCASE(CDATE,CASE),MAGPIEN=$$PROC(MAGPRC)
|
---|
99 | ; RADTI, RADFN, RACNI variables needed for EN1^RAULT20
|
---|
100 | D EN1^RAUTL20
|
---|
101 | S (PSET,MAGPSET)=""
|
---|
102 | S PSET=$S(RAMEMLOW:"+",RAPRTSET:".",1:"")
|
---|
103 | I PSET=".",RACNI>1 D
|
---|
104 | . N OLDENTRY S OLDENTRY=$P(RAENTRY,"-")_"-"
|
---|
105 | . S OLDENTRY=$O(^TMP($J,"RAE1",MAGDFN,OLDENTRY)) I $L(OLDENTRY) D
|
---|
106 | . . S MAGCASE=$P(^TMP($J,"RAE1",MAGDFN,OLDENTRY),"^",2)
|
---|
107 | . . S CDATE=$P(RAENTRY,"-")
|
---|
108 | . . S CDATE=9999999.9999-CDATE
|
---|
109 | . . S MAGCASE=$$LCASE^MAGDRA2(CDATE,MAGCASE),RACNI=$P(OLDENTRY,"-",2)
|
---|
110 | . . S MAGPST=CASE_" is part of this printset."
|
---|
111 | . . Q
|
---|
112 | . Q
|
---|
113 | I $D(RAPRTSET) S PP=$S(MAGCNI>1:".",MAGCNI=1:"+",1:"")
|
---|
114 | S MAGCNI=RACNI
|
---|
115 | W !,"PATIENT: ",MAGNME,?51,"SSN: ",MAGSSN
|
---|
116 | W !,"Case No.",?15,"Procedure",?42,"Location",?64,"Exam Date"
|
---|
117 | W !,"________",?15,"_________",?42,"________________",?64,"________"
|
---|
118 | W !,$G(PP),CASE,$$IMG(MAGRPT),?15,MAGPRC,?42,MAGLOC,?64,MAGDATE
|
---|
119 | W !,"Exam status: ",MAGEXST," "," ",$G(MAGPST)
|
---|
120 | D MAGDY
|
---|
121 | Q
|
---|
122 | ;
|
---|
123 | MAGDY ;
|
---|
124 | S MAGDY=MAGDFN_"^"_MAGNME_"^"_MAGSSN_"^"_MAGCASE_"^"_MAGPRC_"^"_MAGDTI
|
---|
125 | S MAGDY=MAGDY_"^"_MAGCNI_"^"_MAGPIEN_"^"_$G(MAGPST)_"^"
|
---|
126 | K MAGNME,MAGSSN,MAGCASE,MAGPRC,MAGDTI,MAGCNI,MAGPIEN,MAPST
|
---|
127 | Q
|
---|