| 1 | ICD1824B ;ALB/ESD/JAT - FY 2007 UPDATE; 6/22/01 2:43pm ; 6/29/05 3:30pm
 | 
|---|
| 2 |  ;;18.0;DRG Grouper;**24**;Oct 13,2000;Build 5
 | 
|---|
| 3 |  ; - UPD01: Update weights & ALOS for FY 2007 for all DRGs
 | 
|---|
| 4 |  ; - UPD02: update 80.272 multiple with new table routines for FY 2007 for most DRGs
 | 
|---|
| 5 |  ; - INACTDRG: inactivate certain DRGs
 | 
|---|
| 6 |  ; - DRGTITLE: update title of certain DRGs       
 | 
|---|
| 7 |  Q
 | 
|---|
| 8 |  ;
 | 
|---|
| 9 | UPDTDRG ;
 | 
|---|
| 10 |  N DRG,FYR,ICDLOW,ICDHIGH,ICDLOS,ICDWWU,ICDCNT,WT,I,J
 | 
|---|
| 11 |  N ICDREF,ICDDRG,ICDFDA,IEN
 | 
|---|
| 12 |  ;D UPD01 - (waiting on CMS - must update each entry in ICD1824X,Y,Z
 | 
|---|
| 13 |  D UPD02
 | 
|---|
| 14 |  Q
 | 
|---|
| 15 |  ;
 | 
|---|
| 16 |  ;
 | 
|---|
| 17 | UPD01 ;- Load FY 2007 weights & ALOS into DRG file (#80.2)
 | 
|---|
| 18 |  S FYR=3070000
 | 
|---|
| 19 |  D BMES^XPDUTL(">>>  Adding FY 2007 Weights & ALOS to all DRGs...")
 | 
|---|
| 20 |  ; check if already done in case patch being re-installed
 | 
|---|
| 21 |  Q:$D(^ICD(579,"FY",3070000,0))
 | 
|---|
| 22 |  F I=1:1 S WT=$P($T(WEIGHTS+I^ICD1824X),";;",2,99) Q:I>200  D SETVAR,FY,MORE
 | 
|---|
| 23 |  F I=1:1 S WT=$P($T(WEIGHTS+I^ICD1824Y),";;",2,99) Q:I>200  D SETVAR,FY,MORE
 | 
|---|
| 24 |  F I=1:1 S WT=$P($T(WEIGHTS+I^ICD1824Z),";;",2,99) Q:$E(WT,1,4)="EXIT"  D SETVAR,FY,MORE
 | 
|---|
| 25 |  S ^ICD("AFY",3070000)=""
 | 
|---|
| 26 |  D MES^XPDUTL(">>>  ...completed.")
 | 
|---|
| 27 |  D MES^XPDUTL("")
 | 
|---|
| 28 |  Q
 | 
|---|
| 29 |  ;
 | 
|---|
| 30 |  ;
 | 
|---|
| 31 | FY ;- Set FY multiple with FYR stats
 | 
|---|
| 32 |  ; check if already done in case patch being re-installed
 | 
|---|
| 33 |  I $D(^ICD(DRG,"FY",FYR,0)) Q
 | 
|---|
| 34 |  S $P(^ICD(DRG,"FY",FYR,0),"^",1,4)=FYR_"^"_ICDWWU_"^"_ICDLOW_"^"_ICDHIGH,$P(^(0),"^",9)=ICDLOS
 | 
|---|
| 35 |  I '$D(^ICD(DRG,"FY",0)) S ^ICD(DRG,"FY",0)="^80.22D^"_FYR_"^1" Q
 | 
|---|
| 36 |  S ICDCNT="" F J=0:1 S ICDCNT=$O(^ICD(DRG,"FY",ICDCNT)) Q:ICDCNT=""
 | 
|---|
| 37 |  S $P(^ICD(DRG,"FY",0),"^",3,4)=FYR_"^"_J
 | 
|---|
| 38 |  Q
 | 
|---|
| 39 |  ;
 | 
|---|
| 40 |  ;
 | 
|---|
| 41 | SETVAR ;- Set variables
 | 
|---|
| 42 |  S DRG=$P(WT,U),ICDLOW=1,ICDHIGH=99,ICDWWU=$P(WT,U,2),ICDLOS=$P(WT,U,3)
 | 
|---|
| 43 | DRG S ICDLOW=$P(^ICD(DRG,"FY",3060000,0),U,3),ICDHIGH=$P(^ICD(DRG,"FY",3060000,0),U,4)
 | 
|---|
| 44 |  Q
 | 
|---|
| 45 |  ;
 | 
|---|
| 46 |  ;
 | 
|---|
| 47 | MORE ;- Set zero node with FY 2007 stats
 | 
|---|
| 48 |  S $P(^ICD(DRG,0),"^",2,4)=ICDWWU_"^"_ICDLOW_"^"_ICDHIGH,$P(^(0),"^",8)=ICDLOS
 | 
|---|
| 49 |  Q
 | 
|---|
| 50 |  ;
 | 
|---|
| 51 | UPD02 ; create new entries for FY 2007 versioning
 | 
|---|
| 52 |  S DRG=0
 | 
|---|
| 53 |  F  S DRG=$O(^ICD(DRG)) Q:'DRG  D
 | 
|---|
| 54 |  .; check if already done in case patch being re-installed
 | 
|---|
| 55 |  .Q:$D(^ICD(DRG,2,"B",3061001))
 | 
|---|
| 56 |  .;one-time code because not done in FY2006
 | 
|---|
| 57 |  .I DRG<57&($D(^ICD(DRG,2,"B",3041001))) D
 | 
|---|
| 58 |  ..S ICDREF="ICDTLB1B"
 | 
|---|
| 59 |  ..S ICDFDA(80.2,"?1,",.01)="`"_DRG
 | 
|---|
| 60 |  ..S ICDFDA(80.271,"+2,?1,",.01)=3051001
 | 
|---|
| 61 |  ..S ICDFDA(80.271,"+2,?1,",1)=ICDREF
 | 
|---|
| 62 |  ..D UPDATE^DIE("","ICDFDA") K ICDFDA
 | 
|---|
| 63 |  .;end of one-time code
 | 
|---|
| 64 |  .; it's also already done if DRG new this year 
 | 
|---|
| 65 |  .Q:DRG>559&($D(^ICD(DRG,2)))
 | 
|---|
| 66 |  .S (ICDDRG,ICDREF)=""
 | 
|---|
| 67 |  .S ICDDRG=$P($G(^ICD(DRG,0)),U,1)
 | 
|---|
| 68 |  .;"A"= FY 2005 "B"=FY 2006 "C"=FY 2007, etc.
 | 
|---|
| 69 |  .S IEN=0,IEN=$O(^ICD(DRG,2,"B",3051001,IEN))
 | 
|---|
| 70 |  .I IEN S ICDREF=$P(^ICD(DRG,2,IEN,0),U,3),ICDREF=$E(ICDREF,1,7)_"C"
 | 
|---|
| 71 |  .;Create FY 2007 reference table entries used for FY 2007
 | 
|---|
| 72 |  .I ICDDRG'="",ICDREF'="" D
 | 
|---|
| 73 |  ..S ICDFDA(80.2,"?1,",.01)="`"_DRG
 | 
|---|
| 74 |  ..S ICDFDA(80.271,"+2,?1,",.01)=3061001
 | 
|---|
| 75 |  ..S ICDFDA(80.271,"+2,?1,",1)=ICDREF
 | 
|---|
| 76 |  ..D UPDATE^DIE("","ICDFDA")
 | 
|---|
| 77 |  Q
 | 
|---|
| 78 |  ;
 | 
|---|
| 79 | INACTDRG ;
 | 
|---|
| 80 |  N LINE,X,ICDDRG,DESC,DA,DIE,DR,MDC,SURG,ICDFDA
 | 
|---|
| 81 |  D BMES^XPDUTL(">>> Inactivating 8 DRGs...")
 | 
|---|
| 82 |  F LINE=1:1 S X=$T(INAC+LINE) S ICDDRG=$P(X,";;",2) Q:ICDDRG="EXIT"  D
 | 
|---|
| 83 |  .S DESC="NO LONGER VALID"
 | 
|---|
| 84 |  .S DA(1)=$P(ICDDRG,U)
 | 
|---|
| 85 |  .S DA=1
 | 
|---|
| 86 |  .S DIE="^ICD("_DA(1)_",1,"
 | 
|---|
| 87 |  .S DR=".01///^S X=DESC"
 | 
|---|
| 88 |  .D ^DIE
 | 
|---|
| 89 |  .; check if already done in case patch being re-installed
 | 
|---|
| 90 |  .Q:$D(^ICD($P(ICDDRG,U),66,"B",3061001))
 | 
|---|
| 91 |  .; add entry to 80.266
 | 
|---|
| 92 |  .S MDC=$P(ICDDRG,U,2)
 | 
|---|
| 93 |  .S SURG=$P(ICDDRG,U,3)
 | 
|---|
| 94 |  .S ICDDRG=$P(ICDDRG,U)
 | 
|---|
| 95 |  .S ICDFDA(80.2,"?1,",.01)=ICDDRG
 | 
|---|
| 96 |  .S ICDFDA(80.266,"+2,?1,",.01)=3061001
 | 
|---|
| 97 |  .S ICDFDA(80.266,"+2,?1,",.03)=0
 | 
|---|
| 98 |  .S ICDFDA(80.266,"+2,?1,",.05)=MDC
 | 
|---|
| 99 |  .S ICDFDA(80.266,"+2,?1,",.06)=SURG
 | 
|---|
| 100 |  .D UPDATE^DIE("","ICDFDA") K ICDFDA
 | 
|---|
| 101 |  .; add entry to 80.268 and 80.2681 
 | 
|---|
| 102 |  .S ICDFDA(80.2,"?1,",.01)=ICDDRG
 | 
|---|
| 103 |  .S ICDFDA(80.268,"+2,?1,",.01)=3061001
 | 
|---|
| 104 |  .D UPDATE^DIE("","ICDFDA") K ICDFDA
 | 
|---|
| 105 |  .S ICDFDA(80.2,"?1,",.01)=ICDDRG
 | 
|---|
| 106 |  .S ICDFDA(80.268,"?2,?1,",.01)=3061001
 | 
|---|
| 107 |  .S ICDFDA(80.2681,"+3,?2,?1,",.01)=DESC
 | 
|---|
| 108 |  .D UPDATE^DIE("","ICDFDA") K ICDFDA
 | 
|---|
| 109 |  Q
 | 
|---|
| 110 |  ;
 | 
|---|
| 111 | INAC ;
 | 
|---|
| 112 |  ;;20^1^
 | 
|---|
| 113 |  ;;24^1^
 | 
|---|
| 114 |  ;;25^1^
 | 
|---|
| 115 |  ;;475^4^1
 | 
|---|
| 116 |  ;;148^6^1
 | 
|---|
| 117 |  ;;154^6^1
 | 
|---|
| 118 |  ;;415^18^1
 | 
|---|
| 119 |  ;;416^18^1
 | 
|---|
| 120 |  ;;EXIT
 | 
|---|
| 121 | DRGTITLE ; modify titles of DRGs
 | 
|---|
| 122 |  N LINE,X,ICDDRG,DESC,DA,DIE,DR,ICDFDA
 | 
|---|
| 123 |  F LINE=1:1 S X=$T(TITLE+LINE) S ICDDRG=$P(X,";;",2) Q:ICDDRG="EXIT"  D
 | 
|---|
| 124 |  .S DESC=$P(ICDDRG,U,2)
 | 
|---|
| 125 |  .S DA(1)=$P(ICDDRG,U)
 | 
|---|
| 126 |  .S DA=1
 | 
|---|
| 127 |  .S DIE="^ICD("_DA(1)_",1,"
 | 
|---|
| 128 |  .S DR=".01///^S X=DESC"
 | 
|---|
| 129 |  .D ^DIE
 | 
|---|
| 130 |  .; check if already done in case patch being re-installed
 | 
|---|
| 131 |  .Q:$D(^ICD($P(ICDDRG,U),68,"B",3061001))
 | 
|---|
| 132 |  .; add entry to 80.268 and 80.2681
 | 
|---|
| 133 |  .S ICDDRG=$P(ICDDRG,U)
 | 
|---|
| 134 |  .S ICDFDA(80.2,"?1,",.01)=ICDDRG
 | 
|---|
| 135 |  .S ICDFDA(80.268,"+2,?1,",.01)=3061001
 | 
|---|
| 136 |  .D UPDATE^DIE("","ICDFDA") K ICDFDA
 | 
|---|
| 137 |  .S ICDFDA(80.2,"?1,",.01)=ICDDRG
 | 
|---|
| 138 |  .S ICDFDA(80.268,"?2,?1,",.01)=3061001
 | 
|---|
| 139 |  .S ICDFDA(80.2681,"+3,?2,?1,",.01)=DESC
 | 
|---|
| 140 |  .D UPDATE^DIE("","ICDFDA") K ICDFDA
 | 
|---|
| 141 |  Q
 | 
|---|
| 142 | TITLE ;
 | 
|---|
| 143 |  ;;303^KIDNEY AND URETER PROCEDURES FOR NEOPLASM
 | 
|---|
| 144 |  ;;304^KIDNEY AND URETER PROCEDURES FOR NON-NEOPLASM WITH CC
 | 
|---|
| 145 |  ;;305^KIDNEY AND URETER PROCEDURES FOR NON-NEOPLASM WITHOUT CC
 | 
|---|
| 146 |  ;;543^CRANIOTOMY W/MAJOR DEVICE IMPLANT OR ACUTE COMPLEX CNS PDX
 | 
|---|
| 147 |  ;;EXIT
 | 
|---|