Data Management with FHIR 0.1.0 - ci-build

Data Management with FHIR - version de développement local (intégration continue v0.1.0) construite par les outils de publication FHIR (HL7® FHIR® Standard). Voir le répertoire des versions publiées

## Resource Profile: Activité physique

Official URL: https://aphp.github.io/IG-fhir-dm/StructureDefinition/DMObservationExerciceStatus | Version: 0.1.0
Draft as of 2026-04-16 | Computable Name: DMObservationExerciceStatus

. It specifies which core elements, extensions, vocabularies, and value sets SHALL be present and constrains how the elements are used. Providing the floor for standards development for specific use cases promotes interoperability and adoption.

Utilisations:

- Ce Profil n'est utilisé par aucun autre profil dans ce guide d'implémentation

Vous pouvez également vérifier les usages dans le FHIR IG Statistics

### Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Nom | Drapeaux | Card. | Type | Description et contraintes Filter: Bindings Contraintes Obligations
--- | --- | --- | --- | ---
Observation | C | 0..* | Observation | Measurements and simple assertions Constraints: obs-6, obs-7, dm-exercice-minutes-per-day, dm-exercice-days-per-week
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
status | ?!S Σ | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required): Codes providing the status of an observation.
Slices pour category | S | 2..* | CodeableConcept | Classification of type of observation Slice: Non ordonné, Ouvert par value:$this Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
category:SocialHistory | S | 1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. Valeur fixe: Comme indiqué (Social History)
id |  | 0..0 | string | Unique id for inter-element referencing
extension |  | 0..0 | Extension | Additional content defined by implementations
coding |  | 1..1 | Coding | Code defined by a terminology system Valeur fixe : (Complexe)
id |  | 0..0 | string | Unique id for inter-element referencing
extension |  | 0..0 | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Valeur fixe : http://terminology.hl7.org/CodeSystem/observation-category
version |  | 0..0 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Valeur fixe : social-history
display |  | 0..0 | string | Representation defined by the system
userSelected |  | 0..0 | boolean | If this coding was chosen directly by the user
text |  | 0..0 | string | Plain text representation of the concept
category:PhysicalActivity | S | 1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. Valeur fixe: Comme indiqué (Activity)
id |  | 0..0 | string | Unique id for inter-element referencing
extension |  | 0..0 | Extension | Additional content defined by implementations
coding |  | 1..1 | Coding | Code defined by a terminology system Valeur fixe : (Complexe)
id |  | 0..0 | string | Unique id for inter-element referencing
extension |  | 0..0 | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Valeur fixe : http://terminology.hl7.org/CodeSystem/observation-category
version |  | 0..0 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Valeur fixe : activity
display |  | 0..0 | string | Representation defined by the system
userSelected |  | 0..0 | boolean | If this coding was chosen directly by the user
text |  | 0..0 | string | Plain text representation of the concept
code | S Σ C | 1..1 | CodeableConcept | Exercice Status Binding: Exercice Status Type (extensible): Exercice status type
subject | S Σ | 1..1 | Reference(Patient S) | Who and/or what the observation is about
effective[x] | S Σ | 0..1 |  | Clinically relevant time/time-period for observation
effectiveDateTime |  |  | dateTime S |
effectivePeriod |  |  | Period |
effectiveTiming |  |  | Timing |
effectiveInstant |  |  | instant |
performer | S Σ | 0..* | Reference(FR Core Practitioner Profile | FR Core Organization Profile | Patient | PractitionerRole | CareTeam | RelatedPerson) | Who is responsible for the observation
value[x] | S Σ C | 0..1 | Quantity | Quantitative Response
Documentation pour ce format

#### Bindings terminologiques

Chemin | Statut | Usage | Jeu de valeurs (ValueSet) | Version | Source
Observation.status | Base | required | ObservationStatus | 📍4.0.1 | Std. FHIR
Observation.category | Base | preferred | Observation Category Codes | 📍4.0.1 | Std. FHIR
Observation.category:SocialHistory | Base | preferred | Observation Category Codes | 📍4.0.1 | Std. FHIR
Observation.category:PhysicalActivity | Base | preferred | Observation Category Codes | 📍4.0.1 | Std. FHIR
Observation.code | Base | extensible | Exercice Status Type | 📦0.1.0 | cet IG

