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

AICDKWLD.m

Go to the documentation of this file.
  1. AICDKWLD ; IHS/OHPRD/ACC - DRIVER ROUTINE FOR "AND"ING INVERTED LIST SEARCHES ;
  1. ;;4.0;AICD;;DEC 03, 2014;Build 7
  1. ;IHS/CMI/LAB - CSV MODS
  1. ; AICDDESC,AICDH,AICDMULT,AICDREF0 ARE PASSED IN TO DISPLAY ROUTINES
  1. ; AND SHOULD NOT BE KILLED IN THIS ROUTINE
  1. ; AICDKSCH,AICDX ARE KILLED BY AICDKWL
  1. ;
  1. VERSION ; ENTRY POINT - DISPLAY VERSION (USED FROM MENUS)
  1. S X="KEYWORD-DRIVEN LOOKUP UTILITY (3.51)"
  1. S Y=$S(DUZ(2):$P(^DIC(4,DUZ(2),0),U),1:"No site selected")
  1. W @IOF,!,?(IOM-$L(X)/2),X,!,?(IOM-$L(Y)/2),Y,!
  1. Q
  1. ;
  1. ICDDX ; PUBLISHED ENTRY POINT - LOOK UP ICD DIAGNOSIS CODE
  1. S AICDX=X K AICDKSCH S AICDKSCH("TYPE")="DIAGNOSES",AICDKSCH("GBL")="^ICD9(",AICDKSCH("INDEX")="AIHS",AICDKSCH("DSPLY")="DSPLYD^AICDKWLD" G COMMON
  1. ;
  1. ICDOP ; PUBLISHED ENTRY POINT - LOOK UP ICD OPERATION/PROCEDURE CODE
  1. S AICDX=X K AICDKSCH S AICDKSCH("TYPE")="PROCEDURES",AICDKSCH("GBL")="^ICD0(",AICDKSCH("INDEX")="AIHS",AICDKSCH("DSPLY")="DSPLYO^AICDKWLD" G COMMON
  1. ;
  1. CPTOP ; PUBLISHED ENTRY POINT - LOOK UP CPT CODE
  1. S AICDX=X K AICDKSCH S AICDKSCH("TYPE")="CPT PROCEDURES",AICDKSCH("GBL")="^ICPT(",AICDKSCH("INDEX")="C",AICDKSCH("DSPLY")="DSPLYC^AICDKWLD"
  1. ;
  1. COMMON ; COMMON CODE FOR ALL TYPES OF LOOKUPS
  1. I $D(DIC(0)),DIC(0)["A" W !
  1. S X=AICDX,AICDX="" F %=1:1 S AICDC=$E(X,%) Q:AICDC="" S:AICDC?1L AICDC=$C($A(AICDC)-32) S AICDX=AICDX_AICDC
  1. K AICDC
  1. D ^AICDKWL
  1. Q
  1. DSPLYD ; DISPLAY CODE AND TEXT FOR DIAGNOSIS
  1. S %=3 G DSPCOM
  1. DSPLYO ; DISPLAY CODE AND TEXT FOR OPERATION/PROCEDURE
  1. S %=4 G DSPCOM
  1. DSPCOM ; COMMON DISPLAY CODE
  1. W:AICDMULT $J(AICDH,4),": "
  1. ;ihs/cmi/lab - csv, use $$ICDD call
  1. ;W $P(@(AICDREF0),"^",1)," ","(",$P(^(0),"^",%),")",! S AICDDESC=$S($D(^(1)):^(1),1:"<no long description available>")
  1. W $P(@(AICDREF0),"^",1)," ","(",$P(^(0),"^",%),")",!
  1. NEW N,AICDLD
  1. S N=$$ICDD^ICDCODE(AICDI,"AICDLD")
  1. I $P(N,"^",1)=-1 D I 1
  1. .I AICDREF0["ICD0" S AICDDESC=$S($D(^ICD0(AICDI,1)):^ICD0(AICDI,1),1:"") I AICDDESC="" S AICDDESC=$P($$ICDOP^ICDCODE(AICDI,,,1),U,5)
  1. .I AICDREF0["ICD9" S AICDDESC=$S($D(^ICD9(AICDI,1)):^ICD9(AICDI,1),1:"") I AICDDESC="" S AICDDESC=$P($$ICDDX^ICDCODE(AICDI,,,1),U,4)
  1. E S AICDDESC=$G(AICDLD(1))
  1. D DSPDESC^AICDKWL1
  1. Q
  1. DSPLYC ; DISPLAY CODE AND TEXT FOR CPT PROCEDURE
  1. W:AICDMULT $J(AICDH,4),": "
  1. W $P(@(AICDREF0),"^",1)
  1. S AICDREFD=$P(AICDREF0,"0)",1)_"""D"",%)"
  1. F %=0:0 S %=$O(@(AICDREFD)) Q:'% W ?15,^(%,0),!
  1. K AICDREFD
  1. Q