Calyx RIM 7.0 API Changes

This table describes the API changes related to Product Family decoupling between Calyx RIM 7.0 and InSight 6.2.

Calyx RIM 7.0 includes the following API changes:

  • Application has moved to the top entity in its own hierarchy.
  • Application has a one-to-many relationship with the Product Family via the selectedProducts field.
  • FamilyId field is removed.
  • The uniqueness criteria for the Application has changed (Uniqueness for the API is used in "/create-or-update" controller operations).
Entity Name API/Controller API 6.2 API 7.0 Updates Description
Application ApplicationRestController CTAApplicationRestController INDApplicationRestController /application /application/cta /application/ind
  • Family Id - required
  • selectedProducts field - is not required
  • Application uniqueness rule - (appCode and familyId) or uuid"
  • Family Id is removed
  • selectedProducts field - required
  • Application uniqueness rule changed - (appCode and appName) or uuid"
If application is not found it executes an uniqueness expression.

Unique expression is used in "/create-or-update" api.

ApplicationCountry ApplicationCountryRestController /application-country
  • Family Id is required
  • Old behavior - Example: { "queryFor": { "applicationId": APPLICATION_NAME }, ... }
  • Family Id is removed
  • New behavior - Example: { "queryFor": { "applicationId": APPLICATION_CODE + " " + APPLICATION_NAME }, ... }
The behavior of how applicationId is retrieved for use in queryFor has changed.
Event EventRestController /event
EventCountry EventCountryRestController /event-country
EventCountrySchedule EventCountryScheduleRestController /event-country-schedule
AppEventProduct AppEventProductRestController /event/product Old behavior - Example: { "queryFor": { "applicationId": APPLICATION_NAME }, ... } New behavior - Example: { "queryFor": { "applicationId": APPLICATION_CODE + " " + APPLICATION_NAME }, ... } The behavior of how applicationId is retrieved for use in queryFor has changed.
FullProductPresentation LicenseFppController /license/full-product-presentation
  • Family Id is required
  • Old behavior - Example: { "queryFor": { "applicationId": APPLICATION_NAME }, ... }
  • Family Id is removed
  • New behavior - Example: { "queryFor": { "applicationId": APPLICATION_CODE + " " + APPLICATION_NAME }, ... }
License

This entity is inherited by ProductLicense

Doesn't have direct controller

  • Family Id is required
  • registeredAtc is required
  • Old behavior - Example: { "queryFor": { "applicationId": APPLICATION_NAME }, ... }
  • Old uniqueness rule -

    "Code and AuthorityId and FamilyID and ApplicationId"

  • Family Id is removed
  • registeredAtc is not required
  • New behavior - Example: { "queryFor": { "applicationId": APPLICATION_CODE + " " + APPLICATION_NAME }, ... }
  • New uniqueness rule - "Code and AuthorityId and ApplicationId"
MaAttachment MaAttachmentRestController /full-product-presentation/attachment
  • Family Id - required
  • Old behavior - Example: { "queryFor": { "applicationId": APPLICATION_NAME }, ... }
  • Old uniqueness rule - "name and fppId and familyId and applicationId and licenseId and attachTypeId"
  • Family Id is removed
  • New behavior - Example: { "queryFor": { "applicationId": APPLICATION_CODE + " " + APPLICATION_NAME }, ... }
  • New uniqueness rule -
ProductLicense "/license/product-registration" Old behavior - Example: { "queryFor": { "applicationId": APPLICATION_NAME }, ... } Please check License as it inherits all changes. N/A
LicensePackageSet /license/packageset Old behavior - Example: { "queryFor": { "applicationId": APPLICATION_NAME }, ... } New behavior - Example: { "queryFor": { "applicationId": APPLICATION_CODE + " " + APPLICATION_NAME }, ... } The behavior of how applicationId is retrieved for use in queryFor has changed.
LicensePackageSetCountry /license/packageset/country
  • Family Id - required
  • registeredAtc is required
  • Old behavior - Example: { "queryFor": { "applicationId": APPLICATION_NAME }, ... }
  • Family Id is removed
  • registeredAtc is not required
  • New behavior - Example: { "queryFor": { "applicationId": APPLICATION_CODE + " " + APPLICATION_NAME }, ... }
Subset (PDS) PDSRestController /pds Old behavior - Example: { "queryFor": { "applicationId": APPLICATION_NAME }, ... } New behavior - Example: { "queryFor": { "applicationId": APPLICATION_CODE + " " + APPLICATION_NAME }, ... }
Schedule (seq status schedule) Schedule /sequence-schedule Family Id is required Family Id is removed N/A
PDS Details /detail/* CountryDetailRestController ActiveIngredientDetailRestController CharacteristicsDetailRestController CTADetailRestController DoseScheduleDetailRestController FluStrainDetailRestController FunctionDetailRestController IndicationDetailRestController LabeledIndicationDetailRestController LabelingDetailRestController ManufacturerDetailRestController ManufacturingProcessDetailRestController MaterialDetailRestController MedicalDeviceDetailRestController PackageSetDetailRestController PackagingDetailRestController RouteOfAdministrationDetailRestController ShelfLifeDetailRestController SpeciesDetailRestController StepDetailRestController SubstanceDetailRestController WithdrawalTimeDetailRestController Old behavior - Example: { "queryFor": { "applicationId": APPLICATION_NAME }, ... } New behavior - Example: { "queryFor": { "applicationId": APPLICATION_CODE + " " + APPLICATION_NAME }, ... } The behavior of how applicationId is retrieved for use in queryFor has changed.