Przejdź do treści

PartyRole (strona w roli)

PartyRole (strona w roli) opisuje przypisanie roli do strony w danym kontekście – np. „Strona X jako klient", „Strona Y jako dostawca w zamówieniu Z", „Strona X jako płatnik w systemie FK". Rozszerza DomainResource i uzupełnia Party: Party to podmiot (kto), PartyRole to ten podmiot w konkretnej roli, opcjonalnie z okresem ważności i kontekstem.


1. Zakres i zastosowanie

PartyRole jest używany do:

  • Rola w kontekście – ta sama Party może mieć wiele PartyRole (klient w FK, dostawca w WMS, płatnik w dokumencie), każdy z własnym okresem lub kontekstem
  • Okres ważności – rola „klient" dla Party X może być ważna od–do (umowa, uprawnienia)
  • Kontekst – rola może być przypisana do dokumentu, umowy, systemu lub „globalnie" (brak kontekstu = systemowo)

Typowe role: klient (customer), dostawca (supplier), płatnik (payer), odbiorca płatności (payee), przewoźnik (carrier), wystawca (issuer), odbiorca dokumentu, członek grupy VAT. Wartości jako CodeableConcept (np. system https://api-erp.kamsoft.pl/ns/party-role).


2. Struktura (pola)

Poza polami z DomainResource (id, meta, text, name, attribute, contained):

Nazwa Kard. Typ Opis
party 1..1 Reference(Party) lub contained Party Strona, której dotyczy rola („kto" w roli – klient, dostawca, płatnik itp.)
role 1..1 CodeableConcept Rola (np. customer, supplier, payer – system https://api-erp.kamsoft.pl/ns/party-role)
period 0..1 Period Okres ważności roli (validFrom, validTo)
status 0..1 CodeableConcept Status (np. active, inactive)
context 0..1 Reference lub Identifier Kontekst przypisania (dokument, umowa, system) – opcjonalny

Uwaga: PartyRole referuje do pojedynczej Party przez party (wymagane). Party nie zawiera PartyRole. Relacja między dwiema stronami w rolach jest opisana przez PartyRelationship (partyFrom, partyTo). Jeśli osobny zasób Party nie jest potrzebny, party może być osadzony w contained (inline).


3. Relacja Party – PartyRole

  • Party – dane główne o podmiocie (identyfikatory, nazwa, adresy, kontakty). Party NIE zawiera referencji do PartyRole. Aby uzyskać role strony, należy odpytać PartyRole z filtrem np. party=Party/id.
  • PartyRole – referuje do Party przez party (strona w roli). Przypisanie „Party X w roli Y [w kontekście] [w okresie]": party → Party, role → CodeableConcept, period, status, context. Relacja między dwiema stronami (np. klient do dostawcy) jest opisana przez PartyRelationship (partyFrom, partyTo).

W dokumentach (faktura, zamówienie) można użyć referencji do Party + referencji do PartyRole (z odpowiednią role), lub tylko referencji do Party i CodeableConcept role w dokumencie. PartyRole jako osobny obiekt jest przydatny gdy role są rejestrowane, wersjonowane lub mają okres ważności (np. „kartoteka klienta" = PartyRole z role=customer, party=Party X; relacja do sprzedawcy w PartyRelationship).


4. Mapowanie na systemy ERP

System Odpowiednik Uwagi
SAP HCM / S/4HANA Customer master (role), vendor master (role), business partner Party = BP master; PartyRole = przypisanie roli BP
SAP SuccessFactors Employee role Employee (Party) + przypisanie roli (PartyRole)
Oracle HCM Cloud Person, assignment Person (Party); assignment zawiera rolę (PartyRole)
Workday Worker, assignment Worker (Party); assignment (PartyRole) z datami obowiązywania

5. Powiązane zasoby

Party — Informacje o podmiocie
PartyRelationship — Relacja między PartyRole
Core Master Data Overview — Wspólne dane główne