1 | LEXSC2 ; ISL Shortcuts Add/Delete ; 05/25/1998
|
---|
2 | ;;2.0;LEXICON UTILITY;**11**;Sep 23, 1996
|
---|
3 | ;
|
---|
4 | WRT(LEXSTR) ;
|
---|
5 | W ! N LEXI,LEXLEN S LEXLEN=70 F D Q:$L(LEXSTR)<LEXLEN
|
---|
6 | . F LEXI=(LEXLEN+1):-1:0 Q:$E(LEXSTR,LEXI)=" "!(LEXI=0)
|
---|
7 | . I LEXI>0 W !,?2,$E(LEXSTR,1,(LEXI-1)) S LEXSTR=$E(LEXSTR,(LEXI+1),$L(LEXSTR)) Q
|
---|
8 | . I LEXI=0 W:$L(LEXSTR) !,?2,LEXSTR S LEXSTR=""
|
---|
9 | I $L(LEXSTR) W !,?2,LEXSTR
|
---|
10 | W !
|
---|
11 | Q
|
---|
12 | DELOK(X) ; Ok to delete?
|
---|
13 | N DIR,Y,DTOUT,DUOUT,DIRUT,DIROUT
|
---|
14 | S DIR("A")="Delete current shortcut: ",DIR("B")="NO",DIR(0)="YAO" D ^DIR
|
---|
15 | S:X[U LEXRP=U S:X["^^" LEXRP="^^" W ! S X=$S(+($G(Y))=1:1,1:0) Q X
|
---|
16 | Q
|
---|
17 | ADDOK(X) ; Ok to add?
|
---|
18 | N DIR,Y,DTOUT,DUOUT,DIRUT,DIROUT
|
---|
19 | S DIR("A")="Add shortcut: ",DIR("B")="NO",DIR(0)="YAO" D ^DIR
|
---|
20 | S:X[U LEXRP=U S:X["^^" LEXRP="^^" W ! S X=$S(+($G(Y))=1:1,1:0) Q X
|
---|
21 | SC(X) ; Get shortcut
|
---|
22 | S DIR("A")="Enter shortcut keyword(s): "
|
---|
23 | S DIR("?")="Enter one or more words (up to 63 characters) to use as a shortcut for a term"
|
---|
24 | S DIR("??")="^D SCHLP^LEXSC2" N Y S DIR(0)="FAO^2:63" D ^DIR
|
---|
25 | S:X="" LEXRP=U S:X[U LEXRP=U S:X["^^" LEXRP="^^" F Q:$E(X,1)'=" " S X=$E(X,2,$L(X))
|
---|
26 | W:$D(DTOUT) !,"Try later.",! S:$D(DTOUT) X="",LEXRP=U
|
---|
27 | S:X[U DUOUT=1 K DIR,DIRUT,DIROUT
|
---|
28 | Q X
|
---|
29 | SCHLP ; Look-up help
|
---|
30 | W !!,"Enter one or more words (up to 63 characters) to use as a shortcut to quickly"
|
---|
31 | W !,"locate a single term without conducting a word search. This shortcut should"
|
---|
32 | W !,"be unique to the term as used in the context """,LEXCXN,""""
|
---|
33 | Q
|
---|
34 | TERM(X) ; Get expression
|
---|
35 | N DIR,Y S DIR("A")="Select a term for the shortcut: "
|
---|
36 | S DIR("?")=" "_$$SQ^LEXHLP ; PCH 11
|
---|
37 | S DIR("??")="^D TERMHLP^LEXSC2" N Y S DIR(0)="FAO^2:245" D ^DIR
|
---|
38 | S DIC="^LEX(757.01," S:X[U LEXRP=U S:X["^^" LEXRP="^^" Q:LEXRP[U "^"
|
---|
39 | I X=" ",+($G(^DISV(DUZ,DIC)))>0 S X=@(DIC_+($G(^DISV(DUZ,DIC)))_",0)") W " ",X
|
---|
40 | F Q:$E(X,1)'=" " S X=$E(X,2,$L(X))
|
---|
41 | W:$D(DTOUT) !,"Try later.",! S:$D(DTOUT) X=""
|
---|
42 | S:X[U DUOUT=1 K DIR,DIRUT,DIROUT Q X
|
---|
43 | TERMHLP ; Look-up help PCH 11
|
---|
44 | N X S X="" S:$L($G(DIR("?"))) X=$G(DIR("?")) S:'$L(X) X=" "_$$SQ^LEXHLP
|
---|
45 | W:$L(X) !!,X,!
|
---|
46 | W !," Best results occur using one to three full or partial words without"
|
---|
47 | W !," a suffix (i.e., ""DIABETES"",""DIAB MELL"",""DIAB MELL INSUL"") or"
|
---|
48 | W !," a classification code (ICD, CPT, HCPCS, etc)"
|
---|
49 | Q
|
---|