ManageDoc REST API v0.7 2017.05.12

Kommunikáció

Rest API HTTP metódusok

HTTP státusz kódok

Sikeres művelet esetén

Hiba esetén

Azonosító mező

Autentikáció

API erőforrások

Teszt

ÁSZF

Regisztráció

Jelszóemlékeztető

A felhasználó által kezelhető klinikák listája

Orvos

Orvosok listája

Orvos felvitele

Orvos módosítása

Orvos törlése

Kezelések és vizsgálatok

Kezelések listája

Különleges szolgáltatások

Rendkívüli rendelés

Rendelési szünet

Kezelés felvitele

Kezelés módosítása

Kezelés törlése

Időpont

Időpont foglalás

Időpont módosítása

Időpont lemondása

Adott orvos időpontjainak lekérése

Adott orvos időpont változásainak lekérése

Az alapértelmezettől eltérő rendelési idő

Rendelési időszakok listája

Időszak felvitele

Időszak módosítása

Időszak törlése

Push API

Metódusok

POST

DELETE

PUT

Paraméterek

Páciens regisztráció push hívás

Metódusok

POST

Paraméterek

A válasz

Páciens törzsadat keresés callback

GET paraméterek

A válasz

Regisztrált páciensek

Páciens lista

Páciens autentikáció


Kommunikáció

A managedoc.com REST api a https://api.managedoc.com/ címen érhető el.

Rest API HTTP metódusok                

GET                adatok lekérése

POST                adatok létrehozása

PUT                adatok módosítása

DELETE        adatok törlése

                                                

A kommunikáció JSON objektumokon keresztül történik, ebben várjuk az adatokat és ebben a formában küldjük a választ is.

HTTP státusz kódok

Sikeres művelet esetén

200        OK, GET metódusok esetén, amennyiben sikeres a kérés, illetve PUT metódusok

esetén, amennyiben sikeres az adat módosítás

201        Created, POST metódusok esetén, amennyiben sikeres az adat létrehozás

204        No content, DELETE metódusok esetén, amennyiben sikeres az adat törlés

Sikeres hívások esetén a GET, PUT és POST metódusok egy JSON objektumot adnak vissza az erőforrásnak megfelelő formában. A DELETE metódus sikeres törlés esetén csak státusz kódot ad vissza, adatot nem.

Hiba esetén

400        Bad request, PUT, POST és DELETE metódusok esetén, amennyiben a küldött

JSON objektum invalid

401        Unauthorized, nem sikerült az authetikáció

404        Not found, nem létezik a kért erőforrás vagy az adat, illetve a felhasználó nem

férhet hozzá az adathoz

405        Method not allowed, az erőforrás adott metódusa nincs implementálva

409        Conflict, PUT metódusok esetén, amennyiben az adat már létezik, illetve POST

esetén ha duplikált, vagy össze nem férő változtatások történtek

410        Gone, GET, PUT illetve DELETE metódusok esetén, amennyiben a kért adat nem

létezik, illetve a POST metódust is idevéve amennyiben egy nem létező azonosító található a post­olt adatok közt

415        Unsupported media type, PUT illetve POST metódusok esetén, amennyiben a

küldött adat nem JSON formátumban van, vagy a küldött adatok hibásak

Sikertelen hívások esetén a 404, 409, 410 és a 415­ös státuszt leszámítva a többi nem ad vissza adatot. A 415­ös státusz esetén egy hiba objektum jön vissza, mely tartalmaz minden információt a felmerült problémáról, ennek a konkrét tartalma erőforrás specifikus, lásd az adott erőforrás dokumentációját. A 409 és 410 ugyanezt a hiba objektumot adja vissza, de csak abban az esetben, ha ez szükséges, ez erőforrás specifikus.

A 404­es státusz esetén nem létező erőforrás hívása esetén nincs visszaküldött adat, létező erőforrás, de nem létező adat esetén egy hiba objektumot küld vissza.

A hiba objektum egy tömb, ami hibakódokat tartalmaz a következő formában:

                                                

[INT, [INT, ...] ]

                                                

A konkrét hibakódokat lásd az adott erőforrás dokumentációjában.

                                                

A 401 és 404 státuszok rendszer szintűek, így azok bármelyik erőforrás hívása esetén visszajöhetnek. 404 státusz csak nem létező erőforrás hívása esetén térhet vissza. 401 státusz nem létező erőforrás hívása esetén is visszatérhet, amennyiben nem sikerült az authentikáció.

Azonosító mező

Az ‘id’ mező azonosítja a bejegyzéseket, ezek létrehozáskor megadhatóak, üres adat esetén a rendszer automatikusan generál egy új értéket. Minimum 1, maximum 40 karakter lehet és a következő karaktereket tartalmazhatja: az angol abc kis és nagy betűi, számok, alsóvonás és kötőjel. Emellett a legvégén tartalmazhat tetszőleges számú egyenlőségjelet. Így könnyen lehet tárolni benne bármilyen maximum 40 karakteres hexadecimális hash­t (pl md5, sha1, ...), integer azonosítókat, slug stringeket, illetve maximum 40 karakteres base64 kódokat.

Autentikáció

Minden adat eléréséhez kötelező az autentikáció. Ehhez BASIC HTTP autentikációt kell használni, azaz a HTTP header-­ben küldeni kell a belépési adatokat.

http://tools.ietf.org/html/rfc2617

http://en.wikipedia.org/wiki/Basic_access_authentication

Bármelyik api hívás 401­es státuszt, és üres választ fog adni sikertelen autentikáció esetén. Böngészőből tesztelhető az autentikáció, ha a címsorba a https://api.managedoc.com/me.json címet írjuk, és a felugró ablakba beírjuk a belépési adatainkat. A válasznak ilyennek kell lennie:

{"user":"attila.hofferek@managedoc.com"}

Teszt

Ennek segítségével lehet tesztelni az autentikáció sikerességét.

Kérés:

URI: GET /me.json

Várt paraméterek:

nincsenek

Válasz:

(HTTP 200)

{

"user": "STRING[1..100]"

}

Visszaadott mezők:

user

a belépett felhasználó azonosítója

Lehetséges hibák:

405

PUT, POST vagy DELETE metódus esetén

ÁSZF

Lekérhető az aktuális, orvosok számára készített ÁSZF. Autentikáció nélkül elérhető.

Kérés:

URI: GET /eula.json

Várt paraméterek:

nincsenek

Válasz:

(HTTP 200)

{

"eula": "STRING"

}

Visszaadott mezők:

eula

az aktuális ÁSZF szövege

Regisztráció

Új felhasználó regisztrációja

Kérés:

URI: POST /registration.json

Várt paraméterek:

email

az új felhasználó e-mail címe

phone

az új felhasználó telefonszáma. a következő mintára kell illeszkednie:

^\+?[0-9 ]{6,50}$

plainPassword

az új felhasználó jelszava

Válasz:

(HTTP 201)

{

"email": "STRING"

}

Visszaadott mezők:

email

az új felhasználó e-mail címe

Lehetséges hibák:

405

PUT, GET vagy DELETE metódus esetén

409

a megadott e-mail cím már létezik a rendszerünkben

415

az adatok formátumával baj van, részletek a visszaadott hiba objektumban

Lehetséges hibakódok:

(HTTP 415)

120

nem várt adatmező van az adatok közt

1410

a login e-mail cím üres

1411

a login e-mail cím túl rövid

