arazzo: 1.0.1
info:
title: Canvas Medical Care Plan Management
summary: Read the patient, record a care Goal, then retrieve the active CarePlan and the CareTeam coordinating it.
description: >-
A care-coordination flow against the Canvas FHIR R4 API, following the US Core
Care Coordination resources. The patient is read, a Goal is created to capture
a target outcome, and the patient's CarePlan and CareTeam are retrieved so the
coordinating providers and the plan of record are visible together. Every step
inlines its request so the flow is self-contained.
version: 1.0.0
x-realizes-capability-ids:
- BC-2800.20
- BC-2820
x-capability-derivation:
method: 'deterministic join: sourceDescriptions -> per-tag OpenAPI -> tag/capability edge. No classification at this step.'
min_confidence: 0.7
sources:
- capability_id: BC-2800.20
capability_name: Patient Registration Management
spec: canvas-medical-patient-api-openapi.yml
confidence: 0.75
- capability_id: BC-2820
capability_name: Care Coordination Management
spec: canvas-medical-careplan-api-openapi.yml
confidence: 0.7
model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: careplanApi
url: ../openapi/canvas-medical-careplan-api-openapi.yml
type: openapi
- name: careteamApi
url: ../openapi/canvas-medical-careteam-api-openapi.yml
type: openapi
- name: goalApi
url: ../openapi/canvas-medical-goal-api-openapi.yml
type: openapi
- name: patientApi
url: ../openapi/canvas-medical-patient-api-openapi.yml
type: openapi
workflows:
- workflowId: care-plan-management
summary: Record a care goal and retrieve the patient's care plan and care team.
description: >-
Reads the patient, creates a Goal, and retrieves the CarePlan and CareTeam for
care coordination.
inputs:
type: object
required:
- patientId
- goal
properties:
patientId:
type: string
description: The FHIR Patient id whose care is being coordinated.
goal:
type: object
description: The FHIR R4 Goal resource capturing the target outcome.
steps:
- stepId: readPatient
description: Read the patient whose care plan is being managed.
operationId: readPatient
parameters:
- name: id
in: path
value: $inputs.patientId
successCriteria:
- condition: $statusCode == 200
- stepId: recordGoal
description: Create a care Goal capturing the desired outcome for the patient.
operationId: createGoal
requestBody:
contentType: application/fhir+json
payload: $inputs.goal
successCriteria:
- condition: $statusCode == 201
outputs:
goalId: $response.body#/id
- stepId: getCarePlan
description: Retrieve the patient's active care plan.
operationId: searchCarePlan
parameters:
- name: patient
in: query
value: $inputs.patientId
successCriteria:
- condition: $statusCode == 200
outputs:
carePlan: $response.body
- stepId: getCareTeam
description: Retrieve the care team coordinating the patient's care.
operationId: searchCareTeam
parameters:
- name: patient
in: query
value: $inputs.patientId
successCriteria:
- condition: $statusCode == 200
outputs:
careTeam: $response.body
outputs:
goalId: $steps.recordGoal.outputs.goalId
carePlan: $steps.getCarePlan.outputs.carePlan
careTeam: $steps.getCareTeam.outputs.careTeam
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.