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
Profile specific implementation guidance:
- Procedure codes can be taken from SNOMED-CT, CPT, HCPCS II, ICD-10-PCS, CDT, or LOINC.
- Only LOINC concepts that reflect actual procedures SHOULD be used.
- A procedure including an implantable device SHOULD use Procedure.focalDevice with a reference to the US Core Implantable Device Profile.
- See the Screening and Assessments guidance page for more information when exchanging Social Determinants of Health (SDOH) Procedures.
- The Reason or justification for a referral or consultation is communicated through the US Core ServiceRequest Profile which can be linked to the Procedure through the `Procedure.basedOn’ element.
This resource conforms to USCDI V3 profile for Procedure - refer to StructureDefinition US Core Procedure. 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
Proceduremust support these elements:
statuscodesubjectperformed[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 <token> |
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 <token> |
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 <token> |
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 <token> |
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 <token> |
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'