Altrata Developer Home
Breaking Changes
1 min
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 string string 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 string string 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 string string 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 string string 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!] }
