Uzbekistan Digital Health Platform
0.5.0 - ci-build Uzbekistan flag

Uzbekistan Digital Health Platform, published by Ministry of Health of the Republic of Uzbekistan. This guide is not an authorized publication; it is the continuous build for version 0.5.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/uzinfocom-org/digital-health-ig/ and changes regularly. See the Directory of published versions

Resource Profile: UZ Core Goal ( Experimental )

Official URL: https://dhp.uz/fhir/core/StructureDefinition/uz-core-goal Version: 0.5.0
Active as of 2025-08-01 Computable Name: UZCoreGoal

Uzbekistan Core Goal profile, used for a patient, group or organization care. For example: weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, etc.

UZ Core Goal records a health goal for a patient on the Digital Health Platform - a target the patient is working towards, such as a target weight, a target HbA1c, a blood-pressure target, or a physical-activity target. Goals are often set by the patient in the portal. A Goal may address a Condition, and its result may be measured by an Observation.

Mandatory and Must Support data elements

The elements below must always be present (mandatory) or must be supported when the data is available (Must Support) - not all are required, but your system must populate each Must Support element when it has the data and process it on receipt. This is the human-readable summary; the formal views below give the exact cardinalities, types, and terminology bindings.

Each UZ Core Goal Must Have

This profile adds no mandatory cardinality of its own. The required elements are inherited from the base resource: a lifecycle status, a description of the goal, and a subject (the patient it is for).

Each UZ Core Goal Must Support

  • an identifier (e.g. a number from an insurer's or another clinic's system);
  • the lifecycleStatus (proposed, planned, accepted, active, on-hold, completed, cancelled, entered-in-error, rejected) - bound to the DHP goal-status value set;
  • an achievementStatus (in-progress, improving, worsening, no-change, achieved, sustaining, not-achieved, no-progress, not-attainable) - bound to the DHP goal-achievement value set;
  • a category grouping the goal by type (e.g. treatment, dietary, behavioural, nursing);
  • a continuous flag - true when effort must continue after the goal is reached (e.g. a lifelong diet);
  • a priority (high, medium, low);
  • a description of what the goal is (text or code);
  • the subject the goal is set for - a Patient, a Group, or an Organization;
  • a start[x] (when work on the goal begins);
  • a target - the parameter measured (target.measure), the figure or state to reach (target.detail[x]), and the deadline (target.due[x]);
  • a statusDate and statusReason for the current status;
  • the source - who set the goal (a CareTeam, Patient, Practitioner, PractitionerRole, or RelatedPerson);
  • the medical problems the goal addresses (a Condition, Observation, Socioeconomic Observation, medication, nutrition order, service request, risk assessment, or Procedure);
  • free-text notes;
  • the outcome - the Observation that records the result achieved.

A Goal is never hard-deleted. To withdraw it, change lifecycleStatus (for example to cancelled or completed) rather than calling DELETE.

Building the JSON, step by step

The examples below go from the smallest instance the server will accept to a full goal with a target and a measured outcome. Copy one and adapt it - every value shown validates against this profile. The complete reference instance is the example Goal.

The smallest Goal you should send

Three elements are strictly mandatory: a lifecycleStatus saying where in planning the goal sits (proposed, planned, accepted, active, on-hold, completed …), a description of what the goal is, and the subject it is for (a plain Patient reference). The description may be a SNOMED CT code or free text. Every UZ Core resource must also name the profile it claims to conform to in meta.profile. This much already passes validation:

{
  "resourceType": "Goal",
  "meta": { "profile": ["https://dhp.uz/fhir/core/StructureDefinition/uz-core-goal"] },
  "lifecycleStatus": "active",
  "description": {
    "coding": [{ "system": "http://snomed.info/sct", "code": "1201005", "display": "Benign essential hypertension" }]
  },
  "subject": { "reference": "Patient/example-salim" }
}

lifecycleStatus uses a required binding, so the value must come from the bound value set. To describe a goal that has no suitable code, send description.text instead of coding.

A realistic goal

In practice you send the goal in context: who it is for (subject, usually a Patient), how it is progressing (achievementStatus), how it is grouped (category), how important it is (priority), when work began (start[x]), and who set it (source). The continuous flag is true when effort must continue after the goal is reached, such as a lifelong diet:

