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

MAGNWRK1.m

Go to the documentation of this file.
  1. MAGNWRK1 ;WOIFO/NST - Work items calls ; Dec 05, 2018@13:36:00
  1. ;;3.0;IMAGING;**201,221**;Dec 02, 2009;Build 163
  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. ;; | |
  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. NWI2005(MAGVOUT,MAGGDA) ;Create a new MAG WORK ITEM for an image stored in IMAGE file (#2005)
  1. ; MAGGDA - IEN in IMAGE file (#2005)
  1. ;
  1. ;
  1. N CRTUSR,CRTAPP,DFN,ICN,IEN,J,MAGGRP,MSGTAGS,TYPE,SUBTYPE,STATUS,PLACEID,PRIORITY,Y,TMP
  1. N MODALITY,MAGPDATA,REFTYPE,REFIEN
  1. ;
  1. S IEN=+$G(MAGGDA) Q:'IEN
  1. ;
  1. S PLACEID=$$GET1^DIQ(2005,IEN,.05,"I") ; ACQUISITION SITE
  1. S:'PLACEID PLACEID=DUZ(2)
  1. ;
  1. Q:'$$GET^XPAR("DIV.`"_PLACEID_"^SYS","MAG PRECACHE ACQ ENABLED",,"I") ; IA# 2263
  1. ;
  1. Q:$$GET1^DIQ(2005,IEN,1,"I")="" ; FILEREF
  1. S DFN=$$GET1^DIQ(2005,IEN,5,"I") ; PATIENT
  1. S MAGGRP=$$GET1^DIQ(2005,IEN,14,"I") ; GROUP PARENT
  1. ;
  1. ; TAGS
  1. S J=0
  1. S J=J+1,MSGTAGS(J)="storage`2005" ; image is in file #2005
  1. S J=J+1,MSGTAGS(J)="imageIen`"_IEN ; IMAGE IEN
  1. S:MAGGRP J=J+1,MSGTAGS(J)="studyIen`"_MAGGRP ; GRP IEN
  1. S:DFN J=J+1,MSGTAGS(J)="patientDfn`"_DFN
  1. I $L($T(GETICN^MPIF001)) D
  1. . S ICN=$$GETICN^MPIF001(DFN)
  1. . S:ICN>1 J=J+1,MSGTAGS(J)="patientIcn`"_ICN
  1. . Q
  1. S J=J+1,MSGTAGS(J)="acquisition`1" ; precash flag
  1. ;
  1. S MAGPDATA=$$GET1^DIQ(2005,IEN,16,"I") ; Parent Data File
  1. S REFTYPE=$S(MAGPDATA=74:"RAD",MAGPDATA=8925:"TIU",1:"")
  1. I REFTYPE'="" D
  1. . S REFIEN=$$GET1^DIQ(2005,IEN,17,"I")
  1. . S J=J+1,MSGTAGS(J)="contextId`"_$TR($$CPRSCTX^MAGNU003(REFTYPE,REFIEN),"^","~") ; Create CPRS Context ID and translate ^ to ~
  1. . Q
  1. ;
  1. S J=J+1,MSGTAGS(J)="imageFileName`"_$$FILENAME^MAGGAII(IEN,"FULL",.TMP)
  1. S J=J+1,MSGTAGS(J)="imageShortDescr`"_$$GET1^DIQ(2005,IEN,10,"I")
  1. S J=J+1,MSGTAGS(J)="imageObjectType`"_$$GET1^DIQ(2005,IEN,3,"I")
  1. S MODALITY=$$MODALITY(IEN)
  1. S:MODALITY'="" J=J+1,MSGTAGS(J)="imageModality`"_MODALITY
  1. ;
  1. S TYPE="PRECACHE"
  1. S SUBTYPE="ACQUISITION"
  1. S STATUS="New"
  1. S PRIORITY=0
  1. ;
  1. S PLACEID=$$STA^XUAF4(PLACEID) ;IA # 2171
  1. ;
  1. S CRTUSR=$$GET1^DIQ(2005,IEN,8,"I") ; IMAGE SAVE BY
  1. S:'CRTUSR CRTUSR=DUZ
  1. ;
  1. S CRTAPP=$$GET1^DIQ(2005,IEN,8.1,"I") ; CAPTURE APPLICATION
  1. S CRTAPP=$S(CRTAPP="D":"DICOM",CRTAPP="C":"CAPTURE",1:"IMPORTER")
  1. ;
  1. D CRTITEM^MAGVIM01(.MAGVOUT,TYPE,SUBTYPE,STATUS,PLACEID,PRIORITY,.MSGTAGS,CRTUSR,CRTAPP)
  1. Q
  1. ;
  1. NWI34(MAGVOUT,PIEN,IEN) ; ;Create a new MAG WORK ITEM for an image stored in P34 stucture
  1. ; PIEN = IEN in IMAGE SOP INSTANCE file (#2005.64)
  1. ; IEN = IMAGE INSTANCE FILE file (#2005.65)
  1. ;
  1. N CPRSCNTX,CRTUSR,CRTAPP,DFN,ICN,J,MAGGRP,MSGTAGS,TYPE,SUBTYPE,STATUS,PLACEID,PRIORITY,Y
  1. N MAGAENT,MAGMODAL,REFTYPE,REFIEN
  1. ;
  1. S PLACEID=$$GET1^DIQ(2005.64,PIEN,"11:31:.01","I") ; ACQUISITION LOCATION in file #2005.63
  1. S PLACEID=$S($P(PLACEID,";",2)="DIC(4,":+PLACEID,1:"")
  1. S:'PLACEID PLACEID=DUZ(2)
  1. ;
  1. Q:'$$GET^XPAR("DIV.`"_PLACEID_"^SYS","MAG PRECACHE ACQ ENABLED",,"I") ; IA# 2263
  1. ;
  1. S DFN=""
  1. S MAGAENT=$$GET1^DIQ(2005.64,PIEN,"11:11:13:.02","I") ; ASSIGNING AUTHORITY in file #2005.6
  1. I MAGAENT="V" S DFN=$$GET1^DIQ(2005.64,PIEN,"11:11:13:.01","I") ; ENTERPRISE PATIENT ID in file #2005.6
  1. ;
  1. S MAGMODAL=$$GET1^DIQ(2005.64,PIEN,"11:3","I") ; MODALITY in file #2005.63
  1. ;
  1. S MAGGRP=$$GET1^DIQ(2005.64,PIEN,"11:11","I") ; Study IEN in file #2005.62
  1. ;
  1. ; TAGS
  1. S J=0
  1. S J=J+1,MSGTAGS(J)="storage`2005.64" ; image is in P34 data structure
  1. S J=J+1,MSGTAGS(J)="imageIen`"_PIEN ; IEN in IMAGE SOP INSTANCE file (#2005.64)
  1. S:MAGGRP J=J+1,MSGTAGS(J)="studyIen`"_MAGGRP ;Study IEN in IMAGE STUDY file (#2005.62)
  1. S:DFN J=J+1,MSGTAGS(J)="patientDfn`"_DFN
  1. I $L($T(GETICN^MPIF001)) D
  1. . S ICN=$$GETICN^MPIF001(DFN)
  1. . S:ICN>1 J=J+1,MSGTAGS(J)="patientIcn`"_ICN
  1. . Q
  1. S:MAGMODAL'="" J=J+1,MSGTAGS(J)="modality`"_MAGMODAL ; MODALITY in file #2005.63
  1. ;
  1. D AINST(.MSGTAGS,.J,IEN) ; Add Add Artifact Instance tags
  1. ;
  1. S J=J+1,MSGTAGS(J)="acquisition`1" ; precash flag
  1. ;
  1. S CPRSCNTX=$$CPRSCTXS(MAGGRP) ; Create CPRS Context ID by Study IEN
  1. I CPRSCNTX'="" D
  1. . S J=J+1,MSGTAGS(J)="contextId`"_$TR(CPRSCNTX,"^","~") ; translate ^ to ~
  1. . Q
  1. ;
  1. S TYPE="PRECACHE"
  1. S SUBTYPE="ACQUISITION"
  1. S STATUS="New"
  1. S PRIORITY=0
  1. S PLACEID=$$STA^XUAF4(PLACEID) ;IA # 2171
  1. ;
  1. S CRTUSR="" ; IMAGE SAVE BY
  1. S:'CRTUSR CRTUSR=DUZ
  1. ;
  1. S CRTAPP="D" ; CAPTURE APPLICATION
  1. S CRTAPP=$S(CRTAPP="D":"DICOM",CRTAPP="C":"CAPTURE",1:"IMPORTER")
  1. ;
  1. D CRTITEM^MAGVIM01(.MAGVOUT,TYPE,SUBTYPE,STATUS,PLACEID,PRIORITY,.MSGTAGS,CRTUSR,CRTAPP)
  1. Q
  1. ;
  1. CPRSCTXS(STUDYIEN) ; Get CPRS context by Study IEN in IMAGE STUDY file (#2005.62)
  1. N ACNUMB,CONTEXT,REFTYPE,REFIEN
  1. S ACNUMB=$$GET1^DIQ(2005.62,STUDYIEN,.02,"I")
  1. D REFBYACN^MAGNU003(.REFTYPE,.REFIEN,ACNUMB) ; Set Reference type by Accession Number
  1. S CONTEXT=$$CPRSCTX^MAGNU003(REFTYPE,REFIEN)
  1. Q CONTEXT
  1. ;
  1. AINST(MSGTAGS,J,INSTIEN) ; Add Artifact Instance
  1. ; INSTIEN = IEN in IMAGE INSTANCE FILE file (#2005.65)
  1. ;
  1. N CNT,KEY,VALUE,LINE,IEN,I,RES,TMPARR,TOKEN,QT
  1. S TOKEN=$$GET1^DIQ(2005.65,INSTIEN,.01,"I") ; Artifact Token
  1. D GETAIENT^MAGVAG02(.RES,TOKEN,"") ; Get not deleted Artifact IEN by Token
  1. I '$$ISOK^MAGVAF02(RES) Q
  1. S IEN=$$GETVAL^MAGVAF02(RES)
  1. D GETAINST^MAGVAG04(.TMPARR,IEN)
  1. I '$$ISOK^MAGVAF02(TMPARR(0)) Q
  1. S QT=$C(34)
  1. S CNT=0
  1. S I=1
  1. F S I=$O(TMPARR(I)) Q:'I S LINE=TMPARR(I) Q:LINE["</ARTIFACTINSTANCES" D
  1. . I LINE["<ARTIFACTINSTANCE" S CNT=CNT+1 Q
  1. . I LINE["</ARTIFACTINSTANCE" Q
  1. . S KEY=$P(TMPARR(I),"=",1)
  1. . S VALUE=$TR($P(TMPARR(I),"=",2),QT,"")
  1. . S VALUE=$P(VALUE," >") ; special handling because of XML result set
  1. . I (KEY="PK")!(KEY="ARTIFACT")!(KEY="DISKVOLUME") S J=J+1,MSGTAGS(J)="ai_"_KEY_"_"_CNT_"`"_VALUE
  1. . I KEY="STORAGEPROVIDER" D ; Add Storage provider name
  1. . . S J=J+1,MSGTAGS(J)="ai_storeProvType_"_CNT_"`"_$$GET1^DIQ(2006.917,VALUE,"2")
  1. . . Q
  1. . Q
  1. Q
  1. ;
  1. MODALITY(IMGIEN) ; Get Image modality
  1. N G,M,P,MAGFILD,MAGFILG,X
  1. S MAGFILD=$$FILE^MAGGI11(IMGIEN)
  1. S X=$S(MAGFILD:$G(^MAG(MAGFILD,IMGIEN,0)),1:"")
  1. S G=+$P(X,"^",10) ;Group IEN
  1. S M=$P(X,"^",8) ;Procedure
  1. S:$E(M,1,4)="RAD " M=$E(M,5,$L(M))
  1. Q:M="" ""
  1. S MAGFILG=$$FILE^MAGGI11(G)
  1. S G=$S(MAGFILG:$P($G(^MAG(MAGFILG,G,2)),"^",6),1:"") ;Parent Data File# for Group IEN
  1. S P=$S(MAGFILD:$P($G(^MAG(MAGFILD,IMGIEN,2)),"^",6),1:"") ;Parent Data File# for IEN
  1. I P'=74,G'=74 Q "" ;quit if not RAD/NUC MED REPORTS file (#74)
  1. Q M