ContactPoint
ContactPoint (punkt kontaktu) to typ danych oznaczający dane kontaktowe – telefon, e-mail, faks, z przeznaczeniem (służbowy, prywatny). Wzorowany na FHIR ContactPoint. Używany w Party (kontakt do kontrahenta, pracownika), w dokumentach (kontakt do płatnika, odbiorcy).
1. Zakres i zastosowanie
ContactPoint służy do:
- Kontaktów stron – w Party: telefon, e-mail, faks (każdy z system i value).
- Dokumentów – kontakt w nagłówku faktury, zamówienia (np. do korespondencji).
- CRM / HR – preferowany kanał kontaktu, godziny dostępności (w attribute/profilu).
Reguła: system (phone, email, fax, url, sms, other) + value (numer lub adres); use (home, work, temp, old, mobile) opcjonalnie.
2. Zawartość (struktura)
| Nazwa | Kard. | Typ | Opis |
|---|---|---|---|
| system | 0..1 | code | Kanał: phone, fax, email, url, sms, other |
| value | 0..1 | string | Wartość (numer telefonu, adres e-mail, URL itd.) |
| use | 0..1 | code | Przeznaczenie: home, work, temp, old, mobile (rozszerzalne) |
| rank | 0..1 | positiveInt | Kolejność preferencji (1 = preferowany) |
| period | 0..1 | Period | Okres ważności (opcjonalnie) |
3. Zgodność z systemami ERP
| System | Odpowiednik | Uwagi |
|---|---|---|
| SAP | BAPIADTEL (tel), BAPIADFAX (fax), BAPIADSMTP (e-mail); w BAPI_CONTACT_ADDRESSDATA: TEL1_NUMBR, FAX_NUMBER, AD_SMTPADR | Telefon, faks, e-mail w strukturze adresu kontaktu; osobne BAPI dla każdego kanału; rozróżnienie typów przez strukturę/parametr |
| Oracle TCA | HZ_CONTACT_POINTS (CONTACT_POINT_TYPE: PHONE, EMAIL, WEB; PHONE_NUMBER, EMAIL_ADDRESS, RAW_PHONE_NUMBER, COUNTRY_CODE itd.) | Jeden typ Contact Point z typem (phone/email/web); wiele wpisów na stronę; powiązanie przez HZ_ORG_CONTACTS / relacje |
| UBL 2.3 | Contact (telephone, electronicMail, other) w Party / Delivery | Proste pola: Telephone, ElectronicMail; kontekst z rodzaju dokumentu (Delivery, AccountingSupplierParty itd.) |
| OAGIS | Communication (phone: country/area/dial number/internal number; address/web; channel, use) | Komponent Communication z podziałem na kanały; numer telefonu z segmentami (country code, area, number, internal number) |
| FHIR | ContactPoint (system, value, use, rank, period) | system: phone | fax | email | url | sms | other; value = numer/adres; use: home | work | temp | old | mobile; rank = preferencja |
Nasz model jest zbieżny z FHIR ContactPoint (system, value, use, rank, period). SAP rozdziela kanały na osobne struktury BAPI; Oracle – jedna tabela z typem; UBL/OAGIS – pola w komponencie Contact/Communication.
4. Równoważność zestawu danych
Tak – ten sam zestaw danych da się zamodelować w Twoim rozwiązaniu i w systemach ERP.
| Aspekt | Twój model / FHIR | SAP / Oracle / UBL / OAGIS |
|---|---|---|
| Kanał (phone, fax, email…) | system + value | Osobne pola (TEL/FAX/SMTP) lub typ (CONTACT_POINT_TYPE) – ta sama informacja |
| Wartość (numer, adres e-mail) | value (jeden string) | To samo; OAGIS/Oracle czasem rozkładają numer na country/area/number/internal number |
| Rozłożony numer telefonu | Jeden string w value | Mapowanie: konkatenacja → value; value → segmenty tylko gdy potrzebne (np. internal number) |
| Przeznaczenie (home, work…) | use | Często brak lub atrybut; dane przenoszalne gdy system docelowy wspiera |
| Preferencja (który pierwszy) | rank | Nie wszędzie; brak rank = brak preferencji |
| Okres ważności | period | Często w innych tabelach; dane przenoszalne |
Różnice to reprezentacja (jeden string vs segmenty numeru, jeden typ ContactPoint vs osobne struktury per kanał), nie brak informacji. Każdy adres/telefon/faks/email z ERP da się wyrazić w Twoim modelu i odwrotnie.