Guide d'implémentation Fr Core
2.2.0-ballot - ballot

Guide d'implémentation Fr Core, published by Interop'Santé. This guide is not an authorized publication; it is the continuous build for version 2.2.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/Interop-Sante/hl7.fhir.fr.core/ and changes regularly. See the Directory of published versions

## Resource Profile: FR Core Schedule Profile

Official URL: https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-schedule | Version: 2.2.0-ballot
Active as of 2025-11-18 | Computable Name: FRCoreScheduleProfile

Profile of the Schedule resource for France. This profile redefines the element serviceType to associate the service with the duration of this service. It also adds an extension sepcifying the periods of avalability/non-availabilty times of the Schedule

Profil de la ressource Schedule pour l’usage en France. Ce profil redéfinit l’élément serviceType de façon à associer le service avec la durée du service. Il ajoute également une extension qui précise les périodes de disponibilités/non disponibilités de la vacation.

Usages:

- Refer to this Profile: FR Core Slot Profile
- Examples for this Profile: Schedule/FRCoreScheduleExample

You can also check for usages in the 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
--- | --- | --- | --- | ---
Schedule |  | 0..* | Schedule | A container for slots of time that may be available for booking appointments
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
Slices pour extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:serviceTypeDuration |  | 0..* | (Complex) | FR Core Service Type Duration Extension URL: https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-service-type-duration
extension:availabilityTime |  | 0..* | (Complex) | FR Core Schedule availability time Extension URL: https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-schedule-availability-time
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
active | ?!Σ | 0..1 | boolean | Whether this schedule is in active use
serviceCategory | Σ | 0..1 | CodeableConcept | High-level category Binding: ServiceCategory (example)
specialty | Σ | 0..* | CodeableConcept | Type of specialty needed Binding: FR Core ValueSet Practitioner specialty (required)
actor | Σ | 1..* | Reference(Device | FR Core Practitioner Role | FR Core Related Person Profile | FR Core Healthcare Service Profile | FR Core Location Profile | FR Core Patient Profile | FR Core Practitioner Profile) | Resource(s) that availability information is being provided for
Documentation for this format

#### Terminology Bindings

Path | Statut | Usage | ValueSet | Version | Source
Schedule.serviceCategory | Base | example | Service category | 📍4.0.1 | FHIR Std.
Schedule.specialty | Base | required | FR Core ValueSet Practitioner specialty | 📦2.2.0-ballot | cet IG

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | Schedule | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Schedule | 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 | Schedule | 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 | Schedule | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Schedule | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

This structure is derived from Schedule

Nom | Drapeaux | Card. | Type | Description et contraintes Filter: Bindings Contraintes Obligations
--- | --- | --- | --- | ---
Schedule |  | 0..* | Schedule | A container for slots of time that may be available for booking appointments
meta |  |  |  |
Slices pour profile |  | 0..* | canonical(StructureDefinition) | Profiles this resource claims to conform to Slice: Unordered, Open by value:$this
profile:fr-canonical |  | 0..1 | canonical(StructureDefinition) | Profiles this resource claims to conform to Required Pattern: https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-schedule
Slices pour extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:serviceTypeDuration |  | 0..* | (Complex) | FR Core Service Type Duration Extension URL: https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-service-type-duration
extension:availabilityTime |  | 0..* | (Complex) | FR Core Schedule availability time Extension URL: https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-schedule-availability-time
serviceCategory |  | 0..1 | CodeableConcept | High-level category
serviceType |  | 0..0 |  | Specific service
specialty |  | 0..* | CodeableConcept | Type of specialty needed Binding: FR Core ValueSet Practitioner specialty (required)
actor |  | 1..* | Reference(Device | FR Core Practitioner Role | FR Core Related Person Profile | FR Core Healthcare Service Profile | FR Core Location Profile | FR Core Patient Profile | FR Core Practitioner Profile) | Resource(s) that availability information is being provided for
Documentation for this format

#### Terminology Bindings (Differential)

Path | Statut | Usage | ValueSet | Version | Source
Schedule.specialty | Base | required | FR Core ValueSet Practitioner specialty | 📦2.2.0-ballot | cet IG