1412

a login e-mail cím túl hosszú

1413

a login e-mail cím nem megfelelő formátumú

1420

a jelszó üres

1330

a telefonszám üres

1331

a telefonszám túl rövid

1332

a telefonszám túl hosszú

1333

a telefonszám nem megfelelő formátumú

Jelszóemlékeztető

Elfelejtett jelszó beállító link kiküldése a megadott e-mail címre

Kérés:

URI: POST /password.json

Várt paraméterek:

email

aj felhasználó e-mail címe

Válasz:

(HTTP 201)

{

"email": "STRING"

}

Visszaadott mezők:

email

az új felhasználó e-mail címe

Lehetséges hibák:

405

PUT, GET vagy DELETE metódus esetén

415

az adatok formátumával baj van, részletek a visszaadott hiba objektumban

Lehetséges hibakódok:

(HTTP 415)

1410

a login e-mail cím üres

A felhasználó által kezelhető klinikák listája

Csak ezeknek a klinikáknak az adataihoz férhet hozzá a felhasználó, minden másra 404­-es HTTP státuszt kap.

Kérés:

URI: GET /locations.json

Várt paraméterek:

nincsenek

Válasz:

(HTTP 200)

[

{

"id": "STRING[1..40]",

"name": "STRING[1..100]",

"customFieldsEnabled":

{

"custom1": “BOOLEAN”,

"custom2": “BOOLEAN”,

"custom3": “BOOLEAN”,

"custom4": “BOOLEAN”,

"custom5": “BOOLEAN”,

"custom5Text": “STRING[1..128]”,

"custom6": “BOOLEAN”,

"custom6Text": “STRING[1..128]”

}

},

...

]

Visszaadott mezők:

id

a rendelő azonosítója

name

a rendelő neve

customFieldsEnabled.custom[1-6]

megadja, hogy be van-e kapcsolva a klinika beállításai közt az adott számú egyedi páciens adat bekérése. Ld rendelő beállítások, foglalási felület pácienseknek

customFieldsEnabled.custom[5-6]Text

a szabadon megadható egyéni paraméterek neveit adja vissza

Lehetséges hibák:

405

PUT, POST vagy DELETE metódus esetén

Orvos

Orvosok listája

Ezekhez az orvosokhoz lehet foglalni időpontot

Kérés:

URI: GET /location/{location.id}/experts.json

Várt paraméterek:

location.id

az adott rendelő azonosítója, üres vagy túl hosszú érték esetén automatikusan hibakód nélküli 404­es státuszt ad

Válasz:

(HTTP 200)

[

{

"id": "STRING[1..40]",

"name": "STRING[2..100]",

“picture”: "STRING[2..100]",

“email”: "STRING[1..128]",

“worktime”:

                {

"odd":

{

"monday": [ "STRING[5]", "STRING[5]" ],

"tuesday": [ "STRING[5]", "STRING[5]" ],

"wednesday": [ "STRING[5]", "STRING[5]" ],

"thursday": [ "STRING[5]", "STRING[5]" ],

"friday": [ "STRING[5]", "STRING[5]" ],

"saturday": [ "STRING[5]", "STRING[5]" ],

"sunday": [ "STRING[5]", "STRING[5]" ]

},

"even":

{

"monday": [ "STRING[5]", "STRING[5]" ],

"tuesday": [ "STRING[5]", "STRING[5]" ],

"wednesday": [ "STRING[5]", "STRING[5]" ],

"thursday": [ "STRING[5]", "STRING[5]" ],

"friday": [ "STRING[5]", "STRING[5]" ],

"saturday": [ "STRING[5]", "STRING[5]" ],

"sunday": [ "STRING[5]", "STRING[5]" ]

}

},

"consultations":

[

{

"id": "STRING[1..40]",

"name": "STRING[2..100]",

"duration": INT(5..)

},

        ...

],

"isActualUser": “BOOLEAN”

},

...

]

Visszaadott mezők:

id

az orvos azonosítója

name

az orvos neve

picture

az orvos profilképe, teljes url

email

az orvos e-mail címe

worktime

a fenti formátumú tömb szerkezetben lehet lekérdezni. Ha nincs külön páros és páratlan heti rendelés, akkor az oddWeek és az evenWeek alatti értékek megegyeznek, vagy nincs evenWeek. Amelyik napon az orvos nem rendel, az a nap nincs benne a tömbben. Ha az orvos csak előre egyeztetett alkalmakkor rendel, akkor a "worktime" tömb üres is lehet. Az 5 karakter hosszú adattagok "óó:pp" formátumúak.

consultations

az orvos által végzett szolgáltatások listája

consultations.id

a szolgáltatás azonosítója

consultations.name

a szolgáltatás neve

consultations.duration

a szolgáltatás időtartama percben, jelenleg ez a szám 5 egész többszöröse lehet

isActualUser

megmutatja, hogy az aktuálisan belépett felhasználóhoz tartozik-e ez az orvos, mivel nem feltétlenül ugyanaz az e-mail címe az orvosnak, mint amivel belép a felhasználó a rendszerbe

Lehetséges hibák:

404

az adott rendelő nem létezik, a felhasználónak nincs joga az adott rendelő kezelésére, vagy a rendelő azonosítója üres vagy 40 karakternél hosszabb

Orvos felvitele

Az orvost meghívás és e-mail cím megerősítés nélkül felviszi az adott rendelőhöz. Profilképet az orvos a saját profillapján tud feltölteni.

Kérés:

URI: POST /location/{location.id}/experts.json

Várt paraméterek:

location.id

az adott rendelő azonosítója, üres vagy túl hosszú érték esetén automatikusan hibakód nélküli 404­es státuszt ad

Várt adatok:

{

["id": "STRING[1..40]",]

"name": "STRING[1..100]",

"specialty": "STRING[1..80]",

"email": "STRING[1..120]",

"worktime":

        {

                "odd":

{

"monday": [ "STRING[5]", "STRING[5]" ],

"tuesday": [ "STRING[5]", "STRING[5]" ],

"wednesday": [ "STRING[5]", "STRING[5]" ],

"thursday": [ "STRING[5]", "STRING[5]" ],

"friday": [ "STRING[5]", "STRING[5]" ],

"saturday": [ "STRING[5]", "STRING[5]" ],

"sunday": [ "STRING[5]", "STRING[5]" ]

},

                "even":

{

"monday": [ "STRING[5]", "STRING[5]" ],

"tuesday": [ "STRING[5]", "STRING[5]" ],

"wednesday": [ "STRING[5]", "STRING[5]" ],

"thursday": [ "STRING[5]", "STRING[5]" ],

"friday": [ "STRING[5]", "STRING[5]" ],

"saturday": [ "STRING[5]", "STRING[5]" ],

"sunday": [ "STRING[5]", "STRING[5]" ]

}

},

        "consultations": [STRING, ...]

}

id

azonosító, nem kötelező, ha nem létezik, akkor a rendszer automatikusan generál egyet, de ha létezik a mező, akkor azt tekinti azonosítónak

name

az orvos neve

specialty

az orvos szakterülete

email

e-mail cím

worktime

a fenti formátumú tömb szerkezetben kell megadni. Ha nincs külön páros és páratlan heti rendelés, akkor az "evenWeek" elhagyható. Amelyik napon az orvos nem rendel, az a nap elhagyható. Ha az orvos csak előre egyeztetett alkalmakkor rendel, akkor a "worktime" tömb üres is lehet, és "Rendkívüli rendelés" foglalással fel lehet venni a rendelést. Az 5 karakter hosszú adattagok "óó:pp" formátumúak.

