source: FOIAVistA/tag/r/IMAGING-MAG-ZMAG/MAGGTMC1.m@ 628

Last change on this file since 628 was 628, checked in by George Lilly, 14 years ago

initial load of FOIAVistA 6/30/08 version

File size: 3.6 KB
Line 
1MAGGTMC1 ;WOIFO/GEK - RPC Calls for Imaging/Medicine procedures ; [ 06/20/2001 08:57 ]
2 ;;3.0;IMAGING;**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
20FILE(MAGRY,DATA,MAGARR) ;RPC Call to File the Image pointer into
21 ; the Procedure/Subspecialty and Proc/Subspec into Image file.
22 ;
23 ; DATA = DATETIME^PSIEN^DFN^MCIEN^PROCSTUB ; 6/19/97
24 ; If MCIEN isn't sent, this will be added as new procedure
25 ; MAGARR is array of image pointers
26 ; IF PROCSTUB is 1 we JUST want New Medicine procedure stub IEN 6/19/97
27 ; as the success i.e. MAGRY="IEN^Procdure Stub created" 6/19/97
28 IF $$NEWERR^%ZTER N $ETRAP,$ESTACK S $ETRAP="D ERR^MAGGTERR"
29 E S X="ERR^MAGGTERR",@^%ZOSF("TRAP")
30 N I,J,K,X,Y,Z,TIME,PSIEN,DFN,MAGPTR,MAGMCIEN,MCFILE,MAGOK,MAGERR,PROCSTUB
31 ;
32 S X=$P(DATA,U,1),%DT="TS" D ^%DT S TIME=Y
33 S PSIEN=+$P(DATA,U,2)
34 S DFN=+$P(DATA,U,3)
35 S MAGMCIEN=+$P(DATA,U,4)
36 S PROCSTUB=+$P(DATA,U,5) ; NEW 6/19/97 GEK
37 S MCFILE=$P($P(^MCAR(697.2,PSIEN,0),U,2),"(",2)
38 I '$D(^MAG(2005.03,MCFILE)) S MAGRY="0^Procedure file is Invalid in Imaging Parent Data File " Q
39 S MAGOK=""
40 S I="" F S I=$O(MAGARR(I)) Q:I="" D
41 . S MAGPTR(I)=""
42 . I '$D(^MAG(2005,I)) S MAGERR="0^INVALID Image entry "_I
43 I $D(MAGERR) S MAGRY=MAGERR Q
44 ; 6/19/97 New Note .MAGMCIEN
45 D UPDATE^MCUIMAG0(TIME,PSIEN,DFN,.MAGPTR,.MAGMCIEN,.MAGOK)
46 ;
47 I 'MAGOK S MAGRY=MAGOK Q
48 ; Next if we're getting a stub, Quit with the stub if it was created
49 I MAGOK,PROCSTUB D Q
50 . I MAGMCIEN<1 S MAGRY="0^FAILED Creating New Procedure stub"_MAGOK Q
51 . S MAGRY=$P(MAGMCIEN,U,1)_"^Procedure Stub created"
52 ;
53 ; now enter the pointers to procedures, in the image file.
54 ; we get back MAGPTR(I)= MCFILE^PSIEN^MULTIPLE ENTRY IEN
55 S I="" F S I=$O(MAGPTR(I)) Q:I="" D
56 . S $P(^MAG(2005,I,2),U,6,8)=MAGPTR(I)
57 . D LINKDT^MAGGTU6(.X,I)
58 S MAGRY=MAGOK
59 Q
60 ;/GEK/ 4/29/98 put in modification to return DICOM ID for MED proc.
61DICOMID(MAGRY,DATA) ;RPC Call to return a Dicom ID for medicine procedure.
62 ; This is displayed on workstation, and used to link Dicom images
63 ; to a medicine procedure.
64 ; DATA is null ^ PSIEN ^ DFN ^ MCIEN ^ null
65 ;
66 N TMCFILE,TPSIEN,TDFN,TMCIEN,RETX
67 S TPSIEN=+$P(DATA,U,2)
68 S TDFN=+$P(DATA,U,3)
69 S TMCIEN=+$P(DATA,U,4)
70 S TMCFILE=$P($P($G(^MCAR(697.2,TPSIEN,0)),U,2),"(",2)
71 I 'TMCFILE S MAGRY="0^InValid data input PSIEN="_TPSIEN Q
72 D DICOMID^MAGDMEDI(.RETX,TMCFILE,TMCIEN,TPSIEN,TDFN)
73 S MAGRY=RETX
74 Q
75NEW(MAGRY,DATA) ;RPC call to Create NEW Procedure stub
76 ; for a medicine procedure
77 ;
78 ; DATA = DATETIME^PSIEN^DFN ; same as old call
79 S $P(DATA,"^",4)="^1" ; the 1 means we want a new procedure stub
80 K MAGARR ; we are not passing any images.
81 D FILE(.MAGRY,DATA,.MAGARR)
82 Q
Note: See TracBrowser for help on using the repository browser.