PSSDSUTA ;BIR/RTR - Dosing Utility Routine ; Nov 24, 2014@16:00
Source file <PSSDSUTA.m>
| Package | Total | Call Graph |
|---|---|---|
| Kernel | 1 | $$UP^XLFSTR |
| Pharmacy Data Management | 1 | $$FREQCHK^PSSJSV |
| VA FileMan | 1 | COMMA^%DTC |
| 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 |
| Package | Total | Caller Graph |
|---|---|---|
| Pharmacy Data Management | 4 | PSSDSAPA PSSDSAPD PSSHRQ24 PSSHRQ25 |
| Name | Comments | DBIA/ICR reference |
|---|---|---|
| FCY() | ;Validate Frequency, leading and trailing spaces already stripped off, and uppercase conversion done
|
|
| MAXD(PSSDADO,PSSDADB,PSSDADNM,PSSDADI,PSSDBCAR) | ; -- in 2.1 Perform Max Daily Dose check when Frequency is Out of Range - called from PSSHRQ24
|
|
| MAXDQ | ; -- set frequency flag=0 if unable to complete max daily dose check
|
|
| CALCDDA(PSSDADF,PSSDADD) | ; -- in 2.1 calculate daily dose amount by converting FDB frequency patterns into numeric daily dose amount
|
|
| CALCDDAT(PSSDADTM,PSSDADN,PSSDADD) | ; -- in 2.1 calculate daily dose amount based on time per day, week or month
|
|
| GETUNIT(PSSDADE,PSSDADU) | ; -- in 2.1 FDB not sending Dose Unit in Standard format try and derive
|
|
| CONVMDDA(PSSDADU,PSSFDBU,PSSDADC1) | ; -- in 2.1 Convert FDB Max Daily Dose or Dose Form Amount using Dose Unit Conversion file (#51.25)
|
|
| MAXDMSG(PSSDADO,PSSDADB,PSSDADNM,PSSDADI,PSSDADH,PSSDADU,PSSDADC1,PSSDADFF,PSSDBCAR) | ; -- in 2.1 build customized max daily dose message
|
|
| FMTNUM(X,PSSGDIF) | ; -- in 2.1 format number for display
|
|
| ERRMSG(PSSDADO,PSSDADB,PSSERRT) | ; -- in 2.1 update max daily dose error message if BSA or weight missing
|
|
| CHKCFREQ(PSSDADO,PSSDBASE,PSSDBASG,PSSDBCAR) | ; -- in 2.1 check for custom frequency -- called from PSSDSAPA
|
| Name | Line Occurrences (* Changed, ! Killed) |
|---|---|
| ^PS(51.24 - [#51.24] | GETUNIT+27, GETUNIT+29, GETUNIT+30, GETUNIT+32, GETUNIT+33 |
| ^PS(51.25 - [#51.25] | CONVMDDA+14, CONVMDDA+16, CONVMDDA+18 |
| ^TMP($J | MAXD+23, MAXD+36, MAXD+56, MAXD+57, MAXD+58, MAXD+59, MAXD+60, MAXDMSG+23*, MAXDMSG+30, MAXDMSG+32 , MAXDMSG+36!, ERRMSG+14, ERRMSG+16, ERRMSG+20, ERRMSG+22, ERRMSG+24*, CHKCFREQ+15, CHKCFREQ+16* |
| Name | Line Occurrences |
|---|---|
| $$CALCDDAT | CALCDDA+14, CALCDDA+16, CALCDDA+18, CALCDDA+36 |
| $$FMTNUM | MAXDMSG+21 |
| MAXDQ | MAXD+56, MAXD+57, MAXD+59, MAXD+60 |
| Name | Field # of Occurrence |
|---|---|
| ^( | CHKCFREQ+15 |
| ^("TEXT" | ERRMSG+20 |
| >> | Not killed explicitly |
| * | Changed |
| ! | Killed |
| ~ | Newed |
| Name | Field # of Occurrence |
|---|---|
| I | GETUNIT+13~, GETUNIT+15* |
| ND | FMTNUM+25~, FMTNUM+29*, FMTNUM+32, FMTNUM+34 |
| PSSCFMSG | CHKCFREQ+5~, CHKCFREQ+15*, CHKCFREQ+16 |
| PSSCMDDA | CONVMDDA+7~, CONVMDDA+20*, CONVMDDA+21 |
| PSSCMDDF | MAXD+16~, MAXD+21*, MAXD+89*, MAXDQ+1 |
| PSSCNTR | CHKCFREQ+5~, CHKCFREQ+13*, CHKCFREQ+16 |
| PSSDADB | MAXD~, MAXD+18, MAXD+23, MAXD+36, MAXD+56, MAXD+57, MAXD+58, MAXD+59, MAXD+60, MAXDMSG~ , MAXDMSG+16, MAXDMSG+23, MAXDMSG+30, MAXDMSG+32, MAXDMSG+36, ERRMSG~, ERRMSG+7, ERRMSG+14, ERRMSG+16, ERRMSG+20 , ERRMSG+22, ERRMSG+24 |
| PSSDADC1 | MAXD+16~, CONVMDDA~, CONVMDDA+9, CONVMDDA+12, CONVMDDA+20, MAXDMSG~, MAXDMSG+16, MAXDMSG+19, MAXDMSG+21 |
| PSSDADD | MAXD+16~, MAXD+25*, CALCDDA~, CALCDDA+8, CALCDDA+10, CALCDDA+12, CALCDDA+14, CALCDDA+16, CALCDDA+18, CALCDDA+20 , CALCDDA+22, CALCDDA+36, CALCDDA+40, CALCDDA+42, CALCDDA+44, CALCDDA+46, CALCDDAT~, CALCDDAT+8, CALCDDAT+12, CALCDDAT+14 , CALCDDAT+16 |
| PSSDADE | MAXD+16~, MAXD+36*, MAXD+41, MAXD+56, MAXD+57, GETUNIT~, GETUNIT+8, GETUNIT+10, GETUNIT+15, GETUNIT+16 , GETUNIT+17, GETUNIT+18*, GETUNIT+19*, GETUNIT+20*, GETUNIT+22*, GETUNIT+24, GETUNIT+27, GETUNIT+29, GETUNIT+32 |
| PSSDADF | MAXD+16~, MAXD+25*, CALCDDA~, CALCDDA+8, CALCDDA+10, CALCDDA+12, CALCDDA+14, CALCDDA+16, CALCDDA+18, CALCDDA+20 , CALCDDA+22, CALCDDA+24, CALCDDA+26, CALCDDA+28, CALCDDA+29, CALCDDA+30, CALCDDA+34, CALCDDA+36 |
| PSSDADFF | MAXD+16~, MAXD+29*, MAXD+36, MAXDMSG~, MAXDMSG+21 |
| PSSDADH | MAXD+16~, MAXDMSG~, MAXDMSG+16, MAXDMSG+19, MAXDMSG+21 |
| PSSDADI | MAXD~, MAXD+18, MAXD+36, MAXD+58, MAXDMSG~, MAXDMSG+16, MAXDMSG+23 |
| PSSDADL | CALCDDA+6~, CALCDDA+24*, CALCDDA+34, GETUNIT+13~, GETUNIT+17*, GETUNIT+18, GETUNIT+19 |
| PSSDADM | CONVMDDA+7~, CONVMDDA+18*, CONVMDDA+20 |
| PSSDADN | CALCDDA+6~, CALCDDA+29*, CALCDDA+30*, CALCDDA+32, CALCDDA+36, CALCDDA+40, CALCDDA+42, CALCDDA+44, CALCDDA+46, CALCDDAT~ , CALCDDAT+8, CALCDDAT+12, CALCDDAT+14, CALCDDAT+16 |
| PSSDADNM | MAXD~, MAXD+18, MAXD+36, MAXD+58, MAXDMSG~, MAXDMSG+16, MAXDMSG+23, CHKCFREQ+5~, CHKCFREQ+13*, CHKCFREQ+15 , CHKCFREQ+16 |
| PSSDADO | MAXD~, MAXD+18, MAXD+19, MAXD+23, MAXD+36, MAXD+58, MAXDQ+1, MAXDMSG~, MAXDMSG+16, MAXDMSG+17 , MAXDMSG+23, MAXDMSG+25, MAXDMSG+30, MAXDMSG+32, MAXDMSG+36, ERRMSG~, ERRMSG+7, ERRMSG+14, ERRMSG+16, ERRMSG+20 , ERRMSG+22, ERRMSG+24, CHKCFREQ~, CHKCFREQ+7, CHKCFREQ+8, CHKCFREQ+11, CHKCFREQ+13, CHKCFREQ+15, CHKCFREQ+16 |
| PSSDADTM | CALCDDA+6~, CALCDDA+34*, CALCDDA+36, CALCDDA+38, CALCDDA+40, CALCDDA+42, CALCDDA+44, CALCDDAT~, CALCDDAT+8, CALCDDAT+10 , CALCDDAT+12, CALCDDAT+14 |
| PSSDADU | MAXD+16~, MAXD+25*, GETUNIT~, GETUNIT+8, GETUNIT+10, GETUNIT+24, CONVMDDA~, CONVMDDA+9, CONVMDDA+12, CONVMDDA+16 , MAXDMSG~, MAXDMSG+16, MAXDMSG+21 |
| PSSDADZ | MAXD+16~, MAXD+23*, MAXD+25, MAXD+29 |
| PSSDBASE | CHKCFREQ~, CHKCFREQ+7, CHKCFREQ+15 |
| PSSDBASG | CHKCFREQ~, CHKCFREQ+7, CHKCFREQ+16 |
| PSSDBCAR | MAXD~, MAXDMSG~, CHKCFREQ~ |
| PSSDBCAR( | MAXD+19, MAXDQ+1*, MAXDMSG+17, MAXDMSG+25*, CHKCFREQ+8, CHKCFREQ+11, CHKCFREQ+13 |
| >> PSSDBCAZ( | FCY+3 |
| >> PSSDBEB1 | FCY+3 |
| >> PSSDBEB2 | FCY+2 |
| PSSDL | GETUNIT+13~, GETUNIT+15*, GETUNIT+16, GETUNIT+20 |
| PSSDMSG | MAXD+16~, MAXD+58*, MAXD+59, MAXD+60 |
| PSSDUC2I | CONVMDDA+7~, CONVMDDA+16*, CONVMDDA+18 |
| PSSDUCI | CONVMDDA+7~, CONVMDDA+14*, CONVMDDA+16, CONVMDDA+18 |
| PSSDUIEN | GETUNIT+13~, GETUNIT+27*, GETUNIT+29*, GETUNIT+30, GETUNIT+32*, GETUNIT+33 |
| PSSDWIEN | CHKCFREQ+5~, CHKCFREQ+13*, CHKCFREQ+15 |
| PSSDWL1 | MAXDMSG+14~, MAXDMSG+29*, MAXDMSG+30*, MAXDMSG+32, MAXDMSG+34, ERRMSG+5~, ERRMSG+13*, ERRMSG+14*, ERRMSG+16, ERRMSG+18 , ERRMSG+20, ERRMSG+22 |
| PSSERRM | ERRMSG+5~, ERRMSG+11*, ERRMSG+22*, ERRMSG+24 |
| PSSERRN | MAXDMSG+14~, MAXDMSG+27*, MAXDMSG+30, MAXDMSG+34*, MAXDMSG+36, ERRMSG+5~, ERRMSG+9*, ERRMSG+14, ERRMSG+18*, ERRMSG+24 |
| PSSERRT | ERRMSG~, ERRMSG+7, ERRMSG+11, ERRMSG+20 |
| PSSFCYF | FCY+1~, FCY+2*, FCY+3, FCY+4, FCY+5, FCY+6, FCY+7 |
| PSSFCYL | FCY+1~, FCY+6* |
| PSSFDBU | MAXD+16~, GETUNIT+13~, GETUNIT+29, GETUNIT+30*, GETUNIT+32, GETUNIT+33*, CONVMDDA~, CONVMDDA+9, CONVMDDA+12, CONVMDDA+14 |
| PSSFND | GETUNIT+13~, GETUNIT+14*, GETUNIT+15* |
| PSSGDIF | FMTNUM~, FMTNUM+31 |
| PSSMSG | MAXDMSG+14~, MAXDMSG+21*, MAXDMSG+23 |
| X | GETUNIT+13~, GETUNIT+15*, FMTNUM~, FMTNUM+27, FMTNUM+29, FMTNUM+32, FMTNUM+34, FMTNUM+36, FMTNUM+38*, FMTNUM+40* , FMTNUM+42*, FMTNUM+44, FMTNUM+45 |
| X2 | FMTNUM+25~, FMTNUM+32*, FMTNUM+34*, FMTNUM+36*, FMTNUM+38, FMTNUM+44* |
| X3 | FMTNUM+25~, FMTNUM+44* |