API reference documentation for all modules located at: https://dev.folio.org/reference/api/
...
- BibID, HoldingsID, Title, Call Number, Library Location, Pub Date, publication status, receipt status, holdings statement, volume count, 852z notes, Circulation historycounts *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 Description | Parameters/Query | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
Table name: mod-inventory-storage/item-storage/items | ||||||||||
Item ID (mod-inventory-storage/item-storage/items/ID) | The inventory ID of the item | Provides 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 item | Provides 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 | Item Location mod-inventory-storage/item-storage/items/temporaryLocationID) | Item's temporary location ID | Provides a join between mod-inventory-storage/item-storage/items and mod-inventory-storage/holdings-storageNeeded 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 | holdings RecordID(mod-inventory-storage/item-storage/items: holdingsRecordID) | holdings ID | |||
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 serial | Needed 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 Item note (mod-inventory-storage/item-storage/items/notes: description) Notes about the item | ||||||||
The item notes field may contain information that could be useful for an item search. All notes associated with an item should be included. | Table name: mod-inventory-storage/holdings-storage/holdings | |||||||||
Item holdings ID (mod-inventory-storage/holdings-storage/holdings/ID) | The holdings ID of the item | Provides 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 Location (mod-inventory-storage/holdings-storage/ 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 | holdings /temporaryLocationID)Item's temporary 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 item | Provides 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:HoldingNotesTypeID | notes on the holdings | to view 852 $z notes | ||||||||
Table name: mod-inventory-storage/material-types | ||||||||||
(mod-inventory-storage/material-types/ID) | The material type ID of the item | Provides 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 location | Provides a join between mod-inventory-storage/locations and mod-inventory-storage/item-storage/items | ||||||||
Table name: loan-storage/loans/service-point | ||||||||||
| ID of the (transit destination) service point | Provides a join between mod-inventory-storage/service-point/service-points and mod-inventory-storage/item-storage/items | ||||||||
Transit Destination Service Point Name (mod-inventory-storage/service-point/service-points: name) | name of the (transit destination) service point | Needed for lost in transit report, in case the item was incorrectly routedLoan 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)
...