ICDJC2 ;ALB/ARH - DRG GROUPER CALCULATOR 2015 - CODE SETS ;05/26/2016
Source file <ICDJC2.m>
action | A | extended action | Ea | event driver | Ed | subscriber | Su | protocol | O | limited protocol | LP | run routine | RR | broker | B | edit | E | server | Se | P | screenman | SM | inquire | I |
Package | Total | Caller Graph |
---|---|---|
DRG Grouper | 2 | ICDJC ICDJC1 |
Name | Comments | DBIA/ICR reference |
---|---|---|
CDSET(ICDDX,ICDPR,ICDDATE,PRATT,CDSARR) | ; get all Code Sets defined by event Diagnosis and Procedure codes
; most Code Sets are specific to an event code, either Diagnosis (83.5,20) or Procedure (83.6,20) ; Dx Code Sets may be specific to primary or secondary event dx, all members of procedure Clusters must be defined ; an 'ONLY' Code Set is selected only if all the codes defined for the event are in the Code Set ; computed generic and linked group Code Sets are selected if all criteria are met ; ; Input: ICDDX(x) and ICDPR(x) - array of Dx/procedures input to API, ICDDATE - date of event, PRATT pr attributes ; Output: CDSARR - array of all Code Sets (83.3) satisfied by the event diagnosis and procedures ; CDSARR(code set ifn, icdxx number) = code ien (80/80.1) ^ DX/PR ^ single(1)/cluster only(0) ^ cluster ien ; CDSARR(code set ifn, 99_cmpt #) = ^ type of codes in set 'DX' or 'PR' - for computed codes sets |
|
GETCDS(TYP,CDIFN,DATE,ARRCDS,ICDPR) | ; get Code Sets for a single code on a date, either diagnosis (83.5,20) or procedure (83.6,20)
; input: TYP - type of codes 'DX' or 'PR', CDIFN - ptr to code in 83.5 or 83.6 ; output: ARRCDS - array of code sets the code is a member of on the date ; ARRCDS(code set ifn (83.3)) = TYP ^ code set ifn ^ single(1)/cluster only(0) in set ^ cluster ptr 83.61 ; a procedure may be assigned to a Code Set as a single procedure and/or as a member of a cluster, all members ; of a cluster (83.6,20,.04) must be defined for the cluster only procedures to select a Code Set |
|
CLSTR(CLUSTER,ICDPR) | ; determine if the event procedures satisfy the cluster
; returns true if all the procedures assigned to the cluster (83.61) are defined on the event ; input: CLUSTER - ptr to a cluster (83.61), ICDPR - array of event procedures |
|
CALC1(ICDPR,PRATT) | ; Computed generic Code Set: ANY OPERATING ROOM PROCEDURE
; returns the generic Code Set IFN if there is one or more O.R. or Surgical event procedures |
|
CALC2(ICDPR,PRATT) | ; Computed generic Code Set: NO OPERATING ROOM PROCEDURE
; returns the generic Code Set IFN if there are no O.R or Surgical event procedures |
|
CALC3(ICDDX) | ; Computed generic Code Set: NO SECONDARY DIAGNOSIS
; returns the generic Code Set IFN if there are no Secondary diagnosis on the event (only 1 dx) |
|
ONLY(ONLYARR,ICDARR,CDSARR,PRATT) | ; add 'ONLY' Code Set if all codes assigned to the event are in the Set
; if all the event codes are in the set then add the Only Code Set to the list of all selected Code Sets ; for diagnosis this is only applied to the secondary codes ; for procedures this is only applied to operating room procedures, non-or procedures outside the set are allowed ; input: ONLYARR(icdxx number) = ONLY code set ifn ^ code ifn (ptr #80, #80.1) ^ code type ; ICDARR - may be either ICDDX or ICDPRC, PRATT compiled procedure attributes ; output: CDSARR modified - if meets criteria the ONLY Code Set is added to CDSARR array of selected code sets ; CDSARR(ONLY code set ifn, idcxx number) = code ien (80/80.1) ^ code type ^ 1 (single) |
|
LINK(LINKARR,CDSARR) | ; add any Computed LNK Code Set that apply
; for any selected Code Set in a Linked group, check if the Link criteria is satisfied ; if the Link criteria is met then add the generic LNK Computed Code Set to the list of selected Code Sets ; input: LINKARR(link group, LINKED code set ifn) = count of selected Code Sets with the link group ; CDSARR(code set ifn, icdxx number) = code ifn (ptr #80, #80.1) ^ code type ; output: CDSARR modified, any LNK Computed Code Set satisfied is added to CDSARR array of all selected Sets ; CDSARR(LNK Computed code set ifn, 99x) = ^ code type w/x is the LNK set value ; difference between CDN and MLT is Condition is not exclusive, one code can satisfy more than one condition ; number of sets required is in link text after '-', count link number a group satisfies is in the set name |
Name | Line Occurrences (* Changed, ! Killed) |
---|---|
^ICDD( | GETCDS+9, GETCDS+10 |
^ICDD(83.3 - [#83.3] | CDSET+22, CDSET+45, CALC1+4, CALC2+4, CALC3+4, LINK+13, LINK+14, LINK+19, LINK+22, LINK+23 |
^ICDD(83.5 - [#83.5] | CDSET+18 |
^ICDD(83.6 - [#83.6] | CDSET+41 |
^ICDD(83.61 - [#83.61] | CLSTR+9 |
Name | Line Occurrences |
---|---|
$$CALC1 | CDSET+60 |
$$CALC2 | CDSET+61 |
$$CALC3 | CDSET+62 |
$$CLSTR | GETCDS+16 |
GETCDS | CDSET+18, CDSET+41 |
LINK | CDSET+57 |
ONLY | CDSET+33, CDSET+54 |
>> | Not killed explicitly |
* | Changed |
! | Killed |
~ | Newed |
Name | Field # of Occurrence |
---|---|
ARRCDS | CDSET+10~, CDSET+18, CDSET+34!, CDSET+41, GETCDS~, GETCDS+6! |
ARRCDS( | CDSET+21, CDSET+44, CDSET+52, GETCDS+14*, GETCDS+17, GETCDS+19* |
ARRLNK | LINK+9~ |
ARRLNK( | LINK+14*, LINK+18 |
ARRPR | CLSTR+3~ |
ARRPR( | CLSTR+6*, CLSTR+9 |
BEGIN | GETCDS+6~, GETCDS+11*, GETCDS+12 |
CDFILE | GETCDS+6~, GETCDS+7*, GETCDS+9, GETCDS+10 |
CDIFN | GETCDS~, GETCDS+6*, GETCDS+9, GETCDS+10 |
CDSARR | CDSET~, CDSET+10!, CDSET+33, CDSET+54, CDSET+57, ONLY~, LINK~ |
CDSARR( | CDSET+31*, CDSET+52*, CDSET+60*, CDSET+61*, CDSET+62*, ONLY+16*, LINK+25, LINK+27, LINK+31* |
CLUSTER | GETCDS+6~, GETCDS+16*, GETCDS+17*, GETCDS+19, CLSTR~, CLSTR+3*, CLSTR+9 |
CMPTD | LINK+9~, LINK+20*, LINK+25, LINK+27, LINK+29, LINK+31 |
CMPTSET | LINK+9~, LINK+13*, LINK+14, LINK+18*, LINK+19, LINK+22, LINK+31 |
CMPTSET1 | CALC1+2~, CALC1+4*, CALC1+8 |
CMPTSET2 | CALC2+2~, CALC2+4*, CALC2+8 |
CMPTSET3 | CALC3+2~, CALC3+4*, CALC3+8 |
CNT | ONLY+8~*, ONLY+12*, ONLY+14*, ONLY+16, LINK+9~, LINK+20*, LINK+25*, LINK+27*, LINK+29*, LINK+31 |
CODTYP | ONLY+8~, ONLY+10*, ONLY+12, ONLY+14 |
COUNT | LINK+9~, LINK+23*, LINK+29 |
CSET0 | LINK+9~, LINK+19*, LINK+20, LINK+31 |
DATE | GETCDS~, GETCDS+6*, GETCDS+12 |
DT | GETCDS+6 |
DX | CDSET+10~, CDSET+18*, CDSET+29, CDSET+31 |
DXI | CDSET+10~, CDSET+15*, CDSET+18, CDSET+25, CDSET+26, CDSET+29, CDSET+31 |
DXIFN | CDSET+10~, CDSET+18* |
END | GETCDS+6~, GETCDS+11*, GETCDS+12 |
FND | CLSTR+3~*, CLSTR+9*, CLSTR+11, CALC1+2~*, CALC1+6*, CALC1+8*, CALC1+10, CALC2+2~*, CALC2+6*, CALC2+8* , CALC2+10, CALC3+2~*, CALC3+6*, CALC3+8*, CALC3+10, ONLY+8~*, ONLY+12*, ONLY+14*, ONLY+16 |
ICDARR | ONLY~ |
ICDARR( | ONLY+12, ONLY+14 |
ICDARR(0 | ONLY+12 |
ICDDATE | CDSET~, CDSET+10*, CDSET+18, CDSET+41 |
ICDDX | CDSET~, CDSET+33, CDSET+62, CALC3~ |
ICDDX( | CDSET+15, CDSET+18, CALC3+6 |
ICDDX(0 | CDSET+11, CALC3+6 |
ICDPR | CDSET~, CDSET+41, CDSET+54, CDSET+60, CDSET+61, GETCDS~, GETCDS+16, CLSTR~, CALC1~, CALC2~ |
ICDPR( | CDSET+38, CDSET+41, CLSTR+6, CALC1+6, CALC2+6 |
IX | GETCDS+6~, GETCDS+9*, GETCDS+10, CALC3+2~, CALC3+6*, ONLY+8~, ONLY+10*, ONLY+12*, ONLY+14*, ONLY+16* , LINK+9~, LINK+31* |
LINE | CDSET+10~, CDSET+22*, CDSET+24, CDSET+25, CDSET+26, CDSET+28, CDSET+29, CDSET+45*, CDSET+47, CDSET+49 , CDSET+50, GETCDS+6~, GETCDS+10*, GETCDS+11, GETCDS+16, GETCDS+17*, ONLY+8~, ONLY+16*, LINK+9~, LINK+14* , LINK+23* |
LINK | CDSET+10~, CDSET+57, LINK+9~, LINK+12*, LINK+13, LINK+20*, LINK+22, LINK+29 |
LINK( | CDSET+28*, CDSET+49* |
LINK("" | CDSET+57 |
LINKARR | LINK~ |
LINKARR( | LINK+12, LINK+29 |
MDCCAT | LINK+9~, LINK+20*, LINK+23 |
NUM | LINK+9~, LINK+20*, LINK+31 |
ONLY | CDSET+10~, CDSET+33, CDSET+34!, CDSET+54 |
ONLY( | CDSET+29*, CDSET+50* |
ONLY(0 | CDSET+33, CDSET+54 |
ONLYARR | ONLY~ |
ONLYARR( | ONLY+10, ONLY+12, ONLY+14, ONLY+16 |
ONLYARR(0 | ONLY+10 |
PDX | CDSET+10~, CDSET+11*, CDSET+25, CDSET+26 |
PR | CDSET+10~, CDSET+41*, CDSET+50, CDSET+52, CLSTR+3~, CLSTR+6*, CLSTR+9* |
PRATT | CDSET~, CDSET+54, CDSET+60, CDSET+61, CALC1~, CALC2~, ONLY~ |
PRATT( | CALC1+6, CALC2+6, ONLY+14 |
PRI | CDSET+10~, CDSET+38*, CDSET+41, CDSET+50, CDSET+52, CLSTR+3~, CLSTR+6*, CALC1+2~, CALC1+6*, CALC2+2~ , CALC2+6* |
PRIFN | CDSET+10~, CDSET+41* |
SETIFN | CDSET+10~, CDSET+21*, CDSET+22, CDSET+28, CDSET+29, CDSET+31, CDSET+44*, CDSET+45, CDSET+49, CDSET+50 , CDSET+52, CDSET+60*, CDSET+61*, CDSET+62*, GETCDS+6~, GETCDS+10*, GETCDS+14, GETCDS+17, GETCDS+19, LINK+9~ , LINK+22*, LINK+23, LINK+25, LINK+27, LINK+29 |
SINGLE | GETCDS+6~, GETCDS+17*, GETCDS+19 |
TYP | GETCDS~, GETCDS+6*, GETCDS+7, GETCDS+14, GETCDS+19 |
U | CDSET+24, CDSET+25, CDSET+26, CDSET+28, CDSET+29, CDSET+31, CDSET+47, CDSET+49, CDSET+50, CDSET+52 , CDSET+60, CDSET+61, CDSET+62, GETCDS+10, GETCDS+11, GETCDS+14, GETCDS+16, GETCDS+17, GETCDS+19, CALC1+6 , CALC2+6, ONLY+10, ONLY+14, ONLY+16, LINK+14, LINK+20, LINK+23, LINK+31 |