consultations

rendelés azonosítók, amiket az orvos végez

Válasz:

(HTTP 201)

{

"id": "STRING[1..40]"

}

id

az orvos azonosítója

Lehetséges hibák:

400

a küldött JSON objektum invalid

404

az adott rendelő nem létezik, a felhasználónak nincs joga az adott rendelő kezelésére, vagy a rendelő azonosítója üres vagy 40 karakternél hosszabb

409

az adott orvosnak ez lenne az adott időszakban a 4. időpontja, részletek a visszaadott hiba objektumban, vagy meg van adva az időpont azonosítója és az már létezik a rendszerben

410

a megadott szolgáltatások valamelyike nem található

415

az adatok formátumával baj van, részletek a visszaadott hiba objektumban

Lehetséges hibakódok:

(HTTP 409)

1101

az adott azonosító már létezik

(HTTP 410)

1255

a szolgáltatás nem létezik

(HTTP 415)

120

nem várt adatmező van az adatok közt

1221

az orvos azonosító már létezik

1222

az orvos azonosító mező túl hosszú

1223

az orvos azonosító nem megfelelő formátumú

1253

a szolgáltatás azonosító nem megfelelő formátumú

1280

az orvos email címe üres

1281

az orvos email címe túl rövid

1282

az orvos email címe túl hosszú

1283

az orvos email címe nem megfelelő formátumú

1290

a szakterület üres

1292

a szakterület túl hosszú

1300

az orvos neve üres

1302

az orvos neve túl hosszú

1303

az orvos neve nem megfelelő formátumú

1363

a rendelési idő nem megfelelő formátumú

Orvos módosítása

Az orvos nevének, szakterületének, e-mail címének, rendeléseinek és a rendelési idejének módosítása.

Kérés:

URI: PUT /location/{location.id}/experts.json

Várt paraméterek:

location.id

az adott rendelő azonosítója, üres vagy túl hosszú érték esetén automatikusan hibakód nélküli 404­es státuszt ad

Várt adatok:

{

"id": "STRING[1..40]",

["name": "STRING[1..100]",]

["specialty": "STRING[1..80]",]

["email": "STRING[1..120]",]

["worktime":

        {

                "oddWeek":

{

"monday": [ "STRING[5]", "STRING[5]" ],

"tuesday": [ "STRING[5]", "STRING[5]" ],

"wednesday": [ "STRING[5]", "STRING[5]" ],

"thursday": [ "STRING[5]", "STRING[5]" ],

"friday": [ "STRING[5]", "STRING[5]" ],

"saturday": [ "STRING[5]", "STRING[5]" ],

"sunday": [ "STRING[5]", "STRING[5]" ]

},

                "evenWeek":

{

"monday": [ "STRING[5]", "STRING[5]" ],

"tuesday": [ "STRING[5]", "STRING[5]" ],

"wednesday": [ "STRING[5]", "STRING[5]" ],

"thursday": [ "STRING[5]", "STRING[5]" ],

"friday": [ "STRING[5]", "STRING[5]" ],

"saturday": [ "STRING[5]", "STRING[5]" ],

"sunday": [ "STRING[5]", "STRING[5]" ]

}

},]

        ["consultations": [ "STRING", ...]]

}

id

azonosító, kötelező megadni

name

az orvos neve, nem kötelező

specialty

az orvos szakterülete, nem kötelező

email

e-mail cím, nem kötelező

worktime

rendelési idők, nem kötelező

consultations

rendelés azonosítók, amiket az orvos végez, nem kötelező

a nem kötelező mezők megadásakor a POST metódusnál leírt formátumot kell betartani

Válasz:

(HTTP 201)

{

"id": "STRING[1..40]"

}

id

az orvos azonosítója

Lehetséges hibák:

400

a küldött JSON objektum invalid

404

az adott rendelő nem létezik, a felhasználónak nincs joga az adott rendelő kezelésére, vagy a rendelő azonosítója üres vagy 40 karakternél hosszabb

410

a megadott azonosítók valamelyike nem található

415

az adatok formátumával baj van, részletek a visszaadott hiba objektumban

Lehetséges hibakódok:

(HTTP 410)

1120

az adott orvos nem található

1150

a megadott szolgáltatások valamelyike nem található

(HTTP 415)

110

minimum egy adatmezőt meg kell adni

120

nem várt adatmező van az adatok közt

1302

az orvos neve túl hosszú

1303

az orvos neve nem megfelelő formátumú

1222

az orvos azonosító mező túl hosszú

1223

az orvos azonosító nem megfelelő formátumú

1253

a szolgáltatás azonosító nem megfelelő formátumú

1281

az orvos email címe túl rövid

1282

az orvos email címe túl hosszú

1283

az orvos email címe nem megfelelő formátumú

1292

a szakterület túl hosszú

1363

a rendelési idő nem megfelelő formátumú

Orvos törlése

Kérés:

URI: DELETE /location/{location.id}/expert-{expert.id}.json

Várt paraméterek:

location.id

az adott rendelő azonosítója, üres vagy túl hosszú érték esetén automatikusan hibakód nélküli 404­es státuszt ad

expert.id

az orvos azonosítója, üres vagy túl hosszú érték esetén automatikusan hibakód nélküli 404­es státuszt ad

Válasz:

(HTTP 204)

Nem küld vissza semmilyen adatot

Lehetséges hibák:

404

az adott rendelő nem létezik, a felhasználónak nincs joga az adott rendelő kezelésére, a rendelő illetve az orvos azonosítója üres vagy 40 karakternél hosszabb

405

GET, POST, PUT metódus esetén

Kezelések és vizsgálatok

Kezelések listája

Ezeket a szolgáltatásokat lehet orvosokhoz rendelni

Kérés:

URI: GET /location/{location.id}/consultations.json

Várt paraméterek:

location.id

az adott rendelő azonosítója, üres vagy túl hosszú érték esetén automatikusan hibakód nélküli 404­es státuszt ad

Válasz:

(HTTP 200)

[

{

"id": "STRING[1..40]",

"name": "STRING[2..100]",

"description": "STRING[1..240]",

"duration": INT(5..),

"visibility": "BOOLEAN"

},

...

]

Visszaadott mezők:

id

a szolgáltatás azonosítója

name

a szolgáltatás megnevezése

description

rövid leírás

duration

a szolgáltatás időtartama percben, jelenleg ez a szám 5 egész többszöröse lehet

visibility

megmutatja, hogy a szolgáltatás foglalható-e publikusan a pácienseknek

Lehetséges hibák:

404

az adott rendelő nem létezik, a felhasználónak nincs joga az adott rendelő kezelésére, vagy a rendelő azonosítója üres vagy 40 karakternél hosszabb

Különleges szolgáltatások

Minden felhasználónak alapértelmezetten elérhető, ún. technikai szolgáltatások is megjelennek a szolgáltatások listázásakor.

Rendkívüli rendelés

Azonosító: "exceptional-consultation"

Az ezzel a kezelés típussal elhelyezett időpontfoglalás mint szabad, elérhető, foglalható időpont jelenik meg a publikus időpontfoglaló felületen, a páciensek erre az időintervallumra is tudnak időpontot foglalni az általános foglalási szabályok alapján. A naptárban mint fehér, szabad időpont jelenik meg.

