Choosing the HL7 Definition to Create Your Schema
When you are creating your Schema Profile(s) in Part 2 you choose the HL7 Definition. You can refer to the discussion below in What is a CORE HL7 Definition for more information about what the HL7 Definition actually is, but for the purpose of this part of the topic we only care about choosing the right definition for you.

Select the HL7 Definition
This version of the software only provides you with 3 options here. You can choose a definition which represents the ANSI HL7 Specification for version 2.5.1 and the ANSI HL7 Specification for version 2.3.1, AND then there's the one that we recommend you select which is the Truncated definition which is based (loosely) on version 2.2. This is a definition which consists of only 5 HL7 Segments and the reason it has only 5 is that, as of the time of this document, we couldn't create one with 4. The 5 segments included in this definition are only the bare minimum required segments in all of HL7.
Why do we recommend the Truncated definition? Of course, it's your choice, but we recommend it for your benefit. HL7 Specifications can be large and complicated, even for very old definitions like version 2.3.1. If you choose one of them we will follow it and create LOTS of database tables to house data that, unless you're teaching a University course in HL7 messaging, you will never use. So we recommend that you choose the Truncated definition which will only create FIVE segment data tables, and then rely on Schema Training which is automatic, to GROW your schema by actually looking at YOUR HL7 messages and creating tables and columns accordingly.
The most important thing to remember about WHATEVER you choose here is that your choice only really matters for a few moments! It's the HL7 Definition which tells the software which HL7 Segment Data Tables to create when you Create Your Schema, after that is done, for all practical purposes the HL7 definition is ignored.
What is a CORE HL7 Definition?
HL7 is a world-wide standard maintained at https://www.HL7.org, in the real world sometimes there is a need to build on their ANSI HL7 definitions to accommodate a particular client or system.
A CORE HL7 Definition is a data programming object which is part of the CORE HL7 API that contains information about a specific HL7 (Health Level 7) version 2.<xx> interface. The CORE HL7 Definition is backward compatible with its predecessor object the EasyHL7 Vendor Definition which is used in UltraPort HL7 programs like the UltraPort SQL Schema Engine.
For HL7 programmers the CORE HL7 Definition can provide both structural and contextual information specifications which can be used both for HL7 syntax validation as well as providing built-in reporting and display information.
We (the authors) use the CORE HL7 Definition in our commercial HL7 software like our CORE HL7 Viewer where the definitions provide the HTML Tooltips and reports when you look at a HL7 message. In our UltraPort SQL Schema Engine for HL7 we use the definitions created by the user to provide the HL7 structural specification which guides our algorithms for creating MS SQL and MySQL database tables.
We do the same thing in the CORE HL7 MS SQL API. You must have a CORE HL7 Definition to create a CORE HL7 MS SQL Schema in your database (see Creating Schema Tables).
Download The Free Definition Manager Software
You can use our FREE CORE HL7 Definition Manager software to view / edit / create / export CORE HL7 Definitions. Download by clicking HERE.
Download Some Stand-Alone HL7 Definition Files
Download a ZIP file containing several ANSI HL7 definitions by clicking HERE.