RM-Subscription Count Cluster


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

FOLIO raml parser: https://docs.google.com/spreadsheets/d/1m_Cq_GmZX37gJPEjVWt9eOLXskUjSLUb-8KapWj0SIw/edit#gid=24879874

Inventory Beta - Metadata Elements (being kept up to date by Charlotte): https://docs.google.com/spreadsheets/d/1RCZyXUA5rK47wZqfFPbiRM0xnw8WnMCcmlttT7B3VlI/edit#gid=952741439


DBS - Deutsche Bibliotheksstatisk: https://www.bibliotheksstatistik.de/

U.S. Association of Research Libraries (ARL) survey documentation: http://www.arlstatistics.org/about/Mailings

U.S. Association of College & Research Libraries (ACRL) survey documentation: https://acrl.countingopinions.com/

U.S. National Center for Education Statistics (NCES) Integrated Postsecondary Education Data System (IPEDS) survey documentation: https://nces.ed.gov/ipeds/report-your-data/resource-center-academic-libraries

RM SUBSCRIPTION COUNT CLUSTER UXPROD-2398 - Getting issue details... STATUS


This report cluster contains a series of reports in the RM functional areas that are designed to count current subscriptions.


LINK TO ADDITIONAL DOCUMENTATION: Additional Documentation

This is a place where we added additional information related to the Folio structure and a list of reports by module. It also provides details of elements needed for the Count Cluster.


LINK TO PARKING LOT: Parking Lot

This is a place where we record known issues and/or topics to revisit, including  items to discuss at the SIG meeting.


Report description detail

Overview:

This query satisfies multiple report requests (x to date) for counts of serial titles or subscriptions currently received in physical format, usually divided by format.  It requires data mainly from the Inventory App, but also the Orders module.  It is intended to exclude counts of online e-resources.

The requests include additional factors users would like to be able to slice and dice by, some of which may require additional queries.  The additional factors identified to date include: added new in time period; withdrawn in time period; cancelled in a time period; transferred within the institution in a time period; where shelved within a library system; exclude those not owned by library (including e.g., unowned CRL, unpurchased PDA), analyzed titles; received as gift; acquired as part of a project; by general classification; has retention requirements; is an obligatory copy; left by decedents.

Assumptions:

  • The reporter’s institution uses the Inventory and the Orders modules.
  • Online resource counts are excluded even if tracked in the Inventory; see the ERM queries for online titles/subscriptions currently held counts. Each reporter must know where her/his institution’s various resources are tracked and find the needed reports as appropriate, adding together counts if needed, and avoiding any duplication if possible.
  • This query is only for serial titles/subscriptions currently received counts. For physical resources, see the other RM queries for items/pieces held counts and titles held counts.  For online resources, see the ERM queries for titles held counts and for serial titles/subscriptions currently received counts.
  • This query results in one or more counts, not a list or lists of titles. It is more for internal or external assessment/benchmarking purposes or for planning efforts, rather than for project work.  See other MM or RM reports for other purposes.
  • Only titles that have been cataloged and made ready for use are included (including those batch-loaded).
  • Each institution will decide how it will make it possible to break counts out by format. Requests covered here range from being able to break out counts by a very specific format, to having a report that breaks out all counts by general bibliographic format.  We have attempted to identify the most common fields that will be used, and documented which they are.
  • Any titles cataloged in the Inventory have instance and holdings records, and item records when appropriate.
  • It is generally assumed that if you need a count as of a certain date, you take it on that date. While you can use processing dates to exclude items newly added after a certain date, you cannot get back items that were withdrawn or transferred through this query. 
  • Local and national definitions can be updated from year to year; be sure to review for needed changes.