Rendelési szünet

Azonosító: "no-consultation"

Az ezzel a kezelés típussal elhelyezett időpontfoglalás mint rendelési szünet, nem elérhető időablak értelmezendő, a páciensek erre az időszakra nem tudnak publikusan időpontot foglalni. A naptárban mint szürke, rendelésen kívüli időpont jelenik meg.

Kezelés felvitele

Felvisz a rendszerbe egy kezelést vagy vizsgálatot, melyet ezután orvosokhoz lehet rendelni

Kérés:

URI: POST /location/{location.id}/consultations.json

Várt paraméterek:

location.id

az adott rendelő azonosítója, üres vagy túl hosszú érték esetén automatikusan hibakód nélküli 404­es státuszt ad

Várt adatok:

{

["id": "STRING[1..40]",]

"name": "STRING[2..100]",

"description": "STRING[1..240]",

"duration": INT(5..),

"visibility": "BOOLEAN"

}

id

azonosító, nem kötelező, ha nem létezik, akkor a rendszer automatikusan generál egyet, de ha létezik a mező, akkor azt tekinti azonosítónak

name

a szolgáltatás megnevezése

description

rövid leírás

duration

a szolgáltatás időtartama percben, jelenleg ez a szám 5 egész többszöröse lehet

visibility

megmutatja, hogy a szolgáltatás foglalható-e publikusan a pácienseknek

Válasz:

(HTTP 201)

{

"id": "STRING[1..40]",

"name": "STRING[2..100]",

"description": "STRING[1..240]",

"duration": INT(5..),

"visibility": "BOOLEAN"

}

id

a szolgáltatás azonosítója

name

a szolgáltatás megnevezése

description

rövid leírás

duration

a szolgáltatás időtartama percben, jelenleg ez a szám 5 egész többszöröse lehet

visibility

megmutatja, hogy a szolgáltatás foglalható-e publikusan a pácienseknek

Lehetséges hibák:

400

a küldött JSON objektum invalid

404

az adott rendelő nem létezik, a felhasználónak nincs joga az adott rendelő kezelésére, vagy a rendelő azonosítója üres vagy 40 karakternél hosszabb

409

az azonostó meg van adva, és az már létezik a rendszerben

415

az adatok formátumával baj van, részletek a visszaadott hiba objektumban

Lehetséges hibakódok:

(HTTP 409)

1101

az adott azonosító már létezik

(HTTP 415)

120

nem várt adatmező van az adatok közt

1370

a szolgáltatás neve üres

1372

a szolgáltatás neve túl hosszú

1380

a szolgáltatás leírása üres

1382

a szolgáltatás leírása túl hosszú

1240

a duration mező üres

1241

a duration mező értéke túl kicsi

1242

a duration mező értéke túl nagy

1243

a duration mező nem megfelelő formátumú

1244

a duration mező nem 5 egész többszöröse

1390

a visibility mező üres

Kezelés módosítása

Egy felvitt szolgáltatás tulajdonságait lehet módosítani

Kérés:

URI: PUT /location/{location.id}/consultations.json

Várt paraméterek:

location.id

az adott rendelő azonosítója, üres vagy túl hosszú érték esetén automatikusan hibakód nélküli 404­es státuszt ad

Várt adatok:

{

"id": "STRING[1..40]",

["name": "STRING[2..100]",]

["description": "STRING[1..240]",]

["duration": INT(5..),]

["visibility": "BOOLEAN"]

}

id

azonosító, kötelező

name

a szolgáltatás megnevezése, nem kötelező

description

rövid leírás, nem kötelező

duration

a szolgáltatás időtartama percben, jelenleg ez a szám 5 egész többszöröse lehet, nem kötelező

visibility

megmutatja, hogy a szolgáltatás foglalható-e publikusan a pácienseknek, nem kötelező

a nem kötelező mezők megadásakor a POST metódusnál leírt formátumot kell betartani

Válasz:

(HTTP 200)

{

"id": "STRING[1..40]"

}

id

a szolgáltatás azonosítója

Lehetséges hibák:

400

a küldött JSON objektum invalid

404

az adott rendelő nem létezik, a felhasználónak nincs joga az adott rendelő kezelésére, vagy a rendelő azonosítója üres vagy 40 karakternél hosszabb

410

a megadott azonosító nem létezik

415

az adatok formátumával baj van, részletek a visszaadott hiba objektumban

Lehetséges hibakódok:

(HTTP 410)

1255

a szolgáltatás nem létezik

(HTTP 415)

110

minimum egy adatmezőt meg kell adni

120

nem várt adatmező van az adatok közt

1210

az azonosító üres

1212

az azonosító túl hosszú

1213

az azonosító nem megfelelő formátumú

1372

a szolgáltatás neve túl hosszú

1382

a szolgáltatás leírása túl hosszú

1241

a duration mező értéke túl kicsi

1242

a duration mező értéke túl nagy

1243

a duration mező nem megfelelő formátumú

1244

a duration mező nem 5 egész többszöröse

Kezelés törlése

Kérés:

URI: DELETE /location/{location.id}/consultation-{consultation.id}.json

Várt paraméterek:

location.id

az adott rendelő azonosítója, üres vagy túl hosszú érték esetén automatikusan hibakód nélküli 404­es státuszt ad

consultation.id

a szolgáltatás azonosítója, üres vagy túl hosszú érték esetén automatikusan hibakód nélküli 404­es státuszt ad

Válasz:

(HTTP 204)

Nem küld vissza semmilyen adatot

Lehetséges hibák:

404

az adott szolgáltatás nem létezik, a felhasználónak nincs joga az adott rendelő kezelésére, a rendelő illetve az orvos azonosítója üres vagy 40 karakternél hosszabb

405

GET, POST, PUT metódus esetén

Időpont

Időpont foglalás

Időpont foglalása adott orvoshoz adott szolgáltatással

Kérés:

URI: POST /location/{location.id}/calendar.json

Várt paraméterek:

location.id

az adott rendelő azonosítója, üres vagy túl hosszú érték esetén automatikusan hibakód nélküli 404­es státuszt ad

Várt adatok:

{

["id": "STRING[1..40]",]

"expert": "STRING[1..40]",

"consultation": "STRING[1..40]",

"start": "STRING[12]",

"duration": "INT(0..1440)",

["clientName": "STRING[3..100]",]

["clientEmail": "STRING[6..128]",]

["clientPhone": "STRING[5..20]",]

["clientRemark": "STRING[0..200]",]

["innerRemark": "STRING[0..200]",]

["custom1": "STRING[0..128]",]

["custom2": "STRING[0..128]",]

["custom3": "STRING[0..128]",]

["custom4": "STRING[0..128]"]

["custom5": "STRING[0..128]"]

["custom6": "STRING[0..128]"]

["recurrent": "INT(0..3)"]

}

A []közé írt értékek lehetnek üresek, illetve már magának a kulcsnak a megléte sem kötelező a JSON objektumban, azonban ha létezik és nem üres, akkor a jelzett szabályok vonatkoznak az értékre.

id

a foglalás azonosítója, nem kötelező, ha nem lézetik, akkor a rendszer automatikusan generál egyet, de ha létezik a mező, akkor azt tekinti azonosítónak

expert

az orvos azonosítója

consultation

a végzett szolgáltatás azonosítója

