PXRMDATE ;SLC/PKR - Clinical Reminders date utilities. ;10/23/2013
Source file <PXRMDATE.m>
Package | Total | Call Graph |
---|---|---|
Clinical Reminders | 3 | $$CDUEDATE^PXRMCDUE ($$CTFMD,$$NOW,$$TODAY)^PXRMDATE $$ISHIST^PXRMVSIT |
Kernel | 2 | ($$DT,$$FMADD,$$FMDIFF,$$FMTE,$$NOW)^XLFDT $$UP^XLFSTR |
VA Fileman | 2 | EN^DDIOL DT^DILF |
Name | Comments | DBIA/ICR reference |
---|---|---|
CTFMD(DATE) | ;Convert DATE which may be in any of the FileMan acceptable
|
|
COMPARE(X) | ;Compare beginning and ending dates, give a warning if
|
|
TODAY() | ;If the reminder global PXRMDATE is defined return it, otherwise
|
|
NOON() | ;If the reminder global PXRMDATE is defined return noon on that day,
|
|
FRQINDAY(FREQ) | ;Given a frequency in the form ND, NM, or NY where N is a
|
|
DCHECK(DATE) | ;Trap for special characters before calling CTFMD^PXRMDATE.
|
|
DDATE(DATE) | ;Check for an historical (event) date, format as appropriate,
|
|
FMDATE(DFN,TEST,DATE,VALUE,TEXT) | ;FileMan date computed finding.
|
|
SETDUE | ;If the due date is less than or equal to today's date the
|
|
MID() | ;If the reminder global PXRMDATE is defined return midnight on that day,
|
|
COTN(EFP) | ;Convert an Effective Period to the new date/time format.
|
|
FULLDATE(DATE) | ;See if DATE is a full date, i.e., it has a month and
|
|
VSYM(SYM) | ;Make sure the symbolic part of a date is valid.
|
|
VOFFSET(OFFSET) | ;Make sure the offset part of a date is valid. It has to
|
|
YCALC(FMDATE,OP,NUM) | ;Add or subtract NUM years to FMDATE.
|
|
VDATE(VIEN) | ;Given a visit ien return the visit date.
|
|
NEWDATE(FMDATE,OP,OFFSET) | ;Given an internal FileMan date, an operator of
|
|
DURATION(START,STOP) | ;Return the number days between the Start Date and
|
|
MCALC(FMDATE,OP,NUM) | ;Add or subtract NUM months to FMDATE.
|
|
CTD(MULT,NUM) | ;Convert months or years to days.
|
|
ISLEAP(YEAR) | ;Given a 3 digit FileMan year return 1 if it is a leap year,
|
|
CEFD(FDA) | ;Called by the Exchange Utility only if the input packed
|
|
DUE(DEFARR,RESDATE,FREQ,DUE,DUEDATE,FIEVAL) | ;Compute the due date.
|
|
EDATE(DATE) | ;Check for an historical (event) date, format as appropriate,
|
|
NOW() | ;If the reminder global PXRMDATE is defined return it, otherwise
|
Name | Field # of Occurrence |
---|---|
EN^DDIOL | COMPARE+20, CTFMD+19 |
DT^DILF | CTFMD+15, CTFMD+28 |
$$CDUEDATE^PXRMCDUE | DUE+12 |
$$CTFMD^PXRMDATE | COMPARE+8, COMPARE+12, DCHECK+6, FMDATE+2 |
$$NOW^PXRMDATE | DURATION+4 |
$$TODAY^PXRMDATE | SETDUE+2 |
$$ISHIST^PXRMVSIT | VDATE+5 |
$$DT^XLFDT | MID+2, NOON+2, TODAY+2 |
$$FMADD^XLFDT | NEWDATE+10, NEWDATE+11, NEWDATE+12 |
$$FMDIFF^XLFDT | DURATION+7 |
$$FMTE^XLFDT | DDATE+3, EDATE+4 |
$$NOW^XLFDT | NOW+2, NOW+5 |
$$UP^XLFSTR | COTN+2, CTFMD+6 |
Name | Line Occurrences |
---|---|
Function Call: WRITE |
|
Name | Line Occurrences (* Changed, ! Killed) |
---|---|
^AUPNVSIT - [#9000010] | VDATE+2 |
^TMP( | DUE+17*, SETDUE+8*, FULLDATE+13*, FULLDATE+17* |
Name | Line Occurrences |
---|---|
$$CTD | FRQINDAY+10 |
$$FULLDATE | DUE+22 |
$$ISLEAP | MCALC+7, YCALC+8 |
$$MCALC | NEWDATE+13 |
$$MID | CTFMD+25 |
$$NEWDATE | CTFMD+32, DUE+22, SETDUE+11 |
$$NOON | CTFMD+25 |
$$NOW | CTFMD+25 |
$$TODAY | CTFMD+25 |
$$VOFFSET | CTFMD+17 |
$$VSYM | CTFMD+15 |
$$YCALC | NEWDATE+14 |
SETDUE | DUE+13 |
>> | Not killed explicitly |
* | Changed |
! | Killed |
~ | Newed |
Name | Field # of Occurrence |
---|---|
BDT | COMPARE+5~, COMPARE+8*, COMPARE+9, COMPARE+16, COMPARE+17*, COMPARE+19 |
DATE | CTFMD~, CTFMD+4, CTFMD+5, CTFMD+6, CTFMD+15, DCHECK~, DCHECK+2, DCHECK+3, DCHECK+4, DCHECK+5 , DCHECK+6, DDATE~, DDATE+2, DDATE+3, DUE+5~, DUE+22*, EDATE~, EDATE+2, EDATE+3, EDATE+4 , FMDATE~, FMDATE+2*, FULLDATE~, FULLDATE+5, FULLDATE+7, FULLDATE+8, FULLDATE+9, FULLDATE+20, VDATE+1~, VDATE+2* , VDATE+3*, VDATE+5*, VDATE+6 |
DAY | FULLDATE+4~, FULLDATE+7*, FULLDATE+10, FULLDATE+11*, FULLDATE+19, MCALC+1~, MCALC+2*, MCALC+8*, MCALC+9, YCALC+1~ , YCALC+2*, YCALC+8*, YCALC+9 |
DAYS | CTD+1~, CTD+2*, CTD+4, CTD+5, CTD+6*, CTD+7, NEWDATE+4~, NEWDATE+11*, NEWDATE+12* |
DEFARR | DUE~, DUE+12 |
DEFARR("IEN" | DUE+6 |
DEFARR(0 | SETDUE+5 |
DEFARR(35 | DUE+16 |
DEFARR(45 | DUE+12 |
DFN | FMDATE~ |
DIAT | DUE+5~, SETDUE+5*, SETDUE+6, SETDUE+11 |
DIATOK | DUE+5~, SETDUE+7*, SETDUE+9*, SETDUE+11 |
DIM | MCALC+1~, MCALC+7*, MCALC+8 |
>> DTOUT | DCHECK+2 |
DUE | DUE~, DUE+8*, DUE+18*, DUE+21*, SETDUE+3*, SETDUE+12* |
DUEDATE | DUE~, DUE+8*, DUE+10*, DUE+12*, DUE+13, DUE+18*, DUE+21*, DUE+22*, SETDUE+3, SETDUE+11 |
EDT | COMPARE+5~, COMPARE+10*, COMPARE+11*, COMPARE+12*, COMPARE+13, COMPARE+15*, COMPARE+16, COMPARE+18*, COMPARE+19 |
EFP | COTN~, COTN+2*, COTN+3, COTN+4, COTN+5*, COTN+6 |
FDA | CEFD~ |
FDA( | CEFD+4, CEFD+5, CEFD+7, CEFD+8*, CEFD+9! |
FIEVAL | DUE~, DUE+12 |
FMDATE | CTFMD+2~, CTFMD+15, CTFMD+28, CTFMD+29, MCALC~, MCALC+2, MCALC+3, NEWDATE~, NEWDATE+5, NEWDATE+10 , NEWDATE+11, NEWDATE+12, NEWDATE+13, NEWDATE+14, YCALC~, YCALC+2, YCALC+3 |
FRAC | CTD+1~, CTD+5*, CTD+6 |
FREQ | DUE~, DUE+8, DUE+16, DUE+22, FRQINDAY~, FRQINDAY+3, FRQINDAY+5, FRQINDAY+6, FRQINDAY+7 |
HOURS | NEWDATE+4~, NEWDATE+10* |
IND | CEFD+2~, CEFD+3*, CEFD+4*, CEFD+5, CEFD+7, CEFD+8, CEFD+9 |
INTDAYS | CTD+1~, CTD+4*, CTD+5, CTD+6 |
LDATE | DUE+5~, DUE+20*, DUE+21, DUE+22 |
LEN | FRQINDAY+4~, FRQINDAY+6*, FRQINDAY+7 |
MISSING | FULLDATE+4~, FULLDATE+6*, FULLDATE+12*, FULLDATE+16*, FULLDATE+18 |
MONTH | FULLDATE+4~, FULLDATE+8*, FULLDATE+14, FULLDATE+15*, FULLDATE+19, MCALC+1~, MCALC+2*, MCALC+5*, MCALC+6*, MCALC+8 , MCALC+9, YCALC+1~, YCALC+2*, YCALC+8, YCALC+9 |
MULT | CTD~, CTD+2 |
NOW | NOW+3~, NOW+5*, NOW+6*, NOW+7 |
NUM | COTN+4*, COTN+5, CTD~, CTD+2, FRQINDAY+4~, FRQINDAY+5*, FRQINDAY+10*, FRQINDAY+11, MCALC~, MCALC+5* , MCALC+6*, NEWDATE+4~, NEWDATE+6*, NEWDATE+7, NEWDATE+8, NEWDATE+10, NEWDATE+11, NEWDATE+12, NEWDATE+13, NEWDATE+14 , YCALC~, YCALC+5*, YCALC+6* |
OFFSET | CTFMD+2~, CTFMD+13*, CTFMD+17, CTFMD+18, CTFMD+19, CTFMD+32, NEWDATE~, NEWDATE+6, NEWDATE+8, VOFFSET~ , VOFFSET+3 |
OP | CTFMD+2~, CTFMD+11*, CTFMD+12, CTFMD+13, CTFMD+32, MCALC~, MCALC+5, MCALC+6, NEWDATE~, NEWDATE+10 , NEWDATE+11, NEWDATE+12, NEWDATE+13, NEWDATE+14, YCALC~, YCALC+5, YCALC+6 |
>> PXRMDATE | MID+2, NOON+2, NOW+2, NOW+4, NOW+5, NOW+6, TODAY+2 |
>> PXRMEXCH | COMPARE+4 |
>> PXRMINTR | CTFMD+19, CTFMD+22 |
PXRMITEM | DUE+5~, DUE+6*, DUE+17, SETDUE+8, FULLDATE+13, FULLDATE+17 |
PXRMNOW | DURATION+3~, DURATION+4*, DURATION+5, DURATION+6 |
>> PXRMPID | DUE+17, SETDUE+8, FULLDATE+13, FULLDATE+17 |
RESDATE | DUE~, DUE+20 |
START | DURATION~, DURATION+2, DURATION+5, DURATION+7 |
STOP | DURATION~, DURATION+6*, DURATION+7 |
SYM | CTFMD+2~, CTFMD+12*, CTFMD+15, CTFMD+18, CTFMD+19, CTFMD+25, VSYM~, VSYM+2, VSYM+3, VSYM+5 , VSYM+6, VSYM+7, VSYM+8, VSYM+10, VSYM+11, VSYM+12, VSYM+13 |
SYMV | CTFMD+2~, CTFMD+25*, CTFMD+27*, CTFMD+28, CTFMD+29*, CTFMD+31, CTFMD+32 |
TDATE | CTFMD+2~, CTFMD+6*, CTFMD+8*, CTFMD+11, CTFMD+12, CTFMD+13, FULLDATE+4~, FULLDATE+5*, FULLDATE+19*, FULLDATE+20* , FULLDATE+21 |
TDDUE | DUE+5~, SETDUE+11*, SETDUE+12 |
TEST | FMDATE~, FMDATE+1*, FMDATE+2, FMDATE+3* |
TEXT | COMPARE+5~, COMPARE+19*, COMPARE+20, FMDATE~ |
TIME | CTFMD+2~, CTFMD+8*, CTFMD+26, CTFMD+27, MCALC+1~, MCALC+3*, MCALC+4*, MCALC+9, NOW+3~, NOW+4* , NOW+5*, YCALC+1~, YCALC+3*, YCALC+4*, YCALC+9 |
TODAY | DUE+5~, SETDUE+2*, SETDUE+3, SETDUE+12 |
U | SETDUE+5, VDATE+2 |
UNIT | FRQINDAY+4~, FRQINDAY+7*, FRQINDAY+10, NEWDATE+4~, NEWDATE+8*, NEWDATE+9*, NEWDATE+10, NEWDATE+11, NEWDATE+12, NEWDATE+13 , NEWDATE+14 |
VALUE | FMDATE~, FMDATE+2* |
VIEN | VDATE~, VDATE+2, VDATE+5 |
X | COMPARE~ |
X(1 | COMPARE+8, COMPARE+17 |
X(2 | COMPARE+10, COMPARE+18 |
YEAR | FULLDATE+4~, FULLDATE+9*, FULLDATE+19, ISLEAP~, ISLEAP+2*, ISLEAP+3, MCALC+1~, MCALC+2*, MCALC+5*, MCALC+6* , MCALC+7, MCALC+9, YCALC+1~, YCALC+2*, YCALC+5*, YCALC+6*, YCALC+8, YCALC+9 |