Interface Control Document
Interface Control Document
Notes on accessibility: This template has been tested and is best accessible with JAWS 11.0 or higher.
For questions about using this template or to request changes to the template, please contact CMS IT
Governance ([email protected]).
<Project Name/Acronym>
Interface Control Document
Version X.X
MM/DD/YYYY
Table of Contents
1. Introduction.................................................................................................................1
1.1 Overview..............................................................................................................1
2. Assumptions/Constraints/Risks...............................................................................2
2.1 Assumptions........................................................................................................2
2.2 Constraints..........................................................................................................2
2.3 Risks....................................................................................................................2
3. Interface Overview.....................................................................................................3
3.1 Interface Overview..............................................................................................3
3.1.1 Interface Controls..........................................................................................3
3.2 Functional Allocation...........................................................................................4
3.3 Data Transfer......................................................................................................4
3.4 Transactions........................................................................................................4
3.5 Security and Integrity...........................................................................................4
4. Detailed Interface Requirements..............................................................................6
4.1 Requirements for <Given Interface Name>........................................................6
4.1.1 Assumptions..................................................................................................6
4.1.2 Technical Interface Requirements................................................................7
4.1.3 General Processing Steps............................................................................7
4.1.4 Interface Processing Time Requirements....................................................7
4.1.5 Message Format (or Record Layout) and Required Protocols.....................7
4.1.6 Communication Methods..............................................................................9
4.1.7 Security Requirements..................................................................................9
4.2 Requirements for <Given Interface Name>......................................................10
5. Quality Assurance....................................................................................................11
Appendix A: Record of Changes..................................................................................12
Appendix B: Glossary...................................................................................................13
Appendix C: Referenced Documents..........................................................................14
Appendix D: Approvals.................................................................................................15
Appendix E: Notes to the Author/Template Instructions..........................................16
List of Figures
No table of figures entries found.
List of Tables
Table 1 - OSI Application Layer.........................................................................................3
Table 2 - OSI Presentation Layer......................................................................................3
Table 3 - OSI Session Layer..............................................................................................3
Table 4 - OSI Transport Layer...........................................................................................3
Table 5 - OSI Network Layer.............................................................................................4
Table 6 - OSI Data Layer...................................................................................................4
Table 7 - OSI Physical Layer.............................................................................................4
Table 8 - Record of Changes...........................................................................................12
Table 10 - Glossary..........................................................................................................13
Table 11 - Referenced Documents..................................................................................14
Table 12 - Approvals........................................................................................................15
1. Introduction
Instructions: Provide identifying information for the source and target systems
participating in the interface. A separate paragraph should be included for each system
that comprises the interface, providing sufficient description to definitively identify the
systems participating in the interface. Also describe any security or privacy
considerations associated with use of the ICD.
This ICD describes the relationship between the <Source System Name (Acronym)> (the
source system) and the <Target System Name (Acronym)> (the target system).
This ICD specifies the interface requirements the participating systems must meet. It describes
the concept of operations for the interface, defines the message structure and protocols that
govern the interchange of data, and identifies the communication paths along which the project
team expects data to flow.
For each interface, the ICD provides the following information:
A description of the data exchange format and protocol for exchange
A general description of the interface
Assumptions where appropriate
Estimated size and frequency of data exchange
1.1 Overview
Instructions: Briefly describe the purpose of each interface to another external system
at a functional level and the data exchanged between the interfaces. Further
information on the functionality and architecture of the participating systems is given in
the subsequent sections. In particular, each system should be briefly summarized with
special emphasis on the functionality related to the interface. The hardware and
software components of each system are also identified.
2. Assumptions/Constraints/Risks
2.1 Assumptions
Instructions: Describe any assumptions or dependencies regarding the interfaces of the
system. These may concern such issues as: related software or hardware, operating
systems, or end-user characteristics.
2.2 Constraints
Instructions: Describe any limitations or constraints that have a significant impact on the
system interfaces. Such constraints may be imposed by any of the following (the list is
not exhaustive):
Hardware or software environment
End-user environment
Availability of resources
Interoperability requirements
Interface/protocol requirements
Data repository and distribution requirements
2.3 Risks
Instructions: Describe any risks associated with the system interfaces and proposed
mitigation strategies.
3. Interface Overview
3.1 Interface Overview
Instructions: Describe the functionality and architecture of the interfacing systems as
they relate to the proposed interface. Briefly summarize the system, placing special
emphasis on functionality, including identification of key hardware and software
components, as they relate to the interface. If more than one external system is to be
part of the interface being defined, then include additional sections at this level for each
additional external system.
3.4 Transactions
Instructions: Briefly describe the types of transactions that will be used to move data
among the component systems of the interface being defined. If multiple types of
transactions will be used for different portions of the interface, a separate section may
be included for each interface.
will be implemented for the interface being defined. Include a description of the
transmission medium to be used and whether it is a public or a secure line. Include a
brief description of how data will be protected during transmission and how data
integrity will be guaranteed. Include a description of how the two systems can be certain
they are communicating with each other and not with another system masquerading as
one of them. Describe how an individual on one system can be audited and held
accountable for resulting actions on the other component of the interface. Normally, this
section should be an overview of how security and integrity will be implemented.
An interface that is completely self-contained, such as movement of data between
systems resident in the same computer room, may not have any security requirements.
In this case it should be so stated with an explanation of why the interface has no
security and integrity requirements.
4.1.1 Assumptions
Instructions: Identify any assumptions that specify organizational responsibilities for
specific activities or decisions, or that defines specific constraints. Assumptions might
include:
Data acceptance constraints
Responsibility for establishing and managing the communication protocol
Responsibility for providing and/or accepting file feeds for test and production
processing
Allowable file sizes
Responsibility for decisions on acceptance of test results
utilized. The origin, structure, and processing of such packets will be dependent on the
techniques used to implement the interface. Define required characteristics of data
element assemblies that the interfacing entities must provide, store, send, access,
receive, etc. When relevant to the packaging technique used, the following information
should be provided:
Names/identifiers
Project-unique identifier
Non-technical (natural language) name
Technical name (e.g., record or data structure name in code or database)
Abbreviations or synonymous names
Structure of data element assembly (e.g., field name, type, length, valid values,
etc.)
Visual and auditory characteristics of displays and other outputs (e.g., colors,
layouts, fonts, icons, and other display elements, beeps, lights) where relevant
Relationships among different types of data element assemblies used for the
interface
Priority, timing, frequency, volume, sequencing, and other constraints (e.g.,
whether the assembly may be updated and whether business rules apply)
Sources (setting/sending entities) and recipients (using/receiving entities).
5. Quality Assurance
Instructions: This section defines a set of Quality Assurance (QA) methods to be used
to verify that the requirements for the interfaces defined in Section “Detailed Interface
Requirements” have been met. QA methods include:
Demonstration - The operation of interfacing entities that relies on observable
functional operation not requiring the use of instrumentation, special test
equipment, or subsequent analysis
Test - The operation of interfacing entities using instrumentation or special test
equipment to collect data for later analysis
Analysis - The processing of accumulated data obtained from other qualification
methods (e.g., reduction, interpretation, or extrapolation of test results)
Inspection - The visual examination of interfacing entities, documentation, etc.
Special Qualification Methods - Any special qualification methods for the
interfacing entities (e.g., special tools, techniques, procedures, facilities, and
acceptance limits)
Describe how the interfaces will be tested / verified, any resources that are required,
and any associated lead time and coordination required to prepare and conduct testing.
Appendix B: Glossary
Instructions: Provide clear and concise definitions for terms used in this document that
may be unfamiliar to readers of the document. Terms are to be listed in alphabetical
order.
Table 9 - Glossary
Term Acronym Definition
<Term <Acronym <Definition
> > >
<Term <Acronym <Definition
> > >
<Term <Acronym <Definition
> > >
<Term <Acronym <Definition
> > >
<Term <Acronym <Definition
> > >
Appendix D: Approvals
The undersigned acknowledge that they have reviewed the ICD and agree with the information
presented within this document. Changes to this ICD will be coordinated with, and approved by,
the undersigned, or their designated representatives.
Instructions: List the individuals whose signatures are desired. Examples of such
individuals are Business Owner, Project Manager (if identified), and any appropriate
stakeholders. Add additional lines for signature as necessary.
Table 11 - Approvals
Document Approved By Date Approved