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

BOPCP2.m

Go to the documentation of this file.
  1. BOPCP2 ;IHS/ILC/ALG/CIA/PLS - ILC Queue Processor;20-Oct-2006 09:50;SM
  1. ;;1.0;AUTOMATED DISPENSING INTERFACE;**1**;Jul 26, 2005
  1. ;
  1. EDIT ;PEP
  1. Q:'$P($G(^BOP(90355,1,2)),U,4)
  1. Q:'$G(PSGORD) Q:'$G(PSGP)
  1. S BOPDFN=PSGP,BOPORDN=+PSGORD
  1. S BOPDIV=$$DIV^BOPCAP() G:'BOPDIV END^BOPCAP
  1. F BOPI=0:0 S BOPI=$O(^PS(55,BOPDFN,5,BOPORDN,1,BOPI)) Q:BOPI<1 D
  1. .D INIT^BOPCAP Q:$G(BOPQ)
  1. .S X=$P($G(^PS(55,BOPDFN,5,BOPORDN,1,BOPI,0)),U,3)
  1. .S BOP(2.1)=$S(X:"DC",1:"NW")
  1. .S BOP(8.2)="" ;Initial Dose
  1. .D ORDER^BOPCAP Q:$G(BOPQ)
  1. .N X S X=$P(BOPX0,U,3)
  1. .S BOP(8.1)=$G(^PS(51.2,+X,0)) ;Med Route
  1. .S BOP(8.1)=$S($L($P(BOP(8.1),U))'>10:$P(BOP(8.1),U),1:$P(BOP(8.1),U,3)) ;DUG 1/30/03
  1. .S BOP(8.3)=$P($G(^PS(55,BOPDFN,5,BOPORDN,0)),U,16)
  1. .S BOP8=BOP(8.1)_U_BOP(8.2)_U_BOP(8.3)
  1. .S ^BOP(90355.1,BOPDA,8)=BOP8
  1. .D FLAG^BOPCAP
  1. G END^BOPCAP
  1. ;
  1. DIAGTXT ; patient free text diag change
  1. Q:'$P($G(^BOP(90355,1,2)),U)
  1. Q:'$P($G(^BOP(90355,1,1)),U,2) ; send free text diag
  1. D GET(3)
  1. G END
  1. ;
  1. ICD9 ; get primary icd9 for patient
  1. N A
  1. Q:'$P($G(^BOP(90355,1,1)),U,3) ; send discharge icd9 primary
  1. S A=$S($D(PTF):PTF,1:DGPTF),B=$G(DFN)
  1. Q:'$P($G(^BOP(90355,1,2)),U)
  1. S A=$G(^DGPT(BOPDPTF,"M",BOPDPTI,0)),A=$P(A,U,5) Q:'A
  1. I $$VERSION^XPDUTL("BCSV") D
  1. .S A=$$ICDDX^ICDCODE(A)
  1. .S BOP14=$P(A,U,2)_U_$P(A,U,4)
  1. E D
  1. .S A=$G(^ICD9(A,0)) Q:'A
  1. .S BOP14=$P(A,U,1)_U_$P(A,U,3)
  1. S BOP14=BOP14_U_$$DT^BOPCAP
  1. D GET(5)
  1. G END
  1. ALLERGY ; patient allergy info change
  1. Q:'$P($G(^BOP(90355,1,2)),U)
  1. D GET(4)
  1. G END
  1. ;
  1. HTWT(BOPHTWT) ; patient height and weight from GMRBOP2
  1. Q:'$P($G(^BOP(90355,1,2)),U)
  1. D GET((BOPHTWT-7))
  1. G END
  1. ;
  1. GET(BOPDO) ; build the various A08 strings
  1. I '$G(DFN) G GETQ
  1. S BOPDFN=DFN D INIT^BOPCAP I $G(BOPQ) G GETQ
  1. S BOPWHO=$$INTFACE^BOPTU(1)
  1. W !,"...updating "_$S(BOPWHO="O":"Omnicell",1:"Pyxis")_" data base..."
  1. D PID^BOPCP,PV1^BOPCP
  1. I BOPDO=1 D OBXH^BOPCP
  1. I BOPDO=2 D OBXW^BOPCP
  1. I BOPDO=3 D DG1^BOPCP I BOP12="" G GETQ
  1. I BOPDO=4 D AL1^BOPCP
  1. N VAIP,VAROOT S VAIP("D")="LAST",VAROOT="BOPVA"
  1. D IN5^VADPT K VAROOT,VAIP("D")
  1. S BOP(.02)="A08" S BOP(.03)=$$DT^BOPCAP
  1. S BOP(.04)="ADT" ;Message Type
  1. S BOP(.21)=BOPDO
  1. S X=$P($G(BOPVA(5)),U) I 'X G GETQ
  1. S BOPDIV=$$DIV^BOPCAP G:'BOPDIV GETQ
  1. ; puts xaction in 90355.1 for xmission
  1. K BOPQ D MSH^BOPCAP G:$G(BOPQ) GETQ D FLAG^BOPCAP
  1. W "done"
  1. GETQ Q
  1. ;
  1. END G END^BOPCAP
  1. ;
  1. TEST W !," XXXX ",!
  1. Q
  1. ;