Reports covered:

  • REP-63: Journals and newspapers in non-electronic form, still appearing and held by the library in the reporting year (held, expenditures)
  • REP-64: Journals and newspapers in non-electronic form, held by the library in the reporting year, among those: canceled subscriptions in the reporting year
  • One part of REP-80 - covered by other requests: By specific subject areas: 1. total expenditures for acquisitions; 2. thereof: expenditures on printed books, 3. expenditures on ongoingly held printed journals and newspapers; 4. acquired number of newly printed books (i.e. those whose publication is no more than 5 years ago and including obligatory copies); 5. total number of acquired and ongoingly held printed journals and newspapers.  (this not put in our cluster, but need to identify)
  • REP-228: Number of serial titles currently received (people make a distinction between e-journals and e-serials?) (WISHLIST: automated way to exclude currently published serials that we no longer subscribe to. Counting embargoed as currently received.) (can not only be based on whether the title is currently being published)
  • Still needs to be addressed: current subscriptions vs. serial titles currently received; standing orders; how to exclude online resources; how to exclude records like those for CRL.


Report Criteria

  • Examples:
    • A sum of total volumes
    • A sum of total titles, broken down into the categories of "tangible" and "electronic."

Start report with: 

Instance data.


Filters:

Instance type name | Instance format name | Discovery suppress; instance status | Mode of Issuance | Cataloged Date | Statistical Code | Location

Data fields:

  • Instances
    • ID
    • Discovery Suppress
    • Status Update Date
    • Instance Status
    • Instance Type
    • Instance Format
    • Nature Of Content Terms
    • Statistical Codes
    • Mode Of Issuance
    • Date of Publication
    • Cataloged Date
    • Previously Held
  • Holdings
    • ID
    • Instance ID
    • Permanent Location
    • Holdings Type
    • Discovery Suppress
    • Statistical Codes
    • Call Number
    • Calll Number Type
    • Receipt Status
  • Locations
    • Institution
    • Library
    • Campus
  • Orders/PO Lines
    • Subscription Date From
    • Subscription Date To
    • Instance ID
    • Reporting Codes
    • Acquisition Method
    • Order Type
    • Order Format



FOLIO Attribute (Module/Path:Object)FOLIO Data Element DescriptionParameters/QueryQuestions




Table name: mod-inventory-storage/instance-storage/instances


Instance ID (mod-inventory-storage/instance-storage/instances:id)UUID for an Instance record

Allows for title counts.

Provides a join between mod-inventory-storage and mod-inventory-storage/holdings-storage. 

instances:id == mod-inventory-storage/holdings-storage/holdings:instanceId

It is possible that an Instance record do not have holdings/items associated with it, like memberships. An Instance record is like a BIB record.


Instance HRID (mod-inventory-storage/instance-storage/instances:hrid)(human readable ID)

Instance Suppression Status (mod-inventory-storage/instance-storage/instances:discoverySuppress)Indicates that the instance record is "suppressed" and should not be displayed in a discovery systemThis element provides a means of excluding suppressed instance records from the total title count. Will not want to count titles suppressed from discovery. Will also be used to find withdrawn titles.

Instance Status ID (mod-inventory-storage-/instance_statuses:id)UUID for a particular instance status

Provide a join between mod-inventory-storage/instance-storage/instance/status_id and mod inventory-storage/instance_status:id

May want to count only those things cataloged and made ready for use.  This may also be a way to exclude unpurchased PDA/DDA titles.


Instance Status Updated Date (mod-inventory-storage/instance-storage/instances:statusUpdatedDate)Provides the status update date

Needs to be extracted from the JSON object. 

Keep this.  Might be needed to determine when status set.  repeatable?


Instance Type ID (mod-inventory-storage/instance-storage/instances:instanceTypeId)UUID for a particular instance type

Provides a join point between mod-inventory-storage/instance-storage and mod-inventory-storage/instance-types.  May allow to filter by type/format if needed.

Connects with:mod-inventory-storage/instance-types:id.


Instance Format ID (mod-inventory-storage/instance-storage/instances:instanceFormatIds)UUID associated with a particular instance format

