Changeset 623 for WorldVistAEHR/trunk/r/IMAGING-MAG-ZMAG/MAGGTSR.m
- Timestamp:
- Dec 4, 2009, 12:11:15 AM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
WorldVistAEHR/trunk/r/IMAGING-MAG-ZMAG/MAGGTSR.m
r613 r623 1 MAGGTSR ;WOIFO/GEK - SURGERY CASE LIST ; [ 06/20/2001 08:57 ] 2 ;;3.0;IMAGING;**8,59**;Nov 27, 2007;Build 20 3 ;;Per VHA Directive 2004-038, this routine should not be modified. 4 ;; +---------------------------------------------------------------+ 5 ;; | Property of the US Government. | 6 ;; | No permission to copy or redistribute this software is given. | 7 ;; | Use of unreleased versions of this software requires the user | 8 ;; | to execute a written test agreement with the VistA Imaging | 9 ;; | Development Office of the Department of Veterans Affairs, | 10 ;; | telephone (301) 734-0100. | 11 ;; | | 12 ;; | The Food and Drug Administration classifies this software as | 13 ;; | a medical device. As such, it may not be changed in any way. | 14 ;; | Modifications to this software may result in an adulterated | 15 ;; | medical device under 21CFR820, the use of which is considered | 16 ;; | to be a violation of US Federal Statutes. | 17 ;; +---------------------------------------------------------------+ 18 ;; 19 Q 20 GET(MAGRY,MAGDFN,DATA) ;RPC [MAGGSUR GET] 21 ; Call to get list of Patient Surgery procedures 22 ; MAGDFN = Patient DFN 23 ; DATA = For Future Use. 24 N $ETRAP,$ESTACK S $ETRAP="D ERRA^MAGGTERR" 25 N Y,NAME,AI,CASES,SDAT,DTX,SRFDA 26 K ^TMP($J,"MAGGTSR") 27 S NAME=$P($G(^DPT(MAGDFN,0)),U) I NAME="" S MAGRY(0)="0^INVALID Patient ID" Q 28 ; This is the Old Call we have always made. Doesn't have Non-OR 29 D GET^SROGTSR(.MAGRY,MAGDFN) 30 I 'MAGRY(0) S MAGRY(0)=MAGRY(0)_" for "_NAME G C1 31 ; Image count is for future use by Display 32 S MAGRY(1)="#^Date^Case description^Case #^Images" 33 S I=1 F S I=$O(MAGRY(I)) Q:'I D 34 . S DTX=$$FMTE^XLFDT($P(MAGRY(I),U,5),"5MZ") 35 . S ^TMP($J,"MAGGTSR",$P(MAGRY(I),U,5),$P(MAGRY(I),U,4))=DTX_"^"_$P(MAGRY(I),U,3)_"^"_$P(MAGRY(I),"^",4)_"^"_$P(MAGRY(I),U,6)_U_"|"_$P(MAGRY(I),U,4,5)_U 36 ; 37 ;This is the New Call, which has Non-OR, but doesn't have (Scheduled) so we merge the two calls. 38 C1 D LIST^SROESTV(.CASES,MAGDFN) 39 I '$D(@CASES) G E1 40 S MAGRY(0)="1^" 41 S MAGRY(1)="#^Date^Case description^Case #^Images" 42 S I=0 F S I=$O(@CASES@(I)) Q:'I D 43 . S SDAT=@CASES@(I) 44 . ; SDAT = SURIEN ^ SURDESC ^ SURDT ^ DFN;NAME ^ 45 . I $D(^TMP($J,"MAGGTSR",$P(SDAT,U,3),$P(SDAT,U,1))) Q 46 . S ^TMP($J,"MAGGTSR",$P(SDAT,U,3),$P(SDAT,U,1))=$$FMTE^XLFDT($P(SDAT,U,3),"5MZ")_U_$P(SDAT,U,2)_U_$P(SDAT,U,1)_U_$$IMGCT($P(SDAT,U,1))_U_"|"_$P(SDAT,U,1)_U_$P(SDAT,U,3)_U 47 . Q 48 ; 49 ; Now Returned the Merged List of the results of Old Call, with Results of New Call. 50 E1 ; 51 I '$D(^TMP($J,"MAGGTSR")) S MAGRY(0)="0^No Cases for "_$G(NAME) Q 52 S I=1,DTX=0,SRFDA=0 53 F S DTX=$O(^TMP($J,"MAGGTSR",DTX)) Q:'DTX D 54 . S SRFDA="" F S SRFDA=$O(^TMP($J,"MAGGTSR",DTX,SRFDA),-1) Q:'SRFDA D 55 . . S I=I+1,MAGRY(I)=I-1_"^"_^TMP($J,"MAGGTSR",DTX,SRFDA) 56 . . Q 57 . Q 58 S $P(MAGRY(0),"^",1)=I-1 59 Q 60 IMGCT(SRFIEN) ; 61 ; Count of images for this Surgery Case 62 ; If more than one group (or image) 63 ; then return "Group count : total images" i.e. "3:134" 64 ; else return count of Images i.e. "4" 65 ; 66 N CT,GCT,ICT,J 67 S J=0,CT=0,GCT=0 68 F S J=$O(^SRF(SRFIEN,2005,"B",J)) Q:'J D 69 . S ICT=+$P($G(^MAG(2005,J,1,0)),U,4) 70 . S ICT=$S(ICT:ICT,1:1) ;If no group images, set count =1 (single image) 71 . S GCT=GCT+1 72 . S CT=CT+ICT 73 I (GCT>1) Q GCT_":"_CT 74 Q CT 75 ; 76 IMAGE(MAGRY,DATA) ; 77 ; Called with the IEN of the Surgery package ^SRF(170,x 78 ; We'll return a list of images. 79 N SRFIEN,MAGIEN 80 S SRFIEN=+DATA 81 I '$D(^SRF(SRFIEN)) S MAGRY(0)="0^INVALID Surgery File entry" Q 82 I '$O(^SRF(SRFIEN,2005,0)) S MAGRY(0)="0^No Images for this Operation." Q 83 D GETLIST 84 Q 85 GETLIST ; called from other points in this routine, when SRFIEN is defined 86 ; and returns a list in MAGRY(1..n) 87 ; We'll make a tmp list of just the image IEN's 88 ; splitting groups into individual image entries. 89 K ^TMP($J,"MAGGX") 90 S I=0,CT=1 F S I=$O(^SRF(SRFIEN,2005,I)) Q:'I D 91 . S MAGIEN=$P(^SRF(SRFIEN,2005,I,0),U,1) 92 . Q:'$D(^MAG(2005,MAGIEN,0)) 93 . I '$O(^MAG(2005,MAGIEN,1,0)) S ^TMP($J,"MAGGX",MAGIEN)="" 94 . E S Z=0 F S Z=$O(^MAG(2005,MAGIEN,1,Z)) Q:Z="" S ^TMP($J,"MAGGX",$P(^MAG(2005,MAGIEN,1,Z,0),U,1))="" 95 I '$D(^TMP($J,"MAGGX")) S MAGRY(0)="0^Surgery File Entry "_SRFIEN_": has INVALID Image Pointers" Q 96 S Z="",CT=0 97 S MAGQUIET=1 98 F S Z=$O(^TMP($J,"MAGGX",Z)) Q:Z="" D 99 . S CT=CT+1,MAGXX=Z D INFO^MAGGTII 100 . S MAGRY(CT)="B2^"_MAGFILE 101 K MAGQUIET 102 S MAGRY(0)=CT_"^Images for the selected Surgery File entry" 103 K ^TMP("MAGGX") 104 Q 1 MAGGTSR ;WOIFO/GEK - SURGERY CASE LIST ; [ 06/20/2001 08:57 ] 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 GET(MAGRY,MAGDFN) ;RPC [MAGGSUR GET] 20 ; Call to get list of Patient Surgery procedures 21 ; MAGDFN is Patient DFN 22 ; 23 IF $$NEWERR^%ZTER N $ETRAP,$ESTACK S $ETRAP="D ERRA^MAGGTERR" 24 E S X="ERRA^MAGGTERR",@^%ZOSF("TRAP") 25 N Y,DFN,MAGNAME 26 S MAGNAME=$P($G(^DPT(MAGDFN,0)),U) 27 I MAGNAME="" S MAGGRY(0)="0^INVALID Patient ID" Q 28 D GET^SROGTSR(.MAGRY,MAGDFN) 29 I 'MAGRY(0) S MAGRY(0)=MAGRY(0)_" for "_MAGNAME Q 30 ; Here we are changing the data returned in the array, from SROGTSR 31 ; , it will now also return the count of images associated with the 32 ; surgery report. This is in advance of the change for Display, to 33 ; list the patient's surgery reports, like we list radiology reports. 34 ; 35 I (+$G(MAGJOB("VERSION"))<2.5) Q 36 S MAGRY(1)=$P(MAGRY(1),U,1,3)_"^Images" 37 S I=1 F S I=$O(MAGRY(I)) Q:'I D 38 . S MAGRY(I)=$P(MAGRY(I),U,1,3)_U_$P(MAGRY(I),U,6)_U_$C(124)_$P(MAGRY(I),U,4,5)_U 39 Q 40 IMAGE(MAGRY,DATA) ; 41 ; Called with the IEN of the Surgery package ^SRF(170,x 42 ; We'll return a list of images. 43 N SRFIEN,MAGIEN 44 S SRFIEN=+DATA 45 I '$D(^SRF(SRFIEN)) S MAGRY(0)="0^INVALID Surgery File entry" Q 46 I '$O(^SRF(SRFIEN,2005,0)) S MAGRY(0)="0^No Images for this Operation." Q 47 D GETLIST 48 Q 49 GETLIST ; called from other points in this routine, when SRFIEN is defined 50 ; and returns a list in MAGRY(1..n) 51 ; We'll make a tmp list of just the image IEN's 52 ; splitting groups into individual image entries. 53 K ^TMP("MAGGX",$J) 54 S I=0,CT=1 F S I=$O(^SRF(SRFIEN,2005,I)) Q:'I D 55 . S MAGIEN=$P(^SRF(SRFIEN,2005,I,0),U,1) 56 . Q:'$D(^MAG(2005,MAGIEN,0)) 57 . I '$O(^MAG(2005,MAGIEN,1,0)) S ^TMP("MAGGX",$J,MAGIEN)="" 58 . E S Z=0 F S Z=$O(^MAG(2005,MAGIEN,1,Z)) Q:Z="" S ^TMP("MAGGX",$J,$P(^MAG(2005,MAGIEN,1,Z,0),U,1))="" 59 I '$D(^TMP("MAGGX",$J)) S MAGRY(0)="0^Surgery File Entry "_SRFIEN_": has INVALID Image Pointers" Q 60 S Z="",CT=0 61 S MAGQUIET=1 62 F S Z=$O(^TMP("MAGGX",$J,Z)) Q:Z="" D 63 . S CT=CT+1,MAGXX=Z D INFO^MAGGTII 64 . S MAGRY(CT)="B2^"_MAGFILE 65 K MAGQUIET 66 S MAGRY(0)=CT_"^Images for the selected Surgery File entry" 67 K ^TMP("MAGGX") 68 Q
Note:
See TracChangeset
for help on using the changeset viewer.