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

ORDV02.m

Go to the documentation of this file.
  1. ORDV02 ;SLC/DCM - OE/RR REPORT EXTRACTS ;03/17/2015 10:24
  1. ;;3.0;ORDER ENTRY/RESULTS REPORTING;**109,118,146,141,208,318,350**;Dec 17, 1997;Build 77
  1. ;LAB Components
  1. LO(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ; Lab Order Component
  1. ;External calls to ^GMTSLROE
  1. ;
  1. I $L($T(GCPR^OMGCOAS1)) D ; Call if FHIE station 200
  1. . N BEG,END,MAX
  1. . Q:'$G(ORALPHA) Q:'$G(OROMEGA)
  1. . S MAX=$S(+$G(ORMAX)>0:ORMAX,1:999)
  1. . S BEG=9999999-OROMEGA,END=9999999-ORALPHA
  1. . D GCPR^OMGCOAS1(DFN,"LRO",BEG,END,MAX)
  1. ;
  1. N D,SN,ORX0,MAX,GMTS1,GMTS2,GMTSBEG,GMTSEND,ORSITE,SITE,GO
  1. Q:'$L(OREXT)
  1. S GO=$P(OREXT,";")_"^"_$P(OREXT,";",2)
  1. Q:'$L($T(@GO))
  1. S MAX=$S(+$G(ORMAX)>0:ORMAX,1:999),GMTS1=OROMEGA,GMTS2=ORALPHA,GMTSBEG=ORDBEG,GMTSEND=ORDEND
  1. S ORSITE=$$SITE^VASITE,ORSITE=$P(ORSITE,"^",2)_";"_$P(ORSITE,"^",3)
  1. K ^TMP("ORDATA",$J)
  1. I '$L($T(GCPR^OMGCOAS1)) D
  1. . K ^TMP("LRO",$J),^TMP("ORTXT",$J)
  1. . D @GO
  1. S (CTR,D)=0
  1. F S D=$O(^TMP("LRO",$J,D)) Q:'D D
  1. . S SN=0
  1. . F S SN=$O(^TMP("LRO",$J,D,SN)) Q:'SN S ORX0=^(SN) I $L(ORX0) D
  1. .. S SITE=$S($L($G(^TMP("LRO",$J,D,SN,"facility"))):^("facility"),1:ORSITE)
  1. .. S ^TMP("ORDATA",$J,D,SN,"WP",1)="1^"_SITE ;Station ID
  1. .. S ^TMP("ORDATA",$J,D,SN,"WP",2)="2^"_$P(ORX0,U) ;collection date
  1. .. S ^TMP("ORDATA",$J,D,SN,"WP",3)="3^"_$P($P(ORX0,U,2),";",2) ;test name
  1. .. S ^TMP("ORDATA",$J,D,SN,"WP",4)="4^"_$P($P(ORX0,U,2),";") ;test ien
  1. .. S ^TMP("ORDATA",$J,D,SN,"WP",5)="5^"_$P($P(ORX0,U,3),";",2) ;specimen name
  1. .. S ^TMP("ORDATA",$J,D,SN,"WP",6)="6^"_$P($P(ORX0,U,3),";") ;specimen ien
  1. .. S ^TMP("ORDATA",$J,D,SN,"WP",7)="7^"_$P(ORX0,U,4) ;urgency
  1. .. S ^TMP("ORDATA",$J,D,SN,"WP",8)="8^"_$P($P(ORX0,U,6),";",2) ;provider name
  1. .. S ^TMP("ORDATA",$J,D,SN,"WP",9)="9^"_$P($P(ORX0,U,6),";") ;provider ien
  1. .. S ^TMP("ORDATA",$J,D,SN,"WP",10)="10^"_$P(ORX0,U,7) ;order date/time
  1. .. S ^TMP("ORDATA",$J,D,SN,"WP",11)="11^"_$P(ORX0,U,8) ;accession number
  1. .. S ^TMP("ORDATA",$J,D,SN,"WP",12)="12^"_$P(ORX0,U,9) ;available date/time
  1. .. S ^TMP("ORDATA",$J,D,SN,"WP",13)="13^"_$P(ORX0,U,5) ;status
  1. K ^TMP("LRO",$J),^TMP("ORTXT",$J),^TMP("ORSORT",$J),^TMP("ORXPND",$J)
  1. S ROOT=$NA(^TMP("ORDATA",$J))
  1. Q
  1. CH(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ;Chemistry/Hematology
  1. ;External references to ^DPT(DFN,"LR"),^LR(LRDFN, ^GMTSLRCE
  1. ;
  1. I $L($T(GCPR^OMGCOAS1)) D ; Call if FHIE station 200
  1. . N BEG,END,MAX
  1. . Q:'$G(ORALPHA) Q:'$G(OROMEGA)
  1. . S MAX=$S(+$G(ORMAX)>0:ORMAX,1:999)
  1. . S BEG=9999999-OROMEGA,END=9999999-ORALPHA
  1. . D GCPR^OMGCOAS1(DFN,"LRC",BEG,END,MAX)
  1. ;
  1. N CTR,ORI,TST,PC,ORX0,GMCFLAG,GMCMNT,GMW,IX0,IX,LRDFN,CNT,PTR,MAX,GMTS1,GMTS2,GMTSAGE,ORSITE,SEX,SITE,GO,VA,VAIN,VAERR,VAIN,VADM
  1. Q:'$L(OREXT)
  1. S GO=$P(OREXT,";")_"^"_$P(OREXT,";",2)
  1. Q:'$L($T(@GO))
  1. S LRDFN=+$G(^DPT(DFN,"LR"))
  1. I GO["GMTSLRCE" Q:'LRDFN
  1. D OERR^VADPT
  1. S GMTSAGE=$S(+VADM(4)>0:+VADM(4),1:99),SEX=$P(VADM(5),"^")
  1. S MAX=$S(+$G(ORMAX)>0:ORMAX,1:999),GMTS1=OROMEGA,GMTS2=ORALPHA
  1. S ORSITE=$$SITE^VASITE,ORSITE=$P(ORSITE,"^",2)_";"_$P(ORSITE,"^",3)
  1. K ^TMP("ORDATA",$J)
  1. I '$L($T(GCPR^OMGCOAS1)) D
  1. . K ^TMP("LRC",$J)
  1. . D @GO
  1. S CTR=0,ORI=GMTS1
  1. F S ORI=$O(^TMP("LRC",$J,ORI)) Q:'ORI!(ORI>GMTS2) D
  1. . S TST=""
  1. . F S TST=$O(^TMP("LRC",$J,ORI,TST)) Q:TST="" D
  1. .. I TST S ORX0=$G(^TMP("LRC",$J,ORI,TST)) Q:ORX0="" D
  1. ... S SITE=$S($L($G(^TMP("LRC",$J,ORI,TST,"facility"))):^("facility"),1:ORSITE)
  1. ... S ^TMP("ORDATA",$J,ORI,TST,"WP",1)="1^"_SITE ;Station ID
  1. ... S ^TMP("ORDATA",$J,ORI,TST,"WP",2)="2^"_$P(ORX0,U) ;collection date
  1. ... S ^TMP("ORDATA",$J,ORI,TST,"WP",3)="3^"_$P(ORX0,U,3) ;test name
  1. ... S ^TMP("ORDATA",$J,ORI,TST,"WP",4)="4^"_$P(ORX0,U,2) ;specimen
  1. ... S ^TMP("ORDATA",$J,ORI,TST,"WP",5)="5^"_$P(ORX0,U,4) ;result
  1. ... S ^TMP("ORDATA",$J,ORI,TST,"WP",6)="6^"_$P(ORX0,U,5) ;indicator
  1. ... S ^TMP("ORDATA",$J,ORI,TST,"WP",7)="7^"_$P(ORX0,U,6) ;units
  1. ... S ^TMP("ORDATA",$J,ORI,TST,"WP",8)="8^"_$P(ORX0,U,7) ;ref low
  1. ... S ^TMP("ORDATA",$J,ORI,TST,"WP",9)="9^"_$P(ORX0,U,8) ;ref high
  1. ... D SPMRG^ORDVU("^TMP(""LRC"","_$J_","_ORI_",""C"")","^TMP(""ORDATA"","_$J_","_ORI_","_TST_",""WP"",10)",10) ;comments
  1. ... I $O(^TMP("LRC",$J,ORI,"C",0)) S ^TMP("ORDATA",$J,ORI,TST,"WP",11)="11^[+]" ;flag for details
  1. .. S CTR=CTR+1
  1. K ^TMP("LRC",$J)
  1. S ROOT=$NA(^TMP("ORDATA",$J))
  1. Q
  1. SP(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ;Surgical Pathology
  1. ;External references to ^DPT(DFN,"LR"), ^GMTSLRAE,
  1. ;
  1. I $L($T(GCPR^OMGCOAS1)) D ; Call if FHIE station 200
  1. . N BEG,END,MAX
  1. . Q:'$G(ORALPHA) Q:'$G(OROMEGA)
  1. . S MAX=$S(+$G(ORMAX)>0:ORMAX,1:999)
  1. . S BEG=9999999-OROMEGA,END=9999999-ORALPHA
  1. . D GCPR^OMGCOAS1(DFN,"SP",BEG,END,MAX)
  1. ;
  1. N ORDT,ORX0,ORCNT,GMI,MAX,LRDFN,IX,X,IX0,GMTS1,GMTS2,ORSITE,SITE,GO
  1. Q:'$L(OREXT)
  1. S GO=$P(OREXT,";")_"^"_$P(OREXT,";",2)
  1. Q:'$L($T(@GO))
  1. S LRDFN=+$G(^DPT(DFN,"LR"))
  1. I GO["GMTSLRAE" Q:'LRDFN
  1. S MAX=$S(+$G(ORMAX)>0:ORMAX,1:999),GMTS1=OROMEGA,GMTS2=ORALPHA
  1. S ORSITE=$$SITE^VASITE,ORSITE=$P(ORSITE,"^",2)_";"_$P(ORSITE,"^",3)
  1. K ^TMP("ORDATA",$J)
  1. I '$L($T(GCPR^OMGCOAS1)) D
  1. . K ^TMP("LRA",$J)
  1. . D @GO
  1. S ORDT=GMTS1,ORCNT=0
  1. F S ORDT=$O(^TMP("LRA",$J,ORDT)) Q:(ORDT'>0)!(ORDT>GMTS2) S ORX0=^(ORDT,0) D
  1. . S SITE=$S($L($G(^TMP("LRA",$J,ORDT,"facility"))):^("facility"),1:ORSITE)
  1. . S ^TMP("ORDATA",$J,ORDT,"WP",1)="1^"_SITE ;Station ID
  1. . S ^TMP("ORDATA",$J,ORDT,"WP",2)="2^"_$P(ORX0,U) ;collection date
  1. . S ^TMP("ORDATA",$J,ORDT,"WP",4)="4^"_$P(ORX0,U,2) ;accession number
  1. . D SPMRG^ORDVU("^TMP(""LRA"","_$J_","_ORDT_",.1)","^TMP(""ORDATA"","_$J_","_ORDT_",""WP"",3)",3) ;specimen
  1. . D SPMRG^ORDVU("^TMP(""LRA"","_$J_","_ORDT_",.2)","^TMP(""ORDATA"","_$J_","_ORDT_",""WP"",5)",5) ;brief Clinical Hx
  1. . D SPMRG^ORDVU("^TMP(""LRA"","_$J_","_ORDT_",1)","^TMP(""ORDATA"","_$J_","_ORDT_",""WP"",6)",6) ;gross Description
  1. . D SPMRG^ORDVU("^TMP(""LRA"","_$J_","_ORDT_",1.1)","^TMP(""ORDATA"","_$J_","_ORDT_",""WP"",7)",7) ;microscopic Exam
  1. . I $D(^TMP("LRA",$J,ORDT,1.2,1,0)) S X=^(0) D
  1. .. S ^TMP("LRA",$J,ORDT,1.2,1,0)=$$DATE^ORDVU(X)
  1. .. D SPMRG^ORDVU("^TMP(""LRA"","_$J_","_ORDT_",1.2)","^TMP(""ORDATA"","_$J_","_ORDT_",""WP"",8)",8) ;supplemetary Report
  1. . D SPMRG^ORDVU("^TMP(""LRA"","_$J_","_ORDT_",1.3)","^TMP(""ORDATA"","_$J_","_ORDT_",""WP"",9)",9) ;frozen Section
  1. . D SPMRG^ORDVU("^TMP(""LRA"","_$J_","_ORDT_",1.4)","^TMP(""ORDATA"","_$J_","_ORDT_",""WP"",10)",10) ;surgical path Dx
  1. . S ^TMP("ORDATA",$J,ORDT,"WP",11)="11^[+]" ;flag for detail
  1. K ^TMP("LRA",$J)
  1. S ROOT=$NA(^TMP("ORDATA",$J))
  1. Q
  1. CY(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ;Cytopathology
  1. ;External references to ^DPT(DFN,"LR"), ^GMTSLRPE
  1. ;
  1. I $L($T(GCPR^OMGCOAS1)) D ; Call if FHIE station 200
  1. . N BEG,END,MAX
  1. . Q:'$G(ORALPHA) Q:'$G(OROMEGA)
  1. . S MAX=$S(+$G(ORMAX)>0:ORMAX,1:999)
  1. . S BEG=9999999-OROMEGA,END=9999999-ORALPHA
  1. . D GCPR^OMGCOAS1(DFN,"CY",BEG,END,MAX)
  1. ;
  1. N ORDT,ORX0,GMI,IX0,MAX,LRDFN,IX,GMTS1,GMTS2,ORSITE,SITE,GO,ORMORE
  1. Q:'$L(OREXT)
  1. S GO=$P(OREXT,";")_"^"_$P(OREXT,";",2)
  1. Q:'$L($T(@GO))
  1. S LRDFN=+$G(^DPT(DFN,"LR"))
  1. I GO["GMTSLRPE" Q:'LRDFN
  1. S MAX=$S(+$G(ORMAX)>0:ORMAX,1:999),GMTS1=OROMEGA,GMTS2=ORALPHA
  1. S ORSITE=$$SITE^VASITE,ORSITE=$P(ORSITE,"^",2)_";"_$P(ORSITE,"^",3)
  1. K ^TMP("ORDATA",$J)
  1. I '$L($T(GCPR^OMGCOAS1)) D
  1. . K ^TMP("LRCY",$J)
  1. . D @GO
  1. S ORDT=GMTS1,ORSITE=$$SITE^VASITE,ORSITE=$P(ORSITE,"^",2)_";"_$P(ORSITE,"^",3)
  1. F S ORDT=$O(^TMP("LRCY",$J,ORDT)) Q:(ORDT'>0)!(ORDT>GMTS2) S ORX0=$G(^(ORDT,0)) D
  1. . S ORMORE=0,SITE=$S($L($G(^TMP("LRCY",$J,ORDT,"facility"))):^("facility"),1:ORSITE)
  1. . S ^TMP("ORDATA",$J,ORDT,"WP",1)="1^"_SITE ;Station ID
  1. . S ^TMP("ORDATA",$J,ORDT,"WP",2)="2^"_$P(ORX0,U) ;collection date
  1. . S ^TMP("ORDATA",$J,ORDT,"WP",5)="5^"_$P(ORX0,U,2) ;accession number
  1. . S ^TMP("ORDATA",$J,ORDT,"WP",4)="4^"_$$DATE^ORDVU($P($G(^TMP("LRCY",$J,ORDT,1)),U,2)) ;report release date
  1. . I $O(^TMP("LRCY",$J,ORDT,1,0)) S ORMORE=1 D SPMRG^ORDVU("^TMP(""LRCY"","_$J_","_ORDT_",1)","^TMP(""ORDATA"","_$J_","_ORDT_",""WP"",3)",3) ;specimen
  1. . I $O(^TMP("LRCY",$J,ORDT,"AH",0)) S ORMORE=1 D SPMRG^ORDVU("^TMP(""LRCY"","_$J_","_ORDT_",""AH"")","^TMP(""ORDATA"","_$J_","_ORDT_",""WP"",6)",6) ;brief Clinical Hx
  1. . I $O(^TMP("LRCY",$J,ORDT,"G",0)) S ORMORE=1 D SPMRG^ORDVU("^TMP(""LRCY"","_$J_","_ORDT_",""G"")","^TMP(""ORDATA"","_$J_","_ORDT_",""WP"",7)",7) ;gross Description
  1. . I $O(^TMP("LRCY",$J,ORDT,"MI",0)) S ORMORE=1 D SPMRG^ORDVU("^TMP(""LRCY"","_$J_","_ORDT_",""MI"")","^TMP(""ORDATA"","_$J_","_ORDT_",""WP"",8)",8) ;microscopic Exam
  1. . I $O(^TMP("LRCY",$J,ORDT,"NDX",0)) S ORMORE=1 D SPMRG^ORDVU("^TMP(""LRCY"","_$J_","_ORDT_",""NDX"")","^TMP(""ORDATA"","_$J_","_ORDT_",""WP"",9)",9) ;cythopathology DX
  1. . I $O(^TMP("LRCY",$J,ORDT,"SR",0)) S ORMORE=1 D SPMRG^ORDVU("^TMP(""LRCY"","_$J_","_ORDT_",""SR"")","^TMP(""ORDATA"","_$J_","_ORDT_",""WP"",10)",10) ;supplemetary Report
  1. . I ORMORE S ^TMP("ORDATA",$J,ORDT,"WP",11)="11^[+]" ;flag for detail
  1. K ^TMP("LRCY",$J)
  1. S ROOT=$NA(^TMP("ORDATA",$J))
  1. Q