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

PSBOPM1.m

Go to the documentation of this file.
  1. PSBOPM1 ;BIRMINGHAM/BSR-BCMA OIT HISTORY API ;Oct 2005
  1. ;;3.0;BAR CODE MED ADMIN;**17**;Mar 2004;Build 1
  1. ;;Per VHA Directive 2004-038, this routine should not be modified.
  1. ;
  1. ; Reference/IA
  1. ; FILE 53.79
  1. ; X-REF AOIP
  1. ; X-REF AOIP3
  1. ; X-REF AOIP4
  1. ;
  1. ;
  1. GETORD(PSBORDNM) ;
  1. N XA,NDE
  1. S PSBORD=0,XA=PSBORDNM,PSBDT="",NDE=.1
  1. Q:PSBORDNM="" PSBORD
  1. Q:'$D(^PSB(53.79,"AOIP",DFN,XA)) PSBORD
  1. F S PSBDT=$O(^PSB(53.79,"AOIP",DFN,XA,PSBDT)) Q:PSBDT="" D
  1. .S PSBIEN="" F S PSBIEN=$O(^PSB(53.79,"AOIP",DFN,XA,PSBDT,PSBIEN)) Q:PSBIEN="" D
  1. ..Q:$P($G(^PSB(53.79,PSBIEN,0)),U,9)="N"
  1. ..Q:'$D(^PSB(53.79,PSBIEN,NDE))
  1. ..S PSBORD=$P(^PSB(53.79,PSBIEN,NDE),U)
  1. ..I PSBORD S PSBORDNM=PSBORD
  1. ..S:'PSBORD!(PSBORD="") PSBORD=0,TMP("PSBOIS",$J,XA)=""
  1. Q PSBORD
  1. ;
  1. FINDIENS ; USE PSBOIS,PSBADDS AND PSBSOLS TO FIND ALL IENS FOR THE RPT
  1. ;SEARCH FOR UNIT DOSE IENS
  1. I $D(TMP("PSBOIS",$J)) S XA="" F S XA=$O(TMP("PSBOIS",$J,XA)) Q:XA="" D
  1. .S PSBDT="" F S PSBDT=$O(^PSB(53.79,"AOIP",DFN,XA,PSBDT)) Q:PSBDT="" D
  1. ..Q:PSBDT>PSBSTOP
  1. ..Q:PSBDT<PSBSTRT
  1. ..S PSBIEN="" F S PSBIEN=$O(^PSB(53.79,"AOIP",DFN,XA,PSBDT,PSBIEN)) Q:PSBIEN="" D
  1. ...Q:$P(^PSB(53.79,PSBIEN,0),U,9)="N"
  1. ...S TMP("PSBIENS",$J,"UD",$$GET1^DIQ(53.79,PSBIEN_",",.06,"I"),PSBIEN)=""
  1. ;
  1. ;SEARCH FOR ADDITIVES
  1. I $D(TMP("PSBADDS",$J)) S XA="" F S XA=$O(TMP("PSBADDS",$J,XA)) Q:XA="" D
  1. .S PSBIEN="" F S PSBIEN=$O(^PSB(53.79,"AOIP3",DFN,PSBIEN)) Q:PSBIEN="" D
  1. ..S XB="" F S XB=$O(^PSB(53.79,"AOIP3",DFN,PSBIEN,XB)) Q:XB="" D
  1. ...Q:XB'=XA
  1. ...Q:$P(^PSB(53.79,PSBIEN,0),U,9)="N"
  1. ...I $P(^PSB(53.79,PSBIEN,0),"^",6)>PSBSTRT,$P(^PSB(53.79,PSBIEN,0),"^",6)<PSBSTOP D
  1. ....S TMP("PSBIENS",$J,"ADD",$$GET1^DIQ(53.79,PSBIEN_",",.06,"I"),PSBIEN)=""
  1. ....S TMP("PSBADDS",$J,XA)=1
  1. ;
  1. ;SEARCH FOR SOLUTIONS
  1. I $D(TMP("PSBSOLS",$J)) S XA="" F S XA=$O(TMP("PSBSOLS",$J,XA)) Q:XA="" D
  1. .S PSBIEN="" F S PSBIEN=$O(^PSB(53.79,"AOIP4",DFN,PSBIEN)) Q:PSBIEN="" D
  1. ..S XB="" F S XB=$O(^PSB(53.79,"AOIP4",DFN,PSBIEN,XB)) Q:XB="" D
  1. ...Q:XB'=XA
  1. ...Q:$P(^PSB(53.79,PSBIEN,0),U,9)="N"
  1. ...I $P(^PSB(53.79,PSBIEN,0),"^",6)>PSBSTRT,$P(^PSB(53.79,PSBIEN,0),"^",6)<PSBSTOP D
  1. ....S TMP("PSBIENS",$J,"SOL",$$GET1^DIQ(53.79,PSBIEN_",",.06,"I"),PSBIEN)=""
  1. ....S TMP("PSBSOLS",$J,XA)=1
  1. Q
  1. ;