Data je přes REST API CovIT možné posílat ve verzích:
1. Form data
2. JSON
V první verzi jsou metody na import nových záznamů, update existujících a možnost stažení informací o uživatelské registraci GARG testu. Další metody, jako na odesílání SMS apod., budou následovat brzy. Metody pro import dat a aktualizaci dat jsou asynchronní, vrací identifikátor úlohy. Je možné dotázat se na průběh procesu, který může být v rozsahu 0-100. Záporné hodnoty znamenají chybu.
Datové soubory jsou identické jako pro ruční importy a popis je přes https://confluence.imtm.cz/x/ShwCAg, https://confluence.imtm.cz/x/sxwCAg
Testovací prostředí:
- autentizační klíč (auth=XXX) je generován pro každé laboratoř samostatně
- URL adresa: https://apptest.imtm.cz/covid19/publicapi
Produkční prostředí:
- autentizační klíč (auth=XXX) a je generován pro každou laboratoř jedinečně.
- K připojení na server je nezbytný speciální podepsaný klientský certifikát, který je chráněný heslem.
- URL adresa: https://covitapi.imtm.cz/publicapi
- stažení informací o registraci GARG testu: - URL: https://covitapi.imtm.cz/publicapi/checkgargcode
- parametry:
1.code – platný kód GARG sady
2.auth – autentikační kód
- data jsou vrácena jako JSON ve formátu UZIS žádanky
- informace o potenciální chybě je v poli výsledek:
1.ChybnyKod – pole code obsahuje neplatný kód
2.ChybnyAuth – pole auth obsahuje neplatnou autentikaci
3.ZadankaNeexistuje – pole code obsahuje platný kód, ale uživatel nevyplnil registrační stránku
4.ZadankaExistuje – registrace pro daný kód existuje.
- příklad stažení žádanky: curl -v -X POST --cert-type P12 --cert /home/cesta/certifikat.p12:HESLO -d "code=S0000000000&auth=AUTHKOD" https://covitapi.imtm.cz/publicapi/checkgargcode
1.Verze odesílání dat přes FORM DATA
Metoda pro import dat
curl -v -X POST -F study=IDLAB -F createNewUzisZadanka=false -F auth=XXX -F file=@/home/petrpa/insert.txt "https://apptest.imtm.cz/covid19/publicapi/importpatients"
Parametry:
1. study – ID (kód) laboratoře
2. createNewUzisZadanka – nepovinný parametr, určuje zdali má při importu být vytvořená nová žádanka UZIS
3. auth – autentizační klíč
Návratová hodnota:
1. přidělený identifikátor úlohy
Metoda pro aktualizaci dat
curl -v -X POST -F study=IDLAB -F writeToClosed=true -F auth=XXX -F file=@/home/petrpa/update.txt "https://apptest.imtm.cz/covid19/publicapi/updatepatients"
Parametry:
1. study – ID (kód) laboratoře
2. writeToClosed – určuje, zdali mohou být přepsány hodnoty i v již zavřených formulářích
3. auth – autentizační klíč
Návratová hodnota:
1. přidělený identifikátor úlohy
Metoda pro zjištění progresu
curl -v -X POST -d "idTask=2&auth=XXX" https://apptest.imtm.cz/covid19/publicapi/progress
Parametry:
1. idTask – identifikátor úlohy
2. auth – autentizační klíč
Návratová hodnota:
1. progres tasku
2. 0-začátek
3. 100-ukončeno
4. Záporné hodnoty – různé chyby
2.Verze odesílání dat přes JSON
Metoda pro import dat
curl -v -X POST -H "Content-Type: application/json" \
-d '{"code":"IDLAB","createNewUzisZadanka":"false","auth":"XXX", "separator":";","data": "firstName;lastName;sex;address;personalID;email;telephone;healthInsurance;city;postalCode;birthDate;param6385;param6406\nAnna;První;F;Brno;111111/1111;pepa@zdepa.cz;111111111;;Brno;61400;01/01/2012;Infekce neprokázána;05/05/2012"}' \
"https://apptest.imtm.cz/covid19/publicapi/importjson"
Rozhraní /publicapi/importjson přijímá požadavek POST s daty JSON
Parametry:
1. code – identifikátor laboratoře dle číselníku ministerstva
2. auth – bezpečnostní kód vztažený k laboratoři (aby si např. laboratoře neimportovali navzájem)
3. createNewUzisZadanka – má-li být vytvořena žádanka UZIS při importu
4. separator – co odděluje sloupce v datech – 1 znak (nové řádky jsou vždy oddělené pomocí \n)
5. data – obsah dat k importu
Příklad vstupu:
{
"code":"IDLAB",
"createNewUzisZadanka":"false",
"auth":"XXX",
"separator":";",
"data":"data to import"
}
Výstup
1. idTask – identifikátor tasku
- > 0 – task se podařilo vytvořit a identifikátor slouží k budoucím referencím
- -1 – obecná chyba, nutno zkontrolovat logy
- -2 – chybný bezpečnostní kód
- -3 – chybný kód laboratoře
- -4 – chyba při parsování dat k importu
2. Příklad:
{
"idTask":"8"
}
Metoda pro aktualizaci dat
curl -v -X POST -H "Content-Type: application/json" \
-d '{"code":"IDLAB","writeToClosed":"false","auth":"XXX", "separator":",", "data": "idPatient,param13799,param13846,param13848\n13481,04/10/2020,4/10/2020,Infekce prokázána"}' \
"https://apptest.imtm.cz/covid19/publicapi/updatejson"
Parametry:
1. code – ID (kód) laboratoře
2. writeToClosed – určuje, zdali mohou být přepsány hodnoty i v již zavřených formulářích
3. auth – autentizační klíč
4. separator – označení použitého separátoru
Výstup:
1. přidělený identifikátor úlohy
Metoda pro zjištění progresu
curl -v -X POST -d 'idTask=4&auth=XXX' "https://apptest.imtm.cz/covid19/publicapi/progress"
Rozhraní /publicapi/progress může přijímá POST s parametry ?idTask=8&auth=XXX
Parametry:
1. idTask – identifikátor úlohy
2. auth – autentizační klíč
Výstup:
1. Progress -aktuální stav tasku
- -1 -task skončil chybou nebo cancel
- 0-99 – task probíhá
- 100 – task dokončen
2. Příklad:
{
"progress":"99"
}