[613] | 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
|
---|