eHealth Infrastructure - Local Development build (v2021.3.0). See the Directory of published versions
Defining URL: | http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-goal |
Version: | 2021.3.0 |
Name: | ehealth-goal |
Status: | Active as of 2021-11-25T09:32:14+00:00 |
Publisher: | Systematic | Trifork |
Source Resource: | XML / JSON / Turtle |
The official URL for this profile is:
http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-goal
Describes the intended objective(s) 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.
In scope of the eHealth infrastructure Goals are used together with reference ranges to configure triaging based on relative values.
This use is indicated by setting the code reference-value
in Goal.description. This is currently the only type of Goal used in the infrastructure, but other types may be added in the future.
A Goal must have a startDate and optionally a target.dueDate or dueDuration to specify during which period the Goal applies.
Goal.addresses must reference exactly one procedureRequest containing the reference ranges that the Goal supports.
Goal.target.measure must contain an observation code indicating which type of observation the Goal is intended for.
Description of Profiles, Differentials, Snapshots and how the different presentations work.
Other representations of profile: CSV, Excel, Schematron
Path | Conformance | ValueSet |
Goal.language | preferred | CommonLanguages Max Binding: AllLanguages |
Goal.lifecycleStatus | required | GoalLifecycleStatus |
Goal.achievementStatus | preferred | GoalAchievementStatus |
Goal.category | example | GoalCategory |
Goal.priority | preferred | GoalPriority |
Goal.description | required | GoalDescription |
Goal.start[x] | example | GoalStartEvent |
Goal.target.measure | required | GoalTargetMeasure |
Goal.target.detail[x] | example | |
Goal.outcomeCode | example | SNOMEDCTClinicalFindings |
Id | Path | Details | Requirements |
dom-2 | Goal | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | 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().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | 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 | Goal | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | Goal | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | Goal.meta | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Goal.implicitRules | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Goal.language | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Goal.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Goal.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Goal.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Goal.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Goal.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Goal.identifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Goal.lifecycleStatus | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Goal.achievementStatus | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Goal.category | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Goal.priority | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Goal.description | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Goal.subject | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Goal.start[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Goal.target | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
gol-1 | Goal.target | Goal.target.measure is required if Goal.target.detail is populated : (detail.exists() and measure.exists()) or detail.exists().not() | |
ele-1 | Goal.target.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Goal.target.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Goal.target.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Goal.target.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Goal.target.measure | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Goal.target.detail[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Goal.target.due[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Goal.statusDate | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Goal.statusReason | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Goal.expressedBy | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Goal.addresses | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Goal.note | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Goal.outcomeCode | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Goal.outcomeReference | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |