Now that our validation is over, we are publishing the DRGFilt control file we used with the CMS test data set so you can see a real world example of all the new features in action:
; new format DRGFilt control file, with different groups for different purposes
;---------------
; this group is to process the standard fixed-width input file from CMS
;---------------
[fixed]
format = fixed ; input file format
verbose = 0 ; no debugging information
blip = 1000 ; give progress report every 1,000 records
batchver = 33 ; assign version 33 DRGs to this batch
maskdir = . ; directory in which to find drgmasks.v33
; 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 incoming 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
;---------------
; this group is to validate date-handling of a CSV
;---------------
[csv-adt]
format = csv (,) ; separator character is in parens
base = 0 ; field indices are zero-based, as opposed to 1-based, etc
inheaders = 1 ; 1=input column headers, 0=no input column headers
outheaders = 1 ; 1=want column headers, 0=no column headers
crlf = 0 ; type of end-of-line: 0=crlf (DOS), 1=lf (Unix)
blip = 1000 ; give progress report every 1,000 records
maskdir = . ; directory in which to find drgmasks.v33
batchver = 33 ; the DRG version to apply to this entire batch
infile = adt.csv ; input file name
outfile = x.csv ; output file name
;outfile = blank file.csv
verbose = 1 ; give debugging output
; input variables: name = index
inid = 0
bdt = 1
sex = 2
exmp = 3
ds = 4
; these there keywords are allowed to have lists as parameters.
; lists can contain single entries, ranges, or both. for example
; 1,2,7-22,50
dx = 5-29
poa = 30-54
surg= 55-79
adt = 80
; calcver gives the index of a field to be used as the date from which
; we calculate the appropriate DRG version. If any record's calculated
; DRG version does not match the batchver, we skip that record
calcver = 80 ; NOTE: same index as "adt" because we are using the same field
; these are written out by DRGFilt
outid = 0 ; patient ID from input, whatever inid pointed to
rc = 1
mdc = 2
drg = 3
desc = 4
weight = 5
morp = 6
outver = 7
;---------------
; this group is to process the CSV we created from the standard fixed-width input file from CMS
;---------------
[csv]
format = csv (,) ; separator character is in parens
base = 0 ; indices are zero-based
;base = 1 ; indices are one-based
inheaders = 1 ; 1=input column headers, 0=no input column headers
outheaders = 1 ; 1=want column headers, 0=no headers
crlf = 0 ; type of end-of-line: either crlf or lf
blip = 1000
batchver = 33
maskdir = .
infile = testdbv33.csv
outfile = testdb.out.csv
; input variables: name = index
inid = 0
age = 1
sex = 2
exmp = 3
ds = 4
dx = 5-29
poa = 30-54
surg= 55-79
; these are written out by DRGFilt
outid = 0 ; patient ID from input
rc = 1
mdc = 2
drg = 3
desc = 4
weight = 5
morp = 6
outver = 7
;---------------
; this group is to process the CSV we created from the standard fixed-width input file from CMS
;---------------
[csv-validate]
format = csv (,) ; separator character is in parens
base = 0 ; indices are zero-based
;base = 1 ; indices are one-based
inheaders = 1 ; 1=input column headers, 0=no input column headers
outheaders = 0 ; 1=want column headers, 0=no headers
crlf = 0 ; type of end-of-line: either crlf or lf
blip = 1000
blipeol = 0 ; 1=newline for progress report, 0=carriage return
maskdir = .
batchver = 33
inheaders = 1 ; 1=input column headers, 0=no input column headers
outheaders = 0 ; 1=want column headers, 0=no headers
crlf = 0 ; type of end-of-line: either crlf or lf
blip = 1000
blipeol = 0 ; 1=newline for progress report, 0=carriage return
maskdir = .
batchver = 33
infile = testdbv33.csv
outfile = testdb.validate.csv
verbose = 1
; input variables: name = index
inid = 0
age = 1
sex = 2
exmp = 3
ds = 4
dx = 5-29
poa = 30-54
surg= 55-79
; these are written out by DRGFilt
outid = 0 ; patient ID from input
drg = 1
; eof
We hope this answers any questions about how to use the new control file features.
No comments:
Post a Comment