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

PSSCLINR.m

Go to the documentation of this file.
  1. PSSCLINR ;;BIR/RTR-API FOR CLINICAL REMINDERS; 21 Jan 08
  1. ;;1.0;PHARMACY DATA MANAGEMENT;**133**;9/30/97;Build 1
  1. ;
  1. ;Return AND or VAC index of File 50
  1. ;PSSCRIX = AND or VAC
  1. ;PSSCRIV = Data value for Index
  1. IX(PSSCRIX,PSSCRIV) ;
  1. I $G(PSSCRIX)'="AND",$G(PSSCRIX)'="VAC" Q
  1. I '$G(PSSCRIV) Q
  1. K ^TMP($J,PSSCRIX,PSSCRIV)
  1. M ^TMP($J,PSSCRIX,PSSCRIV)=^PSDRUG(PSSCRIX,PSSCRIV)
  1. Q
  1. ;
  1. ;Return Drug Name from File 50
  1. ;PSSCLID = File 50 IEN
  1. DRUG(PSSCLID) ;
  1. Q $P($G(^PSDRUG(+$G(PSSCLID),0)),"^")
  1. ;
  1. ;Return Pharmacy Orderable Item Pointer from File 50
  1. ;PSSCLII = File 50 IEN
  1. ITEM(PSSCLII) ;
  1. Q $P($G(^PSDRUG(+$G(PSSCLII),2)),"^")
  1. ;
  1. ING(PSSING) ;Return Drug ingredient Name
  1. Q $P($G(^PS(50.416,PSSING,0)),"^")
  1. IEN(PSSING) ;Return Drug Ingredient IEN
  1. I '$D(^PS(50.416,"B",PSSING)) Q -1
  1. Q $O(^PS(50.416,"B",PSSING,0))
  1. ;
  1. NEPS() ;Return number of entries in PS(55).
  1. N ADD,DA,DA1,DFN,DRUG,IND,NE,SDATE,SOL,STARTD,TEMP
  1. ;DBIA #4181
  1. S (DFN,IND,NE)=0
  1. F S DFN=+$O(^PS(55,DFN)) Q:DFN=0 D
  1. .;Process Unit Dose.
  1. . S DA=0
  1. . F S DA=+$O(^PS(55,DFN,5,DA)) Q:DA=0 D
  1. .. S TEMP=$G(^PS(55,DFN,5,DA,2))
  1. .. S STARTD=$P(TEMP,U,2)
  1. .. I STARTD="" Q
  1. ..;If the order is purged then SDATE is 1.
  1. .. S SDATE=$P(TEMP,U,4)
  1. .. I SDATE=1 Q
  1. .. S DA1=0
  1. .. F S DA1=+$O(^PS(55,DFN,5,DA,1,DA1)) Q:DA1=0 D
  1. ... S DRUG=$P(^PS(55,DFN,5,DA,1,DA1,0),U,1)
  1. ... I DRUG="" Q
  1. ... S NE=NE+1
  1. .;Process the IV mutiple.
  1. . S DA=0
  1. . F S DA=+$O(^PS(55,DFN,"IV",DA)) Q:DA=0 D
  1. .. S TEMP=$G(^PS(55,DFN,"IV",DA,0))
  1. .. S STARTD=$P(TEMP,U,2)
  1. .. I STARTD="" Q
  1. .. S SDATE=$P(TEMP,U,3)
  1. .. I SDATE=1 Q
  1. ..;Process Additives
  1. .. S DA1=0
  1. .. F S DA1=+$O(^PS(55,DFN,"IV",DA,"AD",DA1)) Q:DA1=0 D
  1. ... S ADD=$P(^PS(55,DFN,"IV",DA,"AD",DA1,0),U,1)
  1. ... I ADD="" Q
  1. ... S DRUG=$P($G(^PS(52.6,ADD,0)),U,2)
  1. ... I DRUG="" Q
  1. ... S NE=NE+1
  1. ..;Process Solutions
  1. .. S DA1=0
  1. .. F S DA1=+$O(^PS(55,DFN,"IV",DA,"SOL",DA1)) Q:DA1=0 D
  1. ... S SOL=$P(^PS(55,DFN,"IV",DA,"SOL",DA1,0),U,1)
  1. ... I SOL="" Q
  1. ... S DRUG=$P($G(^PS(52.7,SOL,0)),U,2)
  1. ... I DRUG="" Q
  1. ... S NE=NE+1
  1. Q NE