Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: MAGTP014

MAGTP014.m

Go to the documentation of this file.
  1. MAGTP014 ;WOIFO/FG - TELEPATHOLOGY RPCS ; 03/28/2012 2:50pm
  1. ;;3.0;IMAGING;**138**;Mar 19, 2002;Build 5380;Sep 03, 2013
  1. ;; Per VHA Directive 2004-038, this routine should not be modified.
  1. ;; +---------------------------------------------------------------+
  1. ;; | Property of the US Government. |
  1. ;; | No permission to copy or redistribute this software is given. |
  1. ;; | Use of unreleased versions of this software requires the user |
  1. ;; | to execute a written test agreement with the VistA Imaging |
  1. ;; | Development Office of the Department of Veterans Affairs, |
  1. ;; | telephone (301) 734-0100. |
  1. ;; | The Food and Drug Administration classifies this software as |
  1. ;; | a medical device. As such, it may not be changed in any way. |
  1. ;; | Modifications to this software may result in an adulterated |
  1. ;; | medical device under 21CFR820, the use of which is considered |
  1. ;; | to be a violation of US Federal Statutes. |
  1. ;; +---------------------------------------------------------------+
  1. ;;
  1. Q ;
  1. ;
  1. ;***** GET THE TEXT OF A NOTE ATTACHED TO A SPECIFIED CASE
  1. ; RPC: MAGTP GET NOTE
  1. ;
  1. ; .MAGRY Reference to a local variable where the results
  1. ; are returned to.
  1. ;
  1. ; LRAC Accession Code for the case
  1. ;
  1. ; Return Values
  1. ; =============
  1. ;
  1. ; If MAGRY(0) 1st '^'-piece is 0, then an error
  1. ; occurred during execution of the procedure: 0^0^ ERROR explanation
  1. ;
  1. ; Otherwise, the output array is as follows:
  1. ;
  1. ; MAGRY(0) Description
  1. ; ^01: 1
  1. ; ^02: Total Number of Lines
  1. ;
  1. ; MAGRY(i) Description
  1. ; ^01: Note Line of Text
  1. ;
  1. GETNOTE(MAGRY,LRAC) ; RPC [MAGTP GET NOTE]
  1. K MAGRY
  1. N $ETRAP,$ESTACK S $ETRAP="D ERRA^MAGGTERR"
  1. I LRAC="" S MAGRY(0)="0^0^No Accession Code" Q
  1. N MAGREC,MAGOUT,MAGERR,CT,I
  1. S MAGREC=$O(^MAG(2005.42,"B",LRAC,""))
  1. I MAGREC="" S MAGRY(0)="0^0^Invalid Accession Code" Q
  1. D GET1^DIQ(2005.42,MAGREC_",",3,"","MAGOUT","MAGERR")
  1. I $D(MAGERR) D Q
  1. . S MAGRY(0)="0^0^Access Error: "_MAGERR("DIERR",1,"TEXT",1)
  1. S (CT,I)=0
  1. F S I=$O(MAGOUT(I)) Q:I="" D
  1. . S CT=CT+1
  1. . S MAGRY(CT)=MAGOUT(I)
  1. . Q
  1. S MAGRY(0)="1^"_CT
  1. Q ;
  1. ;
  1. ;***** RECORD THE TEXT OF A NOTE ATTACHED TO A SPECIFIED CASE
  1. ; RPC: MAGTP PUT NOTE
  1. ;
  1. ; .MAGRY Reference to a local variable where the results
  1. ; are returned to.
  1. ;
  1. ; .ENT Input array. One line of note text must be
  1. ; on each line of the array
  1. ;
  1. ; LRAC Accession Code for the case
  1. ;
  1. ; Return Values
  1. ; =============
  1. ;
  1. ; If MAGRY(0) 1st '^'-piece is 0, then an error
  1. ; occurred during execution of the procedure: 0^0^ ERROR explanation
  1. ;
  1. ; Otherwise, the output array is as follows:
  1. ;
  1. ; MAGRY(0) Description
  1. ; ^01: 1
  1. ; ^02: 0
  1. ; ^03: "<LRAC> Note Updated"
  1. ;
  1. PUTNOTE(MAGRY,ENT,LRAC) ; RPC [MAGTP PUT NOTE]
  1. K MAGRY
  1. N $ETRAP,$ESTACK S $ETRAP="D ERRA^MAGGTERR"
  1. I LRAC="" S MAGRY(0)="0^0^No Accession Code" Q
  1. N MAGREC,I,LINE,MAGFDA,MAGERR,MAGROOT,NOW,USER
  1. S MAGREC=$O(^MAG(2005.42,"B",LRAC,""))
  1. I MAGREC="" S MAGRY(0)="0^0^Invalid Accession Code" Q
  1. ;Only append no delete(WPR)
  1. D ; enter new text, or clear old text?
  1. . ;I $D(ENT)<10 S MAGROOT="@" Q ; clear old text
  1. . ; enter (override) new text
  1. . S MAGROOT="MAGFDA",(I,LINE)=""
  1. . F S LINE=$O(ENT(LINE)) Q:LINE="" D
  1. . . S I=I+1
  1. . . S MAGFDA(I)=ENT(LINE) ; FDA arrays cannot start from 0
  1. . . Q
  1. . D GETS^DIQ(200,+DUZ,.01,"E","USER") S MAGFDA(I+1)="Added by: "_USER(200,+DUZ_",",.01,"E")
  1. . S NOW=$$NOW^XLFDT(),MAGFDA(I+2)=" On: "_$$FMTE^XLFDT(NOW) ;DT/TM
  1. . S MAGFDA(I+3)=" " F LINE=1:1:32 S MAGFDA(I+4)="- "_$G(MAGFDA(I+4))
  1. . S MAGFDA(I+5)=" "
  1. . Q
  1. D WP^DIE(2005.42,MAGREC_",",3,"A",MAGROOT,"MAGERR") ; Whole text killed for WP
  1. I $D(MAGERR) D Q
  1. . S MAGRY(0)="0^0^Updating Error: "_MAGERR("DIERR",1,"TEXT",1)
  1. S MAGRY(0)="1^0^"_LRAC_" Note "_$S(MAGROOT="MAGFDA":"Updated",MAGROOT="@":"Deleted",1:"Disposition Unknown")
  1. Q ;
  1. ;
  1. ;***** GET THE RETENTION DAYS OF A UNREAD WORKLIST FROM SITE
  1. ; RPC: MAGTP GET RETENTION DAYS
  1. ;
  1. ; .MAGRY Reference to a local variable where the results
  1. ; are returned to.
  1. ;
  1. ; SITE Site number (e.g.: 660)
  1. ;
  1. ; Return Values
  1. ; =============
  1. ;
  1. ; If MAGRY(0) 1st '^'-piece is 0, then an error
  1. ; occurred during execution of the procedure: 0^0^ ERROR explanation
  1. ;
  1. ; Otherwise, the output array is as follows:
  1. ;
  1. ; MAGRY(0) Description
  1. ; ^01: 1
  1. ; ^02: Total Number of Lines
  1. ; MAGRY(1) Description
  1. ; ^01: Retention Days
  1. ;
  1. GETRTDAY(MAGRY,SITE) ; RPC [MAGTP GET RETENTION DAYS]
  1. K MAGRY
  1. N $ETRAP,$ESTACK S $ETRAP="D ERRA^MAGGTERR"
  1. I $G(SITE)="" S SITE=$G(DUZ(2)) I SITE<1 S MAGRY(0)="0^0^No SITE Info" Q
  1. N MAGPLACE
  1. S MAGPLACE=+$O(^MAG(2006.1,"B",SITE,""))
  1. I MAGPLACE<1 S MAGRY(0)="0^0^No SITE Info ("_SITE_") in #2006.1" Q
  1. S MAGRY(1)=+$G(^MAG(2006.1,MAGPLACE,"TELEPATH")),MAGRY(0)="1^1"
  1. Q ;
  1. ;
  1. ;***** SET THE RETENTION DAYS OF A UNREAD WORKLIST FOR SITE
  1. ; RPC: MAGTP SET RETENTION DAYS
  1. ;
  1. ; .MAGRY Reference to a local variable where the results
  1. ; are returned to.
  1. ;
  1. ; DAYS Read list retention days (0-90)
  1. ;
  1. ; SITE Site number (e.g.: 660)
  1. ;
  1. ; Return Values
  1. ; =============
  1. ;
  1. ; If MAGRY(0) 1st '^'-piece is 0, then an error
  1. ; occurred during execution of the procedure: 0^0^ ERROR explanation
  1. ;
  1. ; Otherwise, the output array is as follows:
  1. ;
  1. ; MAGRY(0) Description
  1. ; ^01: 1 SUCCESS
  1. ;
  1. ;
  1. SETRTDAY(MAGRY,DAYS,SITE) ; RPC [MAGTP SET RETENTION DAYS]
  1. K MAGRY
  1. N $ETRAP,$ESTACK S $ETRAP="D ERRA^MAGGTERR"
  1. I $G(SITE)="" S SITE=$G(DUZ(2)) I SITE<1 S MAGRY(0)="0^0^No SITE INFO" Q
  1. I +$G(DAYS)<0 S MAGRY(0)="0^0^Invalide Retention Days ("_$G(DAYS)_")" Q
  1. N MAGPLACE
  1. S MAGPLACE=+$O(^MAG(2006.1,"B",SITE,""))
  1. I MAGPLACE<1 S MAGRY(0)="0^0^No SITE Info ("_SITE_") in #2006.1" Q
  1. s $P(^MAG(2006.1,MAGPLACE,"TELEPATH"),"^")=DAYS
  1. S MAGRY(0)="1"
  1. Q ;
  1. ;