- SDESCRTAPPREQVAL ;ALB/JAS - Additional validation for SDESCREATEAPPREQ; FEB 07, 2024
- ;;5.3;Scheduling;**871**;Aug 13, 1993;Build 13
- ;;Per VHA Directive 6402, this routine should not be modified
- ;
- Q
- ;
- ; RPC: SDES CREATE APPT REQ (Continued from SDESCREATEAPPREQ)
- ;
- VALIDATEDFN(ERRORS,DFN) ;
- I DFN="" D ERRLOG^SDESJSON(.ERRORS,1) Q 0
- I DFN'="",'$D(^DPT(DFN,0)) D ERRLOG^SDESJSON(.ERRORS,2) Q 0
- Q 1
- ;
- VALIDATEDATETIME(ERRORS,REQUEST) ;
- I $G(REQUEST("CREATE DATE"))="" D Q 1
- . S REQUEST("CREATE DATE")=DT
- . N NOWDT S NOWDT=$$FMTISO^SDAMUTDT($$NOW^XLFDT) Q:NOWDT=-1
- . S REQUEST("CREATE DATE")=$P($$ISOTFM^SDAMUTDT(NOWDT,$G(REQUEST("CLINIC IEN"))),".")
- I $G(REQUEST("CREATE DATE"))'="" S REQUEST("CREATE DATE")=$$ISOTFM^SDAMUTDT($G(REQUEST("CREATE DATE")))
- I $G(REQUEST("CREATE DATE"))=-1 D ERRLOG^SDESJSON(.ERRORS,49) Q 0
- Q 1
- ;
- VALIDATEREQTYPE(ERRORS,REQTYPE) ;
- I REQTYPE="" D ERRLOG^SDESJSON(.ERRORS,60) Q 0
- I REQTYPE'="",REQTYPE'="APPT",REQTYPE'="MOBILE",REQTYPE'="RTC",REQTYPE'="VETERAN",REQTYPE'="W2VA" D ERRLOG^SDESJSON(.ERRORS,61) Q 0
- Q 1
- ;
- STATIONTOINST(ERRORS,STATIONNUM,INSTNAME) ;
- N INSTITUTIONIEN
- I STATIONNUM="",INSTNAME="" D ERRLOG^SDESJSON(.ERRORS,204) Q 0
- I STATIONNUM="",INSTNAME'="" S INSTITUTIONIEN=$$FIND1^DIC(4,"","X",INSTNAME,"B") I 'INSTITUTIONIEN D ERRLOG^SDESJSON(.ERRORS,205) Q 0
- I STATIONNUM'="" S INSTITUTIONIEN=$$FIND1^DIC(4,"","X",STATIONNUM,"D") I 'INSTITUTIONIEN D ERRLOG^SDESJSON(.ERRORS,197) Q 0
- Q INSTITUTIONIEN
- ;
- VALIDATECLINSTOP(ERRORS,CLINICIEN,STOP,SECSTOP) ;
- N RESTYPE
- S STOP=$G(STOP),SECSTOP=$G(SECSTOP),REQTYPE=$G(REQTYPE)
- I CLINICIEN'="",'$D(^SC(CLINICIEN,0)) D ERRLOG^SDESJSON(.ERRORS,19) Q 0
- ;
- I STOP=900 D ERRLOG^SDESJSON(.ERRORS,273) Q 0
- I STOP'="" S STOP=$$FIND1^DIC(40.7,"","X",STOP,"C") I 'STOP D ERRLOG^SDESJSON(.ERRORS,270) Q 0
- S RESTYPE=$$GET1^DIQ(40.7,STOP,5,"I")
- I STOP'="",RESTYPE'="P",RESTYPE'="E" D ERRLOG^SDESJSON(.ERRORS,287) Q 0
- ;
- I SECSTOP=900 D ERRLOG^SDESJSON(.ERRORS,273) Q 0
- I SECSTOP'="" S SECSTOP=$$FIND1^DIC(40.7,"","X",SECSTOP,"C") I 'SECSTOP D ERRLOG^SDESJSON(.ERRORS,271) Q 0
- S RESTYPE=$$GET1^DIQ(40.7,SECSTOP,5,"I")
- I SECSTOP'="",RESTYPE'="S",RESTYPE'="E" D ERRLOG^SDESJSON(.ERRORS,288) Q 0
- ;
- I SECSTOP'="",STOP="" D ERRLOG^SDESJSON(.ERRORS,234) Q 0
- I CLINICIEN="",STOP="" D ERRLOG^SDESJSON(.ERRORS,530) Q 0
- I STOP'="",CLINICIEN'="" D ERRLOG^SDESJSON(.ERRORS,202) Q 0
- I SECSTOP'="",CLINICIEN'="" D ERRLOG^SDESJSON(.ERRORS,202) Q 0
- Q 1
- ;
- VALIDATEREQBY(ERRORS,REQUESTEDBY) ;
- I REQUESTEDBY="" D ERRLOG^SDESJSON(.ERRORS,62) Q 0
- I REQUESTEDBY'="",REQUESTEDBY'="PATIENT",REQUESTEDBY'="PROVIDER" D ERRLOG^SDESJSON(.ERRORS,198)
- S REQUEST("REQUESTED BY")=$S(REQUESTEDBY="PATIENT":2,REQUESTEDBY="PROVIDER":1,1:"")
- I $D(ERRORS) Q 0
- Q 1
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HSDESCRTAPPREQVAL 2809 printed Feb 19, 2025@00:22:55 Page 2
- SDESCRTAPPREQVAL ;ALB/JAS - Additional validation for SDESCREATEAPPREQ; FEB 07, 2024
- +1 ;;5.3;Scheduling;**871**;Aug 13, 1993;Build 13
- +2 ;;Per VHA Directive 6402, this routine should not be modified
- +3 ;
- +4 QUIT
- +5 ;
- +6 ; RPC: SDES CREATE APPT REQ (Continued from SDESCREATEAPPREQ)
- +7 ;
- VALIDATEDFN(ERRORS,DFN) ;
- +1 IF DFN=""
- DO ERRLOG^SDESJSON(.ERRORS,1)
- QUIT 0
- +2 IF DFN'=""
- IF '$DATA(^DPT(DFN,0))
- DO ERRLOG^SDESJSON(.ERRORS,2)
- QUIT 0
- +3 QUIT 1
- +4 ;
- VALIDATEDATETIME(ERRORS,REQUEST) ;
- +1 IF $GET(REQUEST("CREATE DATE"))=""
- Begin DoDot:1
- +2 SET REQUEST("CREATE DATE")=DT
- +3 NEW NOWDT
- SET NOWDT=$$FMTISO^SDAMUTDT($$NOW^XLFDT)
- if NOWDT=-1
- QUIT
- +4 SET REQUEST("CREATE DATE")=$PIECE($$ISOTFM^SDAMUTDT(NOWDT,$GET(REQUEST("CLINIC IEN"))),".")
- End DoDot:1
- QUIT 1
- +5 IF $GET(REQUEST("CREATE DATE"))'=""
- SET REQUEST("CREATE DATE")=$$ISOTFM^SDAMUTDT($GET(REQUEST("CREATE DATE")))
- +6 IF $GET(REQUEST("CREATE DATE"))=-1
- DO ERRLOG^SDESJSON(.ERRORS,49)
- QUIT 0
- +7 QUIT 1
- +8 ;
- VALIDATEREQTYPE(ERRORS,REQTYPE) ;
- +1 IF REQTYPE=""
- DO ERRLOG^SDESJSON(.ERRORS,60)
- QUIT 0
- +2 IF REQTYPE'=""
- IF REQTYPE'="APPT"
- IF REQTYPE'="MOBILE"
- IF REQTYPE'="RTC"
- IF REQTYPE'="VETERAN"
- IF REQTYPE'="W2VA"
- DO ERRLOG^SDESJSON(.ERRORS,61)
- QUIT 0
- +3 QUIT 1
- +4 ;
- STATIONTOINST(ERRORS,STATIONNUM,INSTNAME) ;
- +1 NEW INSTITUTIONIEN
- +2 IF STATIONNUM=""
- IF INSTNAME=""
- DO ERRLOG^SDESJSON(.ERRORS,204)
- QUIT 0
- +3 IF STATIONNUM=""
- IF INSTNAME'=""
- SET INSTITUTIONIEN=$$FIND1^DIC(4,"","X",INSTNAME,"B")
- IF 'INSTITUTIONIEN
- DO ERRLOG^SDESJSON(.ERRORS,205)
- QUIT 0
- +4 IF STATIONNUM'=""
- SET INSTITUTIONIEN=$$FIND1^DIC(4,"","X",STATIONNUM,"D")
- IF 'INSTITUTIONIEN
- DO ERRLOG^SDESJSON(.ERRORS,197)
- QUIT 0
- +5 QUIT INSTITUTIONIEN
- +6 ;
- VALIDATECLINSTOP(ERRORS,CLINICIEN,STOP,SECSTOP) ;
- +1 NEW RESTYPE
- +2 SET STOP=$GET(STOP)
- SET SECSTOP=$GET(SECSTOP)
- SET REQTYPE=$GET(REQTYPE)
- +3 IF CLINICIEN'=""
- IF '$DATA(^SC(CLINICIEN,0))
- DO ERRLOG^SDESJSON(.ERRORS,19)
- QUIT 0
- +4 ;
- +5 IF STOP=900
- DO ERRLOG^SDESJSON(.ERRORS,273)
- QUIT 0
- +6 IF STOP'=""
- SET STOP=$$FIND1^DIC(40.7,"","X",STOP,"C")
- IF 'STOP
- DO ERRLOG^SDESJSON(.ERRORS,270)
- QUIT 0
- +7 SET RESTYPE=$$GET1^DIQ(40.7,STOP,5,"I")
- +8 IF STOP'=""
- IF RESTYPE'="P"
- IF RESTYPE'="E"
- DO ERRLOG^SDESJSON(.ERRORS,287)
- QUIT 0
- +9 ;
- +10 IF SECSTOP=900
- DO ERRLOG^SDESJSON(.ERRORS,273)
- QUIT 0
- +11 IF SECSTOP'=""
- SET SECSTOP=$$FIND1^DIC(40.7,"","X",SECSTOP,"C")
- IF 'SECSTOP
- DO ERRLOG^SDESJSON(.ERRORS,271)
- QUIT 0
- +12 SET RESTYPE=$$GET1^DIQ(40.7,SECSTOP,5,"I")
- +13 IF SECSTOP'=""
- IF RESTYPE'="S"
- IF RESTYPE'="E"
- DO ERRLOG^SDESJSON(.ERRORS,288)
- QUIT 0
- +14 ;
- +15 IF SECSTOP'=""
- IF STOP=""
- DO ERRLOG^SDESJSON(.ERRORS,234)
- QUIT 0
- +16 IF CLINICIEN=""
- IF STOP=""
- DO ERRLOG^SDESJSON(.ERRORS,530)
- QUIT 0
- +17 IF STOP'=""
- IF CLINICIEN'=""
- DO ERRLOG^SDESJSON(.ERRORS,202)
- QUIT 0
- +18 IF SECSTOP'=""
- IF CLINICIEN'=""
- DO ERRLOG^SDESJSON(.ERRORS,202)
- QUIT 0
- +19 QUIT 1
- +20 ;
- VALIDATEREQBY(ERRORS,REQUESTEDBY) ;
- +1 IF REQUESTEDBY=""
- DO ERRLOG^SDESJSON(.ERRORS,62)
- QUIT 0
- +2 IF REQUESTEDBY'=""
- IF REQUESTEDBY'="PATIENT"
- IF REQUESTEDBY'="PROVIDER"
- DO ERRLOG^SDESJSON(.ERRORS,198)
- +3 SET REQUEST("REQUESTED BY")=$SELECT(REQUESTEDBY="PATIENT":2,REQUESTEDBY="PROVIDER":1,1:"")
- +4 IF $DATA(ERRORS)
- QUIT 0
- +5 QUIT 1