[613] | 1 | SDAMA204 ;BPOIFO/NDH-Scheduling Replacement APIs ; 12/13/04 3:16pm
|
---|
| 2 | ;;5.3;Scheduling;**310,347**;13 Aug 1993
|
---|
| 3 | ;
|
---|
| 4 | ;PATAPPT - Determines if an appointment exists for a patient.
|
---|
| 5 | ;
|
---|
| 6 | ;** BEFORE USING THE API IN THIS ROUTINE, PLEASE SUBSCRIBE **
|
---|
| 7 | ;** TO DBIA #4216 **
|
---|
| 8 | ;
|
---|
| 9 | ;*****************************************************************
|
---|
| 10 | ; CHANGE LOG
|
---|
| 11 | ;
|
---|
| 12 | ; DATE PATCH DESCRIPTION
|
---|
| 13 | ;-------- ---------- -----------------------------------------
|
---|
| 14 | ;08/11/03 SD*5.3*310 API PATIENT APPOINTMENT EXISTS
|
---|
| 15 | ;07/26/04 SD*5.3*347 API Patient Appointment supports distributed
|
---|
| 16 | ; appointment files (whether actual files are
|
---|
| 17 | ; located in VistA DB or Oracle DB).
|
---|
| 18 | ;
|
---|
| 19 | ;*****************************************************************
|
---|
| 20 | ;
|
---|
| 21 | PATAPPT(SDDFN) ; Check for existence of any appointment for a patient
|
---|
| 22 | ;
|
---|
| 23 | ; This API is an extrinsic function that returns 1 of 3 values.
|
---|
| 24 | ; The API checks for the existence of appointment records.
|
---|
| 25 | ;
|
---|
| 26 | ; INPUT SDDFN : Patient's DFN number (required)
|
---|
| 27 | ;
|
---|
| 28 | ; OUTPUT 1 : Appointment(s) on file
|
---|
| 29 | ; 0 : No appointment(s) on file
|
---|
| 30 | ; -1 : Error
|
---|
| 31 | ;
|
---|
| 32 | ; ERROR CODES - 101 : Database is Unavailable
|
---|
| 33 | ; 102 : Patient ID is required
|
---|
| 34 | ; 110 : Patient ID must be numeric
|
---|
| 35 | ; 114 : Invalid Patient ID
|
---|
| 36 | ; 117 : SDAPI Error
|
---|
| 37 | ;
|
---|
| 38 | ; ERROR LOCATION : ^TMP($J,"SDAMA204","PATAPPT","ERROR")
|
---|
| 39 | ;
|
---|
| 40 | ; Check for proper parameter and return -1 if bad DFN
|
---|
| 41 | ;
|
---|
| 42 | ; Initialize node for error reporting
|
---|
| 43 | K ^TMP($J,"SDAMA204","PATAPPT")
|
---|
| 44 | N SDARRAY,SDCOUNT,SDX,SDY,DFN,VAERR
|
---|
| 45 | ;
|
---|
| 46 | ; Check for no input parameter
|
---|
| 47 | I '$D(SDDFN) D Q -1
|
---|
| 48 | .D ERROR^SDAMA200(102,"PATAPPT",0,"SDAMA204")
|
---|
| 49 | ; Check if SDDFN is numeric
|
---|
| 50 | I SDDFN'?1.N D Q -1
|
---|
| 51 | .D ERROR^SDAMA200(110,"PATAPPT",0,"SDAMA204")
|
---|
| 52 | ; Check if DFN exists or is 0
|
---|
| 53 | S DFN=SDDFN
|
---|
| 54 | D DEM^VADPT
|
---|
| 55 | I SDDFN=0!VAERR=1 D Q -1
|
---|
| 56 | .D ERROR^SDAMA200(114,"PATAPPT",0,"SDAMA204")
|
---|
| 57 | D KVAR^VADPT
|
---|
| 58 | ; Check for patient appointments and return 1 if appointment found
|
---|
| 59 | ; and 0 if no appointments found.
|
---|
| 60 | ;
|
---|
| 61 | S SDARRAY(4)=DFN,SDARRAY("FLDS")=1,SDARRAY("MAX")=1
|
---|
| 62 | S SDCOUNT=$$SDAPI^SDAMA301(.SDARRAY)
|
---|
| 63 | I SDCOUNT=0 Q 0 ; No Appt found.
|
---|
| 64 | I SDCOUNT=1 K ^TMP($J,"SDAMA301") Q 1 ; Appt(s). found.
|
---|
| 65 | ; Error Encountered.
|
---|
| 66 | I SDCOUNT=-1 D
|
---|
| 67 | .S SDX=$O(^TMP($J,"SDAMA301",""))
|
---|
| 68 | .S SDX=$S(SDX=101:101,SDX=115:114,SDX=116:114,1:117)
|
---|
| 69 | .D ERROR^SDAMA200(SDX,"PATAPPT",0,"SDAMA204")
|
---|
| 70 | .K ^TMP($J,"SDAMA301")
|
---|
| 71 | Q -1
|
---|