Soigneur FHIR Implementation Guide
0.1.0 - ci-build Germany flag

Soigneur FHIR Implementation Guide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: Availability Block (Appointment)

Official URL: https://fhir.soigneur.coach/fhir/StructureDefinition/cc-availability-block Version: 0.1.0
Draft as of 2026-09-08 Computable Name: CcAvailabilityBlock

Copyright/Legal: Copyright (c) Soigneur. Licensed under CC0-1.0 (public domain dedication). FHIR(R) is the registered trademark of HL7 and is used with permission.

A plan-independent absence/restriction block the coach records from chat or the athlete enters manually (ADR 0071). cc-ext-availability-block marks it; cc-ext-availability-type is the reason (calendar label); cc-ext-training-impact (lock-step with core.plan Absence.category) feeds absence layering. description = short label; comment = free-text coach context. Guardrail invariant: never carries cc-ext-external-planner.

Usages:

  • This Profile is not used by any profiles in this Specification

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.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Appointment C 0..* Appointment A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s)
Constraints: app-2, app-3, app-4, cc-inv-availability-not-external
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 2..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:availabilityBlock 1..1 boolean Optional Extensions Element
URL: https://fhir.soigneur.coach/fhir/StructureDefinition/cc-ext-availability-block
.... extension:availabilityType 1..1 code Optional Extensions Element
URL: https://fhir.soigneur.coach/fhir/StructureDefinition/cc-ext-availability-type
Binding: Availability-block type (required)
.... extension:trainingImpact 0..1 code Optional Extensions Element
URL: https://fhir.soigneur.coach/fhir/StructureDefinition/cc-ext-training-impact
Binding: Training impact of an availability block (required)
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... description 0..1 string Short calendar label (e.g. 'Business travel to Copenhagen')
... start Σ 1..1 instant Block start (multi-day blocks span start..end)
... end Σ 1..1 instant Block end
... comment 0..1 string Free-text coach context (e.g. drained from travel, hotel-gym spinner available)
... participant C 1..* BackboneElement Participants involved in appointment
Constraints: app-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... actor Σ 1..1 Reference(Soigneur Athlete (Patient)) The athlete
.... status Σ 1..1 code accepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Appointment.status Base required AppointmentStatus 📍4.0.1 FHIR Std.
Appointment.participant.​status Base required ParticipationStatus 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
cc-inv-availability-not-external error Appointment An availability block must NOT carry the external-planner flag — the guardrail that keeps availability/absence blocks out of the plan-mode external-plan signal (ADR 0071). extension('https://fhir.soigneur.coach/fhir/StructureDefinition/cc-ext-external-planner').empty()