{
  "resourceType": "Goal",
  "meta": { "profile": ["https://dhp.uz/fhir/core/StructureDefinition/uz-core-goal"] },
  "lifecycleStatus": "active",
  "achievementStatus": {
    "coding": [{ "system": "http://terminology.hl7.org/CodeSystem/goal-achievement", "code": "in-progress", "display": "In progress" }]
  },
  "category": [
    { "coding": [{ "system": "http://terminology.hl7.org/CodeSystem/goal-category", "code": "dietary", "display": "Dietary" }] }
  ],
  "continuous": true,
  "priority": {
    "coding": [{ "system": "http://terminology.hl7.org/CodeSystem/goal-priority", "code": "high-priority", "display": "High priority" }]
  },
  "description": {
    "coding": [{ "system": "http://snomed.info/sct", "code": "1201005", "display": "Benign essential hypertension" }]
  },
  "subject": { "reference": "Patient/example-salim" },
  "startDate": "2024-01-01",
  "statusDate": "2024-01-15",
  "statusReason": "The patient started taking medications.",
  "source": { "reference": "Practitioner/example-practitioner" },
  "note": [
    { "text": "Weekly blood pressure monitoring." }
  ]
}

achievementStatus, priority and lifecycleStatus each use a required binding; category and description are bound example, so you may use other codes where they fit. subject and source are plain Reference values ({ "reference": "Type/id" }).

Adding a measurable target

Most goals carry a target - the parameter being watched (target.measure), the figure or state to reach (target.detail[x]), and the deadline (target.due[x]). The deadline can be a fixed date (dueDate) or a span after the start (dueDuration). If you populate target.detail[x] you must also send target.measure:

"target": [
  {
    "measure": {
      "coding": [{ "system": "http://snomed.info/sct", "code": "1201005", "display": "Benign essential hypertension" }]
    },
    "detailQuantity": { "value": 120, "unit": "mmHg", "system": "http://unitsofmeasure.org", "code": "mm[Hg]" },
    "dueDate": "2024-06-01"
  }
]

This target array slots into the same resource as the realistic goal above. See Units and quantities for the UCUM rules on detailQuantity.

Linking the problem and the result

A goal usually exists to tackle a recorded problem and is later judged against a measurement. Point addresses at the Condition (or Observation, Procedure, medication, or service request) the goal is set for, and point outcome at the Observation that records the result. Note the difference in shape: addresses is a plain Reference, while outcome is a CodeableReference, so its reference sits one level deeper:

{
  "addresses": [
    { "reference": "Condition/example-headache" }
  ],
  "outcome": [
    { "reference": { "reference": "Observation/blood-pressure-example" } }
  ]
}

These keys slot into the same resource as the realistic goal above. To withdraw a goal rather than delete it, set lifecycleStatus to cancelled or completed and record the reason in statusReason.

