[613] | 1 | ORQOR1 ; slc/CLA - Functions which return order information ;12/15/97 [ 04/02/97 3:01 PM ]
|
---|
| 2 | ;;3.0;ORDER ENTRY/RESULTS REPORTING;**78,127,242**;Dec 17, 1997;Build 6
|
---|
| 3 | LIST(ORY,PATIENT,GROUP,FLAG,ORSDT,OREDT,ORXREF,GETKID) ;return list of patient orders
|
---|
| 4 | ; return PATIENT's orders for a display GROUP of type FLAG
|
---|
| 5 | ; between start (ORSDT) and end dates (OREDT)
|
---|
| 6 | ; dates can be in Fileman or T, T-14 formats
|
---|
| 7 | N GIEN S GIEN=""
|
---|
| 8 | I $L($G(ORSDT)) D DT^DILF("T",ORSDT,.ORSDT,"","")
|
---|
| 9 | I $L($G(OREDT)) D DT^DILF("T",OREDT,.OREDT,"","")
|
---|
| 10 | I (ORSDT=-1)!(OREDT=-1) S ORY(1)="^Error in date range." Q
|
---|
| 11 | S PATIENT=PATIENT_";DPT("
|
---|
| 12 | S:$L($G(GROUP)) GIEN=$O(^ORD(100.98,"B",GROUP,GIEN))
|
---|
| 13 | K ^TMP("ORR",$J)
|
---|
| 14 | D EN^ORQ1(PATIENT,GIEN,FLAG,"",ORSDT,OREDT,1,0,$G(ORXREF),$G(GETKID))
|
---|
| 15 | N J,HOR,SEQ,X S J=1,HOR=0,SEQ=0
|
---|
| 16 | S HOR=$O(^TMP("ORR",$J,HOR)) Q:+HOR<1
|
---|
| 17 | F S SEQ=$O(^TMP("ORR",$J,HOR,SEQ)) Q:+SEQ<1 D
|
---|
| 18 | .S X=^TMP("ORR",$J,HOR,SEQ)
|
---|
| 19 | .S ORY(J)=$P(X,U)_U_$E(^TMP("ORR",$J,HOR,SEQ,"TX",1),1,60)_U_$P(X,U,4)_U_$P(X,U,6),J=J+1
|
---|
| 20 | K ^TMP("ORR",$J)
|
---|
| 21 | S:+$G(ORY(1))<1 ORY(1)="^No orders found."
|
---|
| 22 | Q
|
---|
| 23 | STATI(ORY) ; return stati from ORDER STATUS file [#100.01]
|
---|
| 24 | N STATUS,IEN,I S STATUS="",IEN=0,I=1
|
---|
| 25 | F S STATUS=$O(^ORD(100.01,"B",STATUS)) Q:STATUS="" D
|
---|
| 26 | .S IEN=$O(^ORD(100.01,"B",STATUS,IEN))
|
---|
| 27 | .Q:$$SCREEN^XTID(100.01,,IEN_",") ;inactive VUID
|
---|
| 28 | .S ORY(I)=IEN_"^"_STATUS,IEN=0,I=I+1
|
---|
| 29 | Q
|
---|
| 30 | DG(DGNAME) ; extrinsic function returns display group ien
|
---|
| 31 | Q:'$L($G(DGNAME)) ""
|
---|
| 32 | N DGIEN S DGIEN=0
|
---|
| 33 | S DGIEN=$O(^ORD(100.98,"B",DGNAME,DGIEN))
|
---|
| 34 | Q +$G(DGIEN)
|
---|
| 35 | OI(OINAME) ; extrinsic function returns orderable item ien
|
---|
| 36 | Q:'$L($G(OINAME)) ""
|
---|
| 37 | N OI S OI=""
|
---|
| 38 | S OI=$O(^ORD(101.43,"B",OINAME,OI))
|
---|
| 39 | Q +$G(OI)
|
---|
| 40 | TEXTSTAT(ORNUM) ;extrinsic function returns the first 200 chars of order text
|
---|
| 41 | ;and order status in format: <order text>^<order status>
|
---|
| 42 | ;ORNUM - order number (main order number - $P(ORNUM,";",1))
|
---|
| 43 | S ORNUM=+ORNUM
|
---|
| 44 | Q:'$L($G(ORNUM)) ""
|
---|
| 45 | Q:'$L($G(^OR(100,ORNUM,0))) ""
|
---|
| 46 | N ORSTATUS,ORY
|
---|
| 47 | D TEXT^ORQ12(.ORY,ORNUM,200)
|
---|
| 48 | Q:+$G(ORY)<1 "Order text not found.^"
|
---|
| 49 | S ORSTATUS=$P(^OR(100,ORNUM,3),U,3)
|
---|
| 50 | S ORSTATUS=$G(^ORD(100.01,+ORSTATUS,0))
|
---|
| 51 | S ORSTATUS=$P(ORSTATUS,U)
|
---|
| 52 | Q ORY(1)_U_ORSTATUS
|
---|
| 53 | FULLTEXT(ORNUM) ;extrinsic function returns the full text of an order
|
---|
| 54 | ;and order status in format: <order text>^<order status>
|
---|
| 55 | ;ORNUM - order number (main order number - $P(ORNUM,";",1))
|
---|
| 56 | N ORX,ORTXT
|
---|
| 57 | S ORTXT=""
|
---|
| 58 | S ORNUM=+ORNUM
|
---|
| 59 | Q:'$L($G(ORNUM)) ""
|
---|
| 60 | Q:'$L($G(^OR(100,ORNUM,0))) ""
|
---|
| 61 | N ORSTATUS,ORY
|
---|
| 62 | D TEXT^ORQ12(.ORY,ORNUM,"")
|
---|
| 63 | Q:+$G(ORY)<1 "Order text not found.^"
|
---|
| 64 | S:ORY>2 ORY=2 ;only display first two lines of text
|
---|
| 65 | F ORX=1:1:ORY S ORTXT=ORTXT_ORY(ORX)_" "
|
---|
| 66 | S ORSTATUS=$P(^OR(100,ORNUM,3),U,3)
|
---|
| 67 | S ORSTATUS=$G(^ORD(100.01,+ORSTATUS,0))
|
---|
| 68 | S ORSTATUS=$P(ORSTATUS,U)
|
---|
| 69 | Q ORTXT_U_ORSTATUS
|
---|