Przejdź do treści

Attachment

Attachment (załącznik) to zasób kanoniczny oznaczający odniesienie do pliku lub treści binarnej – skan faktury, PDF, orzeczenie lekarskie. Wzorowany na FHIR Attachment. Używany w dokumentach magazynowych (załącznik do dokumentu) i w kadrach (skierowanie i orzeczenie medycyny pracy).


1. Zakres i zastosowanie

Attachment służy do:

  • Załączników do dokumentów – plik dokumentu magazynowego, skan faktury, załącznik do zamówienia.
  • Dokumentów kadrowych – skierowanie i orzeczenie medycyny pracy przekazywane jako treść base64.
  • Klasyfikacji załącznika – przez attribute[] (np. identyfikator dokumentu, REGON, miejscowość).
  • Powiązania z zasobem źródłowym – przez basedOn (np. skierowanie, zlecenie, dokument źródłowy).

Reguła: url (link do zasobu) lub data (base64) + contentType (MIME); title do wyświetlania opcjonalnie.

Rozszerza DomainResource. Zasób w standardzie Kamsoft.FAIR (Fast Adaptive Interoperable Resources).


2. Zawartość (struktura)

Oprócz elementów DomainResource (id, resourceType, meta, owner, comment, category, status, type, contained, attribute):

Nazwa Kard. Typ Opis
identifier 0..* Identifier Identyfikatory załącznika (w profilu AttachmentOccupationalMedicine 1..*)
basedOn 0..1 Reference Referencja do zasobu, na podstawie którego powstał ten załącznik (np. skierowanie, zlecenie, dokument źródłowy)
contentType 0..1 string Typ MIME (np. application/pdf, image/png)
language 0..1 string Język treści (opcjonalnie)
url 0..1 string Adres URL do pliku (gdy plik zewnętrzny); w profilu WarehouseAttachment 1..1
data 0..1 string (base64) Treść w formacie base64 (gdy brak url); w profilu AttachmentOccupationalMedicine 1..1
title 0..1 string Tytuł / nazwa do wyświetlania
size 0..1 integer Rozmiar w bajtach (opcjonalnie)
hash 0..1 string Skrót (np. SHA-256) do weryfikacji (opcjonalnie)
creation 0..1 dateTime Data utworzenia (opcjonalnie)

Reguła: url lub data (przynajmniej jedno); contentType zalecane. attribute[] (z DomainResource) niesie cechy biznesowe załącznika – kody ze słownika attachment-attribute-type w wariancie domenowym: hr (regon, city); dla załączników magazynowych system https://api-erp.kamsoft.pl/vs/warehouse/attachment-attribute-type, kody nadaje wdrożenie.


2a. Profile załącznika

Profil Cecha rozpoznawcza Zastosowanie
AttachmentOccupationalMedicine wymagane identifier i data skierowanie i orzeczenie medycyny pracy; jedyny profil przyjmowany przy zapisie
WarehouseAttachment wymagane url załącznik dokumentu magazynowego; tylko odczyt

Profil niesie meta.profile (obiekt {name, version, url}, zob. Meta). Schematy: profile kanoniczne.

2b. Operacje

Odczyt – zwraca wyłącznie załączniki profilu WarehouseAttachment; nie ma parametru profile ani identifier:

GET /v1/attachments?attribute=document-type|<wartość>&attribute=company-id|<wartość>&attribute=document-id|<wartość>&count=20&offset=0
Parametr Wymagany Opis
attribute nie Powtarzalny, każda wartość to jedna para kod\|wartość; rozpoznawane kody: document-type, company-id, document-id (liczbowe)
count, offset nie Paginacja (domyślnie 20 / 0)

Odpowiedź: { "items": [...], "nextToken": null }.

Zapis – przyjmuje wyłącznie załącznik profilu AttachmentOccupationalMedicine (data wymagane; identifier[].system zalecany — wskazuje instalację rejestrującą załącznik, pominięty rozstrzyga profil, a value nadaje system prowadzący, zob. rejestracja zasobu):

POST /v1/attachments
Content-Type: application/json

{ "resourceType": "Attachment", "meta": { "profile": ["https://api-erp.kamsoft.pl/ns/StructureDefinition/AttachmentOccupationalMedicine"] }, "identifier": [ { "system": "urn:oid:1.2.616.1.113769.4.<instalacja>.<klucz>" } ], "data": "<base64>", "title": "..." }

Odpowiedź: { "items": ... } z wynikiem rejestracji; brak odpowiedzi systemu źródłowego kończy się statusem 503.

3. Odniesienia