Showing posts with label Documentation. Show all posts
Showing posts with label Documentation. Show all posts

Sunday, October 3, 2021

V39 Technical Documentation

 For future reference, here is a link to our v39 documentation: [link]

Tuesday, October 6, 2020

Tuesday, October 1, 2019

V37 Manual

The link to our v37 technical documentation is here: [link]

Sunday, October 1, 2017

V35 Manual

This is where you will find the technical documentation for the v35 versions of our products: [link]

Monday, October 19, 2015

New C-Callable API (both Windows DLL and Linux SO)

In keeping with our philosophy that working code is the most trust-worthy documentation, here is the new mhdrg1() call from our validation C program which we compile and run under either Windows 7 or Linux:


 #define DRGVER "v33"
 
// expected = "DRG: 614        MDC: 10         GRC: 00";

/* call the grouper, store results in retval */
retval = mhdrg1(
    DRGVER,                 /* which DRG version you want */
    "/drbd/mnh/src/SWIG",   /* path to masks files */
    "1",                    /* discharge status */
    "55",                   /* patient age on admission */
    "1",                    /* patient sex (1=male, 2=female) */
    /* ICD DX codes */
    "D352   YE2740  NN390   YE871   NF05    NR630   NR110   YR0602  YD649    ",
    /* ICD procedure codes */
    "0GB00ZZ0YUY47Z02HR30Z0L8S3ZZ0P5N0ZZ0RJP0ZZ",
    8,                      /* length of each ICD DX code */
    7,                      /* len of each ICD procedure code */
    "y",                    /* are there POA indicators? */
    "X"                     /* is this case exempt from HAC? */
    );


This is an actual case from the CMS test data set. This is an actual call to mhdrg1(), which replaces mhdrg() as the entry point in the DLL.

We changed the name to make it possible to have a single program call either the ICD9-based version or the new ICD10-based version.

The API is only slightly different: there are two new arguments at the end of the argument list:
  • The POA indicator: are there POA flags appended to the DX codes? This argument is always a character pointer (char *) but can be either "1" (yes there are) or "0" (no there are not), or "y" (yes there are) or "n" (no there are not).
  • The POA Logic indicator: this is also a character pointer and represents the HAC exempt status of the patient encounter:
    • NULL means there is no exempt flag or encounter is not exempt
    • "X" or "1" means that this encounter is exempt
    • "Z" means that this encounter is not exempt
    • any other value is not allowed and will result in throwing an HAC error if there is a dx code with a CC exclusion of either kind.

Thursday, October 13, 2011

F29 Manual: What Changed

We have revised our manual for F29. Here is what changed with the F29 version of the manual:
  • updated various dates in the text
  • fixed typo "appeneded" in various chapters
  • chapter 3: added documentation of bit string DAE outputs, per this tech support question.

Friday, September 9, 2011

How Many DX Codes?

QUESTION

Your documentation states that the groupers currently only utilize up to nine diagnosis codes. Are you planning on increasing that number to 25 in conjunction with the recent changes CMS has implemented?

ANSWER

Our ICD9-based DRG Assignment Engine supports up to 15 diagnosis codes. Our ICD10 prototype currently supports 30 diagnosis codes, but we only commit to supporting the expected 25.

Tuesday, August 30, 2011

Codes Used in DRG Assignment?

QUESTION

Hi Tech Support,

The PDF is very informative but it appears to be missing explanation of a couple of the output codes. I get ten bits of info but only first eight appear to be documented in the grouper's documentation PDF ("UNIX Embeddable Grouper API": pages 31-32). Those are .......

1. Grouper return code
2. Major Diagnostic category of assigned DRG
3. DRG assigned to patient encounter
4. DRG version number used to assign DRG
5. The weight of the DRG
6. Geometric mean length of stay for DRG
7. PorM flag
8. DRG description

The string I had returned to me by the grouper was....
0^1^57^28^0.9350^0.00^ ^DEGENERATIVE NERVOUS SYSTEM DISORDERS W/O MCC ^1^0

It's the last two fields of "1" and "0" that appear to be undocumented.

The last question I have is regarding the significance of diagnosis codes. When feeding a list of diagnosis codes into the grouper, is there a way to determine which of the diagnosis codes were significant in the grouper's decision making? I ran across something like that on page 22 (section labeled "Output") of the PDF that you folks package with the grouper.

Thanks so much for all of your assistance.

ANSWER

The lack of documentation for these fields is definitely an oversight, thank you for pointing this out. We will include these fields in the updated manual when we release it this coming October.

Those two fields are ASCII-ified bit strings of which codes were used in the DRG assignment. The first field is a string of diagnosis bits and the second string is a string of procedure bits. The strings consist of either an ASCII '1' or an ASCII '0'. A one means "this code was used" and a zero means "this code was not used."

The strings are positional: 1001 means that the first code was used, codes two and three were not but code four was.

Tuesday, August 4, 2009

ICD9 Look Up

QUESTION

Is there functionality to do a text search of the ICD-9 that would return the ICD-9 number?  Is there some sort of documentation of all the functions and sub procedures that come with the Drg dll and Icd-9 dll?
  
ANSWER

There is no text search support in our ICD9 handling; it is tool for labeling a given ICD9, not for choosing an ICD9.

There is scads of documentation on the procedures and how to call them. I have attached our manual here, though you should have received a copy with your order.

Tuesday, May 26, 2009

How to Use POA

QUESTION

As yoyu know, DRG versions 25 and up require the use of the Present On Admission (POA) indicator associated with ICD9 diagnosis codes for the grouping of DRGs. Your grouper software does support versions 25 and 26, but no where in your documentation do I find any reference to POAs and how they should be fed into the data file, or defined in the control file.

We need this information asap in order to ensure that the grouper is working correctly. Please email or call me at your earliest convenience.

ANSWER

Please find attached our most recent documentation, which has a healthy entry in the Index under POA.

I am not sure which of our products you are using, but POA should be supported across the product line. To quote the docs on POA support in general:

Note: as of version 26, released in 2008, the DRG version can have either
a 'p' or an 'e' or both appeneded to it. If there is a trailing 'p', it
is assumed that the last character of every diagnosis code is a POA flag.
If the there is a trailing 'e', then the source institution is presumed
to be exempt from the HAC. Thus "26p" specifies POA support, while "26"
does not. "25p" does not make sense.

To quote the glossary on POA:
In order to avoid paying for medical mistakes, diagnoses are now
flagged as having been present on admission (POA).

The values for the POA flag are not, as one might expect, simply
Y or N; rather the following options are defined:

-Y for Yes
-N for No
-U for Unspecified
-W for clinically undetermined
-1 for unreported / not used / exempt from reporting
To quote from Chapter 5, on our DRGFilt product:
The keyword "poa " specifies where, in the diagnosis code, to find the
POA flag. If the diagnosis code length (specified by dlx) is 8, it is
typical to find the POA flag at offset 7, that is to say the last character
of every code.

The keyword "exmp" specifies that the institution from which these data
come is exempt from the HAC.

Note that if neither of these keywords is present, the software assumes that
POA is irrelevant and that the source institution is to be treated as exempt
from the HAC.