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.


ParameterDescriptionPossible values
TNamename patient
TLastNameclient last name
TIdentificationchip or tattoo number
TPassportpassport number
TDateOfBirthdate of birthyyyyMMdd
TStreetclient street
TZipCodeclient zip
TCityclient city
TCountryclient country'T'+ name country in English, e.g. TBelgium
TSpeciespatient species'T'+ name species in English, e.g. TDog
TSexpatient sexTMale,TFemale,THermaphrodite,TNotDeterminable,TUnknown
TSterilizedpatient sterilization statusTSterilized,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