| 1 | PXRMVSIT ; SLC/PKR - Visit related info for reminders. ;02/22/2007 | 
|---|
| 2 | ;;2.0;CLINICAL REMINDERS;**4,6**;Feb 04, 2005;Build 123 | 
|---|
| 3 | ; | 
|---|
| 4 | ;====================================================== | 
|---|
| 5 | GETDATA(DA,DATA,SVALUE) ;Return data for a specific Visit file entry. | 
|---|
| 6 | ;DBIA #2028 for Visit file. | 
|---|
| 7 | N DONE,IEN,HTEMP,LOE,TEMP | 
|---|
| 8 | S TEMP=^AUPNVSIT(DA,0) | 
|---|
| 9 | S DATA("VISIT")=DA | 
|---|
| 10 | S DATA("DATE VISIT CREATED")=$P(TEMP,U,2) | 
|---|
| 11 | S DATA("DFN")=$P(TEMP,U,5) | 
|---|
| 12 | S (DATA("LOC. OF ENCOUNTER"),LOE)=$P(TEMP,U,6) | 
|---|
| 13 | ;DBIA #10090 | 
|---|
| 14 | S DATA("STATION NUMBER")=$$GET1^DIQ(4,LOE,99) | 
|---|
| 15 | S DATA("OFFICAL VA NAME")=$$GET1^DIQ(4,LOE,100) | 
|---|
| 16 | S DATA("SERVICE CATEGORY")=$P(TEMP,U,7) | 
|---|
| 17 | I $G(SVALUE) S DATA("VALUE")=$P(TEMP,U,7) | 
|---|
| 18 | S DATA("HOSPITAL LOCATION")=$P(TEMP,U,22) | 
|---|
| 19 | ;DBIA #10040, #2804 | 
|---|
| 20 | I $G(DATA("HOSPITAL LOCATION"))="" S HTEMP="" | 
|---|
| 21 | E  S HTEMP=^SC(DATA("HOSPITAL LOCATION"),0) | 
|---|
| 22 | S DATA("HLOC")=$P(HTEMP,U,1) | 
|---|
| 23 | S DATA("DSS ID")=$P(TEMP,U,8) | 
|---|
| 24 | I DATA("DSS ID")="" S DATA("DSS ID")=$P(HTEMP,U,7) | 
|---|
| 25 | ;DBIA #557 | 
|---|
| 26 | I DATA("DSS ID")'="" S DATA("STOP CODE")=$P(^DIC(40.7,DATA("DSS ID"),0),U,2) | 
|---|
| 27 | S DATA("OUTSIDE LOCATION")=$G(^AUPNVSIT(DA,21)) | 
|---|
| 28 | S DATA("COMMENTS")=$G(^AUPNVSIT(DA,811)) | 
|---|
| 29 | ;DBIA #4850 | 
|---|
| 30 | S DATA("STATUS")=$$STATUS^SDPCE(DA) | 
|---|
| 31 | ;Get the primary provider. | 
|---|
| 32 | ;DBIA #3455 for V PROVIDER | 
|---|
| 33 | S DATA("PRIMARY PROVIDER")="",IEN="",DONE=0 | 
|---|
| 34 | F  S IEN=$O(^AUPNVPRV("AD",DA,IEN)) Q:(DONE)!(IEN="")  D | 
|---|
| 35 | . S TEMP=^AUPNVPRV(IEN,0) | 
|---|
| 36 | . I $P(TEMP,U,4)="P" S DATA("PRIMARY PROVIDER")=$P(TEMP,U,1),DONE=1 | 
|---|
| 37 | Q | 
|---|
| 38 | ; | 
|---|
| 39 | ;====================================================== | 
|---|
| 40 | GAPSTAT(VIEN) ;Return the status of the appointment associated with the | 
|---|
| 41 | ;visit. | 
|---|
| 42 | ;DBIA #4850 | 
|---|
| 43 | Q $$STATUS^SDPCE(VIEN) | 
|---|
| 44 | ; | 
|---|
| 45 | ;====================================================== | 
|---|
| 46 | HENC(VIEN,INDENT,NLINES,TEXT) ;Display location and comment for historical | 
|---|
| 47 | ;encounters associated with the V files. | 
|---|
| 48 | N COMMENT,HLOC,LOCATION,OLOC,NIN,TEXTIN,VDATA | 
|---|
| 49 | D GETDATA(VIEN,.VDATA) I VDATA("SERVICE CATEGORY")'="E" Q | 
|---|
| 50 | S NIN=0 | 
|---|
| 51 | S LOCATION=VDATA("LOC. OF ENCOUNTER") | 
|---|
| 52 | I LOCATION'="" D | 
|---|
| 53 | . S LOCATION=$$GET1^DIQ(4,LOCATION,.01)_" "_$$GET1^DIQ(4,LOCATION,99) | 
|---|
| 54 | . S NIN=NIN+1,TEXTIN(NIN)="Location of Encounter: "_LOCATION_"\\" | 
|---|
| 55 | S HLOC=VDATA("HOSPITAL LOCATION") | 
|---|
| 56 | I HLOC'="" D | 
|---|
| 57 | . S HLOC=$$GET1^DIQ(44,HLOC,.01) | 
|---|
| 58 | . S NIN=NIN+1,TEXTIN(NIN)="Hospital Location: "_HLOC_"\\" | 
|---|
| 59 | S OLOC=VDATA("OUTSIDE LOCATION") | 
|---|
| 60 | I OLOC'="" D | 
|---|
| 61 | . S NIN=NIN+1,TEXTIN(NIN)="Outside Location: "_OLOC_"\\" | 
|---|
| 62 | S COMMENT=VDATA("COMMENT") | 
|---|
| 63 | I COMMENT'="" D | 
|---|
| 64 | . S NIN=NIN+1,TEXTIN(NIN)="Comment: "_COMMENT | 
|---|
| 65 | I NIN>0 D | 
|---|
| 66 | . N JND,NOUT,TEXTOUT | 
|---|
| 67 | . S NLINES=NLINES+1 | 
|---|
| 68 | . S TEXT(NLINES)=$$INSCHR^PXRMEXLC(INDENT," ")_"Historical Encounter Information:" | 
|---|
| 69 | . D FORMAT^PXRMTEXT(INDENT+2,PXRMRM,NIN,.TEXTIN,.NOUT,.TEXTOUT) | 
|---|
| 70 | . F JND=1:1:NOUT S NLINES=NLINES+1,TEXT(NLINES)=TEXTOUT(JND) | 
|---|
| 71 | Q | 
|---|
| 72 | ; | 
|---|
| 73 | ;====================================================== | 
|---|
| 74 | ISHIST(VIEN) ;Return true if the encounter was historical. | 
|---|
| 75 | ;DBIA #2028 | 
|---|
| 76 | I $P($G(^AUPNVSIT(VIEN,0)),U,7)="E" Q 1 | 
|---|
| 77 | Q 0 | 
|---|
| 78 | ; | 
|---|
| 79 | ;====================================================== | 
|---|
| 80 | VAPSTAT(VIEN) ;Return true if the appointment associated with | 
|---|
| 81 | ;the visit has a valid appointment status. | 
|---|
| 82 | ;Return false if the status is one of the following: | 
|---|
| 83 | ;CANCELLED BY CLINIC | 
|---|
| 84 | ;CANCELLED BY CLINIC & AUTO RE-BOOK | 
|---|
| 85 | ;CANCELLED BY PATIENT | 
|---|
| 86 | ;CANCELLED BY PATIENT & AUTO-REBOOK | 
|---|
| 87 | ;DELETED | 
|---|
| 88 | ;NO ACTION TAKEN | 
|---|
| 89 | ;NO-SHOW | 
|---|
| 90 | ;NO-SHOW & AUTO RE-BOOK | 
|---|
| 91 | ;NULL | 
|---|
| 92 | N STATUS,VALID | 
|---|
| 93 | ;DBIA #4850 | 
|---|
| 94 | S STATUS=$P($$STATUS^SDPCE(VIEN),U,2) | 
|---|
| 95 | S VALID=$S(STATUS["CANCELLED":0,STATUS["DELETED":0,STATUS["NO ACTION":0,STATUS["NO-SHOW":0,STATUS="":0,1:1) | 
|---|
| 96 | Q VALID | 
|---|
| 97 | ; | 
|---|