Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: SDES2VALISODTTM

SDES2VALISODTTM.m

Go to the documentation of this file.
  1. SDES2VALISODTTM ;ALB/BWF - SDES2 VALIDATE ISO DATE/TIMES ;JUL 28, 2023
  1. ;;5.3;Scheduling;**853,866**;Aug 13, 1993;Build 22
  1. ;;Per VHA Directive 6402, this routine should not be modified
  1. ;
  1. Q
  1. ;
  1. ; extrinsic function to validate a date using specific error codes from 409.93
  1. ; returns Fileman date if valid or "" if invalid
  1. ; DATE - Date/time in ISO Format (required)
  1. ; CLINIC - clinic IEN to apply clinic timezone offset (optional)
  1. ; REQUIRED - 1 for required - This tells the validator if this field should be required (optional - defaults to not required)
  1. ; MISSINGERRORID - The custom error ID for a "Missing" date. If not passed, will default to '45 - Missing date' (optional)
  1. ; INVALIDERRORID - The custom error ID for an "Invalid" date. If not passed, will default to '46 - Invalid date' (optional)
  1. ; DELERRID - Deletion error ID, when process is trying to delete a required field with '@'
  1. ; MISSERRTEXT - Error text to add to the returned 'MISSING' error
  1. ; INVALERRTEXT - Error text to add to the returned 'INVALID' error
  1. ; DELERRTEXT - Error text to add to the returned 'DELETE' error
  1. ;
  1. VALISODTTM(ERRORS,DATETIME,CLINIC,REQUIRED,MISSINGERRID,INVALIDERRID,DELERRID,MISSERRTEXT,INVALERRTEXT,DELERRTEXT) ;
  1. N FMSDATE,MISSINGID,INVALIDID
  1. S MISSINGID=$S($G(MISSINGERRID):MISSINGERRID,$P($G(DATETIME),"T",2)'="":496,1:45)
  1. S INVALIDID=$S($G(INVALIDERRID):INVALIDERRID,$P($G(DATETIME),"T",2)'="":497,1:46)
  1. I '$G(REQUIRED),$G(DATETIME)="" Q ""
  1. I $G(REQUIRED),$G(DATETIME)="" D ERRLOG^SDES2JSON(.ERRORS,MISSINGID,$G(MISSERRTEXT)) Q ""
  1. I $G(REQUIRED),$G(DATETIME)="@" D Q ""
  1. .I $G(DELERRID) D ERRLOG^SDES2JSON(.ERRORS,DELERRID,$G(DELERRTEXT)) Q
  1. .D ERRLOG^SDES2JSON(.ERRORS,229,$G(DELERRTEXT))
  1. S FMSDATE=$$ISOTFM^SDAMUTDT($G(DATETIME),$G(CLINIC))
  1. I FMSDATE<1 D ERRLOG^SDES2JSON(.ERRORS,INVALIDID,$G(INVALERRTEXT)) Q ""
  1. Q FMSDATE
  1. ;
  1. ; extrinsic function to validate a date/time range
  1. ; STARTDTTM (REQUIRED) - Start date or date/time in ISO format
  1. ; ENDDTTM (REQUIRED) - End date or date/time in ISO format
  1. ; REQUIRED (OPTIONAL) - 1 if the date range is required,
  1. ; if required start date/time and end date/time must be passed in or an error will be returned
  1. ; CLINIC (OPTIONAL) - Clinic IEN to apply clinic timezone offset
  1. ;
  1. VALISODATERANGE(ERRORS,STARTDTTM,ENDDTTM,REQUIRED,CLINIC) ;
  1. N FMSDATE,MISSINGID,INVALIDID,FMSTART,FMEND,ERRORFLAG
  1. I '$G(REQUIRED),('$L($G(STARTDTTM))!('$L($G(ENDDTTM)))) Q ""
  1. I $G(REQUIRED),'$L($G(STARTDTTM)) S ERRORFLAG=1 D ERRLOG^SDES2JSON(.ERRORS,498)
  1. I $G(REQUIRED),'$L($G(ENDDTTM)) S ERRORFLAG=1 D ERRLOG^SDES2JSON(.ERRORS,501)
  1. I $G(ERRORFLAG) Q ""
  1. S FMSTART=$$ISOTFM^SDAMUTDT(STARTDTTM,$G(CLINIC))
  1. I FMSTART<1 S ERRORFLAG=1 D ERRLOG^SDES2JSON(.ERRORS,499)
  1. S FMEND=$$ISOTFM^SDAMUTDT(ENDDTTM,$G(CLINIC))
  1. I FMEND<1 S ERRORFLAG=1 D ERRLOG^SDES2JSON(.ERRORS,502)
  1. I $G(ERRORFLAG) Q ""
  1. I FMEND<FMSTART D ERRLOG^SDES2JSON(.ERRORS,503) Q ""
  1. Q FMSTART_U_FMEND