B2B Trading Partner Setup HIPAA, EDI X12, Non-EDI Data
Welcome. In this video, we will show you how to set up trading partners and process EDI and non-EDI files for both inbound and outbound data transactions. Specifically, we will show you how to process data files that belong to an EDI standard or non-EDI standard using the B2B trading partner management that is built into the Adeptia suite, as well as, as these trading transactions are coming in, we would like to also show you how the tracking and monitoring of these interchanges as well as transactions, can be shown to the end users, and so they can track and see what the status of these messages are. So let’s get started with our demonstration here. So I’ve opened up an EDI 837 claims data file, in my text back here, and suppose there’s a trade partner that is going to send you this 837 file. So this is an in-bound relationship that we would create, and I will also show you how the outbound relationship is created as well. And in this case, the inbound is an 837 4010 version, and here’s the sender and the receiver ID, and the data file that is part of this data transaction can be seen here. So suppose you’re getting this type of file from your trading partner, and you want to map it to your database as part of your EDI translation. So in this case, what we will do is we’ll set up a trading partner profile using the B2B setup, and this is how it’s done.
What I have done is I’ve logged into the Adeptia suite, and the first thing we will do is we will set up a project under the Develop project tab, and we call it create new, and let’s call this as use case. And I will call this healthcare exchange and send and receive HIPAA data files. So in this case, we will use HIPAA data message standard 837, so in our data dictionary, we have different standards for all the EDI message types, and I will show you where they are located. So in this case I have created a project, and this is where our trading partner activities will be organized under, and I’m going to make this a default project so that all the partner setup activities that we will build will exist as part of this setup. So here I’m creating a default project selection, which is the healthcare exchange, and I’m going to click on save. So once this is done, we can build our trading partner setup, and the first thing that we’ll do is we’ll go to solutions, and this is where our B2B trading partner is located, and we can either go directly to trading partner, or we can go to relationships and build a trading partner there as well.
So there are two places you can go to. And as you go to the relationships page, you will see your existing trading partners, you may have created, or your team may have created, and all those will be shown here on the left-hand side screen, in this list. As well as in this main page, you will see different tabs related to inbound, outbound, and the different ISA envelopes that you may be using for your outbound data exchange. So these are your main tabs that we will be visiting as part of the setup. So the first thing is we’ll set up a trading partner, so we’ll click on the plus sign, and let’s say our trading partner is a hospital that will be sending you claims data. So in this case we will just call it partner hospital, and this will be your send HIPAA data files. And this already sends your data files, HIPAA files, and this is the default selection for our project, and now we will go to the EDI configuration, and here since we have a sample data files, and we already know what the sender ID is, you can just put that in there.
So here I’m just copying it from the example file that I have, and here I’m going to also put in my receiver ID, the host ID, which is this one here on the GS segment, and simply populate that. So this may be coming in both in GS and the ISA envelope, so we’re just using it here. And for the contact information, you can define your email address in terms of who should get notified in case of alerts that you may want to send out. So we’ll just leave these, these are optional fields, and we’ll click on save. So that’s the first thing that we have done is we have created a partner setup using their sender ID. And now, the next thing is, we will set up the inbound relationship and go to this particular tab. And before we go into the inbound relationship, let’s first show you what that relationship consists of so we can first create those activities and come back and build this relationship.
So in this case, we’re using inbound relationship because the file will be coming in, and as you see here in the screen, if we build this relationship there are 3 options that we can choose. One is the EDI X12, the other one is EDIFACT, and the third one is non-EDI. So if XML, Excel, flat files, fixed-length files coming in, you will choose this option, I will show you as part of this demonstration where that is, and what those options are. So here, let’s suppose we are using EDI X12, we’ll click next, so here there’s a form that will open up, and in this particular EDI form for this relationship, there are 3 main things that it’s asking for. And those are all related to the translations. So the first part here is just type message is coming in, but the three main items that need to be provided here is, for where you’re going to receive the, in this case the HIPAA 837 file, whether it’s a file or folder, FTP, or AS2 protocol, or it could be a message queue. So there are different options here from collecting the messages that may be coming in, and then the second option is, what is the mapping or the translation we want to choose as part of this data transformation? So as the HIPAA files are coming in, where do we want to map it to? And what those mapping rules are.
So this will be part of the mapping selection that we will choose from this list. So this is the second activity that is needed in this form to basically build this relationship, and the third one is, where do we want to send this data to? So once the mapping creates the output, do we need to send it to a database or message queue, or it could be FTP or file, so there are different target options that we see here. So now in this case, we will re-visit this particular form, but first let’s build those three activities, and then we can build our inbound relationship. So let’s close this particular screen. To build those 3 service activities, the first one is as you remember, it was asking for where the files were coming from, so that it knows where to go and pick those up. So in this case we will use Events, and under Events, we will click on File, so there are different events options like FTP, message queue, and AS2. But in this case we will choose our file event, and we’ll click on “create new,” and suppose this is our “Partner Hospital” source, and [typing] this will be the source trigger to get HIPAA 837 files [end typing]. And these could be any files, using 837 as an example here, and there are different options.
So we’ll say, if the file exists in a particular folder, and the file naming convention has EDI in there, and the extension is TXT, and let’s say the files are coming in in a particular folder, this could be EDI folder or it could be partner-specific folder. So this is where the files will be pulled and if the file meets this naming convention, so this is a “wild card” that you can put in, then it will automatically pick all those files that meet this criteria. And this is not a secure folder, and we will check for these files every 40 seconds or so. So you can set up this type of a very simple trigger that will keep triggering every 40 seconds to look for those files. You also have more granular level of triggers you can set up as using the “Chron” expression. So this will give you a time range in terms of when you want to poll it. So you can have more specific polling criteria, you can also use business days or weekdays and skip weekends if you want to, so there are different levels of granularity in terms of the polling frequency and the polling type you need here at the bottom of the screen.
So here we will just leave it as 40 seconds, and it’s going to be EDI*.TXT as our wild card. And we will click on “Save.” So that’s the first activity in terms of where the file is coming from, and this is the polling frequency that we have put in here as part of this activity, which is 40 seconds, and now the next thing is, we want to define where our target is going to be, and suppose our target is a database that we have in our local database environment. So let’s say we go to Connector, and let’s go to Database Info. And suppose we have a claims database that I’m going to use. And for this example, I’m going to make a copy of this, so this will be probably “use case,” and I’m going to click on “save as,” and I’m going to change the partner project names. So this particular database connection, so this is our target connection, and this basically is asking for where the database is that we will send the output to, and there’s a claims database that I have with different output tables that I’m going to use as part of my mapping. And I’m going to use this database for the target as well. I’m going to click on save as. I’m going to make a copy of this, and this is the copy I’m going to use.
Now the next thing is, we would like to create a schema of this database so that we can use that as a part of our mapping. So here I’m going to click on “advanced database schema,” click on “create new,” and I’m going to call this as “use case claims schema,” and this is my target schema. And I’m going to use my connection, and then I’m going to click on “browse tables.” In the “browse tables,” it will show me a list of tables as part of this selection here, so it’s doing an introspection. And I can click any of these tables, and I’m going to provide the SQL script as part of this use case, so you can take a look at it. So here I’m going to say, okay, the first table is transaction header, I’m going to select all the fields, and click on “generate query” and click “okay.” And click “yes.” You can also build a relationship built on child table, but in this case we’ll use it as a flat hierarchy. So here I’m adding another root table and the second table is subscriber and get columns, select all, so these are all the fields I want to map to. Click “okay.” And then similarly we will go to the next one. And the next table is Submitter, I’m going to select all of these fields, click on generate query, click okay.
The next table is, let’s say “Service line,” and click “get columns,” generate the query as well by selecting all the fields, click okay. And then the last form that I’m going to pick up from this table list is our claims table, so let’s say this is the claims, and get columns. Select all, generate query, and then click okay. So this can be it for now, I’m going to give you all the table scripts so you can play around with it. So here I have just selected these tables, and I’m going to click on save. So this is my clean schema, so now what I’m going to do is I’m going to use the schema to map this HIPAA file.
So one of the things that we have as part of our services category is that for the EDI, HIPAA, or non-HIPAA EDI X-12files, we have a data dictionary and we have EDI, so in this particular data dictionary, you can see the different versions. We actually provide different versions as part of our data dictionary that can be actually seen here by going to another page and this is www.adeptia.com/products/data, and this one “dictionary.” So if you go to this particular page, .html, you will see a list of all the EDI data dictionaries. And you can download this, and this may require a password so you can ask that from our support. So they’re different X-12 versions, as you can see here: 5010, 5020s, 4010s, 4040s, etc. So whatever your preferences are in terms of what data you will be getting for which particular standard, you can just download that standard from here. And similarly for HL7 and others.
So this is your download data dictionary page, this is the URL that I went to, and you can download those. And once you download these data dictionaries, you can click on create new, and simply upload that zip file by clicking on this “upload zip file.” And automatically it’s going to extract the entire standard list and show you here. So let me show you what that standard list consists of. So for this particular version, 5010 for example, let me just click on it, it will tell you the standard and the description and name. And also, it will show you the entire EDI message list, starting from the 100 series all the way to the 900 series. It has everything that you would need as part of your 5010 standard version. So 837 is also part of this list, and similarly, we have 4010. So you can download it and create your EDI data dictionary depending on what your needs are. So the reason why I’m showing you this is that in our services, and schema, we can now go to EDI, just like we created the database schema, so that we can use that as part of our mapping.
The other piece in the mapping is the EDI, because we want to know what that 837 structure looks like. So here what I’m doing is I’m going to an EDI schema, you will see a list of all your existing EDI schemas that you may have created over time, or other users may have created and shared here as part of this list. So in this case, I’m going to click on create new, and I’m going to build this schema, so this could be a common 837 schema that I’m going to use. So your naming convention is important, so that you can reuse these activities for all your trading partners. It doesn’t have to be specific schemas for each trading partner. And because that’s not needed in the case where there’s any semi-used standard files. So this is a common 837 HIPAA schema, and this is a 4010, let’s say this is a 4010 file that we’ll be sending by, will be sent by this trading partner, you’ll click on “select transaction,” and then we will scroll down in this list, and select our 837 healthcare claim.
That’s the message type description, and scroll further down and click “okay.” So now you will notice that it automatically captures the schema from that data dictionary. So you don’t need to do anything here, just select that message number, 837, and click “save.” So now you will notice that schema has been created as part of this project, and now let’s build our second activity that is needed by the relationship, which is go to Services, Data Transformation and Mapping. So our mapping is the second activity that we have to now configure. So the schemas are prerequisites before we get to do this mapping. And this is, let’s say this is our common 837 map, and those are your mapping rules, to convert 837 to database, and click on the data mapper button. So the mapper will open up on your screen as you can see here as a separate interface, and once that interface opens up, we can start building our mapping rules. One of the key things here is that if you have a sample data file available, we can then also validate our mapping rules as we apply these maps between the source and target fields. So here once the mapper opens up, we will click on this open schema button here on the top left corner, and we will go to EDI, so suppose our EDI is our 837.
So as you click on this EDI category, all the EDI schemas that you have created in that previous screen will show up here as part of this list, and then this is the common 837 schema naming convention we use to define the schema, and we will simply select that here. Similarly, we’ll go to the advanced database, this is our database schema that we created by selecting those tables, and this is the name we gave as use case claims schema, and that could be our target. So this is our target, and then click on load. So once you select those to source and target schemas, and then click on load, it will automatically show you the schema structure on the left and right-hand side. So the left will represent source, this is what I’m opening up here that represents that structure of EDI 837, and then these are the structure of your tables that I want to map the data to. And again, the tables could be hierarchical between parent and child. So in this case, I just used it as a single hierarchy.
So in this case, what we will also do is we will click on EDI root here on the top left corner, then right click on this root element, and click on “attach source,” and now what I’m going to do is I’m going to attach a sample EDI data file. And this is the EDI data file that I’m going to use. And right click on it, and click on “preview.” So what this will do is at the bottom part of the screen, as you can see here, it’s actually going to show you the sample data file with all the data elements and segments in there. So the idea is that once you start mapping these fields, the particular fields to the target, you can then validate your data by previewing the output. So here I’m just opening up some of the loops. You will notice that the data of all these loops show up as part of the values that are part of this load. So this is your preview. So the preview gives you everything that you want to see as part of the input so that you can validate your rules.
So now let’s get started with our mapping. Mapping would require different rules that you should have already documented so that you can really quickly map these as part of this data mapping exercise. So here, the very first thing that I’m going to do, is I’m going to go in and start mapping our subscriber data fields. So the subscriber data table is here, which is the second table in this list. So what I’m going to do is I’m going to start mapping those. So here I’m going to map the field, so this is my- let’s go into the address. And let’s map the address too, let’s go into city, so I’m just mapping these specific fields, just to show you how the mapping can be very quickly done by the users who understand where these fields go to as part of their target fields. And then I’m going to map these. And now let’s go into some of the other fields related to the data. So here the Marital Status field is there under the demographics segment.
So I’m going to add this here, and then quantity goes here. And let’s do a refresh. And let’s go into subscriber. So you’ll notice that some of the fields that we have mapped in the target fields like the address etc. comes in fine, and let’s also go further up, and we can also map the other fields, so this is just subscriber information. And similarly, let’s map some of the header information, which is part of the header data that is coming in. So the sender ID is going to be this one right here, so you need to define these fields. There’s a control number field, and then there are some other dates like transaction date, I’m going to go up in here, and now let’s go into the claims table, and the claims table should be a part of the second loop, and then going further down into that loop, let’s minimize the subscriber and patient information, and let’s go to the loop 4, this is where the claims information exists, and I will then map some of the fields here as well, so let’s say monetary amount goes here, Claim Submitter Identifier goes here.
So in this case, this is what we will map and we’ll click on “Save,” and click on “okay.” So your mapping is saved, and then you can minimize this map, and now let’s go to Services and build our code activity. So the first one was the events, the second one was the mapping that requires two prerequisites, the source and the target schema. The source was the EDI schema, and the target was the advanced database schema where we selected those tables. And now the third service side that we need to build is our target. And the target is going to be the advanced database, because that’s the type of schema that we used to build that definition. So this will be our [typing] use case claims database. And this is our database target, [end typing] and we will select the connection, so this is the connection that we created, as well as the schema we created, and we can use the insert update or both. So in this case, we will simply insert them and click save.
So that’s our database target, and now let’s go back to our Solutions, B2B Relationships, and now select the Partner Hospital, this is the trading partner that we’re going to set the inbound for, and we’ll click on create new. And for this particular case, we will use EDI X12, because it’s a HIPAA file coming in, and this is our [typing] “PartnerHospital_Inbound_837,” so you can give a naming convention, so this is a claim file coming in [typing], and then we’ll select 4010, and then sometimes the “Association Assigned Code” is this suffix here as part of the version. So you can do a control C and copy it, and then just put it here. So each department or division may have a qualifier that they put in as part of the assigned code, and you can just put that. So this will tell us that this is the relationship we want to run, along with the trigger that will kick off this translation. And then the select part is the 837, so we’ll select that 837 and click on it.
The next thing is that the trading partner may send you a production file, so if there’s a P in the sample data file, this gives you some clarity in terms of what you need here. So this is Production. We don’t want to generate any acknowledgement, so we can skip that or you can choose the acknowledgement option from this dropdown. So in this case, we will skip the compliance check, making sure that we accept whatever is being sent by this trading partner and we don’t reject the data. Sometimes, not everything is 100% compliant with the standard, so it’s better to check this box. And then the next thing is, we will select our file event, and then as part of the file event, we will choose our partner hospital source, this is the trigger that we created with a 40 second interval. Then we are not going to decrypt the data file, so we’ll skip those fields here.
So this is again, different options that you may use, and then the next thing is, we will select our mapping. So our mapping is our use case common 837 map, which now shows up on this list, so we’ll simply select that here, and the idea is to use common maps. And that will speed up the whole process of setting up these training partners. And then the target is our database target, the mass database target, we will select that, and select our particular activity with that name. And then we will click on “save.” So before saving, you will notice that we can actually do three parallel transactions, so here this is a translation 2 and translation 3, so we can translate data in parallel three times to different targets.
There’s nothing else we need to do here, we will click on “save,” and then of course you can refer to the EDI B2B Guide for more information on what those other fields mean in terms of the data process. So this is our 837 inbound relationship that we have set up, so it shows up as part of this trading partner, so if we actually scroll down and select any one of these other partners, all their different relationships that you may have built over time, both the inbound as well as the outbound, will show up as part of their configuration. So here the outbound relationship for this trading partner, [says name of partner], it shows up here, but if we go to Partner Hospital and click on inbound, you will see there’s an inbound, but we haven’t yet created the outbound. So again, each trading partner, you can go select and then go to the main screen here and select a particular tab and see their configurations.
So now let’s run this process of this inbound, we already have a file that inbound folder, so what we’ll do is we’ll click on events, and we will click on file, and we will then click on the events. We can either activate the events and it will poll automatically every 40 seconds, or you can leave it deactivated, because we’re just testing it for now, and you can right-click on it and click on trigger now, so the file is already there, and what we will do is we will execute it, and now we can go to monitor, and this is also one of the critical pieces, where do we go and monitor these transactions. So under history, and other B2B logs, what we can do is we can see that now, once I executed the trigger, the file is already in that HIPAA folder.
Now the monitoring logs show us that there is an inbound file that came from the Partner Hospital, this is the receiver ID which is the host ID here, this is the same Sender ID that we defined. It will tell you what type of document it is, so this is a healthcare claim document. It will show you the status of the translation, whether it got successfully translated or not. It will also give you a link to the raw data file, in terms of what that file was, and the log date and time in terms of when this particular transaction got executed? And one of the other key things here is that you can actually go in and click on view data, and what the view data will show you is the actual number of transactions that that particular inter-change consisted of, in terms of the number of transactions in that message file. So this interchange, it will tell you the sender ID and receiver ID, the group control number, the functional ID, how many transactions came in.
There were five transactions, you can also click on any one of these to see the raw transactions set data as we can see here. So again, a lot of information is shown as part of the monitoring logs, and the same transaction information can also be seen by clicking on this message option here, so if you click on this + sign, and now go to the X12, it will show you each transaction level status. So whether it was successfully translated or not. So again, very nice messaging and monitoring capability. So now what I’m going to do, is I’m going to actually make a change in my sample data file, and let’s say I deliberately make an error situation here. So here, let’s say my editor file is changed. And now let’s say that this file has an incorrect sender ID, and we’ll click on save. And now, once we save it, we will re-run this transaction, and see what the status tells us then. So here I’m going to go to Develop and go to Events, go to File, and here I’m going to right-click and trigger now, so we are just testing it, so we can just trigger manually if you want to, and then go to Monitor, and now under Monitor, let’s go to the Interchange options, and it’ll show you all the logs.
So here you will notice that now the ERROR shows up, because I deliberately made an error in the sender ID field, so this will tell you that the invalid trading partner error, and with a proper description. So this again will also tell you the errors if there are any in the incoming file or the outgoing file. So again, take a look at this in the B2B trading guide as well. Now one of the other things is, how do we create the outbound relationships? So under Solutions > B2B > Relationships, let me just show you what that would involve. So I’m going to pick up an existing trading partner, so let’s say Averitt here, and let’s say we go to the outbound relationship. For the outbound what we will do, it’s very similar to the inbound, we can click on this particular outbound relationship. So here it will ask for pretty much the same information in terms of what outgoing message type it is, whether it’s an 837, or anything else from this list you can select. It will also ask for which version it is, whether it’s a production file you’re sending, and will you be expecting any acknowledgements on that? So you can define that here. You can also define the routing properties, and what that basically is, is what is the source that will kick off the transaction? So this is, let’s say, a file that is coming in and that will kick off the process of translating and building the output EDI file. So this is the source in terms of where to go and pick up the data, and then the translation is going to be the mapping.
So what mapping you are going to use to build the EDI file. So in this case, it will be the reverse of the mapping we just did earlier. And then if it’s a file or an FTP or an AS2, or a message queue, you can select that here, define the naming convention of the files, and then the other piece of information that you want to also configure is, what is the sender or the receiver ID of the outgoing file? So you can define it here, what the functional ID is. So if you select a message type, the functional ID will be automatically populated. So you don’t have to populate that. As well as some of these other fields here that you see. Then the other thing that you will also need to do is, you need to define your interchange, in terms of which interchange you want to use. You can build an existing ISA outbound envelope by going to that separate tab, and you can build those, or you can build it by clicking on Create New. So the ISA outbound envelope consists of the following fields. Some of these can be just defaulted to 0s like the code qualifiers and the sender ID qualifier, etc. Like 0, 1, and the receiver ID, the standards identifier, so you can actually look at the existing ISA as a sample and just populate these fields.
The important ones are, what is the sender ID? What is the receiver ID? And what the delimiters are that you want to choose as part of your outbound file. So what the separators would be, both element level as well as the segment level, you can define these. If it’s a new line, then you can define A and then check this hex format box, so this will be a new line record separator. And that’s all that’s needed for your outbound. And again, refer to your B2B trading partner setup guide, and that will help you with a lot of these details. One of the other things that I would also like to show you is in the inbound as well as in the outbound, you can define your non-EDI message types as well. So in the non-EDI, click on non-EDI option, click next, and here in the non-EDI, the three activities that we want to select will also be required, in terms of what the mapping is, and from where we are going to get the file from in terms of the source. And where we will be sending data to in terms of the target. So the three service items are still needed.
What is not needed is the EDI related information. So you’ll notice that all those EDI standards and the message type or the data type is not there in these stream fields. What is there is the format type. So here your format could be Excel, HL7, fixed-length, RosettaNet text, advanced fixed-length files, it could be same structured data, text files, so this is your non-EDI option, so if you select, let’s say. Excel, then you can define where that Excel file is going to be and what the trigger is and do the mapping, and then map it to your target database. So the idea of trading partner setup is to not only process EDI files, but also you can choose non-EDI, and in this form, you can select the particular format of the file that your trading partner is sending you, and then define the schemas and the source mapping and target. So similarly, you can very easily configure the non-EDI data formats, and then use it as part of your trading partner setup.