Introduction to NCIP
Prepared by the NCIP Standing Committee, April 2011
Basics
NCIP (NISO Circulation Interchange Protocol, also known as Z39.83) is a North American standard with implementations in the US, Canada, and many other countries around the world. NCIP services facilitate the automation of tasks, the exchange of data, the ability to provide information to library staff, and the empowerment of patrons. Each service is comprised of a request from an initiating application and a reply from a responding application. It is possible for a single software application to play both the initiation and responding roles, but typically there are at least two applications involved.
The original vision for NCIP identified three main application areas: Direct Consortial Borrowing (DCB), Circulation / Interlibrary Loan Interaction (C-ILL), and Self-Service Circulation. Over time, the NCIP Standing Committee (previously known as the NCIP Implementers Group) came to realize that the generic term “Resource Sharing” encompassed the workflows associated with both DCB and C-ILL.
In the context of Resource Sharing, the initiator is likely to be an application used by library staff to request an item from a remote system when the item is not available in the local system. NCIP services can be used to query the remote system to determine if the desired item is available and, if it is, ask the remote system to send the item.
For Self-Service, the initiator might be a self-service circulation terminal where users check out, and possibly check in, their own items. The terminal uses NCIP services exchanged with the Integrated Library System (ILS) to check items out to the patrons, provide details of the patron account, and allow patrons to perform other tasks like renewing items, placing holds, and even updating their own account information.
Because information about testing and implementation is important, the Standing Committee maintains an NCIP implementer registry that allows librarians to discover easily which initiators and responders have successfully worked together.
Service Types
There are three broad categories of NCIP services: Lookup, Update, and Notification. Lookup services are used to obtain information and have no action associated with them. Update services direct the responder to take an action when the request message is received. Notification services tell another system that an action has been taken. The following table gives examples of the three service types:
Basics
NCIP (NISO Circulation Interchange Protocol, also known as Z39.83) is a North American standard with implementations in the US, Canada, and many other countries around the world. NCIP services facilitate the automation of tasks, the exchange of data, the ability to provide information to library staff, and the empowerment of patrons. Each service is comprised of a request from an initiating application and a reply from a responding application. It is possible for a single software application to play both the initiation and responding roles, but typically there are at least two applications involved.
The original vision for NCIP identified three main application areas: Direct Consortial Borrowing (DCB), Circulation / Interlibrary Loan Interaction (C-ILL), and Self-Service Circulation. Over time, the NCIP Standing Committee (previously known as the NCIP Implementers Group) came to realize that the generic term “Resource Sharing” encompassed the workflows associated with both DCB and C-ILL.
In the context of Resource Sharing, the initiator is likely to be an application used by library staff to request an item from a remote system when the item is not available in the local system. NCIP services can be used to query the remote system to determine if the desired item is available and, if it is, ask the remote system to send the item.
For Self-Service, the initiator might be a self-service circulation terminal where users check out, and possibly check in, their own items. The terminal uses NCIP services exchanged with the Integrated Library System (ILS) to check items out to the patrons, provide details of the patron account, and allow patrons to perform other tasks like renewing items, placing holds, and even updating their own account information.
Because information about testing and implementation is important, the Standing Committee maintains an NCIP implementer registry that allows librarians to discover easily which initiators and responders have successfully worked together.
Service Types
There are three broad categories of NCIP services: Lookup, Update, and Notification. Lookup services are used to obtain information and have no action associated with them. Update services direct the responder to take an action when the request message is received. Notification services tell another system that an action has been taken. The following table gives examples of the three service types:
Service Type | Examples |
Lookup | What is the name associated with ID 12345678? |
How many books does he have checked out? | |
What are their titles? | |
Update | Check out this item |
Return this item | |
Register this borrower as a new user | |
Notification | My system checked out this item |
My system returned this item |
Core Services
With more than 40 services, NCIP provides a flexible toolkit with which to perform many types of tasks. At the same time, this breadth of functionality can be daunting for new implementers. In an effort to flatten this initial learning curve, the NCIP Standing Committee has identified two core groups -- each consisting of 9 services: a resource sharing core and a self-service core. Five services are shared by both groups and four are unique to each application area. The purpose of these core service sets is to allow librarians and suppliers to focus on the most commonly supported services and the tasks they can accomplish.
The five common services in the core service sets are:
Check Out Item requests that the responding application check out an Item to a User. It also permits the initiating application to acknowledge the fee amount (if any) associated with the check out. The initiating application may also request data about the User and/or Item involved with this check out.
Lookup Item requests data about a particular Item known to the responding application. The initiator provides the Id of the Item and a list of elements for which data is requested.
Lookup User requests data about a particular User known to the responding application. The initiator provides the Id of the User and a list of elements for which data is requested.
Renew Item requests that the responding application renew an Item for a User. The initiating application may include a suggested revision of the due date and an acknowledgement of fee amount. The initiating application may also request data about the User and/or Item involved with this renewal.
Resource Sharing Core Services
The four core services specific to Resource Sharing are:
Accept Item requests that the responding application accept an Item to be circulated to a User. The responding application may be a third party that has no prior knowledge of either the User or the Item. The initiation message identifies the action the responding agency is requested to take when it receives the item. The request may include a date by which the initiating application requires the Item to be returned, an indication that the user may apply to renew the loan of the Item, and financial data relating to the supply of the Item. If there is a possibility that the responding application has no prior knowledge of either the User or the Item, the request may optionally include data about the User and/or the Item.
Cancel Request Item requests that the responding application cancel a previous request for an Item. The initiating application may also request data about the User and/or Item involved with this request cancellation.
Recall Item requests that the responding application recall an Item from a User. The initiating application may propose a new date due for the Item. The initiating application may also request data about the User and/or Item involved with this recall.
Request Item requests that the responding application place a request on an Item for a User whether or not the Item is immediately available. The initiating application indicates the type of request being made. The initiating application may optionally provide an acknowledgement of the fee to be charged for the service. The initiating application may also request data about the User and/or Item involved with this request.
Self-Service Core Services
The four core services for self-service are:
Create User requests that the responding application create a record for a user. The initiating application supplies the data elements to be used to create the User. It may optionally supply a proposed User Id.
Create User Fiscal Transaction requests that the responding application create a new fiscal transaction for a service provided to a User. The initiating application provides the type of update and fiscal details about the update it wants done.
Undo Checkout Item requests that the responding application undo the check out that immediately preceded this message. If the responder agrees to the request, processing continues as if the preceding check out had never occurred. This service is typically used by self-check applications.
Update User requests that the responding application update data about a User. The initiating application provides elements to be deleted with the value for each element and/or elements to be added with the value for each element. If the initiating application is changing the value for an existing element it must include that element in both the delete and add sections of the message.
Next Steps
With this basic understanding of NCIP, you might wish to consult the Implementer Registry to determine what implementations exist today that meet your needs. If you are a systems designer, the Registry contains contact information for appropriate individuals at other implementers, and these people may be able to help you with testing. The NCIP general listserv is a place where you may ask questions of other implementers and get helpful advice and guidance on the use of NCIP. You may subscribe to this list at the NISO website.
For More Information
With more than 40 services, NCIP provides a flexible toolkit with which to perform many types of tasks. At the same time, this breadth of functionality can be daunting for new implementers. In an effort to flatten this initial learning curve, the NCIP Standing Committee has identified two core groups -- each consisting of 9 services: a resource sharing core and a self-service core. Five services are shared by both groups and four are unique to each application area. The purpose of these core service sets is to allow librarians and suppliers to focus on the most commonly supported services and the tasks they can accomplish.
The five common services in the core service sets are:
- Check In Item
- Check Out Item
- Lookup Item
- Lookup User
- Renew Item
Check Out Item requests that the responding application check out an Item to a User. It also permits the initiating application to acknowledge the fee amount (if any) associated with the check out. The initiating application may also request data about the User and/or Item involved with this check out.
Lookup Item requests data about a particular Item known to the responding application. The initiator provides the Id of the Item and a list of elements for which data is requested.
Lookup User requests data about a particular User known to the responding application. The initiator provides the Id of the User and a list of elements for which data is requested.
Renew Item requests that the responding application renew an Item for a User. The initiating application may include a suggested revision of the due date and an acknowledgement of fee amount. The initiating application may also request data about the User and/or Item involved with this renewal.
Resource Sharing Core Services
The four core services specific to Resource Sharing are:
- Accept Item
- Cancel Request Item
- Recall Item
- Request Item
Accept Item requests that the responding application accept an Item to be circulated to a User. The responding application may be a third party that has no prior knowledge of either the User or the Item. The initiation message identifies the action the responding agency is requested to take when it receives the item. The request may include a date by which the initiating application requires the Item to be returned, an indication that the user may apply to renew the loan of the Item, and financial data relating to the supply of the Item. If there is a possibility that the responding application has no prior knowledge of either the User or the Item, the request may optionally include data about the User and/or the Item.
Cancel Request Item requests that the responding application cancel a previous request for an Item. The initiating application may also request data about the User and/or Item involved with this request cancellation.
Recall Item requests that the responding application recall an Item from a User. The initiating application may propose a new date due for the Item. The initiating application may also request data about the User and/or Item involved with this recall.
Request Item requests that the responding application place a request on an Item for a User whether or not the Item is immediately available. The initiating application indicates the type of request being made. The initiating application may optionally provide an acknowledgement of the fee to be charged for the service. The initiating application may also request data about the User and/or Item involved with this request.
Self-Service Core Services
The four core services for self-service are:
- Create User
- Create User Fiscal Transaction
- Undo Checkout Item
- Update User
Create User requests that the responding application create a record for a user. The initiating application supplies the data elements to be used to create the User. It may optionally supply a proposed User Id.
Create User Fiscal Transaction requests that the responding application create a new fiscal transaction for a service provided to a User. The initiating application provides the type of update and fiscal details about the update it wants done.
Undo Checkout Item requests that the responding application undo the check out that immediately preceded this message. If the responder agrees to the request, processing continues as if the preceding check out had never occurred. This service is typically used by self-check applications.
Update User requests that the responding application update data about a User. The initiating application provides elements to be deleted with the value for each element and/or elements to be added with the value for each element. If the initiating application is changing the value for an existing element it must include that element in both the delete and add sections of the message.
Next Steps
With this basic understanding of NCIP, you might wish to consult the Implementer Registry to determine what implementations exist today that meet your needs. If you are a systems designer, the Registry contains contact information for appropriate individuals at other implementers, and these people may be able to help you with testing. The NCIP general listserv is a place where you may ask questions of other implementers and get helpful advice and guidance on the use of NCIP. You may subscribe to this list at the NISO website.
For More Information