Provides a join point between mod-inventory-storage/instance-storage and mod-inventory-storage/instance-format. May allow to filter by type/format if needed.

Connects with:mod-inventory-storage/instance-formats:id


Instance Nature of Content Terms ID (mod-inventory storage/instances:natureOfContentTermID)UUID of the Nature Of Content Term“Nature of content” will be used by German institutions in FOLIO. We don't know of any US libraries using it; but they could. Needs to be extracted from the JSON object.
Instances Statistical Code ID (mod-inventory-storage/instances: statistical_code_id)UUID of a statistical code

Connects with mod-inventory-storage/instances: statistical_code_id.  May allow to filter by type/format if needed.

*Repeatable field*  Will be pulled from Json.


Instances Modes of Issuance ID (mod-inventory-storage/instance-storage/instance:mode_of_issuance_idUUID of a mode of issuance.

Connects with mod-inventory-storage/modes_of_issuance:id

Some examples of values: single unit; multipart monograph; serial; integrating resource...  Coming from RDA.


Date of Publication (mod-inventory-storage/instance-storage/instances:publication{dateOfPublication}Date (year YYYY) of publication, distribution, etc.

 *Repeatable field* Is this right? May be needed to get the publication dates.

Date of publication may also be used to help define a format?


Instances Cataloged date (mod-inventory-storage/instance-storage/instances:cataloged_date)Provide the cataloged dateMay need to say, e.g., was cataloged before 7/1/2020 for FY20 stats.  Is this also used for the other statuses we'd be interested in?
Instance Previously Held (mod-inventory-storage/instance-storage/instance:previously_held)Indicates if the instance was previously heldRecords the fact that the resource was previously held by the library for things like Hathi access, etc. Will return a True of False. Yes, we want that.  May not be implemented yet though; it is in the administrative data of the instance record.


OA - WIth ERM?  Set up a meeting with Peter McCracken and Laura. Where is the location of OA? Not currently in Inventory. 

Laura says no standard way to do OA naturally. Ask Peter McCracken to a meeting with us three. How are we doing in Voyager?  Should be set so that can be used in discovery: some users only want OA materials.  Not sure where it should go in FOLIO.  Is is not an ISness issue (like I am a newspaper)?    Would use a code like instance status?  Statistical?  In an instance or a holdings note?


Add instance notes - look up.  repeatable.
they are paired with types
Add: language of publication; country of publication; country about; general classification.


Table name: mod-inventory-storage/instance_statuses


Instance Status ID (mod-inventory-storage/instance_statuses:idUUID of an Instance StatusProvides a join between mod-inventory-storage /instance_statuses:id and mod-inventory-storage/instance-storage/instances:statusId
Instance Status Name (mod-inventory-storage/instance_statuses:name)Label for the instance status (e.g., possibly in this case "Cataloged", "Batch Loaded", OR "pda unpurchased".)

A library may want to select only those titles cataloged and made ready for use as of the date of the count.  Each institution should have its own list of statuses.  At CU, we can likely use "cataloged" and "batch loaded."  Laura is contemplating added a status of "pda unpurchased" so institutions can exclude unpurchased patron driven acquisition / demand driven acquisition (PDA/DDA).  Statuses not selected will be excluded.  Not repeatable.


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


Instance Types ID (mod-inventory-storage/instance-types:id)UUID of an Instance TypeProvides a join between mod-inventory-storage /instance-types:id and mod-inventory-storage/instance-storage/instances:instanceTypeId
Instance Type Name (mod-inventory-storage/instance-types:name)Label for the instance type (e.g. for REP-61 "performed music", "sounds", "spoken word", "three-dimensional moving image", OR "two-dimensional moving image")

Used to filter (if necessary). This table connects with: mod-inventory-storage/instance-storage:id.   In MARC 21 terms this is "content type" (Bib 336):“form of communication through which a work is expressed”. https://www.loc.gov/marc/bibliographic/bd336.html



Table name: mod-inventory-storage/instance-formats


Instance Formats ID (mod-inventory-storage/instance-formats:id)UUID of an Instance FormatProvides a join between mod-inventory-storage /instance-format:id and mod-inventory-storage/instance-storage/instances:instanceFormatIds
Instance Format Name (mod-inventory-storage/instance-formats:name)Label for the Instance Format (e.g. for REP-61 "audio – audio disc", "computer – computer disc", "computer – online resource", OR "video – videodisc")Used to filter (if necessary).  This table connects with (mod-inventory-storage/instance-storage/instance_formats:id).  In MARC 21 terms this is a combination of "media type" (Bib 337) and "carrier type" (Bib 338).

Table Name: mod-inventory-storage/nature_of_content_terms


Nature of Content terms ID: (mod-inventory-storage/nature_of_content_terms:id)UUID of the Nature Of Content TermsProvides a join between mod-inventory-storage/instances:natureOfContentTermID and mod-inventory-storage/nature_of_content_terms:id
Nature of Content Terms Name: (mod-inventory-storage/nature_of_content:name)Name of the Nature of Content“Nature of content” will be used by German institutions in FOLIO. We don't know of any US libraries using it; but they could. Needs to be extracted from the JSON object. Connects with mod-inventory-storage/instances:natureOfContentTermID
Table name: mod-inventory-storage/statistical_codes


Statistical Codes ID (mod-inventory-storage/statistical-codes:id)UUID of a Statistical CodeProvides a join between mod-inventory-storage /statistical-codes:id and mod-inventory-storage/instance-storage/instances:statisticalCodeIds
Statistical Codes Name (mod-inventory-storage/statistical-codes: name)Name of the Statistical CodeAllows to code for particular things institutions need, e.g., particular formats; particular projects; withdrawn?; don't export to OCLC; etc.
Table name: mod-inventory-storage/statistical_codes_types


Statistical Codes Types ID (mod-inventory-storage/statistical_codes_types:id)UUID of a statistical Code TypeProvide a join between mod-inventory-storage/instances: statistical_code_type_id and mod-inventory-storage/statistical_codes_types:id
Statistical Codes Types Name (mod-inventory-storage/statistical_codes_types:name)Name of the Statistical Code Type (Ex: ARL, DISC,RECM,SERM)Some institutions will be using this for various types of counts (e.g., ARL and serials maintenance (including way to tell if a serial is currently received or not). It will be locally defined. Connects with mod-inventory-storage/statistical_codes:statistical_code_type_id
Table name: mod-inventory-storage/modes_of_issuance


Modes of Issuance ID (mod-inventory-storage/modes_of_issuance:id)ID of the mode of issuanceProvides a join between mod-inventory-storage/instance-storage/instances:mode_of_issuance_id and mod-inventory-storage/mode_of_issuance:id
Modes of Issuance Name (mod-inventory-storage/modes_of_issuance/issuance:name)Provides the name of the mode of issuance (Ex.: Integrating resource, multipart monograph, serial, single unit, unspecified)Connects with mod-inventory-storage/instances/mode_of_issuance_id

Library may need to select by or exclude certain holdings locations.  This requires adding link to holdings and locations record measures.

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


Holding's Instance ID (mod-inventory-storage/holdings-storage/holdings:instanceId)UUID to link a Holdings record to an Instance

Provides a join between mod-inventory-storage/holding-storage to mod-inventory/instance-storage. This allows us to pull the bibliographic data in the instance record. A Holdings must have an Instance ID associated with it.

holdings:instanceId == mod-inventory-storage/instance-storage/instances:id


Holding ID (mod-inventory-storage/holdings-storage/holdingsRecord:id)UUID for a Holdings record

Provides a join between mod-inventory-storage/holding-storage to mod-inventory/item-storage. This allows us to gain access to instance level details.

holdings:id == mod-inventory-storage/item-storage/items:holdingsRecordId


Holdings HRID (mod-inventory-storage/holdings-storage/holdingsRecords:hrid)(human readable ID)

Permanent location (mod-inventory-storage/holdings-storage/holdingsRecord:permanentLocationId)


Assuming we don't care about temporary location?


Holdings Types (mod-inventory-storage/holdings-storage/Holdings:holdings_type_id)UUID for a particular instance typeProvide a join between mod-inventory-storage/holdings-storage and mod inventory-storage/holdings_type_id
Holdings Discovery Suppress (mod-inventory-storage/holdings-storage/holdings:discoverySuppress)Records the fact that the record should not be displayed in a discovery systemThis data element can be used to filter the report for Holding Discovery Suppress where True or False. Will also be used to find withdrawn items.
Holdings Statistical Codes ID (mod-inventory-storage/holdings-storage/holdings: statistical_code_ids)UUID of a statistical CodeProvide a join between mod-inventory-storage/holdings storage/holdings: statistical_code_ids and mod-inventory-storage/statistical-codes:id
Call Number (mod-inventory-storage/holdings-storage/holdings: callNumber)

Provides the Call Number of an item.
Call number is an identifier assigned to an item, usually printed on a label attached to the item. May be needed for queries on specific subjects, classifications.
Call Number Type ID (mod-inventory-storage/holdings-storage/holdings:callNumberTypeID)UUID of a call number typeProvide a joint between mode-inventory-storage/holdings storage/holdings: callNumberTypeID and mod-inventory-storage/call-number-type/callNumberTypes:id
Holdings Receipt Status (mod-inventory-storage/holdings-storage/holdings:ReceiptStatus)Provides the status of the itemQuestion: The Inventory Beta-Metadata elements file indicates that this may be the element needed for subscription status? If not, where do we go to get it? Mostly physical but could include some e-resource.
Holdings Mode of issuance? Not in API as of 03/17/2020

On instance record is how published, on holdings how received.
Table name: mod-inventory-storage/Holdings_Types


Holdings Types ID (mod-inventory-storage/holdings-types:id)UUID of an Holdings TypeProvides join between mod-inventory-storage/holdings-storage:holdings_type_id and mod-inventory-storage/holdings-types:id.
Holding Types Name (mod-inventory-storage/holdings-types:name)Label for a particular Holdings type (Electronic, Monograph, Multi-Part monograph, Physical, Serial.)Used to filter (if necessary). Connects with mod-inventory-storage/holdings-storage/holdings/holdings_type_id
Table name: mod-inventory-storage/call-number-types


Call Number Type ID (mod-inventory-storage/call-number-type/callNumberTypes:id)UUID for a Call Number Type

Provides a join between mod-inventory-storage/call-number-type and mod-inventory-storage/item-storage.

callNumberTypes:id == mod-inventory-storage/item-storage/items:itemLevelCallNumberTypeId


Call Number Type ID (mod-inventory-storage/call-number-type/callNumberTypes:name)Name of the Call Number type (e.g. LC or Dewy)

callNumberTypes:name == "LC", "Dewey", etc


Table Name: mod-orders-storage/orders-storage


Instance ID (mod-orders-storage/orders-storage/po-lines/instanceId)

UUID of the instance record this purchase order line is related to

Provides a join between mod-orders-storage/orders-storage/po-lines and mod-inventory-storage/instance-storage/instances.

po-lines:instanceId == mod-inventory-storage/instance-storage/instances:id


Subscription From (mod-orders-storage/orders-storage/po-lines/details: subscriptionFrom)Provides the "Subscription From" DateThe date will need to be pulled form the Json array.
Subscription To (mod-orders-storage/orders-storage/po-lines/details: subscriptionTo)Provides the "Subscription To" DateThe date will need to be pulled form the Json array.
Reporting Codes (mod-orders-storage/orders-storage/po-lines/reportingCodes)UUID of the reporting CodeProvides the Reporting Code associated with the PO line.

Acquisition method (mod-orders-storage/orders-storage/po-lines/acquisitionMethod)


Acquisition method of the PO LineCould be used as filter. Ex: Approval plan, DDA, gift, purchase etc.
Order Format (mod-orders-storage/orders-storage/po-lines/orderFormat)Provides the type of the formatBasic types so far are Physical Resource,  Electronic Resource, P/E Mix, Other
Order Type (mod-orders-storage/orders-storage/orders/orderType)Provides the type of the orderOne-Time versus Ongoing. very useful for US National reporting.
Table name: mod-inventory-storage/locations


Location ID (mod-inventory-storage/location/locations:id)UUID for the Location record

Name (mod-inventory-storage/location/locations:name)Name of the Location

Code (mod-inventory-storage/location/locations:code)Code to represent a Location

Institution ID (mod-inventory-storage/location/locations:institutionId)ID to retrieve the Institution that a Location belongs to

Provides a join point between mod-inventory-storage/location to mod-inventory-storage/locationunit. This allows us to pull names and codes of an Institution.

locations:institutionId == mod-inventory-storage/locationunit/location-units/locinsts:id


Institution ID (mod-inventory-storage/location/locations:institutionId)ID to retrieve the Campus that a Location belongs to

Provides a join point between mod-inventory-storage/location to mod-inventory-storage/locationunit. This allows us to pull names and codes of an Campus.

locations:campusId == mod-inventory-storage/locationunit/location-units/loccamps:id


Library ID (mod-inventory-storage/location/locations:libraryId)ID to retrieve the specific Library that a Location belongs to

Provides a join point between mod-inventory-storage/location to mod-inventory-storage/locationunit. This allows us to pull names and codes of an Library.

locations:libraryId == mod-inventory-storage/locationunit/location-units/loclibs:id


Table name: mod-inventory-storage/location-units


Institution Location ID (mod-inventory-storage/locationunit/location-units/locinsts:id)ID for an institution

Provides a join point between mod-inventory-storage/locationunit/location-units and mod-inventory-storage/location/locations. This allows us to pull name and code of an institution.

locinsts:id == mod-inventory-storage/location/locations:institutionId


Institution Location Name (mod-inventory-storage/locationunit/location-units/locinsts:name)Name of the institutionAfter joining based on Location Institution ID fields, include Institution Name in report.
Institution Location Code (mod-inventory-storage/locationunit/location-units/locinsts:code)Code to represent the institutionAfter joining based on Location Institution ID fields, include Institution Code in report.
Campus Location ID (mod-inventory-storage/locationunit/location-units/loccamps:id)ID for a campus

Provides a join point between mod-inventory-storage/locationunit/location-units and mod-inventory-storage/location/locations. This allows us to pull name and code of a campus.

loccamps:id == mod-inventory-storage/location/locations:campusId


Campus Location Name (mod-inventory-storage/locationunit/location-units/loccamps:name)Name of the campusAfter joining based on Location Campus ID fields, include Campus Name in report.
Campus Location Code (mod-inventory-storage/locationunit/location-units/loccamps:code)Code to represent the campusAfter joining based on Location Campus ID fields, include Campus Code in report.
Library Location ID (mod-inventory-storage/locationunit/location-units/loclibs:id)ID for a library

Provides a join point between mod-inventory-storage/locationunit/location-units and mod-inventory-storage/location/locations. This allows us to pull name and code of a Library. Could be use to find "Rare Collections", depending on each institution set-up. At Cornell, most of the items in Rare Collections have "rare" in their location title.

loclibs:id == mod-inventory-storage/location/locations:libraryId


Library Location Name (mod-inventory-storage/locationunit/location-units/loclibs:name)Name of the libraryAfter joining based on Location Library ID fields, include Library Name in report.
Library Location Code (mod-inventory-storage/locationunit/location-units/loclibs:code)Code to represent the libraryAfter joining based on Location Library ID fields, include Library Code in report.




Containers: Not implemented as of 01/04/2020