[613] | 1 | DVBCHS2 ;ALB/JRP - C & P EXTRACT FOR HEALTH SUMMARY (CONT);11-JAN-95
|
---|
| 2 | ;;2.7;AMIE;;Apr 10, 1995
|
---|
| 3 | OUT1(PTR,ARR) ;SET NODE ONE 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^DVBCHS0() for format of output array
|
---|
| 8 | ;NOTES : All input is assumed to exist (no error checking)
|
---|
| 9 | ;
|
---|
| 10 | N CODE,NODE,LOCPTR,LOCATION,OWNPTR,OWNER,OUTPTR
|
---|
| 11 | N TYPEPTR,FMDATE,REQPTR,OUTDOM,INVDATE
|
---|
| 12 | ;DETERMINE CODE (BASED ON TRANSFER OUT/IN DATES)
|
---|
| 13 | S NODE=$G(^DVB(396.4,PTR,"TRAN"))
|
---|
| 14 | ;DONE AT LOCAL FACILITY
|
---|
| 15 | S CODE=1
|
---|
| 16 | ;DONE AT REMOTE FACILITY
|
---|
| 17 | S:($P(NODE,"^",1)'="") CODE=2
|
---|
| 18 | ;DONE AT LOCAL FACILITY FOR REMOTE FACILITY
|
---|
| 19 | S:($P(NODE,"^",4)'="") CODE=3
|
---|
| 20 | ;GET ROUTING LOCATION
|
---|
| 21 | S REQPTR=+$P($G(^DVB(396.4,PTR,0)),"^",2)
|
---|
| 22 | S LOCPTR=+$P($G(^DVB(396.3,REQPTR,1)),"^",4)
|
---|
| 23 | S LOCATION=$P($G(^DG(40.8,LOCPTR,0)),"^",1)
|
---|
| 24 | S:('LOCPTR) LOCATION="UNKNOWN"
|
---|
| 25 | ;DEFAULT REMOTE DOMAINS TO N/A
|
---|
| 26 | S OWNER="N/A"
|
---|
| 27 | S OUTDOM="N/A"
|
---|
| 28 | ;EXAM DONE REMOTELY
|
---|
| 29 | I (CODE=2) D
|
---|
| 30 | .S OUTPTR=+$P($G(^DVB(396.4,PTR,"TRAN")),"^",3)
|
---|
| 31 | .S OUTDOM=$P($G(^DIC(4.2,OUTPTR,0)),"^",1)
|
---|
| 32 | .S:('OUTPTR) OUTDOM="UNKNOWN"
|
---|
| 33 | ;EXAM DONE FOR REMOTE FACILITY
|
---|
| 34 | I (CODE=3) D
|
---|
| 35 | .S OWNPTR=+$P($G(^DVB(396.3,REQPTR,0)),"^",22)
|
---|
| 36 | .S OWNER=$P($G(^DIC(4.2,OWNPTR,0)),"^",1)
|
---|
| 37 | .S:('OWNPTR) OWNER="UNKNOWN"
|
---|
| 38 | ;GET EXAM DATE & TYPE
|
---|
| 39 | S NODE=$G(^DVB(396.4,PTR,0))
|
---|
| 40 | S TYPEPTR=+$P(NODE,"^",3)
|
---|
| 41 | S FMDATE=+$P(NODE,"^",6)
|
---|
| 42 | ;CALCULATE INVERSE EXAM DATE
|
---|
| 43 | S INVDATE=9999999-FMDATE
|
---|
| 44 | ;PUT INFO INTO GLOBAL
|
---|
| 45 | S @ARR@(INVDATE,TYPEPTR,1)=LOCATION_"^"_OWNER_"^"_OUTDOM
|
---|
| 46 | Q
|
---|
| 47 | OUT2(PTR,ARR) ;SET NODE TWO OF OUTPUT
|
---|
| 48 | ;INPUT : PTR - Pointer to 2507 EXAM file (#396.4)
|
---|
| 49 | ; ARR - Where to place output (full global reference)
|
---|
| 50 | ;OUTPUT : None
|
---|
| 51 | ; See HSCP^DVBCHS0() for format of output array
|
---|
| 52 | ;NOTES : All input is assumed to exist (no error checking)
|
---|
| 53 | ;
|
---|
| 54 | N NODE,CODE,TYPEPTR,FMDATE,INVDATE
|
---|
| 55 | N STATUS,APPRVBY,APPRVDTE,REQPTR
|
---|
| 56 | ;DETERMINE CODE (BASED ON TRANSFER OUT/IN DATES)
|
---|
| 57 | S NODE=$G(^DVB(396.4,PTR,"TRAN"))
|
---|
| 58 | ;DONE AT LOCAL FACILITY
|
---|
| 59 | S CODE=1
|
---|
| 60 | ;DONE AT REMOTE FACILITY
|
---|
| 61 | S:($P(NODE,"^",1)'="") CODE=2
|
---|
| 62 | ;DONE AT LOCAL FACILITY FOR REMOTE FACILITY
|
---|
| 63 | S:($P(NODE,"^",4)'="") CODE=3
|
---|
| 64 | ;GET INFO FROM REQUEST
|
---|
| 65 | S REQPTR=+$P($G(^DVB(396.4,PTR,0)),"^",2)
|
---|
| 66 | ;GET APPROVAL INFO
|
---|
| 67 | S NODE=$G(^DVB(396.3,REQPTR,1))
|
---|
| 68 | S APPRVBY=$P(NODE,"^",5)
|
---|
| 69 | S APPRVDTE=+$P(NODE,"^",6)
|
---|
| 70 | ;DETERMINE STATUS
|
---|
| 71 | S TMP=$P($G(^DVB(396.3,REQPTR,0)),"^",18)
|
---|
| 72 | S STATUS="UNKNOWN"
|
---|
| 73 | S:(TMP="N") STATUS="NEW",APPRVBY="N/A"
|
---|
| 74 | S:(TMP="P") STATUS="PENDING, REPORTED",APPRVBY="N/A"
|
---|
| 75 | S:(TMP="S") STATUS="PENDING SCHEDULED",APPRVBY="N/A"
|
---|
| 76 | S:(TMP="R") STATUS="RELEASED TO RO, NOT PRINTED"
|
---|
| 77 | S:(TMP="C") STATUS="COMPLETED, PRINTED BY RO"
|
---|
| 78 | S:(TMP="X") STATUS="CANCELLED BY MAS",APPRVBY="N/A"
|
---|
| 79 | S:(TMP="RX") STATUS="CANCELLED BY RO",APPRVBY="N/A"
|
---|
| 80 | S:(TMP="T") STATUS="TRANSCRIBED",APPRVBY="N/A"
|
---|
| 81 | S:(TMP="NT") STATUS="NEW, TRANSFERRED IN",APPRVBY="N/A"
|
---|
| 82 | S:(TMP="CT") STATUS="COMPLETED, TRANSFERRED OUT"
|
---|
| 83 | S:(STATUS="UNKNOWN") APPRVBY="N/A"
|
---|
| 84 | ;GET EXAM DATE & TYPE
|
---|
| 85 | S NODE=$G(^DVB(396.4,PTR,0))
|
---|
| 86 | S TYPEPTR=+$P(NODE,"^",3)
|
---|
| 87 | S FMDATE=+$P(NODE,"^",6)
|
---|
| 88 | ;CALCULATE INVERSE EXAM DATE
|
---|
| 89 | S INVDATE=9999999-FMDATE
|
---|
| 90 | ;PUT INFO INTO GLOBAL
|
---|
| 91 | S @ARR@(INVDATE,TYPEPTR,2)=STATUS_"^"_APPRVBY_"^"_APPRVDTE
|
---|
| 92 | Q
|
---|