Skip to end of banner
Go to start of banner

RA-Serials Cluster Prototype -In Progress

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

API reference documentation for all modules located at:  https://dev.folio.org/reference/api/

Links to PO documentation for data elements: https://docs.google.com/spreadsheets/d/1B924D2JaFUc6dqgItyKoOFdhn36lxwT6jaYmKpyk2Ws/edit#gid=1697459676


Voyager report example: https://drive.google.com/file/d/1d_7VCaav5kE39Fnw3mudWQAfbi8rD3Io/view


*Collection management decisions;

*collection transfers;

*needed by selectors in the spring.

Report Description Detail

  • This report is modeled on UXPROD-2031 (REP-135), report needed at the end of Spring semester .

Data fields

  • BibID, HoldingsID, Title, Call Number, Library Location, holdings statement, volume count, 852z notes, Circulation counts *item holding location needed for circulation counts for particular library

Report Criteria

  • Serials materials with 852$z notes with total circulation and browse counts at the end of the semester.
  • Date range, material type (serials), circulation counts, 852$z notes present.


Folio Attribute (Module/Path:Object)Folio Data Element DescriptionParameters/Query

Table name: mod-inventory-storage/item-storage/items



Item ID (mod-inventory-storage/item-storage/items/ID)The inventory ID of the itemProvides a join between mod-inventory-storage/item-storage/items and mod-circulation-storage/loan-storage/loans


Item holdings record ID (mod-inventory-storage/item-storage/items/holdingsRecordID)The holdings record ID of the itemProvides a join between mod-inventory-storage/item-storage/items and mod-inventory-storage/holdings-storage/holdings

Item Location (mod-inventory-storage/item-storage/items/permanentLocationID)

Item's permanent location ID

Needed to pull in 'name' element from mod-inventory-storage/locations, as searches for missing items are  done by specific location, and all location fields need to be included



Material Type ID (mod-inventory-storage/item-storage/items/materialTypeID)

ID of the material type

Needed for items with serials material type



Item Enumeration (mod-inventory-storage/item-storage/items/enumeration)Item enumerator (e.g., vol. 1, No. 2, etc.)Needed for circulation and browse count

Item Chronology (mod-inventory-storage/item-storage/items/chronology)Descriptive information for the dating scheme of a serialNeeded for circulation and browse count

Item Copy Number (mod-inventory-storage/item-storage/items/copyNumbers)


Item copy number (e.g., copy 1, copy 2, etc.)Needed for circulation and browse count

Table name: mod-inventory-storage/holdings-storage/holdings



Item holdings ID (mod-inventory-storage/holdings-storage/holdings/ID)The holdings ID of the itemProvides a join between mod-inventory-storage/holdings-storage/holdings and mod-inventory-storage/item-storage/items.

Item Location (mod-inventory-storage/holdings-storage/holdings/permanentLocationID)

Item's permanent holdings location ID

Needed to pull in 'name' element from mod-inventory-storage/locations, as searches for missing items are  done by specific location, and all location fields need to be included

Item Title (mod-inventory-storage/holdings-storage/holdings/shelvingTitle)The title of the item
Needed for item search/replacement

Instance ID (mod-inventory-storage/holdings-storage/holdings/InstanceID)The instance ID of the itemProvides a join between mod-inventory-storage/holdings-storage/holdings and mod-inventory-storage/instance-storage/instances.

 Holding Notes (mod-inventory-storage/holdings-storage/holdings/notes:HoldingNotesTypeIDnotes on the holdingsto view 852 $z notes

Table name: mod-inventory-storage/material-types



(mod-inventory-storage/material-types/ID)The material type ID of the itemProvides a join between mod-inventory-storage/material-types and mod-inventory-storage/item-storage/items

Material Type Name (mod-inventory-storage/material-types/name) Name of the material type (e.g., book, DVD, etc.)Needed for item search/replacement

Table name: mod-inventory-storage/locations



Location name (mod-inventory-storage/locations/name)

Name of location

For both reports, this provides a filter, as searches for missing items are  done by specific location.

Location ID (mod-inventory-storage/locations/ID)ID of the locationProvides a join between mod-inventory-storage/locations and mod-inventory-storage/item-storage/items

Table name: loan-storage/loans/service-point




Loan ID (mod-circulation-storage/loan-storage/loans:id)UUID generated by a loan (identifies a specific circulation transaction)This element will be counted to generate the number of transactions (COUNT(id)). Note: want to count Loan ID for checkouts only.

Loan Date (mod-circulation-storage/loan-storage/loans:loanDate)The date an item was loaned

This data element can be used to filter the report to a date range (where loanDate Between [start] And [end]). It is also used for the date aggregation (to weeks or days/hours). Will also need to (automatically) calculate day of week from this value.

Note: this field is stored as a string but should follow a standardized datetime format (RFC3339 / ISO 8601 date and time). From Marc Johnson: "It should be relatively unlikely [to introduce an error]. Clients which interact with the storage module directly could. With the typical circulation flow it should not be possible"









Comments from Angela:

  • Why pull permanent and temporary location from holdings instead of items? Locations have complicated inheritance logic, so you may need to grab multiple locations. If you need the item's location at the time of checkout, that is now stored in the loan record as the "effective location" (mod-circulation-storage/loan-storage/loans:itemEffectiveLocationAtCheckOut), but the item might have a new effective location by the time it's checked back in and then lost in transit. If you really just need the item's permanent and temporary location, you might want to use the items table, or you might want to grab locations from both holdings and items. It depends a bit on why the report is asking for location. Either way, might be good to document why you're picking certain location fields over others. (I fixed this-VS)
  • Correction for "checkInServicePointID": "loan-storage" is under mod-circulation-storage, not mod-inventory-storage, and you haven't listed what interface under loan-storage you're using (should be "loans", I assume); you also call this "Item location", but it should probably be something more like "Loan Check-In Service Point" (I removed this element, as it wasn't really needed in this report - VS)
  • "materialTypeId": I don't think this is a descriptive field. I think it is an ID that links to the material_types table. I think you need to list this field, then also list the material_types interface for its id and name fields. All the ID fields have type "string," but I'm pretty sure that if it says ID in the field name, it is going to be the UUID format and not a human-readable name. (Fixed-VS)
  • I don't think it's useful to add "data" in the FOLIO path. That's an LDP construct and isn't actually in the instance or item record. (removed-VS)
  • I think it would be helpful to add the fields that link the tables. For example, items links to holdings through the item's holdingsRecordId, but you haven't listed items:holdingsRecordId or holdings:id. (Added-VS)
  • For historic charges, one way you could do that is to count the unique loans of that particular item. That wouldn't require going through the loan-history table - just the normal loans table would be able to answer that question. That might be as useful as knowing all the individual transactions with that item, but if not you could also add that number to the sum of the renewals across all of the loans for that item. Basically, we should easily be able to answer number of loans and/or renewals for each item, but number of requests or holds would be harder. (added elements-VS)


  • No labels