#### Contraintes

Id | Grade | Chemin(s) | Description | Expression
dm-exercice-days-per-week | error | Observation | Observation.code 89555-7|How many days per week did you engage in moderate to strenuous physical activity in the last 30 days use valueQuantity and valueQuantity.unit is days per week | `code.coding.where(code in '89555-7').exists() implies (value.is(Quantity) and value.ofType(Quantity).code = 'd/wk')`
dm-exercice-minutes-per-day | error | Observation | Observation.code 68516-4|On those days that you engage in moderate to strenuous exercise, how many minutes, on average, do you exercise use valueQuantity and valueQuantity.unit is minutes per day | `code.coding.where(code in '68516-4').exists() implies (value.is(Quantity) and value.ofType(Quantity).code = 'min/d')`
dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Observation | 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 | error | Observation | 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 | Observation | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | bonne pratique | Observation | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **TOUS** les éléments | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **TOUTES** les extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present | `dataAbsentReason.empty() or value.empty()`
obs-7 | error | Observation | If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present | `value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()`

This structure is derived from Observation

Nom | Drapeaux | Card. | Type | Description et contraintes Filter: Bindings Contraintes Obligations
--- | --- | --- | --- | ---
Observation | C | 0..* | Observation | Measurements and simple assertions Constraints: dm-exercice-minutes-per-day, dm-exercice-days-per-week
status | S | 1..1 | code | registered | preliminary | final | amended +
Slices pour category | S | 2..* | CodeableConcept | Classification of type of observation Slice: Non ordonné, Ouvert par value:$this
category:SocialHistory | S | 1..1 | CodeableConcept | Classification of type of observation Valeur fixe: Comme indiqué (Social History)
coding |  | 1..1 | Coding | Code defined by a terminology system Valeur fixe : (Complexe)
system |  | 1..1 | uri | Identity of the terminology system Valeur fixe : http://terminology.hl7.org/CodeSystem/observation-category
code |  | 1..1 | code | Symbol in syntax defined by the system Valeur fixe : social-history
category:PhysicalActivity | S | 1..1 | CodeableConcept | Classification of type of observation Valeur fixe: Comme indiqué (Activity)
coding |  | 1..1 | Coding | Code defined by a terminology system Valeur fixe : (Complexe)
system |  | 1..1 | uri | Identity of the terminology system Valeur fixe : http://terminology.hl7.org/CodeSystem/observation-category
code |  | 1..1 | code | Symbol in syntax defined by the system Valeur fixe : activity
code | S C | 1..1 | CodeableConcept | Exercice Status Binding: Exercice Status Type (extensible): Exercice status type
subject | S | 1..1 | Reference(Patient S) | Who and/or what the observation is about
effective[x] | S | 0..1 |  | Clinically relevant time/time-period for observation
effectiveDateTime |  |  | dateTime S |
effectivePeriod |  |  | Period |
effectiveTiming |  |  | Timing |
effectiveInstant |  |  | instant |
performer | S | 0..* | Reference(FR Core Practitioner Profile | FR Core Organization Profile | Patient | PractitionerRole | CareTeam | RelatedPerson) | Who is responsible for the observation
value[x] | S C | 0..1 | Quantity | Quantitative Response
Documentation pour ce format

#### Bindings terminologiques (différentiel)

Chemin | Statut | Usage | Jeu de valeurs (ValueSet) | Version | Source
Observation.code | Base | extensible | Exercice Status Type | 📦0.1.0 | cet IG

#### Contraintes

Id | Grade | Chemin(s) | Description | Expression
dm-exercice-days-per-week | error | Observation | Observation.code 89555-7|How many days per week did you engage in moderate to strenuous physical activity in the last 30 days use valueQuantity and valueQuantity.unit is days per week | `code.coding.where(code in '89555-7').exists() implies (value.is(Quantity) and value.ofType(Quantity).code = 'd/wk')`
dm-exercice-minutes-per-day | error | Observation | Observation.code 68516-4|On those days that you engage in moderate to strenuous exercise, how many minutes, on average, do you exercise use valueQuantity and valueQuantity.unit is minutes per day | `code.coding.where(code in '68516-4').exists() implies (value.is(Quantity) and value.ofType(Quantity).code = 'min/d')`

