ICDJC3 ;ALB/ARH - DRG GROUPER CALCULATOR 2015 - DRG SELECT ;05/26/2016
Source file <ICDJC3.m>
Name | Comments | DBIA/ICR reference |
---|---|---|
DRGLS(ICDDATE,PRATT,DXATT,CDSET,DRGARR) | ; get all possible satisfied DRGs and their MCC/CC defined by the event diagnosis, procedures and attributes
; DRGs are selected based on Code Sets, defined by the event diagnosis and procedures ; each DRG may have one or more sets of Code Sets (Cases) that lead to the DRG ; ; selected DRGs have at least one DRG Case with all required Code Sets defined and following criteria met: ; a DRGs MDC must match the MDC of the events Primary diagnosis, except DRG MDCs 00 and 99 ; a Medical DRG may not have an event OR procedure unless it is specifically assigned to the Case Code Set ; if a DRG that is a member of an Exclusive MDC has a Case initially satisfied then no General MDC DRG is allowed ; if a DRG Case includes an 'EXCEPT' Code Set (Set or Case level), that code set must not be defined by the event ; if a DRG Case requires Any OR procedure, it may not be satisfied by a code used to satisfy any other code set ; if a DRG Case requires a Secondary Dx then that Dxs MCC/CC may not affect the MCC/CC designation of that DRG ; when this occurs the MCC/CC applied to that specific DRG is updated and may be different than the event MCC/CC |
|
DRGACT(DRG,DATE) | ; get the status of the DRG on a date DRG STATUS (#80.2,66,.03)
; input: DRG - ptr to 80.2, DATE - date to determine status ; output: return true if the DRG is active on the date |
|
GETCSE(DRGIFN,DATE,ARRCSE) | ; get all active Cases associated with the DRG (83.1,10)
; input: DRGIFN - ptr to mdc drg (83.1) ; output: ARRCSE(case ifn (83.2)) = DRGIFN - array of active Cases (83.2) linked to the DRG (83.1) |
|
CSESET(MDCIFN,CSEIFN,CDSET,DXATT,PRATT,DRGCFND) | ; determine if a Case is fully satisfied by the event
; all Code Sets required by a Case have event codes assigned (CDSET) and satisfy the criteria ; input: MDCIFN - ptr to DRGs MDC (83), CSEIFN - ptr to a Case (83.2) ; output: return true if all the code sets for the case have event codes assigned and meet the criteria ; 1 if all case codes sets and criteria satisfied, MCC/CC not affected ; 3 if any Operating Room Procedures unassigned to a case code set ; 2 ^ MCC or CC or null if all case code sets and criteria satisfied and reset the MCC/CC for the DRG ; DRGCFND returns true if the case is initially satisfied before screening for extra/unassigned OR procedures ; a code set identified as EXCEPT, at case or set level, invalidates the case, unless AnyOR overrides it ; the codes used to satisfy the ANY OR Procedure Code Set must not be used to satisfy any of the cases other code sets ; clusters apply within the MDC of its Set and if no other procedure is necessary to select the case ; therefore a cluster with members incompletely assigned to the case may override the selection ; if a Secondary Diagnosis is used to select the DRG then its MCC/CC are removed from the DRGs MCC/CC |
|
PRCOR(DRGMDCFN,ARRSET,CDSET,PRATT) | ; determine if any event OR Procedures are unassigned or unused
; input: ARRSET(SETIFN) - all code sets that define the case, codes assigned to these sets are considered used ; output: returns true if any event OR Procedure codes are unused - not assigned to any of the cases code sets ; checks if any OR procedure is unassigned to the Case Sets, excludes generic code sets like Any OR ; also excludes as unused members of clusters defined outside the DRGs MDC that are cluster members only, not singles |
|
PRCLR(DRGMDCFN,ARRSET,CDSET) | ; Cluster/MDC Rule - deterime if a cluster is defined by the event and affects the case
; procedures within a cluster must all exist for the cluster to satisfy a set ; the cluster applies only within the MDC of its Set and if no other procedure is necessary to select the case ; input: ARRSET(SETIFN) - all code sets that define the case, codes assigned to these sets are considered used ; output: returns true (1) if a procedure cluster does not invalidate the set ; returns false (0) if cluster is defined and invalidates the case ; if a cluster is defined by the event, it may or may not need to be fully assigned to the case sets ; when applied to cases, the clusters individual procedures may be used outside the clusters MDC or if there ; are non-cluster procedures necessary to select the case ; Cluster/MDC Rule does not apply to MDC 00, single procedures of clusters within MDC 00 may satisfy an MDC 00 set |
|
DXSND(ARRSET,CDSET,DXATT) | ; Case Secondary Dx Rule - get updated DRG MCC/CC if a Secondary Dx was used to select the DRG Case
; if an event diagnosis is assigned to a cases secondary dx code set then remove its MCC/CC from the DRGs MCC/CC ; input: ARRSET(SETIFN) - all code sets that define the case, codes assigned to these sets are considered used ; output: 2 ^ MCC or CC or null - updated DRG MCC/CC ; null if secondary dx code sets did not affect the MCC/CC ; if a Secondary Diagnosis is used to select the DRG then its MCC/CC may not be used for the DRGs MCC/CC |