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

MAGDRA2.m

Go to the documentation of this file.
  1. MAGDRA2 ;WOIFO/LB,JSL,SAF - Routine for DICOM fix ; 13 Jul 2011 10:22 AM
  1. ;;3.0;IMAGING;**10,11,51,54,49,123**;Mar 19, 2002;Build 67;Jul 24, 2012
  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. ; Routine to create the MAGDY variable needed by MAGDLB1 routine when
  1. ; manually correcting DICOM FIX files.
  1. EN ;
  1. ; MAGDY variable to be created during this execution.
  1. N MAGBEG,MAGEND,MAGDFN,MAGOUT,MAGX,MAGXX,INFO,MAGNME,MAGPID
  1. S MAGBEG=1070101,MAGEND=$$DT^XLFDT
  1. READ ;
  1. S (MAGDFN,MAGX)=$$READ^MAGDRA3
  1. Q:MAGX="^"
  1. S MAGDFN=+MAGDFN
  1. I 'MAGDFN W !,"Entry not found, enter a ""^"" to quit." G READ
  1. ;
  1. I MAGX["~" G ONE ;Lookup was on case number and successful
  1. S MAGXX=$$FIND1^DIC(70,"","","`"_MAGDFN) ;Radiology patient
  1. ;
  1. I MAGDFN=MAGXX D
  1. . S INFO=$$PTINFO Q:$D(MAGERR)
  1. . S MAGNME=$P(INFO,"^"),MAGPID=$P(INFO,"^",2)
  1. . K ^TMP($J,"RAE1") ;Re-established by EN1^RA07PC1 -DBIA available
  1. . ; Set the beginning and ending date.
  1. . D EN1^RAO7PC1(MAGDFN,MAGBEG,MAGEND,500)
  1. . D:$D(^TMP($J,"RAE1")) LOOP^MAGDRA1
  1. . Q
  1. E D G:MAGX'="^" READ
  1. . W !,"No Radiology information found for the supplied answer.",$C(7)
  1. . Q
  1. Q
  1. ;
  1. PTINFO() ;
  1. N INFO,MAGOUT
  1. I '$D(MAGDFN) Q ""
  1. I $$ISIHS^MAGSPID() D Q INFO ;P123 - MOD for IHS patients with Health Record Numbers (i.e. Chawktaw)
  1. . N DFN S DFN=MAGDFN,INFO="" D DEM^VADPT
  1. . I $G(VA("PID"))'="" S INFO=$G(VADM(1))_"^"_$TR(VA("PID"),"-")
  1. . E S INFO=$G(VADM(1))_"^"_$P($G(VADM(2)),"^")
  1. . Q
  1. D GETS^DIQ(2,MAGDFN,".01;.09","E","MAGOUT","MAGERR")
  1. I $D(MAGERR) Q ""
  1. I $D(MAGOUT) D Q INFO
  1. . S INFO=$G(MAGOUT(2,MAGDFN_",",.01,"E"))
  1. . S INFO=INFO_"^"_$G(MAGOUT(2,MAGDFN_",",.09,"E"))
  1. . Q
  1. Q ""
  1. ;
  1. LCASE(MAGDT,MAGCASE) ; return the accession number
  1. N ACNUMB,ARESULT
  1. S ACNUMB=$TR($TR($$FMTE^XLFDT(MAGDT,"2FD")," ","0"),"/","")_"-"_MAGCASE
  1. I $$USESSAN^RAHLRU1(),$$ACCFIND^RAAPI(ACNUMB,.ARESULT)>0 D ; ICR 5600
  1. . ; lookup site-specific accession number
  1. . N ACNUMB1,RADFN,RADTI,RACNI
  1. . S RADFN=$P(ARESULT(1),"^",1),RADTI=$P(ARESULT(1),"^",2)
  1. . S RACNI=$P(ARESULT(1),"^",3)
  1. . S ACNUMB1=$$GET1^DIQ(70.03,(RACNI_","_RADTI_","_RADFN),31)
  1. . I ACNUMB1'="" S ACNUMB=ACNUMB1
  1. . Q
  1. Q ACNUMB
  1. ;
  1. IMG(MAGRPT) ;
  1. N INFO,MAGOUT,MAGERR
  1. I 'MAGRPT Q ""
  1. D GETS^DIQ(74,MAGRPT,"2005*","I","MAGOUT","MAGERR")
  1. I $D(MAGERR) Q ""
  1. I $D(MAGOUT(74.02005)) Q " i"
  1. Q ""
  1. ;
  1. PROC(MAGPRC) ;
  1. Q $$FIND1^DIC(71,,"XB",MAGPRC)
  1. ;
  1. ONE ;
  1. ;MAGDFN,MAGX variables expected from EN
  1. I 'MAGDFN,'+MAGX Q
  1. N BEG,CASE,CDATE,CS,DATA,END,FLDS,INFO,MAGCASE,MAGCNI,MAGDATE,MAGDTI
  1. N MAGEXST,MAGLOC,MAGNME,MAGOUT,MAGPIEN,MAGPRC,MAGPSET,MAGPST,MAGRPT
  1. N PP,PSET,RAENTRY,RAMEMLOW,RAPRTSET,RIEN,STAT,X,X1,X2,XX
  1. N RARPT,RADFN,RADTI,RACNI ;<--Variables needed for EN1^RAUTL20
  1. ; RAUTL20 used to retrieve if case is part of a print set.
  1. S MAGDFN=$P(MAGX,"~"),INFO=$$PTINFO
  1. S MAGNME=$P(INFO,"^"),MAGPID=$P(INFO,"^",2)
  1. S RIEN=$P(MAGX,"~",2)_","_$P(MAGX,"~",1)
  1. S BEG=9999999.9999-$P(MAGX,"~",2),END=$$FMADD^XLFDT(BEG,2)
  1. K ^TMP($J,"RAE1")
  1. D EN1^RAO7PC1(MAGDFN,BEG,END,20)
  1. S RAENTRY=$P(MAGX,"~",2)_"-"_$P(MAGX,"~",3)
  1. Q:'$D(^TMP($J,"RAE1"))
  1. Q:'$D(^TMP($J,"RAE1",MAGDFN,RAENTRY))
  1. S DATA=^TMP($J,"RAE1",MAGDFN,RAENTRY)
  1. S MAGDATE=$P(RAENTRY,"-"),CDATE=9999999.9999-MAGDATE
  1. S MAGDATE=$TR($$FMTE^XLFDT(CDATE,"2FD")," ","0")
  1. S MAGPRC=$P(DATA,"^"),CASE=$P(DATA,"^",2),STAT=$P(DATA,"^",6)
  1. S MAGEXST=$P(STAT,"~",2),MAGLOC=$P(DATA,"^",7)
  1. S (MAGRPT,RARPT)=$P(DATA,"^",5)
  1. S (MAGDTI,RADTI)=$P(RAENTRY,"-")
  1. S (MAGCNI,RACNI)=$P(RAENTRY,"-",2),RADFN=MAGDFN
  1. S MAGCASE=$$LCASE(CDATE,CASE),MAGPIEN=$$PROC(MAGPRC)
  1. ; RADTI, RADFN, RACNI variables needed for EN1^RAUTL20
  1. D EN1^RAUTL20
  1. S (PSET,MAGPSET)=""
  1. S PSET=$S(RAMEMLOW:"+",RAPRTSET:".",1:"")
  1. I PSET=".",RACNI>1 D
  1. . N OLDENTRY S OLDENTRY=$P(RAENTRY,"-")_"-"
  1. . S OLDENTRY=$O(^TMP($J,"RAE1",MAGDFN,OLDENTRY)) I $L(OLDENTRY) D
  1. . . S MAGCASE=$P(^TMP($J,"RAE1",MAGDFN,OLDENTRY),"^",2)
  1. . . S CDATE=$P(RAENTRY,"-")
  1. . . S CDATE=9999999.9999-CDATE
  1. . . S MAGCASE=$$LCASE^MAGDRA2(CDATE,MAGCASE),RACNI=$P(OLDENTRY,"-",2)
  1. . . S MAGPST=CASE_" is part of this printset."
  1. . . Q
  1. . Q
  1. I $D(RAPRTSET) S PP=$S(MAGCNI>1:".",MAGCNI=1:"+",1:"")
  1. S MAGCNI=RACNI
  1. W !,"PATIENT: ",MAGNME,?51,$$PIDLABEL^MAGSPID(),": ",MAGPID
  1. W !,"Case No.",?15,"Procedure",?42,"Location",?64,"Exam Date"
  1. W !,"________",?15,"_________",?42,"________________",?64,"________"
  1. W !,$G(PP),CASE,$$IMG(MAGRPT),?15,MAGPRC,?42,MAGLOC,?64,MAGDATE
  1. W !,"Exam status: ",MAGEXST," "," ",$G(MAGPST)
  1. D MAGDY
  1. Q
  1. ;
  1. MAGDY ;
  1. S MAGDY=MAGDFN_"^"_MAGNME_"^"_MAGPID_"^"_MAGCASE_"^"_MAGPRC_"^"_MAGDTI
  1. S MAGDY=MAGDY_"^"_MAGCNI_"^"_MAGPIEN_"^"_$G(MAGPST)_"^"
  1. K MAGNME,MAGPID,MAGCASE,MAGPRC,MAGDTI,MAGCNI,MAGPIEN,MAPST
  1. Q
  1. ;