Nom | Drapeaux | Card. | Type | Description et contraintes Filter: Bindings Contraintes Obligations
--- | --- | --- | --- | ---
Observation | C | 0..* | Observation | Measurements and simple assertions Constraints: obs-6, obs-7, dm-exercice-minutes-per-day, dm-exercice-days-per-week
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
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Bindings Additionnels | But
AllLanguages | Binding Max
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
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | Σ | 0..* | Identifier | Business Identifier for observation
basedOn | Σ | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | Fulfills plan, proposal or order
partOf | Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) | Part of referenced event
status | ?!S Σ | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required): Codes providing the status of an observation.
Slices pour category | S | 2..* | CodeableConcept | Classification of type of observation Slice: Non ordonné, Ouvert par value:$this Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
category:SocialHistory | S | 1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. Valeur fixe: Comme indiqué (Social History)
id |  | 0..0 | string | Unique id for inter-element referencing
extension |  | 0..0 | Extension | Additional content defined by implementations
coding |  | 1..1 | Coding | Code defined by a terminology system Valeur fixe : (Complexe)
id |  | 0..0 | string | Unique id for inter-element referencing
extension |  | 0..0 | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Valeur fixe : http://terminology.hl7.org/CodeSystem/observation-category
version |  | 0..0 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Valeur fixe : social-history
display |  | 0..0 | string | Representation defined by the system
userSelected |  | 0..0 | boolean | If this coding was chosen directly by the user
text |  | 0..0 | string | Plain text representation of the concept
category:PhysicalActivity | S | 1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. Valeur fixe: Comme indiqué (Activity)
id |  | 0..0 | string | Unique id for inter-element referencing
extension |  | 0..0 | Extension | Additional content defined by implementations
coding |  | 1..1 | Coding | Code defined by a terminology system Valeur fixe : (Complexe)
id |  | 0..0 | string | Unique id for inter-element referencing
extension |  | 0..0 | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Valeur fixe : http://terminology.hl7.org/CodeSystem/observation-category
version |  | 0..0 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Valeur fixe : activity
display |  | 0..0 | string | Representation defined by the system
userSelected |  | 0..0 | boolean | If this coding was chosen directly by the user
text |  | 0..0 | string | Plain text representation of the concept
code | S Σ C | 1..1 | CodeableConcept | Exercice Status Binding: Exercice Status Type (extensible): Exercice status type
subject | S Σ | 1..1 | Reference(Patient S) | Who and/or what the observation is about
focus | Σ | 0..* | Reference(Resource) | What the observation is about, when it is not about the subject of record
encounter | Σ | 0..1 | Reference(Encounter) | Healthcare event during which this observation is made
effective[x] | S Σ | 0..1 |  | Clinically relevant time/time-period for observation
effectiveDateTime |  |  | dateTime S |
effectivePeriod |  |  | Period |
effectiveTiming |  |  | Timing |
effectiveInstant |  |  | instant |
issued | Σ | 0..1 | instant | Date/Time this version was made available
performer | S Σ | 0..* | Reference(FR Core Practitioner Profile | FR Core Organization Profile | Patient | PractitionerRole | CareTeam | RelatedPerson) | Who is responsible for the observation
value[x] | S Σ C | 0..1 | Quantity | Quantitative Response
dataAbsentReason | C | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
interpretation |  | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
note |  | 0..* | Annotation | Comments about the observation
bodySite |  | 0..1 | CodeableConcept | Observed body part Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
method |  | 0..1 | CodeableConcept | How it was done Binding: ObservationMethods (example): Methods for simple observations.
specimen |  | 0..1 | Reference(Specimen) | Specimen used for this observation
device |  | 0..1 | Reference(Device | DeviceMetric) | (Measurement) Device
referenceRange | C | 0..* | BackboneElement | Provides guide for interpretation Constraints: obs-3
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
low | C | 0..1 | SimpleQuantity(4.0.1) | Low Range, if relevant
high | C | 0..1 | SimpleQuantity(4.0.1) | High Range, if relevant
type |  | 0..1 | CodeableConcept | Reference range qualifier Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range.
appliesTo |  | 0..* | CodeableConcept | Reference range population Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to.
age |  | 0..1 | Range | Applicable age range, if relevant
text |  | 0..1 | string | Text based reference range in an observation
hasMember | Σ | 0..* | Reference(Observation | QuestionnaireResponse | MolecularSequence) | Related resource that belongs to the Observation group
derivedFrom | Σ | 0..* | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) | Related measurements the observation is made from
component | Σ | 0..* | BackboneElement | Component results
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code | Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations.
value[x] | Σ | 0..1 |  | Actual component result
valueQuantity |  |  | Quantity |
valueCodeableConcept |  |  | CodeableConcept |
valueString |  |  | string |
valueBoolean |  |  | boolean |
valueInteger |  |  | integer |
valueRange |  |  | Range |
valueRatio |  |  | Ratio |
valueSampledData |  |  | SampledData |
valueTime |  |  | time |
valueDateTime |  |  | dateTime |
valuePeriod |  |  | Period |
dataAbsentReason | C | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
interpretation |  | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
referenceRange |  | 0..* | Voir referenceRange (Observation) | Provides guide for interpretation of component result
Documentation pour ce format

