PXRMLOG ;SLC/PKR - Clinical Reminders logic routines. ;03/31/2022
Source file <PXRMLOG.m>
| Package | Total | Call Graph |
|---|---|---|
| Clinical Reminders | 4 | ($$AGECHECK,MMF)^PXRMAGE $$FRQINDAY^PXRMDATE ($$POP,POSTFIX,PUSH)^PXRMSTAC $$STRREP^PXRMUTIL |
| VA FileMan | 2 | EN^DDIOL ^DIM |
| 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 |
|---|---|---|
| CRSTATUS(DEFARR,FIEVAL) | ;Determine the contraindicated/refused status.
|
|
| EVALPCL(DEFARR,PXRMPDEM,FREQ,PCLOGIC,FIEVAL) | ;Evaluate the Patient Cohort
|
|
| ACHK | ;
|
|
| EVAL | ;Evaluate the patient cohort logic.
|
|
| EVALRESL(DEFARR,RESDATE,RESLOGIC,FIEVAL) | ;Evaluate the
|
|
| LOGOP(DT1,DT2,LOP) | ;Given two dates return the most recent if the logical
|
|
| RESDATE(RESLSTR,FIEVAL) | ;Return the resolution date based on the following
|
|
| SEX(DEFARR,SEX) | ;Return FALSE (0) if the patient is the wrong sex for
; the reminder, TRUE (1) is the patient is the right sex. |
|
| VALID(LOGSTR,DA,MINLEN,MAXLEN) | ;Make sure that LOGSTR is a valid logic string.
|
|
| VALIDR(LOGSTR,DA,MINLEN,MAXLEN) | ;Make sure that LOGSTR is a valid resolution
|
|
| VELEM(ELEMENT) | ;Make sure that the element is valid.
|
| Name | Field # of Occurrence |
|---|---|
| EN^DDIOL | VALID+12, VALID+14, VALID+24, VALID+49, VALIDR+11, VALIDR+14, VELEM+7 |
| ^DIM | VALID+19 |
| $$AGECHECK^PXRMAGE | ACHK+11 |
| MMF^PXRMAGE | EVALPCL+5 |
| $$FRQINDAY^PXRMDATE | EVALPCL+22 |
| $$POP^PXRMSTAC | RESDATE+29, RESDATE+31, RESDATE+32, RESDATE+37, VALID+38, VALID+44 |
| POSTFIX^PXRMSTAC | RESDATE+9, VALID+35 |
| PUSH^PXRMSTAC | RESDATE+27, RESDATE+29, RESDATE+35 |
| $$STRREP^PXRMUTIL | CRSTATUS+20, CRSTATUS+42, EVAL+26, EVAL+27, EVAL+29, EVALRESL+19 |
| Name | Line Occurrences |
|---|---|
| $$LOGOP | RESDATE+33 |
| $$RESDATE | EVALRESL+22 |
| $$VALID | VALIDR+16 |
| $$VELEM | VALID+39 |
| ACHK | EVALPCL+13, EVALPCL+26 |
| >> | Not killed explicitly |
| * | Changed |
| ! | Killed |
| ~ | Newed |
| Name | Field # of Occurrence |
|---|---|
| AGE | EVAL+1~, EVAL+8* |
| AGEFI | EVALPCL+3~, ACHK+2*, ACHK+11*, ACHK+12, EVAL+14 |
| CONTRALOGIC | CRSTATUS+1~, CRSTATUS+7*, CRSTATUS+13, CRSTATUS+16 |
| CONTRASTRING | CRSTATUS+1~, CRSTATUS+7*, CRSTATUS+21 |
| CRSTATUS | CRSTATUS+1~, CRSTATUS+3*, CRSTATUS+13*, CRSTATUS+22, CRSTATUS+35*, CRSTATUS+44 |
| DA | VALID~, VALID+46, VALIDR~, VALIDR+16 |
| DATE | RESDATE+5~, RESDATE+16*, RESDATE+17 |
| DCONTRALOGIC | CRSTATUS+1~, CRSTATUS+16*, CRSTATUS+20*, CRSTATUS+21 |
| DEFARR | CRSTATUS~, EVALPCL~, EVALPCL+5, EVALRESL~, SEX~ |
| DEFARR( | EVALPCL+19, EVALPCL+33 |
| DEFARR(0 | SEX+3 |
| DEFARR(31 | EVAL+4 |
| DEFARR(32 | EVAL+2 |
| DEFARR(35 | ACHK+4, ACHK+5, EVALRESL+6 |
| DEFARR(36 | EVALRESL+3 |
| DEFARR(40 | EVALPCL+10 |
| DEFARR(80 | CRSTATUS+7 |
| DEFARR(81 | CRSTATUS+4 |
| DEFARR(90 | CRSTATUS+29 |
| DEFARR(91 | CRSTATUS+26 |
| DPCLOG | EVAL+1~, EVAL+23*, EVAL+26*, EVAL+27*, EVAL+29*, EVAL+30 |
| DREFUSEDLOGIC | CRSTATUS+25~, CRSTATUS+38*, CRSTATUS+42*, CRSTATUS+43 |
| DRESLOG | EVALRESL+2~, EVALRESL+15*, EVALRESL+19*, EVALRESL+20 |
| DT1 | LOGOP~, LOGOP+3, LOGOP+4, LOGOP+7, LOGOP+8, LOGOP+9, LOGOP+10, LOGOP+12, LOGOP+13, LOGOP+14 , RESDATE+5~, RESDATE+29*, RESDATE+31*, RESDATE+33 |
| DT2 | LOGOP~, LOGOP+3, LOGOP+4, LOGOP+7, LOGOP+8, LOGOP+9, LOGOP+10, LOGOP+12, LOGOP+13, LOGOP+14 , RESDATE+5~, RESDATE+32*, RESDATE+33 |
| DT3 | RESDATE+5~, RESDATE+33*, RESDATE+35 |
| ELE1 | VALID+26~, VALID+36*, VALID+37, VALID+38*, VALID+39, VALID+40, VALID+42, VALID+48 |
| ELE2 | VALID+26~, VALID+44*, VALID+45, VALID+46, VALID+48 |
| ELEMENT | VELEM~, VELEM+1, VELEM+2, VELEM+3, VELEM+4, VELEM+5, VELEM+6, VELEM+7 |
| FF | CRSTATUS+1~, EVAL+1~, EVALRESL+2~ |
| FF( | CRSTATUS+11*, CRSTATUS+33*, EVAL+10*, EVALRESL+10* |
| FI | CRSTATUS+1~, EVAL+1~, EVALRESL+2~ |
| FI( | CRSTATUS+12*, CRSTATUS+34*, EVAL+11*, EVALRESL+11* |
| FIEVAL | CRSTATUS~, EVALPCL~, EVALPCL+5, EVALRESL~, EVALRESL+22, RESDATE~ |
| FIEVAL( | CRSTATUS+11, CRSTATUS+12, CRSTATUS+20, CRSTATUS+33, CRSTATUS+34, CRSTATUS+42, EVALPCL+17, EVAL+10, EVAL+11, EVAL+26 , EVAL+27, EVAL+29, EVALRESL+10, EVALRESL+11, EVALRESL+19, RESDATE+16 |
| FIEVAL("AGE" | EVALPCL+39!, ACHK+12*, EVAL+8 |
| FIEVAL("SEX" | EVAL+9 |
| FIFREQ | EVALPCL+3~, EVALPCL+6*, EVALPCL+37*, ACHK+9 |
| FINDING | CRSTATUS+1~, CRSTATUS+10*, CRSTATUS+11, CRSTATUS+12, CRSTATUS+18*, CRSTATUS+19, CRSTATUS+20, CRSTATUS+32*, CRSTATUS+33, CRSTATUS+34 , CRSTATUS+40*, CRSTATUS+41, CRSTATUS+42, EVALPCL+3~, EVALPCL+16*, EVALPCL+17, EVALPCL+18, EVALPCL+19, EVALPCL+24, EVALPCL+30* , EVALPCL+31, EVALPCL+32, EVALPCL+33, EVALPCL+37, EVAL+7*, EVAL+8, EVAL+9, EVAL+10, EVAL+11, EVAL+25* , EVAL+26, EVAL+27, EVAL+28, EVAL+29, EVALRESL+2~, EVALRESL+9*, EVALRESL+10, EVALRESL+11, EVALRESL+17*, EVALRESL+18 , EVALRESL+19 |
| FINUM | RESDATE+5~, RESDATE+14*, RESDATE+16 |
| FLIST | CRSTATUS+1~, CRSTATUS+8*, CRSTATUS+10, CRSTATUS+18, CRSTATUS+30*, CRSTATUS+32, CRSTATUS+40, EVALPCL+3~, EVALPCL+14*, EVALPCL+16 , EVAL+5*, EVAL+7, EVAL+25, EVALRESL+2~, EVALRESL+7*, EVALRESL+9, EVALRESL+17 |
| FREQ | EVALPCL~, EVALPCL+5, EVALPCL+34*, ACHK+1, ACHK+9, ACHK+10, ACHK+11 |
| FREQDAY | EVALPCL+3~, EVALPCL+22*, EVALPCL+24, EVALPCL+29*, EVALPCL+30 |
| FUN | EVAL+1~ |
| FUNCTION | EVAL+1~ |
| FUNLIST | EVAL+1~ |
| IND | CRSTATUS+1~, CRSTATUS+9*, CRSTATUS+10, CRSTATUS+17*, CRSTATUS+18, CRSTATUS+31*, CRSTATUS+32, CRSTATUS+39*, CRSTATUS+40, EVALPCL+3~ , EVALPCL+15*, EVALPCL+16, EVAL+6*, EVAL+7, EVAL+24*, EVAL+25, EVALRESL+2~, EVALRESL+8*, EVALRESL+9, EVALRESL+16* , EVALRESL+17, RESDATE+5~, RESDATE+10*, RESDATE+11, RESDATE+12*, RESDATE+14*, RESDATE+20*, RESDATE+25*, RESDATE+26 |
| JND | RESDATE+5~, RESDATE+10*, RESDATE+17*, RESDATE+20*, RESDATE+21*, RESDATE+22 |
| LEN | VALID+9~, VALID+10*, VALID+11, VALID+13 |
| LOGSTR | VALID~, VALID+6, VALID+10, VALID+18, VALID+22, VALID+28, VALIDR~, VALIDR+6, VALIDR+9, VALIDR+12 , VALIDR+16 |
| LOP | LOGOP~, LOGOP+6, LOGOP+11 |
| MAXAGE | EVALPCL+3~, EVALPCL+5, EVALPCL+36*, ACHK+9, ACHK+11 |
| MAXLEN | VALID~, VALID+13, VALIDR~, VALIDR+16 |
| MINAGE | EVALPCL+3~, EVALPCL+5, EVALPCL+35*, ACHK+9, ACHK+11 |
| MINLEN | VALID~, VALID+11, VALIDR~, VALIDR+16 |
| MNUM | VALID+26~, VALID+42*, VALID+43, VALID+46 |
| NODE | EVALPCL+3~, EVALPCL+18*, EVALPCL+19, EVALPCL+32*, EVALPCL+33 |
| NUM | CRSTATUS+1~, CRSTATUS+5*, CRSTATUS+6, CRSTATUS+9, CRSTATUS+17, CRSTATUS+27*, CRSTATUS+28, CRSTATUS+31, CRSTATUS+39, EVAL+1~ , EVAL+3*, EVAL+6, EVAL+24, EVALRESL+2~, EVALRESL+4*, EVALRESL+5, EVALRESL+8, EVALRESL+16 |
| NUMAFI | EVALPCL+3~, EVALPCL+11*, EVALPCL+13, EVALPCL+15 |
| OPER | RESDATE+5~, RESDATE+8*, RESDATE+9, RESDATE+21, RESDATE+27 |
| PCLOG | EVALPCL+4~, EVAL+4*, EVAL+12, EVAL+23 |
| PCLOGIC | EVALPCL~, EVAL+20*, EVAL+30*, EVAL+31 |
| PCLSTR | EVALPCL+4~, EVAL+4*, EVAL+14, EVAL+20 |
| PFSTACK | RESDATE+5~, RESDATE+9, RESDATE+23!, RESDATE+27, RESDATE+29, RESDATE+31, RESDATE+32, RESDATE+35, RESDATE+37 |
| PFSTACK( | RESDATE+12, RESDATE+14 |
| PFSTACK(0 | RESDATE+11, RESDATE+24* |
| >> PXRMDEBG | CRSTATUS+15, CRSTATUS+37, EVAL+22, EVAL+31, EVALRESL+14, EVALRESL+21 |
| >> PXRMEXCH | VALID+5, VALIDR+5 |
| >> PXRMIDOD | EVAL+19 |
| >> PXRMITEM | CRSTATUS+21, CRSTATUS+43, ACHK+4, ACHK+5, ACHK+9, ACHK+10, EVAL+15, EVAL+16, EVAL+21, EVAL+31 , EVALRESL+21, SEX+6, SEX+7 |
| PXRMPDEM | EVALPCL~, EVALPCL+5 |
| PXRMPDEM("AGE" | ACHK+11 |
| PXRMPDEM("DOD" | EVAL+19 |
| >> PXRMPID | CRSTATUS+21, CRSTATUS+43, ACHK+4, ACHK+5, ACHK+9, EVAL+15, EVAL+16, EVAL+21, EVAL+31, EVALRESL+21 , SEX+6, SEX+7 |
| >> PXRMRNAM | ACHK+10 |
| RANK | EVALPCL+4~, EVALPCL+20*, EVALPCL+21*, EVALPCL+24, EVALPCL+27*, EVALPCL+28*, EVALPCL+29, EVALPCL+30 |
| RANKAR | EVALPCL+4~, EVALPCL+26 |
| RANKAR( | EVALPCL+24*, EVALPCL+28, EVALPCL+29, EVALPCL+30 |
| RANKFI | EVALPCL+4~ |
| REFUSEDLOGIC | CRSTATUS+25~, CRSTATUS+29*, CRSTATUS+35, CRSTATUS+38 |
| REFUSEDSTRING | CRSTATUS+25~, CRSTATUS+29*, CRSTATUS+43 |
| REMSEX | SEX+2~, SEX+3*, SEX+4, SEX+5 |
| RESDATE | EVALRESL~, EVALRESL+22* |
| RESLOG | EVALRESL+2~, EVALRESL+6*, EVALRESL+12, EVALRESL+15 |
| RESLOGIC | EVALRESL~, EVALRESL+20*, EVALRESL+21 |
| RESLSTR | EVALRESL+2~, EVALRESL+6*, EVALRESL+20, EVALRESL+22, RESDATE~, RESDATE+7*, RESDATE+9 |
| SEP | VALID+26~, VALID+33*, VALID+35, VALID+40 |
| SEX | EVAL+1~, EVAL+9*, SEX~, SEX+5 |
| STACK | RESDATE+5~, VALID+26~, VALID+35, VALID+38, VALID+44 |
| STACK( | RESDATE+17*, RESDATE+20*, RESDATE+21*, RESDATE+26 |
| STACK(0 | RESDATE+22*, RESDATE+25 |
| T1 | RESDATE+5~, RESDATE+12*, RESDATE+13, RESDATE+18, RESDATE+21, RESDATE+26*, RESDATE+27, RESDATE+29, RESDATE+33 |
| T2 | RESDATE+5~ |
| TEMP | CRSTATUS+1~, CRSTATUS+4*, CRSTATUS+5, CRSTATUS+8, CRSTATUS+11*, CRSTATUS+19*, CRSTATUS+20, CRSTATUS+26*, CRSTATUS+27, CRSTATUS+30 , CRSTATUS+33*, CRSTATUS+41*, CRSTATUS+42, EVALPCL+4~, EVALPCL+10*, EVALPCL+11, EVALPCL+14, EVALPCL+19*, EVALPCL+20, EVALPCL+22 , EVALPCL+33*, EVALPCL+34, EVALPCL+35, EVALPCL+36, EVAL+2*, EVAL+3, EVAL+5, EVAL+10*, EVAL+28*, EVAL+29 , EVALRESL+2~, EVALRESL+3*, EVALRESL+4, EVALRESL+7, EVALRESL+10*, EVALRESL+18*, EVALRESL+19 |
| TEST | CRSTATUS+1~, CRSTATUS+14*, CRSTATUS+21, CRSTATUS+36*, CRSTATUS+43, EVALPCL+4~, EVAL+13*, EVAL+19*, EVAL+20, EVAL+21 , EVALRESL+2~, EVALRESL+13*, EVALRESL+20, EVALRESL+22 |
| TEXT | VALID+21~, VALID+24, VALID+26~, VALID+48*, VALID+49, VALIDR+7~, VALIDR+10*, VALIDR+11, VALIDR+13*, VALIDR+14 |
| TEXT(1 | VALID+22* |
| TEXT(2 | VALID+23* |
| TSTSTR | VALID+26~, VALID+28*, VALID+29*, VALID+30*, VALID+31*, VALID+35 |
| U | CRSTATUS+5, CRSTATUS+8, CRSTATUS+21, CRSTATUS+27, CRSTATUS+30, CRSTATUS+43, EVALPCL+11, EVALPCL+14, EVALPCL+20, EVALPCL+22 , EVALPCL+34, EVALPCL+35, EVALPCL+36, ACHK+9, EVAL+3, EVAL+5, EVAL+20, EVAL+30, EVALRESL+4, EVALRESL+7 , EVALRESL+20, SEX+3, VALID+30, VALID+31 |
| VALID | VALID+26~, VALID+36*, VALID+37, VALID+39*, VALID+45*, VALID+46*, VALID+47, VALID+50 |
| VALUE | LOGOP+5~, LOGOP+6, LOGOP+7*, LOGOP+8*, LOGOP+9*, LOGOP+10* |
| VAR | EVAL+1~ |
| X | VALID+17~, VALID+18*, VALID+20 |