Open APIs

  • 1.  How is an individual represented in any organization?

    TM Forum Member
    Posted Sep 24, 2021 10:27
    Edited by Mustafa Yusufoglu Sep 24, 2021 10:30
    Hello Members,

    As you know, the party abstract entity is realized as individual and organization.
    A hierarchy is created between the organization entities through the parent child relationship.

    My question is: why do we have to use only organization entity when we create a hierarchy?

    Because, for example, leaf nodes can be created as individuals in the organization chart as shown below:

    Second Scenario: 
    Let's say Finance department in the organization chart. Have manager under finance department and team members under manager.

    Assuming the Manager is John Doe. How do I associate the individual John Doe information with the organization? I can associate it via the relatedParty list of the organization defined as the Manager partyRole. But that seems a bit of an indirect, forced connection/relationship.

    So my question is:  How is an individual represented in any organization?


  • 2.  RE: How is an individual represented in any organization?

    TM Forum Member
    Posted Sep 30, 2021 15:12
    Hi Mustafa

    I'm afraid that's the way it is, both in the Information Framework (the SID) and the Open API (that derives from the SID). You can't currently have leaf nodes of an Organization that are individuals.

    We could have a long discussion about whether this is "correct" or not, but that would probably not be productive, there are likely to be strong opinions on both sides.

    My advice is to be practical, and use the models as they are. Specifically relating to your scenarios:
    • First - i2i corp, Finance, and Marketing are all Organizations, arranged in a hierarchy. Each node can be a "home" for Individuals. It is perfectly reasonable to have individuals at any level of the hierarchy, the CEO for instance might be directly at i2i corp, not in a sub-node. Individuals would indeed be related parties for the organization, with a role to match.
    • Second - my opinion is that you should not be using Organization to model manager/subordinate relationships. Your example shows that this can quickly get very messy for a large organization with 1000's of employees. You should be asking the question - why does a service provider need to know about such relationships in its business customers. If you really do need to model this, I would suggest you create a dedicated subclass of PartyRole - say Employee (or perhaps CSPEmployee and CustomerEmployee in case the distinction is important), and have attributes directly on Employee (e.g. Employee.manager, and/or Employee.subordinate) to reflect this.
    Hope it helps

    Jonathan Goldberg
    Amdocs Management Limited
    Any opinions and statements made by me on this forum are purely personal, and do not necessarily reflect the position of the TM Forum or my employer.

  • 3.  RE: How is an individual represented in any organization?

    TM Forum Member
    Posted Oct 01, 2021 03:52
    Hi Jonathan,

    Your comments have always been enlightening. Thanks


    Mustafa Yusufoglu
    i2i Systems