start

a foglalt időpont kezdete, formátum: ÉÉÉÉHHNNÓÓPP, ahol PP=00,05,10,15,20,25,30,35,40,45,50,55

duration

a foglalt időpont időtartama, 5 egész többszörösének kell lennie, 0 esetén a szolgáltatás alapértelmezett időtartamával lesz rögzítve az időpont. Legnagyobb megengetett érték 1440 (24 óra), de a start mezőtől függ, maximum az adott nap éjfélig tarthat egy időpont, ha átnyúlna a következő napra, akkor hibás az adat

clientName

a páciens neve, nem kötelező, de ha meg van adva, akkor minimum 3 karaktert és egy space­t kell tartalmaznia

clientEmail

a páciens e­mail címe, ahova az értesítéseket fogja kapni, nem kötelező, de ha meg van adva, akkor valid e­-mail címnek kell lennie

clientPhone

a páciens telefonszáma, nem kötelező

clientRemark

a páciens megjegyzése, nem kötelező

innerRemark

belső megjegyzés, a páciens nem látja, nem kötelező

custom1

egyedi paraméter - Születési hely

custom2

egyedi paraméter - Születési idő

custom3

egyedi paraméter - Anyja neve

custom4

egyedi paraméter - TAJ szám

custom5

egyedi paraméter - egyedi, az admin felületen konfigurálható

custom6

egyedi paraméter - egyedi, az admin felületen konfigurálható

recurrent

ismétlődés - 0: nincs, 1: napi, 2: heti, 3: havi

Válasz:

(HTTP 201)

{

"id": "STRING[1..40]",

"start": "STRING[12]",

"duration": INT

}

id

a foglalt időpont azonosítója (utólagos módosításhoz, illetve lemondáshoz kelleni fog)

start

a foglalás kezdete

duration

a foglalás időtartama

Lehetséges hibák:

400

a küldött JSON objektum invalid

404

az adott rendelő nem létezik, a felhasználónak nincs joga az adott rendelő kezelésére, vagy a rendelő azonosítója üres vagy 40 karakternél hosszabb

405

GET, DELETE metódus esetén

409

az adott orvosnak ez lenne az adott időszakban a 4. időpontja, részletek a visszaadott hiba objektumban, vagy meg van adva az időpont azonosítója és az már létezik a rendszerben

410

az orvos vagy a szolgáltatás nem található, részletek a visszaadott hiba objektumban

415

az adatok formátumával baj van, részletek a visszaadott hiba objektumban

Lehetséges hibakódok:

(HTTP 409)

1101

az adott azonosító már létezik

1122

az adott orvosnak már van 3 időpontja az adott időszakban

(HTTP 410)

1120

az adott orvos nem található

1150

az adott szolgáltatás nem található

(HTTP 415)

120

nem várt adatmező van az adatok közt

1212

az azonosító túl hosszú

1213

az azonosító nem megfelelő formátumú

1220

az orvos azonosító mező üres

1222

az orvos azonosító mező túl hosszú

1223

az orvos azonosító nem megfelelő formátumú

1250

a szolgáltatás mező üres

1252

a szolgáltatás mező túl hosszú

1253

a szolgáltatás azonosító nem megfelelő formátumú

1254

az adott szolgáltatást nem végzi az adott orvos

1230

a start mező üres

1231

a start mező túl rövid

1232

a start mező túl hosszú

1233

a start mező nem megfelelő formátumú

1234

a start mező egy múltbéli dátumot tartalmaz

1240

a duration mező üres

1241

a duration mező értéke túl kicsi

1242

a duration mező értéke túl nagy

1243

a duration mező nem megfelelő formátumú

1244

a duration mező nem 5 egész többszöröse

1311

a páciens neve túl rövid

1312

a páciens neve túl hosszú

1313

a páciens neve nem megfelelő formátumú

1321

a páciens e­mail címe túl rövid

1322

a páciens e­mail címe túl hosszú

1323

a páciens e­mail címe nem megfelelő formátumú

1342

a páciens megjegyzése túl hosszú

1352

a belső megjegyzés túl hosszú

1400

a recurrent mező nincs megadva

1401

a recurrent mező túl kicsi

1402

a recurrent mező túl nagy

1403

a recurrent mező nem megfelelő formátumú

Időpont módosítása

Adott időpont módosítása

Kérés:

URI: PUT /location/{location.id}/calendar.json

Várt paraméterek:

location.id

az adott rendelő azonosítója, üres vagy túl hosszú érték esetén automatikusan hibakód nélküli 404­es státuszt ad

Várt adatok:

{

"id": "STRING[1..40]",

["consultation": "STRING[1..40]",]

["start": "STRING[12]",]

["duration": "INT(5..1440)",]

["clientName": "STRING[0..100]",]

["clientEmail": "STRING[0..128]",]

["clientPhone": "STRING[0..20]",]

["clientRemark": "STRING[0..200]",]

["innerRemark": "STRING[0..200]",]

["custom1": "STRING[0..200]",]

["custom2": "STRING[0..200]",]

["custom3": "STRING[0..200]",]

["custom4": "STRING[0..200]",]

["custom5": "STRING[0..200]",]

["custom6": "STRING[0..200]",]

["recurrent": "INT(0..3)"]

}

A []közé írt értékek lehetnek üresek, illetve már magának a kulcsnak a megléte sem kötelező a JSON objektumban, azonban ha létezik és nem üres, akkor a jelzett szabályok vonatkoznak az értékre.

id

a foglalás azonosítója

consultation

az új szolgáltatás azonosítója, nem kötelező, ha nem változott

start

az időpont új kezdete kezdete, formátum: ÉÉÉÉHHNNÓÓPP, nem kötelező, ha nem változott, de a duration mezővel együtt küldeni kell

duration

az időpontúj időtartama, 5 egész többszörösénk kell lennie, nem kötelező, ha nem változott, de a start mezővel együtt küldeni kell. Legnagyobb megengetett érték 1440 (24 óra), de a start mezőtől függ, maximum az adott nap éjfélig tarthat egy időpont, ha átnyúlna a következő napra, akkor hibás az adat

clientName

a páciens neve, nem kötelező, ha nem változott, de ha meg van adva, akkor minimum 3 karaktert és egy space­t kell tartalmaznia. Ha létezik a mező, akkor üres string esetén is felülírja a régi értéket

clientEmail

a páciens e-­mail címe, ahova az értesítéseket fogja kapni, nem kötelező, ha nem változott, de ha meg van adva, akkor valid e­-mail címnek kell lennie. Ha létezik a mező, akkor üres string esetén is felülírja a régi értéket

clientPhone

a páciens telefonszáma, nem kötelező, ha nem változott

clientRemark

a páciens megjegyzése, nem kötelező, ha nem változott Ha létezik a mező, akkor üres string esetén is felülírja a régi értéket

innerRemark

belső megjegyzés, a páciens nem látja, nem kötelező, ha nem változott. Ha létezik a mező, akkor üres string esetén is felülírja a régi értéket

custom1

egyedi paraméter - Születési hely

custom2

egyedi paraméter - Születési idő

custom3

egyedi paraméter - Anyja neve

custom4

egyedi paraméter - TAJ szám

custom5

egyedi paraméter - egyedi, az admin felületen konfigurálható

custom6

egyedi paraméter - egyedi, az admin felületen konfigurálható

recurrent

