Ignore:
Timestamp:
Dec 4, 2009, 12:11:15 AM (14 years ago)
Author:
George Lilly
Message:

revised back to 6/30/08 version

File:
1 edited

Legend:

Unmodified
Added
Removed
  • WorldVistAEHR/trunk/r/SCHEDULING-SD-SC/SDAMVSC.m

    r613 r623  
    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
     1SDAMVSC ;;OIFO-BAY PINES/TEH - Appt Event Driver Utilities-Validate SC Appt type ; 12/1/91 [ 09/19/96  1:39 PM ]
     2 ;;5.3;Scheduling;**394,417**;Aug 13, 1993
     3 ;
     4 ;***************************************************************************************************************************
     5 ;
     6 ;                                                   ***** NOTE *****
     7 ;                                                   
     8 ;This software was created to be used with the SCHEDULING V5.3 appointment management package. The SRA API (SDAMA301)
     9 ;was employed to retrieve data from the PATIENT APPOINTMENT file (2.98) due inpart to VA Fileman non-compliance.
     10 ;
     11 ;DBIA #4433 SUBSCRIPTION
     12 ;
     13 ;Entry Point EN. This routine requires the OUTPATIENT ENOUNTER IEN (variable SDOE)
     14 ;
     15 ;GLOBALS: ^SCE(IEN,0) (#.1) APPOINTMENT TYPE [10P:409.1]
     16 ;         ^DPT(IEN,"S",DATE,0)  ^ (#9.5) APPOINTMENT TYPE [16P:409.1]
     17 ;         ^SD(409.41,0)=OUTPATIENT CLASSIFCATION TYPE "Was treatment for SC Condition? " QUESTION FOR CHECKOUT.
     18 ;
     19 ;PROTOCOLS: This routine is called from the SDAM APPOINTMENT EVENTS.
     20 ;         
     21 ;This validates that both the OUTPATIENT ENCOUNTER and the PATIENT SCHEDULING NODES for APPOINTMENT TYPE are (pointer to
     22 ;409.1 APPOINTMENT TYPE) are set to the "SERVICE CONNECTED" appointment type when the response to the CLASSIFICATION TYPE
     23 ;"Was treatment for SC Condition?" question is answered "YES". If the question is answered "NO" and the APPOINTMENT TYPE
     24 ;is SERVICE CONNECTED, then the APPOINTMENT TYPE is reverted to REGULAR.
     25 ;
     26 ;
     27 ;****************************************************************************************************************************
     28 Q
     29EN ;Entry Point
     30 G END:'$D(SDOE),END:'$G(SDOE),END:SDOE=""
     31 N SDVSCL,SDVSTD,SDAPDF,SDDPTYP,SDOED,SDVSTD,SDVDPTD,SDVSCD,SDSCV,SDAPPTY,SDAPDT,SDDFN,SDVSTD,SDIENS,SDARRAY,SDAPDF
     32 S SDOED=$G(^SCE(SDOE,0)) G END:SDOED=""
     33 S SDDFN=$P(SDOED,U,2),SDAPDT=$P(SDOED,U) I '$D(^DPT(SDDFN,"S",SDAPDT,0)) Q
     34 ;GET APPOINTMENT FROM 2.98
     35 N SDAMIENS S SDAMIENS=SDAPDT_","_SDDFN_","
     36 S SDAPDPT=$$GET1^DIQ(2.98,SDAMIENS,9.5,"I")
     37 S SDVSCL=$P(SDOED,U,4)
     38 S SDVSTD=$P(SDOED,U,5),SDSCV=$$GET1^DIQ(9000010,SDVSTD_",",80001,"I")
     39 S SDAPDF=$$GET1^DIQ(44,SDVSCL_",",2507,"I")
     40 S SDAPPTY=$S(SDSCV=1:11,$D(SDAPDPT):SDAPDPT,SDAPDT'="":SDAPDF,1:9) D
     41 .;Set FDA for SCE(ien,0) OUTPATIENT ENCOUNTER
     42 .S SDIENS=SDOE_"," K ^TMP("SDAMSCE",$J)
     43 .D FDA^DILF(409.68,SDIENS,.1,,SDAPPTY,"^TMP(""SDAMSCE"",$J)","^TMP(""SDAMSCE"",$J)")
     44 .I $D(^TMP("SDAMSCE",$J,"DIERR")) D
     45 ..W !,"Processing Error ",^TMP("SDAMSCE",$J,"DIERR",1) Q
     46 .D FILE^DIE(,"^TMP(""SDAMSCE"",$J)","^TMP(""SDAMSCE"",$J)")
     47 .;Set FDA for ^DPT(ien,"S") PATIENT APPOINTMENT.
     48 .K ^TMP($J,"SDAMA301")
     49 .N SDAMVSCX S SDARRAY(1)=SDAPDT_";"_SDAPDT,SDARRAY(4)=SDDFN,SDARRAY("FLDS")=10,SDAMVSCX=$$SDAPI^SDAMA301(.SDARRAY)
     50 .I 'SDAMVSCX D  Q
     51 ..W !,"Processing Error "
     52 .S SDDPTYP=+$P($G(^TMP($J,"SDAMA301",SDDFN,SDVSCL,SDAPDT)),U,10) I SDDPTYP'=SDAPPTY D
     53 ..S $P(^DPT(SDDFN,"S",SDAPDT,0),U,16)=SDAPPTY
     54END Q
Note: See TracChangeset for help on using the changeset viewer.