Breaking Changes
1 min
committee role changes 07/30/26 overview this document provides technical details of the change to altrata role ontology to allow a single disclosed committee to be associated with multiple structured committee categories, and to make that structured categorisation available in the altrata data feed the change requires migration by data feed customers audience this document is intended for use by customer developers who will perform the technical migration from deprecated schema to new schema what is changing and why scenario a role at an organization on a committee whose disclosed name covers more than one committee function for example, a role on a "nominating & corporate governance committee" a single disclosed committee that performs both a nominating function and a corporate governance function current altrata data altrata records the disclosed committee name, as reported by the organization, in role group altrata also holds a structured categorisation of that committee, role group category , which normalises disclosed names into consistent altrata categories the disclosed committee name is available today in both delivery channels the structured categorisation is not currently available in either channel data feed role group category is not part of the data feed model the disclosed name is available as role group on the roletitlecategory table internally, altrata has held this categorisation against a structure that permits only one category per disclosed committee that constraint is the reason a new structure is required rather than an extension of the existing one, and is covered under what is being added below improved altrata data improved altrata data the structured categorisation is being made available, and it carries every category a disclosed committee belongs to rather than a single one role group = "nominating & corporate governance committee" role group category = \["nominating committee", "corporate governance committee"] what does this resolve? customers can retrieve every role belonging to a structured committee category, regardless of how the committee was disclosed by the organization, without maintaining their own list of name variants committee coverage on person and organization profiles becomes complete and consistent impacted products datafeed datafeed sftp datafeed snowflake datafeed delta sharing datafeed s3 datafeed the following diagram shows the key altrata data feed tables impacted by this change, and the deprecated and new data columns sftp, snowflake & s3 data model change detail change 1 role group category we are adding the below table/view rolegroupcategory record change bit string record updated timestamp timestamp role group category id string (pk) role group id string (fk) role group string role group category string this table/view replaces the deprecated role group column on the roletitlecategory table/view this change impacts the rolegroupcategory across below two schemas professionalcore wealthcore change 2 role group reference we are adding the below column to the roletitlecategory table/view role group id string (fk) this change impacts the roletitlecategory across below two schemas professionalcore wealthcore change 3 announcement role group reference we are adding the below column to the announcementroletitlecategory table/view announcement role group id string (fk) this column replaces the deprecated announcement role group column on the announcementroletitlecategory table/view this change impacts the announcementroletitlecategory across below two schemas professionalcore wealthcore example sql queries before and after scenario find all current roles on a compensation committee at organisation microsoft corporation currently the structured committee category is not available in the data feed the only committee data point available is the disclosed committee name, roletitlecategory role group, so the query must match against every disclosed name variant that represents a compensation committee select person name,o organization name, role id, role title, role start date, role end date, role current prior status, role title category id, role title category value, role group from roletitlecategory join role on role id=r role id and record change bit<>'d' left join person p on person id=p person id and record change bit<>'d' left join organization on organization id=o organization id and record change bit<>'d' where record change bit<>'d' and organization name = 'microsoft corporation' and role current prior status = 'current' and role group in ('compensation committee','personnel & compensation committee','remuneration committee') use rolegroupcategory role group category='compensation committee' to return all roles on a compensation committee, regardless of the disclosed committee name select person name,o organization name, role id, role title, role start date, role end date, role current prior status, role title category id, role title category value, role group, available on the new table role group category this is the new data point from roletitlecategory join rolegroupcategory on role group id=role group id and record change bit<>'d' join role on role id=role id and record change bit<>'d' left join person p on person id=p person id and record change bit<>'d' left join organization on organization id=o organization id and record change bit<>'d' where record change bit<>'d' and organization name = 'microsoft corporation' and role current prior status = 'current' and role group category = 'compensation committee' role alignment update 01/20/26 overview this document provides technical details of the change to altrata role ontology to combine separate but concurrent employment and board roles into a single role, for a given person at a given organization audience this document is intended for use by customer developers who will perform the technical migration from deprecated schema to new schema what is changing, and why? scenario a person that has a role at an organization with both a board and employment component to the role for example, a ceo that also sits on the board of directors this is known as an executive directorship current altrata data this scenario is currently represented in altrata data as two separate role data records (with two distinct unique identifiers) each role has a single role type one with type board and the other with type employment the current relationship cardinality between role and role type is one to one why is this a problem? this causes an issue where altrata customers cannot search for ceos that also serve on the board because these two components of the role are separate in altrata data this role duplication also misrepresents the real world scenario where this is a single role with two distinct functions, rather than completely distinct roles improved altrata data after the data ontology improvement, altrata will represent this role as a single role record with two role types board and employment the new relationship cardinality between role and role type is one to many what does this solve? this will let altrata customers search for ceos on the board seamlessly and removes duplicates roles from person and organization profiles this provides a consistent and accurate representation of roles that more closely aligns with real world expectations impacted products datafeed datafeed sftp datafeed snowflake api datafeed data model change overview the following diagram shows the key altrata data feed tables impacted by the is change, and the deprecated and new data columns diagram key red coloured columns will be deprecated green coloured columns are new and replace the deprecated columns sftp data model change detail change 1 role type we are adding the below column to the roletitlecategory table role type \<font color="#ca8a04">string\</font> this column replaces the deprecated role type column on the role table this change impacts both the following data universe/packages professionalcore wealthcore change 2 announcement role type we are adding the below column to the announcementroletitlecategory table announcement role type \<font color="#ca8a04">string\</font> this column replaces the deprecated announcement role type column on the announcement table this change impacts both the following data universe/packages professionalcore wealthcore snowflake data model change detail change 1 role type we are adding the below column to the roletitlecategory view role type \<font color="#ca8a04">string\</font> this column replaces the deprecated role type column on the role view this change impacts the roletitlecategory across below two schemas professionalcore wealthcore change 2 announcement role type we are adding the below column to the announcementroletitlecategory view announcement role type \<font color="#ca8a04">string\</font> this column replaces the deprecated announcement role type column on the announcement view this change impacts the announcementroletitlecategory across below two schemas professionalcore wealthcore example sql queries before and after scenario find all current board type positions at organisation microsoft corporation use role role type='board function' to filter all board type positions select p person name,o organization name, r role id, r role title, r role start date, r role end date, r role current prior status, r role type from role r left join person p on r person id=p person id and p record change bit<>'d' left join organization o on r organization id=o organization id and o record change bit<>'d' where r record change bit<>'d' and o organization name = 'microsoft corporation' and r role current prior status = 'current' and r role type='board function' use roletitlecategory role type='board function' to filter all board type positions select p person name,o organization name, r role id, r role title, r role start date, r role end date, r role current prior status, rtc role type, this is the new column rtc role title category id, rtc role title category value, rtc role title category value prefix, rtc role group from roletitlecategory rtc join role r on rtc role id=r role id and rtc record change bit<>'d' left join person p on r person id=p person id and p record change bit<>'d' left join organization o on r organization id=o organization id and o record change bit<>'d' where rtc record change bit<>'d' and o organization name = 'microsoft corporation' and r role current prior status = 'current' api person and organization profile details a new array field will be added to the role type (roletypes \[string!]) this will replace the current role type field in the role (type string) which will be deprecated and phased out over time the following types reference role in the schema and any clients reading the type field in the role type will need to be updated to read from the new roletypes field role person roleprimary person rolesemployment person rolesboard person rolescommittee organization rolesemployment organization rolesboard organization rolescommittee these are available in the response from the following queries type query { """ query to return rolesboard based on filter and pagination """ rolesboard(filter rolefilterinput!, pageinfo pageinfoinput) rolesboardresponse """ query to return rolesemployment based on filter and pagination """ rolesemployment(filter rolefilterinput!, pageinfo pageinfoinput) rolesemploymentresponse """ query to return the set of roles within the organization that are part of a committee, providing information about specific roles related to organizational governance, based on filter and pagination """ rolescommittee(filter rolefilterinput!, pageinfo pageinfoinput) rolescommitteeresponse personidsearch(id id!) personidsearchresponse """ query for bulk search of person ids """ personbulkidsearch(filter personbulkidsearchfilterinput!, pageinfo pageinfoinput) personbulkidsearchresponse """ query for keyword search of persons """ personkeywordsearch(filter personkeywordsearchfilterinput!, pageinfo pageinfoinput) personkeywordsearchresponse """ query for searching a single organization by id """ organizationidsearch(id id!) organizationidsearchresponse """ query for bulk search of organization ids """ organizationbulkidsearch(filter organizationbulkidsearchfilterinput!, pageinfo pageinfoinput) organizationbulkidsearchresponse """ query for keyword search of organizations """ organizationkeywordsearch(filter organizationkeywordsearchfilterinput!, pageinfo pageinfoinput) organizationkeywordsearchresponse """ query to perform a detailed search for organization based on advanced filters and criteria, allowing for more refined and specific queries to retrieve organization data """ organizationsearch(filter organizationsearchfilterinput!, sort \[organizationsortinput], pageinfo pageinfoinput) organizationsearchresponse } the schema update is detailed below with the type field being deprecated and replaced by the new roletypes field type role { """ denotes the type of a role a person holds i e board role or employment role """ type string @deprecated(reason "use the roletypes field instead ") """ denotes the all of types of a role a person holds at an organization i e board role and employment role """ roletypes \[string!] } the deployment of the changes will take place in the following order with a gap between to allow clients to migrate the new roletypes field will be added to the schema with the current role type value populated to all existing roles the current role type will be marked as deprecated but will still hold the correct value altrata roles will be consolidated and where roles at an organization fulfil multiple types they will be replaced with a single role with all types populated in the roletypes array the current role type will be present in the api but marked as deprecated and contain only one value if the role types are \["board function","job function"] the role type will be populated with "board function" advanced search the person search input will not change (used in the query personsearch ) the personsearchresult type will contain an additional field with all roletypes associated with the person results returned the current roletype field will continue to be returned as with the approach above it will contain only one value if the role types are \["board function","job function"] the role type will be populated with "board function" to allow for sorting # the input used for the new person search query type personsearchresult @aws cognito user pools { """ defines a field that specifies the type or classification of a role as a string, which can be null if not provided """ roletype string """ denotes the all of types of a role a person holds at an organization i e board role and employment role """ roletypes \[string!] }

