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

SDES2VAL44.m

Go to the documentation of this file.
  1. SDES2VAL44 ;ALB/BWF,MGD/BLB - SDES2 Clinic validation utilities ;DEC 31, 2023
  1. ;;5.3;Scheduling;**853,857,864,866,871,890**;Aug 13, 1993;Build 5
  1. ;;Per VHA Directive 6402, this routine should not be modified
  1. ;
  1. Q
  1. ; ISREQUIRED - 1 = true - this forces a clinic ien to be passed in and must be valid
  1. ; 0 or "" = false - the incoming value of "" will pass validation - i.e. not required
  1. ; ALLOWDELETE - 1 = true - this allows '@' to be valid for deletion. "" is also valid since
  1. ; it does the same as '@' from a data perspective
  1. ; 0 or "" = false - '@' will not be valid
  1. VALCLINIEN(ERRORS,SDIEN,ISREQUIRED,ALLOWDELETE) ;
  1. I $G(ISREQUIRED),SDIEN="" D ERRLOG^SDES2JSON(.ERRORS,18) Q
  1. I '$G(ISREQUIRED),SDIEN="" Q
  1. I $G(ALLOWDELETE),(SDIEN="@")!(SDIEN="") Q
  1. I '$G(ALLOWDELETE),SDIEN="@" D ERRLOG^SDES2JSON(.ERRORS,229,"Clinic ID") Q
  1. I '$D(^SC(SDIEN,0)) D ERRLOG^SDES2JSON(.ERRORS,19)
  1. Q
  1. ;
  1. VALNAME(ERRORS,SDNAME,FDATA) ; required - cannot be deleted with @ or "" - can be changed
  1. I SDNAME="@" D ERRLOG^SDES2JSON(.ERRORS,229,"Clinic Name") Q
  1. I SDNAME="" D ERRLOG^SDES2JSON(.ERRORS,50) Q
  1. S SDNAME=$$UP^XLFSTR(SDNAME)
  1. I $L(SDNAME)>30!($L(SDNAME)<2)!'(SDNAME'?1P.E)!(SDNAME'?.ANP) D ERRLOG^SDES2JSON(.ERRORS,51) Q
  1. I SDNAME'="",$D(^SC("B",$E(SDNAME,1,30))) D ERRLOG^SDES2JSON(.ERRORS,481) Q
  1. S FDATA("NAME")=SDNAME
  1. Q
  1. ;
  1. VALABBR(ERRORS,SDABR,FDATA) ;
  1. I SDABR="@" S FDATA("ABBREVIATION")="" Q
  1. I SDABR'="",$L(SDABR)>7 D ERRLOG^SDES2JSON(.ERRORS,251) Q
  1. S FDATA("ABBREVIATION")=SDABR
  1. Q
  1. ;
  1. VALPATFNAME(ERRORS,SDPATNAME,FDATA) ;
  1. I SDPATNAME="@" S FDATA("PATIENT FRIENDLY NAME")="" Q
  1. I SDPATNAME'="",(($L(SDPATNAME)<3)!($L(SDPATNAME)>80)) D ERRLOG^SDES2JSON(.ERRORS,482) Q
  1. S FDATA("PATIENT FRIENDLY NAME")=SDPATNAME
  1. Q
  1. ;
  1. VALMEETATFACIL(ERRORS,SDMEETATFAC,FDATA) ; required, cannot be deleted with "@" or "" - can be changed
  1. I SDMEETATFAC="@" D ERRLOG^SDES2JSON(.ERRORS,229,"Clinic meets at this facility?") Q
  1. ; Default to Y like SDBUILD
  1. I SDMEETATFAC="" S SDMEETATFAC="Y"
  1. I '$$CHECKYN^SDES2UTIL(SDMEETATFAC) D ERRLOG^SDES2JSON(.ERRORS,87) Q
  1. S FDATA("MEETS AT FACILITY")=SDMEETATFAC
  1. Q
  1. ;
  1. VALDIRPATSCHED(ERRORS,SDPATSCHED,FDATA) ; required, cannot be deleted with "@" or "" - can be changed
  1. I SDPATSCHED="@" D ERRLOG^SDES2JSON(.ERRORS,229,"Direct Patient Scheduling") Q
  1. I SDPATSCHED="" D ERRLOG^SDES2JSON(.ERRORS,88) Q
  1. I '$$CHECKYN^SDES2UTIL(SDPATSCHED) D ERRLOG^SDES2JSON(.ERRORS,89) Q
  1. S FDATA("DIRECT PATIENT SCHEDULING")=SDPATSCHED
  1. Q
  1. ;
  1. VALDISPAPPT(ERRORS,SDCLINIC,FDATA) ; required, cannot be deleted with "@" or "" - can be changed
  1. N SDDISPAPPT
  1. S SDDISPAPPT=$G(SDCLINIC("DISPLAY APPOINTMENTS"))
  1. I SDDISPAPPT="@" D ERRLOG^SDES2JSON(.ERRORS,229,"Display Clinic Appointment to Patients") Q
  1. I SDDISPAPPT="" D ERRLOG^SDES2JSON(.ERRORS,90) Q
  1. I '$$CHECKYN^SDES2UTIL(SDDISPAPPT) D ERRLOG^SDES2JSON(.ERRORS,91)
  1. S FDATA("DISPLAY APPOINTMENTS")=SDDISPAPPT
  1. Q
  1. ;
  1. VALSERVICE(ERRORS,SDCLINIC,FDATA) ; required, cannot be deleted with @ or "" - can be changed
  1. N VRET
  1. D VALFIELD^SDES2VALUTIL(.VRET,.ERRORS,44,9,$G(SDCLINIC("SERVICE")),1,,92,93,229)
  1. S FDATA("SERVICE")=$G(VRET(44,9,"I"))
  1. Q
  1. ;
  1. VALNONCOUNT(ERRORS,SDCLINIC,FDATA) ; required, cannot be deleted with "@" or "" - can be changed
  1. N SDNONCOUNT
  1. S SDNONCOUNT=$G(SDCLINIC("NON-COUNT"))
  1. I SDNONCOUNT="" D ERRLOG^SDES2JSON(.ERRORS,94) Q
  1. I SDNONCOUNT="@" D ERRLOG^SDES2JSON(.ERRORS,229,"Non-count Clinic") Q
  1. I '$$CHECKYN^SDES2UTIL(SDNONCOUNT) D ERRLOG^SDES2JSON(.ERRORS,95) Q
  1. S FDATA("NON-COUNT")=SDNONCOUNT
  1. Q
  1. ;
  1. VALDIV(ERRORS,SDCLINIC,FDATA) ; required field, cannot be deleted with @ or "" - can be changed
  1. N SDDIVISION
  1. S SDDIVISION=$G(SDCLINIC("DIVISION"))
  1. I SDDIVISION="@" D ERRLOG^SDES2JSON(.ERRORS,229,"Division") Q
  1. I SDDIVISION="" D ERRLOG^SDES2JSON(.ERRORS,96) Q
  1. I +SDDIVISION,$D(^DG(40.8,SDDIVISION,0)) S FDATA("DIVISION")=SDDIVISION Q
  1. S SDDIVISION=$O(^DG(40.8,"B",$E(SDDIVISION,1,30),"A"),-1)
  1. I SDDIVISION="" S SDDIVISION=$G(SDCLINIC("DIVISION")),SDDIVISION=$O(^DG(40.8,"C",$E(SDDIVISION,1,30),""),-1)
  1. I 'SDDIVISION D ERRLOG^SDES2JSON(.ERRORS,97) Q
  1. S FDATA("DIVISION")=SDDIVISION
  1. Q
  1. ;
  1. VALINCPERHOUR(ERRORS,SDCLINIC,FDATA) ; required field, cannot be deleted with @ or "" - can't be changed
  1. N SDDISINCPERHOUR,ERR
  1. S SDDISINCPERHOUR=$G(SDCLINIC("DISPLAY INCREMENTS PER HOUR"))
  1. I SDDISINCPERHOUR="" D ERRLOG^SDES2JSON(.ERRORS,117) Q
  1. I SDDISINCPERHOUR="@" D ERRLOG^SDES2JSON(.ERRORS,229) Q
  1. I SDDISINCPERHOUR'="" D
  1. .S ERR='$F("^60^30^20^15^10^","^"_SDDISINCPERHOUR_"^")
  1. .I ERR D ERRLOG^SDES2JSON(.ERRORS,118) Q
  1. .S SDDISINCPERHOUR=60\SDDISINCPERHOUR
  1. .S FDATA("DISPLAY INCREMENTS PER HOUR")=SDDISINCPERHOUR
  1. Q
  1. ;
  1. VALAPPTTYPE(ERRORS,SDCLINIC,FDATA) ;
  1. N SDAPPTTYP
  1. S SDAPPTTYP=$G(SDCLINIC("DEFAULT APPOINTMENT TYPE"))
  1. I SDAPPTTYP=""!(SDAPPTTYP="@") S FDATA("DEFAULT APPOINTMENT TYPE")="" Q
  1. I +SDAPPTTYP,$D(^SD(409.1,SDAPPTTYP,0)) S FDATA("DEFAULT APPOINTMENT TYPE")=SDAPPTTYP Q
  1. S SDAPPTTYP=$O(^SD(409.1,"B",$E(SDAPPTTYP,1,30),""),-1)
  1. I 'SDAPPTTYP D ERRLOG^SDES2JSON(.ERRORS,83) Q
  1. I SDAPPTTYP S FDATA("DEFAULT APPOINTMENT TYPE")=SDAPPTTYP Q
  1. ;
  1. VALINPATMED(ERRORS,SDCLINIC,FDATA) ;
  1. N SDINPATMED
  1. S SDINPATMED=$G(SDCLINIC("ADMIN INPATIENT MEDS"))
  1. I SDINPATMED="@"!(SDINPATMED="") S FDATA("ADMIN INPATIENT MEDS")="" Q
  1. I SDINPATMED'="Y" D ERRLOG^SDES2JSON(.ERRORS,122) Q
  1. S FDATA("ADMIN INPATIENT MEDS")=$$YNTOBOOL^SDES2UTIL(SDINPATMED)
  1. Q
  1. ;
  1. VALPHONE(ERRORS,SDPHONE,FDATA) ;
  1. I SDPHONE=""!(SDPHONE="@") S FDATA("TELEPHONE")="" Q
  1. I $L(SDPHONE)<3!($L(SDPHONE)>13) D ERRLOG^SDES2JSON(.ERRORS,483) Q
  1. S FDATA("TELEPHONE")=SDPHONE
  1. Q
  1. VALPHONEEXT(ERRORS,SDPHONEEXT,FDATA) ;
  1. I SDPHONEEXT=""!(SDPHONEEXT="@") S FDATA("TELEPHONE EXTENSION")="" Q
  1. I $L(SDPHONEEXT)>26 D ERRLOG^SDES2JSON(.ERRORS,424) Q
  1. S FDATA("TELEPHONE EXTENSION")=SDPHONEEXT
  1. Q
  1. ;
  1. VALXRAY(ERRORS,SDREQXRAY,FDATA) ;
  1. I SDREQXRAY="@"!(SDREQXRAY="") S FDATA("REQUIRE X-RAY")="" Q
  1. I SDREQXRAY'="Y" D ERRLOG^SDES2JSON(.ERRORS,123) Q
  1. S FDATA("REQUIRE X-RAY")=SDREQXRAY
  1. Q
  1. ;
  1. VALSCHEDHOLIDAY(ERRORS,SDSCHEDHOLIDAY,FDATA) ; SCHEDULE ON HOLIDAYS?
  1. I SDSCHEDHOLIDAY="@"!(SDSCHEDHOLIDAY="") S FDATA("SCHEDULE ON HOLIDAYS")="" Q
  1. I SDSCHEDHOLIDAY'="",SDSCHEDHOLIDAY'="Y" D ERRLOG^SDES2JSON(.ERRORS,360) Q
  1. S FDATA("SCHEDULE ON HOLIDAYS")=SDSCHEDHOLIDAY
  1. Q
  1. ;
  1. VALPROFILE(ERRORS,SDCLINIC,FDATA) ; required - cannot be deleted with '@' or "" - can be changed
  1. N SDREQPROFILE
  1. S SDREQPROFILE=$G(SDCLINIC("REQUIRE ACTION PROFILES"))
  1. I SDREQPROFILE="" D ERRLOG^SDES2JSON(.ERRORS,477) Q
  1. I SDREQPROFILE="@" D ERRLOG^SDES2JSON(.ERRORS,229,"Require Action Profiles") Q
  1. I '$$CHECKYN^SDES2UTIL(SDREQPROFILE) D ERRLOG^SDES2JSON(.ERRORS,100) Q
  1. S SDREQPROFILE=$$YNTOBOOL^SDES2UTIL(SDREQPROFILE)
  1. I SDREQPROFILE?1N S FDATA("REQUIRE ACTION PROFILES")='SDREQPROFILE ;Because this field is defined oddly where 1=No and 0=Yes
  1. Q
  1. ;
  1. VALNOSHOWLET(ERRORS,SDCLINIC,FDATA) ;
  1. N SDNOSHOWLET,NOSHOWERRORS
  1. S SDNOSHOWLET=$G(SDCLINIC("NO-SHOW LETTER"))
  1. I SDNOSHOWLET=""!(SDNOSHOWLET="@") S FDATA("NO-SHOW LETTER")="" Q
  1. S SDNOSHOWLET=$$LETTERIEN(.NOSHOWERRORS,SDNOSHOWLET)
  1. I 'SDNOSHOWLET D ERRLOG^SDES2JSON(.ERRORS,82,"No-show") Q
  1. S FDATA("NO-SHOW LETTER")=SDNOSHOWLET
  1. Q
  1. ;
  1. VALPREAPTLET(ERRORS,SDCLINIC,FDATA) ;
  1. N SDPREAPTLET,PREAPTERRORS
  1. S SDPREAPTLET=$G(SDCLINIC("PRE-APPOINTMENT LETTER"))
  1. I SDPREAPTLET=""!(SDPREAPTLET="@") S FDATA("PRE-APPOINTMENT LETTER")="" Q
  1. S SDPREAPTLET=$$LETTERIEN(.PREAPTERRORS,SDPREAPTLET)
  1. I 'SDPREAPTLET D ERRLOG^SDES2JSON(.ERRORS,82,"Pre appointment") Q
  1. S FDATA("PRE-APPOINTMENT LETTER")=SDPREAPTLET
  1. Q
  1. ;
  1. VALCANLET(ERRORS,SDCLINIC,FDATA) ;
  1. N SDCANLET,CANLETERRORS
  1. S SDCANLET=$G(SDCLINIC("CLINIC CANCELLATION LETTER"))
  1. I SDCANLET=""!(SDCANLET="@") S FDATA("CLINIC CANCELLATION LETTER")="" Q
  1. S SDCANLET=$$LETTERIEN(.CANLETERRORS,SDCANLET)
  1. I 'SDCANLET D ERRLOG^SDES2JSON(.ERRORS,82,"Clinic cancellation") Q
  1. S FDATA("CLINIC CANCELLATION LETTER")=SDCANLET
  1. Q
  1. ;
  1. VALAPTCANLET(ERRORS,SDCLINIC,FDATA) ;
  1. N SDAPTCANLET,CANLETERRORS
  1. S SDAPTCANLET=$G(SDCLINIC("APPOINTMENT CANCELLATION LETTER"))
  1. I SDAPTCANLET=""!(SDAPTCANLET="@") S FDATA("APPOINTMENT CANCELLATION LETTER")="" Q
  1. S SDAPTCANLET=$$LETTERIEN(.CANLETERRORS,SDAPTCANLET)
  1. I 'SDAPTCANLET D ERRLOG^SDES2JSON(.ERRORS,82,"Appointment cancellation") Q
  1. S FDATA("APPOINTMENT CANCELLATION LETTER")=SDAPTCANLET
  1. Q
  1. ;
  1. VALINOUTTIME(ERRORS,SDCLINIC,FDATA) ;
  1. N SDINOUTTIME
  1. S SDINOUTTIME=$G(SDCLINIC("ASK CHECK IN/OUT"))
  1. I SDINOUTTIME="@"!(SDINOUTTIME="") S FDATA("ASK CHECK IN/OUT")="" Q
  1. I '$$CHECKYN^SDES2UTIL(SDINOUTTIME) D ERRLOG^SDES2JSON(.ERRORS,101) Q
  1. S SDINOUTTIME=$$YNTOBOOL^SDES2UTIL(SDINOUTTIME)
  1. S FDATA("ASK CHECK IN/OUT")=SDINOUTTIME
  1. Q
  1. ;
  1. VALSTARTHOUR(ERRORS,SDSTARTHR,FDATA) ; HOUR CLINIC DISPLAY BEGINS
  1. I SDSTARTHR="" S SDSTARTHR=8 ;default
  1. I SDSTARTHR'="" S SDSTARTHR=+SDSTARTHR
  1. I SDSTARTHR>16 D ERRLOG^SDES2JSON(.ERRORS,119) Q
  1. S FDATA("HOUR CLINIC DISPLAY BEGINS")=SDSTARTHR
  1. Q
  1. ;
  1. VALDEFAULTTOPRAC(ERRORS,SDCLINIC,FDATA) ;
  1. N SDPRACTIONER
  1. S SDPRACTIONER=$G(SDCLINIC("DEFAULT TO PC PRACTITIONER"))
  1. I SDPRACTIONER="@"!(SDPRACTIONER="") S FDATA("DEFAULT TO PC PRACTITIONER")="" Q
  1. I '$$CHECKYN^SDES2UTIL(SDPRACTIONER) D ERRLOG^SDES2JSON(.ERRORS,102) Q
  1. S SDPRACTIONER=$$YNTOBOOL^SDES2UTIL(SDPRACTIONER)
  1. S FDATA("DEFAULT TO PC PRACTITIONER")=SDPRACTIONER
  1. Q
  1. ;
  1. VALWORKLOAD(ERRORS,SDCLINIC,FDATA) ;
  1. N SDWORKLOAD
  1. S SDWORKLOAD=$G(SDCLINIC("WORKLOAD VALIDATION"))
  1. I SDWORKLOAD="@"!(SDWORKLOAD="") S FDATA("WORKLOAD VALIDATION")="" Q
  1. I '$$CHECKYN^SDES2UTIL(SDWORKLOAD) D ERRLOG^SDES2JSON(.ERRORS,103) Q
  1. S SDWORKLOAD=$$YNTOBOOL^SDES2UTIL(SDWORKLOAD)
  1. S FDATA("WORKLOAD VALIDATION")=SDWORKLOAD
  1. Q
  1. ;
  1. VALALLOWNOSHOW(ERRORS,SDALLOWNOSHW,FDATA) ; required - cannot be deleted with '@' or "" - can be changed
  1. I SDALLOWNOSHW="@" D ERRLOG^SDES2JSON(.ERRORS,229,"Allowable Consecutive No-Shows") Q
  1. I SDALLOWNOSHW="" D ERRLOG^SDES2JSON(.ERRORS,104) Q
  1. I SDALLOWNOSHW["."!(SDALLOWNOSHW'?1.3N) D ERRLOG^SDES2JSON(.ERRORS,105) Q
  1. S FDATA("ALLOWABLE CONSECUTIVE NO-SHOWS")=SDALLOWNOSHW
  1. Q
  1. ;
  1. VALMAXFUTBOOK(ERRORS,SDMAXFUTBOOK,FDATA) ; required, cannot be deleted with '@' or "" - can be changed
  1. I SDMAXFUTBOOK="@" D ERRLOG^SDES2JSON(.ERRORS,229,"Max # Days for Future Booking") Q
  1. I SDMAXFUTBOOK="" D ERRLOG^SDES2JSON(.ERRORS,106) Q
  1. I SDMAXFUTBOOK'?1.3N D ERRLOG^SDES2JSON(.ERRORS,107) Q
  1. I SDMAXFUTBOOK["."!((SDMAXFUTBOOK<11)!(SDMAXFUTBOOK>999)) D ERRLOG^SDES2JSON(.ERRORS,107) Q
  1. S FDATA("MAX DAYS FUTURE BOOKING")=SDMAXFUTBOOK
  1. Q
  1. ;
  1. VALNOACCESS(ERRORS,SDNOACCESS,FDATA) ;
  1. I SDNOACCESS="@"!(SDNOACCESS="") S FDATA("PROHIBIT ACCESS TO CLINIC")="" Q
  1. I SDNOACCESS'="Y" D ERRLOG^SDES2JSON(.ERRORS,485) Q
  1. S FDATA("PROHIBIT ACCESS TO CLINIC")=SDNOACCESS
  1. Q
  1. ;
  1. VALINCLUDEFROOM(ERRORS,SDFILEROOM,FDATA) ;
  1. I SDFILEROOM="@"!(SDFILEROOM="") S FDATA("INCLUDE ON FILE ROOM LISTS")="" Q
  1. I '$$CHECKYN^SDES2UTIL(SDFILEROOM) D ERRLOG^SDES2JSON(.ERRORS,495) Q
  1. S FDATA("INCLUDE ON FILE ROOM LISTS")=SDFILEROOM
  1. Q
  1. ;
  1. VALLOCATION(ERRORS,SDLOCATION,FDATA) ;
  1. I SDLOCATION=""!(SDLOCATION="@") S FDATA("PHYSICAL LOCATION")="" Q
  1. I $L(SDLOCATION)<1!($L(SDLOCATION)>25) D ERRLOG^SDES2JSON(.ERRORS,484) Q
  1. S FDATA("PHYSICAL LOCATION")=SDLOCATION
  1. Q
  1. ;
  1. VALPRINCLINIC(ERRORS,SDPRINCLINIC,FDATA) ;
  1. I SDPRINCLINIC="@"!(SDPRINCLINIC="") S FDATA("PRINCIPAL CLINIC")="" Q
  1. I +SDPRINCLINIC,$$INACTIVE^SDES2UTIL(SDPRINCLINIC,DT) D ERRLOG^SDES2JSON(.ERRORS,510,SDPRINCLINIC) Q
  1. I +SDPRINCLINIC,$D(^SC(SDPRINCLINIC,0)) S FDATA("PRINCIPAL CLINIC")=SDPRINCLINIC Q
  1. S SDPRINCLINIC=$O(^SC("B",$E(SDPRINCLINIC,1,30),""),-1)
  1. I SDPRINCLINIC="" D ERRLOG^SDES2JSON(.ERRORS,110) Q
  1. I $$INACTIVE^SDES2UTIL(SDPRINCLINIC,DT) D ERRLOG^SDES2JSON(.ERRORS,510,$$GET1^DIQ(44,SDPRINCLINIC,.01,"E")) Q
  1. S FDATA("PRINCIPAL CLINIC")=SDPRINCLINIC
  1. Q
  1. ;
  1. VALOVBDAYMAX(ERRORS,SDCLINIC,FDATA) ; required, cannot be deleted with '@' or "" - can be changed
  1. N SDOVBDAYMAX
  1. S SDOVBDAYMAX=$G(SDCLINIC("OVERBOOKS/DAY MAX"))
  1. I SDOVBDAYMAX="@" D ERRLOG^SDES2JSON(.ERRORS,229,"Overbooks/Day Maximum") Q
  1. I SDOVBDAYMAX="" D ERRLOG^SDES2JSON(.ERRORS,111) Q
  1. I SDOVBDAYMAX'?1.4N D ERRLOG^SDES2JSON(.ERRORS,112) Q
  1. S FDATA("OVERBOOKS/DAY MAX")=SDOVBDAYMAX
  1. Q
  1. ;
  1. VALCHECKIN(ERRORS,SDCLINIC,FDATA) ; required, cannot be deleted with '@' or "" - can be changed
  1. N SDECHECKIN
  1. S SDECHECKIN=$G(SDCLINIC("E-CHECKIN ALLOWED"))
  1. I SDECHECKIN="" D ERRLOG^SDES2JSON(.ERRORS,478) Q
  1. I SDECHECKIN="@" D ERRLOG^SDES2JSON(.ERRORS,229,"E-Checkin Allowed") Q
  1. I '$$CHECKYN^SDES2UTIL(SDECHECKIN) D ERRLOG^SDES2JSON(.ERRORS,113) Q
  1. S SDECHECKIN=$$YNTOBOOL^SDES2UTIL(SDECHECKIN)
  1. S FDATA("E-CHECKIN ALLOWED")=SDECHECKIN
  1. Q
  1. ;
  1. VALPRECHECKIN(ERRORS,SDCLINIC,FDATA) ; required, cannot be deleted with '@' or "" - can be changed
  1. N SDPRECHECKIN
  1. S SDPRECHECKIN=$G(SDCLINIC("PRE-CHECKIN ALLOWED"))
  1. I SDPRECHECKIN="" D ERRLOG^SDES2JSON(.ERRORS,476) Q
  1. I SDPRECHECKIN="@" D ERRLOG^SDES2JSON(.ERRORS,229,"Pre-Check-in Allowed") Q
  1. I '$$CHECKYN^SDES2UTIL(SDPRECHECKIN) D ERRLOG^SDES2JSON(.ERRORS,114) Q
  1. S SDPRECHECKIN=$$YNTOBOOL^SDES2UTIL(SDPRECHECKIN)
  1. S FDATA("PRE-CHECKIN ALLOWED")=SDPRECHECKIN
  1. Q
  1. ;
  1. VALAPPTLENGTH(ERRORS,LENGTH,CLINICIEN,INCREMENT,FDATA) ; required, cannot be deleted with '@' or "" - can be changed
  1. I LENGTH="@" D ERRLOG^SDES2JSON(.ERRORS,229,"Length of Appointment") Q
  1. I LENGTH="" D ERRLOG^SDES2JSON(.ERRORS,115) Q
  1. ;
  1. I ((LENGTH<10)!(LENGTH>240)) D ERRLOG^SDES2JSON(.ERRORS,116) Q
  1. I (LENGTH#10'=0),(LENGTH#15'=0) D ERRLOG^SDES2JSON(.ERRORS,116) Q
  1. ;
  1. I INCREMENT'=$P($$GET1^DIQ(44,CLINICIEN,1917),"-"),LENGTH=$$GET1^DIQ(44,CLINICIEN,1912,"I") D ERRLOG^SDES2JSON(.ERRORS,594) Q
  1. ;
  1. I (CLINICIEN'=""),(LENGTH'=$$GET1^DIQ(44,CLINICIEN,1912,"I")) D
  1. .I LENGTH'=30,LENGTH'=60 D ERRLOG^SDES2JSON(.ERRORS,587) Q
  1. .I LENGTH<$$GET1^DIQ(44,CLINICIEN,1912,"I") D ERRLOG^SDES2JSON(.ERRORS,585) Q
  1. .I LENGTH=30,INCREMENT'=30,INCREMENT'=$P($$GET1^DIQ(44,CLINICIEN,1917),"-") D ERRLOG^SDES2JSON(.ERRORS,589) Q
  1. .I LENGTH=60,INCREMENT'=60,INCREMENT'=$P($$GET1^DIQ(44,CLINICIEN,1917),"-") D ERRLOG^SDES2JSON(.ERRORS,588) Q
  1. .;
  1. .I $$GET1^DIQ(44,CLINICIEN,1912,"I")>45 D ERRLOG^SDES2JSON(.ERRORS,595) Q
  1. .I $$GET1^DIQ(44,CLINICIEN,1912,"I")>15,LENGTH'=60 D ERRLOG^SDES2JSON(.ERRORS,586)
  1. ;
  1. I $D(ERRORS) Q
  1. ;
  1. S INCREMENT=$S($G(INCREMENT):INCREMENT,1:$$GET1^DIQ(44,CLINICIEN,1917,"I"))
  1. S INCREMENT=$S(INCREMENT=60:1,INCREMENT=30:2,INCREMENT=15:4,INCREMENT=20:3,INCREMENT=10:6,1:"")
  1. S FDATA("LENGTH OF APPOINTMENT")=$G(LENGTH)
  1. S FDATA("DISPLAY INCREMENTS PER HOUR")=$G(INCREMENT)
  1. Q
  1. ;
  1. VALVARAPTLENGTH(ERRORS,SDCLINIC,FDATA) ;
  1. N SDVARAPTLNG
  1. S SDVARAPTLNG=$G(SDCLINIC("VARIABLE APPOINTMENT LENGTH"))
  1. I SDVARAPTLNG="@"!(SDVARAPTLNG="") S FDATA("VARIABLE APPOINTMENT LENGTH")="" Q
  1. I '$$CHECKYN^SDES2UTIL(SDVARAPTLNG) D ERRLOG^SDES2JSON(.ERRORS,301) Q
  1. I SDVARAPTLNG="Y" S SDVARAPTLNG="V",FDATA("VARIABLE APPOINTMENT LENGTH")=SDVARAPTLNG Q
  1. S SDVARAPTLNG=""
  1. S FDATA("VARIABLE APPOINTMENT LENGTH")=SDVARAPTLNG
  1. Q
  1. ;
  1. VALPRIMAMIS(ERRORS,SDCLINIC,FDATA) ; PRIMARY AMIS STOP CODE
  1. N SDPRIMAMIS,SDAMISERROR
  1. S SDPRIMAMIS=$G(SDCLINIC("PRIMARY AMIS"))
  1. I SDPRIMAMIS="" D ERRLOG^SDES2JSON(.ERRORS,479) Q
  1. I SDPRIMAMIS="@" D ERRLOG^SDES2JSON(.ERRORS,229,"Primary AMIS") Q
  1. S SDAMISERROR=$$VALIDATEAMIS^SDES2UTIL(.SDPRIMAMIS,"P")
  1. I SDAMISERROR D ERRLOG^SDES2JSON(.ERRORS,SDAMISERROR) Q
  1. S FDATA("PRIMARY AMIS")=SDPRIMAMIS
  1. Q
  1. ;
  1. VALCREDITAMIS(ERRORS,SDCLINIC,FDATA) ; CREDIT AMIS STOP CODE
  1. N SDCREDITAMIS,SDAMISERROR
  1. S SDCREDITAMIS=$G(SDCLINIC("CREDIT AMIS"))
  1. I SDCREDITAMIS=""!(SDCREDITAMIS="@") S FDATA("CREDIT AMIS")=SDCREDITAMIS Q
  1. S SDAMISERROR=$$VALIDATEAMIS^SDES2UTIL(.SDCREDITAMIS,"C")
  1. I SDAMISERROR D ERRLOG^SDES2JSON(.ERRORS,SDAMISERROR) Q
  1. S FDATA("CREDIT AMIS")=SDCREDITAMIS
  1. Q
  1. ;
  1. CONDAMISCHECK(ERRORS,SDPRIMAMIS,SDCREDITAMIS) ;
  1. ; Primary & Credit Stop Codes can't be the same
  1. I SDPRIMAMIS=SDCREDITAMIS D ERRLOG^SDES2JSON(.ERRORS,380)
  1. Q
  1. ;
  1. LETTERIEN(ERRORS,LETTER) ;Look up the letter IEN
  1. I LETTER'="@",LETTER'="" D
  1. .I +LETTER,$$GET1^DIQ(407.5,LETTER,.01)'="" Q
  1. .S LETTER=$O(^VA(407.5,"B",$E(LETTER,1,30),""))
  1. Q LETTER
  1. ;
  1. VALPBSPID(ERRORS,PBSPID,FDATA) ;
  1. N VAL
  1. I $L(PBSPID)>100 D ERRLOG^SDES2JSON(.ERRORS,556)
  1. S FDATA("PBSPID")=PBSPID
  1. Q
  1. ;