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

PSSCKOS.m

Go to the documentation of this file.
  1. PSSCKOS ;BP/AGV - Returns order status for OP pharmacy using the CK option ;12/14/12
  1. ;;1.0;PHARMACY DATA MANAGEMENT;**175**;9/30/97;Build 9
  1. ;
  1. ; @Author - Alberto Vargas
  1. ; @Date - December 14, 2012
  1. ; @Version - 1.0
  1. ; @CCRs - 5828, 6450, 6600
  1. ;
  1. THOSTAT(DRG,THR,TCTR) ;**Add order status to THERAPY order check messages while using the hidden CK option
  1. NEW DRGN,PSOSTA,PSONM,PSOPON,PSOCFLG,PSOFLG SET DRGN="",PSOSTA="",PSONM="",PSOPON="",PSOCFLG="",PSOFLG=""
  1. ;**Retrieve and extract associated order number
  1. SET DRGN=DRG,PSOPON=$P($G(^TMP($J,LIST,"OUT","THERAPY",THR,"DRUGS",TCTR)),U,1),PSOCFLG=$P(PSOPON,";",1),PSOPON=$P(PSOPON,";",2)
  1. ;**Check for a clinic order
  1. IF PSOCFLG["C" SET DRGN=DRG_" (Clinic order)" Q DRGN
  1. ;**Order through PSOSD array to retrieve associated order statuses from patient's profile
  1. FOR SET PSOSTA=$O(PSOSD(PSOSTA)) Q:(PSOSTA="")!($G(PSOFLG)) D
  1. .IF '$D(PSOSD(PSOSTA,DRG)),DRG=PSODRUG("NAME") SET DRGN=DRG_" (Prospective)",PSOFLG=1
  1. .FOR SET PSONM=$O(PSOSD(PSOSTA,PSONM)) Q:(PSONM="")!($G(PSOFLG)) D
  1. ..IF DRG=$P(PSONM,U,1) D
  1. ...IF PSOSTA="ACTIVE",PSOPON=$P(PSOSD(PSOSTA,PSONM),U,1) SET DRGN=DRG_" (Local Rx)",PSOFLG=1
  1. ...IF PSOSTA="ZNONVA",PSOPON=$P(PSOSD(PSOSTA,PSONM),U,10) SET DRGN=DRG_" (Non-VA)",PSOFLG=1
  1. ...IF PSOSTA="DISCONTINUED",PSOPON=$P(PSOSD(PSOSTA,PSONM),U,1) SET DRGN=DRG_" (Discontinued)",PSOFLG=1
  1. ...IF PSOSTA="PENDING",PSOPON=$P(PSOSD(PSOSTA,PSONM),U,10) SET DRGN=DRG_" (Pending)",PSOFLG=1
  1. Q DRGN
  1. ;
  1. OSTAT(DRG,ON) ;**Add order status to DRUG order check messages while using the hidden CK option
  1. NEW DRGN,PSOSTA,PSONM,PSOPON,PSOCFLG,PSOFLG SET DRGN="",PSOSTA="",PSONM="",PSOPON="",PSOCFLG="",PSOFLG=""
  1. ;**Retrieve and extract associated order number
  1. SET DRGN=DRG,PSOCFLG=$P(ON,";",1),PSOPON=$P(ON,";",2)
  1. ;**Check for a clinic order
  1. IF PSOCFLG["C" SET DRGN=DRG_" (Clinic order)" Q DRGN
  1. ;**Order through PSOSD array to retrieve associated order statuses from patient's profile
  1. FOR SET PSOSTA=$O(PSOSD(PSOSTA)) Q:(PSOSTA="")!($G(PSOFLG)) D
  1. .IF '$D(PSOSD(PSOSTA,DRG)),DRG=PSODRUG("NAME") SET DRGN=DRG_" (Prospective)",PSOFLG=1
  1. .FOR SET PSONM=$O(PSOSD(PSOSTA,PSONM)) Q:(PSONM="")!($G(PSOFLG)) D
  1. ..IF DRG=$P(PSONM,U,1) D
  1. ...IF PSOSTA="ACTIVE",PSOPON=$P(PSOSD(PSOSTA,PSONM),U,1) SET DRGN=DRG_" (Local Rx)",PSOFLG=1
  1. ...IF PSOSTA="ZNONVA",PSOPON=$P(PSOSD(PSOSTA,PSONM),U,10) SET DRGN=DRG_" (Non-VA)",PSOFLG=1
  1. ...IF PSOSTA="PENDING",PSOPON=$P(PSOSD(PSOSTA,PSONM),U,10) SET DRGN=DRG_" (Pending)",PSOFLG=1
  1. Q DRGN
  1. ;
  1. POSTAT(DRG,PDRG,SV,ON,CT) ;**Add order status to PDRUG order check messages while using the hidden CK option
  1. NEW PDRGN,PSOSTA,PSONM,PSOPON,PSOCFLG,PSOFLG SET PDRGN="",PSOSTA="",PSONM="",PSOPON="",PSOCFLG="",PSOFLG=""
  1. ;**Retrieve and extract associated order number
  1. SET PDRGN=PDRG,PSOPON=$P($G(^TMP($J,LIST,"OUT","DRUGDRUG",SV,DRG,ON,CT)),U,1),PSOCFLG=$P(PSOPON,";",1),PSOPON=$P(PSOPON,";",2)
  1. ;**Check for a clinic order
  1. IF PSOCFLG["C" SET PDRGN=PDRG_" (Clinic order)" Q PDRGN
  1. ;**Order through PSOSD array to retrieve associated order statuses from patient's profile
  1. FOR SET PSOSTA=$O(PSOSD(PSOSTA)) Q:(PSOSTA="")!($G(PSOFLG)) D
  1. .IF '$D(PSOSD(PSOSTA,PDRG)),PDRG=PSODRUG("NAME") SET PDRGN=PDRG_" (Prospective)",PSOFLG=1
  1. .FOR SET PSONM=$O(PSOSD(PSOSTA,PSONM)) Q:(PSONM="")!($G(PSOFLG)) D
  1. ..IF PDRG=$P(PSONM,U,1) D
  1. ...IF PSOSTA="ACTIVE",PSOPON=$P(PSOSD(PSOSTA,PSONM),U,1) SET PDRGN=PDRG_" (Local Rx)",PSOFLG=1
  1. ...IF PSOSTA="ZNONVA",PSOPON=$P(PSOSD(PSOSTA,PSONM),U,10) SET PDRGN=PDRG_" (Non-VA)",PSOFLG=1
  1. ...IF PSOSTA="PENDING",PSOPON=$P(PSOSD(PSOSTA,PSONM),U,10) SET PDRGN=PDRG_" (Pending)",PSOFLG=1
  1. Q PDRGN