- OCXF22 ;SLC/RJS,CLA - GENERATES CODE FOR 'Free Text (String)' OPERATORS ;10/29/98 12:37
- ;;3.0;ORDER ENTRY/RESULTS REPORTING;**32**;Dec 17,1997
- ;; ;;ORDER CHECK EXPERT version 1.01 released OCT 29,1998
- Q
- ;
- ;
- LEN(X) ;
- I ($E(X,1)="""") Q ($L(X)-2)
- Q "$L("_X_")"
- ;
- START(DATA,CVAL) ; DATA STARTS WITH VALUE
- ;
- Q:'$L($G(DATA)) "" Q:'$L($G(CVAL)) "" Q "($E("_DATA_",1,"_$$LEN(CVAL)_")="_CVAL_")"
- ;
- END(DATA,CVAL) ; DATA ENDS WITH VALUE
- ;
- Q:'$L($G(DATA)) "" Q:'$L($G(CVAL)) "" Q "($E("_DATA_",($L("_DATA_")-("_$$LEN(CVAL)_"-1)),$L("_DATA_"))="_CVAL_")"
- ;
- PAT(DATA,CVAL) ; MUMPS PATTERN MATCH
- ;
- Q:'$L($G(DATA)) "" Q:'$L($G(CVAL)) "" Q "("_DATA_"?"_CVAL_")"
- ;
- ;
- CONT(DATA,CVAL) ; DATA CONTAINS VALUE
- ;
- Q:'$L($G(DATA)) "" Q:'$L($G(CVAL)) "" Q "("_DATA_"["_CVAL_")"
- ;
- PREC(DATA,CVAL) ; DATA PRECEDES VALUE ALPHABETICALLY
- ;
- Q:'$L($G(DATA)) "" Q:'$L($G(CVAL)) "" Q "("_CVAL_"]"_DATA_")"
- ;
- ;
- FOLLOW(DATA,CVAL) ; DATA FOLLOWS VALUE ALPHABETICALLY
- ;
- Q:'$L($G(DATA)) "" Q:'$L($G(CVAL)) "" Q "("_DATA_"]"_CVAL_")"
- ;
- AEQ(DATA,CVAL) ; DATA EQUALS VALUE ALPHABETICALLY
- ;
- Q:'$L($G(DATA)) "" Q:'$L($G(CVAL)) "" Q "("_DATA_"="_CVAL_")"
- ;
- AEQT(DATA,CVAL) ; DATA EQUALS STANDARD TERM ALPHABETICALLY
- ;
- Q:'$L($G(DATA)) "" Q:'$L($G(CVAL)) "" Q "$$EQTERM("_DATA_","_CVAL_")"
- ;
- NAEQ(DATA,CVAL) ; DATA DOES NOT EQUAL VALUE ALPHABETICALLY
- ;
- Q:'$L($G(DATA)) "" Q:'$L($G(CVAL)) "" Q "'("_DATA_"="_CVAL_")"
- ;
- AINCL(DATA,CVAL1,CVAL2) ; ALPHA INCLUSIVE BETWEEN
- ;
- Q:'$L($G(DATA)) "" Q:'$L($G(CVAL1)) "" Q:'$L($G(CVAL2)) ""
- ;
- Q "'("_$$PREC(DATA,CVAL1)_"!"_$$FOLLOW(DATA,CVAL2)_")"
- ;
- AEXCL(DATA,CVAL1,CVAL2) ; ALPHA EXCLUSIVE BETWEEN
- ;
- Q:'$L($G(DATA)) "" Q:'$L($G(CVAL1)) "" Q:'$L($G(CVAL2)) ""
- ;
- Q "("_$$FOLLOW(DATA,CVAL1)_"&"_$$PREC(DATA,CVAL2)_")"
- ;
- ; ***** STRING LENGTH OPERATORS *****
- ;
- LGRT(DATA,CVAL) ; GREATER THAN SPECIFIED STRING LENGTH
- ;
- Q $$GRT^OCXF20("$L("_DATA_")",CVAL)
- ;
- LESS(DATA,CVAL) ; LESS THAN SPECIFIED STRING LENGTH
- ;
- Q $$LESS^OCXF20("$L("_DATA_")",CVAL)
- ;
- LEQ(DATA,CVAL) ; EQUALS SPECIFIED STRING LENGTH
- ;
- Q $$EQ^OCXF20("$L("_DATA_")",CVAL)
- ;
- LINCL(DATA,CVAL1,CVAL2) ; STRING LENGTH INCLUSIVE BETWEEN
- ;
- Q $$INCL^OCXF20("$L("_DATA_")",CVAL1,CVAL2)
- ;
- LEXCL(DATA,CVAL1,CVAL2) ; STRING LENGTH EXCLUSIVE BETWEEN
- ;
- Q $$EXCL^OCXF20("$L("_DATA_")",CVAL1,CVAL2)
- ;
- EQSET(DATA,CVAL) ; STRING IS EQUAL TO ONE OF A LIST OF VALUES
- ;
- Q "$$LIST("_DATA_","_CVAL_")"
- ;
- CONSET(DATA,CVAL) ; STRING CONTAINS ONE OF A LIST OF VALUES
- ;
- Q "$$CLIST("_DATA_","_CVAL_")"
- ;
- OCXF22 ;SLC/RJS,CLA - GENERATES CODE FOR 'Free Text (String)' OPERATORS ;10/29/98 12:37
- +1 ;;3.0;ORDER ENTRY/RESULTS REPORTING;**32**;Dec 17,1997
- +2 ;; ;;ORDER CHECK EXPERT version 1.01 released OCT 29,1998
- +3 QUIT
- +4 ;
- +5 ;
- LEN(X) ;
- +1 IF ($EXTRACT(X,1)="""")
- QUIT ($LENGTH(X)-2)
- +2 QUIT "$L("_X_")"
- +3 ;
- START(DATA,CVAL) ; DATA STARTS WITH VALUE
- +1 ;
- +2 IF '$LENGTH($GET(DATA))
- QUIT ""
- IF '$LENGTH($GET(CVAL))
- QUIT ""
- QUIT "($E("_DATA_",1,"_$$LEN(CVAL)_")="_CVAL_")"
- +3 ;
- END(DATA,CVAL) ; DATA ENDS WITH VALUE
- +1 ;
- +2 IF '$LENGTH($GET(DATA))
- QUIT ""
- IF '$LENGTH($GET(CVAL))
- QUIT ""
- QUIT "($E("_DATA_",($L("_DATA_")-("_$$LEN(CVAL)_"-1)),$L("_DATA_"))="_CVAL_")"
- +3 ;
- PAT(DATA,CVAL) ; MUMPS PATTERN MATCH
- +1 ;
- +2 IF '$LENGTH($GET(DATA))
- QUIT ""
- IF '$LENGTH($GET(CVAL))
- QUIT ""
- QUIT "("_DATA_"?"_CVAL_")"
- +3 ;
- +4 ;
- CONT(DATA,CVAL) ; DATA CONTAINS VALUE
- +1 ;
- +2 IF '$LENGTH($GET(DATA))
- QUIT ""
- IF '$LENGTH($GET(CVAL))
- QUIT ""
- QUIT "("_DATA_"["_CVAL_")"
- +3 ;
- PREC(DATA,CVAL) ; DATA PRECEDES VALUE ALPHABETICALLY
- +1 ;
- +2 IF '$LENGTH($GET(DATA))
- QUIT ""
- IF '$LENGTH($GET(CVAL))
- QUIT ""
- QUIT "("_CVAL_"]"_DATA_")"
- +3 ;
- +4 ;
- FOLLOW(DATA,CVAL) ; DATA FOLLOWS VALUE ALPHABETICALLY
- +1 ;
- +2 IF '$LENGTH($GET(DATA))
- QUIT ""
- IF '$LENGTH($GET(CVAL))
- QUIT ""
- QUIT "("_DATA_"]"_CVAL_")"
- +3 ;
- AEQ(DATA,CVAL) ; DATA EQUALS VALUE ALPHABETICALLY
- +1 ;
- +2 IF '$LENGTH($GET(DATA))
- QUIT ""
- IF '$LENGTH($GET(CVAL))
- QUIT ""
- QUIT "("_DATA_"="_CVAL_")"
- +3 ;
- AEQT(DATA,CVAL) ; DATA EQUALS STANDARD TERM ALPHABETICALLY
- +1 ;
- +2 IF '$LENGTH($GET(DATA))
- QUIT ""
- IF '$LENGTH($GET(CVAL))
- QUIT ""
- QUIT "$$EQTERM("_DATA_","_CVAL_")"
- +3 ;
- NAEQ(DATA,CVAL) ; DATA DOES NOT EQUAL VALUE ALPHABETICALLY
- +1 ;
- +2 IF '$LENGTH($GET(DATA))
- QUIT ""
- IF '$LENGTH($GET(CVAL))
- QUIT ""
- QUIT "'("_DATA_"="_CVAL_")"
- +3 ;
- AINCL(DATA,CVAL1,CVAL2) ; ALPHA INCLUSIVE BETWEEN
- +1 ;
- +2 IF '$LENGTH($GET(DATA))
- QUIT ""
- IF '$LENGTH($GET(CVAL1))
- QUIT ""
- IF '$LENGTH($GET(CVAL2))
- QUIT ""
- +3 ;
- +4 QUIT "'("_$$PREC(DATA,CVAL1)_"!"_$$FOLLOW(DATA,CVAL2)_")"
- +5 ;
- AEXCL(DATA,CVAL1,CVAL2) ; ALPHA EXCLUSIVE BETWEEN
- +1 ;
- +2 IF '$LENGTH($GET(DATA))
- QUIT ""
- IF '$LENGTH($GET(CVAL1))
- QUIT ""
- IF '$LENGTH($GET(CVAL2))
- QUIT ""
- +3 ;
- +4 QUIT "("_$$FOLLOW(DATA,CVAL1)_"&"_$$PREC(DATA,CVAL2)_")"
- +5 ;
- +6 ; ***** STRING LENGTH OPERATORS *****
- +7 ;
- LGRT(DATA,CVAL) ; GREATER THAN SPECIFIED STRING LENGTH
- +1 ;
- +2 QUIT $$GRT^OCXF20("$L("_DATA_")",CVAL)
- +3 ;
- LESS(DATA,CVAL) ; LESS THAN SPECIFIED STRING LENGTH
- +1 ;
- +2 QUIT $$LESS^OCXF20("$L("_DATA_")",CVAL)
- +3 ;
- LEQ(DATA,CVAL) ; EQUALS SPECIFIED STRING LENGTH
- +1 ;
- +2 QUIT $$EQ^OCXF20("$L("_DATA_")",CVAL)
- +3 ;
- LINCL(DATA,CVAL1,CVAL2) ; STRING LENGTH INCLUSIVE BETWEEN
- +1 ;
- +2 QUIT $$INCL^OCXF20("$L("_DATA_")",CVAL1,CVAL2)
- +3 ;
- LEXCL(DATA,CVAL1,CVAL2) ; STRING LENGTH EXCLUSIVE BETWEEN
- +1 ;
- +2 QUIT $$EXCL^OCXF20("$L("_DATA_")",CVAL1,CVAL2)
- +3 ;
- EQSET(DATA,CVAL) ; STRING IS EQUAL TO ONE OF A LIST OF VALUES
- +1 ;
- +2 QUIT "$$LIST("_DATA_","_CVAL_")"
- +3 ;
- CONSET(DATA,CVAL) ; STRING CONTAINS ONE OF A LIST OF VALUES
- +1 ;
- +2 QUIT "$$CLIST("_DATA_","_CVAL_")"
- +3 ;