Nom | Drapeaux | Card. | Type | Description et contraintes Filter: Bindings Contraintes Obligations
--- | --- | --- | --- | ---
Schedule |  | 0..* | Schedule | A container for slots of time that may be available for booking appointments
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
versionId | Σ | 0..1 | id | Version specific identifier
lastUpdated | Σ | 0..1 | instant | When the resource version last changed
source | Σ | 0..1 | uri | Identifies where the resource comes from
Slices pour profile | Σ | 0..* | canonical(StructureDefinition) | Profiles this resource claims to conform to Slice: Unordered, Open by value:$this
profile:fr-canonical | Σ | 0..1 | canonical(StructureDefinition) | Profiles this resource claims to conform to Required Pattern: https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-schedule
security | Σ | 0..* | Coding | Security Labels applied to this resource Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
tag | Σ | 0..* | Coding | Tags applied to this resource Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".
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
Slices pour extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:serviceTypeDuration |  | 0..* | (Complex) | FR Core Service Type Duration Extension URL: https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-service-type-duration
extension:availabilityTime |  | 0..* | (Complex) | FR Core Schedule availability time Extension URL: https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-schedule-availability-time
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | Σ | 0..* | Identifier | External Ids for this item
active | ?!Σ | 0..1 | boolean | Whether this schedule is in active use
serviceCategory | Σ | 0..1 | CodeableConcept | High-level category Binding: ServiceCategory (example)
specialty | Σ | 0..* | CodeableConcept | Type of specialty needed Binding: FR Core ValueSet Practitioner specialty (required)
actor | Σ | 1..* | Reference(Device | FR Core Practitioner Role | FR Core Related Person Profile | FR Core Healthcare Service Profile | FR Core Location Profile | FR Core Patient Profile | FR Core Practitioner Profile) | Resource(s) that availability information is being provided for
planningHorizon | Σ | 0..1 | Period | Period of time covered by schedule
comment |  | 0..1 | string | Comments on availability
Documentation for this format

#### Terminology Bindings

Path | Statut | Usage | ValueSet | Version | Source
Schedule.meta.security | Base | extensible | SecurityLabels | 📍4.0.1 | FHIR Std.
Schedule.meta.tag | Base | example | Common Tags | 📍4.0.1 | FHIR Std.
Schedule.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
Schedule.serviceCategory | Base | example | Service category | 📍4.0.1 | FHIR Std.
Schedule.specialty | Base | required | FR Core ValueSet Practitioner specialty | 📦2.2.0-ballot | cet IG

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | Schedule | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Schedule | 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 | Schedule | 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 | Schedule | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Schedule | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

This structure is derived from Schedule

Résumé

Prohibited: 1 element

Structures

This structure refers to these other structures:

- FR Core Practitioner Role (https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-practitioner-role)
- FR Core Related Person Profile (https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-related-person)
- FR Core Healthcare Service Profile (https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-healthcare-service)
- FR Core Location Profile (https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-location)
- FR Core Patient Profile (https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-patient)
- FR Core Practitioner Profile (https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-practitioner)

Extensions

This structure refers to these extensions:

- https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-service-type-duration
- https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-schedule-availability-time

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of Schedule.meta.profile

Key Elements View

Nom | Drapeaux | Card. | Type | Description et contraintes Filter: Bindings Contraintes Obligations
--- | --- | --- | --- | ---
Schedule |  | 0..* | Schedule | A container for slots of time that may be available for booking appointments
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
Slices pour extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:serviceTypeDuration |  | 0..* | (Complex) | FR Core Service Type Duration Extension URL: https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-service-type-duration
extension:availabilityTime |  | 0..* | (Complex) | FR Core Schedule availability time Extension URL: https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-schedule-availability-time
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
active | ?!Σ | 0..1 | boolean | Whether this schedule is in active use
serviceCategory | Σ | 0..1 | CodeableConcept | High-level category Binding: ServiceCategory (example)
specialty | Σ | 0..* | CodeableConcept | Type of specialty needed Binding: FR Core ValueSet Practitioner specialty (required)
actor | Σ | 1..* | Reference(Device | FR Core Practitioner Role | FR Core Related Person Profile | FR Core Healthcare Service Profile | FR Core Location Profile | FR Core Patient Profile | FR Core Practitioner Profile) | Resource(s) that availability information is being provided for
Documentation for this format

#### Terminology Bindings

Path | Statut | Usage | ValueSet | Version | Source
Schedule.serviceCategory | Base | example | Service category | 📍4.0.1 | FHIR Std.
Schedule.specialty | Base | required | FR Core ValueSet Practitioner specialty | 📦2.2.0-ballot | cet IG

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | Schedule | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Schedule | 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 | Schedule | 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 | Schedule | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Schedule | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

Differential View

This structure is derived from Schedule

