Changeset 623 for WorldVistAEHR/trunk/r/IMAGING-MAG-ZMAG/MAGGSIUI.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/MAGGSIUI.m
r613 r623 1 MAGGSIUI ;WOIFO/GEK - Utilities for Image Import API 2 ;;3.0;IMAGING;**7,8,48,20,85,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 REMOTE(MAGRY,MAGDATA) ;RPC [MAG4 REMOTE IMPORT] 21 ; Import Images from a Windows App, by sending an array. 22 I ($D(MAGDATA)<10) S MAGRY(0)="0^Missing Data Array !." Q 23 N I,J,ICT,DCT,MAGIX,IMAGES,ERR,X,Z 24 S (ERR,ICT,DCT)=0 25 S I="" F S I=$O(MAGDATA(I)) Q:I="" S X=MAGDATA(I) D Q:ERR 26 . S Z=$P(X,U) 27 . I (X="")!(Z="") S MAGRY(0)="0^INVALID Data in Input Array: Node "_I_"="""_X_"",ERR=1 Q 28 . I Z="IMAGE" S ICT=ICT+1,IMAGES(ICT)=$P(X,U,2,99) Q 29 . S DCT=DCT+1,MAGIX(Z)=$P(X,U,2,99) 30 I 'ERR D IMPORT(.MAGRY,.IMAGES,.MAGIX) 31 Q 32 ; 33 IMPORT(MAGRY,IMAGES,MAGIX) ; 34 ; "IDFN","PXPKG","PXIEN","PXDT","TRKID","ACQD","ACQS","ACQL","STSCB","ITYPE", 35 ; "CMTH","CDUZ","USERNAME","PASSWORD","GDESC","DFLG","TRTYPE","DOCCTG","DOCDT", 36 ; "IXTYPE","IXSPEC","IXPROC","IXORIGIN ;Patch 8: Added Index fields 37 ; 38 ;Index fields Package, Class ("IXPKG" and "IXCLS") aren't accepted 39 ; they are computed values. 40 ; - Convert field codes into an Input Data Array, 41 ; validate, then set the Import Queue 42 ; 43 N $ETRAP,$ESTACK S $ETRAP="D ERR^"_$T(+0) 44 K MAGRY S MAGRY(0)="0^Importing data..." 45 N APISESS,MWIN 46 S MWIN=$$BROKER^XWBLIB 47 N PRM,CT,MAGA,MAGY,MAGTN,TNODE 48 N IDFN,PXPKG,PXIEN,PXDT,TRKID,ACQD,ACQS,ACQN,ACQL,STSCB,ITYPE,CMTH,CDUZ,USERNAME,PASSWORD 49 N GDESC,DFLG,TRTYPE,DOCCTG,DOCDT,IXPKG,IXCLS,IXTYPE,IXSPEC,IXPROC,IXORIGIN,MAX,SITEPLC 50 N ERR,MAGTM,QTIME,MAGIXZ 51 S CT=0,ERR=0 52 M MAGIXZ=MAGIX 53 ; DON'T CONVERT ACQS(really a ACQN) to a REAL ACQS, leave it ACQS to be converted by MAGGSIV 54 ; 55 F PRM="IDFN","PXPKG","PXIEN","PXDT","TRKID","ACQD","ACQS","ACQN","ACQL","STSCB","ITYPE","CMTH","CDUZ","USERNAME","PASSWORD","GDESC","DFLG","TRTYPE","DOCCTG","DOCDT","IXTYPE","IXSPEC","IXPROC","IXORIGIN" D 56 . S @PRM=$G(MAGIX(PRM)) K MAGIX(PRM) ; P8T14 added K.. and next line to account for field numbers later. 57 . Q 58 S PRM="" F S PRM=$O(MAGIX(PRM)) Q:PRM="" D SA(PRM,$G(MAGIX(PRM))) 59 ; 60 S MAGTM=$$NOW^XLFDT 61 I '$G(DUZ) S MAGRY(0)="0^DUZ is undefined." Q ;D ERRTRK Q 62 ; DATATRK sets Global var. APISESS = IEN of Session File. 63 D DATATRK 64 I '$$REQPARAM^MAGGSIU2() D ERRTRK Q 65 S MAX=$P(TRKID,";",1)="MAX" 66 ;I 'MWIN W !,"----------------" ZW W !,"---------------------" 67 ; Workaround VIC (Maximus) is sending Station Number 68 ; we'll convert to Institution IEN 69 I MAX&(ACQS]"") D Q:ERR 70 . S X=$O(^DIC(4,"D",ACQS,"")) 71 . I X="" S MAGRY(0)="0^Invalid Station Number:(Maximus ACQS): "_ACQS,ERR=1 Q 72 . S SITEPLC=X ; We need the Place for the Queue 73 . ;S ACQS=X Out in 85. Don't change to ACQS, that's done in VAL^MAGGSIV 74 . Q 75 ; Change to Allow ACQN - STATION NUMBER from INSTITUTION File. 76 I $L(ACQN) D Q:ERR 77 . S ACQS=$O(^DIC(4,"D",ACQN,"")) 78 . I ACQS="" S MAGRY(0)="0^Invalid STATION NUMBER: (ACQN): "_ACQN,ERR=1 Q 79 . ; VAL^MAGGSIV Will fail if ACQS is real and this is Maximus 80 . I MAX S ACQS=ACQN K ACQN Q 81 . S ACQN="" ;We converted to ACQS, lets make "" so no confusion later. 82 . Q 83 ; 84 ; Set the input data array 85 D SA(5,IDFN) ;PATIENT 86 D SA(16,PXPKG) ;PARENT DATA FILE 87 D SA(17,PXIEN) ;PARENT GLOBAL ROOT 88 D SA(15,PXDT) ; PROCEDURE/EXAM DATE/TIME 89 D SA(108,TRKID) ; TRACKING ID (new) 90 D SA("ACQD",ACQD) ; ACQUISTION DEVICE ( new ) 91 I 'MAX S SITEPLC=ACQS D SA(.05,ACQS) ; this used to be fld 105 92 D SA(101,ACQL) 93 D SA("STATUSCB",STSCB) ; STATUS CALLBACK (was referred to as ExceptionHandler) 94 D SA(3,ITYPE) ; OBJECT TYPE 95 D SA("CALLMTH",CMTH) ; CALL METHOD 96 D SA(8,CDUZ) ; IMAGE SAVE BY 97 D SA("USERNAME",USERNAME) 98 D SA("PASSWORD",PASSWORD) 99 D SA(10,GDESC) ; SHORT DESCRIPTION 100 D SA("DELFLAG",DFLG) ; DELETE FLAG 101 D SA("TRNSTYP",TRTYPE) ; TRANSACTION TYPE 102 D SA(100,DOCCTG) ; document Main category 103 D SA(110,DOCDT) ; document date 104 ; Patch 8 allows Index fields to be imported. 105 ;"IXTYPE","IXSPEC","IXPROC","IXORIGIN" 106 D SA(42,IXTYPE) ; Index Type 107 D SA(43,IXPROC) ; Index Proc/Event 108 D SA(44,IXSPEC) ; Index Spec/SubSpec 109 D SA(45,IXORIGIN) ; Index Origin 110 ; 111 D VAL^MAGGSIV(.MAGRY,.MAGA,1) I 'MAGRY(0) D ERRTRK Q 112 I MAX D SA(.05,ACQS) ; this used to be fld 105 113 ; Also Done in MAGGSIA when image is being Saved. 114 I '$$VALINDEX^MAGGSIV1(.MAGRY,IXTYPE,IXSPEC,IXPROC) D ERRTRK Q 115 ; Array of Images to Import 116 D SI("IMAGES",.IMAGES) I 'MAGRY(0) D ERRTRK Q 117 K MAGRY 118 ; 119 I TRTYPE="NOQUEUE" M MAGRY=MAGA S MAGRY(0)="1^" Q 120 ; This call is for BP 121 S QTIME=$$NOW^XLFDT 122 ; p85 use ACQS instead of DUZ(2) 123 S MAGY=$$IMPORT^MAGBAPI(.MAGA,STSCB,TRKID,$$PLACE^MAGBAPI(SITEPLC)) 124 ; Return Queue Number 125 I 'MAGY S MAGRY(0)="0^Error Setting Queue: "_$P(MAGY,U,2),MAGY=TRKID 126 E S MAGRY(0)=MAGY_"^Data has been Queued.",MAGY=+MAGY 127 ; for Testing, we'll track input array, and results array by Queue number. 128 I 'MAGRY(0) D ERRTRK Q 129 D LOGRES^MAGGSIU3(.MAGRY,0,APISESS) 130 ; 131 Q 132 ; 133 SA(FLD,VAL) ;Set the data array with Fld,Value 134 Q:VAL="" 135 S CT=CT+1,MAGA(CT)=FLD_U_VAL 136 Q 137 SI(FLD,ARR) ;Set the images into the data array 138 ; 'CT' is a global variable. 139 S MAGRY(0)="1^Valid Image file Extensions." 140 N I,MAGEXT,MAGFN 141 S I="" F S I=$O(ARR(I)) Q:I="" D Q:'MAGRY(0) 142 . S CT=CT+1 143 . I ($L($P(ARR(I),U),".")<2) S MAGRY(0)="0^Invalid file name: "_ARR(I) Q 144 . S MAGFN=$P(ARR(I),"^") 145 . S MAGEXT=$$UP^XLFSTR($P(MAGFN,".",$L(MAGFN,"."))) 146 . I '$D(^MAG(2005.021,"B",MAGEXT)) S MAGRY(0)="0^Unsupported File Type:'."_MAGEXT Q 147 . S MAGA(CT)="IMAGE"_U_ARR(I) 148 Q 149 GETARR(ARR,QNUM) ;RPC [MAG4 DATA FROM IMPORT QUEUE] 150 ; Get the Input Array from Queue Number 151 I '$G(QNUM) S ARR(0)="0^INVALID QUEUE Number: "_$G(QNUM) Q 152 D IMPAR^MAGQBUT2(.ARR,QNUM) 153 Q 154 STATUSCB(MAGRY,STAT,TAGRTN,DOCB) ;RPC [MAG4 STATUS CALLBACK] 155 ; Report Status to calling application 156 ; Now the IAPI and OCX make this call. Not BP 157 ; STAT(0)= "0^message" or "1^message" 158 ; STAT(1)=TRKID, 159 ; (2)=QNUM 160 ; (3..N)=warnings 161 ;TAGRTN : The TAG^RTN to call with Status Array 162 ;DOCB : (1|0) to suppress execution of Status Callback 163 ; 164 N APISESS,TRKID,CBMSG 165 S DOCB=$S($G(DOCB)="":1,1:+$G(DOCB)) ; Default to TRUE 166 ; Old Import API and BP that made this call, will work : DOCB defaults to 1 167 S CBMSG=$S(DOCB:"Status Callback was called",1:"Status Callback was NOT called") 168 I DOCB D @(TAGRTN_"(.STAT)") 169 S MAGRY="1^"_CBMSG 170 S STAT($O(STAT(""),-1)+1)=MAGRY 171 S TRKID=$G(STAT(1)) 172 ; Log Results. Always. 173 I $L(TRKID) D 174 . S APISESS=$$SES4TRK^MAGGSIU3(TRKID) ; 175 . I APISESS D LOGRES^MAGGSIU3(.STAT,0,APISESS) ;gek/send Tracking ID to log status 176 Q 177 TESTCB(STATARR) ;TESTING. This is the Status Callback for testing. 178 ; the STATUSCB property must have a Valid "M" TAG^ROUTINE 179 ; TAG TESTCB exists so that STATUSCB validates successfully 180 Q 181 ERRTRK ;Track bad data and Quit 182 N I 183 D LOGERR^MAGGSERR("---- New Error ----",APISESS) 184 S I="" F S I=$O(MAGRY(I)) Q:I="" D LOGERR^MAGGSERR(MAGRY(I),APISESS) 185 Q 186 DATATRK ; Track the raw data being sent to the Import API. 187 ; Log the data being imported. Results are logged later. 188 N XY 189 S APISESS=$$LOG^MAGGSIU3(.XY,.MAGIXZ,.IMAGES,IDFN,ACQD,TRKID) 190 Q 191 ERR ; ERROR TRAP FOR Import API 192 N ERR S ERR=$$EC^%ZOSV 193 S MAGRY(0)="0^ETRAP: "_ERR 194 D @^%ZOSF("ERRTN") 195 I $G(APISESS) D ERRTRK 196 Q 1 MAGGSIUI ;WOIFO/GEK - Utilities for Image Import API 2 ;;3.0;IMAGING;**7,8,48,20,85**;16-March-2007;;Build 1039 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 ;; | 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 REMOTE(MAGRY,MAGDATA) ;RPC [MAG4 REMOTE IMPORT] 20 ; Import Images from a Windows App, by sending an array. 21 I ($D(MAGDATA)<10) S MAGRY(0)="0^Missing Data Array !." Q 22 N I,J,ICT,DCT,MAGIX,IMAGES,ERR,X,Z 23 S (ERR,ICT,DCT)=0 24 S I="" F S I=$O(MAGDATA(I)) Q:I="" S X=MAGDATA(I) D Q:ERR 25 . S Z=$P(X,U) 26 . I (X="")!(Z="") S MAGRY(0)="0^INVALID Data in Input Array: Node "_I_"="""_X_"",ERR=1 Q 27 . I Z="IMAGE" S ICT=ICT+1,IMAGES(ICT)=$P(X,U,2,99) Q 28 . S DCT=DCT+1,MAGIX(Z)=$P(X,U,2,99) 29 I 'ERR D IMPORT(.MAGRY,.IMAGES,.MAGIX) 30 Q 31 ; 32 IMPORT(MAGRY,IMAGES,MAGIX) ; 33 ; "IDFN","PXPKG","PXIEN","PXDT","TRKID","ACQD","ACQS","ACQL","STSCB","ITYPE", 34 ; "CMTH","CDUZ","USERNAME","PASSWORD","GDESC","DFLG","TRTYPE","DOCCTG","DOCDT", 35 ; "IXTYPE","IXSPEC","IXPROC","IXORIGIN ;Patch 8: Added Index fields 36 ; 37 ;Index fields Package, Class ("IXPKG" and "IXCLS") aren't accepted 38 ; they are computed values. 39 ; - Convert field codes into an Input Data Array, 40 ; validate, then set the Import Queue 41 ; 42 N $ETRAP,$ESTACK S $ETRAP="D ERR^"_$T(+0) 43 K MAGRY S MAGRY(0)="0^Importing data..." 44 N APISESS,MWIN 45 S MWIN=$$BROKER^XWBLIB 46 N PRM,CT,MAGA,MAGY,MAGTN,TNODE 47 N IDFN,PXPKG,PXIEN,PXDT,TRKID,ACQD,ACQS,ACQN,ACQL,STSCB,ITYPE,CMTH,CDUZ,USERNAME,PASSWORD 48 N GDESC,DFLG,TRTYPE,DOCCTG,DOCDT,IXPKG,IXCLS,IXTYPE,IXSPEC,IXPROC,IXORIGIN,MAX,SITEPLC 49 N ERR,MAGTM,QTIME,MAGIXZ 50 S CT=0,ERR=0 51 M MAGIXZ=MAGIX 52 ; DON'T CONVERT ACQS(really a ACQN) to a REAL ACQS, leave it ACQS to be converted by MAGGSIV 53 ; 54 F PRM="IDFN","PXPKG","PXIEN","PXDT","TRKID","ACQD","ACQS","ACQN","ACQL","STSCB","ITYPE","CMTH","CDUZ","USERNAME","PASSWORD","GDESC","DFLG","TRTYPE","DOCCTG","DOCDT","IXTYPE","IXSPEC","IXPROC","IXORIGIN" D 55 . S @PRM=$G(MAGIX(PRM)) K MAGIX(PRM) ; P8T14 added K.. and next line to account for field numbers later. 56 . Q 57 S PRM="" F S PRM=$O(MAGIX(PRM)) Q:PRM="" D SA(PRM,$G(MAGIX(PRM))) 58 ; 59 S MAGTM=$$NOW^XLFDT 60 I '$G(DUZ) S MAGRY(0)="0^DUZ is undefined." Q ;D ERRTRK Q 61 ; DATATRK sets Global var. APISESS = IEN of Session File. 62 D DATATRK 63 I '$$REQPARAM^MAGGSIU2() D ERRTRK Q 64 S MAX=$P(TRKID,";",1)="MAX" 65 ;I 'MWIN W !,"----------------" ZW W !,"---------------------" 66 ; Workaround VIC (Maximus) is sending Station Number 67 ; we'll convert to Institution IEN 68 I MAX&(ACQS]"") D Q:ERR 69 . S X=$O(^DIC(4,"D",ACQS,"")) 70 . I X="" S MAGRY(0)="0^Invalid Station Number:(Maximus ACQS): "_ACQS,ERR=1 Q 71 . S SITEPLC=X ; We need the Place for the Queue 72 . ;S ACQS=X Out in 85. Don't change to ACQS, that's done in VAL^MAGGSIV 73 . Q 74 ; Change to Allow ACQN - STATION NUMBER from INSTITUTION File. 75 I $L(ACQN) D Q:ERR 76 . S ACQS=$O(^DIC(4,"D",ACQN,"")) 77 . I ACQS="" S MAGRY(0)="0^Invalid STATION NUMBER: (ACQN): "_ACQN,ERR=1 Q 78 . ; VAL^MAGGSIV Will fail if ACQS is real and this is Maximus 79 . I MAX S ACQS=ACQN K ACQN Q 80 . S ACQN="" ;We converted to ACQS, lets make "" so no confusion later. 81 . Q 82 ; 83 ; Set the input data array 84 D SA(5,IDFN) ;PATIENT 85 D SA(16,PXPKG) ;PARENT DATA FILE 86 D SA(17,PXIEN) ;PARENT GLOBAL ROOT 87 D SA(15,PXDT) ; PROCEDURE/EXAM DATE/TIME 88 D SA(108,TRKID) ; TRACKING ID (new) 89 D SA("ACQD",ACQD) ; ACQUISTION DEVICE ( new ) 90 I 'MAX S SITEPLC=ACQS D SA(.05,ACQS) ; this used to be fld 105 91 D SA(101,ACQL) 92 D SA("STATUSCB",STSCB) ; STATUS CALLBACK (was referred to as ExceptionHandler) 93 D SA(3,ITYPE) ; OBJECT TYPE 94 D SA("CALLMTH",CMTH) ; CALL METHOD 95 D SA(8,CDUZ) ; IMAGE SAVE BY 96 D SA("USERNAME",USERNAME) 97 D SA("PASSWORD",PASSWORD) 98 D SA(10,GDESC) ; SHORT DESCRIPTION 99 D SA("DELFLAG",DFLG) ; DELETE FLAG 100 D SA("TRNSTYP",TRTYPE) ; TRANSACTION TYPE 101 D SA(100,DOCCTG) ; document Main category 102 D SA(110,DOCDT) ; document date 103 ; Patch 8 allows Index fields to be imported. 104 ;"IXTYPE","IXSPEC","IXPROC","IXORIGIN" 105 D SA(42,IXTYPE) ; Index Type 106 D SA(43,IXPROC) ; Index Proc/Event 107 D SA(44,IXSPEC) ; Index Spec/SubSpec 108 D SA(45,IXORIGIN) ; Index Origin 109 ; 110 D VAL^MAGGSIV(.MAGRY,.MAGA,1) I 'MAGRY(0) D ERRTRK Q 111 I MAX D SA(.05,ACQS) ; this used to be fld 105 112 ; Also Done in MAGGSIA when image is being Saved. 113 I '$$VALINDEX^MAGGSIV1(.MAGRY,IXTYPE,IXSPEC,IXPROC) D ERRTRK Q 114 ; Array of Images to Import 115 D SI("IMAGES",.IMAGES) I 'MAGRY(0) D ERRTRK Q 116 K MAGRY 117 ; 118 I TRTYPE="NOQUEUE" M MAGRY=MAGA S MAGRY(0)="1^" Q 119 ; This call is for BP 120 S QTIME=$$NOW^XLFDT 121 ; p85 use ACQS instead of DUZ(2) 122 S MAGY=$$IMPORT^MAGBAPI(.MAGA,STSCB,TRKID,$$PLACE^MAGBAPI(SITEPLC)) 123 ; Return Queue Number 124 I 'MAGY S MAGRY(0)="0^Error Setting Queue: "_$P(MAGY,U,2),MAGY=TRKID 125 E S MAGRY(0)=MAGY_"^Data has been Queued.",MAGY=+MAGY 126 ; for Testing, we'll track input array, and results array by Queue number. 127 I 'MAGRY(0) D ERRTRK Q 128 D LOGRES^MAGGSIU3(.MAGRY,0,APISESS) 129 ; 130 Q 131 ; 132 SA(FLD,VAL) ;Set the data array with Fld,Value 133 Q:VAL="" 134 S CT=CT+1,MAGA(CT)=FLD_U_VAL 135 Q 136 SI(FLD,ARR) ;Set the images into the data array 137 ; 'CT' is a global variable. 138 S MAGRY(0)="1^Valid Image file Extensions." 139 N I,MAGEXT,MAGFN 140 S I="" F S I=$O(ARR(I)) Q:I="" D Q:'MAGRY(0) 141 . S CT=CT+1 142 . I ($L($P(ARR(I),U),".")<2) S MAGRY(0)="0^Invalid file name: "_ARR(I) Q 143 . S MAGFN=$P(ARR(I),"^") 144 . S MAGEXT=$$UP^XLFSTR($P(MAGFN,".",$L(MAGFN,"."))) 145 . I '$D(^MAG(2005.021,"B",MAGEXT)) S MAGRY(0)="0^Unsupported File Type:'."_MAGEXT Q 146 . S MAGA(CT)="IMAGE"_U_ARR(I) 147 Q 148 GETARR(ARR,QNUM) ;RPC [MAG4 DATA FROM IMPORT QUEUE] 149 ; Get the Input Array from Queue Number 150 I '$G(QNUM) S ARR(0)="0^INVALID QUEUE Number: "_$G(QNUM) Q 151 D IMPAR^MAGQBUT2(.ARR,QNUM) 152 Q 153 STATUSCB(MAGRY,STAT,TAGRTN,DOCB) ;RPC [MAG4 STATUS CALLBACK] 154 ; Report Status to calling application 155 ; Now the IAPI and OCX make this call. Not BP 156 ; STAT(0)= "0^message" or "1^message" 157 ; STAT(1)=TRKID, 158 ; (2)=QNUM 159 ; (3..N)=warnings 160 ;TAGRTN : The TAG^RTN to call with Status Array 161 ;DOCB : (1|0) to suppress execution of Status Callback 162 ; 163 N APISESS,TRKID,CBMSG 164 S DOCB=$S($G(DOCB)="":1,1:+$G(DOCB)) ; Default to TRUE 165 ; Old Import API and BP that made this call, will work : DOCB defaults to 1 166 S CBMSG=$S(DOCB:"Status Callback was called",1:"Status Callback was NOT called") 167 I DOCB D @(TAGRTN_"(.STAT)") 168 S MAGRY="1^"_CBMSG 169 S STAT($O(STAT(""),-1)+1)=MAGRY 170 S TRKID=$G(STAT(1)) 171 ; Log Results. Always. 172 I $L(TRKID) D 173 . S APISESS=$$SES4TRK^MAGGSIU3(TRKID) ; 174 . I APISESS D LOGRES^MAGGSIU3(.STAT,0,APISESS) ;gek/send Tracking ID to log status 175 Q 176 TESTCB(STATARR) ;TESTING. This is the Status Callback for testing. 177 ; the STATUSCB property must have a Valid "M" TAG^ROUTINE 178 ; TAG TESTCB exists so that STATUSCB validates successfully 179 Q 180 ERRTRK ;Track bad data and Quit 181 N I 182 D LOGERR^MAGGSERR("---- New Error ----",APISESS) 183 S I="" F S I=$O(MAGRY(I)) Q:I="" D LOGERR^MAGGSERR(MAGRY(I),APISESS) 184 Q 185 DATATRK ; Track the raw data being sent to the Import API. 186 ; Log the data being imported. Results are logged later. 187 N XY 188 S APISESS=$$LOG^MAGGSIU3(.XY,.MAGIXZ,.IMAGES,IDFN,ACQD,TRKID) 189 Q 190 ERR ; ERROR TRAP FOR Import API 191 N ERR S ERR=$$EC^%ZOSV 192 S MAGRY(0)="0^ETRAP: "_ERR 193 D @^%ZOSF("ERRTN") 194 I $G(APISESS) D ERRTRK 195 Q
Note:
See TracChangeset
for help on using the changeset viewer.