| [613] | 1 | SDAMVSC ;;OIFO-BAY PINES/TEH - Appt Event Driver Utilities-Validate SC Appt type ; 12/1/91 [ 09/19/96  1:39 PM ]  ; Compiled August 20, 2007 14:28:26 | 
|---|
|  | 2 | ;;5.3;Scheduling;**394,417,491**;Aug 13, 1993;Build 53 | 
|---|
|  | 3 | ; | 
|---|
|  | 4 | ; | 
|---|
|  | 5 | ;*************************************************************************************************************************** | 
|---|
|  | 6 | ; | 
|---|
|  | 7 | ;                            ***** NOTE ***** | 
|---|
|  | 8 | ; | 
|---|
|  | 9 | ;This software was created to be used with the SCHEDULING V5.3 appointment management package. The SRA API (SDAMA301) | 
|---|
|  | 10 | ;was employed to retrieve data from the PATIENT APPOINTMENT file (2.98) due inpart to VA Fileman non-compliance. | 
|---|
|  | 11 | ; | 
|---|
|  | 12 | ;DBIA #4433 SUBSCRIPTION | 
|---|
|  | 13 | ; | 
|---|
|  | 14 | ; | 
|---|
|  | 15 | ;Entry Point EN. This routine requires the OUTPATIENT ENOUNTER IEN (variable SDOE) | 
|---|
|  | 16 | ; | 
|---|
|  | 17 | ;GLOBALS: ^SCE(IEN,0) (#.1) APPOINTMENT TYPE [10P:409.1] | 
|---|
|  | 18 | ;         ^DPT(IEN,"S",DATE,0)  ^ (#9.5) APPOINTMENT TYPE [16P:409.1] | 
|---|
|  | 19 | ;         ^SD(409.41,0)=OUTPATIENT CLASSIFCATION TYPE "Was treatment for SC Condition? " QUESTION FOR CHECKOUT. | 
|---|
|  | 20 | ; | 
|---|
|  | 21 | ;PROTOCOLS: This routine is called from the SDAM APPOINTMENT EVENTS. | 
|---|
|  | 22 | ; | 
|---|
|  | 23 | ;This validates that both the OUTPATIENT ENCOUNTER and the PATIENT SCHEDULING NODES for APPOINTMENT TYPE are (pointer to | 
|---|
|  | 24 | ;409.1 APPOINTMENT TYPE) are set to the "SERVICE CONNECTED" appointment type when the response to the CLASSIFICATION TYPE | 
|---|
|  | 25 | ;"Was treatment for SC Condition?" question is answered "YES". If the question is answered "NO" and the APPOINTMENT TYPE | 
|---|
|  | 26 | ;is SERVICE CONNECTED, then the APPOINTMENT TYPE is reverted to REGULAR. | 
|---|
|  | 27 | ; | 
|---|
|  | 28 | ; | 
|---|
|  | 29 | ;**************************************************************************************************************************** | 
|---|
|  | 30 | Q | 
|---|
|  | 31 | EN      ;Entry Point | 
|---|
|  | 32 | Q:'$G(SDOE) | 
|---|
|  | 33 | N SDN,SDVSCL,SDVSTD,SDAPDF,SDDPTYP,SDOED,SDVSTD,SDVDPTD,SDVSCD,SDSCV,SDAPPTY,SDAPDT,SDDFN,SDVSTD,SDIENS,SDARRAY,SDAPDF | 
|---|
|  | 34 | S SDOED=$G(^SCE(SDOE,0)) Q:SDOED="" | 
|---|
|  | 35 | S SDDFN=$P(SDOED,U,2),SDAPDT=$P(SDOED,U) | 
|---|
|  | 36 | ;GET APPOINTMENT FROM EVENT OUTPUT ARRAY | 
|---|
|  | 37 | I $G(^TMP("SDAMEVT",$J,"AFTER","DPT")) S SDAPDPT=$P($G(^TMP("SDAMEVT",$J,"AFTER","DPT")),"^",16) | 
|---|
|  | 38 | E  S SDAPDPT=$P(SDOED,"^",10) ;APP TYPE | 
|---|
|  | 39 | S SDVSCL=$P(SDOED,U,4) | 
|---|
|  | 40 | S SDVSTD=$P(SDOED,U,5) | 
|---|
|  | 41 | Q:'SDVSTD  ; ticket #194210 ; do not proceed if no pointer to a visit | 
|---|
|  | 42 | Q:'$D(^AUPNVSIT(SDVSTD,800)) | 
|---|
|  | 43 | S SDSCV=+$$GET1^DIQ(9000010,SDVSTD_",",80001,"I") ;SC flag in Visit file | 
|---|
|  | 44 | S SDAPDF=$$GET1^DIQ(44,SDVSCL_",",2507,"I") ;default appt type | 
|---|
|  | 45 | ;find if credit stop secondary visit exists. | 
|---|
|  | 46 | N SDVSTDS,SDOE1 S SDOE1="" S SDVSTDS=$O(^AUPNVSIT("AD",SDVSTD,"")) | 
|---|
|  | 47 | I SDVSTDS>0 S SDOE1=$O(^SCE("AVSIT",SDVSTDS,"")) | 
|---|
|  | 48 | I SDSCV I SDAPDPT'=11 S SDAPDPT=11 D APPT F SDE=SDOE,SDOE1 I SDE>0 D SCE(SDE) | 
|---|
|  | 49 | I 'SDSCV I SDAPDPT=11 D  D APPT F SDE=SDOE,SDOE1 I SDE>0 D SCE(SDE) | 
|---|
|  | 50 | . I SDAPDF'="" S SDAPDPT=SDAPDF ; set to default if exists for this clinic | 
|---|
|  | 51 | . E  S SDAPDPT=9 ; set to regular | 
|---|
|  | 52 | Q | 
|---|
|  | 53 | SCE(SDE)        ;Set FDA for SCE(ien,0) OUTPATIENT ENCOUNTER | 
|---|
|  | 54 | S SDIENS=SDE_"," K ^TMP("SDAMSCE",$J) | 
|---|
|  | 55 | D FDA^DILF(409.68,SDIENS,.1,,SDAPDPT,"^TMP(""SDAMSCE"",$J)","^TMP(""SDAMSCE"",$J)") | 
|---|
|  | 56 | I $D(^TMP("SDAMSCE",$J,"DIERR")) D  Q | 
|---|
|  | 57 | .W !,"Processing Error ",^TMP("SDAMSCE",$J,"DIERR",1) Q | 
|---|
|  | 58 | D FILE^DIE(,"^TMP(""SDAMSCE"",$J)","^TMP(""SDAMSCE"",$J)") | 
|---|
|  | 59 | Q | 
|---|
|  | 60 | APPT    ;quit if clinic in event doesn't match clinic in ^DPT | 
|---|
|  | 61 | ;set up app type in DPT | 
|---|
|  | 62 | I +$G(^TMP("SDAMEVT",$J,"AFTER","DPT"))'=+$G(^DPT(SDDFN,"S",SDAPDT,0)) Q | 
|---|
|  | 63 | I $D(^DPT(SDDFN,"S",SDAPDT,0)) S $P(^DPT(SDDFN,"S",SDAPDT,0),U,16)=SDAPDPT | 
|---|
|  | 64 | END     Q | 
|---|