Intended objective(s) for a patient, group or organization

Retrieving a patient’s goals

The logical ID (of the patient to retrieve) is passed as part of the URL. The logical ID is found as the result of a search.

Name Required? Type Description
id yes URL The logical ID of the patient. This is retrieved using the search function.
date no string A string representing a date to include in the search. See below for more information.

A DAF Goal is retuned

Name Type Cardinality Description
identifier 0..* External ID for this goal. This is a business identifier, not a resource identifier. This records identifiers associated with this care plan that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (for example, in CDA documents, or in written/printed documentation).
subject Reference(Patient, Group, Organization) 0..1 Who the goal is intended for. Subject identifies the patient, group, or organization for whom the goal is being established, typically the patient. Subject is optional to support anonymized reporting.
startDate Date 0..1 When the goal pursuit begins. A date or partial date (for example, just year or year + month) as used in human communication. There is no time zone. Dates shall be valid dates.
startCodeableConcept CodeableConcept 0..1 When the goal pursuit begins. This option is a codable concept that identifies types of events that might trigger the start of a goal as defined in For example, Admission to the hospital (32485007), Childbirth (386216000), or Completion time of procedure (442137000).
targetDate Date 0..1 Reach goal on or before. Indicates either the date or the duration after the start by which the goal should be met. This identifies when the goal should be evaluated. This can be a target date (or partial) or a duration of time.
targetQuantity Quantity 0..1 Reach goal on or before. Indicates either the date or the duration after start by which the goal should be met. This identifies when the goal should be evaluated. This can be a target date (or partial) or a duration of time.
category CodeableConcept 0..* Indicates a category the goal falls within, and allows goals to be filtered and sorted based on a particular category. Examples of category include: Treatment, Dietary, or Behavioral. For more information on this value set, see
description string 1..1 Desired outcome. This is a human-readable description of a specific desired objective of care. Without a description of what’s trying to be achieved, the element has no purpose.
status code 1..1 Indicates whether the goal has been reached and is still considered relevant. Options include: Proposed, Planned, Accepted, Rejected, In-progress, Achieved, Sustaining, On-hold, and Cancelled. For more information on this value set, see
statusDate date) 0..1 When goal status took effect. This identifies the current status. For example, when the goal was initially created, when the goal was achieved, when the goal was cancelled, and so on.
statusReason CodeableConcept 0..1 Captures the reason for the current status. This is typically captured for statuses such as Rejected, On-hold, or Cancelled but could be present for others. Conformance is set as example. For more information on this value set, see:
author Reference( Patient, Practitioner- or Related Person- 0..1 Who is responsible for creating the goal. This indicates whose goal this is: patient goal, practitioner goal, related person goal, and so on. This is the individual responsible for establishing the goal, not necessarily who recorded it. (For that, use the provenance resource.)
priority CodeableConcept 0..1 Identifies the mutually agreed level of importance associated with reaching and/or sustaining the goal. This is used for sorting and presenting goals. Extensions are available to track priorities as established by each participant. For example, priority from the patient’s perspective, different practitioners’ perspectives, or family member’s perspectives. The ordinal extension on coding can be used to convey a numerically comparable ranking to priority. Conformance is preferred and defines the following codes: High, Medium, and Low. Different coding systems may use “low value=important.” For more information on this value set, see:
addresses Reference(Condition, Observation, MedicationStatement, NutritionOrder, ProcedureRequest, RiskAssessment) 0..* Identified conditions and other health record elements that are intended to be addressed by the goal. This allows specific goals to be explicitly linked to the concerns they’re dealing with which makes the goal more understandable. Reference profiles include: Condition, Observation, MedicationStatement, NutritionOrder, ProcedureRequest, and RiskAssessment.
note Annotation 0..* Comments or annotation about the goal. Must capture information about the goal that doesn’t actually describe the goal. May be used for progress notes, concerns, or other related information that doesn’t actually describe the goal itself. This is also an MU requirement, which determines the narrative portion of the goal.
outcome 0..* The end result of goal. Outcome identifies the change (or lack of change) at the point where the goal was deemed to be cancelled or achieved. Outcome tracking is a key aspect of care planning. Note that this should not duplicate the goal status.
– outcome.resultCodeableConcept CodeableConcept 0..1 Code or observation that resulted from goal.
– outcome.resultReference Reference(Observation) 0..1 Code or observation that resulted from the goal. This describes what has or has not changed. GoalOutcome: The result of the goal. For example, “25% increase in shoulder mobility,” “Anxiety reduced to moderate levels,” or “15 kg weight loss sustained over 6 months.”

Searching by date

Dates are passed as query parameters on the URL. Since the URL parameters cannot handle comparators (for example, >, <=) these are passed in as part of the date.


The following comparators are supported:

Comparator Description
eq equal
gt greater than
ge greater than or equal
lt less than
le less than or equal

To search for a date range, pass in the date twice.

e.g. date=ge2010-01-01&date=le2010-12-31

This search would include every day in the year 2010.