For example API calls and a sample payload, see the Quick Start at the bottom of this page.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description Differentials, Snapshots, and other representations.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Goal 0..* Goal(5.0.0) Describes the intended objective(s) for a patient, group or organization
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... lifecycleStatus ?!SΣ 1..1 code At what stage of planning is the goal. Options: proposed, planned, accepted, active (in progress), suspended, completed, canceled, input error, rejected.
Binding: GoalStatusVS (0.5.0) (required)
... achievementStatus SΣ 0..1 CodeableConcept Assessment of progress (how are things going?). Options: in progress, improving, deteriorating, unchanged, achieved, maintained, not achieved, no progress, unreachable.
Binding: GoalAchievementVS (0.5.0) (required)
... category SΣ 0..* CodeableConcept Grouping goals by type. Examples: Treatment, Diet, Behavioral therapy, Nursing.
Binding: GoalCategoryVS (0.5.0) (example)
... continuous S 0..1 boolean Check box (Yes/No). If the answer is Yes, it means that after achieving the goal, efforts do not stop, but are constantly required to maintain the result (for example, «maintain a diet» for life).
... priority SΣ 0..1 CodeableConcept The importance of this goal. Options: high, medium, low.
Binding: GoalPriorityVS (0.5.0) (required)
... description SΣ 1..1 CodeableConcept A text or code that tells you exactly what the goal is.
Binding: GoalDescriptionVS (0.5.0) (example)
... subject SΣ 1..1 Reference(UZ Core Patient(0.5.0) | Group | UZ Core Organization(0.5.0)) The person for whom this goal is set (Patient, Group of people or Organization).
... start[x] SΣ 0..1 When the work on the goal begins.
Binding: GoalStartEventVS (0.5.0) (example)
.... startDate date
.... startCodeableConcept CodeableConcept
... target SC 0..* BackboneElement A container for specific numbers or conditions that we strive for. + Rule: Goal.target.measure is required if Goal.target.detail is populated.
Constraints: gol-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... measure SΣC 0..1 CodeableConcept What parameter are we monitoring? (Parameter code, for example, «Body weight» or «Blood glucose»).
Binding: LOINCCodes (example): Codes to identify the value being tracked, e.g. body weight, blood pressure, or hemoglobin A1c level.
.... detail[x] SΣC 0..1 The figure itself or the state that needs to be achieved.
Binding Description: (example): Codes to identify the target value of the focus to be achieved to signify the fulfillment of the goal.
..... detailQuantity Quantity
..... detailRange Range
..... detailCodeableConcept CodeableConcept
..... detailString string
..... detailBoolean boolean
..... detailInteger integer
..... detailRatio Ratio
.... due[x] SΣ 0..1 The deadline for achieving the indicator. May be: • DueDate: A specific date (by 01.01.2024). • dueDuration: Duration (2 weeks after the start).
..... dueDate date
..... dueDuration Duration
... statusDate SΣ 0..1 date The calendar date when the lifeCycleStatus was updated.
... statusReason S 0..1 string The reason for the current status.
... source SΣ 0..1 Reference(CareTeam | UZ Core Patient(0.5.0) | UZ Core Practitioner(0.5.0) | UZ Core PractitionerRole(0.5.0) | UZ Core RelatedPerson(0.5.0)) Who came up with/set this goal?
... addresses S 0..* Reference(UZ Core Condition(0.5.0) | UZ Core Observation(0.5.0) | UZ Core Socioeconomic Observation(0.5.0) | MedicationStatement | MedicationRequest | NutritionOrder | ServiceRequest | RiskAssessment | UZ Core Procedure(0.5.0)) Medical problems for which the goal is set.
... note S 0..* Annotation Comments about the goal.
... outcome S 0..* CodeableReference(UZ Core Observation(0.5.0)) What result was achieved regarding this goal? Free-text in concept.text, SNOMED, or custom codes may be used.
Binding: SNOMEDCTClinicalFindings (example): The result of the goal; e.g. "25% increase in shoulder mobility", "Anxiety reduced to moderate levels". "15 kg weight loss sustained over 6 months".

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Goal.lifecycleStatus Base required Goal Lifecycle Status VS 📍0.5.0 This IG
Goal.achievementStatus Base required Goal Achievement VS 📍0.5.0 This IG
Goal.category Base example Goal Category VS 📍0.5.0 This IG
Goal.priority Base required Goal Priority VS 📍0.5.0 This IG
Goal.description Base example Goal Description VS 📍0.5.0 This IG
Goal.start[x] Base example Goal Start Event VS 📍0.5.0 This IG
Goal.target.measure Base example LOINC Codes 📍5.0.0 FHIR Std.
Goal.target.detail[x] Base example Not State Unknown
Goal.outcome Base example SNOMED CT Clinical Findings 📍5.0.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Goal If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Goal If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Goal If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Goal If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Goal A resource should have narrative for robust management text.`div`.exists()
ele-1 error Goal.implicitRules, Goal.modifierExtension, Goal.identifier, Goal.lifecycleStatus, Goal.achievementStatus, Goal.category, Goal.continuous, Goal.priority, Goal.description, Goal.subject, Goal.start[x], Goal.target, Goal.target.modifierExtension, Goal.target.measure, Goal.target.detail[x], Goal.target.due[x], Goal.statusDate, Goal.statusReason, Goal.source, Goal.addresses, Goal.note, Goal.outcome All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error Goal.modifierExtension, Goal.target.modifierExtension Must have either extensions or value[x], not both extension.exists() != value.exists()
gol-1 error Goal.target Goal.target.measure is required if Goal.target.detail is populated (detail.exists() and measure.exists()) or detail.exists().not()

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Goal 0..* Goal(5.0.0) Describes the intended objective(s) for a patient, group or organization
... identifier S 0..* Identifier The external identifier of this goal (for example, the number in the database of an insurance company or another clinic).
... lifecycleStatus S 1..1 code At what stage of planning is the goal. Options: proposed, planned, accepted, active (in progress), suspended, completed, canceled, input error, rejected.
Binding: GoalStatusVS (0.5.0) (required)
... achievementStatus S 0..1 CodeableConcept Assessment of progress (how are things going?). Options: in progress, improving, deteriorating, unchanged, achieved, maintained, not achieved, no progress, unreachable.
Binding: GoalAchievementVS (0.5.0) (required)
... continuous S 0..1 boolean Check box (Yes/No). If the answer is Yes, it means that after achieving the goal, efforts do not stop, but are constantly required to maintain the result (for example, «maintain a diet» for life).
... priority S 0..1 CodeableConcept The importance of this goal. Options: high, medium, low.
Binding: GoalPriorityVS (0.5.0) (required)
... description S 1..1 CodeableConcept A text or code that tells you exactly what the goal is.
Binding: GoalDescriptionVS (0.5.0) (example)
... subject S 1..1 Reference(UZ Core Patient(0.5.0) | Group | UZ Core Organization(0.5.0)) The person for whom this goal is set (Patient, Group of people or Organization).
... start[x] S 0..1 date, CodeableConcept When the work on the goal begins.
Binding: GoalStartEventVS (0.5.0) (example)
... target S 0..* BackboneElement A container for specific numbers or conditions that we strive for. + Rule: Goal.target.measure is required if Goal.target.detail is populated.
.... measure S 0..1 CodeableConcept What parameter are we monitoring? (Parameter code, for example, «Body weight» or «Blood glucose»).
.... detail[x] S 0..1 Quantity, Range, CodeableConcept, string, boolean, integer, Ratio The figure itself or the state that needs to be achieved.
.... due[x] S 0..1 date, Duration The deadline for achieving the indicator. May be: • DueDate: A specific date (by 01.01.2024). • dueDuration: Duration (2 weeks after the start).
... statusDate S 0..1 date The calendar date when the lifeCycleStatus was updated.
... statusReason S 0..1 string The reason for the current status.
... source S 0..1 Reference(CareTeam | UZ Core Patient(0.5.0) | UZ Core Practitioner(0.5.0) | UZ Core PractitionerRole(0.5.0) | UZ Core RelatedPerson(0.5.0)) Who came up with/set this goal?
... addresses S 0..* Reference(UZ Core Condition(0.5.0) | UZ Core Observation(0.5.0) | UZ Core Socioeconomic Observation(0.5.0) | MedicationStatement | MedicationRequest | NutritionOrder | ServiceRequest | RiskAssessment | UZ Core Procedure(0.5.0)) Medical problems for which the goal is set.
... note S 0..* Annotation Comments about the goal.
... outcome S 0..* CodeableReference(UZ Core Observation(0.5.0)) What result was achieved regarding this goal? Free-text in concept.text, SNOMED, or custom codes may be used.

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Goal.lifecycleStatus Base required Goal Lifecycle Status VS 📍0.5.0 This IG
Goal.achievementStatus Base required Goal Achievement VS 📍0.5.0 This IG
Goal.category Base example Goal Category VS 📍0.5.0 This IG
Goal.priority Base required Goal Priority VS 📍0.5.0 This IG
Goal.description Base example Goal Description VS 📍0.5.0 This IG
Goal.start[x] Base example Goal Start Event VS 📍0.5.0 This IG
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Goal 0..* Goal(5.0.0) Describes the intended objective(s) for a patient, group or organization
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... identifier S 0..* Identifier The external identifier of this goal (for example, the number in the database of an insurance company or another clinic).
... lifecycleStatus ?!SΣ 1..1 code At what stage of planning is the goal. Options: proposed, planned, accepted, active (in progress), suspended, completed, canceled, input error, rejected.
Binding: GoalStatusVS (0.5.0) (required)
... achievementStatus SΣ 0..1 CodeableConcept Assessment of progress (how are things going?). Options: in progress, improving, deteriorating, unchanged, achieved, maintained, not achieved, no progress, unreachable.
Binding: GoalAchievementVS (0.5.0) (required)
... category SΣ 0..* CodeableConcept Grouping goals by type. Examples: Treatment, Diet, Behavioral therapy, Nursing.
Binding: GoalCategoryVS (0.5.0) (example)
... continuous S 0..1 boolean Check box (Yes/No). If the answer is Yes, it means that after achieving the goal, efforts do not stop, but are constantly required to maintain the result (for example, «maintain a diet» for life).
... priority SΣ 0..1 CodeableConcept The importance of this goal. Options: high, medium, low.
Binding: GoalPriorityVS (0.5.0) (required)
... description SΣ 1..1 CodeableConcept A text or code that tells you exactly what the goal is.
Binding: GoalDescriptionVS (0.5.0) (example)
... subject SΣ 1..1 Reference(UZ Core Patient(0.5.0) | Group | UZ Core Organization(0.5.0)) The person for whom this goal is set (Patient, Group of people or Organization).
... start[x] SΣ 0..1 When the work on the goal begins.
Binding: GoalStartEventVS (0.5.0) (example)
.... startDate date
.... startCodeableConcept CodeableConcept
... target SC 0..* BackboneElement A container for specific numbers or conditions that we strive for. + Rule: Goal.target.measure is required if Goal.target.detail is populated.
Constraints: gol-1
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... measure SΣC 0..1 CodeableConcept What parameter are we monitoring? (Parameter code, for example, «Body weight» or «Blood glucose»).
Binding: LOINCCodes (example): Codes to identify the value being tracked, e.g. body weight, blood pressure, or hemoglobin A1c level.
.... detail[x] SΣC 0..1 The figure itself or the state that needs to be achieved.
Binding Description: (example): Codes to identify the target value of the focus to be achieved to signify the fulfillment of the goal.
..... detailQuantity Quantity
..... detailRange Range
..... detailCodeableConcept CodeableConcept
..... detailString string
..... detailBoolean boolean
..... detailInteger integer
..... detailRatio Ratio
.... due[x] SΣ 0..1 The deadline for achieving the indicator. May be: • DueDate: A specific date (by 01.01.2024). • dueDuration: Duration (2 weeks after the start).
..... dueDate date
..... dueDuration Duration
... statusDate SΣ 0..1 date The calendar date when the lifeCycleStatus was updated.
... statusReason S 0..1 string The reason for the current status.
... source SΣ 0..1 Reference(CareTeam | UZ Core Patient(0.5.0) | UZ Core Practitioner(0.5.0) | UZ Core PractitionerRole(0.5.0) | UZ Core RelatedPerson(0.5.0)) Who came up with/set this goal?
... addresses S 0..* Reference(UZ Core Condition(0.5.0) | UZ Core Observation(0.5.0) | UZ Core Socioeconomic Observation(0.5.0) | MedicationStatement | MedicationRequest | NutritionOrder | ServiceRequest | RiskAssessment | UZ Core Procedure(0.5.0)) Medical problems for which the goal is set.
... note S 0..* Annotation Comments about the goal.
... outcome S 0..* CodeableReference(UZ Core Observation(0.5.0)) What result was achieved regarding this goal? Free-text in concept.text, SNOMED, or custom codes may be used.
Binding: SNOMEDCTClinicalFindings (example): The result of the goal; e.g. "25% increase in shoulder mobility", "Anxiety reduced to moderate levels". "15 kg weight loss sustained over 6 months".

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Goal.language Base required All Languages 📍5.0.0 FHIR Std.
Goal.lifecycleStatus Base required Goal Lifecycle Status VS 📍0.5.0 This IG
Goal.achievementStatus Base required Goal Achievement VS 📍0.5.0 This IG
Goal.category Base example Goal Category VS 📍0.5.0 This IG
Goal.priority Base required Goal Priority VS 📍0.5.0 This IG
Goal.description Base example Goal Description VS 📍0.5.0 This IG
Goal.start[x] Base example Goal Start Event VS 📍0.5.0 This IG
Goal.target.measure Base example LOINC Codes 📍5.0.0 FHIR Std.
Goal.target.detail[x] Base example Not State Unknown
Goal.outcome Base example SNOMED CT Clinical Findings 📍5.0.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Goal If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Goal If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Goal If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Goal If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Goal A resource should have narrative for robust management text.`div`.exists()
ele-1 error Goal.meta, Goal.implicitRules, Goal.language, Goal.text, Goal.extension, Goal.modifierExtension, Goal.identifier, Goal.lifecycleStatus, Goal.achievementStatus, Goal.category, Goal.continuous, Goal.priority, Goal.description, Goal.subject, Goal.start[x], Goal.target, Goal.target.extension, Goal.target.modifierExtension, Goal.target.measure, Goal.target.detail[x], Goal.target.due[x], Goal.statusDate, Goal.statusReason, Goal.source, Goal.addresses, Goal.note, Goal.outcome All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error Goal.extension, Goal.modifierExtension, Goal.target.extension, Goal.target.modifierExtension Must have either extensions or value[x], not both extension.exists() != value.exists()
gol-1 error Goal.target Goal.target.measure is required if Goal.target.detail is populated (detail.exists() and measure.exists()) or detail.exists().not()

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Goal 0..* Goal(5.0.0) Describes the intended objective(s) for a patient, group or organization
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... lifecycleStatus ?!SΣ 1..1 code At what stage of planning is the goal. Options: proposed, planned, accepted, active (in progress), suspended, completed, canceled, input error, rejected.
Binding: GoalStatusVS (0.5.0) (required)
... achievementStatus SΣ 0..1 CodeableConcept Assessment of progress (how are things going?). Options: in progress, improving, deteriorating, unchanged, achieved, maintained, not achieved, no progress, unreachable.
Binding: GoalAchievementVS (0.5.0) (required)
... category SΣ 0..* CodeableConcept Grouping goals by type. Examples: Treatment, Diet, Behavioral therapy, Nursing.
Binding: GoalCategoryVS (0.5.0) (example)
... continuous S 0..1 boolean Check box (Yes/No). If the answer is Yes, it means that after achieving the goal, efforts do not stop, but are constantly required to maintain the result (for example, «maintain a diet» for life).
... priority SΣ 0..1 CodeableConcept The importance of this goal. Options: high, medium, low.
Binding: GoalPriorityVS (0.5.0) (required)
... description SΣ 1..1 CodeableConcept A text or code that tells you exactly what the goal is.
Binding: GoalDescriptionVS (0.5.0) (example)
... subject SΣ 1..1 Reference(UZ Core Patient(0.5.0) | Group | UZ Core Organization(0.5.0)) The person for whom this goal is set (Patient, Group of people or Organization).
... start[x] SΣ 0..1 When the work on the goal begins.
Binding: GoalStartEventVS (0.5.0) (example)
.... startDate date
.... startCodeableConcept CodeableConcept
... target SC 0..* BackboneElement A container for specific numbers or conditions that we strive for. + Rule: Goal.target.measure is required if Goal.target.detail is populated.
Constraints: gol-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... measure SΣC 0..1 CodeableConcept What parameter are we monitoring? (Parameter code, for example, «Body weight» or «Blood glucose»).
Binding: LOINCCodes (example): Codes to identify the value being tracked, e.g. body weight, blood pressure, or hemoglobin A1c level.
.... detail[x] SΣC 0..1 The figure itself or the state that needs to be achieved.
Binding Description: (example): Codes to identify the target value of the focus to be achieved to signify the fulfillment of the goal.
..... detailQuantity Quantity
..... detailRange Range
..... detailCodeableConcept CodeableConcept
..... detailString string
..... detailBoolean boolean
..... detailInteger integer
..... detailRatio Ratio
.... due[x] SΣ 0..1 The deadline for achieving the indicator. May be: • DueDate: A specific date (by 01.01.2024). • dueDuration: Duration (2 weeks after the start).
..... dueDate date
..... dueDuration Duration
... statusDate SΣ 0..1 date The calendar date when the lifeCycleStatus was updated.
... statusReason S 0..1 string The reason for the current status.
... source SΣ 0..1 Reference(CareTeam | UZ Core Patient(0.5.0) | UZ Core Practitioner(0.5.0) | UZ Core PractitionerRole(0.5.0) | UZ Core RelatedPerson(0.5.0)) Who came up with/set this goal?
... addresses S 0..* Reference(UZ Core Condition(0.5.0) | UZ Core Observation(0.5.0) | UZ Core Socioeconomic Observation(0.5.0) | MedicationStatement | MedicationRequest | NutritionOrder | ServiceRequest | RiskAssessment | UZ Core Procedure(0.5.0)) Medical problems for which the goal is set.
... note S 0..* Annotation Comments about the goal.
... outcome S 0..* CodeableReference(UZ Core Observation(0.5.0)) What result was achieved regarding this goal? Free-text in concept.text, SNOMED, or custom codes may be used.
Binding: SNOMEDCTClinicalFindings (example): The result of the goal; e.g. "25% increase in shoulder mobility", "Anxiety reduced to moderate levels". "15 kg weight loss sustained over 6 months".

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Goal.lifecycleStatus Base required Goal Lifecycle Status VS 📍0.5.0 This IG
Goal.achievementStatus Base required Goal Achievement VS 📍0.5.0 This IG
Goal.category Base example Goal Category VS 📍0.5.0 This IG
Goal.priority Base required Goal Priority VS 📍0.5.0 This IG
Goal.description Base example Goal Description VS 📍0.5.0 This IG
Goal.start[x] Base example Goal Start Event VS 📍0.5.0 This IG
Goal.target.measure Base example LOINC Codes 📍5.0.0 FHIR Std.
Goal.target.detail[x] Base example Not State Unknown
Goal.outcome Base example SNOMED CT Clinical Findings 📍5.0.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Goal If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Goal If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Goal If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Goal If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Goal A resource should have narrative for robust management text.`div`.exists()
ele-1 error Goal.implicitRules, Goal.modifierExtension, Goal.identifier, Goal.lifecycleStatus, Goal.achievementStatus, Goal.category, Goal.continuous, Goal.priority, Goal.description, Goal.subject, Goal.start[x], Goal.target, Goal.target.modifierExtension, Goal.target.measure, Goal.target.detail[x], Goal.target.due[x], Goal.statusDate, Goal.statusReason, Goal.source, Goal.addresses, Goal.note, Goal.outcome All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error Goal.modifierExtension, Goal.target.modifierExtension Must have either extensions or value[x], not both extension.exists() != value.exists()
gol-1 error Goal.target Goal.target.measure is required if Goal.target.detail is populated (detail.exists() and measure.exists()) or detail.exists().not()

