1 | DVBCHS1 ;ALB/JRP - C & P EXTRACT FOR HEALTH SUMMARY (CONT);11-JAN-95
|
---|
2 | ;;2.7;AMIE;;Apr 10, 1995
|
---|
3 | OUT0(PTR,ARR) ;SET NODE ZERO OF OUTPUT
|
---|
4 | ;INPUT : PTR - Pointer to 2507 EXAM file (#396.4)
|
---|
5 | ; ARR - Where to place output (full global reference)
|
---|
6 | ;OUTPUT : None
|
---|
7 | ; See HSCP() for format of output array
|
---|
8 | ;NOTES : All input is assumed to exist (no error checking)
|
---|
9 | ;
|
---|
10 | N CODE,FMDATE,TYPE,DOCTOR,PRIORITY
|
---|
11 | N INVDATE,NODE,REQPTR,TYPEPTR,TMP
|
---|
12 | ;GET ZERO NODE OF 2507 EXAM
|
---|
13 | S NODE=$G(^DVB(396.4,PTR,0))
|
---|
14 | ;GET INFO OFF OF NODE
|
---|
15 | S REQPTR=+$P(NODE,"^",2)
|
---|
16 | S TYPEPTR=+$P(NODE,"^",3)
|
---|
17 | S FMDATE=+$P(NODE,"^",6)
|
---|
18 | S DOCTOR=$P(NODE,"^",7)
|
---|
19 | S:(DOCTOR="") DOCTOR="UNKNOWN"
|
---|
20 | ;GET PRIORITY FROM ZERO NODE OF 2507 REQUEST
|
---|
21 | S NODE=$G(^DVB(396.3,REQPTR,0))
|
---|
22 | S TMP=$P(NODE,"^",10)
|
---|
23 | ;CONVERT PRIORITY TO EXTERNAL FORMAT
|
---|
24 | S PRIORITY="UNKNOWN"
|
---|
25 | S:(TMP="T") PRIORITY="TERMINAL"
|
---|
26 | S:(TMP="P") PRIORITY="POS"
|
---|
27 | S:(TMP="OS") PRIORITY="ORIGINAL SC"
|
---|
28 | S:(TMP="ON") PRIORITY="ORIGINAL NSC"
|
---|
29 | S:(TMP="I") PRIORITY="INCREASE"
|
---|
30 | S:(TMP="R") PRIORITY="REVIEW"
|
---|
31 | S:(TMP="OTR") PRIORITY="OTHER"
|
---|
32 | S:(TMP="E") PRIORITY="INSUFFICIENT EXAM"
|
---|
33 | ;CONVERT EXAM TYPE TO EXTERNAL FORMAT
|
---|
34 | S TYPE=$P($G(^DVB(396.6,TYPEPTR,0)),"^",1)
|
---|
35 | S:('TYPEPTR) TYPE="UNKNOWN"
|
---|
36 | ;DETERMINE CODE (BASED ON TRANSFER OUT/IN DATES)
|
---|
37 | S NODE=$G(^DVB(396.4,PTR,"TRAN"))
|
---|
38 | ;DONE AT LOCAL FACILITY
|
---|
39 | S CODE=1
|
---|
40 | ;DONE AT REMOTE FACILITY
|
---|
41 | S:($P(NODE,"^",1)'="") CODE=2
|
---|
42 | ;DONE AT LOCAL FACILITY FOR REMOTE FACILITY
|
---|
43 | S:($P(NODE,"^",4)'="") CODE=3
|
---|
44 | ;CALCULATE INVERSE EXAM DATE
|
---|
45 | S INVDATE=9999999-FMDATE
|
---|
46 | ;PUT INFO INTO GLOBAL
|
---|
47 | S @ARR@(INVDATE,TYPEPTR,0)=CODE_"^"_FMDATE_"^"_TYPE_"^"_DOCTOR_"^"_PRIORITY
|
---|
48 | Q
|
---|
49 | OUTRES(PTR,ARR) ;SET NODE 'RES' OF OUTPUT
|
---|
50 | ;INPUT : PTR - Pointer to 2507 EXAM file (#396.4)
|
---|
51 | ; ARR - Where to place output (full global reference)
|
---|
52 | ;OUTPUT : None
|
---|
53 | ; See HSCP^DVBCHS0() for format of output array
|
---|
54 | ;NOTES : All input is assumed to exist (no error checking)
|
---|
55 | ;
|
---|
56 | N LINE,LINES,INVDATE,FMDATE,TYPEPTR,NODE
|
---|
57 | ;GET EXAM DATE & TYPE
|
---|
58 | S NODE=$G(^DVB(396.4,PTR,0))
|
---|
59 | S TYPEPTR=+$P(NODE,"^",3)
|
---|
60 | S FMDATE=+$P(NODE,"^",6)
|
---|
61 | ;CALCULATE INVERSE EXAM DATE
|
---|
62 | S INVDATE=9999999-FMDATE
|
---|
63 | ;PUT RESULTS INTO GLOBAL
|
---|
64 | S LINE=0,LINES=1
|
---|
65 | F S LINE=+$O(^DVB(396.4,PTR,"RES",LINE)) Q:('LINE) D
|
---|
66 | .S @ARR@(INVDATE,TYPEPTR,"RES",LINES)=$G(^DVB(396.4,PTR,"RES",LINE,0))
|
---|
67 | .S LINES=LINES+1
|
---|
68 | ;PUT NUMBER OF LINES INFO INTO GLOBAL
|
---|
69 | S @ARR@(INVDATE,TYPEPTR,"RES",0)=LINES-1
|
---|
70 | Q
|
---|