#### Bindings terminologiques

Chemin | Statut | Usage | Jeu de valeurs (ValueSet) | Version | Source
Observation.language | Base | preferred | Common Languages | 📍4.0.1 | Std. FHIR
Observation.status | Base | required | ObservationStatus | 📍4.0.1 | Std. FHIR
Observation.category | Base | preferred | Observation Category Codes | 📍4.0.1 | Std. FHIR
Observation.category:SocialHistory | Base | preferred | Observation Category Codes | 📍4.0.1 | Std. FHIR
Observation.category:PhysicalActivity | Base | preferred | Observation Category Codes | 📍4.0.1 | Std. FHIR
Observation.code | Base | extensible | Exercice Status Type | 📦0.1.0 | cet IG
Observation.dataAbsentReason | Base | extensible | DataAbsentReason | 📍4.0.1 | Std. FHIR
Observation.interpretation | Base | extensible | Observation Interpretation Codes | 📍4.0.1 | Std. FHIR
Observation.bodySite | Base | example | SNOMED CT Body Structures | 📍4.0.1 | Std. FHIR
Observation.method | Base | example | Observation Methods | 📍4.0.1 | Std. FHIR
Observation.referenceRange.​type | Base | preferred | Observation Reference Range Meaning Codes | 📍4.0.1 | Std. FHIR
Observation.referenceRange.​appliesTo | Base | example | Observation Reference Range Applies To Codes | 📍4.0.1 | Std. FHIR
Observation.component.​code | Base | example | LOINC Codes | 📍4.0.1 | Std. FHIR
Observation.component.​dataAbsentReason | Base | extensible | DataAbsentReason | 📍4.0.1 | Std. FHIR
Observation.component.​interpretation | Base | extensible | Observation Interpretation Codes | 📍4.0.1 | Std. FHIR

#### Contraintes

Id | Grade | Chemin(s) | Description | Expression
dm-exercice-days-per-week | error | Observation | Observation.code 89555-7|How many days per week did you engage in moderate to strenuous physical activity in the last 30 days use valueQuantity and valueQuantity.unit is days per week | `code.coding.where(code in '89555-7').exists() implies (value.is(Quantity) and value.ofType(Quantity).code = 'd/wk')`
dm-exercice-minutes-per-day | error | Observation | Observation.code 68516-4|On those days that you engage in moderate to strenuous exercise, how many minutes, on average, do you exercise use valueQuantity and valueQuantity.unit is minutes per day | `code.coding.where(code in '68516-4').exists() implies (value.is(Quantity) and value.ofType(Quantity).code = 'min/d')`
dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Observation | 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 | error | Observation | 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 | Observation | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | bonne pratique | Observation | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **TOUS** les éléments | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **TOUTES** les extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
obs-3 | error | Observation.referenceRange | Must have at least a low or a high or text | `low.exists() or high.exists() or text.exists()`
obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present | `dataAbsentReason.empty() or value.empty()`
obs-7 | error | Observation | If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present | `value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()`

This structure is derived from Observation

Résumé

Obligatoire : 3 éléments
Must-Support : 9 éléments
Fixe : 2 éléments