Nom | Drapeaux | Card. | Type | Description et contraintes Filter: Bindings Contraintes Obligations
--- | --- | --- | --- | ---
Schedule |  | 0..* | Schedule | A container for slots of time that may be available for booking appointments
meta |  |  |  |
Slices pour profile |  | 0..* | canonical(StructureDefinition) | Profiles this resource claims to conform to Slice: Unordered, Open by value:$this
profile:fr-canonical |  | 0..1 | canonical(StructureDefinition) | Profiles this resource claims to conform to Required Pattern: https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-schedule
Slices pour extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:serviceTypeDuration |  | 0..* | (Complex) | FR Core Service Type Duration Extension URL: https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-service-type-duration
extension:availabilityTime |  | 0..* | (Complex) | FR Core Schedule availability time Extension URL: https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-schedule-availability-time
serviceCategory |  | 0..1 | CodeableConcept | High-level category
serviceType |  | 0..0 |  | Specific service
specialty |  | 0..* | CodeableConcept | Type of specialty needed Binding: FR Core ValueSet Practitioner specialty (required)
actor |  | 1..* | Reference(Device | FR Core Practitioner Role | FR Core Related Person Profile | FR Core Healthcare Service Profile | FR Core Location Profile | FR Core Patient Profile | FR Core Practitioner Profile) | Resource(s) that availability information is being provided for
Documentation for this format

#### Terminology Bindings (Differential)

Path | Statut | Usage | ValueSet | Version | Source
Schedule.specialty | Base | required | FR Core ValueSet Practitioner specialty | 📦2.2.0-ballot | cet IG

Snapshot View

Nom | Drapeaux | Card. | Type | Description et contraintes Filter: Bindings Contraintes Obligations
--- | --- | --- | --- | ---
Schedule |  | 0..* | Schedule | A container for slots of time that may be available for booking appointments
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
versionId | Σ | 0..1 | id | Version specific identifier
lastUpdated | Σ | 0..1 | instant | When the resource version last changed
source | Σ | 0..1 | uri | Identifies where the resource comes from
Slices pour profile | Σ | 0..* | canonical(StructureDefinition) | Profiles this resource claims to conform to Slice: Unordered, Open by value:$this
profile:fr-canonical | Σ | 0..1 | canonical(StructureDefinition) | Profiles this resource claims to conform to Required Pattern: https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-schedule
security | Σ | 0..* | Coding | Security Labels applied to this resource Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
tag | Σ | 0..* | Coding | Tags applied to this resource Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".
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
Slices pour extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:serviceTypeDuration |  | 0..* | (Complex) | FR Core Service Type Duration Extension URL: https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-service-type-duration
extension:availabilityTime |  | 0..* | (Complex) | FR Core Schedule availability time Extension URL: https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-schedule-availability-time
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | Σ | 0..* | Identifier | External Ids for this item
active | ?!Σ | 0..1 | boolean | Whether this schedule is in active use
serviceCategory | Σ | 0..1 | CodeableConcept | High-level category Binding: ServiceCategory (example)
specialty | Σ | 0..* | CodeableConcept | Type of specialty needed Binding: FR Core ValueSet Practitioner specialty (required)
actor | Σ | 1..* | Reference(Device | FR Core Practitioner Role | FR Core Related Person Profile | FR Core Healthcare Service Profile | FR Core Location Profile | FR Core Patient Profile | FR Core Practitioner Profile) | Resource(s) that availability information is being provided for
planningHorizon | Σ | 0..1 | Period | Period of time covered by schedule
comment |  | 0..1 | string | Comments on availability
Documentation for this format

#### Terminology Bindings

Path | Statut | Usage | ValueSet | Version | Source
Schedule.meta.security | Base | extensible | SecurityLabels | 📍4.0.1 | FHIR Std.
Schedule.meta.tag | Base | example | Common Tags | 📍4.0.1 | FHIR Std.
Schedule.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
Schedule.serviceCategory | Base | example | Service category | 📍4.0.1 | FHIR Std.
Schedule.specialty | Base | required | FR Core ValueSet Practitioner specialty | 📦2.2.0-ballot | cet IG

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | Schedule | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Schedule | 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 | Schedule | 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 | Schedule | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Schedule | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

This structure is derived from Schedule

Résumé

Prohibited: 1 element

Structures

This structure refers to these other structures:

- FR Core Practitioner Role (https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-practitioner-role)
- FR Core Related Person Profile (https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-related-person)
- FR Core Healthcare Service Profile (https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-healthcare-service)
- FR Core Location Profile (https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-location)
- FR Core Patient Profile (https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-patient)
- FR Core Practitioner Profile (https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-practitioner)

Extensions

This structure refers to these extensions:

- https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-service-type-duration
- https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-schedule-availability-time

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of Schedule.meta.profile

Other representations of profile: CSV, Excel, Schematron