Ready to Learn?Ex Libris products all provide open APIs

Tech Blog

 

Alma NCIP Requirements and InnReach

Moshe Shechter on December 19th, 2016

Background

The Alma NCIP Application profile mandates two elements in every incoming NCIP message, as part of the InitiationHeader:


1. AgencyID
This element must contain the Alma institution code.
In NCIP v2 messages this element is the AgencyId element, found in the FromAgencyId and the ToAgencyId elements on the InitiationHeader. For example:

<FromAgencyId>
    <AgencyId>60UNIV_INST</AgencyId>
</FromAgencyId>
<ToAgencyId>
    <AgencyId>60UNIV_INST</AgencyId>
</ToAgencyId>
In NCIP v1 messages this element is the Value of the UniqueAgencyId, found in the FromAgencyId and the ToAgencyId elements on the InitiationHeader. For example: 
<FromAgencyId>
  <UniqueAgencyId>
    <Scheme datatype="string">
       http://www.niso.org/ncip/v1_0/imp1/dtd/ncip_v1_0.dtd?target=get_scheme_values&scheme=UniqueAgencyId
    </Scheme>
    <Value datatype="string">60UNIV_INST</Value>
  </UniqueAgencyId>
</FromAgencyId>
<ToAgencyId>
  <UniqueAgencyId>
     <Scheme datatype="string">
       http://www.niso.org/ncip/v1_0/imp1/dtd/ncip_v1_0.dtd?target=get_scheme_values&scheme=UniqueAgencyId
     </Scheme>
     <Value datatype="string">60UNIV_INST</Value>
   </UniqueAgencyId>
</ToAgencyId>
2. ApplicationProfileType
This element must contain the code of the Alma partner record which is the target of the NCIP message.
NCIP v2 example:
<ApplicationProfileType>ILLIAD</ApplicationProfileType>

NCIP v1 example:

<ApplicationProfileType>
  <Scheme datatype="string">
       http://www.niso.org/ncip/v1_0/imp1/dtd/ncip_v1_0.dtd?target=get_scheme_values&scheme=UniqueAgencyId
  </Scheme>
  <Value datatype="string">INNREACH</Value>
</ApplicationProfileType>

If the Alma institution has only one configured NCIP partner then the ApplicationProfileType is not mandatory. Alma will automatically associate the NCIP messages to that single partner.
 

The Problems and Solutions

  1. InnReach messages include the AgencyID, but are not able to use the Alma institution code. Therefore, it is mandatory for a script to run and swap the InnReach codes with the Alma required one.
    A PHP script has been created by the California State University San Marcos [CSUSM] Library, and is publicly available in GitHub. See here. The script successfully makes the swap, and is mandatory for Alma\InnReach integrations
  2. InnReach messages do not include the ApplicationProfileType. This is not an issue where the library uses no other NCIP integration. In that case only one NCIP partner will be configured and Alma will associate the incoming NCIP messages with that partner.
    Where an additional NCIP partner is configured, for example for ILLiad, it is mandatory to change the above mentioned PHP script so that it will contain also the ApplicationProfileType, populated with the Alma NCIP InnReach partner code, as in the above example.