Structures

Cette structure fait référence à ces autres structures:

- Patient (https://aphp.github.io/IG-fhir-dm/StructureDefinition/DMPatient)
- FR Core Practitioner Profile (https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-practitioner)
- FR Core Organization Profile (https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-organization)

Slices

Cette structure définit les slices suivantes:

- The element 1 is sliced based on the value of Observation.category

Key Elements View

Nom | Drapeaux | Card. | Type | Description et contraintes Filter: Bindings Contraintes Obligations
--- | --- | --- | --- | ---
Observation | C | 0..* | Observation | Measurements and simple assertions Constraints: obs-6, obs-7, dm-exercice-minutes-per-day, dm-exercice-days-per-week
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
status | ?!S Σ | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required): Codes providing the status of an observation.
Slices pour category | S | 2..* | CodeableConcept | Classification of type of observation Slice: Non ordonné, Ouvert par value:$this Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
category:SocialHistory | S | 1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. Valeur fixe: Comme indiqué (Social History)
id |  | 0..0 | string | Unique id for inter-element referencing
extension |  | 0..0 | Extension | Additional content defined by implementations
coding |  | 1..1 | Coding | Code defined by a terminology system Valeur fixe : (Complexe)
id |  | 0..0 | string | Unique id for inter-element referencing
extension |  | 0..0 | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Valeur fixe : http://terminology.hl7.org/CodeSystem/observation-category
version |  | 0..0 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Valeur fixe : social-history
display |  | 0..0 | string | Representation defined by the system
userSelected |  | 0..0 | boolean | If this coding was chosen directly by the user
text |  | 0..0 | string | Plain text representation of the concept
category:PhysicalActivity | S | 1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. Valeur fixe: Comme indiqué (Activity)
id |  | 0..0 | string | Unique id for inter-element referencing
extension |  | 0..0 | Extension | Additional content defined by implementations
coding |  | 1..1 | Coding | Code defined by a terminology system Valeur fixe : (Complexe)
id |  | 0..0 | string | Unique id for inter-element referencing
extension |  | 0..0 | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Valeur fixe : http://terminology.hl7.org/CodeSystem/observation-category
version |  | 0..0 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Valeur fixe : activity
display |  | 0..0 | string | Representation defined by the system
userSelected |  | 0..0 | boolean | If this coding was chosen directly by the user
text |  | 0..0 | string | Plain text representation of the concept
code | S Σ C | 1..1 | CodeableConcept | Exercice Status Binding: Exercice Status Type (extensible): Exercice status type
subject | S Σ | 1..1 | Reference(Patient S) | Who and/or what the observation is about
effective[x] | S Σ | 0..1 |  | Clinically relevant time/time-period for observation
effectiveDateTime |  |  | dateTime S |
effectivePeriod |  |  | Period |
effectiveTiming |  |  | Timing |
effectiveInstant |  |  | instant |
performer | S Σ | 0..* | Reference(FR Core Practitioner Profile | FR Core Organization Profile | Patient | PractitionerRole | CareTeam | RelatedPerson) | Who is responsible for the observation
value[x] | S Σ C | 0..1 | Quantity | Quantitative Response
Documentation pour ce format

#### Bindings terminologiques

Chemin | Statut | Usage | Jeu de valeurs (ValueSet) | Version | Source
Observation.status | Base | required | ObservationStatus | 📍4.0.1 | Std. FHIR
Observation.category | Base | preferred | Observation Category Codes | 📍4.0.1 | Std. FHIR
Observation.category:SocialHistory | Base | preferred | Observation Category Codes | 📍4.0.1 | Std. FHIR
Observation.category:PhysicalActivity | Base | preferred | Observation Category Codes | 📍4.0.1 | Std. FHIR
Observation.code | Base | extensible | Exercice Status Type | 📦0.1.0 | cet IG

#### Contraintes

