How did we solve custom data requirement problem using PQL instead of using GraphQL
Our Sikka Platform Cloud enables anyone to build apps for the retail healthcare world (dental, veterinary, audiology, optometry, chiropractic, orthodontic, oral surgery and more). We are providing this capability via Restful APIs. Visit here : https://www.sikkasoft.com/build-your-apps/
There are over 200 APIs and each of them is full of information. Since long we were getting requirement to allow developers / API partners to fetch selected data from each APIs , instead of calling multiple APIs. Basically they were looking to execute queries on our Restful APIs.
That’s how we come up with Practice Query Language (PQL)
Purpose of PQL is to describe the capabilities and requirements of data models for client-server based applications.
The primary motivation to create PQL is to load all information in a single round trip instead making individual REST API calls.
We want to let API partners/developers access all the information without making any changes to back end code. This can only be achieved by making API consumers aware of the data model driving the application and also making sure that our back end data model is secure and not exposed.
While developing PQL we are making sure that
- There is no need to expose our back end structure and the information
- Developers / API partners can only access data which they are allowed to access, based on their license and authorization
- No learning curve. PQL is same as ‘SQL’ .
- Developers can build practice query one time and store it.
- Avoid SQL injection as we are providing dynamic query function . To enable this we have implemented mapping framework at our back end
This of course does not mean our Restful APIs aren’t helpful (https://apidocs.sikkasoft.com). If the developer wishes to build a data warehouse or your app requires a lot of business logic to implement, we recommend to use our Restful APIs.
Let’s say developer want to access patients who had an appointment in last month with patient details , appointment details and practice details.
Here is the difference how you can use our regular REST APIs and PQL API
How it works ?