Practitioner

Practitioners are an essential part of Atticus. On this page, we'll dive into the different practitioner endpoints you can use to manage practitioners programmatically. We'll look at how to query, create, update, and delete practitioners.

The Practitioner model

The Practitioner model contains all the basic information about a healthcare practitioner, including their name, identifiers, and qualifications.

Properties

The Practitioner model conforms to the FHIR Practitioner resource. The following properties are available:

  • Name
    resourceType*
    Type
    'Practitioner'
    Description

    The FHIR resource type. This must be set to 'Practitioner'.

  • Name
    name
    Type
    HumanName[]
    Description

    The name of the practitioner. This includes given names and family name. Name contains an array of FHIR HumanName objects.

  • Name
    telecom
    Type
    ContactPoint[]
    Description

    The contact details of the practitioner. Telecom contains an array of FHIR ContactPoint objects. Currently only email is imported and stored.


POST/Practitioner

Create a new Practitioner

This endpoint allows you to create a new Practitioner.

Request

POST
/Practitioner
curl -X POST https://reports.tiro.health/fhir/r5/Practitioner \
  -H "Authorization: Basic {{apikey}}" \
  -H "Content-Type: application/fhir+json" \
  -d '{
    "resourceType": "Practitioner",
    "name": [{
      "prefix": ["dr."],
      "given": ["Jane"],
      "family": "Doe"
    }],
    "telecom": [{"system": "email", "value": "test@test.com"}],
  }'

Response

{
  "resourceType": "Practitioner",
  "id": "1",
  "name": [{
    "prefix": ["dr."],
    "given": ["Jane"],
    "family": "Doe"
  }],
  "telecom": [{"system": "email", "value": "test@test.com"}],
}

PUT/Practitioner?identifier=<system>|<value>

Conditionally update a Practitioner

This endpoint allows you to update a Practitioner by matching on specific criteria. The search criteria are provided as query parameters, and the updated Practitioner data is provided in the request body. When no Practitioner is found that matches the search criteria, a new Practitioner is created. Currently only identifiers with system 'http://tiro.health/Practitioner' are allowed for matching.

Request

PUT
/Practitioner?identifier=http://tiro.health/Practitioner|12345
curl -X PUT "https://reports.tiro.health/fhir/r5/Practitioner?identifier=http://tiro.health/Practitioner|12345" \
  -H "Authorization: Basic {{apikey}}" \
  -H "Content-Type: application/fhir+json" \
  -d '{
    "resourceType": "Practitioner",
    "name": [{
      "prefix": ["dr."],
      "given": ["Jane"],
      "family": "Doe"
    }],
    "telecom": [{"system": "email", "value": "test@test.com"}],
  }'

Response

{
  "resourceType": "Practitioner",
  "id": "1",
  "name": [{
    "given": ["John"],
    "family": "Smith"
  }],
  "telecom": [{"system": "email", "value": "test@test.com"}],
  "identifier": [{
    "system": "http://tiro.health/Practitioner",
    "value": "12345"
  }]
}

GET/Practitioner/:id

Get an existing Practitioner

This endpoint allows you to retrieve an existing Practitioner by providing the Practitioner id.

Request

GET
/Practitioner/1
curl -G https://reports.tiro.health/fhir/r5/Practitioner/1 \
     -H "Authorization: Basic {{apikey}}" \
     -H "Content-Type: application/fhir+json" \

Was this page helpful?