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

ORDV08.m

Go to the documentation of this file.
  1. ORDV08 ;DAN/SLC Testing new component ;8/22/01 11:30
  1. ;;3.0;ORDER ENTRY/RESULTS REPORTING;**109,120,243**;Dec 17,1997;Build 242
  1. ;
  1. RIM(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ;Radiology report
  1. ;External Calls: MAIN^GMTSRAE(2),RPT^ORWRA
  1. N ORX0,ORCNT,ORSITE,SITE,GO,ORMORE,ORROOT
  1. Q:'$L(OREXT)
  1. S GO=$P(OREXT,";")_"^"_$P(OREXT,";",2)
  1. Q:'$L($T(@GO))
  1. K ^TMP("ORDATA",$J),^TMP("ORXPND",$J)
  1. S ORSITE=$$SITE^VASITE,ORSITE=$P(ORSITE,"^",2)_";"_$P(ORSITE,"^",3)
  1. D @GO
  1. S ORCNT=0
  1. F S ORCNT=$O(^TMP($J,"ORAEXAMS",ORCNT)) Q:'ORCNT D
  1. . S ORMORE=0
  1. . S ORX0=$G(^TMP($J,"ORAEXAMS",ORCNT))
  1. . D RPT^ORWRA(.ORROOT,DFN,$P(ORX0,U))
  1. . S SITE=$S($L($G(^TMP($J,"ORAEXAMS",ORCNT,"facility"))):^("facility"),1:ORSITE)
  1. . S ^TMP("ORDATA",$J,ORCNT,"WP",1)="1^"_SITE ;Site ID
  1. . S ^TMP("ORDATA",$J,ORCNT,"WP",2)="2^"_$$DATE^ORDVU($P(ORX0,U,2)) ;date
  1. . S ^TMP("ORDATA",$J,ORCNT,"WP",3)="3^"_$P(ORX0,U,3) ;procedure
  1. . S ^TMP("ORDATA",$J,ORCNT,"WP",4)="4^"_$P(ORX0,U,5) ;report status
  1. . S ^TMP("ORDATA",$J,ORCNT,"WP",5)="5^"_$P(ORX0,U,4) ;Case #
  1. . I $O(^TMP("ORXPND",$J,0)) S ORMORE=1 D SPMRG^ORDVU($NA(^TMP("ORXPND",$J)),$NA(^TMP("ORDATA",$J,ORCNT,"WP",6,1)),6) ;clinical history
  1. . I ORMORE S ^TMP("ORDATA",$J,ORCNT,"WP",7)="7^[+]" ;flag for detail
  1. . S ^TMP("ORDATA",$J,ORCNT,"WP",8)="8^"_$P(ORX0,U,14) ;Image available
  1. . S ^TMP("ORDATA",$J,ORCNT,"WP",9)="9^"_"i"_$P(ORX0,U,1) ;EXAM ID
  1. K ^TMP("RAE",$J),^TMP("ORXPND",$J)
  1. S ROOT=$NA(^TMP("ORDATA",$J))
  1. Q
  1. ;
  1. IGET ;Get imaging exams
  1. N ORROOT,ORRADATA,I,ID
  1. S ORRADATA=$NA(^TMP($J,"RAE1",DFN))
  1. S ORROOT=$NA(^TMP($J,"ORAEXAMS"))
  1. K @ORRADATA,@ORROOT
  1. D EN1^RAO7PC1(DFN,ORDBEG,ORDEND,ORMAX) ;call to Radiology to get exams
  1. S I=0,ID=""
  1. F S ID=$O(@ORRADATA@(ID)) Q:ID="" D
  1. . S I=I+1
  1. . S @ORROOT@(I)=ID_U_(9999999.9999-ID)_U_@ORRADATA@(ID)
  1. K @ORRADATA
  1. Q
  1. ;
  1. MPRO(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ;Medicine Procedures
  1. N ORSITE,ORI,ORREC,ORMORE,ORDATE,SITE,ORARRAY,ORPROC,ORSUM
  1. Q:'$L(OREXT)
  1. S GO=$P(OREXT,";")_"^"_$P(OREXT,";",2)
  1. Q:'$L($T(@GO))
  1. K ^TMP("ORDATA",$J),^TMP("ORTEMP",$J),^TMP("MCAR",$J)
  1. S ORSITE=$$SITE^VASITE,ORSITE=$P(ORSITE,"^",2)_";"_$P(ORSITE,"^",3)
  1. D @GO
  1. S ORI=0
  1. F S ORI=$O(^TMP("MCAR",$J,ORI)) Q:'ORI!(ORI>ORMAX) D
  1. .K ^TMP("ORTEMP",$J) D GETREC^ORDV08A(ORI,80,20,56,3)
  1. .S SITE=$S($L($G(^TMP("MCAR",$J,ORI,"facility"))):^("facility"),1:ORSITE)
  1. .S ^TMP("ORDATA",$J,ORI,"WP",1)="1^"_SITE ;Site ID
  1. .S ^TMP("ORDATA",$J,ORI,"WP",2)="2^"_$$DATEMMM^ORDVU(ORDATE) ;Procedure date/time
  1. .S ^TMP("ORDATA",$J,ORI,"WP",3)="3^"_ORPROC ;Procedure Name
  1. .S ^TMP("ORDATA",$J,ORI,"WP",4)="4^"_$S(ORSUM'="":ORSUM,1:"No Summary") ;Summary
  1. .I $D(^TMP("ORTEMP",$J)) S ORMORE=1 D SPMRG^ORDVU($NA(^TMP("ORTEMP",$J)),$NA(^TMP("ORDATA",$J,ORI,"WP",5,1)),5) ;Detailed Report
  1. .I ORMORE S ^TMP("ORDATA",$J,ORI,"WP",6)="6^[+]" ;Detailed report flag
  1. .Q
  1. K ^TMP("ORTEMP",$J),^TMP("MCAR",$J)
  1. S ROOT=$NA(^TMP("ORDATA",$J))
  1. Q
  1. MGET ;Get medicine results
  1. D HSUM^GMTSMCMA(DFN,ORDBEG,ORDEND,ORMAX,"","F")
  1. Q
  1. DIETNS(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ;Nutrition assessment
  1. ;External Calls:SITE^VASITE, NUTR^ORWRP1, LISTNUTR^ORWPR1,FMTE^XLFDT
  1. N ORSITE,ORARRAY,ORID,ORCNT,ORMORE,GO,ORDT
  1. Q:'$L(OREXT)
  1. S GO=$P(OREXT,";")_"^"_$P(OREXT,";",2)
  1. Q:'$L($T(@GO))
  1. K ^TMP("ORDATA",$J),^TMP("ORXPND",$J)
  1. S ORSITE=$$SITE^VASITE,ORSITE=$P(ORSITE,"^",2)_";"_$P(ORSITE,"^",3)
  1. D @GO
  1. S ORCNT=0,ORDT=OROMEGA
  1. F S ORDT=$O(^TMP($J,"FHADT",DFN,ORDT)) Q:(ORDT'>0)!(ORDT>ORALPHA)!(ORCNT>ORMAX) D
  1. . S ORID=$$FMTE^XLFDT(9999999-ORDT,2) ;convert inverse date to external date
  1. . S ORCNT=ORCNT+1,ORMORE=0
  1. . D NUTR^ORWRP1(.ORARRAY,DFN,ORID)
  1. . S ORSITE=$S($L($G(^TMP($J,"FHADT",ORDT,"facility"))):^("facility"),1:ORSITE)
  1. . S ^TMP("ORDATA",$J,ORCNT,"WP",1)="1^"_ORSITE ;Site ID
  1. . S ^TMP("ORDATA",$J,ORCNT,"WP",2)="2^"_ORID ;assessment date/time
  1. . I $O(^TMP("ORXPND",$J,0)) S ORMORE=1 D SPMRG^ORDVU($NA(^TMP("ORXPND",$J)),$NA(^TMP("ORDATA",$J,ORCNT,"WP",3,1)),3) ;assessment report
  1. . I ORMORE S ^TMP("ORDATA",$J,ORCNT,"WP",4)="4^[+]" ;flag for detail
  1. K ^TMP($J,"FHADT"),^TMP("ORXPND",$J)
  1. S ROOT=$NA(^TMP("ORDATA",$J))
  1. Q
  1. ;
  1. GETNS ;Get nutritional assessments
  1. D LISTNUTR^ORWRP1(.ORARRAY,DFN)
  1. Q