Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Info |  Source |  Entry Points
Print Page as PDF
Routine: ICDJC3

Package: DRG Grouper

Routine: ICDJC3


Information

ICDJC3 ;ALB/ARH - DRG GROUPER CALCULATOR 2015 - DRG SELECT ;05/26/2016

Source Information

Source file <ICDJC3.m>

Entry Points

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
Info |  Source |  Entry Points