SDES2UTIL1 ;ALB/MGD/TJB/MGD,TJB,BLB,JDJ - SDES2 UTILITIES Continued ;OCT 23, 2025
Source file <SDES2UTIL1.m>
| action | A | extended action | Ea | event driver | Ed | subscriber | Su | protocol | O | limited protocol | LP | run routine | RR | broker | B | edit | E | server | Se | P | screenman | SM | inquire | I |
| Name | Comments | DBIA/ICR reference |
|---|---|---|
| VALBOOLEAN(SDERRORS,SDBOOLEAN,SDREQUIRED,SDERRORTEXT) | ;
; SDERRORS = Array to hold any logged errors ; SDBOOLEAN = Boolean input array element to validate ; SDREQUIRED = 1:Required, 0:Optional, Defaults to 0 ; SDERRORTEXT = Additional text to append to error message. This is normally the name of the input parameter element. |
|
| GETRES(SDCL,INACT) | ||
| GETGAF(DFN) | ;
|
|
| ETHNLIST(ETHNICITY,DFN) | ;get ethnicity list
|
|
| RACELIST(RACELST,DFN) | ;get list of race information for given patient
|
|
| HRN(DFN) | ;Health Record Number
|
|
| FLAGS(DFN,FNUM) | ;get PRF flags
|
|
| FLST(PRFLIST,FNUM) | ||
| CREATEAVAIL(RETURN,SDCLINIC,DATES,TIMES,SLOTS,INDEFINITEUNTIL,SDEAS) | ;INICSET2(.POP,SDIEN,.FDA,.SDCLINIC,.PROVIDER,.DIAGNOSIS,.SPECIALINSTRUCT,.PRIVLIAGEDUSER)
|
|
| VALIDATE | ;
|
|
| GETAPPT | ;Check if there are any open appts for this date
|
|
| CHECKDURATION(T1,T2,SLT) | ;Ensure the appointment lengths align with the time segment
|
|
| CREATE(DA,STARTDAY,SLT,DOW) | ;
|
|
| G3 | ;
|
|
| G3A | ||
| G4 | ||
| G4A | ||
| G5 | ;
|
|
| CKSI1 | ||
| DEL1 | ||
| D | ||
| R | ||
| EN1 | ;
|
|
| DAYSINFUTURE(CLINICIEN,STARTDATE) | ;
|
|
| 1 | ||
| 11 | ||
| OVR | ;
|
|
| APPCK | ;Are there appointments for this time?
|
|
| APPERR | ;
|
|
| DELERR | ;
|
|
| CHK1 | ||
| CHK2 | ;
|
|
| OB | ;
|
|
| TX | ;
|
|
| ERRLOG(ERNUM,OPTIONALTXT) | ;
|
|
| BUILDER | ;Convert data to JSON
|
| Name | Field # of Occurrence |
|---|---|
| C^%DTC | D+7, OVR+2, CHK2+3 |
| YN^DICN | APPERR+2 |
| $$GET1^DIQ | GETRES+10, GETRES+13, GETRES+14, FLAGS+22, FLST+5, VALIDATE+52, DAYSINFUTURE+3 |
| DT^DIQ | DELERR+2 |
| GETS^DIQ | VALIDATE+6 |
| $$FMTISO^SDAMUTDT | EN1+11 |
| $$ISOTFM^SDAMUTDT | VALIDATE+64, VALIDATE+79 |
| OVR^SDAUT1 | EN1+11 |
| C^SDB | G5+2 |
| B1^SDB1 | EN1+9, 11+9 |
| APPTBYCLINIC^SDESAPPT | GETAPPT+3 |
| ENCODE^SDESJSON | BUILDER+3 |
| ERRLOG^SDESJSON | VALBOOLEAN+8, VALBOOLEAN+9, ERRLOG+2 |
| $$EASVALIDATE^SDESUTIL | VALIDATE+89 |
| DOW^SDM0 | D+3, D+7, CHK2+3 |
| DTS^SDUTL | CHK2+4 |
| $$NEWGAF^SDUTL2 | GETGAF+2 |
| $$DOW^XLFDT | VALIDATE+67, VALIDATE+82 |
| $$FMADD^XLFDT | DAYSINFUTURE+4 |
| $$FMDIFF^XLFDT | DAYSINFUTURE+8 |
| Name | Line Occurrences |
|---|---|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| FileNo | Call Tags |
|---|---|
| ^DGPF(26.13 - [#26.13] | GET1^DIQ |
| ^DIC(40.7 - [#40.7] | GET1^DIQ |
| ^SDEC(409.831 - [#409.831] | GET1^DIQ |
| ^SC - [#44] | GET1^DIQ, GETS^DIQ |
| Name | Line Occurrences (* Changed, ! Killed) |
|---|---|
| ^AUPNPAT - [#9000001] | HRN+2 |
| ^DGPF( | FLST+3, FLST+4 |
| ^DGPF(26.13 - [#26.13] | FLAGS+21 |
| ^DIC(10 - [#10] | RACELIST+12 |
| ^DIC(10.2 - [#10.2] | ETHNLIST+12 |
| ^DPT - [#2] | ETHNLIST+9, ETHNLIST+10, RACELIST+9, RACELIST+10, FLAGS+16 |
| ^HOLIDAY - [#40.5] | 11 |
| ^HOLIDAY("B" | DAYSINFUTURE+5 |
| ^SC - [#44] | VALIDATE+2, CREATE+11*, G4*, G5+3*, G5+4*, G5+6!, G5+7, G5+8, G5+16!, D+2 , D+3, EN1+4, EN1+5, EN1+6!*, EN1+7*, EN1+8*, 11+8*, 11+9*, OB+2*, OB+3! , TX+1* |
| ^SDEC(409.831 - [#409.831] | GETRES+12 |
| Name | Line Occurrences |
|---|---|
| $$CHECKDURATION | VALIDATE+49 |
| $$DAYSINFUTURE | EN1+9 |
| 1 | EN1+2 |
| APPCK | 1, 11+6 |
| APPERR | 11+7, APPERR+3 |
| BUILDER | CREATEAVAIL+8 |
| CHK1 | EN1+6 |
| CHK2 | 11+2, OVR+1, OVR+2 |
| CKSI1 | G5+12 |
| CREATE | CREATEAVAIL+6 |
| D | G5+11, G5+17 |
| DEL1 | G5+2 |
| DELERR | 1 |
| ERRLOG | VALIDATE+2, VALIDATE+3, VALIDATE+8, VALIDATE+9, VALIDATE+17, VALIDATE+18, VALIDATE+20, VALIDATE+21, VALIDATE+26, VALIDATE+27 , VALIDATE+30, VALIDATE+32, VALIDATE+37, VALIDATE+45, VALIDATE+47, VALIDATE+49, VALIDATE+53, VALIDATE+56, VALIDATE+58, VALIDATE+62 , VALIDATE+65, VALIDATE+72, VALIDATE+80, VALIDATE+82, VALIDATE+90, G5+16 |
| FLST | FLAGS+19 |
| G3 | CREATE+24 |
| G3A | G3A |
| G4 | G4A+3 |
| G4A | G4A |
| G5 | CREATE+26 |
| OVR | 1, 11, 11+3, 11+7 |
| R | D+3, D+8 |
| TX | EN1+6, EN1+7, EN1+8 |
| VALIDATE | CREATEAVAIL+5 |
| >> | Not killed explicitly |
| * | Changed |
| ! | Killed |
| ~ | Newed |
| Name | Field # of Occurrence |
|---|---|
| % | 11+5*, 11+7, APPERR+1~, APPERR+2*, APPERR+3 |
| A | GETAPPT+1~, CREATE+4~ |
| APPTCNT | CREATEAVAIL+3~, CREATEAVAIL+4*, GETAPPT+8*, GETAPPT+9 |
| CLINICIEN | DAYSINFUTURE~, DAYSINFUTURE+3 |
| CNT | CREATE+3~, CREATE+16*, G4*, G5+2, G5+3, G5+6, G5+16*, EN1+10 |
| CTR | CREATE+3~, D+1*, CHK2+4* |
| D | CREATE+4~, G5+9*, EN1+1*, 11, 11+8, OVR+1*, OVR+2*, DELERR+1, CHK2+1, CHK2+2 , CHK2+3* |
| D0 | CREATE+3~, CREATE+13*, CREATE+14*, CREATE+15, CREATE+17, G4, G5+3, G5+4, G5+6, G5+7 , G5+8, G5+16, D, D+3, D+4, D+8, EN1+1, EN1+4, EN1+5, EN1+6 , EN1+7, EN1+9 |
| DA | CREATE~, CREATE+11, G4, G5+3, G5+4, G5+6, G5+7, G5+8, G5+16, D+2 , D+3, EN1+4, EN1+5, EN1+6, EN1+7, EN1+8, EN1+9, 11+8, 11+9, OB+2 , OB+3, TX+1 |
| DATES | CREATEAVAIL~, VALIDATE+20, VALIDATE+21, VALIDATE+60*, VALIDATE+61, VALIDATE+72, VALIDATE+75, VALIDATE+76 |
| DATES( | VALIDATE+67*, VALIDATE+78*, VALIDATE+83*, CREATE+14, CREATE+17 |
| DFN | GETGAF~, GETGAF+2, ETHNLIST~, ETHNLIST+9, ETHNLIST+10, RACELIST~, RACELIST+9, RACELIST+10, HRN~, HRN+2 , FLAGS~, FLAGS+14*, FLAGS+15, FLAGS+16, FLAGS+21 |
| DH | CREATE+4~, G5+5*, G5+9, G5+10*, G5+13*, DEL1*, D+1*, EN1+8 |
| DO | CREATE+4~, G5+10*, G5+13*, DEL1*, D+3*, D+8*, D+9*, EN1+8, EN1+11, 11+8* |
| DOW | CREATE~, D+3, D+7, EN1+4, EN1+5, EN1+6, EN1+7, EN1+8, CHK2+3, TX+1 |
| DOWNUM | CREATEAVAIL+2~ |
| DR | CREATE+3~, OB+2, OB+3 |
| DUZ(2 | HRN+2 |
| ENDTIME | VALIDATE+14~, VALIDATE+29*, VALIDATE+30, VALIDATE+39, VALIDATE+45, VALIDATE+47, VALIDATE+49 |
| EOF | CREATEAVAIL+2~, VALIDATE+74*, VALIDATE+75, VALIDATE+78*, VALIDATE+82* |
| ERNUM | ERRLOG~, ERRLOG+2 |
| ERRARRAY | CREATEAVAIL+3~, CREATEAVAIL+9! |
| ERRARRAY( | GETAPPT+10* |
| ETHNICITY | ETHNLIST~ |
| ETHNICITY("IENS" | ETHNLIST+14* |
| ETHNICITY("NAMES" | ETHNLIST+13* |
| FNUM | FLAGS~, FLAGS+17*, FLAGS+18, FLAGS+19, FLST~, FLST+3, FLST+4, FLST+5 |
| FUTUREBOOKDATE | DAYSINFUTURE+1~, DAYSINFUTURE+4*, DAYSINFUTURE+7 |
| FUTUREBOOKINGNUM | DAYSINFUTURE+1~, DAYSINFUTURE+3*, DAYSINFUTURE+4, DAYSINFUTURE+7 |
| GAF | GETGAF+1~, GETGAF+2*, GETGAF+4*, GETGAF+5 |
| GAFR | GETGAF+1~, GETGAF+3*, GETGAF+5*, GETGAF+6 |
| H1 | CHECKDURATION+1~, CHECKDURATION+2*, CHECKDURATION+3*, CHECKDURATION+5, CREATE+4~, G3+11*, G4, G4A*, G4A+1*, G4A+2 |
| H2 | CHECKDURATION+1~, CHECKDURATION+2*, CHECKDURATION+4*, CHECKDURATION+5, CREATE+4~, G3+11*, G3A*, G3A+1*, G4A+2 |
| HHY | CREATE+4~, CKSI1+1* |
| HOLIDAYFILEDATE | DAYSINFUTURE+1~, DAYSINFUTURE+5*, DAYSINFUTURE+7, DAYSINFUTURE+8 |
| HSI | CREATE+4~, CREATE+6*, CREATE+7*, CREATE+8*, G5+12, CKSI1 |
| HY | CREATE+3~ |
| HY( | CKSI1*, CKSI1+1 |
| I | CREATEAVAIL+2~, VALIDATE+24*, VALIDATE+25, VALIDATE+51, VALIDATE+75*, VALIDATE+76, CREATE+4~, D+7*, CHK2+3* |
| IEN | CREATEAVAIL+2~, VALIDATE+5*, VALIDATE+6, VALIDATE+7, VALIDATE+10, VALIDATE+11 |
| INACT | GETRES~, GETRES+14 |
| INDEFINITELY | CREATE+3~, CREATE+16*, CREATE+17*, EN1+2 |
| INDEFINITEUNTIL | CREATEAVAIL~, EN1+11* |
| JSON | GETAPPT+1~, GETAPPT+3 |
| JSON("Appt" | GETAPPT+6, GETAPPT+7, GETAPPT+9 |
| JSONERR | BUILDER+1~, BUILDER+2*, BUILDER+3 |
| LT | CREATE+4~, G3+11*, G5+16* |
| M1 | CHECKDURATION+1~, CHECKDURATION+2*, CHECKDURATION+3*, CHECKDURATION+5, CREATE+4~, G3+11*, G4, G4+1*, G4A*, G4A+1* , G4A+2 |
| M2 | CHECKDURATION+1~, CHECKDURATION+2*, CHECKDURATION+4*, CHECKDURATION+5, CREATE+4~, G3+11*, G3+12*, G3A*, G3A+1*, G4A+2 |
| MAX | CREATE+3~, EN1+9* |
| NSL | CREATE+3~, CREATE+22*, G4 |
| OK | CREATE+4~, D+1*, D+7*, D+8, R! |
| OPTIONALTXT | ERRLOG~, ERRLOG+2 |
| PETH | ETHNLIST+7~, ETHNLIST+8*, ETHNLIST+11*, ETHNLIST+14 |
| PETHN | ETHNLIST+7~, ETHNLIST+8*, ETHNLIST+12*, ETHNLIST+13 |
| POP | CREATEAVAIL+2~, CREATEAVAIL+4*, CREATEAVAIL+6, CREATEAVAIL+7, VALIDATE+18, VALIDATE+24, VALIDATE+35, VALIDATE+56, VALIDATE+58, VALIDATE+71 , VALIDATE+72, CREATE+14, CREATE+19, CREATE+26, EN1+6*, 1*, 11+1*, 11+3, 11+4*, 11+7 , OVR+1*, OVR+2*, CHK1+1*, CHK2+2*, CHK2+3*, CHK2+4, ERRLOG+1* |
| PRFAID | FLAGS+12~, FLAGS+21*, FLAGS+22, FLAGS+23 |
| PRFID | FLAGS+12~, FLAGS+20*, FLAGS+21, FLAGS+23, FLST+1~, FLST+4*, FLST+5 |
| PRFLIST | FLAGS+19, FLST~, FLST+2! |
| PRFLIST( | FLAGS+20, FLAGS+23, FLST+5* |
| PRFLST | FLAGS+12~ |
| PRFN | FLST+1~, FLST+3*, FLST+4 |
| RACEIEN | RACELIST+7~, RACELIST+8*, RACELIST+11*, RACELIST+14 |
| RACELST | RACELIST~ |
| RACELST("IENS" | RACELIST+14* |
| RACELST("NAMES" | RACELIST+13* |
| RACENAM | RACELIST+7~, RACELIST+8*, RACELIST+12*, RACELIST+13 |
| RET | FLAGS+12~, FLAGS+13*, FLAGS+23*, FLAGS+24 |
| RETURN | CREATEAVAIL~, BUILDER+3 |
| SC | CREATE+3~, EN1+9* |
| SD | CREATE+3~, CREATE+14*, EN1+9 |
| SD1 | CHECKDURATION+1~, CHECKDURATION+5*, CHECKDURATION+6 |
| SDA1 | CREATE+4~ |
| SDAVAIL | CREATEAVAIL+2~ |
| SDBOOLEAN | VALBOOLEAN~, VALBOOLEAN+6, VALBOOLEAN+8, VALBOOLEAN+9 |
| SDCL | GETRES~, GETRES+10, GETRES+12 |
| SDCLINDATA | CREATEAVAIL+2~ |
| SDCLINDATA(44 | VALIDATE+7, VALIDATE+10, VALIDATE+11 |
| SDCLINIC | CREATEAVAIL~, CREATEAVAIL+6, VALIDATE+1*, VALIDATE+2, VALIDATE+3, VALIDATE+5, VALIDATE+52, GETAPPT+3 |
| SDCLINSTARTHR | CREATEAVAIL+2~, CREATEAVAIL+6, VALIDATE+11*, VALIDATE+12*, VALIDATE+58 |
| SDDATE | CREATEAVAIL+2~, VALIDATE+61*, VALIDATE+62, VALIDATE+63, VALIDATE+64*, VALIDATE+65, VALIDATE+67, VALIDATE+76*, VALIDATE+77, VALIDATE+78 , VALIDATE+79*, VALIDATE+80, VALIDATE+82, VALIDATE+83, GETAPPT+3, GETAPPT+10 |
| SDDISPPERHR | CREATEAVAIL+2~, VALIDATE+10*, CREATE+6 |
| SDDOWNUM | CREATEAVAIL+2~, CREATEAVAIL+6, VALIDATE+67*, VALIDATE+82 |
| SDEAS | CREATEAVAIL~, VALIDATE+88*, VALIDATE+89*, VALIDATE+90 |
| SDEL | CREATE+4~, G5+1*, G5+11*, G5+16*, DEL1*, 1 |
| SDERRORS | VALBOOLEAN~, VALBOOLEAN+8, VALBOOLEAN+9 |
| SDERRORTEXT | VALBOOLEAN~, VALBOOLEAN+8, VALBOOLEAN+9 |
| SDESERR | GETAPPT+1~ |
| SDHLN | GETRES+8~, GETRES+10*, GETRES+11 |
| SDI | GETRES+8~, GETRES+12*, GETRES+13, GETRES+14, GETRES+15, GETRES+17, ETHNLIST+7~, ETHNLIST+9*, ETHNLIST+10, RACELIST+7~ , RACELIST+9*, RACELIST+10 |
| SDID | ETHNLIST+7~, ETHNLIST+10*, ETHNLIST+11, ETHNLIST+12, RACELIST+7~, RACELIST+10*, RACELIST+11, RACELIST+12 |
| SDIN | CREATE+4~, D, D+4, D+6, 11+2, OVR+1, OVR+2, CHK1, CHK1+1, CHK2+1! , CHK2+2, CHK2+3, CHK2+4 |
| SDJJ | CREATE+4~, CKSI1* |
| SDL | CHECKDURATION+1~, CHECKDURATION+5*, CHECKDURATION+6 |
| SDRE | CREATE+4~, D, D+5, CHK2+1, CHK2+2, CHK2+3 |
| SDRE1 | CREATE+4~, D*, D+5*, D+7, CHK2+4 |
| SDREACT | CREATE+4~, G5+2, 11+8* |
| SDREB | CREATE+3~, 11+4*, 11+7* |
| SDREQUIRED | VALBOOLEAN~, VALBOOLEAN+6, VALBOOLEAN+7*, VALBOOLEAN+8 |
| SDRES | GETRES+8~, GETRES+9*, GETRES+12, GETRES+17*, GETRES+18*, GETRES+19 |
| SDRES1 | GETRES+8~, GETRES+9*, GETRES+15*, GETRES+18 |
| SDRESTYP | GETRES+8~, GETRES+13*, GETRES+16 |
| SDRETURN | CREATEAVAIL+3~, ERRLOG+2, BUILDER+3 |
| SDRETURN("ClinicAvailability" | CREATEAVAIL+7*, GETAPPT+9*, EN1+11* |
| SDSLOT | OB+1*, OB+2!, OB+3! |
| SDSLOTS | CREATEAVAIL+2~, VALIDATE+51*, VALIDATE+52, VALIDATE+53, VALIDATE+54, VALIDATE+55 |
| SDSOH | CREATEAVAIL+2~, D+2*, 11 |
| SDSTRTDT | CREATE+3~, EN1+9* |
| SDTIME | CREATEAVAIL+2~, VALIDATE+25*, VALIDATE+26, VALIDATE+27, VALIDATE+28, VALIDATE+29, VALIDATE+54 |
| SDTOP | CREATE+4~, G3+8*, G5+2 |
| SDTOTALSLOTS | CREATEAVAIL+2~, CREATEAVAIL+4*, VALIDATE+55* |
| SDZQ | CREATE+3~, G3+9*, EN1+11 |
| SI | CREATE+4~, CREATE+6*, CREATE+7*, CREATE+8*, G5+5, G5+9, G5+13, G5+16 |
| SLOTS | CREATEAVAIL~, VALIDATE+16*, VALIDATE+17, VALIDATE+18, VALIDATE+51 |
| SLT | CREATEAVAIL+2~, CREATEAVAIL+6, VALIDATE+7*, VALIDATE+8, VALIDATE+9, VALIDATE+49, CHECKDURATION~, CHECKDURATION+5, CHECKDURATION+6, CREATE~ , G3+12, G4+1, G5+5 |
| ST | CREATE+3~, OB+1 |
| STARTDATE | DAYSINFUTURE~, DAYSINFUTURE+4, DAYSINFUTURE+8 |
| STARTDAY | CREATE~, CREATE+5, G5+9 |
| STARTTIME | VALIDATE+14~, VALIDATE+28*, VALIDATE+30, VALIDATE+32, VALIDATE+34, VALIDATE+37, VALIDATE+43, VALIDATE+49, VALIDATE+54, CREATE+3~ , CREATE+5*, CREATE+18*, CREATE+19*, CREATE+20, CREATE+23 |
| STAT | FLAGS+12~, FLAGS+22*, FLAGS+23 |
| STIME | CREATE+3~, G5+16 |
| STR | CREATE+3~, OB+1 |
| T1 | CHECKDURATION~, CHECKDURATION+2, CREATE+3~, CREATE+23*, G3+11 |
| T2 | CHECKDURATION~, CHECKDURATION+2, CREATE+3~, CREATE+21*, G3+11 |
| TIMES | CREATEAVAIL~, VALIDATE+15*, VALIDATE+17, VALIDATE+18, VALIDATE+23, VALIDATE+24, VALIDATE+25, VALIDATE+56 |
| TIMES( | VALIDATE+32, VALIDATE+34, VALIDATE+36, VALIDATE+39, VALIDATE+41, VALIDATE+54*, CREATE+19, CREATE+20 |
| TIMES("" | VALIDATE+58 |
| TMPINDX | CREATEAVAIL+2~, VALIDATE+34*, VALIDATE+35, VALIDATE+36, VALIDATE+39*, VALIDATE+40, VALIDATE+41 |
| TMPTIMES | VALIDATE+14~, VALIDATE+36*, VALIDATE+37, VALIDATE+41*, VALIDATE+43, VALIDATE+45, VALIDATE+47 |
| U | ETHNLIST+10, ETHNLIST+12, RACELIST+10, RACELIST+12, HRN+3, FLAGS+23, FLST+5, G5+9 |
| X | HRN+1~, HRN+2*, HRN+3, GETAPPT+1~, GETAPPT+2*, GETAPPT+6*, GETAPPT+7, GETAPPT+9, CREATE+3~, CREATE+4~ , CREATE+20*, CREATE+21, CREATE+22, G5+4*, G5+7*, G5+8, G5+10*, G5+13*, G5+16, DEL1* , D+1, D+3*, D+4, D+6*, D+7, D+8, EN1+6*, EN1+9*, 11+8*, OVR+2 , CHK2+3* |
| X1 | CREATE+4~, D+7*, OVR+2*, CHK2+3* |
| X2 | CREATE+4~, D+7*, OVR+2*, CHK2+3* |
| Y | CREATE+4~, G5+8*, G5+9, G5+11, G5+13*, G5+15!, D+3*, D+7, D+8*, EN1+3* , EN1+5*, EN1+6, EN1+7, DELERR+1*, CHK1+1, CHK2+3, CHK2+4*, OB+2, OB+3 |
| Y( | G5+9*, G5+13, CKSI1, CKSI1+1! |
| Y1 | CREATE+3~, CHK2+4* |
| ZDX | CREATE+4~, G5+6* |