Differential View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Goal 0..* Goal(5.0.0) Describes the intended objective(s) for a patient, group or organization
... identifier S 0..* Identifier The external identifier of this goal (for example, the number in the database of an insurance company or another clinic).
... lifecycleStatus S 1..1 code At what stage of planning is the goal. Options: proposed, planned, accepted, active (in progress), suspended, completed, canceled, input error, rejected.
Binding: GoalStatusVS (0.5.0) (required)
... achievementStatus S 0..1 CodeableConcept Assessment of progress (how are things going?). Options: in progress, improving, deteriorating, unchanged, achieved, maintained, not achieved, no progress, unreachable.
Binding: GoalAchievementVS (0.5.0) (required)
... continuous S 0..1 boolean Check box (Yes/No). If the answer is Yes, it means that after achieving the goal, efforts do not stop, but are constantly required to maintain the result (for example, «maintain a diet» for life).
... priority S 0..1 CodeableConcept The importance of this goal. Options: high, medium, low.
Binding: GoalPriorityVS (0.5.0) (required)
... description S 1..1 CodeableConcept A text or code that tells you exactly what the goal is.
Binding: GoalDescriptionVS (0.5.0) (example)
... subject S 1..1 Reference(UZ Core Patient(0.5.0) | Group | UZ Core Organization(0.5.0)) The person for whom this goal is set (Patient, Group of people or Organization).
... start[x] S 0..1 date, CodeableConcept When the work on the goal begins.
Binding: GoalStartEventVS (0.5.0) (example)
... target S 0..* BackboneElement A container for specific numbers or conditions that we strive for. + Rule: Goal.target.measure is required if Goal.target.detail is populated.
.... measure S 0..1 CodeableConcept What parameter are we monitoring? (Parameter code, for example, «Body weight» or «Blood glucose»).
.... detail[x] S 0..1 Quantity, Range, CodeableConcept, string, boolean, integer, Ratio The figure itself or the state that needs to be achieved.
.... due[x] S 0..1 date, Duration The deadline for achieving the indicator. May be: • DueDate: A specific date (by 01.01.2024). • dueDuration: Duration (2 weeks after the start).
... statusDate S 0..1 date The calendar date when the lifeCycleStatus was updated.
... statusReason S 0..1 string The reason for the current status.
... source S 0..1 Reference(CareTeam | UZ Core Patient(0.5.0) | UZ Core Practitioner(0.5.0) | UZ Core PractitionerRole(0.5.0) | UZ Core RelatedPerson(0.5.0)) Who came up with/set this goal?
... addresses S 0..* Reference(UZ Core Condition(0.5.0) | UZ Core Observation(0.5.0) | UZ Core Socioeconomic Observation(0.5.0) | MedicationStatement | MedicationRequest | NutritionOrder | ServiceRequest | RiskAssessment | UZ Core Procedure(0.5.0)) Medical problems for which the goal is set.
... note S 0..* Annotation Comments about the goal.
... outcome S 0..* CodeableReference(UZ Core Observation(0.5.0)) What result was achieved regarding this goal? Free-text in concept.text, SNOMED, or custom codes may be used.

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Goal.lifecycleStatus Base required Goal Lifecycle Status VS 📍0.5.0 This IG
Goal.achievementStatus Base required Goal Achievement VS 📍0.5.0 This IG
Goal.category Base example Goal Category VS 📍0.5.0 This IG
Goal.priority Base required Goal Priority VS 📍0.5.0 This IG
Goal.description Base example Goal Description VS 📍0.5.0 This IG
Goal.start[x] Base example Goal Start Event VS 📍0.5.0 This IG

