1 | PSJ0050 ;BIR/JLC - BCMA MED LOG CONVERSION FOR PSJ*5*50;02 May 2001
|
---|
2 | ;;5.0; INPATIENT MEDICATIONS ;**50**;16 DEC 97
|
---|
3 | ;
|
---|
4 | ; Reference to ^PSB(53.79 is supported by DBIA# 3370.
|
---|
5 | ; Reference to ^PSDRUG is supported by DBIA# 2192.
|
---|
6 | ; Reference to ^PS(51.2 is supported by DBIA# 2178.
|
---|
7 | ;
|
---|
8 | Q
|
---|
9 | EN(PSJDFN,PSJORD,PSJCURR,PSJNEW) ;;
|
---|
10 | N S1,S2,ND0,ND1,DA,DR,DIE
|
---|
11 | I '$D(^PSB(53.79,"AOIP",PSJDFN,PSJCURR)) Q ;no administration entries for this orderable item for the specified patient
|
---|
12 | S S1=""
|
---|
13 | F S S1=$O(^PSB(53.79,"AOIP",PSJDFN,PSJCURR,S1)) Q:S1="" D
|
---|
14 | . S S2=""
|
---|
15 | . F S S2=$O(^PSB(53.79,"AOIP",PSJDFN,PSJCURR,S1,S2)) Q:S2="" D
|
---|
16 | . . S ND0=^PSB(53.79,S2,0),ND1=^(.1)
|
---|
17 | . . I +$P(ND1,"^")'=+PSJORD Q ;not the same order number
|
---|
18 | . . I +$P(ND0,"^",8)'=+PSJCURR Q ;not the orderable item we were expecting
|
---|
19 | . . S DIE="^PSB(53.79,",DA=S2,DR=".08////"_PSJNEW D ^DIE
|
---|
20 | Q
|
---|
21 | ;
|
---|
22 | ENIVUD ;Conversion of Pending orders to set UD/IV PROMPT field in 53.1
|
---|
23 | N PSJORD,PSJOTYP,PSJCOI,PSJPDFN,PSJOI,PSJDD,PSJMR,PSJTYP
|
---|
24 | S PSJPDFN=0 F S PSJPDFN=$O(^PS(53.1,"AS","P",PSJPDFN)) Q:'PSJPDFN S PSJORD=0 F S PSJORD=$O(^PS(53.1,"AS","P",PSJPDFN,PSJORD)) Q:'PSJORD D
|
---|
25 | .S PSJOI=+$G(^PS(53.1,PSJORD,.2)),PSJDD=+$G(^PS(53.1,PSJORD,1,1,0)),PSJMR=$P($G(^PS(53.1,PSJORD,0)),U,3),PSJTYP=$P($G(^(0)),U,4) Q:PSJTYP="F"
|
---|
26 | .S:PSJDD>0 PSJPRO=$$ORTYP(PSJMR,PSJDD) S:PSJDD=0 PSJPRO=$$TRYAGAIN(PSJMR,PSJOI)
|
---|
27 | .S $P(^PS(53.1,PSJORD,0),U,13)=PSJPRO
|
---|
28 | Q
|
---|
29 | ORTYP(MDRT,DDRG) ;Entry point to determine order type for 53.1
|
---|
30 | ;MDRT=Med Route from 51.2, DDRG=Dispense Drug
|
---|
31 | Q:'+MDRT Q:'+DDRG
|
---|
32 | S ORTYP=""
|
---|
33 | I $P(^PSDRUG(DDRG,2),"^",3)'["I",$P(^PSDRUG(DDRG,2),"^",3)'["U" S ORTYP="" Q ORTYP
|
---|
34 | I $P(^PSDRUG(DDRG,2),"^",3)["I",$P(^PSDRUG(DDRG,2),"^",3)'["U",$P(^PS(51.2,MDRT,0),"^",6)=1 S ORTYP="" Q ORTYP
|
---|
35 | I $P(^PSDRUG(DDRG,2),"^",3)'["I",$P(^PS(51.2,MDRT,0),"^",6)=1 S ORTYP=1 Q ORTYP
|
---|
36 | I $P(^PSDRUG(DDRG,2),"^",3)["I",$P(^PS(51.2,MDRT,0),"^",6)=1 S ORTYP=1 Q ORTYP
|
---|
37 | I $P(^PSDRUG(DDRG,2),"^",3)["I",$P(^PSDRUG(DDRG,2),"^",3)'["U",$P(^PS(51.2,MDRT,0),"^",6)'=1 S ORTYP=1 Q ORTYP
|
---|
38 | I $P(^PSDRUG(DDRG,2),"^",3)["U",$P(^PSDRUG(DDRG,2),"^",3)'["I",$P(^PS(51.2,MDRT,0),"^",6)'=1 S ORTYP="" Q ORTYP
|
---|
39 | I $P(^PSDRUG(DDRG,2),"^",3)["U",$P(^PS(51.2,MDRT,0),"^",6)'=1 S ORTYP=1 Q ORTYP
|
---|
40 | S ORTYP="" Q ORTYP
|
---|
41 | ;
|
---|
42 | TRYAGAIN(MDRT,OI) ;
|
---|
43 | ;MDRT=Med Route from 51.2, OI=Orderable Item
|
---|
44 | Q:'+MDRT Q:'+OI
|
---|
45 | S ORTYP=""
|
---|
46 | N DDRG S DDRG=0 F S DDRG=$O(^PSDRUG("ASP",OI,DDRG)) Q:'DDRG S ORTYP=$$ORTYP(MDRT,DDRG) Q:ORTYP]""
|
---|
47 | Q ORTYP
|
---|