ismétlődés - 0: nincs, 1: napi, 2: heti, 3: havi

                          

Válasz:

(HTTP 200)

{

"id": "STRING[1..40]",

"start": "STRING[12]",

"duration": INT

}

id

a foglalt időpont azonosítója

start

az időpont kezdete

duration

az időpont időtartama

Lehetséges hibák:

400

a küldött JSON objektum invalid

404

az adott rendelő nem létezik, a felhasználónak nincs joga az adott rendelő kezelésére, vagy a rendelő azonosítója üres vagy 40 karakternél hosszabb

405

GET, DELETE metódus esetén

409

amennyiben a szolgáltatatás vagy az időpontok változtak, akkor az adott orvosnak ez lenne az adott időszakban a 4. időpontja, részletek a visszaadott hiba objektumban

410

az időpont vagy a szolgáltatás nem található, részletek a visszaadott hiba objektumban

415

az adatok formátumával baj van, részletek a visszaadott hiba objektumban

Lehetséges hibakódok:

(HTTP 409)

1122

az adott orvosnak már van 3 időpontja az adott időszakban

(HTTP 410)

1100

az adott azonosítójú időpont nem létezik

1150

az adott szolgáltatás nem található

(HTTP 415)

110

minimum egy adatmezőt meg kell adni

120

nem várt adatmező van az adatok közt

1210

az azonosító üres

1212

az azonosító túl hosszú

1213

az azonosító nem megfelelő formátumú

1252

a szolgáltatás mező túl hosszú

1254

az adott szolgáltatást nem végzi az adott orvos

1231

a start mező túl rövid

1232

a start mező túl hosszú

1233

a start mező nem megfelelő formátumú

1234

a start mező egy múltbéli dátumot tartalmaz

1235

a start mező a rendszerben levő duration mezőhöz viszonyítva túl nagy

1241

a duration mező értéke túl kicsi

1242

a duration mező értéke túl nagy

1243

a duration mező nem megfelelő formátumú

1244

a duration mező nem 5 egész többszöröse

1311

a páciens neve túl rövid

1312

a páciens neve túl hosszú

1313

a páciens neve nem megfelelő formátumú

1321

a páciens e­mail címe túl rövid

1322

a páciens e­mail címe túl hosszú

1323

a páciens e­mail címe nem megfelelő formátumú

1342

a páciens megjegyzése túl hosszú

1352

a belső megjegyzés túl hosszú

1401

a recurrent mező túl kicsi

1402

a recurrent mező túl nagy

1403

a recurrent mező nem megfelelő formátumú

Időpont lemondása

Adott időpont lemondása

Kérés:

URI: DELETE /location/{location.id}/calendar-­{appointment.id}.json

Várt paraméterek:

location.id

az adott rendelő azonosítója, üres vagy túl hosszú érték esetén automatikusan hibakód nélküli 404­es státuszt ad

appointment.id

az időpont azonosítója, üres vagy túl hosszú érték esetén automatikusan hibakód nélküli 404­es státuszt ad

Válasz:

(HTTP 204)

Nem küld vissza semmilyen adatot

Lehetséges hibák:

400

a küldött JSON objektum invalid

404

az adott rendelő nem létezik, a felhasználónak nincs joga az adott rendelő kezelésére, a rendelő illetve az időpont azonosítója üres vagy 40 karakternél hosszabb

405

GET, POST, PUT metódus esetén

Adott orvos időpontjainak lekérése

Adott orvos időpintjainak lekérése adott időszakra. Az ezen időszakba belenyúló időpontok is megjelennek, nem csak azok, amik teljesen benne vannak, így például lekérhető, hogy egy adott időpontban mit csinál az orvos, ha a start és az end paraméter azonos

Kérés:

URI: GET /location/{location.id}/expert/{expert.id}/calendar-­{start}-­{end}.json

Várt paraméterek:

location.id

az adott rendelő azonosítója, üres vagy túl hosszú érték esetén automatikusan hibakód nélküli 404­es státuszt ad

expert.id

az adott orvos azonosítója, üres vagy túl hosszú érték esetén automatikusan hibakód nélküli 404­es státuszt ad

start

a kért időintervallum kezdete, formátum: ÉÉÉÉHHNNÓÓPP, ha ettől eltér az érték, akkor automatikusan hibakód nélküli 404­es státuszt ad

end

a kért időintervallum vége, formátum: ÉÉÉÉHHNNÓÓPP, ha ettől eltér az érték, akkor automatikusan hibakód nélküli 404­es státuszt ad

                          

Válasz:

(HTTP 200)

[

{

"id": "STRING[1..40]",

"start": "STRING[12]",

"duration": INT

"consultation": "STRING[1..40]",

"expert": "STRING[1..40]",

"clientName": "STRING[0..100]",

"clientEmail": "STRING[0..128]",

"clientPhone": "STRING[0..20]",

"clientRemark": "STRING[0..200]",

"innerRemark": "STRING[0..200]",

"custom1": "STRING[0..200]",

"custom2": "STRING[0..200]",

"custom3": "STRING[0..200]",

"custom4": "STRING[0..200]",

"custom5": "STRING[0..200]",

"custom6": "STRING[0..200]",

"canceled": INT,

"isPublicReservation": “BOOLEAN”

},

...

]

id

a foglalt időpont azonosítója

start

az időpont kezdete

duration

az időpont időtartama

consultation

a szolgáltatás azonosítója

expert

az orvos azonosítója

clientName

a páciens neve

clientEmail

a páciens e-­mail címe

clientPhone

a páciens telefonszáma

clientRemark

a páciens megjegyzése

innerRemark

belső megjegyzés

custom1

egyedi paraméter

custom2

egyedi paraméter

custom3

egyedi paraméter

custom4

egyedi paraméter

custom5

egyedi paraméter

custom6

egyedi paraméter

canceled

az időpont lemondási állapotát mutatja. 0: nincs lemondva, 1: orvos vagy adminisztrátor által törölt, 2: páciens által lemondott, 3: előfoglalt, de nem véglegesített, és 10 perc után automatiksan felszabadított időpont

isPublicReservation

a foglalás a MeetDoc-on páciens által lett kezdeményezve (true), vagy a ManageDoc-on az orvos által (false)

Lehetséges hibák:

404

az adott rendelő nem létezik, a felhasználónak nincs joga az adott rendelő kezelésére, a start vagy end mező formátuma nem megfelelő (nem 12 számjegyből áll), vagy a rendelő vagy orvos azonosító üres vagy hosszabb, mint 40 karakter

405

PUT, POST és DELETE metódus esetén

410

az orvos nem található, részletek a visszaadott hiba objektumban

415

az adatok formátumával baj van, részletek a visszaadott hiba objektumban

Lehetséges hibakódok:

(HTTP 410)

1120

az adott orvos nem található

(HTTP 415)

1233

a start mező nem megfelelő formátumú

1263

az end mező nem megfelelő formátumú

1264

az end mező értéke kisebb, mint a start mezőé

Adott orvos időpont változásainak lekérése

Adott orvos adott időn belül módosított időpontjainak lekérése adott időszakra.

Kérés:

URI: GET /location/{location.id}/expert/{expert.id}/calendar-­{start}-­{end}-{since}.json

Várt paraméterek:

az első négy paraméter megegyezik az orvos időpontjainak lekérdezésénél leírtakkal

since

