| 1 | ORRHCO ; SLC/KCM - CPRS Query Tools - Orders ; [4/4/02 2:07pm]
 | 
|---|
| 2 |  ;;3.0;ORDER ENTRY/RESULTS REPORTING;**153,242**;Dec 17, 1997;Build 6
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 | NXT() ; Increment ILST
 | 
|---|
| 5 |  S ILST=ILST+1
 | 
|---|
| 6 |  Q ILST
 | 
|---|
| 7 |  ;
 | 
|---|
| 8 | ORDITM(Y,FROM,DIR,XREF) ; Return a subset of orderable items
 | 
|---|
| 9 |  ; .Return Array, Starting Text, Direction, Cross Reference (B or S.x)
 | 
|---|
| 10 |  ; ^ORD(101.43,"S.xxx",UpperCase,DA)=Mne^MixedCase^InactvDt^.01IfMne
 | 
|---|
| 11 |  ; Y(n)=IEN^.01 Name^.01 Name  -or-  IEN^Synonym <.01 Name>^.01 Name
 | 
|---|
| 12 |  ; similar to ORDITM^ORWDX but does not screen inactives
 | 
|---|
| 13 |  N I,X,IEN,CNT,SKIP S I=0,CNT=44,SKIP=0
 | 
|---|
| 14 |  F  Q:I'<CNT  S FROM=$O(^ORD(101.43,XREF,FROM),DIR) Q:FROM=""  D
 | 
|---|
| 15 |  . S IEN="" F  S IEN=$O(^ORD(101.43,XREF,FROM,IEN),DIR) Q:'IEN  D
 | 
|---|
| 16 |  . . I XREF="B" D
 | 
|---|
| 17 |  . . . I $D(^ORD(101.43,XREF,FROM,IEN))=1 S X=FROM
 | 
|---|
| 18 |  . . . E  S X=FROM_"  <"_$P(^ORD(101.43,IEN,0),U,1)_">"
 | 
|---|
| 19 |  . . . S I=I+1,Y(I)=IEN_U_X
 | 
|---|
| 20 |  . . E  D
 | 
|---|
| 21 |  . . . S X=^ORD(101.43,XREF,FROM,IEN)
 | 
|---|
| 22 |  . . . I 'X S X=$P(X,U,2)
 | 
|---|
| 23 |  . . . E  S X=$P(X,U,2)_"  <"_$P(X,U,4)_">"
 | 
|---|
| 24 |  . . . I (XREF="S.CSLT"),($$UP^XLFSTR(X)["ALL SERVICE") Q
 | 
|---|
| 25 |  . . . E  S I=I+1,Y(I)=IEN_U_X
 | 
|---|
| 26 |  Q
 | 
|---|
| 27 | CGRP(ORY) ;Return Consult Display Group
 | 
|---|
| 28 |  S ORY="ALL SERVICES"_U_$O(^ORD(100.98,"B","CSLT",0))
 | 
|---|
| 29 |  Q
 | 
|---|
| 30 | OISETS(LST)     ; Return a list of sets for orderable items
 | 
|---|
| 31 |  N DGNM,IEN,SHORT,IDX
 | 
|---|
| 32 |  S LST(1)="^(no limit)",IDX=1
 | 
|---|
| 33 |  S DGNM="" F  S DGNM=$O(^ORD(100.98,"B",DGNM)) Q:DGNM=""  D
 | 
|---|
| 34 |  . S IEN=0 F  S IEN=$O(^ORD(100.98,"B",DGNM,IEN)) Q:'IEN  D
 | 
|---|
| 35 |  . . I ^ORD(100.98,"B",DGNM,IEN)=1 Q
 | 
|---|
| 36 |  . . S SHORT=$P(^ORD(100.98,IEN,0),U,3)
 | 
|---|
| 37 |  . . I $D(^ORD(101.43,"S."_SHORT)) S IDX=IDX+1,LST(IDX)=SHORT_U_DGNM
 | 
|---|
| 38 |  Q
 | 
|---|
| 39 | ORDSTS(LST)     ; List order statuses
 | 
|---|
| 40 |  N ILST,X,IEN S ILST=0
 | 
|---|
| 41 |  S X="" F  S X=$O(^ORD(100.01,"B",X)) Q:X=""  D
 | 
|---|
| 42 |  . S IEN=0 F  S IEN=$O(^ORD(100.01,"B",X,IEN)) Q:'IEN  D
 | 
|---|
| 43 |  . . Q:$$SCREEN^XTID(100.01,,IEN_",")  ;inactive VUID
 | 
|---|
| 44 |  . . S LST($$NXT)=IEN_U_X
 | 
|---|
| 45 |  Q
 | 
|---|
| 46 | SIGNSTS(LST)    ; List order signature statuses
 | 
|---|
| 47 |  S LST(1)="0^ON CHART w/written orders"
 | 
|---|
| 48 |  S LST(2)="1^ELECTRONIC"
 | 
|---|
| 49 |  S LST(3)="2^NOT SIGNED"
 | 
|---|
| 50 |  S LST(4)="3^NOT REQUIRED"
 | 
|---|
| 51 |  S LST(5)="4^ON CHART w/printed orders"
 | 
|---|
| 52 |  S LST(6)="5^NOT REQUIRED due to cancel"
 | 
|---|
| 53 |  S LST(7)="6^SERVICE CORRECTION to signed order"
 | 
|---|
| 54 |  S LST(8)="7^DIGITALLY SIGNED"
 | 
|---|
| 55 |  Q
 | 
|---|
| 56 | ABSTRT(Y,NIL) ;Return abnormal result start date
 | 
|---|
| 57 |  S Y=$$GET^XPAR("SYS^PKG","ORHEPC ABNORMAL START",1,"I")
 | 
|---|
| 58 |  Q
 | 
|---|