GMPLX ; ISL/MKB,AJB,JER,TC,PKR -- Problem List Problem Utilities ; Aug 14, 2025@15:12
Source file <GMPLX.m>
| Package | Total | Call Graph |
|---|---|---|
| VA FileMan | 5 | ^DIC FILE^DICN ^DIE IX1^DIK ^DIR |
| Lexicon Utility | 4 | INFO^LEXA CONFIG^LEXSET ($$GETASSN,$$GETSYN)^LEXTRAN1 $$IMPDATE^LEXU |
| Kernel | 3 | ($$DT,$$FMTE)^XLFDT ($$STRIP,$$UP)^XLFSTR EN1^XQOR |
| Problem List | 2 | $$EP^GMPLSPECAUTH $$SERVICE^GMPLX1 |
| DRG Grouper | 1 | ($$CODEC,$$CODEN,$$CSI,$$SAB,$$SAI)^ICDEX |
| PCE Patient Care Encounter | 1 | $$PROVNARR^PXAPI |
| Name | Comments | DBIA/ICR reference |
|---|---|---|
| SEARCH(X,Y,PROMPT,UNRES,VIEW) | ; Search Lexicon for Problem X
|
|
| PROVNARR(X,CL) | ; Returns IFN^Text of Narrative (#9999999.27)
|
|
| PROBTEXT(IFN) | ; Returns Display Text
|
|
| PROBTX | ||
| PROBNARR(IFN) | ; Returns Provider Narrative
|
|
| CS(X) | ; Problem Codes
|
|
| EP(IFN) | ; Exposures
|
|
| PT(X,C) | ; Problem Text (only)
|
|
| TRIM(X) | ; Trim Spaces and "*"
|
|
| WRAP(PROB,MAX,TEXT) | ; Splits Text into TEXT array
|
|
| WR0 | ; Loop for Remaining Text
|
|
| WRQ | ; Quit Wrap
|
|
| NOS(GMPLCSYS,GMPLDT) | ; Return PTR^799.9 or PTR^R69 ICD code
|
|
| SEL(HELP) | ; Select List of Problems
|
|
| SEL1(HELP) | ; Select 1 Problem
|
|
| DUPL(DFN,TERM,TEXT) | ; Check for Duplicates
|
|
| DUPLOK(IFN) | ; Ask if Dup OK
|
|
| LOCKED() | ; Return Lock Msg
|
|
| SURE() | ; Ask to Delete
; Returns 1 if YES, else 0 |
|
| EXTDT(DATE) | ; Format Date as MM/DD/YY
|
|
| AUDIT(DATA,OLD) | ; Make Entry in Audit File
; DATA = string for 0-node ; OLD = string for 1-node ; = 0-node from reform/react problem |
|
| DTMOD(DA) | ; Update Date Modified
|
|
| MSG() | ; List Manager Msg Bar
|
|
| KILL | ; Clean-Up variables
|
|
| CODESTS(PROB,ADATE) | ;check status of ICD
; Input: ; PROB = pointer to the PROBLEM (#9000011) file ; ADATE = FM date on which to check the status (opt.) |
|
| EXP2CODE(X,GMPSRC,GMPCODE) | ; Resolve SOURCE,CODE and EXPRESSION
|
|
| GETDX(CODE,CODESYS,GMPDT) | ; Get ICD associated with SCT or VHAT Code
|
|
| GETDXX | ||
| PAD(GMPX,GMPL) | ; Pads string to specified length
|
|
| GETEXIEN(GMPLSCTC,GMPLSCTD) | ; Get Lexicon Expression IEN for SNOMED term
|
|
| GETEXQT | ||
| STRIPSPC(GMPLTXT) | ; Strip string of spaces and convert to all uppercase for comparison
|
|
| MIXLOWCS(GMPLTXT) | ; Check for mix/lower case
|
|
| PAUSE | ; Pause for user to process info
|
| Name | Field # of Occurrence |
|---|---|
| ^DIC | SEARCH+4 |
| FILE^DICN | AUDIT+6 |
| ^DIE | DTMOD+3 |
| IX1^DIK | AUDIT+7 |
| ^DIR | SEL+7, SEL1+7, DUPLOK+10, SURE+4, PAUSE+3 |
| $$EP^GMPLSPECAUTH | EP+1 |
| $$SERVICE^GMPLX1 | DUPLOK+6 |
| $$CODEC^ICDEX | PROBTEXT+7, DUPL+41 |
| $$CODEN^ICDEX | NOS+5 |
| $$CSI^ICDEX | PROBTEXT+5 |
| $$SAB^ICDEX | PROBTEXT+5 |
| $$SAI^ICDEX | CODESTS+13 |
| INFO^LEXA | EXP2CODE+4 |
| CONFIG^LEXSET | SEARCH+1 |
| $$GETASSN^LEXTRAN1 | DUPL+34, GETDX+4, GETDX+5 |
| $$GETSYN^LEXTRAN1 | GETEXIEN+4 |
| $$IMPDATE^LEXU | GETDX+2 |
| $$PROVNARR^PXAPI | PROVNARR+2, PROVNARR+3 |
| $$DT^XLFDT | GETDX+1, GETEXIEN+3 |
| $$FMTE^XLFDT | DUPLOK+9 |
| $$STRIP^XLFSTR | STRIPSPC+2, MIXLOWCS+3 |
| $$UP^XLFSTR | STRIPSPC+2 |
| EN1^XQOR | DTMOD+7 |
| Name | Line Occurrences |
|---|---|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Routine Call |
|
| Routine Call |
|
| Routine Call |
|
| FileNo | Call Tags |
|---|---|
| ^GMPL(125.8 - [#125.8] | Classic Fileman Calls |
| ^LEX(757.01 - [#757.01] | Classic Fileman Calls |
| ^AUPNPROB - [#9000011] | Classic Fileman Calls |
| Name | Line Occurrences (* Changed, ! Killed) |
|---|---|
| ^AUPNPROB - [#9000011] | PROBTEXT+2, PROBTEXT+9, PROBNARR+1, DUPL+23, DUPL+27, DUPL+40, DUPL+47, DUPLOK+1, DTMOD+6, CODESTS+10 , CODESTS+12 |
| ^AUPNPROB("AC" | DUPL+1, DUPL+22 |
| ^AUTNPOV - [#9999999.27] | PROBTEXT+9, PROBNARR+1 |
| ^GMPL(125.8 - [#125.8] | AUDIT+7*, AUDIT+8* |
| ^ORD(101 - [#101] | DTMOD+7 |
| ^TMP("GMPL" | SEL+1, SEL1+1 |
| ^VA(200 - [#200] | DUPLOK+6 |
| Name | Field # of Occurrence |
|---|---|
| ^(1 | DUPLOK+1 |
| ^(800 | PROBTEXT+2 |
| ^(802 | PROBTEXT+2 |
| >> | Not killed explicitly |
| * | Changed |
| ! | Killed |
| ~ | Newed |
| Name | Field # of Occurrence |
|---|---|
| ADATE | CODESTS~, CODESTS+9*, CODESTS+13 |
| C | PT~, PT+1 |
| CL | PROVNARR~, PROVNARR+2 |
| CMAPL | DUPL+2~, DUPL+33!, DUPL+45 |
| CMAPL(1 | DUPL+38 |
| CMAPL(2 | DUPL+46 |
| CODE | SEARCH+6~, SEARCH+8, SEARCH+9, NOS+1~, NOS+4*, NOS+5, DUPL+2~, DUPL+41*, DUPL+42, GETDX~ , GETDX+4, GETDX+5 |
| CODESYS | GETDX~, GETDX+4 |
| DA | AUDIT+4~, AUDIT+6*, AUDIT+7, AUDIT+8, DTMOD~, DTMOD+6, KILL+1! |
| DATA | AUDIT~, AUDIT+5, AUDIT+7 |
| DATE | DUPLOK+1~, DUPLOK+7*, DUPLOK+8*, DUPLOK+9, EXTDT~, EXTDT+1*, EXTDT+2 |
| DD | EXTDT+1~, EXTDT+2*, EXTDT+3, AUDIT+4~ |
| DFN | DUPL~, DUPL+1, DUPL+22, DTMOD+5~, DTMOD+6* |
| DIC | SEARCH+1~, SEARCH+3*, AUDIT+4~, AUDIT+5*, KILL+1! |
| DIC("A" | SEARCH+2* |
| DIC(0 | SEARCH+3*, AUDIT+5* |
| DIE | DTMOD+1~, DTMOD+2*, KILL+1! |
| DIK | AUDIT+4~, AUDIT+6* |
| DIR | SEL+1~, SEL1+1~, DUPLOK+1~, SURE+2~, PAUSE+2~ |
| DIR("?" | SEL+5*, SEL+6*, SEL1+5*, SEL1+6*, DUPLOK+3*, SURE+3* |
| DIR("A" | SEL+2*, SEL+3*, SEL+4*, SEL1+2*, SEL1+3*, SEL1+4*, DUPLOK+2*, SURE+4* |
| DIR("B" | SEL+4*, SEL1+4*, DUPLOK+2*, SURE+2* |
| DIR(0 | SEL+2*, SEL1+2*, DUPLOK+1*, SURE+2*, PAUSE+3* |
| DIRUT | PAUSE+2~ |
| DLAYGO | AUDIT+4~, AUDIT+5* |
| DO | AUDIT+4~ |
| DR | DTMOD+1~, DTMOD+2*, KILL+1! |
| DT | SEARCH+1, NOS+2, DUPL+34, CODESTS+9, EXP2CODE+4 |
| DTOUT | SEL+1~, SEL+7, SEL1+1~, SEL1+7, KILL+1!, PAUSE+2~ |
| DUOUT | KILL+1!, PAUSE+2~ |
| ECODE | DUPL+2~, DUPL+30, DUPL+32 |
| GMI | EXP2CODE+2~, EXP2CODE+3*, EXP2CODE+5*, EXP2CODE+6 |
| GMPCODE | EXP2CODE~, EXP2CODE+3*, EXP2CODE+7* |
| GMPDT | GETDX~, GETDX+1*, GETDX+3, GETDX+4, GETDX+5, GETDX+6 |
| GMPI | KILL+1!, GETDX+1~, GETDX+7*, GETDX+8*, GETDX+10 |
| GMPIFN | DTMOD+5~, DTMOD+6*, KILL+1! |
| GMPIMPDT | GETDX+1~, GETDX+2*, GETDX+3, GETDX+6 |
| GMPL | PAD~, PAD+2 |
| GMPL0 | PROBTEXT+1~, PROBTEXT+2*, PROBTEXT+3, PROBTEXT+4, PROBTEXT+5, PROBTEXT+7, DUPLOK+1~*, DUPLOK+5, DUPLOK+7, DUPLOK+8 |
| GMPL1 | DUPLOK+1~*, DUPLOK+6, DUPLOK+8 |
| GMPL800 | PROBTEXT+1~, PROBTEXT+2*, PROBTEXT+8 |
| GMPL802 | PROBTEXT+1~, PROBTEXT+2*, PROBTEXT+4, PROBTEXT+5 |
| GMPLCHAR | STRIPSPC+1~*, STRIPSPC+2 |
| GMPLCPTR | CODESTS+11~, CODESTS+12*, CODESTS+13 |
| GMPLCSYS | PROBTEXT+1~, PROBTEXT+5*, PROBTEXT+6, NOS~, NOS+3*, NOS+4 |
| GMPLDT | PROBTEXT+1~, PROBTEXT+4*, PROBTEXT+5, NOS~, NOS+2*, NOS+3, GETEXIEN+1~, GETEXIEN+3*, GETEXIEN+4 |
| GMPLEXP | PROBTEXT+1~, PROBTEXT+10*, PROBTEXT+11 |
| GMPLIEN | GETEXIEN+1~, GETEXIEN+2*, GETEXIEN+5*, GETEXIEN+9*, GETEXIEN+11*, GETEXIEN+12*, GETEXQT |
| GMPLILBL | PROBTEXT+1~, PROBTEXT+6*, PROBTEXT+13 |
| GMPLJUMP | KILL+1! |
| GMPLNO | KILL+1! |
| GMPLNUM | KILL+1!, GETEXIEN+1~, GETEXIEN+3*, GETEXIEN+8*, GETEXIEN+9 |
| GMPLPOV | PROBTEXT+1~, PROBTEXT+10*, PROBTEXT+11 |
| GMPLPUNC | MIXLOWCS+1~, MIXLOWCS+2*, MIXLOWCS+3 |
| GMPLQT | GETEXIEN+1~, GETEXIEN+3*, GETEXIEN+6, GETEXIEN+8, GETEXIEN+9*, GETEXIEN+10, GETEXIEN+11*, GETEXIEN+12 |
| GMPLRSLT | GETEXIEN+1~, GETEXIEN+4*, GETEXIEN+5, MIXLOWCS+1~*, MIXLOWCS+4*, MIXLOWCS+5 |
| GMPLSAB | CS+1~, CS+2*, CS+4*, CS+6* |
| GMPLSCTC | GETEXIEN~, GETEXIEN+2, GETEXIEN+4 |
| GMPLSCTD | GETEXIEN~, GETEXIEN+2, GETEXIEN+9, GETEXIEN+11 |
| GMPLSEL | KILL+1! |
| GMPLSLST | KILL+1! |
| GMPLSO | PROBTEXT+1~, PROBTEXT+10*, CS+1~*, CS+2*, CS+3, CS+4*, CS+5, CS+6*, CS+7, PT+1~* , PT+2 |
| GMPLSTAT | CODESTS+11~, CODESTS+13*, CODESTS+14 |
| GMPLSTR | STRIPSPC+1~, STRIPSPC+2*, STRIPSPC+3 |
| GMPLSYN | GETEXIEN+1~ |
| GMPLSYN( | GETEXIEN+6, GETEXIEN+8, GETEXIEN+9, GETEXIEN+11 |
| GMPLTERM | PT+1~*, PT+2*, PT+3 |
| GMPLTXT | PROBTEXT+1~, PROBTEXT+11*, PROBTEXT+12*, PROBTEXT+13*, PROBTEXT+14, STRIPSPC~, STRIPSPC+2, MIXLOWCS~, MIXLOWCS+3*, MIXLOWCS+4 |
| GMPLTYP | GETEXIEN+1~, GETEXIEN+3*, GETEXIEN+6*, GETEXIEN+7, GETEXIEN+8, GETEXIEN+9, GETEXIEN+11 |
| GMPMPDEF | GETDX+1~, GETDX+3*, GETDX+5 |
| GMPQUIT | KILL+1! |
| GMPREBLD | KILL+1! |
| GMPRT | KILL+1! |
| GMPSAVED | KILL+1! |
| GMPSRC | EXP2CODE~, EXP2CODE+3*, EXP2CODE+5, EXP2CODE+7* |
| GMPX | PAD~, PAD+2 |
| GMPY | GETDX+1~, GETDX+2*, GETDX+4*, GETDX+5*, GETDX+6*, GETDX+7*, GETDX+11*, GETDX+12*, GETDXX, PAD+1~ , PAD+2*, PAD+3 |
| HELP | SEL~, SEL+6, SEL1~, SEL1+6 |
| I | WRAP+1~, WR0+1*, WR0+2* |
| ICD | PROBTEXT+1~, PROBTEXT+7*, PROBTEXT+13, GETDX+9~, GETDX+10*, GETDX+11 |
| IFN | PROBTEXT~, PROBTEXT+2, PROBTEXT+9, PROBTEXT+10, PROBNARR~, PROBNARR+1, EP~, EP+1, DUPLOK~, DUPLOK+1 , DUPLOK+4 |
| IND | DUPL+2~, DUPL+45*, EXP2CODE+2~ |
| IOST | PAUSE+1 |
| J | WRAP+1~*, WR0+1*, WR0+2*, WR0+4*, WRQ+1 |
| LEX | EXP2CODE+2~, GETDX+1~, GETDX+6 |
| LEX( | GETDX+8, GETDX+10 |
| LEX("SEL" | EXP2CODE+5, EXP2CODE+6 |
| LEXUN | SEARCH+4*, SEARCH+10! |
| MATCHIEN | DUPL+2~, DUPL+21*, DUPL+22, DUPL+36*, DUPL+39*, DUPL+48*, DUPL+49 |
| MAX | WRAP~, WRAP+1, WR0+1, WR0+2, WR0+3, SEL+1~*, SEL+2, SEL+3, SEL+4, SEL1+1~* , SEL1+2, SEL1+3, SEL1+4 |
| MCODE | DUPL+2~, DUPL+38*, DUPL+39, DUPL+42 |
| MM | EXTDT+1~, EXTDT+2*, EXTDT+3 |
| OLD | AUDIT~, AUDIT+8 |
| PROB | WRAP~, WRAP+1, WR0+1*, WR0+2*, WR0+3, WR0+4, CODESTS~, CODESTS+10, CODESTS+12 |
| PROBIEN | DUPL+2~, DUPL+21*, DUPL+22*, DUPL+23, DUPL+27, DUPL+36, DUPL+39, DUPL+40, DUPL+47, DUPL+48 |
| PROMPT | SEARCH~, SEARCH+2 |
| PROV | DUPLOK+1~, DUPLOK+6* |
| RESULT | PROVNARR+1~, PROVNARR+2*, PROVNARR+3*, PROVNARR+4, DUPL+2~, DUPL+34*, DUPL+36 |
| SCTC | PROBTEXT+1~, PROBTEXT+8*, PROBTEXT+13 |
| SCTCODE | DUPL+3~, DUPL+23*, DUPL+24, DUPL+32, DUPL+34 |
| SECCODE | DUPL+3~, DUPL+46*, DUPL+47 |
| SECMATCH | DUPL+3~, DUPL+44*, DUPL+47*, DUPL+48 |
| SOURCE | DUPL+3~, DUPL+30, DUPL+31 |
| SRC | SEARCH+6~, SEARCH+8, SEARCH+9 |
| SRCCODE | EXP2CODE+2~, EXP2CODE+6*, EXP2CODE+7 |
| TEMP | DUPL+3~, DUPL+40*, DUPL+41 |
| TERM | DUPL~, DUPL+30 |
| TEXT | WRAP~, WRAP+1!, WRQ+1*, DUPL~ |
| TEXT( | WRAP+1*, WR0+1*, WR0+2*, WR0+4* |
| U | SEARCH+7, SEARCH+9, PROVNARR+3, PROVNARR+4, PROBTEXT+4, PROBTEXT+5, PROBTEXT+8, PROBTEXT+9, PROBNARR+1, NOS+5 , DUPL+23, DUPL+27, DUPL+41, DUPLOK+5, DUPLOK+6, DUPLOK+7, DUPLOK+8, AUDIT+5, DTMOD+6, CODESTS+12 , EXP2CODE+6, EXP2CODE+7, GETDX+6, GETEXIEN+9, GETEXIEN+11 |
| UNRES | SEARCH~, SEARCH+4, SEARCH+10 |
| VIEW | SEARCH~, SEARCH+1* |
| X | SEARCH~, SEARCH+3, SEARCH+7*, SEARCH+9*, PROVNARR~, PROVNARR+2, PROBTEXT+1~, PROBTEXT+3*, PROBTEXT+9*, PROBTEXT+10 , PROBTEXT+14*, PROBTX, PROBNARR+1~*, PROBNARR+2, CS~, CS+1*, CS+2, CS+3*, CS+4, CS+5* , CS+6, CS+7*, PT~, PT+1, PT+3*, TRIM~, TRIM+1*, TRIM+2*, TRIM+3*, TRIM+4* , TRIM+5, SEL+1~, SEL+7, SEL1+1~, SEL1+7, DUPLOK+1~, SURE+2~, EXTDT+1~*, EXTDT+3*, EXTDT+4 , AUDIT+4~, AUDIT+5*, DTMOD+5~, DTMOD+7*, KILL+1!, EXP2CODE~, EXP2CODE+4, PAUSE+2~ |
| Y | SEARCH~, SEARCH+5, SEARCH+7, SEARCH+8, SEARCH+9*, PROBTEXT+1~, PROBTEXT+9*, PROBNARR+1~*, SEL+1~, SEL+7* , SEL+8, SEL1+1~, SEL1+7*, SEL1+8, DUPLOK+1~, DUPLOK+11, SURE+2~, SURE+5, AUDIT+4~, AUDIT+6 , KILL+1!, PAUSE+2~ |
| Y(1 | SEARCH+9* |
| YY | EXTDT+1~, EXTDT+2*, EXTDT+3 |
| YYY | EXTDT+1~, EXTDT+2*, EXTDT+3 |