X12 999 Implementation Acknowledgment (X231)
This X12 Transaction Set contains the format and establishes the data contents of the Implementation Acknowledgment Transaction Set (999) for use within the context of an Electronic Data Interchange (EDI) environment. The transaction set can be used to define the control structures for a set of acknowledgments to indicate the results of the syntactical and relational analysis of the electronically encoded documents, based upon a full or implemented subset of X12 transaction sets. The encoded documents are the transaction sets, which are grouped in functional groups, used in defining transactions for business data interchange. This standard does not cover the semantic meaning of the information encoded in the transaction sets.
- ~ Segment
- * Element
- > Component
- ^ Repetition
Interchange Control Header
To start and identify an interchange of zero or more functional groups and interchange-related control segments
Code identifying the type of information in the Authorization Information
- 00
- No Authorization Information Present (No Meaningful Information in I02)
Information used for additional identification or authorization of the interchange sender or the data in the interchange; the type of information is set by the Authorization Information Qualifier (I01)
Code identifying the type of information in the Security Information
- 00
- No Security Information Present (No Meaningful Information in I04)
This is used for identifying the security information about the interchange sender or the data in the interchange; the type of information is set by the Security Information Qualifier (I03)
Code indicating the system/method of code structure used to designate the sender or receiver ID element being qualified
Identification code published by the sender for other parties to use as the receiver ID to route data to them; the sender always codes this value in the sender ID element
Code indicating the system/method of code structure used to designate the sender or receiver ID element being qualified
Identification code published by the receiver of the data; When sending, it is used by the sender as their sending ID, thus other parties sending to them will use this as a receiving ID to route data to them
Type is not applicable; the repetition separator is a delimiter and not a data element; this field provides the delimiter used to separate repeated occurrences of a simple data element or a composite data structure; this value must be different than the data element separator, component element separator, and the segment terminator
- ^
- Repetition Separator
Code specifying the version number of the interchange control segments
- 00501
- Standards Approved for Publication by ASC X12 Procedures Review Board through October 2003
A control number assigned by the interchange sender
Code indicating sender's request for an interchange acknowledgment
- 0
- No Interchange Acknowledgment Requested
- 1
- Interchange Acknowledgment Requested (TA1)
Code indicating whether data enclosed by this interchange envelope is test, production or information
- I
- Information
- P
- Production Data
- T
- Test Data
Type is not applicable; the component element separator is a delimiter and not a data element; this field provides the delimiter used to separate component data elements within a composite data structure; this value must be different than the data element separator and the segment terminator
- >
- Component Element Separator
Functional Group Header
To indicate the beginning of a functional group and to provide control information
Code identifying a group of application related transaction sets
- FA
- Functional or Implementation Acknowledgment Transaction Sets (997, 999)
Code identifying party sending transmission; codes agreed to by trading partners
Code identifying party receiving transmission; codes agreed to by trading partners
Date expressed as CCYYMMDD where CC represents the first two digits of the calendar year
Time expressed in 24-hour clock time as follows: HHMM, or HHMMSS, or HHMMSSD, or HHMMSSDD, where H = hours (00-23), M = minutes (00-59), S = integer seconds (00-59) and DD = decimal seconds; decimal seconds are expressed as follows: D = tenths (0-9) and DD = hundredths (00-99)
Assigned number originated and maintained by the sender
Code identifying the issuer of the standard; this code is used in conjunction with Data Element 480
- T
- Transportation Data Coordinating Committee (TDCC)
- X
- Accredited Standards Committee X12
Code indicating the version, release, subrelease, and industry identifier of the EDI standard being used, including the GS and GE segments; if code in DE455 in GS segment is X, then in DE 480 positions 1-3 are the version number; positions 4-6 are the release and subrelease, level of the version; and positions 7-12 are the industry or trade association identifiers (optionally assigned by user); if code in DE455 in GS segment is T, then other formats are allowed
- 005010X231
Heading
Transaction Set Header
To indicate the start of a transaction set and to assign a control number
- When acknowledging a healthcare implementation guide (TR3) based transaction, only a single transaction set 999 can be used. When acknowledging a healthcare implementation guide (TR3) based transaction, the transaction set 997 must not be used.
Code uniquely identifying a Transaction Set
- The transaction set identifier (ST01) is used by the translation routines of the interchange partners to select the appropriate transaction set definition (e.g., 810 selects the Invoice Transaction Set).
- 999
- Implementation Acknowledgment
Identifying control number that must be unique within the transaction set functional group assigned by the originator for a transaction set
- The Transaction Set Control Numbers in ST02 and SE02 must be identical. The number is assigned by the originator and must be unique within a functional group (GS-GE). The number also aids in error resolution research. For example, start with the number 0001 and increment from there.
Reference assigned to identify Implementation Convention
- The implementation convention reference (ST03) is used by the translation routines of the interchange partners to select the appropriate implementation convention to match the transaction set definition. When used, this implementation convention reference takes precedence over the implementation reference specified in the GS08.
- This field contains the same value as data element GS08. This value is always 005010X231 when this implementation guide is utilized. Some translator products strip off the ISA and GS segments prior to application processing. Providing the information from GS08 at this level will help ensure the appropriate application mapping is utilized at translation time.
- 005010X231
Functional Group Response Header
To start acknowledgment of a functional group
Code identifying a group of application related transaction sets
- AK101 is the functional ID found in the GS segment (GS01) in the functional group being acknowledged.
- Use the value in GS01 from the functional group to which this 999 transaction set is responding.
Assigned number originated and maintained by the sender
- AK102 is the functional group control number found in the GS segment in the functional group being acknowledged.
- Use the value in GS06 from the functional group to which this 999 transaction set is responding.
Code indicating the version, release, subrelease, and industry identifier of the EDI standard being used, including the GS and GE segments; if code in DE455 in GS segment is X, then in DE 480 positions 1-3 are the version number; positions 4-6 are the release and subrelease, level of the version; and positions 7-12 are the industry or trade association identifiers (optionally assigned by user); if code in DE455 in GS segment is T, then other formats are allowed
- AK103 is the version release industry identifier code in the GS segment (GS08) in the functional group being acknowledged.
- Use the value in GS08 from the functional group to which this 999 transaction set is responding.
Transaction Set Response Header
To start acknowledgment of a single transaction set
- Required when an error is present in a transaction set contained in the functional group to which this 999 transaction set is responding. If not required by this implementation guide, may be provided at the sender's discretion but cannot be required by the receiver.
- While it is not required that an AK2 loop be included for each transaction set received, it is required that an AK2 loop be included for each transaction set that contains an error. When AK2 loops are included in this transaction set, they must be in the same order as received in the functional group to which this 999 is responding.
Code uniquely identifying a Transaction Set
- AK201 is the transaction set ID found in the ST segment (ST01) in the transaction set being acknowledged.
- Use the value in ST01 from the transaction set to which this 999 transaction set is responding.
Identifying control number that must be unique within the transaction set functional group assigned by the originator for a transaction set
- AK202 is the transaction set control number found in the ST segment in the transaction set being acknowledged.
- Use the value in ST02 from the transaction set to which this 999 transaction set is responding.
Reference assigned to identify Implementation Convention
- AK203 is the implementation convention reference, if any, found in the ST segment (ST03) in the transaction set being acknowledged.
- When used, this is the value in ST03 from the transaction set to which this 999 transaction set is responding.
Error Identification
To report implementation errors in a data segment and identify the location of the data segment
- Required when an error is present in the transaction set identified in this AK2 loop and the location of the data segment containing the error can be identified by the submitter of this 999. If not required by this implementation guideline, do not send.
Code defining the segment ID of the data segment in error (See Appendix A - Number 77)
The numerical count position of this data segment from the start of the transaction set: the transaction set header is count position 1
- The value to use in IK302 is the numerical count position of this data segment, relative to the transaction set instance (not the transaction set diagram), from the start of the transaction set. The transaction set header (i.e. ST) is count position 1.
The loop ID number given on the transaction set diagram is the value for this data element in segments LS and LE
- Only the first four characters of the loop identifier must be used.
Code indicating implementation error found based on the syntax editing of a segment
- 1
- Unrecognized segment ID
- 2
- Unexpected segment
- 3
- Required Segment Missing
- 4
- Loop Occurs Over Maximum Times
- 5
- Segment Exceeds Maximum Use
- 6
- Segment Not in Defined Transaction Set
- 7
- Segment Not in Proper Sequence
- 8
- Segment Has Data Element Errors
- I4
- Implementation "Not Used" Segment Present
- I6
- Implementation Dependent Segment Missing
- I7
- Implementation Loop Occurs Under Minimum Times
- I8
- Implementation Segment Below Minimum Use
- I9
- Implementation Dependent "Not Used" Segment Present
Segment Context
Describes an event context in terms of the application or implementation contexts in force at the time the event occurred and the position in the EDI stream at which that context was activated
- Required when the error identified in this IK3 loop was triggered by a situational requirement of the implementation guide and the error occurs at the segment level. If not required by this implementation guide, do not send.
- The CTX segment is used to identify the data that triggered the situational requirement.
Holds the name or 'tag' of a context
- Always contains the value "SITUATIONAL TRIGGER".
Code defining the segment ID of the data segment in error (See Appendix A - Number 77)
The numerical count position of this data segment from the start of the transaction set: the transaction set header is count position 1
The loop ID number given on the transaction set diagram is the value for this data element in segments LS and LE
- Only the first four characters of the loop identifier must be used.
Required when the situational requirement relates to an element. If not required by this implementation guide, do not send.
This is used to indicate the relative position of a simple data element, or the relative position of a composite data structure with the relative position of the component within the composite data structure, in error; in the data segment the count starts with 1 for the simple data element or composite data structure immediately following the segment ID
To identify the component data element position within the composite that is in error
To identify the specific repetition of a data element that is in error
Required when CTX05 is used and the data element reference number of the data element identified in CTX05-1 is known by the sumbitter of the 999, and it is NOT a composite data element. If not required by this implementation guide, do not send.
Reference number used to locate the data element in the Data Element Dictionary
- This element holds the reference number of the simple or composite element at segment level.
Business Unit Identifier
Describes an event context in terms of the application or implementation contexts in force at the time the event occurred and the position in the EDI stream at which that context was activated
- Required when the error reported in this IK3 loop is within a business unit and the business unit identifier is known by the submitter of the 999. If not required by this implementation guide, do not send.
- Valid values for the business unit identifier are:
TRN02 269 business unit identifier
TRN02 270 business unit identifier
TRN02 271 business unit identifier
NM109 274 business unit identifier
PATIENT NAME NM109 275 business unit identifier
TRN02 276 business unit identifier
TRN02 277 business unit identifier
SUBSCRIBER NAME NM109 278 business unit identifier
ENT01 820 business unit identifier
SUBSCRIBER NUMBER REF02 834 business unit identifier
TRN02 835 business unit identifier
CLM01 837 business unit identifier
Holds the name or 'tag' of a context
- This contains one of the following values, depending on the value in AK201:
TRN02 269 business unit identifier
TRN02 270 business unit identifier
TRN02 271 business unit identifier
NM109 274 business unit identifier
PATIENT NAME NM109 275 business unit identifier
TRN02 276 business unit identifier
TRN02 277 business unit identifier
SUBSCRIBER NAME NM109 278 business unit identifier
ENT01 820 business unit identifier
SUBSCRIBER NUMBER REF02 834 business unit identifier
TRN02 835 business unit identifier
CLM01 837 business unit identifier
Holds a reference to or for a context
- This contains the value from the business unit identifier specified in CTX01-1.
Implementation Data Element Note
To report implementation errors in a data element or composite data structure and identify the location of the data element
- Required when the error in the segment described in the IK3 segment applies to a data element and the location of the data element containing the error can be identified by the submitter of the 999. If not required by this implementation guideline, do not send.
This is used to indicate the relative position of a simple data element, or the relative position of a composite data structure with the relative position of the component within the composite data structure, in error; in the data segment the count starts with 1 for the simple data element or composite data structure immediately following the segment ID
To identify the component data element position within the composite that is in error
To identify the specific repetition of a data element that is in error
Reference number used to locate the data element in the Data Element Dictionary
Code indicating the implementation error found after syntax edits of a data element
- 1
- Required Data Element Missing
- 2
- Conditional Required Data Element Missing
- 3
- Too Many Data Elements
- 4
- Data Element Too Short
- 5
- Data Element Too Long
- 6
- Invalid Character In Data Element
- 7
- Invalid Code Value
- 8
- Invalid Date
- 9
- Invalid Time
- 10
- Exclusion Condition Violated
- 12
- Too Many Repetitions
- 13
- Too Many Components
- I10
- Implementation "Not Used" Data Element Present
- I11
- Implementation Too Few Repetitions
- I12
- Implementation Pattern Match Failure
- I13
- Implementation Dependent "Not Used" Data Element Present
- I6
- Code Value Not Used in Implementation
- I9
- Implementation Dependent Data Element Missing
This is a copy of the data element in error
Element Context
Describes an event context in terms of the application or implementation contexts in force at the time the event occurred and the position in the EDI stream at which that context was activated
- Required when the error identified in this IK4 loop was triggered by a situational requirement of the implementation guide and the error occurs at the element level. If not required by this implementation guide, do not send.
- The CTX segment is used to identify the data that triggered the situational requirement.
Holds the name or 'tag' of a context
- Always contains the value "SITUATIONAL TRIGGER".
Code defining the segment ID of the data segment in error (See Appendix A - Number 77)
The numerical count position of this data segment from the start of the transaction set: the transaction set header is count position 1
The loop ID number given on the transaction set diagram is the value for this data element in segments LS and LE
- Only the first four characters of the loop identifier must be used.
Required when the situational requirement relates to an element. If not required by this implementation guide, do not send.
This is used to indicate the relative position of a simple data element, or the relative position of a composite data structure with the relative position of the component within the composite data structure, in error; in the data segment the count starts with 1 for the simple data element or composite data structure immediately following the segment ID
To identify the component data element position within the composite that is in error
To identify the specific repetition of a data element that is in error
Required when CTX05 is used and the data element reference number of the data element identified in CTX05-1 is known by the sumbitter of the 999, and it is NOT a composite data element. If not required by this implementation guide, do not send.
Reference number used to locate the data element in the Data Element Dictionary
- This element holds the reference number of the simple or composite element at segment level.
Transaction Set Response Trailer
To acknowledge acceptance or rejection and report implementation errors in a transaction set
Code indicating accept or reject condition based on the syntax editing of the transaction set
- A
- Accepted
- E
- Accepted But Errors Were Noted
The transaction set indicated in this AK2 loop contained errors, but was forwarded for further processing.
- M
- Rejected, Message Authentication Code (MAC) Failed
- R
- Rejected
The transaction set indicated in this AK2 loop contained errors, and was NOT forwarded for further processing. It will need to be corrected and resubmitted.
- W
- Rejected, Assurance Failed Validity Tests
- X
- Rejected, Content After Decryption Could Not Be Analyzed
Code indicating implementation error found based on the syntax editing of a transaction set
- 1
- Transaction Set Not Supported
- 2
- Transaction Set Trailer Missing
- 3
- Transaction Set Control Number in Header and Trailer Do Not Match
- 4
- Number of Included Segments Does Not Match Actual Count
- 5
- One or More Segments in Error
- 6
- Missing or Invalid Transaction Set Identifier
- 7
- Missing or Invalid Transaction Set Control Number
- 8
- Authentication Key Name Unknown
- 9
- Encryption Key Name Unknown
- 10
- Requested Service (Authentication or Encrypted) Not Available
- 11
- Unknown Security Recipient
- 12
- Incorrect Message Length (Encryption Only)
- 13
- Message Authentication Code Failed
- 15
- Unknown Security Originator
- 16
- Syntax Error in Decrypted Text
- 17
- Security Not Supported
- 18
- Transaction Set not in Functional Group
- 19
- Invalid Transaction Set Implementation Convention Reference
- 23
- Transaction Set Control Number Not Unique within the Functional Group
- 24
- S3E Security End Segment Missing for S3S Security Start Segment
- 25
- S3S Security Start Segment Missing for S3E Security End Segment
- 26
- S4E Security End Segment Missing for S4S Security Start Segment
- 27
- S4S Security Start Segment Missing for S4E Security End Segment
- I5
- Implementation One or More Segments in Error
- I6
- Implementation Convention Not Supported
Code indicating implementation error found based on the syntax editing of a transaction set
Code indicating implementation error found based on the syntax editing of a transaction set
Code indicating implementation error found based on the syntax editing of a transaction set
Code indicating implementation error found based on the syntax editing of a transaction set
Functional Group Response Trailer
To acknowledge acceptance or rejection of a functional group and report the number of included transaction sets from the original trailer, the accepted sets, and the received sets in this functional group
Code indicating accept or reject condition based on the syntax editing of the functional group
- If AK901 contains the value "A" or "E", then the transmitted functional group is accepted.
- A
- Accepted
This code value can only be used if there are no AK2 loops or all IK501 values = `A'.
- E
- Accepted, But Errors Were Noted.
The functional group indicated in this 999 contained errors, but was forwarded for further processing.
- M
- Rejected, Message Authentication Code (MAC) Failed
- P
- Partially Accepted, At Least One Transaction Set Was Rejected
- R
- Rejected
The functional group indicated in this 999 contained errors, and was NOT forwarded for further processing. It will need to be corrected and resubmitted.
- W
- Rejected, Assurance Failed Validity Tests
- X
- Rejected, Content After Decryption Could Not Be Analyzed
Total number of transaction sets included in the functional group or interchange (transmission) group terminated by the trailer containing this data element
Number of Transaction Sets received
Number of accepted Transaction Sets in a Functional Group
Code indicating error found based on the syntax editing of the functional group header and/or trailer
- 1
- Functional Group Not Supported
- 2
- Functional Group Version Not Supported
- 3
- Functional Group Trailer Missing
- 4
- Group Control Number in the Functional Group Header and Trailer Do Not Agree
- 5
- Number of Included Transaction Sets Does Not Match Actual Count
- 6
- Group Control Number Violates Syntax
- 10
- Authentication Key Name Unknown
- 11
- Encryption Key Name Unknown
- 12
- Requested Service (Authentication or Encryption) Not Available
- 13
- Unknown Security Recipient
- 14
- Unknown Security Originator
- 15
- Syntax Error in Decrypted Text
- 16
- Security Not Supported
- 17
- Incorrect Message Length (Encryption Only)
- 18
- Message Authentication Code Failed
- 19
- Functional Group Control Number not Unique within Interchange
- 23
- S3E Security End Segment Missing for S3S Security Start Segment
- 24
- S3S Security Start Segment Missing for S3E End Segment
- 25
- S4E Security End Segment Missing for S4S Security Start Segment
- 26
- S4S Security Start Segment Missing for S4E Security End Segment
Code indicating error found based on the syntax editing of the functional group header and/or trailer
Code indicating error found based on the syntax editing of the functional group header and/or trailer
Code indicating error found based on the syntax editing of the functional group header and/or trailer
Code indicating error found based on the syntax editing of the functional group header and/or trailer
Transaction Set Trailer
To indicate the end of the transaction set and provide the count of the transmitted segments (including the beginning (ST) and ending (SE) segments)
Total number of segments included in a transaction set including ST and SE segments
Identifying control number that must be unique within the transaction set functional group assigned by the originator for a transaction set
- The Transaction Set Control Numbers in ST02 and SE02 must be identical. The number is assigned by the originator and must be unique within a functional group (GS-GE). The number also aids in error resolution research. For example, start with the number 0001 and increment from there.
Functional Group Trailer
To indicate the end of a functional group and to provide control information
Total number of transaction sets included in the functional group or interchange (transmission) group terminated by the trailer containing this data element
Assigned number originated and maintained by the sender
Interchange Control Trailer
To define the end of an interchange of zero or more functional groups and interchange-related control segments
Example 1: Response to a Functional Group Containing Three 837s
GS*FA*1234567890*2345678901*20080503*1705*20213*X*005010X231~
ST*999*2870001*005010X231~
AK1*HC*17456*005010X222A2~
AK2*837*0001~
IK5*A~
AK2*837*0002~
IK3*CLM*22**8~
CTX*CLM01>123456789~
IK4*2*782*1~
IK5*R*5~
AK2*837*0003~
IK3*REF*57**3~
CTX*SITUATIONAL TRIGGER*CLM*43**5>3~
CTX*CLM01>987654321~
IK5*R*5~
AK9*P*3*3*1~
SE*16*2870001~
GE*1*20213~
IEA*1*000010216~
Stedi is a registered trademark of Stedi, Inc. All names, logos, and brands of third parties listed on this page are trademarks of their respective owners (including “X12”, which is a trademark of X12 Incorporated). Stedi, Inc. and its products and services are not endorsed by, sponsored by, or affiliated with these third parties. Use of these names, logos, and brands is for identification purposes only, and does not imply any such endorsement, sponsorship, or affiliation.