Employment
Employment (zatrudnienie) to zasób reprezentujący stosunek pracy w kontekście kadrowym: pracodawca i pracownik są jawnie wskazani jako referencje do PartyRole (employer, employee). Okres zatrudnienia (period), stanowiska (Position) i typ umowy. Minimum HR: employer (Reference PartyRole), employee (Reference PartyRole), period; opcjonalnie position[] (tablica przypisań stanowisk z okresami, 0..N), type (umowa). Wzorowany na SAP (PA infotype 0001), Oracle HCM (PER_ALL_ASSIGNMENTS_M), Workday (Employment).
Rozszerza DomainResource.
1. Zakres i zastosowanie
Employment = kadrowy kontekst relacji employer–employee: employer (Reference PartyRole) i employee (Reference PartyRole) — pracodawca i pracownik są jawnie wskazani jako role; dane podmiotu (nazwa, NIP, adres) w PartyRole.party → Party. Ponadto period, status, opcjonalnie position[] (0..N – tablica przypisań stanowisk z okresami, jedno zatrudnienie może obejmować wiele stanowisk jednocześnie lub kolejno w czasie) i type (umowa o pracę, zlecenie, B2B itd.).
- Rejestr zatrudnień – lista Employment po stronie pracodawcy lub pracownika (identifier, employer, employee, period, status, position[]); employer i employee to referencje do PartyRole.
- Dokumenty HR – Document w domenie kadr może referować Employment (valueReference); pracownik = Employment.employee (PartyRole).
2. Zawartość (struktura)
Oprócz elementów DomainResource (id, meta, text, comment, category, status, type, contained, attribute):
| Nazwa | Kard. | Typ | Opis |
|---|---|---|---|
| employer | 1..1 | Reference(PartyRole) | Pracodawca – referencja do PartyRole (role=employer); dane podmiotu w PartyRole.party → Party |
| employee | 1..1 | Reference(PartyRole) | Pracownik – referencja do PartyRole (role=employee); dane podmiotu w PartyRole.party → Party |
| identifier | 0..* | Identifier | Identyfikatory zatrudnienia (np. system hr-employment-id – zob. Identifier, code-systems) |
| period | 0..1 | Period | Okres zatrudnienia (start, end); brak end = nadal zatrudniony |
| position | 0..* | EmploymentPosition | Przypisania stanowisk z okresami – jedno zatrudnienie może obejmować wiele stanowisk jednocześnie lub kolejno w czasie (zob. sekcja 2a) |
| type | 0..1 | CodeableConcept | Typ umowy (umowa o pracę, zlecenie, B2B, praktyka – system https://api-erp.kamsoft.pl/ns/employment-type) |
| primaryEmployment | 0..1 | Reference(Employment) | Odniesienie do głównego zatrudnienia (gdy to zatrudnienie jest pochodne) |
| kind | 0..1 | CodeableConcept | Rodzaj umowy (np. na czas nieokreślony, na czas określony – system employment-kind) |
| workTime | 0..1 | Quantity | Wymiar etatu liczbowo (np. 1.0 = pełny etat, 0.5 = pół; unit np. FTE, percent) |
| workTimeText | 0..1 | string | Opis etatu tekstowo (np. „pełny etat”, „1/2 etatu”) |
Uwaga: status (z DomainResource) – aktywny / nieaktywny / zakończony; type – rodzaj umowy.
2a. Struktura position[]
Każdy element tablicy position to obiekt zagnieżdżony (EmploymentPosition) opisujący jedno przypisanie stanowiska w ramach zatrudnienia:
| Nazwa | Kard. | Typ | Opis |
|---|---|---|---|
| reference | 1..1 | Reference(Position) | Referencja do stanowiska (Position) |
| period | 0..1 | Period | Okres obowiązywania przypisania stanowiska w ramach zatrudnienia; brak – przypisanie bezterminowe lub obowiązujące przez cały okres zatrudnienia |
| meta | 0..1 | Meta | Metadane przypisania stanowiska (np. source, lastModified, profile) |
3. Zgodność z systemami ERP
| System | Odpowiednik | Uwagi |
|---|---|---|
| SAP HCM / S/4HANA | PA infotype 0001 (Organizational Assignment), Period of Service | Employee (PERNR) → Position (PLANS), Job, Org unit; BEGDA/ENDDA = period; wiele IT0001 = wiele przypisań stanowisk z różnymi datami |
| SAP SuccessFactors | Employment (EC), JobAssignment | Employment entity z effective dates, job/position reference; multiple concurrent job assignments |
| Oracle HCM Cloud | PER_ALL_ASSIGNMENTS_M, Period of Service | Assignment z person, assignment type, job, position, dates; pracownik może mieć wiele assignments |
| Workday | Employment | Worker + Employer + Start/End date, Position (Job), Employment Type; Additional Jobs wspierają równoległe stanowiska |
| FHIR | Patient (employment context), RelatedPerson | Uproszczony kontekst medyczny; pełny model HR w dedykowanych zasobach |
Nasz model jest kanoniczny: employer i employee (Reference PartyRole) + period + position[] (0..N z period) + type (umowa) pokrywa SAP (PA0001 + wiele IT0001 z datami), Oracle (wiele assignments), Workday (Employment + Additional Jobs); pracodawca i pracownik jawnie jako PartyRole.
4. Odniesienia
- DomainResource, PartyRole (employer, employee), Position (position)
- Party (dane pracodawcy i pracownika w PartyRole.party)
- Period, Identifier, CodeableConcept, Reference