Snapshot ViewView

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Goal 0..* Goal(5.0.0) Describes the intended objective(s) for a patient, group or organization
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... identifier S 0..* Identifier The external identifier of this goal (for example, the number in the database of an insurance company or another clinic).
... lifecycleStatus ?!SΣ 1..1 code At what stage of planning is the goal. Options: proposed, planned, accepted, active (in progress), suspended, completed, canceled, input error, rejected.
Binding: GoalStatusVS (0.5.0) (required)
... achievementStatus SΣ 0..1 CodeableConcept Assessment of progress (how are things going?). Options: in progress, improving, deteriorating, unchanged, achieved, maintained, not achieved, no progress, unreachable.
Binding: GoalAchievementVS (0.5.0) (required)
... category SΣ 0..* CodeableConcept Grouping goals by type. Examples: Treatment, Diet, Behavioral therapy, Nursing.
Binding: GoalCategoryVS (0.5.0) (example)
... continuous S 0..1 boolean Check box (Yes/No). If the answer is Yes, it means that after achieving the goal, efforts do not stop, but are constantly required to maintain the result (for example, «maintain a diet» for life).
... priority SΣ 0..1 CodeableConcept The importance of this goal. Options: high, medium, low.
Binding: GoalPriorityVS (0.5.0) (required)
... description SΣ 1..1 CodeableConcept A text or code that tells you exactly what the goal is.
Binding: GoalDescriptionVS (0.5.0) (example)
... subject SΣ 1..1 Reference(UZ Core Patient(0.5.0) | Group | UZ Core Organization(0.5.0)) The person for whom this goal is set (Patient, Group of people or Organization).
... start[x] SΣ 0..1 When the work on the goal begins.
Binding: GoalStartEventVS (0.5.0) (example)
.... startDate date
.... startCodeableConcept CodeableConcept
... target SC 0..* BackboneElement A container for specific numbers or conditions that we strive for. + Rule: Goal.target.measure is required if Goal.target.detail is populated.
Constraints: gol-1
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... measure SΣC 0..1 CodeableConcept What parameter are we monitoring? (Parameter code, for example, «Body weight» or «Blood glucose»).
Binding: LOINCCodes (example): Codes to identify the value being tracked, e.g. body weight, blood pressure, or hemoglobin A1c level.
.... detail[x] SΣC 0..1 The figure itself or the state that needs to be achieved.
Binding Description: (example): Codes to identify the target value of the focus to be achieved to signify the fulfillment of the goal.
..... detailQuantity Quantity
..... detailRange Range
..... detailCodeableConcept CodeableConcept
..... detailString string
..... detailBoolean boolean
..... detailInteger integer
..... detailRatio Ratio
.... due[x] SΣ 0..1 The deadline for achieving the indicator. May be: • DueDate: A specific date (by 01.01.2024). • dueDuration: Duration (2 weeks after the start).
..... dueDate date
..... dueDuration Duration
... statusDate SΣ 0..1 date The calendar date when the lifeCycleStatus was updated.
... statusReason S 0..1 string The reason for the current status.
... source SΣ 0..1 Reference(CareTeam | UZ Core Patient(0.5.0) | UZ Core Practitioner(0.5.0) | UZ Core PractitionerRole(0.5.0) | UZ Core RelatedPerson(0.5.0)) Who came up with/set this goal?
... addresses S 0..* Reference(UZ Core Condition(0.5.0) | UZ Core Observation(0.5.0) | UZ Core Socioeconomic Observation(0.5.0) | MedicationStatement | MedicationRequest | NutritionOrder | ServiceRequest | RiskAssessment | UZ Core Procedure(0.5.0)) Medical problems for which the goal is set.
... note S 0..* Annotation Comments about the goal.
... outcome S 0..* CodeableReference(UZ Core Observation(0.5.0)) What result was achieved regarding this goal? Free-text in concept.text, SNOMED, or custom codes may be used.
Binding: SNOMEDCTClinicalFindings (example): The result of the goal; e.g. "25% increase in shoulder mobility", "Anxiety reduced to moderate levels". "15 kg weight loss sustained over 6 months".

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Goal.language Base required All Languages 📍5.0.0 FHIR Std.
Goal.lifecycleStatus Base required Goal Lifecycle Status VS 📍0.5.0 This IG
Goal.achievementStatus Base required Goal Achievement VS 📍0.5.0 This IG
Goal.category Base example Goal Category VS 📍0.5.0 This IG
Goal.priority Base required Goal Priority VS 📍0.5.0 This IG
Goal.description Base example Goal Description VS 📍0.5.0 This IG
Goal.start[x] Base example Goal Start Event VS 📍0.5.0 This IG
Goal.target.measure Base example LOINC Codes 📍5.0.0 FHIR Std.
Goal.target.detail[x] Base example Not State Unknown
Goal.outcome Base example SNOMED CT Clinical Findings 📍5.0.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Goal If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Goal If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Goal If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Goal If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Goal A resource should have narrative for robust management text.`div`.exists()
ele-1 error Goal.meta, Goal.implicitRules, Goal.language, Goal.text, Goal.extension, Goal.modifierExtension, Goal.identifier, Goal.lifecycleStatus, Goal.achievementStatus, Goal.category, Goal.continuous, Goal.priority, Goal.description, Goal.subject, Goal.start[x], Goal.target, Goal.target.extension, Goal.target.modifierExtension, Goal.target.measure, Goal.target.detail[x], Goal.target.due[x], Goal.statusDate, Goal.statusReason, Goal.source, Goal.addresses, Goal.note, Goal.outcome All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error Goal.extension, Goal.modifierExtension, Goal.target.extension, Goal.target.modifierExtension Must have either extensions or value[x], not both extension.exists() != value.exists()
gol-1 error Goal.target Goal.target.measure is required if Goal.target.detail is populated (detail.exists() and measure.exists()) or detail.exists().not()

 

