OrganizationAssignment
OrganizationAssignment (przypisanie do jednostki organizacyjnej) to zasób reprezentujący przypisanie pracownika do jednostki organizacyjnej: kto (employee), do której komórki (organizationalUnit), w jakim okresie (period) oraz opcjonalnie w jakim stopniu hierarchii (hierarchyLevel – np. główny przełożony, zastępca), z powiązaniem do zatrudnienia (employment) i identyfikatorem zatrudnienia głównego (primaryEmploymentId). Jednostka organizacyjna (komórka, dział, pion itd.) jest zawsze reprezentowana przez OrganizationUnit. Wzorowany na SAP (Assignment do Organizational Unit, PA w kontekście O), Oracle HCM (Assignment do Organization), Workday (Worker Assignment to Organization, Supervisory Organization).
Rozszerza DomainResource.
1. Zakres i zastosowanie
OrganizationAssignment = jedno przypisanie pracownika do jednostki: employee (Reference PartyRole – rola pracownika), organizationalUnit (Reference OrganizationUnit), period (okres pracy w tej komórce). Opcjonalnie hierarchyLevel (CodeableConcept – np. główny przełożony, zastępca), employment (Reference Employment) oraz primaryEmployment (Reference Employment).
- Rejestr przypisań – lista OrganizationAssignment po stronie pracownika lub jednostki (employee, organizationalUnit, period, status); powiązanie z Employment opcjonalne.
- Struktura a zatrudnienie – Employment opisuje stosunek pracy (employer, employee, position); OrganizationAssignment opisuje przynależność do jednostki organizacyjnej (komórka, dział, pion – wszystkie jako OrganizationUnit) w czasie.
2. Zawartość (struktura)
Oprócz elementów DomainResource (id, resourceType, identifier, meta, attribute, status, type):
| Nazwa | Kard. | Typ | Opis |
|---|---|---|---|
| identifier | 0..* | Identifier | Identyfikatory biznesowe przypisania (np. identyfikator z systemu źródłowego) |
| employee | 1..1 | Reference(PartyRole) | Pracownik – referencja do PartyRole (role=employee); dane osoby w PartyRole.party → Party |
| organizationalUnit | 1..1 | Reference(OrganizationUnit) | Jednostka organizacyjna (komórka, dział), do której przypisany jest pracownik |
| period | 0..1 | Period | Okres przypisania (początek/koniec pracy w tej komórce); brak end = nadal przypisany |
| hierarchyLevel | 0..1 | CodeableConcept | Stopień hierarchii (np. główny przełożony, zastępca – system https://api-erp.kamsoft.pl/ns/hierarchy-level) |
| hierarchyIndex | 0..1 | integer | Liczbowy stopień przełożonego (do sortowania i budowy ścieżki hierarchii) |
| hierarchyLabel | 0..1 | string | Etykieta stopnia (np. „1”, „1.2”) |
| employment | 0..1 | Reference(Employment) | Powiązane zatrudnienie (opcjonalnie) |
| primaryEmployment | 0..1 | Reference(Employment) | Powiązane zatrudnienie główne pracownika (np. z systemu źródłowego) |
Uwaga: status (z DomainResource) – np. active, inactive, ended. Pion, dział, komórka itd. to rodzaje jednostki organizacyjnej – modelowane wyłącznie przez OrganizationUnit (type/category).
3. Zgodność z systemami ERP
| System | Odpowiednik | Uwagi |
|---|---|---|
| SAP HCM / S/4HANA | Assignment do Object (Org Unit), PA0001 w kontekście O | Przypisanie osoby do jednostki organizacyjnej z datami |
| SAP SuccessFactors | JobAssignment, Organization Assignment | Worker → Organization z effective dates |
| Oracle HCM Cloud | Assignment do Organization (PER_ALL_ASSIGNMENTS_M), org unit | Person + organization + dates |
| Workday | Worker Assignment to Organization, Supervisory Organization | Assignment z period, reporting hierarchy |
Model kanoniczny: employee + organizationalUnit + period + opcjonalnie hierarchyLevel, employment, primaryEmploymentId pokrywa przypisanie do jednostki organizacyjnej w SAP, Oracle, Workday.
4. Odniesienia
- DomainResource, PartyRole (employee), OrganizationUnit (organizationalUnit), Employment (employment).
- Party (dane pracownika w PartyRole.party).
- Identifier, Period, CodeableConcept, Reference.