Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: AMQQTXG1

AMQQTXG1.m

Go to the documentation of this file.
  1. AMQQTXG1 ; IHS/CMI/THL - LOOKUP FOR TAX ;
  1. ;;2.0;IHS PCC SUITE;;MAY 14, 2009
  1. ;-----
  1. PLOOKUP ; ENTRY POINT FROM AMQQTXG
  1. S DIC=AMQQTLOK
  1. S DIC(0)="EQM"
  1. I $G(AMQQSQSN)=617,$G(AMQQSQN)=620 S %=$O(^UTILITY("AMQQ TAX",$J,+$G(AMQQTAX)-1,0)) I '$O(^(%)) S DIC("S")="I $D(^BWDIAG(""P"","_%_",Y))"
  1. I $D(AMQQNECO) S DIC(0)="M"
  1. I DIC="^AUTTHF(" S DIC("S")="I $P(^(0),U,10)=""F"""
  1. D ^DIC
  1. K DIC,DUOUT,DTOUT
  1. I Y'=-1 S X=+Y I $D(AMQQTAXI),$D(AMQQTDIC),AMQQTAXI'="",AMQQTDIC'="" D PLK1
  1. Q
  1. ;
  1. PLK1 S:$G(AMQQLINK)=32 X=$P(Y,U,2)
  1. I $D(AMQQTTX),AMQQTTX'="",$D(AMQQTAXT),AMQQTAXT=5 X AMQQTTX
  1. S %=AMQQTDIC_""""_AMQQTAXI_""",X)"
  1. I '$D(AMQQNDB),'$D(@%) W !," (none found in database so not selected... if you still want to select this",!," value enter it with quotes about it" S Y=-1
  1. K AMQQNDBC
  1. Q
  1. ;
  1. PHELP ; ENTRY POINT FROM AMQQTXG
  1. W !!,"Enter the name of a ",AMQQATNM,"."
  1. W !,"Enter ""??"" to see your selections or ""???"" to see choices.",!!
  1. Q
  1. ;
  1. PHELP1 ; ENTRY POINT FROM AMQQTXG
  1. S DIC=AMQQTLOK
  1. S DIC(0)="E"
  1. S D="B"
  1. S DZ="??"
  1. I $G(AMQQSQSN)=617,$G(AMQQSQN)=620 S %=$O(^UTILITY("AMQQ TAX",$J,+$G(AMQQTAX)-1,0)) I '$O(^(%)) S DIC("S")="I $D(^BWDIAG(""P"","_%_",Y))"
  1. I DIC="^AUTTHF(" S DIC("S")="I $P(^(0),U,10)=""F"""
  1. D DQ^DICQ
  1. K DIC,D,DZ
  1. Q
  1. ;
  1. GLOOKUP ; ENTRY POINT FROM AMQQTXG
  1. S Y=$F(AMQQSSET,(";"_X_":"))
  1. I Y S Z=$E(AMQQSSET,Y,256),Z=$P(Z,";") W " (",Z,")" S Y=X Q
  1. S Y=-1
  1. F %=2:1 S Z=$P(AMQQSSET,";",%) Q:Z="" I $E($P(Z,":",2),1,$L(X))=X W $E($P(Z,":",2),$L(X)+1,99) S Y=$P(Z,":") Q
  1. I Y=-1 W *7," ??" Q
  1. S X=Y
  1. Q
  1. ;
  1. GHELP1 ; ENTRY POINT FROM AMQQTXG
  1. S %="You may select one or more of the following =>"
  1. W !!,%,!
  1. F %=1:1 S X=$P(AMQQSSET,":",%) W !?5,$P(X,";") I $P(X,";",2)="" Q
  1. Q
  1. ;
  1. FHELP ; ENTRY POINT FROM AMQQTXG
  1. I AMQQTAXI="" W !!,"Enter the name of a ",AMQQATN Q
  1. S %="You may select one or more of the following =>"
  1. W !!,%,!
  1. S %=""
  1. S X=""
  1. S T=AMQQTDIC_""""_AMQQTAXI_""")"
  1. F I=1:1 S %=$O(@T@(%)) Q:%="" W ! D:'(I#(IOSL-4)) FLIST1 W ?5,% I X=U Q
  1. Q
  1. ;
  1. FLIST1 W "<>"
  1. R X:DTIME W *13,?5,*13
  1. Q
  1. ;
  1. FLOOKUP ; ENTRY POINT FROM AMQQTXG
  1. I AMQQTAXI="" G FEXIT
  1. S T=AMQQTDIC_""""_AMQQTAXI_""")"
  1. I '$D(@T@(X)) S %=$O(@T@(X)) I $E(%,1,$L(X))'=X W " <= Not found in data base",*7 G FEXIT
  1. I $D(@T@(X)) S %=$O(@T@(X)) I $E(%,1,$L(X))'=X G FEXIT
  1. I '$D(@T@(X)) S (%,Y)=$O(@T@(X)) I $E(%,1,$L(X))=X S %=$O(^(%)) I $E(%,1,$L(X))'=X W $E(Y,$L(X)+1,99) S X=Y G FEXIT
  1. S N=0
  1. S Z=X
  1. I $D(@T@(X)) S ^UTILITY("AMQQ LOOK",$J,1)=X,N=1
  1. FINCN S Z=$O(@T@(Z))
  1. I $E(Z,1,$L(X))'=X S N=N+1 D FC1 G:Y'=0 FEXIT G FMORE
  1. S N=N+1
  1. I N>1,N#5=1 D FC Q:Y=1 G:Y=-1 FEXIT I Y=0 D FEXIT G FLOOKUP
  1. W !?5,N," ",Z
  1. S ^UTILITY("AMQQ LOOK",$J,N)=Z
  1. G FINCN
  1. FMORE S AMQQLMOR=""
  1. FEXIT K T,^UTILITY("AMQQ LOOK",$J),N
  1. Q
  1. ;
  1. FC W !,"TYPE <CR> TO SEE MORE CHOICES, '^' TO STOP, OR"
  1. FC1 W !,"CHOOSE 1-",N-1,": "
  1. R Y:DTIME E S Y=U
  1. I Y="" Q
  1. I Y=U S Y=-1 Q
  1. I Y?1."?" W !,"Pick a number between 1 and ",N-1,". You can also enter a new name.",! G FC
  1. I Y,$D(^UTILITY("AMQQ LOOK",$J,Y)) S X=^(Y) W " (",X,")" Q
  1. I Y=+Y W " ??",*7 G FC1
  1. S X=Y
  1. S Y=0
  1. Q
  1. ;
  1. RHELP ; ENTRY POINT FROM AMQQTXG
  1. S X="DIAG"
  1. I AMQQLINK=31 S Z="diagnosis^diagnoses^ICD9^250.00^250.51^CAUSE or LOCATION"
  1. I AMQQLINK=174 S Z="procedure^procedures^ADA^AAA^BBB^CCC"
  1. I AMQQLINK=455 S Z="CPT CODE^CPT CODES^CPT^11040^11044"
  1. D ^AMQQHEL1
  1. Q
  1. ;
  1. RLOOKUP ; ENTRY POINT FROM AMQQTXG
  1. S AMQQSAVE("X")=X
  1. S (AMQQONE,AMQQSUB,AMQQA)=0
  1. S AMQQ("NO DISPLAY")=0
  1. S AMQQ("NOT TAX")=""
  1. S AMQQTYP="LOW"
  1. I $D(AMQQTXEX) D RL1 G REXIT
  1. I X'["-" S AMQQONE=1 D ^AMQQTXC S:Y>0 ^UTILITY("AMQQ TAX",$J,AMQQURGN,+Y)="" G REXIT
  1. S X=$P(X,"-")
  1. W !
  1. D ^AMQQTXC
  1. I 'AMQQA S AMQQTYP="HI",X=$P(AMQQSAVE("X"),"-",2) W ! D ^AMQQTXC
  1. REXIT I 'AMQQA,'$D(AMQQQUIT),$D(@AMQQHILO) D RANGES^AMQQTXC
  1. K AMQQSUB,AMQQTYP,AMQQDFN,DIR,AMQQSAVE,AMQQA,AMQQCNT,AMQQ,AMQQR,AMQQI,AMQQSTP,AMQQX,AMQQTXEX
  1. Q
  1. ;
  1. RL1 S AMQQSUB=1
  1. S AMQQA=0
  1. I X["-" S X=$P(X,"-") D ^AMQQTXC I 'AMQQA S X=$P(AMQQSAVE("X"),"-",2),AMQQTYP="HI" W ! D ^AMQQTXC Q
  1. I X'["-" S AMQQTYP="LOW",AMQQONE=1 D ^AMQQTXC I Y>0 K ^UTILITY("AMQQ TAX",$J,AMQQURGN,+Y)
  1. Q
  1. ;
  1. RHELP1 ; ENTRY POINT ROM AMQQTXG
  1. I '$D(@AMQQHILO) W !!,"A code range has yet to be selected. A display cannot be generated.",! Q
  1. D SHOW^AMQQTXC
  1. Q
  1. ;