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

MAGLOG.m

Go to the documentation of this file.
  1. MAGLOG ;WOIFO/RED,SRR,MLH - Log image access ; 13 Jul 2008 11:39 PM
  1. ;;3.0;IMAGING;**17,8,20,59,83,39,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. ; CALL WITH:
  1. ; MAGIMT = TYPE OF ACCESS
  1. ; DUZ = USER NO.
  1. ; MAGO = IMAGE SUBSCRIPT NO.
  1. ; MAGPACK = USER INTERFACE PACKAGE
  1. ; MAGDFN = PATIENT NO.
  1. ; MAGCT = TOTAL IMAGE COUNT
  1. ; MAGAD = ADDITIONAL DATA
  1. ;
  1. ; New MAGIMT = NOIMAGE - Image Entry moved to Audit File. No Image Existed. ; p140
  1. Q
  1. ENTRY(MAGIMT,MAGDUZ,MAGO,MAGPACK,MAGDFN,MAGCT,MAGAD) ;
  1. I '$D(MAGSYS) S MAGSYS=^%ZOSF("VOL")
  1. N MAGC,MSYS,MAGSITE,SITE,NOW
  1. S MSYS=$$UP^XLFSTR(MAGSYS)
  1. I (MSYS["UNKNOWN"),($D(MAGJOB("WRKSIEN"))) S MSYS=$P(^MAG(2006.81,MAGJOB("WRKSIEN"),0),"^",1)
  1. L +^MAG(2006.95,0):10 E Q ;entries were being overwritten.
  1. S MAGC=$P(^MAG(2006.95,0),"^",3)+1
  1. S $P(^MAG(2006.95,0),"^",3,4)=MAGC_"^"_MAGC
  1. L -^MAG(2006.95,0)
  1. S NOW=$$NOW^XLFDT
  1. ; FLD #'s .01 1 2 3 4 5 6 7 8 9
  1. S ^MAG(2006.95,MAGC,0)=MAGC_"^"_$G(MAGIMT)_"^"_$G(MAGDUZ)_"^"_MAGO_"^"_MAGPACK_"^"_MSYS_"^"_NOW_"^"_MAGDFN_"^"_MAGCT_"^"_+$G(MAGJOB("SESSION"))
  1. S SITE=$$SITE(""),MAGSITE=$P(SITE,"^",2)
  1. S $P(^MAG(2006.95,MAGC,0),"^",11)=$P(SITE,"^")
  1. S:$G(MAGAD)'="" ^MAG(2006.95,MAGC,100)=MAGAD
  1. S ^MAG(2006.95,"B",MAGC,MAGC)=""
  1. S ^MAG(2006.95,"AC",NOW,MAGC)=""
  1. S ^MAG(2006.95,"C",MAGSITE,NOW,MAGC)=""
  1. D ACCESS(MAGO) ; This should be here. Can now search 2006.95 from "Last Access Date" to "Capture Date" to
  1. ; get all Actions logged. We Don't have to search entire Image File.
  1. I $G(MAGJOB("SESSION")) S ^MAG(2006.95,"AS",+$G(MAGJOB("SESSION")),MAGC)=""
  1. Q
  1. ACCESS(MAGO) ; Update Field "Last Access Date" in Image File.
  1. Q:'$G(MAGO)
  1. I '$D(^MAG(2005,MAGO,0)) D Q
  1. . I $D(^MAG(2005.1,MAGO,0)) S $P(^MAG(2005.1,MAGO,0),"^",9)=$$NOW^XLFDT
  1. . Q
  1. S $P(^MAG(2005,MAGO,0),"^",9)=$$NOW^XLFDT
  1. Q
  1. SITE(RETURN) ;Set SITE to either image acquisition field or the user's division or default to Kernel parameter.
  1. ; SITE is the division value and MAGSITE is the value for it's corresponding value in file 2006.1
  1. ; either an Imaging site entry or an associated institution.
  1. N INST,SITE,MAGSITE
  1. S INST=$$KSP^XUPARAM("INST"),MAGSITE="",RETURN=""
  1. I $G(MAGO) D
  1. . I $D(^MAG(2005,MAGO,0)),$D(^MAG(2005,MAGO,100)) S SITE=$P(^(100),"^",3)
  1. . E I $D(^MAG(2005.1,MAGO,0)),$D(^MAG(2005.1,MAGO,100)) S SITE=$P(^(100),"^",3)
  1. . Q
  1. I '+$G(SITE),$G(MAGDUZ) D
  1. . I $G(DUZ(2)),$D(^MAG(2006.1,"B",DUZ(2))) S SITE=DUZ(2),MAGSITE=$$PLACE^MAGBAPI(SITE) Q
  1. . S SITE=$$FINDSITE^MAGQE7(MAGDUZ)
  1. . Q
  1. I '+$G(SITE) S SITE=INST ; ;Last default use the Kernel parameters.
  1. I 'MAGSITE S MAGSITE=$S($D(^MAG(2006.1,"B",+SITE)):SITE,1:INST) S MAGSITE=$$PLACE^MAGBAPI(MAGSITE)
  1. S RETURN=SITE_"^"_MAGSITE
  1. Q RETURN