API Reference

Overview

The Procedure resource is used to record the details of current and historical procedures performed on or for a patient, such as surgical procedures, diagnostic procedures, endoscopic procedures, biopsies, counseling, physiotherapy, personal support services, adult day care services, non-emergency transportation, home modification, exercise, etc. Procedures may be performed by a healthcare professional, a service provider, a friend or relative or in some cases by the patient themselves.

If a procedure includes an implantable device , this would be represented as:

  • Procedure.focalDevice with a reference to the US Core Implantable Device Profile
    Procedure codes can be taken from SNOMED-CT, CPT, HCPCS II, ICD-10-PCS, CDT. LOINC.
    Only LOINC concepts that reflect actual procedures SHOULD be used

Each Procedure has next elements:

  • a status
  • a code that identifies the type of procedure performed on the patient
  • a patient
  • when the procedure was performed

This resource conforms to USCDI V2 profile for Procedure - refer to US Core Procedure Profile. Procedure response will be provided in JSON (refers to Capability Statement) format as per FHIR standard R4 version.

USCore Data ElementFHIR Resource Field
statusProcedure.status
procedure codeProcedure.code
patientProcedure.subject
procedure performed dateProcedure.performed

Must support elements, mandatory and optional search parameters

Procedure must support these elements:

  • status
  • code
  • subject
  • performed[x]
    • performedDateTime

The following search parameters and search parameter combinations SHALL be supported:

The syntax used to describe the interactions is described here.

SHALL support searching for all Procedure for a patient using the patient search parameter:
GET [base url]/Procedure?patient={Type/}[id]

SHALL support searching using the combination of the patient and date search parameters:

  • including support for these date comparators: gt,lt,ge,le
  • including optional support for AND search on date
    GET [base url]/Procedure?patient={Type/}[id]&date=[date]

The following search parameter combinations SHOULD be supported (optional):
SHOULD support searching using the combination of the patient and status search parameters:

  • including support for OR search on status
    GET [base url]/Procedure?patient={Type/}[id]&status={system|}[code],{system|}[code],...}

SHOULD support searching using the combination of the patient and code and date search parameters:

  • including optional support for OR search on code
  • including support for these date comparators: gt,lt,ge,le
  • including optional support for AND search on date
    GET [base url]/Procedure?patient={Type/}[id]&code={system|}[code]&date=[date]

The response to any search operation is always a list of resources in a Bundle or an Operation Outcome.

Procedure By Patient Id

Search for Procedure by patient.

METHOD GET

[base url]/Procedure?patient={Type/}[id]

PARAMS
[base url] - FHIR base url
[id] - Id for the Patient

HEADERS

The Authorization token SHALL be obtained during Authentication and Authorization process. Goto Authentication and Authorization for further details.

HeaderTypeRequired/OptionalValue
Authorizationstringrequired'Bearer'

RESPONSES

CodeDescriptionComment
200OKThe request was processed successfully
400Bad requestInvalid request parameters or FHIR operation outcome resource returned
401UnauthorizedThis code indicates that the client request has not been completed because it lacks valid authentication credentials for the requested resource
404no Route matched with those valuesThe request was able to communicate with a given server, but the server could not find what was requested
500Internal Server ErrorThe server has encountered a situation it doesn't know how to handle

EXAMPLE:

curl --location --request GET 'https://sandbox.fhir.elationemr.com/fhir/Procedure?patient=Patient/c5137fa5-3216-b12a-cbbc-a0c6bef361g7' \
--header 'Authorization: Bearer fe1cd986-1ac7-4c26-b8b3-d632a48408fd'

Procedure By Id

Get Procedure by ID.

METHOD GET

[base url]/Procedure/{id}

or

[base url]/Procedure?_id={id}

PARAMS
[base url] - FHIR base url
{id} - Id for Procedure resource

HEADERS

The Authorization token SHALL be obtained during Authentication and Authorization process. Goto Authentication and Authorization for further details.

HeaderTypeRequired/OptionalValue
Authorizationstringrequired'Bearer'

RESPONSES

CodeDescriptionComment
200OKThe request was processed successfully
400Bad requestInvalid request parameters or FHIR operation outcome resource returned
401UnauthorizedThis code indicates that the client request has not been completed because it lacks valid authentication credentials for the requested resource
404no Route matched with those valuesThe request was able to communicate with a given server, but the server could not find what was requested
500Internal Server ErrorThe server has encountered a situation it doesn't know how to handle

EXAMPLE:

