MAGGTU31 ;WOIFO/GEK - Silent calls for Imaging ; [ 06/20/2001 08:57 ]
 ;;3.0;IMAGING;**46,59**;Nov 27, 2007;Build 20
 ;; Per VHA Directive 2004-038, this routine should not be modified.
 ;; +---------------------------------------------------------------+
 ;; | Property of the US Government.                                |
 ;; | No permission to copy or redistribute this software is given. |
 ;; | Use of unreleased versions of this software requires the user |
 ;; | to execute a written test agreement with the VistA Imaging    |
 ;; | Development Office of the Department of Veterans Affairs,     |
 ;; | telephone (301) 734-0100.                                     |
 ;; |                                                               |
 ;; | The Food and Drug Administration classifies this software as  |
 ;; | a medical device.  As such, it may not be changed in any way. |
 ;; | Modifications to this software may result in an adulterated   |
 ;; | medical device under 21CFR820, the use of which is considered |
 ;; | to be a violation of US Federal Statutes.                     |
 ;; +---------------------------------------------------------------+
 ;;
 Q
ATTSTAT(IEN) ; Return a sentence saying if the Image was attached
 ; to the TIU NOte before or after the Note was signed.
 ; was signed.
 N SIGNDT,NOTE,MARR,AMMEND,N2,MAGDT,NC,CLOSDT,X
 S N2=$G(^MAG(2005,IEN,2))
 I $P(N2,"^",6)'=8925 Q ""
 S MAGDT=$S($P(N2,"^",11):$P(N2,"^",11),1:$P(N2,"^",1))
 S NOTE=$P(N2,"^",7)
 S NC=NOTE_","
 D GETS^DIQ(8925,NOTE,".01;.06;1501;1606","I","MARR")
 I $D(DIERR) Q "Error: Note-"_NOTE_" : "_$G(^TMP("DIERR",$J,1,"TEXT",1))
 I (MARR(8925,NC,".01","I")=81)!(MARR(8925,NC,".06","I")>0) Q "Image is attached to an Addendum"
 S SIGNDT=MARR(8925,NC,"1501","I")
 S CLOSDT=MARR(8925,NC,"1606","I")
 I CLOSDT]"" D  Q X
 . I $P(CLOSDT,".",2)="" S MAGDT=$P(MAGDT,".",1) I MAGDT=CLOSDT S X="Image was attached Same Day as Note was Electronically Filed." Q
 . I MAGDT>CLOSDT S X="Image was attached After Note was Electronically Filed." Q
 . S X="Image was attached Before Note was Electronically Filed." Q
 . Q
 I SIGNDT="" Q "Image is attached to an UnSigned Note."
 I $P(SIGNDT,".",2)="" S MAGDT=$P(MAGDT,".",1) I MAGDT=SIGNDT Q "Image was attached Same Day as Note was Signed."
 I MAGDT>SIGNDT Q "Image was attached After the Note was Signed."
 Q "Image was attached Before the Note was Signed."
