1 | ORWGAPIW ; SLC/STAFF - Graph API Utilities, Generic ;8/19/06 15:20
|
---|
2 | ;;3.0;ORDER ENTRY/RESULTS REPORTING;**243**;Dec 17, 1997;Build 242
|
---|
3 | ;
|
---|
4 | DATA(ARRAY) ; $$(application results) -> single string of results
|
---|
5 | N NUM,RESULT,SUB
|
---|
6 | S OUT=""
|
---|
7 | S SUB=""
|
---|
8 | F S SUB=$O(ARRAY(SUB)) Q:SUB="" D
|
---|
9 | . I $D(ARRAY(SUB,0)) D Q
|
---|
10 | .. S OUT=OUT_SUB_"["
|
---|
11 | .. S NUM=0
|
---|
12 | .. F S NUM=$O(ARRAY(SUB,NUM)) Q:NUM<1 D
|
---|
13 | ... S RESULT=$G(ARRAY(SUB,NUM,0))
|
---|
14 | ... S OUT=OUT_RESULT_";"
|
---|
15 | .. S OUT=OUT_"]"
|
---|
16 | . S RESULT=$G(ARRAY(SUB))
|
---|
17 | . S OUT=OUT_SUB_"["_RESULT_"]"
|
---|
18 | S OUT=$TR(OUT,U,"~")
|
---|
19 | Q OUT
|
---|
20 | ;
|
---|
21 | DATETFM(DATETIME) ; $$(external date/time) -> fm date/time else 0
|
---|
22 | N DATE,DAY,FMDT,HOUR,MIN,SEC,TIME,YEAR
|
---|
23 | S DATE=$P(DATETIME,"@"),TIME=$P(DATETIME,"@",2)
|
---|
24 | S YEAR=$P(DATE,",",2) I $L(YEAR)'=4 Q 0
|
---|
25 | S YEAR=YEAR-1700 I YEAR<270 Q 0
|
---|
26 | S MONTH=$P(DATE," ")
|
---|
27 | S MONTH=$$MTN(MONTH) I MONTH<1 Q 0
|
---|
28 | I MONTH<10 S MONTH="0"_MONTH
|
---|
29 | S DAY=$P(DATE," ",2),DAY=$P(DAY,",")
|
---|
30 | I DAY<1 Q 0
|
---|
31 | I DAY<10 S DAY="0"_DAY
|
---|
32 | S HOUR=$P(TIME,":")
|
---|
33 | S MIN=$P(TIME,":",2)
|
---|
34 | S SEC=$P(TIME,":",3)
|
---|
35 | S TIME=HOUR_MIN_SEC
|
---|
36 | S FMDT=YEAR_MONTH_DAY
|
---|
37 | I '$L(TIME) Q FMDT
|
---|
38 | Q FMDT_"."_TIME
|
---|
39 | ;
|
---|
40 | GENERIC(VAL,FROM,DIR,FILE,REF,XREF,SCREEN) ; Return a set of entries from xref in REF
|
---|
41 | ; from ORWGAPI
|
---|
42 | ; .VAL=returned list, FROM=text to $O from, DIR=$O direction,
|
---|
43 | N CNT,IEN,NAME,NEXTNAME,NUM,OK,ROOT,ZERO S NUM=0,CNT=44 K VAL
|
---|
44 | I FILE=405 Q
|
---|
45 | S ROOT=""
|
---|
46 | S FROM=$$UP^ORWGAPIX(FROM)
|
---|
47 | I $E(REF,$L(REF))="," S ROOT=$E(REF,1,$L(REF)-1)_")"
|
---|
48 | I $E(REF,$L(REF))="(" S ROOT=$P(REF,"(")
|
---|
49 | I '$L(ROOT) Q
|
---|
50 | S REF=REF_""""_XREF_""")"
|
---|
51 | F Q:NUM'<CNT S FROM=$O(@REF@(FROM),DIR) Q:FROM="" D
|
---|
52 | . S IEN="" F S IEN=$O(@REF@(FROM,IEN),DIR) Q:'IEN D
|
---|
53 | .. I FILE=100,$O(@REF@(FROM,IEN,""))>0 Q
|
---|
54 | .. S ZERO=$G(@ROOT@(IEN,0)) I '$L(ZERO) Q
|
---|
55 | .. X SCREEN I '$T Q
|
---|
56 | .. S NUM=NUM+1
|
---|
57 | .. I FILE="45DX"!(FILE=9000010.07)!(FILE=9000011)!(FILE="63AP;I") D Q
|
---|
58 | ... S VAL(NUM)=FILE_U_IEN_U_$$ICD9^ORWGAPIA(IEN) Q
|
---|
59 | .. I FILE="45OP" S VAL(NUM)=FILE_U_IEN_U_$$ICD0^ORWGAPIA(IEN) Q
|
---|
60 | .. I FILE=53.79 S VAL(NUM)=FILE_U_IEN_U_$$POINAME^ORWGAPIC(IEN) Q
|
---|
61 | .. I FILE="55NVA" S VAL(NUM)=FILE_U_IEN_U_$$POINAME^ORWGAPIC(IEN) Q
|
---|
62 | .. I FILE=9000010.18 S VAL(NUM)=FILE_U_IEN_U_$$ICPT^ORWGAPIA(IEN) Q
|
---|
63 | .. I FILE=130 S VAL(NUM)=FILE_U_IEN_U_$$ICPT^ORWGAPIA(IEN) Q
|
---|
64 | .. S VAL(NUM)=FILE_U_IEN_U_FROM
|
---|
65 | I FILE=120.5 D
|
---|
66 | . S (NUM,OK)=0
|
---|
67 | . F S NUM=$O(VAL(NUM)) Q:NUM<1 D Q:OK
|
---|
68 | .. S NAME=$P(VAL(NUM),U,3)
|
---|
69 | .. S NEXTNAME=$P($G(VAL(NUM+1)),U,3)
|
---|
70 | .. I "BODY MASS INDEX"]NAME,NEXTNAME]"BODY MASS INDEX" D
|
---|
71 | ... S OK=1
|
---|
72 | ... S VAL(NUM+.5)="120.5^99999^BODY MASS INDEX"
|
---|
73 | Q
|
---|
74 | ;
|
---|
75 | MTN(MONTH) ; $$(external month) -> month number
|
---|
76 | N MONTHS,NUM
|
---|
77 | I $L(MONTH)'=3 Q 0
|
---|
78 | S MONTHS="JAN^FEB^MAR^APR^MAY^JUN^JUL^AUG^SEP^OCT^NOV^DEC"
|
---|
79 | F NUM=1:1:13 I $P(MONTHS,U,NUM)=MONTH Q
|
---|
80 | I NUM=13 Q 0
|
---|
81 | Q NUM
|
---|
82 | ;
|
---|
83 | OGROUP(OITEM) ; $$(orderable item) -> ien display group^display group - from ORWGAPIR
|
---|
84 | N IEN
|
---|
85 | S IEN=+$P($G(^ORD(101.43,+$G(OITEM),0)),U,5)
|
---|
86 | Q IEN_U_"order - "_$P($G(^ORD(100.98,IEN,0)),U)
|
---|
87 | ;
|
---|
88 | RETURN(TMP,ITEMS) ; return TMP (0 use local, 1 use ^TMP(ITEMS,$J, where ITEMS is a namespaced string)
|
---|
89 | ; from ORWGAPI, ORWGAPIP, ORWGAPIX
|
---|
90 | N NMSP
|
---|
91 | S NMSP=$G(ITEMS) K ITEMS S ITEMS=""
|
---|
92 | S TMP=NMSP?1U1UN1.14UNP
|
---|
93 | I TMP S ITEMS=NMSP
|
---|
94 | Q
|
---|
95 | ;
|
---|
96 | SETUP(DATA,RESULT,TMP,CNT) ; from ORWGAPI1, ORWGAPI2, ORWGAPI3, ORWGAPI4, ORWGAPIP, ORWGAPIR, ORWGAPIX
|
---|
97 | S CNT=CNT+1
|
---|
98 | I TMP=2 S ^TMP(DATA,$J,$P(RESULT,U,1,2))=RESULT Q
|
---|
99 | I TMP S ^TMP(DATA,$J,CNT)=RESULT
|
---|
100 | I 'TMP S DATA(CNT)=RESULT
|
---|
101 | Q
|
---|
102 | ;
|
---|