Monday, September 28, 2015

I10 Progress Report #6: on to V33

We are hard at work on support for v33, which currently is moving along three different tracks:

DRGFilt Upgrade
We are upgrading DRGFilt to handle CSVs as well as fixed-width input. (We may also get to adding support for the very simple equation format: one line per column, each line of the form "col_name=value")

V33 Masks File
To support v33, we need to support logic and the ICD10 code attributes, which we call "the masks" and some people call "the tables." We encode the logice in our software and we create a database of attributes which we call "the masks file." We are hard at work creating the masks file.

V33 Logic Support
Of course we are upgrading our logic module to match the v33 logic module so that our software can work in conjunction with the v33 attributes to assign v33 DRGs.

Saturday, September 26, 2015

DRGFilt10 New Control File Format

The version of DRGFilt which supports ICD10-based DRG assignment is called DRGFilt10. Since we are overhauling our product line, we decided to knock a very long-standing item off the list: the DRGFilt control file format.

The control file tells DRGFilt how to parse the incoming data records to pick out the data elements needed to assign a DRG:
  1. patient age
  2. patient sex
  3. patient discharge status
  4. list of diagnoses
  5. list of procedures
The control file also tells DRGFilt where to put its output:
  1. Grouper Return Code (GRC) -- what, if anything, went wrong
  2. Major Diagnostic Category (MDC)
  3. Diagnosis Related Group (DRG)
The original control file format was based on the old IBM punch cards (!) so it was definitely time to ditch the 1960s. For our first upgrade, we decided to move on up to the 1990s by supporting a .INI-like format.

Our first step along the moderization path is Specifically, this is the control file we are using to validate the new DRGFilt against the CMS test data set:

; control file for new DRG filt
[drgfilt]
format = fixed
; fixed-width input variables: name = length@offset
age =    3@0
sex = 1@3
ds =  2@4
dxl=8        ; dx length does not require an offset
poa= 7
dx = 200@23
sgl=7@0     ; pr length, offset is optional & ignored
surg= 175@223
exmp = 1@6
; -----
; these are already present from the CMS grouper:
; you could overwrite the incomin values if you wanted to
; drg = 3@603
; mdc = 2@600
; rc = 2@598
; -----

; these are written out by DRGFilt
rc  = 2@1760
mdc = 2@1762
drg = 3@1764

; eof


We hope to roll out the long-awaited CSV support very soon.

Thursday, September 24, 2015

I10 Progress Report #5: Success

At last, x32 has been validated, confirming that our new ICD10-based development path is working:

Processing version X32...ICD10 config
9187 records read with 0 errors.
All done.


So we are immediately starting work on v33, which will be our first production version for ICD10.

We are also changing our DRGFilt control file from its very 1980s fixed-width format to a very 1990s .INI file. (We hope to have support for a very 2000s XML format very soon.)

Thursday, September 17, 2015

I10 Progress Report #4

Yesterday we finished porting the attributes handling subsystem to our new development environment. We validated x32 against the CMS test data and x32 matches 97% of the time.

We are chasing that 3% but since I10 v32 was not an official release, we think that some of the discrepancy is due to last-minute changes. We are looking into running the official Grouper software so we can confirm their results.

We expect to be done with x32 no later than the end of the week and to start v33 Monday.

Tuesday, September 15, 2015

I10 Product Catalog

We are overhauling our operations as part of the switch from ICD9cm to ICD10 and one of the areas we are overhauling is our product catalogue.

Many of our products are holdovers from when our customers were mostly information system developers who wanted software development tools, such as shared objects and hash table look-ups.

In recent years we find that fewer and fewer of our customers are programmers and more and more of our customers are analysts or end-users.

We plan to continue to support developers, but on a custom and case-by-case basis: there is no longer any need to clutter our catalogue with estoteric items.

Our ICD9cm catalogue had 30 items and we wanted to get down to 10 items. We think that we have done it; here is our proposed catalogue so we can get your feedback before we make the final decisions.

Items We Plan to Keep

SKUDescriptionStatus
AIXFILTDRGFilt for AIXy
CDLLVisual C-callable DLLy
DASJUMBODRG Assignment Jumbo Data set"y
DASLARGEDRG Assignment Large Data set"y
DASMEDIUMDRG Assignment Medium Data set"y
LINUXFILT6464 bit Linux DRGFilty
MASKSDRG Masksy
VBDLLVB-callable grouper DLLy
WINFILTDRGFilt for 32 bit Windowsy
WMASKSWin32 DRG Masksy
 

Items We Plan to Retire

SKUDescriptionStatus
CICDICD9 Name-finding C-callable DLLn
COBJ32SO32 bit C-callable shared objectn
DASSMALLDRG Assignment Small Data set"n
ICDTABICD9cm short filen
ICLUPICL Run-time Environment Upgraden
LINUX32CGIDRG32 bit Linux CGI DRG Assignern
LINUXFILT3232 bit Linux DRGFiltn
PERL32SO32 bit Perl-callable shared objectn
PERL64SOPerl-callable shared objectn
PHP32SO32 bit PHP-callable shared objectn
PHP64SO64 bit PHP-callable shared objectn
SPARCFILTDRGFilt for Sun SPARCn
VBICDICD9cm Name VB-callable DLLn
W32CGIDRG32 bit Windows CGI DRG Assignern
WICDTABWin32 ICD9cm short filen
XLDRGMS-Excel DRG Assigning spreadsheetn

Items We Are Considering Keeping

SKUDescriptionStatus
ACCESSDRG03MS-Access?
ACCESSDRG07MS-Access?
COBJ64SO64 bit C-callable shared object?
LINUX64CGIDRG64 bit Linux CGI DRG Assigner?

I10 Progress Report #3

We almost got the code attribute data file building process ported from our old environment to our new one.

We are grateful to have our out-going guru's help today and we are confident that he will be able to get us over the final hump: if not today, then tomorrow.

Monday, September 14, 2015

I10 Progress Report #2

We did not quite meet our goal of building x32 yesterday; we completed the logic part but not the code attribute part (which we call "the masks" and which many other organizations call "the tables").

We expect to finish the basic x32 DRG Assignment Engine (DAE) today, build DRGFilt x32 on top of the DAE and then start on v33.