| 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 | 
|---|