This structure is derived from Appointment

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Appointment C 0..* Appointment A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s)
Constraints: cc-inv-availability-not-external
... Slices for extension 2..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:availabilityBlock 1..1 boolean Optional Extensions Element
URL: https://fhir.soigneur.coach/fhir/StructureDefinition/cc-ext-availability-block
.... extension:availabilityType 1..1 code Optional Extensions Element
URL: https://fhir.soigneur.coach/fhir/StructureDefinition/cc-ext-availability-type
Binding: Availability-block type (required)
.... extension:trainingImpact 0..1 code Optional Extensions Element
URL: https://fhir.soigneur.coach/fhir/StructureDefinition/cc-ext-training-impact
Binding: Training impact of an availability block (required)
... description 0..1 string Short calendar label (e.g. 'Business travel to Copenhagen')
... start 1..1 instant Block start (multi-day blocks span start..end)
... comment 0..1 string Free-text coach context (e.g. drained from travel, hotel-gym spinner available)
... participant
.... actor 1..1 Reference(Soigneur Athlete (Patient)) The athlete

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
cc-inv-availability-not-external error Appointment An availability block must NOT carry the external-planner flag — the guardrail that keeps availability/absence blocks out of the plan-mode external-plan signal (ADR 0071). extension('https://fhir.soigneur.coach/fhir/StructureDefinition/cc-ext-external-planner').empty()
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Appointment C 0..* Appointment A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s)
Constraints: app-2, app-3, app-4, cc-inv-availability-not-external
... 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.
Additional BindingsPurpose
AllLanguages Max Binding
... 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 for extension 2..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:availabilityBlock 1..1 boolean Optional Extensions Element
URL: https://fhir.soigneur.coach/fhir/StructureDefinition/cc-ext-availability-block
.... extension:availabilityType 1..1 code Optional Extensions Element
URL: https://fhir.soigneur.coach/fhir/StructureDefinition/cc-ext-availability-type
Binding: Availability-block type (required)
.... extension:trainingImpact 0..1 code Optional Extensions Element
URL: https://fhir.soigneur.coach/fhir/StructureDefinition/cc-ext-training-impact
Binding: Training impact of an availability block (required)
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier External Ids for this item
... status ?!Σ 1..1 code proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist
Binding: AppointmentStatus (required): The free/busy status of an appointment.
... cancelationReason Σ 0..1 CodeableConcept The coded reason for the appointment being cancelled
Binding: AppointmentCancellationReason (example)
... serviceCategory Σ 0..* CodeableConcept A broad categorization of the service that is to be performed during this appointment
Binding: ServiceCategory (example)
... serviceType Σ 0..* CodeableConcept The specific service that is to be performed during this appointment
Binding: ServiceType (example)
... specialty Σ 0..* CodeableConcept The specialty of a practitioner that would be required to perform the service requested in this appointment
Binding: PracticeSettingCodeValueSet (preferred)
... appointmentType Σ 0..1 CodeableConcept The style of appointment or patient that has been booked in the slot (not service type)
Binding: hl7VS-appointmentReasonCodes (preferred)
... reasonCode Σ 0..* CodeableConcept Coded reason this appointment is scheduled
Binding: EncounterReasonCodes (preferred): The Reason for the appointment to take place.
... reasonReference 0..* Reference(Condition | Procedure | Observation | ImmunizationRecommendation) Reason the appointment is to take place (resource)
... priority 0..1 unsignedInt Used to make informed decisions if needing to re-prioritize
... description 0..1 string Short calendar label (e.g. 'Business travel to Copenhagen')
... supportingInformation 0..* Reference(Resource) Additional information to support the appointment
... start Σ 1..1 instant Block start (multi-day blocks span start..end)
... end Σ 1..1 instant Block end
... minutesDuration 0..1 positiveInt Can be less than start/end (e.g. estimate)
... slot 0..* Reference(Slot) The slots that this appointment is filling
... created 0..1 dateTime The date that this appointment was initially created
... comment 0..1 string Free-text coach context (e.g. drained from travel, hotel-gym spinner available)
... patientInstruction 0..1 string Detailed information and instructions for the patient
... basedOn 0..* Reference(ServiceRequest) The service request this appointment is allocated to assess
... participant C 1..* BackboneElement Participants involved in appointment
Constraints: app-1
.... 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
.... type Σ 0..* CodeableConcept Role of participant in the appointment
Binding: ParticipantType (extensible): Role of participant in encounter.
.... actor Σ 1..1 Reference(Soigneur Athlete (Patient)) The athlete
.... required Σ 0..1 code required | optional | information-only
Binding: ParticipantRequired (required): Is the Participant required to attend the appointment.
.... status Σ 1..1 code accepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.
.... period 0..1 Period Participation period of the actor
... requestedPeriod 0..* Period Potential date/time interval(s) requested to allocate the appointment within

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Appointment.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Appointment.status Base required AppointmentStatus 📍4.0.1 FHIR Std.
Appointment.cancelationReason Base example Appointment cancellation reason 📍4.0.1 FHIR Std.
Appointment.serviceCategory Base example Service category 📍4.0.1 FHIR Std.
Appointment.serviceType Base example Service type 📍4.0.1 FHIR Std.
Appointment.specialty Base preferred Practice Setting Code Value Set 📍4.0.1 FHIR Std.
Appointment.appointmentType Base preferred hl7VS-appointmentReasonCodes 📦3.0.0 THO v7.3
Appointment.reasonCode Base preferred Encounter Reason Codes 📍4.0.1 FHIR Std.
Appointment.participant.​type Base extensible Participant type 📍4.0.1 FHIR Std.
Appointment.participant.​required Base required ParticipantRequired 📍4.0.1 FHIR Std.
Appointment.participant.​status Base required ParticipationStatus 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
cc-inv-availability-not-external error Appointment An availability block must NOT carry the external-planner flag — the guardrail that keeps availability/absence blocks out of the plan-mode external-plan signal (ADR 0071). extension('https://fhir.soigneur.coach/fhir/StructureDefinition/cc-ext-external-planner').empty()

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Appointment C 0..* Appointment A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s)
Constraints: app-2, app-3, app-4, cc-inv-availability-not-external
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 2..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:availabilityBlock 1..1 boolean Optional Extensions Element
URL: https://fhir.soigneur.coach/fhir/StructureDefinition/cc-ext-availability-block
.... extension:availabilityType 1..1 code Optional Extensions Element
URL: https://fhir.soigneur.coach/fhir/StructureDefinition/cc-ext-availability-type
Binding: Availability-block type (required)
.... extension:trainingImpact 0..1 code Optional Extensions Element
URL: https://fhir.soigneur.coach/fhir/StructureDefinition/cc-ext-training-impact
Binding: Training impact of an availability block (required)
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... description 0..1 string Short calendar label (e.g. 'Business travel to Copenhagen')
... start Σ 1..1 instant Block start (multi-day blocks span start..end)
... end Σ 1..1 instant Block end
... comment 0..1 string Free-text coach context (e.g. drained from travel, hotel-gym spinner available)
... participant C 1..* BackboneElement Participants involved in appointment
Constraints: app-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... actor Σ 1..1 Reference(Soigneur Athlete (Patient)) The athlete
.... status Σ 1..1 code accepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Appointment.status Base required AppointmentStatus 📍4.0.1 FHIR Std.
Appointment.participant.​status Base required ParticipationStatus 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
cc-inv-availability-not-external error Appointment An availability block must NOT carry the external-planner flag — the guardrail that keeps availability/absence blocks out of the plan-mode external-plan signal (ADR 0071). extension('https://fhir.soigneur.coach/fhir/StructureDefinition/cc-ext-external-planner').empty()

