Przejdź do treści

PartyRelationship (relacja między stronami)

PartyRelationship (relacja między stronami) opisuje relację biznesową między dwiema stronami w rolach (PartyRole) – np. pracodawca–pracownik, przełożony–podwładny. Rozszerza DomainResource. Relacja łączy dwa PartyRole (partyFrom, partyTo); strona (podmiot) pochodzi z PartyRole.party. Typ relacji biznesowej określa dziedziczone pole type (z DomainResource); odczyt odwrotny wynika z definicji typu.


1. Zakres i zastosowanie

PartyRelationship jest używany do:

  • Relacje biznesowe między dwoma PartyRole – dwie referencje: partyFrom i partyTo (każda do PartyRole). Strona pochodzi z PartyRole.party. Typ relacji określa type (z DomainResource).
  • Dwukierunkowość – ta sama para ról może być opisana przez jeden zasób; kierunek „od–do" jest ustalony (partyFrom → partyTo); interpretacja odwrotna wynika z definicji type.
  • Okres ważności – relacja może mieć period (start, end).
  • Status – dziedziczony status z DomainResource.

Wartości type ze słownika hr/party-relationship-type: employer-employee (używany w Employment), subordinate-supervisor, supervisor-subordinate.


2. Struktura (pola)

Poza polami z DomainResource (id, resourceType, meta, owner, comment, category, status, type, contained, attribute):

Nazwa Kard. Typ Opis
partyFrom 0..1 Reference(PartyRole) Strona źródłowa relacji (od) – strona w roli
partyTo 0..1 Reference(PartyRole) Strona docelowa relacji (do) – strona w roli
period 0..1 Period Okres relacji (start, end)

Typ relacji biznesowej – dziedziczone type z DomainResource (system https://api-erp.kamsoft.pl/vs/hr/party-relationship-type). Status – dziedziczony status z DomainResource. PartyRelationship nie ma własnego pola identifier; cechy relacji (np. direct, employment-id, order-path) niesie attribute[] ze słownika hr/party-relationship-attribute-type.

Uwaga: partyFrom i partyTo wskazują różne zasoby PartyRole (lub elementy w contained). Party jest dostępny przez PartyRole.party. Zasoby PartyRole (lub Party w contained) mogą w razie potrzeby być osadzone i referowane przez Reference (#id).


3. Operacje

Odpowiedź to koperta { "items": [...], "nextToken": null }, stronicowana parametrami count (domyślnie 20) i offset (domyślnie 0).

Operacja Parametry Odpowiedź
GET /v1/party-relationships type (wymagany, system|value; obsługiwane wartości: employer-employee, supervisor, subordinate), partyFrom, partyTo (system|value, przestrzeń wewnętrzna Party), attribute[] (code|value: employment-id, direct-only), count, offset 200 koperta z PartyRelationship[]

Zasób jest tylko do odczytu; brak POST/PATCH i tras z {id}.


4. Relacja Party – PartyRole – PartyRelationship

  • Party – podmiot (identyfikatory, nazwa, adresy, kontakty). Party NIE zawiera referencji do PartyRole ani PartyRelationship; relacje i role są w zasobach PartyRole i PartyRelationship.
  • PartyRole – referuje do Party przez party (strona w roli). PartyRelationship – „PartyRole A w relacji Z z PartyRole B" (partyFrom, partyTo → PartyRole; typ relacji w type). Strona pochodzi z PartyRole.party.

Relacje odpytuje się po typie relacji i stronie (type=…&partyTo=<przestrzeń>|<wartość>), a role strony – po PartyRole (GET /v1/party-roles?role=…&party=…).


5. Mapowanie na systemy ERP

System Odpowiednik Uwagi
SAP HCM / S/4HANA Relacja klient–dostawca, relacja organizacyjna Type określa relację biznesową; period i status zarządzają ważnością
SAP SuccessFactors Relacja zatrudnienia, relacja raportowania Typ relacji (employment, reporting, delegation itp.)
Oracle HCM Cloud Relacja zatrudnienia, hierarchia organizacyjna Employment = pracodawca–pracownik; hierarchia org przez relacje jednostek org
Workday Relacja zatrudnienia, relacja org, relacja menedżer Typ relacji ustala kierunek i naturę (employment, reporting itp.)

6. Powiązane zasoby

Party — Informacje o podmiocie
PartyRole — Strona w roli
Core Master Data Overview — Wspólne dane główne