curl --location --request GET 'https://sandbox.fhir.elationemr.com/fhir/Procedure/c5137fa5-3216-b12a-cbbc-a0c6bef361g7' \
--header 'Authorization: Bearer fe1cd986-1ac7-4c26-b8b3-d632a48408fd'

Procedure by patient and date

Get Procedures for the specified patient and date

METHOD GET

GET [base url]/Procedure?patient={Type/}[id]&date={gt|lt|ge|le}[date]&date={gt|lt|ge|le}[date]

PARAMS
[base url] - FHIR base url
[id] - patient id
[date] - an estimated or actual date, when the procedure was performed

HEADERS

The Authorization token SHALL be obtained during Authentication and Authorization process. Goto Authentication and Authorization for further details.

HeaderTypeRequired/OptionalValue
Authorizationstringrequired'Bearer'

RESPONSES

CodeDescriptionComment
200OKThe request was processed successfully
400Bad requestInvalid request parameters or FHIR operation outcome resource returned
401UnauthorizedThis code indicates that the client request has not been completed because it lacks valid authentication credentials for the requested resource
404no Route matched with those valuesThe request was able to communicate with a given server, but the server could not find what was requested
500Internal Server ErrorThe server has encountered a situation it doesn't know how to handle

EXAMPLE:

curl --location --request GET 'https://sandbox.fhir.elationemr.com/fhir/Procedure?patient=Patient/fe1cd986-1ac7-4c26-b8b3-d632a48408fd&date=ge2019-01-14' \
--header 'Authorization: Bearer 1239b275-909e-4754-8f73-1e411fd6769e'

Procedure by patient and status

Get Procedure by patient id and procedure status

METHOD GET

`GET [base url]/Procedure?patient={Type/}[id]&status={system|}[code],{system|}[code],...}`

PARAMS
[base url] - FHIR base url
[id] - a patient id
{system|} - an identity of the terminology system, used to specify the state of the procedure . FHIR search token parameter. See Search specification for more information.
{code} - a code specifying the state of the procedure

HEADERS

The Authorization token SHALL be obtained during Authentication and Authorization process. Goto Authentication and Authorization for further details.

HeaderTypeRequired/OptionalValue
Authorizationstringrequired'Bearer'

RESPONSES

CodeDescriptionComment
200OKThe request was processed successfully
400Bad requestInvalid request parameters or FHIR operation outcome resource returned
401UnauthorizedThis code indicates that the client request has not been completed because it lacks valid authentication credentials for the requested resource
404no Route matched with those valuesThe request was able to communicate with a given server, but the server could not find what was requested
500Internal Server ErrorThe server has encountered a situation it doesn't know how to handle

EXAMPLE:

curl --location --request GET 'https://sandbox.fhir.elationemr.com/fhir/Procedure?patient=Patient/fe1cd986-1ac7-4c26-b8b3-d632a48408fd&status=completed' \
--header 'Authorization: Bearer 1239b275-909e-4754-8f73-1e411fd6769e'

Procedure of the patient and code and date search parameters

Fetches a bundle of all Procedure resources for the specified patient and date and procedure code(s)

METHOD GET

`GET [base url]/Procedure?patient={Type/}[id]&code={system|}[code]&date=[date]`

PARAMS
[base url] - FHIR base url
[id] - patient id
{system|} - an identity of the terminology system, used to specify the state of the procedure . FHIR search token parameter. See Search specification for more information.
{code} - a code specifying the state of the procedure
[date] - an estimated or actual date, when the procedure was performed

HEADERS

The Authorization token SHALL be obtained during Authentication and Authorization process. Goto Authentication and Authorization for further details.

HeaderTypeRequired/OptionalValue
Authorizationstringrequired'Bearer'

RESPONSES

CodeDescriptionComment
200OKThe request was processed successfully
400Bad requestInvalid request parameters or FHIR operation outcome resource returned
401UnauthorizedThis code indicates that the client request has not been completed because it lacks valid authentication credentials for the requested resource
404no Route matched with those valuesThe request was able to communicate with a given server, but the server could not find what was requested
500Internal Server ErrorThe server has encountered a situation it doesn't know how to handle

EXAMPLE:

curl --location --request GET 'https://sandbox.fhir.elationemr.com/fhir/Procedure?patient=Patient/fe1cd986-1ac7-4c26-b8b3-d632a48408fd&date=ge2019-01-14T00:00:00Z&code=http://snomed.info/sct|35637008' \
--header 'Authorization: Bearer 1239b275-909e-4754-8f73-1e411fd6769e'