Fabric provides out-of-the-box web services APIs for querying a project's LU data and metadata resources.
An appropriate HTTP status code is used to indicate the status of the executed operation, following standardized status codes that are defined by [RFC7231] and listed in the IANA Status Code Registry.
Any web-service call passes authentication and authorization validations before being executed. For more information - see here.
All API accesses are over HTTPS, and are accessed from the Fabric URL endpoint https://<Domain Name>:<PORT>
GET /api/lu/<LU Name>[?format=json|xml]
Component |
Description |
Mandatory |
Example |
Default |
LU Name |
Logical unit name |
Y |
CUSTOMER |
|
Format |
Response format |
N |
JSON/XML |
JSON |
Examples:
https://localhost:3213/api/lu/CUSTOMER
Brings metadata for CUSTOMER LU
Retrieves either the whole LUI data or a specific LUI table
GET /api/lu/<LU Name>/<iid>/[<TABLE NAME>][?fields=<VALUE1,VALUE2>][&where=<WHERE STATEMENT>][&query=<QUERY STATMENT>][&limit=<Number of rows to get>][&set={mode,value}][&format=json|xml]
Examples:
https://localhost:3213/api/lu/CUSTOMER/1
Brings all data for CUSTOMER LU Instance ID 1
Response Body: response body supports streaming solution
https://localhost:3213/api/lu/CUSOMTER/1/ALLERGIES
Brings data for CUSTOMER LU Instance ID 1, table ALLERGIES
https://localhost:3213/api/lu/CUSTOMER/1/PAYMENT?fields=PAYMENT_ID,PAYMENT_DATE&where=PAYMENT_STATUS!=’CLOSED’
Brings data for CUSTOMER LU Instance ID 1, table PAYMENT, fields PAYMENT_ID, PAYMENT_DATE where payments are not closed.
https://localhost:3213/api/lu/CUSTOMER/1?query=SELECT FIRST_NAME FROM ADDRESS_DATA A, ADDRESS_NAME_LINK B WHERE A.ADDRESS_ID =B.ADDRESS_ID AND B.ADDRESS_TYPE=’P’
Brings data for CUSTOMER LU Instance ID 1, table ADDRESS_DATA field FIRST_NAME where name type is private.
https://localhost:3213/api/lu/CUSTOMER/1?query=SELECT FIRST_NAME FROM ADDRESS_DATA A,ADDRESS_NAME_LINK B WHERE A.ADDRESS_ID =B.ADDRESS_ID AND B.ADDRESS_TYPE=’P’&set=sync,force&set=ENVIRONMENT,ENV1&set=GLOBAL_LOCATION_ACCURACY,10
Brings data for CUSTOMER LU Instance ID 1, table ADDRESS_DATA field FIRST_NAME where name type is private. Make sure sync mode is force and run it on ENV1 and set GLOBAL_LOCATION_ACCURACY to 10.
POST /api/lu/<LU Name>/<iid>/[[<TABLE-NAME>][?format=json/xml]
Component | Description | Mandatory | Example | Default |
---|---|---|---|---|
LU Name | Logical unit name | Y | CUSTOMER COMMON | |
Iid | Instance ID | Y | 1 | |
TABLE NAME | Table names to post data into | N | ||
format | Response format | N | JSON/XML | JSON |
Example:
Inserts data into CUSTOMER LU instance id 1, SUBSCRIBER table, where table name is specified at the post body
https://10.21.1.69:3213/api/v1.0/lu/CUSTOMER/1
Request Body:
{"rows":{"SUBSCRIBER ":[{"ID":11, "NAME":"John Smith"},{"ID":12,"NAME":"Laura Smith"},{"ID":13,"NAME":"Dan Smith"}]}}
Inserts data into CUSTOMER LU instance id 1, SUBSCRIBER table, where table name is specified at URL
https://10.21.1.69:3213/api/v1.0/lu/CUSTOMER/1/SUBSCRIBER
Request Body:
{"rows":[{"ID":11, "NAME":"John Smith"},{"ID":12,"NAME":"Laura Smith"},{"ID":13,"NAME":"Dan Smith"}]}
PUT /api/lu/<LU Name>/<iid>/[TABLE NAME][?format=json|xml]
The request body shall contain the row data to be updated along with an optional 'where' element, as the where condition statement.
Example:
https://localhost:3213/api/v1.0/lu/CUSTOMER/1/INVOICE
Updates data on CUSTOMER LU instance id 1, CUSTOMER table
Request Body
{
"row" : {"LAST_NAME":"TEST1"},
"where":"CUSTOMER=1 or ADDRESS='Betsey'"
}
DELETE /api/lu/<LU Name>/iid[?format=json/xml]
Component | Description | Mandatory | Example | Default |
---|---|---|---|---|
LU Name | Logical unit name or COMMON for common tables | Y | PATIENT COMMON | |
iid | Instance Id | Y | 1 | |
Format | Response format | N | JSON/XML | JSON |
Example:
https://localhost:3213/api/lu/PATIENT
Deletes LUI 1 from PATIENT LU
DELETE /api/lu/<LU Name>/iid/<TABLE_NAME>?where=<WHERE STATEMENT>][&format=json|xml]
Example:
https://localhost:3213/api/lu/PATIENT/1/INVOICE?WHERE=CUSTOMER=1 or NAME=’John Smith’
Deletes data from PATIENT LU instance id 1, INVOICE table by using a 'where' clause
Fabric provides out-of-the-box web services APIs for querying a project's LU data and metadata resources.
An appropriate HTTP status code is used to indicate the status of the executed operation, following standardized status codes that are defined by [RFC7231] and listed in the IANA Status Code Registry.
Any web-service call passes authentication and authorization validations before being executed. For more information - see here.
All API accesses are over HTTPS, and are accessed from the Fabric URL endpoint https://<Domain Name>:<PORT>
GET /api/lu/<LU Name>[?format=json|xml]
Component |
Description |
Mandatory |
Example |
Default |
LU Name |
Logical unit name |
Y |
CUSTOMER |
|
Format |
Response format |
N |
JSON/XML |
JSON |
Examples:
https://localhost:3213/api/lu/CUSTOMER
Brings metadata for CUSTOMER LU
Retrieves either the whole LUI data or a specific LUI table
GET /api/lu/<LU Name>/<iid>/[<TABLE NAME>][?fields=<VALUE1,VALUE2>][&where=<WHERE STATEMENT>][&query=<QUERY STATMENT>][&limit=<Number of rows to get>][&set={mode,value}][&format=json|xml]
Examples:
https://localhost:3213/api/lu/CUSTOMER/1
Brings all data for CUSTOMER LU Instance ID 1
Response Body: response body supports streaming solution
https://localhost:3213/api/lu/CUSOMTER/1/ALLERGIES
Brings data for CUSTOMER LU Instance ID 1, table ALLERGIES
https://localhost:3213/api/lu/CUSTOMER/1/PAYMENT?fields=PAYMENT_ID,PAYMENT_DATE&where=PAYMENT_STATUS!=’CLOSED’
Brings data for CUSTOMER LU Instance ID 1, table PAYMENT, fields PAYMENT_ID, PAYMENT_DATE where payments are not closed.
https://localhost:3213/api/lu/CUSTOMER/1?query=SELECT FIRST_NAME FROM ADDRESS_DATA A, ADDRESS_NAME_LINK B WHERE A.ADDRESS_ID =B.ADDRESS_ID AND B.ADDRESS_TYPE=’P’
Brings data for CUSTOMER LU Instance ID 1, table ADDRESS_DATA field FIRST_NAME where name type is private.
https://localhost:3213/api/lu/CUSTOMER/1?query=SELECT FIRST_NAME FROM ADDRESS_DATA A,ADDRESS_NAME_LINK B WHERE A.ADDRESS_ID =B.ADDRESS_ID AND B.ADDRESS_TYPE=’P’&set=sync,force&set=ENVIRONMENT,ENV1&set=GLOBAL_LOCATION_ACCURACY,10
Brings data for CUSTOMER LU Instance ID 1, table ADDRESS_DATA field FIRST_NAME where name type is private. Make sure sync mode is force and run it on ENV1 and set GLOBAL_LOCATION_ACCURACY to 10.
POST /api/lu/<LU Name>/<iid>/[[<TABLE-NAME>][?format=json/xml]
Component | Description | Mandatory | Example | Default |
---|---|---|---|---|
LU Name | Logical unit name | Y | CUSTOMER COMMON | |
Iid | Instance ID | Y | 1 | |
TABLE NAME | Table names to post data into | N | ||
format | Response format | N | JSON/XML | JSON |
Example:
Inserts data into CUSTOMER LU instance id 1, SUBSCRIBER table, where table name is specified at the post body
https://10.21.1.69:3213/api/v1.0/lu/CUSTOMER/1
Request Body:
{"rows":{"SUBSCRIBER ":[{"ID":11, "NAME":"John Smith"},{"ID":12,"NAME":"Laura Smith"},{"ID":13,"NAME":"Dan Smith"}]}}
Inserts data into CUSTOMER LU instance id 1, SUBSCRIBER table, where table name is specified at URL
https://10.21.1.69:3213/api/v1.0/lu/CUSTOMER/1/SUBSCRIBER
Request Body:
{"rows":[{"ID":11, "NAME":"John Smith"},{"ID":12,"NAME":"Laura Smith"},{"ID":13,"NAME":"Dan Smith"}]}
PUT /api/lu/<LU Name>/<iid>/[TABLE NAME][?format=json|xml]
The request body shall contain the row data to be updated along with an optional 'where' element, as the where condition statement.
Example:
https://localhost:3213/api/v1.0/lu/CUSTOMER/1/INVOICE
Updates data on CUSTOMER LU instance id 1, CUSTOMER table
Request Body
{
"row" : {"LAST_NAME":"TEST1"},
"where":"CUSTOMER=1 or ADDRESS='Betsey'"
}
DELETE /api/lu/<LU Name>/iid[?format=json/xml]
Component | Description | Mandatory | Example | Default |
---|---|---|---|---|
LU Name | Logical unit name or COMMON for common tables | Y | PATIENT COMMON | |
iid | Instance Id | Y | 1 | |
Format | Response format | N | JSON/XML | JSON |
Example:
https://localhost:3213/api/lu/PATIENT
Deletes LUI 1 from PATIENT LU
DELETE /api/lu/<LU Name>/iid/<TABLE_NAME>?where=<WHERE STATEMENT>][&format=json|xml]
Example:
https://localhost:3213/api/lu/PATIENT/1/INVOICE?WHERE=CUSTOMER=1 or NAME=’John Smith’
Deletes data from PATIENT LU instance id 1, INVOICE table by using a 'where' clause