Introduction
- HIPAA
837 Institutional to UB92 Version
5.0
|
A full map from the
HIPAA
837 Institutional format
to the UB92 Version 5.0
format is available to Redix
XML
HIPAA Package users. This
ready-to-go map is intended to
help users
validate the incoming HIPAA
message and convert the message
into the UB92 format.
|
|
Input - Before
Translation

|
Before:
a
HIPAA 837
Institutional File |
|
|
Output - After
Translation

|
|
The map
first validates the input HIPAA
message and automatically
generates a functional
acknowledgement message, i.e.,
997. If the validation is
passed, then the conversion will
begin.
The creation
of the line charges,
i.e., 50, 60, 61 records in the
UB92 format, within this
map requires
a
complicated nested loop system.
In order to process the revenue
codes properly to their
respective positions within the
UB92 format,
this map uses
the following logic:
1.
Determine which
revenue
codes are Inpatient, and
which are Outpatient,
based on the Facility Code
information in the CLM segment.
2. If
it is an Inpatient claim, determine
which revenue codes are
accommodational
and ancillary charges,
based on the revenue codes in
the SV2 segment.
3. Once
the revenue codes are
allocated,
the codes must then be counted
and divided into columns,
so that the codes
can be properly positioned in
the 50,60 (inpatient), or 61
(outpatient) records.
|
Documentation
|
Due to
the complexity of the
conversion, this map was done by
using the OFD programming.
Comments are inserted in the OFD
to help users understand the
logic. |
|
# OFD for the conversion from
X12_4010_837Test to HCFA_UB92_50
# OFD Name:
X12_4010_837toHCFA_UB92_50.ofd
# This OFD was generated by the
Redix AnyToAny XML GUI Mapper
Tools on: 2/21/2002
# This OFD, at any time, may be
converted into a usable OFD, but
saving as a .txt file,
# with ASCII character style.
output
of1 :=
fopen("REDIX-ASSIGNED");
# -------- G L O B A L V A
R I A B L E S --------
# Integer counters for the
number of 50, 60, 61 passes.
# Used to calculate Revenue Code
Charge Line Structure in Columns
Rec50Count:=1;
Rec60Count:=0;
Rec61Count:=0;
.....
# -------- I M P L E M E N T A
T I O N --------
# Initialize the RecARR and
RecCLMCount array cells to NULL
for i:= 0 to 29
do
#first;
for
j:= 0 to 49
do
#second;
RecARR[i][j]:="";
endfor;
endfor;
for
i:=0 to 49
do
#reset counter;
RecCLMCount[i][0]:=0;
endfor;
# Concept of this map is to
cycle the entire incoming file
in the top portion of the
# OFD script. While doing so,
data is pulled and stored into
arrays. Later, records
# are constructed in their
entirety, and saved to strings,
to be used when appropriate.
# Basic Loop Structure used
(Depths Only)
# - ST
# + NM1
# - HL
# + NM1
# - CLM
# +
CR7
# +
NM1
# -
SBR
#
+ NM1
# - LX
#
+ NM1
.... |
Integrating the
Map Definition into the Project
Environment
|
Once the map files (IFD and
OFD) are generated, the user may
then add the IFD and OFD files
to the production environment. |
|
Redix offers the ability to
add a translation file to the
production environment through
the use of the Application
Programming Interface (API). The
API is supported in C/C++,
Visual C++, Visual Basic, JAVA™,
and command-line formats, e.g.,
redix. If the user uses the
Redix Automation Processor
(RAP), then the user can also
use the RAP's API with the above
programming languages. |
|
Redix provides a GUI to
automatically generate API
statements or JAVA classes that
can be copied and pasted into
the user's existing application
environment. |
|
Direct Engine
Interface
redix_app_ext(String
input_filename, String
ifd_filename, String
ofd_filename, String
ack_filename, String
error_filename, String
output_filename, char
conversion_flag, char
segment_terminator, char
element_separator, char
composite_separator, char
release_char, String userdata); |
|
Redix Automation
Processor Interface
redix_process(String
input_filename, String
configuration_filename, String
log_filename, String userdata,
String last_event_log, String
last_filename, String
summary_filename); |
|
Redix
also provides
a similar set of
API's for those who would prefer
to do the conversion using the
memory approach.
|
|