...
Name | Type | Mandatory | Description |
---|---|---|---|
token | String | Yes | Security Token obtained before. |
userId | String | Only if 'temporalSession' is false | The id of the logged in user. |
temporalSession | Boolean | No | DEFAULT: 'false'. Indicates whether the provided token is temporal or not. |
...
Name | Type | Mandatory | Description |
---|---|---|---|
{organizationId} | String | Yes | The id of the Organization. |
token | String | Yes | Security Token obtained before. |
userId | String | Only if 'temporalSession' is false | The id of the logged in user. |
temporalSession | Boolean | No | DEFAULT: 'false'. Indicates whether the provided token is temporal or not. |
...
Name | Type | Mandatory | Description |
---|---|---|---|
{organizationId} | String | Yes | The id of the Organization. |
token | String | Yes | Security Token obtained before. |
userId | String | Only if 'temporalSession' is false | The id of the logged in user. |
temporalSession | Boolean | No | DEFAULT: 'false'. Indicates whether the provided token is temporal or not. |
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ data: [ { id: 1, description: "", name: "admin", organizationId: "UNC" }, { id: 2, description: "", name: "pod", organizationId: "UNC" } ], statusFact: { success: true } } |
List Facility's
...
Workspaces
Current Implementation
Returns the list of all the Rooms Workspaces of a Facility has.
Parameters
Base URL: /organizations/{organizationId}/facilities/{facilityId}/roomsworkspaces
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
{organizationId} | String | Yes | The id of the Organization. |
{facilityId} | String | Yes | The id of the Facility. |
token | String | Yes | Security Token obtained before. |
userId | String | Yes | The id of the logged in user. |
API Sample
Happy Path
...
http://192.168.12.126109:8080/PresentationServices/organizations/UNC/facilities/UNC/roomsworkspaces?userId=sigal&token=c00145907dcaad57-c3675552-4117495b-9f55-94292996e02a&userId=superadmin
...
Code Block | ||||
---|---|---|---|---|
| ||||
{ "data" : [ { "facilityId" : "UNC", "id" : "podaunc_adult", "name" : "Pod AAdults" }, { "facilityId" : "UNC", "id" : "podbunc_nursery", "name" : "Pod BNursery" }, { "facilityId" : "UNC" ], "idstatusFact" : "podc",{ "namesuccess" : "Podtrue C" }, { "facilityId" : "UNC", "id" : "podd", "name" : "Pod D" }, { "facilityId" : "UNC", "id" : "pode", "name" : "Pod E" }, { "facilityId" : "UNC", "id" : "podf", "name" : "Pod F" }, { "facilityId" : "UNC", "id" : "podg", "name" : "Pod G" } ], "statusFact" : { "success" : true } } |
Read Facility's Room
Current Implementation
Returns all the information of a particular room within a Facility.
Parameters
Base URL: /organizations/{organizationId}/facilities/{facilityId}/rooms/{roomId}
Parameters:
...
}
} |
Read Facility's Workspace
Current Implementation
Returns all the information of a particular Workspace within a Facility.
Parameters
Base URL: /organizations/{organizationId}/facilities/{facilityId}/workspaces/{workspaceId}
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
{organizationId} | String | Yes | The id of the Organization. |
{facilityId} | String | Yes | The id of the Facility. |
{workspaceId} | String | Yes | The id of the Workspace. |
token | String | Yes | Security Token obtained before. |
userId | String | Yes | The id of the logged in user. |
API Sample
Happy Path
Code Block | ||||
---|---|---|---|---|
| ||||
{ "data" : { "facilityId" : "UNC",
"id" : "unc_nursery",
"name" : "Nursery"
},
"statusFact" : { "success" : true }
} |
List Workspace's Rooms
Current Implementation
Returns the list of all the Rooms of a Workspace has.
Parameters
Base URL: /organizations/{organizationId}/facilities/{facilityId}/workspaces/{workspaceId}/rooms
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
{organizationId} | String | Yes | The id of the Organization. |
{facilityId} | String | Yes | The id of the Facility. |
{workspaceId} | String | Yes | The id of the Workspace. |
token | String | Yes | Security Token obtained before. |
userId | String | Yes | The id of the logged in user. |
API Sample
Happy Path
http://192.168.1.126:8080/PresentationServices/organizations/UNC/facilities/UNC/rooms/poda?workspaces/unc_nursery/rooms?token=c0014590-c367-4117-9f55-94292996e02a&userId=superadmin
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "data" : [ { "facilityIdworkspaceId" : "UNCunc_nursery", "id" : "poda", "name" : "Pod A" }, "statusFact{ "workspaceId" : "unc_nursery", "id" : {"podb", "successname" : "Pod trueB" } } |
Non Existing Room
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "statusFact" : { "failMessage" : "Error reading Room",
"success" : false
} } |
User Registration
Current Implementation
This is a POST method. It persists a user in the database with a 'PENDING' status. Users with 'PENDING' status are not allowed to login into the application.
The following are the validations checked on the incoming data:
Mandatory fields:
- username
- firstName
- lastName
- password
- facility
- role
- status
Validations:
- A Facility with 'facility' id must exist
- A Role with 'role' id must exist
- A UserStatus with 'status' value must exist
- 'password' must be longer than 5 characters and shorter than 20
- If 'tagId' is not null, it must be unique among existing users
- If 'tagId' is not null, it must be longer than 5 characters and shorter than 20
- If 'pin' is not null, it must be unique among existing users
- If 'pin' is not null, it must be longer than 5 characters and shorter than 20
- 'email' must be a well formed email
- 'email' must be unique among existing users
- 'username' must be unique among existing users
Info |
---|
The password and tag id of the created user is hashed using SHA1 algorithm before it is persisted in the database. |
Parameters
...
,
{ "workspaceId" : "unc_nursery",
"id" : "podc",
"name" : "Pod C"
},
{ "workspaceId" : "unc_nursery",
"id" : "podd",
"name" : "Pod D"
},
{ "workspaceId" : "unc_nursery",
"id" : "pode",
"name" : "Pod E"
},
{ "workspaceId" : "unc_nursery",
"id" : "podf",
"name" : "Pod F"
},
{ "workspaceId" : "unc_nursery",
"id" : "podg",
"name" : "Pod G"
}
],
"statusFact" : { "success" : true }
} |
Read Workspace's Room
Current Implementation
Returns all the information of a particular Room within a Workspace.
Parameters
Base URL: /organizations/{organizationId}/facilities/{facilityId}/workspaces/{workspaceId}/rooms/{roomId}
Parameters:
Name | Type | Mandatory | Description | |
---|---|---|---|---|
token{organizationId} | String | Yes | Security Token obtained before. | |
temporalSession | Boolean | No | DEFAULT: 'false'. Indicates whether the provided token is temporal or not. | |
The id of the Organization. | ||||
{facilityId} | String | Yes | The | name for the new userid of the Facility. |
{workspaceId} | String | Yes | The | last name for the new userid of the Workspace. |
{roomId} | String | Yes | The | username for the new user. The username must be unique among all the users in the system.emailid of the Room. |
token | String | Yes | The email address for the new user. The email must be unique among all the users in the system. | passwordSecurity Token obtained before. |
userId | String | Yes | The | password for the newid of the logged in user. | At the moment, this is plain text.
organization | String | Yes | The id of the organization for the new user. | |
facility | String | Yes | The id of the facility for the new user. | |
role | String | Yes | The id of the role for the new user. | |
pin | String | No | The security pin of this user. (This pin is not still being used by the application) | |
tagId | String | No | The NFC tag id for the new user. |
API Sample
Happy Path
curl 'http://192.168.0.14:8080/PresentationServices/users' -H 'Accept: application/json, text/javascript, */*; q=0.01' -H 'Origin: file://' -H 'User-Agent: Mozilla/5.0 (Linux; Android 4.4.2; Nexus 5 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36' -H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8' --data 'firstName=Esteban&lastName=Aliverti&username=eaa&email=esteban.aliverti%40cogmed.com&password=1234&passwordConfirm=1234&organization=UNC&facility=Vidant&role=1&tagId=&token=01b1b134-71e9-4fad-9ca2-45b254e134ab&temporalSession=true' --compressed
...
API Sample
Happy Path
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "data" : { "facilityId" : "unc_nursery",
"id" : "poda",
"name" : "Pod A"
},
"statusFact" : { "success" : true }
} |
Non Existing Room
http://192.168.1.126:8080/PresentationServices/organizations/UNC/facilities/UNC/workspaces/unc_nursery/rooms/podX?token=c0014590-c367-4117-9f55-94292996e02a&userId=superadmin
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "datastatusFact" : { "emailfailMessage" : "esteban.aliverti@cogmed.comError reading Room", "facilityIdsuccess" : "Vidant", "facilityName" : "Vidant", "firstName" : "Esteban", "id" : "5f238a75-58e5-434e-8576-7d84f911e63e", "username" : "eaa", "lastName" : "Aliverti", "organizationId" : "UNC", "organizationName" : "UNC", "roleId" : 1, "roleName" : "admin", "status" : "PENDING", "updateDate" : "Wed May 14 10:34:44 CEST 2014" }, "statusFact" : { "success" : true } } |
Malformed email submitted
curl 'http://192.168.0.14:8080/PresentationServices/users' -H 'Accept: application/json, text/javascript, */*; q=0.01' -H 'Origin: file://' -H 'User-Agent: Mozilla/5.0 (Linux; Android 4.4.2; Nexus 5 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36' -H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8' --data 'firstName=Esteban&lastName=Aliverti&username=eaa&email=esteban.aliverti%40cogmed&password=1234&passwordConfirm=1234&organization=UNC&facility=Vidant&role=1&tagId=&token=01b1b134-71e9-4fad-9ca2-45b254e134ab&temporalSession=true' --compressed
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "data" : [ { "message" : "Malformed email: 'esteban.aliverti@cogmed'" } ],
"statusFact" : { "failMessage" : "Validation errors found",
"success" : false
}
} |
...
false
} } |
User Registration
Current Implementation
This is a POST method. It persists a user in the database with a 'PENDING' status. Users with 'PENDING' status are not allowed to login into the application.
The following are the validations checked on the incoming data:
Mandatory fields:
- username
- firstName
- lastName
- password
- facility
- role
- status
Validations:
- A Facility with 'facility' id must exist
- A Role with 'role' id must exist
- A UserStatus with 'status' value must exist
- 'password' must be longer than 5 characters and shorter than 20
- If 'tagId' is not null, it must be unique among existing users
- If 'tagId' is not null, it must be longer than 5 characters and shorter than 20
- If 'pin' is not null, it must be longer than 5 characters and shorter than 20
- 'email' must be a well formed email
- 'email' must be unique among existing users
- 'username' must be unique among existing users
Info |
---|
The password and pin of the created user is hashed using SHA1 algorithm before it is persisted in the database. |
Parameters
Base URL: /users
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
token | String | Yes | Security Token obtained before. |
temporalSession | Boolean | No | DEFAULT: 'false'. Indicates whether the provided token is temporal or not. |
firstName | String | Yes | The name for the new user. |
lastName | String | Yes | The last name for the new user. |
username | String | Yes | The username for the new user. The username must be unique among all the users in the system. |
String | Yes | The email address for the new user. The email must be unique among all the users in the system. | |
password | String | Yes | The password for the new user. At the moment, this is plain text. |
organization | String | Yes | The id of the organization for the new user. |
facility | String | Yes | The id of the facility for the new user. |
role | String | Yes | The id of the role for the new user. |
pin | String | No | The security pin of this user. (This pin is not still being used by the application) |
tagId | String | No | The NFC tag id for the new user. |
API Sample
Happy Path
curl 'http://192.168.0.14:8080/PresentationServices/users' -H 'Accept: application/json, text/javascript, */*; q=0.01' -H 'Origin: file://' -H 'User-Agent: Mozilla/5.0 (Linux; Android 4.4.2; Nexus 5 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36' -H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8' --data 'firstName=Esteban&lastName=Aliverti&username=eaa&email=esteban.aliverti%40cogmedaliverti%40cogmed.com&password=1234&passwordConfirm=1234&organization=UNC&facility=Vidant&role=1&tagId=&token=01b1b134-71e9-4fad-9ca2-45b254e134ab&temporalSession=true' --compressed
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "data" : [ { "messageemail" : "First name is mandatory" }, { "messageesteban.aliverti@cogmed.com", "facilityId" : "Vidant", "facilityName" : "Vidant", "firstName" : "Facility is mandatoryEsteban", "id" } ]: "5f238a75-58e5-434e-8576-7d84f911e63e", "statusFactusername" : {"eaa", "failMessagelastName" : "Validation errors foundAliverti", "organizationId" : "UNC", "successorganizationName" : false } } |
List possible Users Statuses
Current Implementation
Normally used to fill the 'Status' drop down for a User. It returns the list of all the statuses a User can has.
Parameters
Base URL: /userStatuses
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
token | String | Yes | Security Token obtained before. |
userId | String | Yes | The id of the logged in user. |
API Sample
"UNC",
"roleId" : 1,
"roleName" : "admin",
"status" : "PENDING",
"updateDate" : "Wed May 14 10:34:44 CEST 2014",
"passwordSet":true,
"tagIdSet":true,
"pinSet":true
},
"statusFact" : { "success" : true }
} |
Malformed email submitted
curl 'http://192.168.0.14:8080/PresentationServices/userStatuses?userId=sigal&token=8a4804ef-3301-4f89-a5a9-c3fed479d8c3&_=1400057312395' -users' -H 'Accept: application/json, text/javascript, */*; q=0.01' -H 'Origin: file://' -H 'User-Agent: Mozilla/5.0 (Linux; Android 4.4.2; Nexus 5 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36' --compressed
...
language | js |
---|---|
title | Result |
collapse | true |
...
H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8' --data 'firstName=Esteban&lastName=Aliverti&username=eaa&email=esteban.aliverti%40cogmed&password=1234&passwordConfirm=1234&organization=UNC&facility=Vidant&role=1&tagId=&token=01b1b134-71e9-4fad-9ca2-45b254e134ab&temporalSession=true' --compressed
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "data" : [ { "message" : "Malformed email: 'esteban.aliverti@cogmed'" } ], "statusFact" : { "failMessage" : "Validation errors found", "success" : truefalse } } |
List Users
Current Implementation
Lists all the users in the application according to a series of filter parameters.
Parameters
Base URL: /users
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
token | String | Yes | Security Token obtained before. |
userId | String | Yes | The id of the logged in user. |
location | ENUM | No | Possible values: ['organization', 'facility']. Specifies whether we want to filter users by Organization or Facility. If this value is not specified the operation will return all the users from all the Organizations. The user invoking the operation in this case MUST have 'list_users_from_all_organizations' permission. |
locationId | String | Yes if location is also specified, otherwise No | The id of the organization or facility we want to use for the filter. |
status | String | No | The id of the user's status we want to use for the filter. |
API Sample
curl 'http://192.168.0.14:8080/PresentationServices/users?location=facility&locationId=UNC&status=ACTIVE&userId=sigal&token=8a4804ef-3301-4f89-a5a9-c3fed479d8c3&_=1400057312400' -H 'Accept: application/json, text/javascript, */*; q=0.01' -H 'User-Agent: Mozilla/5.0 (Linux; Android 4.4.2; Nexus 5 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36' --compressed
...
language | js |
---|---|
title | Result |
collapse | true |
...
Mandatory fields missing
curl 'http://192.168.0.14:8080/PresentationServices/users' -H 'Accept: application/json, text/javascript, */*; q=0.01' -H 'Origin: file://' -H 'User-Agent: Mozilla/5.0 (Linux; Android 4.4.2; Nexus 5 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36' -H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8' --data 'firstName=&lastName=Aliverti&username=eaa&email=esteban.aliverti%40cogmed.com&password=1234&passwordConfirm=1234&organization=UNC&facility=&role=1&tagId=&token=01b1b134-71e9-4fad-9ca2-45b254e134ab&temporalSession=true' --compressed
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "data" : [ { "emailmessage" : "e@e.com", "facilityId" : "UNC", "facilityNameFirst name is mandatory" }, { "message" : "UNC", "firstName" : "e", "id" : "354a7aae-ac06-4892-ac61-ce302351eb35", "lastNameFacility is mandatory" } ], "statusFact" : "e",{ "organizationIdfailMessage" : "UNC", "organizationName" : "UNC"Validation errors found", "roleIdsuccess" : 2, "roleName" : "pod", "status" : "ACTIVE", "username" : "username-e", "updateDate" : "2014-01-06 19:07:40.0" }, { "facilityId" : "UNC", "facilityName" : "UNC", "id" : "chargenurse", "organizationId" : "UNC", "organizationName" : "UNC", "roleId" : 1, "roleName" : "admin", "status" : "ACTIVE", "username" : "username-charge", "updateDate" : "2013-03-08 01:20:37.0" }, ... false } } |
List possible Users Statuses
Current Implementation
Normally used to fill the 'Status' drop down for a User. It returns the list of all the statuses a User can has.
Parameters
Base URL: /userStatuses
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
token | String | Yes | Security Token obtained before. |
userId | String | Yes | The id of the logged in user. |
API Sample
curl 'http://192.168.0.14:8080/PresentationServices/userStatuses?userId=sigal&token=8a4804ef-3301-4f89-a5a9-c3fed479d8c3&_=1400057312395' -H 'Accept: application/json, text/javascript, */*; q=0.01' -H 'User-Agent: Mozilla/5.0 (Linux; Android 4.4.2; Nexus 5 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36' --compressed
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "data" : [ { "value" : "ACTIVE" },
{ "value" : "PENDING" },
{ "value" : "SUSPENDED" },
{ "value" : "INACTIVE" }
],
"statusFact" : { "success" : true }
} |
...
List Users
Current Implementation
Returns the information related to a UserLists all the users in the application according to a series of filter parameters.
Parameters
Base URL: /users/{requestedUserId}
Parameters:
Name | Type | Mandatory | Description |
---|
token | String | Yes | Security Token obtained before. |
userId | String | Yes | The id of the logged in user. |
API Sample
...
location | ENUM | No | Possible values: ['organization', 'facility']. Specifies whether we want to filter users by Organization or Facility. If this value is not specified the operation will return all the users from all the Organizations. The user invoking the operation in this case MUST have 'list_users_from_all_organizations' permission. |
locationId | String | Yes if location is also specified, otherwise No | The id of the organization or facility we want to use for the filter. |
status | String | No | The id of the user's status we want to use for the filter. |
API Sample
curl 'http://192.168.0.14:8080/PresentationServices/users?location=facility&locationId=UNC&status=ACTIVE&userId=sigal&token=8a4804ef-3301-4f89-a5a9-c3fed479d8c3&_=1400057312400' -H 'Accept: application/json, text/javascript, */*; q=0.01' -H 'User-Agent: Mozilla/5.0 (Linux; Android 4.4.2; Nexus 5 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36' --compressed
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "data" : [ { "email" id: "354a7aae-ac06-4892-ac61-ce302351eb35e@e.com", lastName"facilityId" : "eUNC", "facilityName" : "UNC", organizationName"firstName" : "UNCe", status: "ACTIVEid", username: "eaa354a7aae-ac06-4892-ac61-ce302351eb35", email: "e@e.comlastName", roleName: "pode", "organizationId" : "UNC", firstName: "eorganizationName", facilityId: "UNC", updateDate: "2014-01-06 19:"roleId" : 2, "roleName" : "pod", "status" : "ACTIVE", "username" : "username-e", "updateDate" : "2014-01-06 19:07:40.0", roleId"passwordSet":true, 2 }"tagIdSet":true, statusFact "pinSet":true }, { success"facilityId" : true } } |
Update User Information
Current Implementation
This is a POST method. Modifies user information such as Status, Name, Last Name, Organization, Role, etc.
The following are the validations checked on the incoming data:
Mandatory fields:
- firstName
- lastName
- password
- facility
- role
- status
Validations:
...
Important notice: If a user is trying to modify his/her email, password, pin and/or tagId, the argument 'passwordValidation' of this operation is mandatory and it must be the original (old) password of the current user.
Note |
---|
UserId and Username fields can't be modified by this operation. |
The result in case of validation errors has the same structure as the validation errors returned by the patient creation operation.
I.e.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "data" : [ { "message" : "First name is mandatory" },
{ "message" : "Facility is mandatory" }
],
"statusFact" : { "failMessage" : "Validation errors found",
"success" : false
}
} |
Parameters
Base URL: /users/{requestedUserId}
Parameters:
...
The new password for the user. If this value is not provided, the original password of the user will not be modified.
...
"UNC",
"facilityName" : "UNC",
"id" : "chargenurse",
"organizationId" : "UNC",
"organizationName" : "UNC",
"roleId" : 1,
"roleName" : "admin",
"status" : "ACTIVE",
"username" : "username-charge",
"updateDate" : "2013-03-08 01:20:37.0",
"passwordSet":true,
"tagIdSet":true,
"pinSet":true
},
...
],
"statusFact" : { "success" : true }
} |
Read User Information
Current Implementation
Returns the information related to a User.
Parameters
Base URL: /users/{requestedUserId}
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
{requestedUserId} | String | Yes | The id of the requested user. |
token | String | Yes | Security Token obtained before. |
userId | String | Yes | The id of the logged in user. |
API Sample
curl 'http://192.168.0.14:8080/PresentationServices/users/354a7aae-ac06-4892-ac61-ce302351eb35?userId=sigal&token=8a4804ef-3301-4f89-a5a9-c3fed479d8c3&_=1400057312409' -H 'Accept: application/json, text/javascript, */*; q=0.01' -H 'User-Agent: Mozilla/5.0 (Linux; Android 4.4.2; Nexus 5 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36' --compressed
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{
data: {
id: "354a7aae-ac06-4892-ac61-ce302351eb35",
lastName: "e",
facilityName: "UNC",
organizationName: "UNC",
status: "ACTIVE",
username: "eaa",
email: "e@e.com",
roleName: "pod",
organizationId: "UNC",
firstName: "e",
facilityId: "UNC",
updateDate: "2014-01-06 19:07:40.0",
roleId: 2,
passwordSet:true,
tagIdSet:true,
pinSet:true
},
statusFact: {
success: true
}
} |
Update User Information
Current Implementation
This is a POST method. Modifies user information such as Status, Name, Last Name, Organization, Role, etc.
The following are the validations checked on the incoming data:
Mandatory fields:
- firstName
- lastName
- password
- facility
- role
- status
Validations:
- A Facility with 'facility' id must exist
- A Role with 'role' id must exist
- A UserStatus with 'status' value must exist
- 'password' must be longer than 5 characters and shorter than 20
- If 'pin' is not null, it must be longer than 5 characters and shorter than 20
- If 'tagId' is not null, it must unique among existing users.
- If 'tagId' is not null, it must be longer than 5 characters and shorter than 20
- If 'emai' is not null, 'email' must be a well formed email
- If 'emai' is not null, 'email' must be unique among existing users.
Important notice: If a user is trying to modify his/her email, password, pin and/or tagId, the argument 'passwordValidation'
...
of this operation is mandatory and it must be the original (old) password of the
...
curl 'http://192.168.2.103:8080/PresentationServices/users/354a7aae-ac06-4892-ac61-ce302351eb35' -H 'Accept: application/json, text/javascript, */*; q=0.01' -H 'Origin: file://' -H 'User-Agent: Mozilla/5.0 (Linux; Android 4.4.2; Nexus 5 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36' -H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8' --data 'firstName=e&lastName=e&email=e%40e.com&password=&organization=UNC&facility=UNC&role=2&status=SUSPENDED&userId=sigal&token=8a4804ef-3301-4f89-a5a9-c3fed479d8c3' --compressed
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "data" : { "email" : "e@e.com",
"facilityId" : "UNC",
"facilityName" : "UNC",
"firstName" : "e",
"id" : "354a7aae-ac06-4892-ac61-ce302351eb35",
"username" : "e",
"lastName" : "e",
"organizationId" : "UNC",
"organizationName" : "UNC",
"roleId" : 2,
"roleName" : "pod",
"status" : "SUSPENDED",
"updateDate" : "Wed May 14 13:24:38 CEST 2014"
},
"statusFact" : { "success" : true }
}
|
Delete User
Current Implementation
This is a DELETE method. Modifies user status to INACTIVE.
The final result is the same as using the Update User Information operation using INACTIVE as the new status.
Parameters
Base URL: /users/{requestedUserId}
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
{requestedUserId} | String | Yes | The id of the requested user. |
token | String | Yes | Security Token obtained before. |
userId | String | Yes | The id of the logged in user. |
API Sample
curl -X DELETE 'http://192.168.2.103:8080/PresentationServices/users/354a7aae-ac06-4892-ac61-ce302351eb35' -H 'Accept: application/json, text/javascript, */*; q=0.01' -H 'Origin: file://' -H 'User-Agent: Mozilla/5.0 (Linux; Android 4.4.2; Nexus 5 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36' -H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8' --compressed
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "statusFact" : { "success" : true }} |
Check User's Attribute Availability
Current Implementation
This operation can be used to check whether a specific value for a specific attribute of a User is already taken by any other user.
Info |
---|
This operation can be used with a temporal token. |
...
- tagId
- username
- pin
In the cases where the specified attribute is not available, the result will contain a field called 'takenBy' which will contains the userId of the user having it.
Parameters
Base URL: /userAttributeAvailable/{attribute}
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
{attribute} | ENUM | Yes | Possible values: ['tagId', 'email', 'username', 'pin']. The User's attribute we want to check. |
token | String | Yes | Security Token obtained before. |
userId | String | Only if 'token' is not a temporal token | The id of the logged in user. |
temporalSession | Boolean | No | DEFAULT: 'false'. Indicates whether the provided token is temporal or not. |
value | String | Yes | The value that we want to check. |
API Sample
Available attribute (email)
Code Block | ||||
---|---|---|---|---|
| ||||
{
"data":{
"available":true
},
"statusFact":{
"success":true
}
} |
...
current user.
Note |
---|
UserId and Username fields can't be modified by this operation. |
The result in case of validation errors has the same structure as the validation errors returned by the patient creation operation.
I.e.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "data" : [ { "message" : "First name is mandatory" },
{ "message" : "Facility is mandatory" }
],
"statusFact" : { "failMessage" : "Validation errors found",
"success" : false
}
} |
Parameters
Base URL: /users/{requestedUserId}
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
{requestedUserId} | String | Yes | The id of the requested user. |
token | String | Yes | Security Token obtained before. |
userId | String | Yes | The id of the logged in user. |
firstName | String | Yes | The new name for the user. |
lastName | String | Yes | The new last name for the user. |
String | No | The new email address for the user. If this parameter is not provided, the email of the user will not be modified. | |
password | String | No | The new password for the user. If this value is not provided, the original password of the user will not be modified. |
organization | String | Yes | The new id of the organization for the user. |
facility | String | Yes | The new id of the facility for the user. |
role | String | Yes | The new id of the role for the user. |
pin | String | No | The security pin of this user. (This pin is not still being used by the application) |
tagId | String | No | The new NFC tag id for the new user. If this value is not provided, the original tagId of the user will not be modified. |
passwordValidation | String | If a user is trying to modify his/her email, password and/or tagId, the argument 'passwordValidation' -> Yes | The original (old) password of the user. This argument is used for when a user tries to modify his/her OWN email, password and/or tag id. |
curl 'http://192.168.2.103:8080/PresentationServices/users/354a7aae-ac06-4892-ac61-ce302351eb35' -H 'Accept: application/json, text/javascript, */*; q=0.01' -H 'Origin: file://' -H 'User-Agent: Mozilla/5.0 (Linux; Android 4.4.2; Nexus 5 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36' -H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8' --data 'firstName=e&lastName=e&email=e%40e.com&password=&organization=UNC&facility=UNC&role=2&status=SUSPENDED&userId=sigal&token=8a4804ef-3301-4f89-a5a9-c3fed479d8c3' --compressed
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "data" : { "email" : "e@e.com",
"facilityId" : "UNC",
"facilityName" : "UNC",
"firstName" : "e",
"id" : "354a7aae-ac06-4892-ac61-ce302351eb35",
"username" : "e",
"lastName" : "e",
"organizationId" : "UNC",
"organizationName" : "UNC",
"roleId" : 2,
"roleName" : "pod",
"status" : "SUSPENDED",
"updateDate" : "Wed May 14 13:24:38 CEST 2014",
"passwordSet":true,
"tagIdSet":true,
"pinSet":true
},
"statusFact" : { "success" : true }
}
|
Delete User
Current Implementation
This is a DELETE method. Modifies user status to INACTIVE.
The final result is the same as using the Update User Information operation using INACTIVE as the new status.
Parameters
Base URL: /users/{requestedUserId}
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
{requestedUserId} | String | Yes | The id of the requested user. |
token | String | Yes | Security Token obtained before. |
userId | String | Yes | The id of the logged in user. |
API Sample
curl -X DELETE 'http://192.168.2.103:8080/PresentationServices/users/354a7aae-ac06-4892-ac61-ce302351eb35' -H 'Accept: application/json, text/javascript, */*; q=0.01' -H 'Origin: file://' -H 'User-Agent: Mozilla/5.0 (Linux; Android 4.4.2; Nexus 5 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36' -H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8' --compressed
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "statusFact" : { "success" : true }} |
Check User's Attribute Availability
Current Implementation
This operation can be used to check whether a specific value for a specific attribute of a User is already taken by any other user.
Info |
---|
This operation can be used with a temporal token. |
The supported attributes are:
- tagId
- username
- pin
In the cases where the specified attribute is not available, the result will contain a field called 'takenBy' which will contains the userId of the user having it.
Parameters
Base URL: /userAttributeAvailable/{attribute}
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
{attribute} | ENUM | Yes | Possible values: ['tagId', 'email', 'username', 'pin']. The User's attribute we want to check. |
token | String | Yes | Security Token obtained before. |
userId | String | Only if 'token' is not a temporal token | The id of the logged in user. |
temporalSession | Boolean | No | DEFAULT: 'false'. Indicates whether the provided token is temporal or not. |
value | String | Yes | The value that we want to check. |
API Sample
Available attribute (email)
Code Block | ||||
---|---|---|---|---|
| ||||
{
"data":{
"available":true
},
"statusFact":{
"success":true
}
} |
Non Available Attribute (username)
Code Block | ||||
---|---|---|---|---|
| ||||
{
"data":{
"available":false,
"takenBy":"podb"
},
"statusFact":{
"success":true
}
} |
Create User Name
Current Implementation
This API method can be used to create user name from first name first letter and last name. If created user name already exists in users table then add number to user name.
eg. psmith, psmith1
Parameters
Base URL: /createUserName
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
firstName | String | Yes | First Name of user. |
lastName | String | Yes | Last Name of user. |
API Sample
url 'http://localhost:8080/PresentationServices/userAttributeAvailable/usernamecreateUserName?token=d56c8e42-395e-4ba1-9bbb-73e5ed403f51&userId=poda&value=10
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "data":{ "available":false, "takenBy"lastName":"Poda","userName":"vPoda1","firstName":"podbvidant" }, "statusFact":{ "success":true } } |