ICDJC2 ;ALB/ARH - DRG GROUPER CALCULATOR 2015 - CODE SETS ;05/26/2016
Source file <ICDJC2.m>
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 |