Differential View

This structure is derived from Appointment

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Appointment C 0..* Appointment A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s)
Constraints: cc-inv-availability-not-external
... Slices for extension 2..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:availabilityBlock 1..1 boolean Optional Extensions Element
URL: https://fhir.soigneur.coach/fhir/StructureDefinition/cc-ext-availability-block
.... extension:availabilityType 1..1 code Optional Extensions Element
URL: https://fhir.soigneur.coach/fhir/StructureDefinition/cc-ext-availability-type
Binding: Availability-block type (required)
.... extension:trainingImpact 0..1 code Optional Extensions Element
URL: https://fhir.soigneur.coach/fhir/StructureDefinition/cc-ext-training-impact
Binding: Training impact of an availability block (required)
... description 0..1 string Short calendar label (e.g. 'Business travel to Copenhagen')
... start 1..1 instant Block start (multi-day blocks span start..end)
... comment 0..1 string Free-text coach context (e.g. drained from travel, hotel-gym spinner available)
... participant
.... actor 1..1 Reference(Soigneur Athlete (Patient)) The athlete

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
cc-inv-availability-not-external error Appointment An availability block must NOT carry the external-planner flag — the guardrail that keeps availability/absence blocks out of the plan-mode external-plan signal (ADR 0071). extension('https://fhir.soigneur.coach/fhir/StructureDefinition/cc-ext-external-planner').empty()

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Appointment C 0..* Appointment A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s)
Constraints: app-2, app-3, app-4, cc-inv-availability-not-external
... 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.
Additional BindingsPurpose
AllLanguages Max Binding
... 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 for extension 2..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:availabilityBlock 1..1 boolean Optional Extensions Element
URL: https://fhir.soigneur.coach/fhir/StructureDefinition/cc-ext-availability-block
.... extension:availabilityType 1..1 code Optional Extensions Element
URL: https://fhir.soigneur.coach/fhir/StructureDefinition/cc-ext-availability-type
Binding: Availability-block type (required)
.... extension:trainingImpact 0..1 code Optional Extensions Element
URL: https://fhir.soigneur.coach/fhir/StructureDefinition/cc-ext-training-impact
Binding: Training impact of an availability block (required)
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier External Ids for this item
... status ?!Σ 1..1 code proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist
Binding: AppointmentStatus (required): The free/busy status of an appointment.
... cancelationReason Σ 0..1 CodeableConcept The coded reason for the appointment being cancelled
Binding: AppointmentCancellationReason (example)
... serviceCategory Σ 0..* CodeableConcept A broad categorization of the service that is to be performed during this appointment
Binding: ServiceCategory (example)
... serviceType Σ 0..* CodeableConcept The specific service that is to be performed during this appointment
Binding: ServiceType (example)
... specialty Σ 0..* CodeableConcept The specialty of a practitioner that would be required to perform the service requested in this appointment
Binding: PracticeSettingCodeValueSet (preferred)
... appointmentType Σ 0..1 CodeableConcept The style of appointment or patient that has been booked in the slot (not service type)
Binding: hl7VS-appointmentReasonCodes (preferred)
... reasonCode Σ 0..* CodeableConcept Coded reason this appointment is scheduled
Binding: EncounterReasonCodes (preferred): The Reason for the appointment to take place.
... reasonReference 0..* Reference(Condition | Procedure | Observation | ImmunizationRecommendation) Reason the appointment is to take place (resource)
... priority 0..1 unsignedInt Used to make informed decisions if needing to re-prioritize
... description 0..1 string Short calendar label (e.g. 'Business travel to Copenhagen')
... supportingInformation 0..* Reference(Resource) Additional information to support the appointment
... start Σ 1..1 instant Block start (multi-day blocks span start..end)
... end Σ 1..1 instant Block end
... minutesDuration 0..1 positiveInt Can be less than start/end (e.g. estimate)
... slot 0..* Reference(Slot) The slots that this appointment is filling
... created 0..1 dateTime The date that this appointment was initially created
... comment 0..1 string Free-text coach context (e.g. drained from travel, hotel-gym spinner available)
... patientInstruction 0..1 string Detailed information and instructions for the patient
... basedOn 0..* Reference(ServiceRequest) The service request this appointment is allocated to assess
... participant C 1..* BackboneElement Participants involved in appointment
Constraints: app-1
.... 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
.... type Σ 0..* CodeableConcept Role of participant in the appointment
Binding: ParticipantType (extensible): Role of participant in encounter.
.... actor Σ 1..1 Reference(Soigneur Athlete (Patient)) The athlete
.... required Σ 0..1 code required | optional | information-only
Binding: ParticipantRequired (required): Is the Participant required to attend the appointment.
.... status Σ 1..1 code accepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.
.... period 0..1 Period Participation period of the actor
... requestedPeriod 0..* Period Potential date/time interval(s) requested to allocate the appointment within

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Appointment.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Appointment.status Base required AppointmentStatus 📍4.0.1 FHIR Std.
Appointment.cancelationReason Base example Appointment cancellation reason 📍4.0.1 FHIR Std.
Appointment.serviceCategory Base example Service category 📍4.0.1 FHIR Std.
Appointment.serviceType Base example Service type 📍4.0.1 FHIR Std.
Appointment.specialty Base preferred Practice Setting Code Value Set 📍4.0.1 FHIR Std.
Appointment.appointmentType Base preferred hl7VS-appointmentReasonCodes 📦3.0.0 THO v7.3
Appointment.reasonCode Base preferred Encounter Reason Codes 📍4.0.1 FHIR Std.
Appointment.participant.​type Base extensible Participant type 📍4.0.1 FHIR Std.
Appointment.participant.​required Base required ParticipantRequired 📍4.0.1 FHIR Std.
Appointment.participant.​status Base required ParticipationStatus 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
cc-inv-availability-not-external error Appointment An availability block must NOT carry the external-planner flag — the guardrail that keeps availability/absence blocks out of the plan-mode external-plan signal (ADR 0071). extension('https://fhir.soigneur.coach/fhir/StructureDefinition/cc-ext-external-planner').empty()

 

Other representations of profile: CSV, Excel, Schematron