1 {
  2    "openapi" : "3.0.1",
  3    "info" : {
  4       "title" : "ARI API Public",
  5       "version" : "v1"
  6    },
  7    "servers" : [
  8       {
  9          "url" : "/Registr/ARI"
 10       }
 11    ],
 12    "paths" : {
 13       "/api/v1/Ciselniky/Diagnozy" : {
 14          "get" : {
 15             "tags" : [
 16                "Ciselniky"
 17             ],
 18             "summary" : "Metoda vracející seznam diagnóz",
 19             "responses" : {
 20                "200" : {
 21                   "description" : "Success",
 22                   "content" : {
 23                      "application/json" : {
 24                         "schema" : {
 25                            "type" : "array",
 26                            "items" : {
 27                               "$ref" : "#/components/schemas/PolozkaCiselniku"
 28                            }
 29                         }
 30                      }
 31                   }
 32                },
 33                "400" : {
 34                   "description" : "Bad Request",
 35                   "content" : {
 36                      "application/json" : {
 37                         "schema" : {
 38                            "$ref" : "#/components/schemas/ErrorResponse"
 39                         }
 40                      }
 41                   }
 42                }
 43             }
 44          }
 45       },
 46       "/api/v1/Vysetreni" : {
 47          "post" : {
 48             "tags" : [
 49                "Vysetreni"
 50             ],
 51             "summary" : "Metoda pro vytvoření nového vyšetření pacienta",
 52             "requestBody" : {
 53                "description" : "Vyšetření",
 54                "content" : {
 55                   "application/json" : {
 56                      "schema" : {
 57                         "$ref" : "#/components/schemas/NoveVysetreni"
 58                      },
 59                      "example" : {
 60                         "zarizeniBase" : {
 61                            "pcz" : "000",
 62                            "icp" : null
 63                         },
 64                         "pacientRID" : 2140632000,
 65                         "datumNarozeni" : "1980-01-01T00:00:00",
 66                         "datumVysetreni" : "2026-06-09T00:00:00+02:00",
 67                         "hlavniDg" : "J00",
 68                         "ili" : null,
 69                         "vedlejsiDg" : [
 70                            "J100"
 71                         ]
 72                      }
 73                   },
 74                   "text/json" : {
 75                      "schema" : {
 76                         "$ref" : "#/components/schemas/NoveVysetreni"
 77                      },
 78                      "example" : {
 79                         "zarizeniBase" : {
 80                            "pcz" : "000",
 81                            "icp" : null
 82                         },
 83                         "pacientRID" : 2140632000,
 84                         "datumNarozeni" : "1980-01-01T00:00:00",
 85                         "datumVysetreni" : "2026-06-09T00:00:00+02:00",
 86                         "hlavniDg" : "J00",
 87                         "ili" : null,
 88                         "vedlejsiDg" : [
 89                            "J100"
 90                         ]
 91                      }
 92                   },
 93                   "application/*+json" : {
 94                      "schema" : {
 95                         "$ref" : "#/components/schemas/NoveVysetreni"
 96                      },
 97                      "example" : {
 98                         "zarizeniBase" : {
 99                            "pcz" : "000",
100                            "icp" : null
101                         },
102                         "pacientRID" : 2140632000,
103                         "datumNarozeni" : "1980-01-01T00:00:00",
104                         "datumVysetreni" : "2026-06-09T00:00:00+02:00",
105                         "hlavniDg" : "J00",
106                         "ili" : null,
107                         "vedlejsiDg" : [
108                            "J100"
109                         ]
110                      }
111                   }
112                }
113             },
114             "responses" : {
115                "200" : {
116                   "description" : "Success",
117                   "content" : {
118                      "application/json" : {
119                         "schema" : {
120                            "$ref" : "#/components/schemas/VysetreniOdpoved"
121                         }
122                      }
123                   }
124                },
125                "400" : {
126                   "description" : "Bad Request",
127                   "content" : {
128                      "application/json" : {
129                         "schema" : {
130                            "$ref" : "#/components/schemas/ErrorResponse"
131                         }
132                      }
133                   }
134                },
135                "409" : {
136                   "description" : "Conflict",
137                   "content" : {
138                      "application/json" : {
139                         "schema" : {
140                            "$ref" : "#/components/schemas/ErrorResponse"
141                         }
142                      }
143                   }
144                }
145             }
146          }
147       },
148       "/api/v1/Vysetreni/{idVysetreni}" : {
149          "put" : {
150             "tags" : [
151                "Vysetreni"
152             ],
153             "summary" : "Metoda pro aktualizaci existujícího vyšetření. Vyšetření lze změnit jen podle definovaných pravidel.",
154             "parameters" : [
155                {
156                   "name" : "idVysetreni",
157                   "in" : "path",
158                   "description" : "ID vyšetření",
159                   "required" : true,
160                   "schema" : {
161                      "type" : "string"
162                   }
163                }
164             ],
165             "requestBody" : {
166                "description" : "Vyšetření",
167                "content" : {
168                   "application/json" : {
169                      "schema" : {
170                         "$ref" : "#/components/schemas/ZmenaVysetreni"
171                      },
172                      "example" : {
173                         "zarizeniBase" : {
174                            "pcz" : "000",
175                            "icp" : null
176                         },
177                         "pacientRID" : 2140632000,
178                         "datumNarozeni" : "1980-01-01T00:00:00",
179                         "datumVysetreni" : "2026-06-09T00:00:00+02:00",
180                         "hlavniDg" : "J00",
181                         "ili" : null,
182                         "vedlejsiDg" : [
183                            "J100"
184                         ]
185                      }
186                   },
187                   "text/json" : {
188                      "schema" : {
189                         "$ref" : "#/components/schemas/ZmenaVysetreni"
190                      },
191                      "example" : {
192                         "zarizeniBase" : {
193                            "pcz" : "000",
194                            "icp" : null
195                         },
196                         "pacientRID" : 2140632000,
197                         "datumNarozeni" : "1980-01-01T00:00:00",
198                         "datumVysetreni" : "2026-06-09T00:00:00+02:00",
199                         "hlavniDg" : "J00",
200                         "ili" : null,
201                         "vedlejsiDg" : [
202                            "J100"
203                         ]
204                      }
205                   },
206                   "application/*+json" : {
207                      "schema" : {
208                         "$ref" : "#/components/schemas/ZmenaVysetreni"
209                      },
210                      "example" : {
211                         "zarizeniBase" : {
212                            "pcz" : "000",
213                            "icp" : null
214                         },
215                         "pacientRID" : 2140632000,
216                         "datumNarozeni" : "1980-01-01T00:00:00",
217                         "datumVysetreni" : "2026-06-09T00:00:00+02:00",
218                         "hlavniDg" : "J00",
219                         "ili" : null,
220                         "vedlejsiDg" : [
221                            "J100"
222                         ]
223                      }
224                   }
225                }
226             },
227             "responses" : {
228                "200" : {
229                   "description" : "Success",
230                   "content" : {
231                      "application/json" : {
232                         "schema" : {
233                            "$ref" : "#/components/schemas/VysetreniOdpoved"
234                         }
235                      }
236                   }
237                },
238                "400" : {
239                   "description" : "Bad Request",
240                   "content" : {
241                      "application/json" : {
242                         "schema" : {
243                            "$ref" : "#/components/schemas/ErrorResponse"
244                         }
245                      }
246                   }
247                },
248                "409" : {
249                   "description" : "Conflict",
250                   "content" : {
251                      "application/json" : {
252                         "schema" : {
253                            "$ref" : "#/components/schemas/ErrorResponse"
254                         }
255                      }
256                   }
257                },
258                "410" : {
259                   "description" : "Client Error",
260                   "content" : {
261                      "application/json" : {
262                         "schema" : {
263                            "$ref" : "#/components/schemas/ErrorResponse"
264                         }
265                      }
266                   }
267                }
268             }
269          }
270       },
271       "/api/v1/Vysetreni/{idVysetreni}/icp/{ICP}/pcz/{PCZ}" : {
272          "delete" : {
273             "tags" : [
274                "Vysetreni"
275             ],
276             "summary" : "Metoda pro smazání zadaného vyšetření. Smazat vyšetření lze pouze za definovaných podmínek.",
277             "parameters" : [
278                {
279                   "name" : "idVysetreni",
280                   "in" : "path",
281                   "description" : "ID Vyšetření",
282                   "required" : true,
283                   "schema" : {
284                      "type" : "string"
285                   }
286                },
287                {
288                   "name" : "ICP",
289                   "in" : "path",
290                   "description" : "IČP",
291                   "required" : true,
292                   "schema" : {
293                      "type" : "string"
294                   }
295                },
296                {
297                   "name" : "PCZ",
298                   "in" : "path",
299                   "description" : "PČZ",
300                   "required" : true,
301                   "schema" : {
302                      "type" : "string"
303                   }
304                }
305             ],
306             "responses" : {
307                "200" : {
308                   "description" : "Success",
309                   "content" : {
310                      "application/json" : {
311                         "schema" : {
312                            "$ref" : "#/components/schemas/VysetreniOdpoved"
313                         }
314                      }
315                   }
316                },
317                "400" : {
318                   "description" : "Bad Request",
319                   "content" : {
320                      "application/json" : {
321                         "schema" : {
322                            "$ref" : "#/components/schemas/ErrorResponse"
323                         }
324                      }
325                   }
326                },
327                "410" : {
328                   "description" : "Client Error",
329                   "content" : {
330                      "application/json" : {
331                         "schema" : {
332                            "$ref" : "#/components/schemas/ErrorResponse"
333                         }
334                      }
335                   }
336                }
337             }
338          }
339       },
340       "/api/v1/Vysetreni/Seznam/icp/{ICP}/pcz/{PCZ}" : {
341          "get" : {
342             "tags" : [
343                "Vysetreni"
344             ],
345             "summary" : "Metoda pro zobrazení vyšetření aktuálního týdne (vyšetření jež lze změnit)",
346             "parameters" : [
347                {
348                   "name" : "ICP",
349                   "in" : "path",
350                   "description" : "IČP",
351                   "required" : true,
352                   "schema" : {
353                      "type" : "string"
354                   }
355                },
356                {
357                   "name" : "PCZ",
358                   "in" : "path",
359                   "description" : "PČZ",
360                   "required" : true,
361                   "schema" : {
362                      "type" : "string"
363                   }
364                }
365             ],
366             "responses" : {
367                "200" : {
368                   "description" : "Success",
369                   "content" : {
370                      "application/json" : {
371                         "schema" : {
372                            "$ref" : "#/components/schemas/SeznamVysetreniOdpoved"
373                         }
374                      }
375                   }
376                },
377                "204" : {
378                   "description" : "No content"
379                },
380                "400" : {
381                   "description" : "Bad Request",
382                   "content" : {
383                      "application/json" : {
384                         "schema" : {
385                            "$ref" : "#/components/schemas/ErrorResponse"
386                         }
387                      }
388                   }
389                }
390             }
391          }
392       }
393    },
394    "components" : {
395       "schemas" : {
396          "ErrorModel" : {
397             "type" : "object",
398             "properties" : {
399                "fieldName" : {
400                   "type" : "string",
401                   "description" : "Pole, které vyvolalo chybu",
402                   "nullable" : true
403                },
404                "message" : {
405                   "type" : "string",
406                   "description" : "Text chyby",
407                   "nullable" : true
408                }
409             },
410             "additionalProperties" : false,
411             "description" : ""
412          },
413          "ErrorResponse" : {
414             "type" : "object",
415             "properties" : {
416                "errors" : {
417                   "type" : "array",
418                   "items" : {
419                      "$ref" : "#/components/schemas/ErrorModel"
420                   },
421                   "description" : "Chyby",
422                   "nullable" : true
423                },
424                "statusCode" : {
425                   "type" : "integer",
426                   "description" : "Status kód",
427                   "format" : "int32"
428                }
429             },
430             "additionalProperties" : false,
431             "description" : "Seznam chyb při volání"
432          },
433          "Hlaseni" : {
434             "title" : "Vysetreni",
435             "type" : "object",
436             "properties" : {
437                "idVysetreni" : {
438                   "type" : "integer",
439                   "description" : "",
440                   "format" : "int64"
441                },
442                "datumVysetreni" : {
443                   "type" : "string",
444                   "description" : "Datum provedeneho vysetreni",
445                   "format" : "date-time"
446                },
447                "pacientRID" : {
448                   "type" : "integer",
449                   "description" : "Cislo pacienta (id)",
450                   "format" : "int64"
451                },
452                "datumNarozeni" : {
453                   "type" : "string",
454                   "description" : "Datum narozeni pacienta",
455                   "format" : "date-time"
456                }
457             },
458             "additionalProperties" : false,
459             "description" : "Trida pro uchovani hodnot hlaseni, pouzije se v requestu a response API vysetreni (hlaseni ARI)."
460          },
461          "NoveVysetreni" : {
462             "required" : [
463                "datumNarozeni",
464                "datumVysetreni",
465                "hlavniDg",
466                "pacientRID",
467                "zarizeniBase"
468             ],
469             "type" : "object",
470             "properties" : {
471                "pacientRID" : {
472                   "minimum" : 1,
473                   "type" : "integer",
474                   "description" : "Cislo pacienta (id)",
475                   "format" : "int64"
476                },
477                "datumNarozeni" : {
478                   "type" : "string",
479                   "description" : "Datum narozeni pacienta",
480                   "format" : "date-time"
481                },
482                "datumVysetreni" : {
483                   "type" : "string",
484                   "description" : "Datum provedeneho vysetreni",
485                   "format" : "date-time"
486                },
487                "hlavniDg" : {
488                   "type" : "string",
489                   "description" : "Hlavni diagnoza"
490                },
491                "ili" : {
492                   "type" : "boolean",
493                   "description" : "Priznak zda se jedna o ILI (chripce podobna onemocneni), nebo ARI (akutni respiracni infekce)",
494                   "nullable" : true
495                },
496                "vedlejsiDg" : {
497                   "type" : "array",
498                   "items" : {
499                      "type" : "string"
500                   },
501                   "description" : "List pro uchovani vedlejsich diagnoz",
502                   "nullable" : true
503                },
504                "zarizeniBase" : {
505                   "$ref" : "#/components/schemas/ZarizeniBase"
506                }
507             },
508             "additionalProperties" : false,
509             "description" : "Request pro vytvoreni vysetreni"
510          },
511          "PolozkaCiselniku" : {
512             "type" : "object",
513             "properties" : {
514                "kod" : {
515                   "type" : "string",
516                   "description" : "Kód diagnózy",
517                   "nullable" : true
518                },
519                "nazev" : {
520                   "type" : "string",
521                   "description" : "Název diagnózy",
522                   "nullable" : true
523                }
524             },
525             "additionalProperties" : false
526          },
527          "SeznamVysetreniOdpoved" : {
528             "type" : "object",
529             "properties" : {
530                "seznamVysetreni" : {
531                   "type" : "array",
532                   "items" : {
533                      "$ref" : "#/components/schemas/Hlaseni"
534                   },
535                   "description" : "Seznam vyšetření pro dané zařízení",
536                   "nullable" : true
537                }
538             },
539             "additionalProperties" : false,
540             "description" : "Odpoved na seznam vyšetření"
541          },
542          "VysetreniOdpoved" : {
543             "type" : "object",
544             "properties" : {
545                "idVysetreni" : {
546                   "type" : "integer",
547                   "description" : "Id zadaného hlášení",
548                   "format" : "int64"
549                },
550                "stavKod" : {
551                   "type" : "string",
552                   "description" : "Aktuální stav hlášení\r\n- Otevrene: Hlášení aktuálního týdne, dostupná pro úpravy ZZ\r\n- Zpracovavane: Hlášení aktuálně zpracovávána KHS, nelze je upravovat\r\n- Uzavrene: Hlášení započítána do statistik, nelze je upravovat\r\n- Nepouzito: Řádně nahlášená hlášení, jež nejdou do zpracování KHS\r\n- Smazano: Smazaná hlášení\r\n- Duplicitni: Duplicitní hlášení v rámci týdne",
553                   "nullable" : true
554                }
555             },
556             "additionalProperties" : false,
557             "description" : "Odpoved na novou, nebo aktualizovanou položku vyšetření"
558          },
559          "ZarizeniBase" : {
560             "type" : "object",
561             "properties" : {
562                "pcz" : {
563                   "type" : "string",
564                   "description" : "Číslo PČZ zařízení, které provádí zápis / aktualizaci",
565                   "nullable" : true
566                },
567                "icp" : {
568                   "type" : "string",
569                   "description" : "Číslo IČP zařízení, které provádí zápis / aktualizaci",
570                   "nullable" : true
571                }
572             },
573             "additionalProperties" : false,
574             "description" : "Zakladni vlastnosti pracovnika"
575          },
576          "ZmenaVysetreni" : {
577             "required" : [
578                "datumNarozeni",
579                "datumVysetreni",
580                "hlavniDg",
581                "pacientRID",
582                "zarizeniBase"
583             ],
584             "type" : "object",
585             "properties" : {
586                "pacientRID" : {
587                   "minimum" : 1,
588                   "type" : "integer",
589                   "description" : "Cislo pacienta (id)",
590                   "format" : "int64"
591                },
592                "datumNarozeni" : {
593                   "type" : "string",
594                   "description" : "Datum narozeni pacienta",
595                   "format" : "date-time"
596                },
597                "datumVysetreni" : {
598                   "type" : "string",
599                   "description" : "Datum provedeneho vysetreni",
600                   "format" : "date-time"
601                },
602                "hlavniDg" : {
603                   "type" : "string",
604                   "description" : "Hlavni diagnoza"
605                },
606                "ili" : {
607                   "type" : "boolean",
608                   "description" : "Priznak zda se jedna o ILI (chripce podobna onemocneni), nebo ARI (akutni respiracni infekce)",
609                   "nullable" : true
610                },
611                "vedlejsiDg" : {
612                   "type" : "array",
613                   "items" : {
614                      "type" : "string"
615                   },
616                   "description" : "List pro uchovani vedlejsich diagnoz",
617                   "nullable" : true
618                },
619                "zarizeniBase" : {
620                   "$ref" : "#/components/schemas/ZarizeniBase"
621                }
622             },
623             "additionalProperties" : false,
624             "description" : "Request pro aktualizaci vysetreni"
625          }
626       }
627    }
628 }