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

AUM61P1.m

Go to the documentation of this file.
  1. AUM61P1 ;IHS/ASDST/DMJ,SDR - ICD9 MODS TO CODES FOR FY 2006 ; [ 08/18/2003 11:02 AM ]
  1. ;;06.1;TABLE MAINTENANCE;**1**;SEP 28,2001
  1. ;
  1. START ;EP
  1. ;
  1. SVARS ;;A,C,E,F,L,M,N,O,P,R,S,T,V;Single-character work variables.
  1. ;
  1. NEW DA,DIC,DIE,DINUM,DLAYGO,DR,@($P($T(SVARS),";",3))
  1. S U="^"
  1. ;
  1. D RSLT("Beginning v6.1 p1 ICD Update.")
  1. D DASH,ICD9REV
  1. D DASH,ICD0REV
  1. D RSLT("End v6.1 p1 ICD Update.")
  1. Q
  1. ; -----------------------------------------------------
  1. ADDOK D RSLT($J("",5)_"Added : "_L)
  1. Q
  1. ADDFAIL D RSLT($J("",5)_$$M(0)_"ADD FAILED => "_L)
  1. Q
  1. DASH D RSLT(""),RSLT($$REPEAT^XLFSTR("-",$S($G(IOM):IOM-10,1:70))),RSLT("")
  1. Q
  1. DIE ;EP
  1. NEW @($P($T(SVARS),";",3))
  1. LOCK +(@(DIE_DA_")")):10 E D RSLT($J("",5)_$$M(0)_"Entry '"_DIE_DA_"' IS LOCKED. NOTIFY PROGRAMMER.") S Y=1 Q
  1. D ^DIE LOCK -(@(DIE_DA_")")) KILL DA,DIE,DR
  1. Q
  1. E(L) Q $P($P($T(@L),";",3),":",1)
  1. DIK NEW @($P($T(SVARS),";",3)) D ^DIK KILL DIK
  1. Q
  1. FILE NEW @($P($T(SVARS),";",3)) K DD,DO S DIC(0)="L" D FILE^DICN KILL DIC
  1. Q
  1. M(%) Q $S(%=0:"ERROR : ",%=1:"NOT ADDED : ",1:"")
  1. MODOK D RSLT($J("",5)_"Changed : "_L)
  1. Q
  1. RSLT(%) S ^(0)=$G(^TMP("AUM2104",$J,0))+1,^(^(0))=% D MES(%)
  1. Q
  1. MES(%) NEW @($P($T(SVARS),";",3)) D MES^XPDUTL(%)
  1. Q
  1. IXDIC(DIC,DIC0,D,X,DLAYGO,DINUM) ;EP
  1. NEW @($P($T(SVARS),";",3))
  1. S DIC(0)=DIC0
  1. KILL DIC0
  1. I '$G(DLAYGO) KILL DLAYGO
  1. D IX^DIC
  1. Q Y
  1. ; -----------------------------------------------------
  1. ICD9REV ;
  1. D RSLT($$E("ICD9REVC"))
  1. D RSLT($J("",8)_"CODE REVISION")
  1. D RSLT($J("",8)_"---- ------------")
  1. NEW AUMDA,AUMI,AUMLN,DA,DIE,DR
  1. F AUMI=1:1 S AUMLN=$P($T(ICD9REVC+AUMI),";;",2) Q:AUMLN="END" D PROCESS
  1. NEW AUMDA,AUMI,AUMLN,DA,DIE,DR
  1. F AUMI=1:1 S AUMLN=$P($T(ICD9REV2+AUMI),";;",2) Q:AUMLN="END" D
  1. .S Y=$$IXDIC("^ICD9(","IX","AB",$P(AUMLN,U),80)
  1. .I Y=-1 D RSLT("ERROR: Lookup/Add of CODE '"_$P(AUMLN,U)_"' FAILED.") Q
  1. .S DA=+Y
  1. .S DR="3////"_$P(AUMLN,U,2) ;diagnosis
  1. .I $P(AUMLN,U,3)'="" S DR=DR_";10////"_$P(AUMLN,U,3) ;description
  1. .S DIE="^ICD9("
  1. .S AUMDA=DA
  1. .D DIE
  1. .I $D(Y) D RSLT("ERROR: Edit of fields for CODE '"_$P(AUMLN,U,1)_"' FAILED.") Q
  1. .D RSLT($J("",8)_$P(AUMLN,U,1)_$J("",4)_$E($P(AUMLN,U,2),1,30))
  1. Q
  1. ;
  1. PROCESS S Y=$$IXDIC("^ICD9(","IX","AB",$P(AUMLN,U),80)
  1. I Y=-1 D RSLT("ERROR: Lookup/Add of CODE '"_$P(AUMLN,U)_"' FAILED.") Q
  1. S DA=+Y
  1. S DR=".01////"_$P(AUMLN,U,2)
  1. I $P(AUMLN,U,3)'="" S DR=DR_";3////"_$P(AUMLN,U,3) ;diagnosis
  1. I $P(AUMLN,U,4)'="" S DR=DR_";10////"_$P(AUMLN,U,4) ;description
  1. S DIE="^ICD9("
  1. S AUMDA=DA
  1. D DIE
  1. I $D(Y) D RSLT("ERROR: Edit of fields for CODE '"_$P(AUMLN,U,1)_"' FAILED.") Q
  1. D RSLT($J("",8)_$P(AUMLN,U,1)_$J("",4)_$E($P(AUMLN,U,2),1,30))
  1. Q
  1. ; -----------------------------------------------------
  1. ICD0REV ;
  1. D RSLT($$E("ICD0REVC"))
  1. D RSLT($J("",8)_"CODE DESCRIPTION")
  1. D RSLT($J("",8)_"---- -----------")
  1. NEW AUMDA,AUMI,AUMLN,DA,DIE,DR
  1. F AUMI=1:1 S AUMLN=$P($T(ICD0REVC+AUMI),";;",2) Q:AUMLN="END" D
  1. . S AUMLN=$TR(AUMLN,"abcdefghijklmnopqrstuvwxyz","ABCDEFGHIJKLMNOPQRSTUVWXYZ")
  1. . S Y=$$IXDIC("^ICD0(","IX","AB",$P(AUMLN,U))
  1. . I Y=-1 D RSLT("ERROR: Lookup/Add of CODE '"_$P(AUMLN,U)_"' FAILED.") Q
  1. . S DA=+Y
  1. . S DR="10///"_$P(AUMLN,U,2) ;description
  1. . S DIE="^ICD0("
  1. . S AUMDA=DA
  1. . D DIE
  1. . I $D(Y) D RSLT("ERROR: Edit of fields for CODE '"_$P(AUMLN,U,1)_"' FAILED.") Q
  1. . D RSLT($J("",8)_$P(AUMLN,U,1)_$J("",4)_$E($P(AUMLN,U,2),1,30))
  1. .Q
  1. Q
  1. PRNT ;;
  1. S U="^"
  1. W !," CODE",?10,"DIAGNOSIS",!?10,"DESCRIPTION",!," -----",?10,"-----------"
  1. NEW X,Y,P2,P3
  1. F X=1:1 S Y=$P($T(ICD9NEW+X),";;",3),P2=$P(Y,U,2),P3=$P(Y,U,3) Q:Y="END" W !," ",$P(Y,U,1),?10,$S($L(P3):P3,1:P2),!?10,P2
  1. Q
  1. ICD9REVC ;;ICD 9 DIAGNOSIS, REVISED CODES: OLD CODE NUMBER (#.01)^CODE NUMBER(#.01)
  1. ;;259.50^259.5
  1. ;;327.80^327.8
  1. ;;585.10^585.1
  1. ;;585.20^585.2
  1. ;;585.30^585.3
  1. ;;585.40^585.4
  1. ;;585.50^585.5
  1. ;;585.60^585.6
  1. ;;585.90^585.9
  1. ;;V18.90^V18.9
  1. ;;V69.50^V69.5
  1. ;;V85.00^V85.0
  1. ;;V85.10^V85.1
  1. ;;V85.40^V85.4
  1. ;;END
  1. ICD9REV2 ;;CODE^DIAGNOSIS^DESCRIPTION
  1. ;;567.89^OTHER SPECIFIED PERITONITIS^OTHER SPECIFIED PERITONITIS
  1. ;;599.69^URINARY OBSTRUCTION, NEC
  1. ;;259.5^ANDROGEN INSENSITIVITY SYNDRME^ANDROGEN INSENSITIVITY SYNDROME
  1. ;;END
  1. ICD0REVC ;;ICD 0 PROCEDURE, REVISED CODES: CODE NUMBER(#.01)^DESCRIPTION(#10)
  1. ;;86.94^Insertion or replacement of single array neurostimulator pulse generator, not specified as rechargeable
  1. ;;86.95^Insertion or replacement of dual array neurostimulator pulse generator, not specified as rechargeable
  1. ;;END