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 Element | FHIR Resource Field |
---|---|
status | Procedure.status |
procedure code | Procedure.code |
patient | Procedure.subject |
procedure performed date | Procedure.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.
Header | Type | Required/Optional | Value |
---|---|---|---|
Authorization | string | required | 'Bearer' |
RESPONSES
Code | Description | Comment |
---|---|---|
200 | OK | The request was processed successfully |
400 | Bad request | Invalid request parameters or FHIR operation outcome resource returned |
401 | Unauthorized | This code indicates that the client request has not been completed because it lacks valid authentication credentials for the requested resource |
404 | no Route matched with those values | The request was able to communicate with a given server, but the server could not find what was requested |
500 | Internal Server Error | The 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.
Header | Type | Required/Optional | Value |
---|---|---|---|
Authorization | string | required | 'Bearer' |
RESPONSES
Code | Description | Comment |
---|---|---|
200 | OK | The request was processed successfully |
400 | Bad request | Invalid request parameters or FHIR operation outcome resource returned |
401 | Unauthorized | This code indicates that the client request has not been completed because it lacks valid authentication credentials for the requested resource |
404 | no Route matched with those values | The request was able to communicate with a given server, but the server could not find what was requested |
500 | Internal Server Error | The 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.
Header | Type | Required/Optional | Value |
---|---|---|---|
Authorization | string | required | 'Bearer' |
RESPONSES
Code | Description | Comment |
---|---|---|
200 | OK | The request was processed successfully |
400 | Bad request | Invalid request parameters or FHIR operation outcome resource returned |
401 | Unauthorized | This code indicates that the client request has not been completed because it lacks valid authentication credentials for the requested resource |
404 | no Route matched with those values | The request was able to communicate with a given server, but the server could not find what was requested |
500 | Internal Server Error | The 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.
Header | Type | Required/Optional | Value |
---|---|---|---|
Authorization | string | required | 'Bearer' |
RESPONSES
Code | Description | Comment |
---|---|---|
200 | OK | The request was processed successfully |
400 | Bad request | Invalid request parameters or FHIR operation outcome resource returned |
401 | Unauthorized | This code indicates that the client request has not been completed because it lacks valid authentication credentials for the requested resource |
404 | no Route matched with those values | The request was able to communicate with a given server, but the server could not find what was requested |
500 | Internal Server Error | The 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.
Header | Type | Required/Optional | Value |
---|---|---|---|
Authorization | string | required | 'Bearer' |
RESPONSES
Code | Description | Comment |
---|---|---|
200 | OK | The request was processed successfully |
400 | Bad request | Invalid request parameters or FHIR operation outcome resource returned |
401 | Unauthorized | This code indicates that the client request has not been completed because it lacks valid authentication credentials for the requested resource |
404 | no Route matched with those values | The request was able to communicate with a given server, but the server could not find what was requested |
500 | Internal Server Error | The 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'