Users
iEHR supports the standard SCIM Users
API endpoints.
Schemas
SCIM resources include a schemas
property that declares which schemas a resource conforms to.
The base User
schema is urn:ietf:params:scim:schemas:core:2.0:User
.
User Type and Username
iEHR users always have a corresponding FHIR® "profile" resource, which can be a Patient
, Practitioner
, or RelatedPerson
. To specify the desired FHIR® resource type, you must include a userType
property with the FHIR® resource type.
For example, consider this Practitioner
:
{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"userType": "Practitioner",
"name": {
"givenName": "Alice",
"familyName": "Smith"
},
"emails": [{ "value": "alice@example.com" }]
}
For example, consider this Patient
:
{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"userType": "Patient",
"name": {
"givenName": "Bob",
"familyName": "Jones"
},
"emails": [{ "value": "bob@example.com" }]
}
The SCIM userName
property will be the system generated FHIR® resource ID. This can be used in combination with the SCIM userType
to identify the FHIR® resource for the user.
Create a user
Create a user by making an HTTP POST
request to https://api.iehr.ai/scim/v2/Users
curl https://api.iehr.ai/scim/v2/Users \
-H "Authorization: Bearer MY_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"userType": "Practitioner",
"name": {
"givenName": "Alice",
"familyName": "Smith"
},
"userName": "alice@example.com",
"emails": [
{
"value": "alice@example.com"
}
]
}'
Read a user
Read a user by making an HTTP GET
request to https://api.iehr.ai/scim/v2/Users/{id}
curl https://api.iehr.ai/scim/v2/Users/MY_USER_ID \
-H "Authorization: Bearer MY_ACCESS_TOKEN"
Update a user
Update a user by making an HTTP PUT
request to https://api.iehr.ai/scim/v2/Users/{id}
curl -X PUT https://api.iehr.ai/scim/v2/Users \
-H "Authorization: Bearer MY_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"userType": "Practitioner",
"id": "41ecbf96-8296-4fac-801c-5e78042ba436",
"name": {
"givenName": "Alice",
"familyName": "Smith"
},
"userName": "alice@example.com",
"emails": [
{
"value": "alice@example.com"
}
],
"externalId": "test-external-id"
}'
Delete a user
Delete a user by making an HTTP DELETE
request to https://api.iehr.ai/scim/v2/Users/{id}
curl -X DELETE https://api.iehr.ai/scim/v2/Users/MY_USER_ID \
-H "Authorization: Bearer MY_ACCESS_TOKEN"
Note that deleting the user does not delete any of the corresponding FHIR® resources.
Search users
Search for users by making an HTTP GET
request to https://api.iehr.ai/scim/v2/Users
curl https://api.iehr.ai/scim/v2/Users \
-H "Authorization: Bearer MY_ACCESS_TOKEN"