Other representations of profile: CSV, Excel, Schematron

Quick Start

Common API interactions for this profile. Requests require a JWT access token - see Security and authentication. [base] is the FHIR server base URL; | separates system from value and must be URL-encoded as %7C.

Read by server id

GET [base]/Goal/[id]

Find goals

GET [base]/Goal?patient=Patient/[id]
GET [base]/Goal?patient=Patient/[id]&lifecycle-status=active
GET [base]/Goal?patient=Patient/[id]&category=dietary
GET [base]/Goal?patient=Patient/[id]&achievement-status=in-progress
GET [base]/Goal?patient=Patient/[id]&target-date=ge2025-01-01
GET [base]/Goal?patient=Patient/[id]&description=http://snomed.info/sct%7C1201005

Create

POST [base]/Goal
{
  "resourceType": "Goal",
  "meta": { "profile": [ "https://dhp.uz/fhir/core/StructureDefinition/uz-core-goal" ] },
  "lifecycleStatus": "active",
  "description": { ... },
  "subject": { "reference": "Patient/[id]" },
  ...
}

Withdraw a goal - a Goal is never hard-deleted. PUT the full resource back with an updated lifecycleStatus (e.g. cancelled or completed) instead of calling DELETE:

PUT [base]/Goal/[id]
If-Match: W/"3"   # the ETag from your last read; 412 if it changed since

See the CapabilityStatement for all supported search parameters.