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

ORDV06.m

Go to the documentation of this file.
  1. ORDV06 ; SLC/DCM - OE/RR Report Extracts ;Dec 02, 2021@12:46:52
  1. ;;3.0;ORDER ENTRY RESULTS REPORTING;**109,118,167,208,215,274,243,312,405**;Dec 17, 1997;Build 211
  1. ;Pharmacy Extracts
  1. RXA(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ;Active Outpatient Pharmacy
  1. ;Call to PSOHCSUM
  1. ;
  1. I $L($T(GCPR^OMGCOAS1)) D ; Call if FHIE station 200
  1. . N BEG,END,MAX
  1. . S BEG=0,END=9999999,MAX=9999
  1. . D GCPR^OMGCOAS1(DFN,"RXA",BEG,END,MAX)
  1. ;
  1. N ORRXSTAT,GO,PSOACT
  1. Q:'$L(OREXT)
  1. S GO=$P(OREXT,";")_"^"_$P(OREXT,";",2)
  1. Q:'$L($T(@GO))
  1. ;COMMENTED OUT THE NEXT LINE OF V32 CODE FOR NEXT LINE OF PAPI CODE
  1. ;S PSOACT=1,ORRXSTAT="^ACTIVE^ACTIVE/SUSP^"
  1. S PSOACT=1,ORRXSTAT="^ACTIVE^ACTIVE/SUSP^ACTIVE/PARKED^" ;PAPI MODIFIED CODE
  1. D GET(0,9999999)
  1. Q
  1. RXOP(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ;All Outpatient Pharmacy
  1. ;Call to PSOHCSUM
  1. I $L($T(GCPR^OMGCOAS1)) D ; Call if FHIE station 200
  1. . D GCPR^OMGCOAS1(DFN,"RXOP",ORDBEG,ORDEND,9999)
  1. N ORRXSTAT,GO
  1. K PSOACT
  1. Q:'$L(OREXT)
  1. S GO=$P(OREXT,";")_"^"_$P(OREXT,";",2)
  1. Q:'$L($T(@GO))
  1. S ORRXSTAT=""
  1. D GET(ORDBEG,ORDEND)
  1. Q
  1. GET(ORSTDT,OREDDT) ;
  1. N J,ORDT,ORI,ORDRGIEN,ORDRG,ORRXNO,ORSTAT,ORQTY,OREXP,ORISSUE,ORLAST,ORREF,ORPRVD,ORCOST,ORSIG
  1. N ECD,GMR,GMW,IX,PSOBEGIN,GMTSNDM,GMTS1,GMTS2,ORSITE,SITE
  1. S ORSITE=$$SITE^VASITE,ORSITE=$P(ORSITE,"^",2)_";"_$P(ORSITE,"^",3)
  1. S PSOBEGIN=ORSTDT
  1. K ^TMP("ORDATA",$J)
  1. I '$L($T(GCPR^OMGCOAS1)) D
  1. . K ^TMP("PSOO",$J)
  1. . D @GO
  1. S ORI=0,ORDT=$S(OREDDT\1<DT:9999999-(OREDDT\1),1:0)
  1. F S ORDT=$O(^TMP("PSOO",$J,ORDT)) Q:(ORDT'>0) S ORX0=$G(^(ORDT,0)) I ORX0'="" D
  1. . I $L(ORRXSTAT),ORRXSTAT'[(U_$P($P(ORX0,U,5),";",2)) Q ;Check status
  1. . S ORI=ORI+1
  1. . S SITE=$S($L($G(^TMP("PSOO",$J,ORDT,"facility"))):^("facility"),1:ORSITE)
  1. . S ^TMP("ORDATA",$J,ORDT,ORI,"WP",1)="1^"_SITE ;Station ID
  1. . S ^TMP("ORDATA",$J,ORDT,ORI,"WP",2)="2^"_$P($P(ORX0,U,3),";",2) ;Drug Name
  1. . S ^TMP("ORDATA",$J,ORDT,ORI,"WP",3)="3^"_$P($P(ORX0,U,3),";") ;Drug IEN
  1. . S ^TMP("ORDATA",$J,ORDT,ORI,"WP",4)="4^"_$P(ORX0,U,6) ;RX #
  1. . S ^TMP("ORDATA",$J,ORDT,ORI,"WP",5)="5^"_$P($P(ORX0,U,5),";",2) ;Status
  1. . S ^TMP("ORDATA",$J,ORDT,ORI,"WP",6)="6^"_$P(ORX0,U,7) ;Quantity
  1. . S ^TMP("ORDATA",$J,ORDT,ORI,"WP",7)="7^"_$$DATE^ORDVU($P(ORX0,U,11)) ;Exp/Cancel Date
  1. . S ^TMP("ORDATA",$J,ORDT,ORI,"WP",8)="8^"_$$DATE^ORDVU($P(ORX0,U)) ;Issue Date
  1. . S ^TMP("ORDATA",$J,ORDT,ORI,"WP",9)="9^"_$$DATE^ORDVU($P(ORX0,U,2)) ;Last Fill Date
  1. . S ^TMP("ORDATA",$J,ORDT,ORI,"WP",10)="10^"_$P(ORX0,U,8) ;#Refills
  1. . S ^TMP("ORDATA",$J,ORDT,ORI,"WP",11)="11^"_$P($P(ORX0,U,4),";",2) ;Provider
  1. . S ^TMP("ORDATA",$J,ORDT,ORI,"WP",12)="12^"_$P(ORX0,U,10) ;Cost-fill
  1. . S ^TMP("ORDATA",$J,ORDT,ORI,"WP",15)="15^"_$P(ORX0,U,9) ;PharmID
  1. . S ^TMP("ORDATA",$J,ORDT,ORI,"WP",16)="16^"_$P(ORX0,U,11) ;Order Number
  1. . S J=0
  1. . F S J=$O(^TMP("PSOO",$J,ORDT,J)) Q:'J D
  1. ..S X=^(J,0),^TMP("ORDATA",$J,ORDT,ORI,"WP",14,J)="14^"_X
  1. K ^TMP("PSOO",$J)
  1. S ROOT=$NA(^TMP("ORDATA",$J))
  1. Q
  1. RXAV(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ;Active IV Pharmacy
  1. ;Call to ENHS^PSJEEU0
  1. N ORIVSTAT,GO
  1. Q:'$L(OREXT)
  1. S GO=$P(OREXT,";")_"^"_$P(OREXT,";",2)
  1. Q:'$L($T(@GO))
  1. S ORIVSTAT="^ACTIVE^"
  1. D GET1
  1. Q
  1. RXIV(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ;All IV Pharmcy
  1. ;Call to ENHS^PSJEEU0
  1. N ORIVSTAT,GO
  1. Q:'$L(OREXT)
  1. S GO=$P(OREXT,";")_"^"_$P(OREXT,";",2)
  1. Q:'$L($T(@GO))
  1. S ORIVSTAT=""
  1. D GET1
  1. Q
  1. GET1 ;
  1. N ORDT,ORI,ORX0,ORIDRG,ORDRGIEN,ORDRG,ORDOSE,ORREC,ORSTAT,ORSTRTDT,ORSTOPDT,ORROUT,ORSIG,ORWII,ORMORE
  1. N GMI,GMTSIDT,MAX,ON,PS,PSIVREA,PSJEDT,PSJNKF,PSJPFWD,TN,GMTSNDM,GMTS1,GMTS2,ORSITE,SITE
  1. S ORSITE=$$SITE^VASITE,ORSITE=$P(ORSITE,"^",2)_";"_$P(ORSITE,"^",3)
  1. S PSJEDT=1,PSJNKF=1
  1. K ^TMP("ORDATA",$J),^UTILITY("PSG",$J),^UTILITY("PSIV",$J)
  1. D @GO
  1. S ORDT=-9999999,ORI=0
  1. F S ORDT=$O(^UTILITY("PSIV",$J,ORDT)) Q:(ORDT="") S ORX0=$G(^(ORDT,0)) I ORX0'="" D
  1. . I $L(ORIVSTAT),ORIVSTAT'[(U_$P($P(ORX0,U,4),";",2)_U) Q ;Check status
  1. . S ORI=ORI+1
  1. . S ORMORE=0,SITE=$S($L($G(^UTILITY("PSIV",$J,ORDT,"facility"))):^("facility"),1:ORSITE)
  1. . S ^TMP("ORDATA",$J,ORDT,ORI,"WP",1)="1^"_SITE ;Station ID
  1. . S ^TMP("ORDATA",$J,ORDT,ORI,"WP",6)="6^"_$$DATE^ORDVU($P(ORX0,U)) ;Start Date
  1. . S ^TMP("ORDATA",$J,ORDT,ORI,"WP",7)="7^"_$$DATE^ORDVU($P(ORX0,U,2)) ;Stop Date
  1. . S ^TMP("ORDATA",$J,ORDT,ORI,"WP",4)="4^"_$P(ORX0,U,5) ;Rate
  1. . S ^TMP("ORDATA",$J,ORDT,ORI,"WP",5)="5^"_$P(ORX0,U,6) ;Schedule JEH
  1. . S ORIDRG=0
  1. . F S ORIDRG=$O(^UTILITY("PSIV",$J,ORDT,"A",ORIDRG)) Q:'ORIDRG S ORREC=$G(^(ORIDRG)) S:ORIDRG>1 ORMORE=1 D ;Additives
  1. .. S ^TMP("ORDATA",$J,ORDT,ORI,"WP",2,ORIDRG)="2^"_$P($P(ORREC,U),";",2)_" "_$P(ORREC,U,2) ;Additive Dose
  1. . S ORIDRG=0
  1. . F S ORIDRG=$O(^UTILITY("PSIV",$J,ORDT,"S",ORIDRG)) Q:'ORIDRG S ORREC=$G(^(ORIDRG)) S:ORIDRG>1 ORMORE=1 D ;Solutions
  1. .. S ^TMP("ORDATA",$J,ORDT,ORI,"WP",3,ORIDRG)="3^"_$P($P(ORREC,U),";",2)_" "_$P(ORREC,U,2) ;Solution Dose
  1. . I ORMORE S ^TMP("ORDATA",$J,ORDT,ORI,"WP",8)="8^[+]" ;flag for detail
  1. K ^UTILITY("PSG",$J),^UTILITY("PSIV",$J)
  1. S ROOT=$NA(^TMP("ORDATA",$J))
  1. Q
  1. RXUD(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ;Get Unit Dose Pharmacy Component
  1. ;Call to ENHS^PSJEEU0
  1. N J,ORDT,ORI,ORX0,ORDRGIEN,ORDRG,ORDOSE,ORSTAT,ORSTRTDT,ORSTOPDT,ORROUT,ORSIG,GO
  1. N GMI,IX,MAX,ON,PS,PSIVREA,PSJEDT,PSJNKF,PSJPFWD,GMR,TN,UDS,GMTSNDM,GMTS1,GMTS2,ORSITE,SITE
  1. Q:'$L(OREXT)
  1. S GO=$P(OREXT,";")_"^"_$P(OREXT,";",2)
  1. Q:'$L($T(@GO))
  1. S ORSITE=$$SITE^VASITE,ORSITE=$P(ORSITE,"^",2)_";"_$P(ORSITE,"^",3)
  1. S PSJEDT=1,PSJNKF=1
  1. K ^TMP("ORDATA",$J),^UTILITY("PSG",$J),^UTILITY("PSIV",$J)
  1. D @GO
  1. S ORDT=-9999999,ORI=0
  1. F S ORDT=$O(^UTILITY("PSG",$J,ORDT)) Q:(ORDT="") S ORX0=$G(^(ORDT)) I ORX0'="" D
  1. . S SITE=$S($L($G(^UTILITY("PSG",$J,ORDT,"facility"))):^("facility"),1:ORSITE)
  1. . S ORI=ORI+1
  1. . S ^TMP("ORDATA",$J,ORDT,ORI,"WP",1)="1^"_SITE ;Station ID
  1. . S ^TMP("ORDATA",$J,ORDT,ORI,"WP",2)="2^"_$P($P(ORX0,U,3),":") ;DRUG IEN
  1. . S ^TMP("ORDATA",$J,ORDT,ORI,"WP",3)="3^"_$P($P(ORX0,U,3),";",2) ;Drug Name
  1. . S ^TMP("ORDATA",$J,ORDT,ORI,"WP",4)="4^"_$P(ORX0,U,6) ;Dose
  1. . S ^TMP("ORDATA",$J,ORDT,ORI,"WP",5)="5^"_$P($P(ORX0,U,5),";",2) ;Status
  1. . S ^TMP("ORDATA",$J,ORDT,ORI,"WP",6)="6^"_$$DATE^ORDVU($P(ORX0,U)) ;START Date
  1. . S ^TMP("ORDATA",$J,ORDT,ORI,"WP",7)="7^"_$$DATE^ORDVU($P(ORX0,U,2)) ;Stop Date
  1. . S ^TMP("ORDATA",$J,ORDT,ORI,"WP",8)="8^"_$P($P(ORX0,U,7),";",3) ;Route
  1. . S ^TMP("ORDATA",$J,ORDT,ORI,"WP",9)="9^"_$P(ORX0,U,8) ;SIG
  1. K ^UTILITY("PSG",$J),^UTILITY("PSIV",$J)
  1. S ROOT=$NA(^TMP("ORDATA",$J))
  1. Q