Id | Grade | Chemin(s) | Description | Expression
dm-exercice-days-per-week | error | Observation | Observation.code 89555-7|How many days per week did you engage in moderate to strenuous physical activity in the last 30 days use valueQuantity and valueQuantity.unit is days per week | `code.coding.where(code in '89555-7').exists() implies (value.is(Quantity) and value.ofType(Quantity).code = 'd/wk')`
dm-exercice-minutes-per-day | error | Observation | Observation.code 68516-4|On those days that you engage in moderate to strenuous exercise, how many minutes, on average, do you exercise use valueQuantity and valueQuantity.unit is minutes per day | `code.coding.where(code in '68516-4').exists() implies (value.is(Quantity) and value.ofType(Quantity).code = 'min/d')`
dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Observation | 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 | error | Observation | 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 | Observation | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | bonne pratique | Observation | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **TOUS** les éléments | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **TOUTES** les extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present | `dataAbsentReason.empty() or value.empty()`
obs-7 | error | Observation | If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present | `value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()`

Differential View

This structure is derived from Observation

Nom | Drapeaux | Card. | Type | Description et contraintes Filter: Bindings Contraintes Obligations
--- | --- | --- | --- | ---
Observation | C | 0..* | Observation | Measurements and simple assertions Constraints: dm-exercice-minutes-per-day, dm-exercice-days-per-week
status | S | 1..1 | code | registered | preliminary | final | amended +
Slices pour category | S | 2..* | CodeableConcept | Classification of type of observation Slice: Non ordonné, Ouvert par value:$this
category:SocialHistory | S | 1..1 | CodeableConcept | Classification of type of observation Valeur fixe: Comme indiqué (Social History)
coding |  | 1..1 | Coding | Code defined by a terminology system Valeur fixe : (Complexe)
system |  | 1..1 | uri | Identity of the terminology system Valeur fixe : http://terminology.hl7.org/CodeSystem/observation-category
code |  | 1..1 | code | Symbol in syntax defined by the system Valeur fixe : social-history
category:PhysicalActivity | S | 1..1 | CodeableConcept | Classification of type of observation Valeur fixe: Comme indiqué (Activity)
coding |  | 1..1 | Coding | Code defined by a terminology system Valeur fixe : (Complexe)
system |  | 1..1 | uri | Identity of the terminology system Valeur fixe : http://terminology.hl7.org/CodeSystem/observation-category
code |  | 1..1 | code | Symbol in syntax defined by the system Valeur fixe : activity
code | S C | 1..1 | CodeableConcept | Exercice Status Binding: Exercice Status Type (extensible): Exercice status type
subject | S | 1..1 | Reference(Patient S) | Who and/or what the observation is about
effective[x] | S | 0..1 |  | Clinically relevant time/time-period for observation
effectiveDateTime |  |  | dateTime S |
effectivePeriod |  |  | Period |
effectiveTiming |  |  | Timing |
effectiveInstant |  |  | instant |
performer | S | 0..* | Reference(FR Core Practitioner Profile | FR Core Organization Profile | Patient | PractitionerRole | CareTeam | RelatedPerson) | Who is responsible for the observation
value[x] | S C | 0..1 | Quantity | Quantitative Response
Documentation pour ce format

#### Bindings terminologiques (différentiel)

Chemin | Statut | Usage | Jeu de valeurs (ValueSet) | Version | Source
Observation.code | Base | extensible | Exercice Status Type | 📦0.1.0 | cet IG

#### Contraintes

Id | Grade | Chemin(s) | Description | Expression
dm-exercice-days-per-week | error | Observation | Observation.code 89555-7|How many days per week did you engage in moderate to strenuous physical activity in the last 30 days use valueQuantity and valueQuantity.unit is days per week | `code.coding.where(code in '89555-7').exists() implies (value.is(Quantity) and value.ofType(Quantity).code = 'd/wk')`
dm-exercice-minutes-per-day | error | Observation | Observation.code 68516-4|On those days that you engage in moderate to strenuous exercise, how many minutes, on average, do you exercise use valueQuantity and valueQuantity.unit is minutes per day | `code.coding.where(code in '68516-4').exists() implies (value.is(Quantity) and value.ofType(Quantity).code = 'min/d')`

Snapshot View