USERKEYS(MAGK) ; RPC [MAGGUSERKEYS]  (called from MAGGTU3)
 N Y
 N MAGKS ; list of keys to send to XUS KEY CHECK
 N MAGKG ; list returned from XUS KEY CHECK
 N I,J,MAGMED,MAGKEY,MAGPLC
 K MAGK
 S MAGPLC=+$$PLACE^MAGBAPI(DUZ(2)) ; DBI - SEB 9/20/2002
 S MAGKEY=+$P($G(^MAG(2006.1,MAGPLC,"KEYS")),U)
 I 'MAGKEY S MAGK(0)="CAPTURE KEYS OFF"
 E  S MAGK(0)="CAPTURE KEYS ON"
 N X S X="MAG",I=0
 F  S X=$O(^XUSEC(X)) Q:$E(X,1,3)'="MAG"  D
 . S I=I+1,MAGKS(I)=X
 D OWNSKEY^XUSRB(.MAGKG,.MAGKS)
 S I=0,J=0,MAGMED=0
 F  S I=$O(MAGKG(I)) Q:I=""  D
 . Q:MAGKG(I)=0
 . S J=J+1,MAGK(J)=MAGKS(I)
 . I MAGKS(I)["MAGCAP MED" S MAGMED=1
 I MAGMED S J=J+1,MAGK(J)="MAGCAP MED"
 Q
GETINFO(MAGRY,IEN) ; RPC [MAG4 GET IMAGE INFO]Called from MAGGTU3
 ; Call (3.0p8) to get information on 1 image 
 ; and Display in the Image Information Window
 N Y,J,JI,I,CT,IENC,FLAGS,SNGRP,Z,M40,T,QACHK,OBJTYP,VAL,LBL
 S I=0,CT=0
 S MAGRY(CT)="Image ID#:      "_IEN
 I $D(^MAG(2005.1,IEN)) D  Q
 . S CT=CT+1,MAGRY(CT)="    STATUS:  "_"HAS BEEN DELETED. !!"
 . S CT=CT+1,MAGRY(CT)="Deleted By: "_$$GET1^DIQ(2005.1,IEN,30,"E")
 . S CT=CT+1,MAGRY(CT)="    Reason: "_$$GET1^DIQ(2005.1,IEN,30.2,"E")
 . S CT=CT+1,MAGRY(CT)="      Date: "_$$GET1^DIQ(2005.1,IEN,30.1,"E")
 . Q
 S M40=$G(^MAG(2005,IEN,40)),T=$P(M40,"^",3)
 S Z=$P($G(^MAG(2005,IEN,0)),"^",10) I Z D
 . S CT=CT+1,MAGRY(CT)=" is in Group#: "_Z_"  ("_+$P(^MAG(2005,Z,1,0),"^",4)_" images)"
 . D CHK^MAGGSQI(.QACHK,Z) Q:QACHK(0) 
 . S CT=CT+1,MAGRY(CT)=" QA Warning - Group#: "_Z_" "_$P(QACHK(0),"^",2)
 . Q
 S OBJTYP=$P(^MAG(2005,IEN,0),"^",6)
 S SNGRP="FLDS"
 I (+$O(^MAG(2005,IEN,1,0)))!(OBJTYP=11)!(OBJTYP=16) D
 . S CT=CT+1,MAGRY(CT)=$P($G(^MAG(2005,IEN,40)),"^",1)_" Group of "_+$P($G(^MAG(2005,IEN,1,0)),U,4)
 . S SNGRP="FLDG"
 . Q
 K QACHK
 D CHK^MAGGSQI(.QACHK,IEN) I 'QACHK(0) D
 . S CT=CT+1,MAGRY(CT)=" QA Warning - Image#: "_IEN_" "_$P(QACHK(0),"^",2)
 N MAGOUT,MAGERR,MAGVAL,PKG
 S IENC=IEN_","
 S FLAGS="EN"
 S I=-1
 S PKG=""
 F  S I=I+1,Z=$T(@SNGRP+I) Q:$P(Z,";",3)="end"  D
 . S J=$P(Z,";",4),JI=J_";"
 . K MAGOUT
 . S CT=CT+1,MAGRY(CT)=$P(Z,";",3)
 . I J=41 D  Q  ; Need to compute the Class.  Class field in Image File is wrong.
 . . S MAGVAL=$S('T:"",'$D(^MAG(2005.83,T,0)):"",1:$P(^MAG(2005.82,$P(^MAG(2005.83,T,0),"^",2),0),"^",1))
 . . S MAGRY(CT)=MAGRY(CT)_" "_MAGVAL
 . . Q
 . D GETS^DIQ(2005,IEN,JI,FLAGS,"MAGOUT","MAGERR")
 . ; Get Extension from FileRef
 . I J=1 S MAGVAL=$P($G(MAGOUT(2005,IENC,J,"E")),".",2)
 . E  S MAGVAL=$G(MAGOUT(2005,IENC,J,"E"))
 . S MAGVAL=$TR(MAGVAL,"&","+")
 . I J=40 S PKG=MAGVAL
 . I ((J>=50)&(J<=54)) D  Q
 . . I PKG'="LAB" K MAGRY(CT) Q
 . . S MAGRY(CT)=MAGRY(CT)_" "_MAGVAL
 . . Q
 . S MAGRY(CT)=MAGRY(CT)_" "_MAGVAL
 ; Compare Parent Association Date with Date/Time Note Signed.
 I $P(^MAG(2005,IEN,0),"^",10) S IEN=$P(^MAG(2005,IEN,0),"^",10)
 I $P(^MAG(2005,IEN,2),"^",6)=8925 S CT=CT+1,MAGRY(CT)=$$ATTSTAT^MAGGTU31(IEN)
 ;
 I (OBJTYP=11),($P($G(^MAG(2005,IEN,100)),"^",6)="") D
 . S X=$O(^MAG(2005,IEN,1,0))
 . S IEN=+$G(^MAG(2005,IEN,1,X,0))
 . Q
 I $P($G(^MAG(2005,IEN,100)),"^",6)]"" D
 . I OBJTYP=11 D  ; If a Group, get Object Type of First Child
 . . S Z=$O(^MAG(2005,IEN,1,0))
 . . I 'Z Q
 . . S Z=+$G(^MAG(2005,IEN,1,Z,0))
 . . S OBJTYP=+$P($G(^MAG(2005,Z,0)),"^",6) ; Object of First Child
 . . Q
 . S OBJTYP=","_OBJTYP_","
 . S LBL="",VAL=""
 . I ",3,9,10,12,100,"[OBJTYP S LBL="Image Creation Date: "           ; "Acquisition Date";
 . I ",15,101,102,103,104,105,"[OBJTYP S LBL="Document Creation Date: "
 . I LBL="" S LBL="Image Creation Date: "
 . S VAL=$$GET1^DIQ(2005,IEN,110,"E") S:(VAL="") VAL="N/A"
 . S CT=CT+1,MAGRY(CT)=LBL_VAL
 . Q
 Q
 ;
FLDS ;;Format:       ;3;;
 ;;Extension:    ;1;;
FLDG ;;Patient:      ;5;;
 ;;Desc:         ;10;;
 ;;Procedure:    ;6;;
 ;;     Date:    ;15;;
 ;;Class:        ;41;;
 ;;Package:      ;40;;
 ;;Type:         ;42;;
 ;;Proc/Event:   ;43;;
 ;;Spec/SubSpec: ;44;;
 ;;Origin:       ;45;;
 ;;Accession #   ;50;;
 ;;Specimen Desc ;51;;
 ;;Specimen#     ;52;;
 ;;Stain         ;53;;
 ;;Objective     ;54;;
 ;;Captured on:  ;7;;
 ;;         by:  ;8;;
 ;;end;;