csak ebben a paraméterben megadottnál újabb módosítások listázása, formátum: ÉÉÉÉHHNNÓÓPP, ha ettől eltér az érték, akkor automatikusan hibakód nélküli 404­es státuszt ad

A válasz formátuma és a lehetséges hibakódok is megegyeznek az előzőleg leírtakkal, egy új hibakód kivételével:

1433

a since mező nem megfelelő formátumú

Az alapértelmezettől eltérő rendelési idő

Lehetőség van az orvos profillapján megadott, alapértelmezett rendelési időtől eltérő rendelési időszak megadására.

Rendelési időszakok listája

Ezek az időszakok vannak felüldefiniálva

Kérés:

URI: GET /location/{location.id}/expert/{expert.id}/consulting-range.json

Várt paraméterek:

location.id

az adott rendelő azonosítója, üres vagy túl hosszú érték esetén automatikusan hibakód nélküli 404­es státuszt ad

expert.id

az orvos azonosítója akihez a rendelési időszakot felvisszük

Válasz:

(HTTP 200)

[

{

"id": "STRING[1..40]",

"start": "STRING[12]",

"end": "STRING[12]",

"worktime": {

"odd": {

"sunday":    ["STRING[5]", "STRING[5]"],

"monday":    ["STRING[5]", "STRING[5]"],

"tuesday":   ["STRING[5]", "STRING[5]"],

"wednesday": ["STRING[5]", "STRING[5]"],

"thursday":  ["STRING[5]", "STRING[5]"],

"friday":    ["STRING[5]", "STRING[5]"],

"saturday":  ["STRING[5]", "STRING[5]"]

},

"even": {

"sunday":    ["STRING[5]", "STRING[5]"],

"monday":    ["STRING[5]", "STRING[5]"],

"tuesday":   ["STRING[5]", "STRING[5]"],

"wednesday": ["STRING[5]", "STRING[5]"],

"thursday":  ["STRING[5]", "STRING[5]"],

"friday":    ["STRING[5]", "STRING[5]"],

"saturday":  ["STRING[5]", "STRING[5]"]

}

}

},

...

]

Visszaadott mezők:

id

az időszak azonosítója

start

az időszak kezdete, formátum: ÉÉÉÉHHNNÓÓPP

end

az időszak vége, formátum: ÉÉÉÉHHNNÓÓPP

worktime

Ha nincs külön páros és páratlan heti rendelés, akkor az "even" nincs jelen. Amelyik napon az orvos nem rendel, az a nap nincs jelen. Ha az orvos csak előre egyeztetett alkalmakkor rendel, akkor a "worktime" tömb üres is lehet. Az 5 karakter hosszú adattagok "ÓÓ:PP" formátumúak.

Lehetséges hibák:

404

az adott rendelő nem létezik, a felhasználónak nincs joga az adott rendelő kezelésére, vagy a rendelő azonosítója üres vagy 40 karakternél hosszabb

410

az adott orvos nem létezik, vagy nem ebben a rendelőben dolgozik

Időszak felvitele

Új rendelési időszakot tud felvinni, orvos és rendelő megadásával.

Kérés:

URI: POST /location/{location.id}/expert/{expert.id}/consulting-range.json

Várt paraméterek:

location.id

az adott rendelő azonosítója, üres vagy túl hosszú érték esetén automatikusan hibakód nélküli 404­es státuszt ad

expert.id

az orvos azonosítója akihez a rendelési időszakot felvisszük

Várt adatok:

{

"start": "STRING[12]",

"end": "STRING[12]",

"worktime": {

"odd": {

"sunday":   ["STRING[5]", "STRING[5]"],

"tuesday":   ["STRING[5]", "STRING[5]"],

"wednesday": ["STRING[5]", "STRING[5]"],

"thursday":  ["STRING[5]", "STRING[5]"],

"friday":    ["STRING[5]", "STRING[5]"],

"saturday":  ["STRING[5]", "STRING[5]"]

},

"even": {

"sunday":   ["STRING[5]", "STRING[5]"],

"monday":    ["STRING[5]", "STRING[5]"],

"tuesday":   ["STRING[5]", "STRING[5]"],

"wednesday": ["STRING[5]", "STRING[5]"],

"thursday":  ["STRING[5]", "STRING[5]"],

"friday":    ["STRING[5]", "STRING[5]"],

"saturday":  ["STRING[5]", "STRING[5]"]

}

}

}

start

az időszak kezdete, formátum: ÉÉÉÉHHNNÓÓPP

end

az időszak vége, formátum: ÉÉÉÉHHNNÓÓPP

worktime

a fenti formátumú tömb szerkezetben kell megadni. Ha nincs külön páros és páratlan heti rendelés, akkor az "even" elhagyható. Amelyik napon az orvos nem rendel, az a nap elhagyható. Ha az orvos csak előre egyeztetett alkalmakkor rendel, akkor a "worktime" tömb üres is lehet, és "Rendkívüli rendelés" foglalással fel lehet venni a rendelést. Az 5 karakter hosszú adattagok "ÓÓ:PP" formátumúak.

Válasz:

(HTTP 201)

{

"id": "STRING[1..40]"

}

id

az időszak azonosítója

Lehetséges hibák:

400

a küldött JSON objektum invalid

404

az adott rendelő nem létezik, a felhasználónak nincs joga az adott rendelő kezelésére, vagy a rendelő azonosítója üres vagy 40 karakternél hosszabb

410

a megadott orvos nem található

415

az adatok formátumával baj van, részletek a visszaadott hiba objektumban

(HTTP 410)

1255

az orvos nem létezik

(HTTP 415)

120

nem várt adatmező van az adatok közt

1230

a start mező üres

1231

a start mező túl rövid

1232

a start mező túl hosszú

1233

a start mező nem megfelelő formátumú

1236

az end mező üres

1237

az end mező túl rövid

1238

az end mező túl hosszú

1239

az end mező nem megfelelő formátumú

1363

a rendelési idő nem megfelelő formátumú

Időszak módosítása

Kérés:

URI: PUT /location/{location.id}/expert/{expert.id}/consulting-range.json

Várt paraméterek:

location.id

az adott rendelő azonosítója, üres vagy túl hosszú érték esetén automatikusan hibakód nélküli 404­es státuszt ad

expert.id

az orvos azonosítója akihez a rendelési időszakot felvisszük

Várt adatok:

{

"id": "STRING[1..40]",

["start": "STRING[12]",]

["end": "STRING[12]",]

["worktime":

        {

                "odd":

{

"monday": [ "STRING[5]", "STRING[5]" ],

"tuesday": [ "STRING[5]", "STRING[5]" ],

"wednesday": [ "STRING[5]", "STRING[5]" ],

"thursday": [ "STRING[5]", "STRING[5]" ],

"friday": [ "STRING[5]", "STRING[5]" ],

"saturday": [ "STRING[5]", "STRING[5]" ],

"sunday": [ "STRING[5]", "STRING[5]" ]

},

                "even":

{

"monday": [ "STRING[5]", "STRING[5]" ],

"tuesday": [ "STRING[5]", "STRING[5]" ],

"wednesday": [ "STRING[5]", "STRING[5]" ],

"thursday": [ "STRING[5]", "STRING[5]" ],

"friday": [ "STRING[5]", "STRING[5]" ],

"saturday": [ "STRING[5]", "STRING[5]" ],

"sunday": [ "STRING[5]", "STRING[5]" ]

}

}]

}

id

az időszak azonosítója

