Description
The InterFuga API allows communication between Fuga's, i.e. a Fuga user can query another Fuga. This functionality is orthogonal to the SuperFuga API, so it is also available to Fuga’s not belonging to the same Fuga cloud.
Fuga A (semi-)permanently grants access to a user of another Fuga B (the user of Fuga B has Role InterFuga with Scope Fuga A), e.g. 1st line practice working closely together with 2nd line clinic).
It is also complementary to the FugaShare API, which is intended to temporarily share data (e.g. history of specific patient) with non-Fuga users.
Focus of the InterFuga API is patient history. Financial info is explicitly excluded.
TODO work out an activation scheme that respects the GDPR rules.
Endpoints
https://(test.)sonetas.eu/fuga/restc/inter/{practiceId}
with {practiceId} the queried practice.
Search
Several search options are offered to search for patients. They can make use of the below parameters.
Parameter | Description | Possible values |
TName | name patient | |
TLastName | client last name | |
TIdentification | chip or tattoo number | |
TPassport | passport number | |
TDateOfBirth | date of birth | yyyyMMdd |
TStreet | client street | |
TZipCode | client zip | |
TCity | client city | |
TCountry | client country | 'T'+ name country in English, e.g. TBelgium |
TSpecies | patient species | 'T'+ name species in English, e.g. TDog |
TSex | patient sex | TMale,TFemale,THermaphrodite,TNotDeterminable,TUnknown |
TSterilized | patient sterilization status | TSterilized,TSterilizedOvariectomy,TSterilizedOvariohysterectomy,TCastrated, TNotSterilized,TNotDeterminable,TUnknown |
The below searches use the 'like' operator underlying. There is no need to specify the terminating '%' (we add it). If you want the behaviour of a leading '%', you can add a leading '*', e.g. param=TName and value=*lack will find animals named Black, Blacky, etc.
Ored search
GET search/ored/?params=TName,TLastName,TStreet&value=Bla&maxNbrOfResults=N&page=M
with:
- params: the parameters that are used in the ored search
- value: the value in the ored search, e.g. "TName like 'Bla' OR TLastName like 'Bla' OR TStreet like 'Bla'"
- maxNbrOfResults (optional)
- page (optional): if there are more than maxNbrOfResults in the resultset, one can request the next page (pages start from index 0). When another page is requested, it is assumed that the other parameters stay the same.
RETURNS
http status 200 ok, returning html page with result table, each row (=patient) containing a link to the detailed view of the patient
or other http status on error
Anded search
GET search/anded/?params=TName,TLastName&values=Foo,Bar&maxNbrOfResults=N&page=M
with:
- params: the parameters that are used in the anded search
- values: the values in the anded search, e.g. "TName like 'Foo' AND TLastName like 'Bar'"
- maxNbrOfResults (optional)
- page (optional): if there are more than maxNbrOfResults in the resultset, one can request the next page (pages start from index 0). When another page is requested, it is assumed that the other parameters stay the same.
RETURNS
http status 200 ok, returning html page with result table, each row (=patient) containing a link to the detailed view of the patient
or other http status on error
View patient history
GET patients/{patientId}
with:
- accept header set to 'text/html'
- patientId: id of patient returned in the search requests
RETURNS
http status 200 ok, returning html page with history of animal and possibly links to files
or other http status on error
GET patients/files/{fileId}
with:
- fileId: id of a file returned in the previous request
RETURNS
http status 200 ok, returning file
or other http status on error
Get client and patientInfo
Get patient and client information in json to easily create client and patient records in the caller's Fuga.
GET patients/{patientId}
with:
- accept header set to 'application/json'
- patientId: id of patient
RETURNS
http status 200 ok, returning json
or other http status on error