Invoke Instance Operation
The FHIR instance-level operation invocation allows you to invoke a custom or standard operation on a specific resource instance. This is done using an HTTP POST or GET request to the operation endpoint for the resource instance.
- CLI
- TypeScript Client
- cURL
Invoke the $everything operation on a Patient resource using the Haste Health CLI:
haste-health api invoke-instance Patient 12345 everything --file params.json
Where params.json contains:
{
"resourceType": "Parameters",
"parameter": [
{
"name": "start",
"valueDate": "2025-01-01"
}
]
}
Invoke an instance-level operation using the TypeScript client:
import { AsynchronousClient } from '@haste-health/client';
import { R4 } from '@haste-health/fhir-types/versions';
import { Parameters } from '@haste-health/fhir-types/r4/types';
// Assuming you have a configured client
const client: AsynchronousClient<{}> = /* ... */;
const params: Parameters = {
resourceType: "Parameters",
parameter: [
{
name: "start",
valueDate: "2025-01-01"
}
]
};
const result = await client.invoke_instance(
{},
R4,
'Patient',
'12345',
'everything',
params
);
console.log('Operation result:', result);
Invoke the $everything operation on a Patient resource using cURL:
curl -X POST "https://api.haste.health/w/[tenant]/[project]/api/v1/fhir/r4/Patient/12345/\$everything" \
-H "Content-Type: application/fhir+json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-d '{
"resourceType": "Parameters",
"parameter": [
{
"name": "start",
"valueDate": "2025-01-01"
}
]
}'
Replace [tenant] with your tenant name and [project] with your project ID.
Error Handling
If there are any issues with the request (e.g., invalid parameters, operation not supported), the server will respond with an appropriate error status code and include an OperationOutcome resource in the response body.
HTTP/1.1 400 Bad Request
Content-Type: application/fhir+json
{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "error",
"code": "invalid",
"diagnostics": "Missing required parameter: start"
}
]
}