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

MAGDQR06.m

Go to the documentation of this file.
  1. MAGDQR06 ;WOIFO/EdM,MLH - Imaging RPCs for Query/Retrieve ; 03 Apr 2012 11:26 AM
  1. ;;3.0;IMAGING;**54,66,118,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. Q0080050(TYPE,REQ,V,T,MAGDFN,MAGIEN,MAGRORD,MAGINTERP,SENSEMP,OK) ;R Accession Number
  1. ; sensitive/employee?
  1. I SENSEMP D Q ; yes, scrub
  1. . N WRKDT
  1. . S WRKDT=$$DT^XLFDT
  1. . S V(T)=$E(WRKDT,4,7)_$E(WRKDT,2,3)_"-0000"
  1. . Q
  1. ; no
  1. S V(T)=$G(^TMP("MAG",$J,"ACCESSION"))
  1. Q
  1. ;
  1. Q0200010(TYPE,REQ,V,T,MAGDFN,MAGIEN,MAGRORD,MAGINTERP,SENSEMP,OK) ;R Study ID
  1. ; sensitive/employee?
  1. I SENSEMP D Q ; yes, scrub
  1. . N I S I=$O(REQ(T,"")) S V(T)=$S(I:$S($G(REQ(T,I))]"":REQ(T,I),1:"0"),1:"0")
  1. . Q
  1. ; no
  1. S V(T)=$G(^TMP("MAG",$J,"ACCESSION"))
  1. S V(T)=$P(V(T),"-",$L(V(T),"-")) ; case # or consult # only
  1. Q
  1. ;
  1. Q0080062(TYPE,REQ,V,T,MAGDFN,MAGIEN,MAGRORD,MAGINTERP,SENSEMP,OK) ;O SOP Classes in Study
  1. ; --- probably not supported --- ?
  1. ; ? ? ?
  1. ;;;S:'$$COMPARE^MAGDQR03(T,V(T)) OK=0
  1. Q
  1. ;
  1. Q0080090(TYPE,REQ,V,T,MAGDFN,MAGIEN,MAGRORD,MAGINTERP,SENSEMP,OK) ;O Referring Physician's Name
  1. N IMGTYPE
  1. ; sensitive/employee?
  1. I SENSEMP D Q ; yes, scrub
  1. . S V(T)="IMAGPROVIDER,SENSITIVE"
  1. . Q
  1. ; no
  1. S IMGTYPE=TYPE
  1. D:IMGTYPE="N" FINDTYP(.IMGTYPE,MAGDFN,MAGIEN,.MAGRORD,.MAGINTERP) ; will reset IMGTYPE if successful
  1. D:IMGTYPE="R"
  1. . S X=$P($G(^RADPT(MAGDFN,"DT",MAGRORD,"P",MAGINTERP,0)),"^",14) ; IA # 1172
  1. . S V(T)=$$GET1^DIQ(200,(+X)_",",.01)
  1. . Q
  1. D:IMGTYPE="C"
  1. . N G0
  1. . I MAGIEN="" S V(T)="" Q
  1. . S G0=$$GMRC($G(^TMP("MAG",$J,"ACCESSION")),MAGIEN) I 'G0 S V(T)="" Q
  1. . S V(T)=$$GET1^DIQ(123,G0,10,"E") ; IA # 4110
  1. . Q
  1. ; MLH: do not match per WP 3/25/09
  1. ;;;S:'$$COMPARE^MAGDQR03(T,V(T)) OK=0
  1. Q
  1. ;
  1. Q0081030(TYPE,REQ,V,T,MAGDFN,MAGIEN,MAGRORD,MAGINTERP,SENSEMP,OK) ;O Study Description
  1. ; sensitive/employee?
  1. I SENSEMP D Q ; yes, scrub
  1. . N I S I=$O(REQ(T,"")) S:I V(T)=$S($G(REQ(T,I))]"":REQ(T,I),1:"")
  1. . Q
  1. ; no
  1. S V(T)=$$STYDESC2^MAGUE001(TYPE,MAGIEN)
  1. S:'$$COMPARE^MAGDQR03(T,V(T)) OK=0
  1. Q
  1. ;
  1. Q0080100(TYPE,REQ,V,T,MAGDFN,MAGIEN,MAGRORD,MAGINTERP,SENSEMP,OK) ;O >Code Value
  1. N IMGTYPE
  1. S IMGTYPE=TYPE
  1. D:IMGTYPE="N" FINDTYP(.IMGTYPE,MAGDFN,MAGIEN,.MAGRORD,.MAGINTERP) ; will reset IMGTYPE if successful
  1. D:IMGTYPE="R"
  1. . S X=$P($G(^RADPT(MAGDFN,"DT",MAGRORD,"P",MAGINTERP,0)),"^",2) ; IA # 1172
  1. . S X=$P($G(^RAMIS(71,+X,0)),"^",9) ; IA # 1174
  1. . S X=$$CPT^ICPTCOD(+X) ; IA # 1995, supported reference
  1. . S V("0008,1030",1,T)=$P(X,"^",2)
  1. . Q
  1. D:IMGTYPE="C"
  1. . N G0
  1. . I MAGIEN="" S V(T)="" Q
  1. . S G0=$$GMRC($G(^TMP("MAG",$J,"ACCESSION")),MAGIEN) I 'G0 S V(T)="" Q
  1. . S V(T)=$$GET1^DIQ(123,G0,4,"I") ; IA # 4110
  1. . Q
  1. Q
  1. ;
  1. Q0080104(TYPE,REQ,V,T,MAGDFN,MAGIEN,MAGRORD,MAGINTERP,SENSEMP,OK) ;O >Code Meaning
  1. N IMGTYPE
  1. S IMGTYPE=TYPE
  1. D:IMGTYPE="N" FINDTYP(.IMGTYPE,MAGDFN,MAGIEN,.MAGRORD,.MAGINTERP) ; will reset IMGTYPE if successful
  1. D:IMGTYPE="R"
  1. . N X
  1. . S X=$P($G(^RADPT(MAGDFN,"DT",MAGRORD,"P",MAGINTERP,0)),"^",2) ; IA # 1172
  1. . S X=$P($G(^RAMIS(71,+X,0)),"^",9) ; IA # 1174
  1. . S X=$$CPT^ICPTCOD(+X) ; IA # 1995, supported reference
  1. . S V("0008,1030",1,T)=$P(X,"^",3)
  1. . Q
  1. D:IMGTYPE="C"
  1. . N G0
  1. . I MAGIEN="" S V(T)="" Q
  1. . S G0=$$GMRC($G(^TMP("MAG",$J,"ACCESSION")),MAGIEN) I 'G0 S V(T)="" Q
  1. . S V(T)=$$GET1^DIQ(123,G0,4,"E") ; IA # 4110
  1. . Q
  1. Q
  1. ;
  1. Q0081060(TYPE,REQ,V,T,MAGDFN,MAGIEN,MAGRORD,MAGINTERP,SENSEMP,OK) ;O Name of Physician(s) Reading Study
  1. I SENSEMP D Q ; yes, scrub
  1. . S V(T)="IMAGPROVIDER,SENSITIVE"
  1. . Q
  1. ; no
  1. N IMGTYPE
  1. S IMGTYPE=TYPE
  1. D:IMGTYPE="N" FINDTYP(.IMGTYPE,MAGDFN,MAGIEN,.MAGRORD,.MAGINTERP) ; will reset IMGTYPE if successful
  1. D:IMGTYPE="R"
  1. . N X
  1. . S X=$P($G(^RADPT(MAGDFN,"DT",MAGRORD,"P",MAGINTERP,0)),"^",17) ; IA # 1172
  1. . S X=$P($G(^RARPT(+X,0)),"^",9) ; IA # 1171
  1. . S V(T)=$$GET1^DIQ(200,(+X)_",",.01)
  1. . Q
  1. Q:IMGTYPE="C"
  1. ; MLH: do not match per WP 3/25/09
  1. ;;;S:'$$COMPARE^MAGDQR03(T,V(T)) OK=0
  1. Q
  1. ;
  1. Q0081080(TYPE,REQ,V,T,MAGDFN,MAGIEN,MAGRORD,MAGINTERP,SENSEMP,OK) ;O Admitting Diagnosis Description
  1. ; ? ? ?
  1. ;;;S:'$$COMPARE^MAGDQR03(T,V(T)) OK=0
  1. Q
  1. ;
  1. Q01021B0(TYPE,REQ,V,T,MAGDFN,MAGIEN,MAGRORD,MAGINTERP,SENSEMP,OK) ;O Additional Patient History
  1. ; sensitive/employee?
  1. I SENSEMP D Q ; yes, scrub
  1. . N I S I=$O(REQ(T,"")) S:I V(T)=$S($G(REQ(T,I))]"":REQ(T,I),1:"")
  1. . Q
  1. ; no
  1. N D1,I,T0,X,IMGTYPE
  1. N IMGTYPE
  1. S IMGTYPE=TYPE
  1. D:IMGTYPE="N" FINDTYP(.IMGTYPE,MAGDFN,MAGIEN,.MAGRORD,.MAGINTERP) ; will reset IMGTYPE if successful
  1. Q:IMGTYPE="R"
  1. D:IMGTYPE="C"
  1. . S V(T)="",TIUIX=$$TIUIX(IMGTYPE,MAGIEN)
  1. . D:TIUIX
  1. . . S X=$P($G(^TIU(8925,TIUIX,15)),"^",2) ; Signed By field
  1. . . S:X X=$$GET1^DIQ(200,(+X)_",",.01)
  1. . . S V(T)=X
  1. . . Q
  1. . Q
  1. S:'$$COMPARE^MAGDQR03(T,V(T)) OK=0
  1. Q
  1. ;
  1. Q0104000(TYPE,REQ,V,T,MAGDFN,MAGIEN,MAGRORD,MAGINTERP,SENSEMP,OK) ;O Patient Comments
  1. ; ? ? ?
  1. ; (there is a modality that passes the accession number in this field)
  1. ;;;S:'$$COMPARE^MAGDQR03(T,V(T)) OK=0
  1. Q
  1. ;
  1. U008010C(TYPE,REQ,V,T,MAGDFN,MAGIEN,MAGRORD,MAGINTERP,SENSEMP,OK) ;O Interpretation Author
  1. N X,IMGTYPE
  1. I SENSEMP D Q ; yes, scrub
  1. . S V(T)="IMAGPROVIDER,SENSITIVE"
  1. . Q
  1. ; no
  1. N IMGTYPE
  1. S IMGTYPE=TYPE
  1. D:IMGTYPE="N" FINDTYP(.IMGTYPE,MAGDFN,MAGIEN,.MAGRORD,.MAGINTERP) ; will reset IMGTYPE if successful
  1. D:IMGTYPE="R"
  1. . S X=+$P($G(^RADPT(MAGDFN,"DT",MAGRORD,"P",MAGINTERP,0)),"^",12) ; IA # 1172
  1. . S V(T)=$$GET1^DIQ(200,(+X)_",",.01)
  1. . Q
  1. D:IMGTYPE="C"
  1. . N TIUIX
  1. . S V(T)="",TIUIX=$$TIUIX(IMGTYPE,MAGIEN)
  1. . D:TIUIX
  1. . . S X=$P($G(^TIU(8925,TIUIX,15)),"^",2) ; Signed By field
  1. . . S:X X=$$GET1^DIQ(200,(+X)_",",.01)
  1. . . S V(T)=X
  1. . . Q
  1. . Q
  1. ; MLH: do not match per WP 3/25/09
  1. ;;;S:'$$COMPARE^MAGDQR03(T,V(T)) OK=0
  1. Q
  1. ;
  1. GMRC(ACCNUM,IMAGE) ; Return consult number for image
  1. N X
  1. D ; perform appropriate lookup for old / new database structure
  1. . N G0,T0
  1. . S G0=$$GMRCIEN^MAGDFCNV($G(ACCNUM)) I G0 S X=G0 Q
  1. . S TIUIX=$$TIUIX(TYPE,IMAGE) I 'TIUIX S X=0 Q
  1. . S X=$P($G(^TIU(8925,TIUIX,14)),"^",5) I X'[";GMR(123," S X=0 Q
  1. . S X=0 ; unresolvable IEN
  1. . Q
  1. Q +X
  1. ;
  1. TIUIX(TYPE,STUDYIX) ; FUNCTION - find the TIU note index corresponding to a study's procedure
  1. ; perform appropriate lookup for old / new database structure
  1. D:TYPE'="N" ; old structure
  1. . N X
  1. . S X=$G(^MAG(2005,STUDYIX,2))
  1. . S:$P(X,"^",6)=8925 TIUIX=+$P(X,"^",7)
  1. . Q
  1. D:TYPE="N" ; new structure
  1. . N PROCIX
  1. . S PROCIX=$P($G(^MAGV(2005.62,STUDYIX,6)),"^",1) Q:'PROCIX
  1. . S:$P($G(^MAGV(2005.61,PROCIX,0)),"^",3)="TIU" TIUIX=$P(^(0),"^",1)
  1. . Q
  1. Q $G(TIUIX)
  1. ;
  1. FINDTYP(IMGTYPE,MAGDFN,MAGIEN,MAGRORD,MAGINTERP) ; find type of image on new DB
  1. ; if found, will reset IMGTYPE for further processing
  1. N PROCIX,PROCREC,PROCTYP,PROCIDNT
  1. S PROCIX=$$PROCIX^MAGUE005(MAGIEN) Q:'PROCIX
  1. S PROCREC=$G(^MAGV(2005.61,PROCIX,0)) Q:PROCREC=""
  1. S PROCTYP=$P(PROCREC,"^",3),PROCIDNT=$P(PROCREC,"^",1)
  1. I PROCTYP="RAD" D Q
  1. . N ACCARY,I
  1. . S I=$$ACCFIND^RAAPI(PROCIDNT,.ACCARY)
  1. . S I=""
  1. . F S I=$O(ACCARY(I)) Q:'I I $P(ACCARY(I),"^",1)=MAGDFN Q
  1. . I I S MAGRORD=$P(ACCARY(I),"^",2),MAGINTERP=$P(ACCARY(I),"^",3)
  1. . S IMGTYPE="R"
  1. . Q
  1. I PROCTYP="CON" D Q
  1. . S IMGTYPE="C"
  1. . Q
  1. Q