| 1 | MAGGTRA1 ;WOIFO/GEK - RPC Call to list Patient's Rad/Nuc Exams, Reports ; [ 11/08/2001 17:18 ]
|
---|
| 2 | ;;3.0;IMAGING;;Mar 01, 2002
|
---|
| 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 | LIST(MAGRY,DATA) ; RPC Call MAGGRADLIST
|
---|
| 20 | ;MAGRY - the return array of patient's exams.
|
---|
| 21 | ;DATA - DFN ^ begining date ^ end date ^ number to return
|
---|
| 22 | ; (only DFN is being sent for now. later we'll enable date
|
---|
| 23 | ; ranges and/or counts )
|
---|
| 24 | ;
|
---|
| 25 | IF $$NEWERR^%ZTER N $ETRAP,$ESTACK S $ETRAP="D ERRA^MAGGTERR"
|
---|
| 26 | E S X="ERRA^MAGGTERR",@^%ZOSF("TRAP")
|
---|
| 27 | ;
|
---|
| 28 | N X,Y,Z,I,J,K,MAGNAME,MAGDFN,MAGCNT,MAGBDT,MAGEDT,MAGEXN
|
---|
| 29 | S MAGDFN=+DATA
|
---|
| 30 | S MAGNAME=$P($G(^DPT(MAGDFN,0)),U)
|
---|
| 31 | I MAGNAME="" S MAGRY(0)="0^INVALID Patient ID" Q
|
---|
| 32 | ; We have to account for old Wrkstation code that was returning a
|
---|
| 33 | ; 1 as second piece.
|
---|
| 34 | I $P(DATA,U,2)=1 S $P(DATA,U,2)=""
|
---|
| 35 | ; Set default Begin,End dates and number to return
|
---|
| 36 | S MAGBDT=$S($P(DATA,U,2):$P(DATA,U,2),1:"1070101")
|
---|
| 37 | S MAGEDT=$S($P(DATA,U,3):$P(DATA,U,3),1:$$DT^XLFDT)
|
---|
| 38 | S MAGEXN=$S($P(DATA,U,4):$P(DATA,U,4),1:200)
|
---|
| 39 | S MAGRY(0)="0^Compiling list of Radiology Exams..."
|
---|
| 40 | ;
|
---|
| 41 | D EN1^RAO7PC1(MAGDFN,MAGBDT,MAGEDT,MAGEXN)
|
---|
| 42 | I '$D(^TMP($J,"RAE1")) S MAGRY(0)="0^No Radiology Exams for "_MAGNAME Q
|
---|
| 43 | ;
|
---|
| 44 | ; we'll return MAGRY(0) = return count^message
|
---|
| 45 | ; MAGRY(1)=column heading^column heading^column h.....
|
---|
| 46 | ; MAGRY(2..n)=info from exam.
|
---|
| 47 | D CONVERT
|
---|
| 48 | S MAGRY(0)=MAGCNT-1_"^Radiology Exams: "_MAGNAME
|
---|
| 49 | S MAGRY(1)="#^Day-Case^Procedure^Exam Date^Exam status / Report status^Imaging Loc"
|
---|
| 50 | Q
|
---|
| 51 | CONVERT ; Convert the ^TMP($J,"RAE1",MAGDFN to our output array.
|
---|
| 52 | N XRPT
|
---|
| 53 | S MAGCNT=1
|
---|
| 54 | S I=0 F S I=$O(^TMP($J,"RAE1",MAGDFN,I)) Q:'I D
|
---|
| 55 | . S MAGCNT=MAGCNT+1
|
---|
| 56 | . S J=^TMP($J,"RAE1",MAGDFN,I) ; Changed to full reference /gek
|
---|
| 57 | . S X=9999999.9999-$P(I,"-"),X=$E(X,4,7)_$E(X,2,3)
|
---|
| 58 | . ; Y2K not needed on day-case - Rad uses as string variable.
|
---|
| 59 | . ; 1 # 2 day-case 3 desc
|
---|
| 60 | . S Z=MAGCNT-1_U_X_"-"_$P(J,"^",2)_U_$P(J,U)_U
|
---|
| 61 | . S X=9999999.9999-$P(I,"-")
|
---|
| 62 | . ; 4 date
|
---|
| 63 | . S Z=Z_$E(X,4,5)_"/"_$E(X,6,7)_"/"_(1700+$E(X,1,3))_U
|
---|
| 64 | . ; 5 EXAM status / Report status
|
---|
| 65 | . S Z=Z_$P($P(J,U,6),"~",2)_" / "_$P(J,U,3)_U
|
---|
| 66 | . S K=$$FMTE^XLFDT(X,"1P")
|
---|
| 67 | . ; 6 image loc 7 dfn 8 invrs dt 9 case # 10 11 12 output date
|
---|
| 68 | . S Z=Z_$P(J,U,7)_U_MAGDFN_U_$P(I,"-")_U_$P(I,"-",2)_U_U_U_K_U
|
---|
| 69 | . ; 13 intdt 14 RACN 16 rarpt
|
---|
| 70 | . S Z=Z_X_U_$P(J,U,2)_U_U_$P(J,U,5)_U_U
|
---|
| 71 | . S XRPT=$P(J,U,5) I XRPT I $P($G(^RARPT(XRPT,0)),U,2)'=MAGDFN D
|
---|
| 72 | . . S $P(Z,U,16)=XRPT_"PMRAD"
|
---|
| 73 | . . S $P(Z,U,5)="Patient Mismatch. Radiology Files"
|
---|
| 74 | . ; If this report has images, we'll display "(I)"
|
---|
| 75 | . I $O(^RARPT(+$P(J,U,5),2005,0)) S $P(Z,U,5)=$P(Z,U,5)_" (I)"
|
---|
| 76 | . ;
|
---|
| 77 | . S MAGRY(MAGCNT)=Z
|
---|
| 78 | Q
|
---|