1 | ORMBLDP1 ;SLC/MKB-Build outgoing Pharmacy ORM msgs ;05/09/2007
|
---|
2 | ;;3.0;ORDER ENTRY/RESULTS REPORTING;**243**;Dec 17, 1997;Build 242
|
---|
3 | ;
|
---|
4 | MOB(ORIEN,DFN) ;
|
---|
5 | N IVTYPE,NODE,NUM,TYPE
|
---|
6 | S IVTYPE=""
|
---|
7 | D MOB^PSBAPIPM(DFN,ORIEN)
|
---|
8 | S NODE=$G(^TMP("PSB",$J,0)) I NODE=-1 Q IVTYPE
|
---|
9 | S TYPE=$P(NODE,U,3)
|
---|
10 | S NUM=+$P(NODE,U,4)
|
---|
11 | I TYPE="A" S IVTYPE="C" Q IVTYPE
|
---|
12 | I TYPE="P" S IVTYPE="I" Q IVTYPE
|
---|
13 | I TYPE="S",NUM=0 S IVTYPE="C" Q IVTYPE
|
---|
14 | I TYPE="S",NUM=1 S IVTYPE="I" Q IVTYPE
|
---|
15 | Q IVTYPE
|
---|
16 | ;
|
---|
17 | HL7IVLMT(STR) ;
|
---|
18 | N LEN,VAL,UNIT,IVLMT,TVAL
|
---|
19 | S (UNIT,IVLMT)="",VAL=0
|
---|
20 | I $E($$LOW^XLFSTR(STR))="f" D
|
---|
21 | . I STR["for a total of" D Q
|
---|
22 | . .S VAL=$P(STR," ",5)
|
---|
23 | . .S UNIT=$P(STR," ",6)
|
---|
24 | . S VAL=$P(STR," ",2)
|
---|
25 | . S UNIT=$E($P(STR," ",3))
|
---|
26 | I $E($$LOW^XLFSTR(STR))="w" D
|
---|
27 | . S TVAL=$P(STR," ",4) ;pull data in total example 0.5ml
|
---|
28 | . S VAL=+TVAL ;this will strip out leading zero and alpha 00.5L becomes .5 or 05.5 becomes 5.5
|
---|
29 | . S LEN=$F(TVAL,VAL) ;get length up to alphas or trailing zeros
|
---|
30 | . I $P(VAL,".")="" S VAL=0_VAL ;make sure decimal values have only one leading zero .5 becomes 0.5.
|
---|
31 | . F S UNIT=$E(TVAL,LEN) Q:((UNIT'=0)&(UNIT'=".")) D ;get first alpha m or l
|
---|
32 | . . S LEN=LEN+1
|
---|
33 | I $L(UNIT),$L(VAL) S IVLMT=$$LOW^XLFSTR(UNIT)_VAL
|
---|
34 | Q IVLMT
|
---|