start

az időszak kezdete, formátum: ÉÉÉÉHHNNÓÓPP

end

az időszak vége, formátum: ÉÉÉÉHHNNÓÓPP

worktime

a fenti formátumú tömb szerkezetben kell megadni, ld POST metódus

Válasz:

(HTTP 201)

{

"id": "STRING[1..40]"

}

id

az időszak azonosítója

Lehetséges hibák:

400

a küldött JSON objektum invalid

404

az adott rendelő nem létezik, a felhasználónak nincs joga az adott rendelő kezelésére, vagy a rendelő azonosítója üres vagy 40 karakternél hosszabb

410

a megadott orvos nem található

415

az adatok formátumával baj van, részletek a visszaadott hiba objektumban

(HTTP 410)

1255

az orvos nem létezik

(HTTP 415)

120

nem várt adatmező van az adatok közt

1231

a start mező túl rövid

1232

a start mező túl hosszú

1233

a start mező nem megfelelő formátumú

1237

az end mező túl rövid

1238

az end mező túl hosszú

1239

az end mező nem megfelelő formátumú

1363

a rendelési idő nem megfelelő formátumú

Időszak törlése

Kérés:

URI: DELETE /location/{location.id}/expert/{expert.id}/consulting-range-{consulting.id}.json

Várt paraméterek:

location.id

az adott rendelő azonosítója, üres vagy túl hosszú érték esetén automatikusan hibakód nélküli 404­es státuszt ad

expert.id

az orvos azonosítója, üres vagy túl hosszú érték esetén automatikusan hibakód nélküli 404­es státuszt ad

consulting.id

az időszak azonosítója

Válasz:

(HTTP 204)

Nem küld vissza semmilyen adatot

Lehetséges hibák:

404

az adott azonosító, rendelő nem létezik, a felhasználónak nincs joga az adott rendelő kezelésére, a rendelő illetve az orvos azonosítója üres vagy 40 karakternél hosszabb

405

GET, POST, PUT metódus esetén

Push API

A ManageDoc rendszer képes a keletkezett időpontokat egy előre beállított API végpontra továbbítani.

Metódusok

POST

Új időpont létrehozása. Kezelt HTTP válaszok: 201, 400, 404, 405, 409, 410, 415, 500

DELETE

Egy meglevő időpont törlése (lemondása). Kezelt HTTP válaszok: 204, 400, 404, 405, 500

PUT

Egy DELETE és egy POST hívás egymás után.

Paraméterek

Küldött paraméterek (ugyanazok a megkötések vonatkoznak rá

id

a foglalt időpont azonosítója

start

az időpont kezdete

duration

az időpont időtartama

consultation

a szolgáltatás azonosítója

expert

az orvos azonosítója

clientName

a páciens neve

clientEmail

a páciens e-­mail címe

clientPhone

a páciens telefonszáma

clientRemark

a páciens megjegyzése

innerRemark

belső megjegyzés

custom1

egyedi paraméter

custom2

egyedi paraméter

custom3

egyedi paraméter

custom4

egyedi paraméter

custom5

egyedi paraméter

custom6

egyedi paraméter

canceled

az időpont lemondási állapotát mutatja. 0: nincs lemondva, 1: orvos vagy adminisztrátor által törölt, 2: páciens által lemondott, 3: előfoglalt, de nem véglegesített, és 10 perc után automatiksan felszabadított időpont

recurrent

ismétlődő-e a foglalás. 0: nem ismétlődő, 1: napi ismétlődés, 2: heti ismétlődés, 3: havi ismétlődés

isPublicReservation

a foglalás a MeetDoc-on páciens által lett kezdeményezve (true), vagy a ManageDoc-on az orvos által (false)

Páciens regisztráció push hívás

A ManageDoc rendszer képes egy white label domainben regisztrált páciens adatait egy API végpontra továbbítani.

Metódusok

POST

Új páciens keletkezésekor történik

Paraméterek

Küldött paraméterek

email

e-mail cím

name

név

phone

telefonszám

custom1

egyedi paraméter

custom2

egyedi paraméter

custom3

egyedi paraméter

custom4

egyedi paraméter

custom5

egyedi paraméter

custom6

egyedi paraméter

custom7

egyedi paraméter

custom8

egyedi paraméter

A válasz

json objektum

{

"id": "STRING[1..40]"

}

id

a keletkezett felhasználó azonosítója

Páciens törzsadat keresés callback

Egy rendelőhöz fel lehet venni egy olyan HTTP végpontot, ahol a ManageDoc a rendelő belső ügyféltörzs adatai közt kereshet.

GET paraméterek

legalább egy paraméter kötelezően jelen van a HTTP kérésben

clientName

a páciens neve vagy annak egy részlete

clientPhone

a páciens telefonszáma vagy annak egy részlete

clientEmail

a páciens e-mail címe vagy annak egy részlete


A válasz

json objektumok tömbje. Az adattagok:

clientName

a páciens neve

clientEmail

a páciens e-­mail címe

clientPhone

a páciens telefonszáma

innerRemark

belső megjegyzés

custom1

egyedi paraméter

custom2

egyedi paraméter

custom3

egyedi paraméter

custom4

egyedi paraméter

custom5

egyedi paraméter

custom6

egyedi paraméter

Regisztrált páciensek

Páciens lista

Egy rendelőhöz regisztrált páciensekkel kapcsolatos műveletek. Csak ún. “white label” domainek esetén érhető el.

Kérés:

URI: GET /location/{location.id}/publicUser.json

Várt paraméterek:

location.id

az adott rendelő azonosítója, üres vagy túl hosszú érték esetén automatikusan hibakód nélküli 404­es státuszt ad

Válasz:

(HTTP 200)

[

{

"id": "STRING",

"email": "STRING",

"name": "STRING",

"phone": "STRING",

"custom1": "STRING",

"custom2": "STRING",

"custom3": "STRING",

"custom4": "STRING",

"custom5": "STRING",

"custom6": "STRING",

"custom7": "STRING",

"custom8": "STRING",

},

...

]

Páciens autentikáció

Egy páciens bejelentkezési adatairól állapítja meg, hogy jogosult-e bejelentkezni a rendszerbe.

Kérés:

URI: POST /location/{location.id}/publicUserAuth.json

Várt paraméterek:

location.id

az adott rendelő azonosítója, üres vagy túl hosszú érték esetén automatikusan hibakód nélküli 404­es státuszt ad

Várt adatok:

{

"userName": "STRING",

"password": "STRING"

}

userName

a felhasználó e-mail címe

password

jelszó

Válasz:

Hibás bejelentkezési információk esetén

(HTTP 401)

Nem küld vissza semmilyen adatot

Helyes adatok esetén

(HTTP 200)

{

"id": "STRING[1..40]",

"email": "STRING",

"name": "STRING",

"phone": "STRING",

"custom1": "STRING",

"custom2": "STRING",

"custom3": "STRING",

"custom4": "STRING",

"custom5": "STRING",

"custom6": "STRING",

"custom7": "STRING",

"custom8": "STRING",

}

id

a felhasználó azonosítója

email

e-mail cím

name

név

phone

telefonszám

custom1

egyedi paraméter

custom2

egyedi paraméter

custom3

egyedi paraméter

custom4

egyedi paraméter

custom5

egyedi paraméter

custom6

egyedi paraméter

custom7

egyedi paraméter

custom8

egyedi paraméter