Nom | Drapeaux | Card. | Type | Description et contraintes Filter: Bindings Contraintes Obligations
--- | --- | --- | --- | ---
Observation | C | 0..* | Observation | Measurements and simple assertions Constraints: obs-6, obs-7, dm-exercice-minutes-per-day, dm-exercice-days-per-week
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
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Bindings Additionnels | But
AllLanguages | Binding Max
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
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | Σ | 0..* | Identifier | Business Identifier for observation
basedOn | Σ | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | Fulfills plan, proposal or order
partOf | Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) | Part of referenced event
status | ?!S Σ | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required): Codes providing the status of an observation.
Slices pour category | S | 2..* | CodeableConcept | Classification of type of observation Slice: Non ordonné, Ouvert par value:$this Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
category:SocialHistory | S | 1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. Valeur fixe: Comme indiqué (Social History)
id |  | 0..0 | string | Unique id for inter-element referencing
extension |  | 0..0 | Extension | Additional content defined by implementations
coding |  | 1..1 | Coding | Code defined by a terminology system Valeur fixe : (Complexe)
id |  | 0..0 | string | Unique id for inter-element referencing
extension |  | 0..0 | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Valeur fixe : http://terminology.hl7.org/CodeSystem/observation-category
version |  | 0..0 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Valeur fixe : social-history
display |  | 0..0 | string | Representation defined by the system
userSelected |  | 0..0 | boolean | If this coding was chosen directly by the user
text |  | 0..0 | string | Plain text representation of the concept
category:PhysicalActivity | S | 1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. Valeur fixe: Comme indiqué (Activity)
id |  | 0..0 | string | Unique id for inter-element referencing
extension |  | 0..0 | Extension | Additional content defined by implementations
coding |  | 1..1 | Coding | Code defined by a terminology system Valeur fixe : (Complexe)
id |  | 0..0 | string | Unique id for inter-element referencing
extension |  | 0..0 | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Valeur fixe : http://terminology.hl7.org/CodeSystem/observation-category
version |  | 0..0 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Valeur fixe : activity
display |  | 0..0 | string | Representation defined by the system
userSelected |  | 0..0 | boolean | If this coding was chosen directly by the user
text |  | 0..0 | string | Plain text representation of the concept
code | S Σ C | 1..1 | CodeableConcept | Exercice Status Binding: Exercice Status Type (extensible): Exercice status type
subject | S Σ | 1..1 | Reference(Patient S) | Who and/or what the observation is about
focus | Σ | 0..* | Reference(Resource) | What the observation is about, when it is not about the subject of record
encounter | Σ | 0..1 | Reference(Encounter) | Healthcare event during which this observation is made
effective[x] | S Σ | 0..1 |  | Clinically relevant time/time-period for observation
effectiveDateTime |  |  | dateTime S |
effectivePeriod |  |  | Period |
effectiveTiming |  |  | Timing |
effectiveInstant |  |  | instant |
issued | Σ | 0..1 | instant | Date/Time this version was made available
performer | S Σ | 0..* | Reference(FR Core Practitioner Profile | FR Core Organization Profile | Patient | PractitionerRole | CareTeam | RelatedPerson) | Who is responsible for the observation
value[x] | S Σ C | 0..1 | Quantity | Quantitative Response
dataAbsentReason | C | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
interpretation |  | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
note |  | 0..* | Annotation | Comments about the observation
bodySite |  | 0..1 | CodeableConcept | Observed body part Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
method |  | 0..1 | CodeableConcept | How it was done Binding: ObservationMethods (example): Methods for simple observations.
specimen |  | 0..1 | Reference(Specimen) | Specimen used for this observation
device |  | 0..1 | Reference(Device | DeviceMetric) | (Measurement) Device
referenceRange | C | 0..* | BackboneElement | Provides guide for interpretation Constraints: obs-3
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
low | C | 0..1 | SimpleQuantity(4.0.1) | Low Range, if relevant
high | C | 0..1 | SimpleQuantity(4.0.1) | High Range, if relevant
type |  | 0..1 | CodeableConcept | Reference range qualifier Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range.
appliesTo |  | 0..* | CodeableConcept | Reference range population Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to.
age |  | 0..1 | Range | Applicable age range, if relevant
text |  | 0..1 | string | Text based reference range in an observation
hasMember | Σ | 0..* | Reference(Observation | QuestionnaireResponse | MolecularSequence) | Related resource that belongs to the Observation group
derivedFrom | Σ | 0..* | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) | Related measurements the observation is made from
component | Σ | 0..* | BackboneElement | Component results
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code | Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations.
value[x] | Σ | 0..1 |  | Actual component result
valueQuantity |  |  | Quantity |
valueCodeableConcept |  |  | CodeableConcept |
valueString |  |  | string |
valueBoolean |  |  | boolean |
valueInteger |  |  | integer |
valueRange |  |  | Range |
valueRatio |  |  | Ratio |
valueSampledData |  |  | SampledData |
valueTime |  |  | time |
valueDateTime |  |  | dateTime |
valuePeriod |  |  | Period |
dataAbsentReason | C | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
interpretation |  | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
referenceRange |  | 0..* | Voir referenceRange (Observation) | Provides guide for interpretation of component result
Documentation pour ce format

