To login with your TM Forum account please click on the Login button below

Don't have an account? You can register by clicking here:

Managing PartyRoles relationship in the Customer/Party model

  1. Model modification (relative to SID)

In order to capture some use cases we added a relationship between PartyRole and Party which represents the role is played for (this association is part of existing Amdocs contribution on FrameworkAgreement) . This way a CSP (Orange) can model employer/employee relationship between Individual (Josh) and Organization (Amdocs).
From UML perspective the modified model looks like

In order to simplify the JSON resource model we decided that in some cases the relation between parties will use the PartyRole entity as association class that was promoted to an entity; hence the JSON model in some cases looks like
{ "relatedParty": [ { "role": "Employee",
"id": "100000",
"href": "http://serverlocation:port/partyManagement/organization/10000", "validFor": { "startDateTime": "2013-04-19T16:42:23-04:00", "endDateTime": "2013-06-19T00:00:00-04:00" } } ] }
Please note that the attributes of the relatedParty dependent entity are the PartyRole attributes, but also that in some cases in the digital services APIs this construct is used for association to PartyRole (Customer) and not to Party.
Another important observation is that from service model perspective the model above is not symmetrical. The direction from Party, through the PartyHasRoles association and then via RolePlayedFor association back to party is more important than the other direction. In UML service model we will show it as

Let's assume now that we implement in the model the Employee PartyRole but not the Employer PartyRole (this is implementation decision, but a reasonable one). So let's look at the very simple model with 3 instances:

Note: Amdocs does not have a PartyRole instance with the role Employer
From JSON resource model perspective it means that we want to show the primary direction when we retrieve the related party (so when we retrieve Individual for Josh we want to show the Employee role and association to Organization Amdocs), but not the other side (when we retrieve Amdocs we don't want to show in the Amdocs resource model all the employees) – if we want to retrieve all the Amdocs employees we need a task API for that.



© TM Forum 2015. All Rights Reserved