Przejdź do treści

Location — magazyn i miejsce składowania

Magazyn nie jest osobnym zasobem. To Location w profilu Warehouse; miejsce składowania (apteka centralna, oddział) to Location w profilu StorageLocation. Profil rozpoznaje się po category, a zasób w odpowiedzi niesie go w meta.profile. Schematy: profile kanoniczne.

1. Profile

Profil category Co reprezentuje
https://api-erp.kamsoft.pl/ns/StructureDefinition/Warehouse warehouse + kod rodzaju magazynu (07, np. 1 magazyn leków) — system https://api-erp.kamsoft.pl/vs/warehouse/location-category magazyn prowadzący stany
https://api-erp.kamsoft.pl/ns/StructureDefinition/StorageLocation storage-location — system https://api-erp.kamsoft.pl/vs/warehouse/location-category miejsce składowania: apteka centralna, oddział
https://api-erp.kamsoft.pl/ns/StructureDefinition/UsagePlace usage-place — system https://api-erp.kamsoft.pl/vs/assets/location-category miejsce użytkowania środka trwałego (majątek)

Schemat każdego profilu wymaga category z odpowiednim kodem; pozostałe pola są opcjonalne.

2. Operacje

Metoda Ścieżka Opis
GET /v1/locations Lista lokalizacji wszystkich profili
GET /v1/locations?profile=https://api-erp.kamsoft.pl/ns/StructureDefinition/Warehouse
GET /v1/locations?profile=https://api-erp.kamsoft.pl/ns/StructureDefinition/StorageLocation
GET /v1/locations?category=https://api-erp.kamsoft.pl/vs/warehouse/location-category|warehouse
Parametr Format Opis
profile URL profilu Zawęża odpowiedź do jednego profilu
category system\|value Filtr: odpowiedź zawiera wyłącznie lokalizacje z podaną kategorią. Rozpoznawane są oba słowniki zasobu: warehouse, storage-location i rodzaje magazynu (07) w …/vs/warehouse/location-category oraz usage-place w …/vs/assets/location-category. Kategoria nie przełącza rodzaju odpowiedzi; przestrzeń spoza tych słowników kończy się 400 (konwencje §8.1)
identifier system\|value Identyfikator lokalizacji w przestrzeni urn:oid:1.2.616.1.113769.4.<instalacja>.<klucz>
owner system\|value Firma (przestrzeń identyfikatora strony lub https://gov.pl/nip)
type system\|value Rodzaj lokalizacji, system = https://api-erp.kamsoft.pl/vs/warehouse/location-type
attribute code\|value (wiele) Filtry źródłowe (dla miejsc użytkowania schema\|…)
contained integer Identyfikator jednostki nadrzędnej (miejsca składowania)
count, offset integer Paginacja (domyślnie 20 / 0)

Odpowiedź 200: { "items": [Location…], "nextToken": null }. Zapis (POST, PATCH) nie jest dostępny.

3. Warehouse — pola

Pole Wartość
identifier identyfikator magazynu: system = urn:oid:1.2.616.1.113769.4.<instalacja>.<klucz>, przestrzeń ResourceLocation.Id (klucz referencyjny)
name nazwa magazynu, w nawiasie skrót
type kod warehouse w systemie https://api-erp.kamsoft.pl/vs/warehouse/location-type; opublikowany słownik nie zawiera dziś tego kodu (publikuje 0, 1, 2), a display niesie typ magazynu ze źródła
category warehouse oraz rodzaj magazynu (07) ze słownika location-category
status active / inactive w systemie https://api-erp.kamsoft.pl/vs/warehouse/location-status (adres w rejestrze, słownik nieopublikowany)
partOf pojedyncza Reference do Location oddziału (profil StorageLocation), gdy magazyn jest przypisany do oddziału
attribute[] warehouse-account-fk (konto księgowe magazynu), is-accounting, zsmopl — słownik location-attribute-type

4. StorageLocation — pola

Pole Wartość
identifier identyfikator miejsca: system = urn:oid:1.2.616.1.113769.4.<instalacja>.<klucz>, przestrzeń ResourceLocation.Id
name nazwa miejsca
type 0 (apteka centralna) lub 1 (oddział szpitalny) w systemie https://api-erp.kamsoft.pl/vs/warehouse/location-type; opublikowany słownik nadaje tym kodom inne opisy (rodzaje magazynów)
category storage-location
managingParty Reference do Party (jednostka prowadząca)
attribute[] organizational-unit-fk-account (konto księgowe jednostki), location-symbol — system https://api-erp.kamsoft.pl/vs/warehouse/location-attribute-type; opublikowany słownik dziś nie zawiera tych kodów

5. Przykład

{
  "resourceType": "Location",
  "meta": { "profile": ["https://api-erp.kamsoft.pl/ns/StructureDefinition/Warehouse"] },
  "identifier": [{ "system": "urn:oid:1.2.616.1.113769.4.<instalacja>.<klucz>", "value": "12" }],
  "name": "Magazyn Główny (MG)",
  "type": { "coding": [{ "system": "https://api-erp.kamsoft.pl/vs/warehouse/location-type", "code": "warehouse" }] },
  "category": [
    { "coding": [{ "system": "https://api-erp.kamsoft.pl/vs/warehouse/location-category", "code": "warehouse", "display": "Magazyn" }] },
    { "coding": [{ "system": "https://api-erp.kamsoft.pl/vs/warehouse/location-category", "code": "1", "display": "magazyn leków" }] }
  ],
  "status": { "coding": [{ "system": "https://api-erp.kamsoft.pl/vs/warehouse/location-status", "code": "active", "display": "Aktywny" }] },
  "partOf": { "type": "Location", "identifier": { "system": "urn:oid:1.2.616.1.113769.4.<instalacja>.<klucz>", "value": "3" }, "display": "Oddział Chirurgii (CHIR) [ID:3]" },
  "attribute": [
    { "code": { "coding": [{ "system": "https://api-erp.kamsoft.pl/vs/warehouse/location-attribute-type", "code": "is-accounting" }] }, "value": { "valueString": "1" } }
  ]
}

6. Odniesienia

Location, InventoryDocument (fromLocation, toLocation, participant), Inventory (location), Party (managingParty). Schematy: Warehouse, StorageLocation, UsagePlace.