#### Bindings terminologiques

Chemin | Statut | Usage | Jeu de valeurs (ValueSet) | Version | Source
Observation.language | Base | preferred | Common Languages | 📍4.0.1 | Std. FHIR
Observation.status | Base | required | ObservationStatus | 📍4.0.1 | Std. FHIR
Observation.category | Base | preferred | Observation Category Codes | 📍4.0.1 | Std. FHIR
Observation.category:SocialHistory | Base | preferred | Observation Category Codes | 📍4.0.1 | Std. FHIR
Observation.category:PhysicalActivity | Base | preferred | Observation Category Codes | 📍4.0.1 | Std. FHIR
Observation.code | Base | extensible | Exercice Status Type | 📦0.1.0 | cet IG
Observation.dataAbsentReason | Base | extensible | DataAbsentReason | 📍4.0.1 | Std. FHIR
Observation.interpretation | Base | extensible | Observation Interpretation Codes | 📍4.0.1 | Std. FHIR
Observation.bodySite | Base | example | SNOMED CT Body Structures | 📍4.0.1 | Std. FHIR
Observation.method | Base | example | Observation Methods | 📍4.0.1 | Std. FHIR
Observation.referenceRange.​type | Base | preferred | Observation Reference Range Meaning Codes | 📍4.0.1 | Std. FHIR
Observation.referenceRange.​appliesTo | Base | example | Observation Reference Range Applies To Codes | 📍4.0.1 | Std. FHIR
Observation.component.​code | Base | example | LOINC Codes | 📍4.0.1 | Std. FHIR
Observation.component.​dataAbsentReason | Base | extensible | DataAbsentReason | 📍4.0.1 | Std. FHIR
Observation.component.​interpretation | Base | extensible | Observation Interpretation Codes | 📍4.0.1 | Std. FHIR

#### Contraintes

Id | Grade | Chemin(s) | Description | Expression
dm-exercice-days-per-week | error | Observation | Observation.code 89555-7|How many days per week did you engage in moderate to strenuous physical activity in the last 30 days use valueQuantity and valueQuantity.unit is days per week | `code.coding.where(code in '89555-7').exists() implies (value.is(Quantity) and value.ofType(Quantity).code = 'd/wk')`
dm-exercice-minutes-per-day | error | Observation | Observation.code 68516-4|On those days that you engage in moderate to strenuous exercise, how many minutes, on average, do you exercise use valueQuantity and valueQuantity.unit is minutes per day | `code.coding.where(code in '68516-4').exists() implies (value.is(Quantity) and value.ofType(Quantity).code = 'min/d')`
dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Observation | 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 | error | Observation | 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 | Observation | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | bonne pratique | Observation | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **TOUS** les éléments | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **TOUTES** les extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
obs-3 | error | Observation.referenceRange | Must have at least a low or a high or text | `low.exists() or high.exists() or text.exists()`
obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present | `dataAbsentReason.empty() or value.empty()`
obs-7 | error | Observation | If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present | `value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()`

This structure is derived from Observation

Résumé

Obligatoire : 3 éléments
Must-Support : 9 éléments
Fixe : 2 éléments

Structures

Cette structure fait référence à ces autres structures:

- Patient (https://aphp.github.io/IG-fhir-dm/StructureDefinition/DMPatient)
- FR Core Practitioner Profile (https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-practitioner)
- FR Core Organization Profile (https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-organization)

Slices

Cette structure définit les slices suivantes:

- The element 1 is sliced based on the value of Observation.category

Other representations of profile: CSV, Excel, Schematron