Guide d’Implémentation FHIR – Pré-admission Hospitalière en Ligne
0.1.0 - ci-build FRANCE

Guide d’Implémentation FHIR – Pré-admission Hospitalière en Ligne - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: Fr Preadmission Appointment Profile

Official URL: http://hl7.fr/fhir/fr/preadmission/StructureDefinition/preadmission-appointment-fr Version: 0.1.0
Draft as of 2026-02-24 Computable Name: PreadmissionAppointmentFr

Profil Appointment pour un rendez-vous de préadmission

Introduction

Dans le cadre de la préadmission hospitalière, la prise de rendez-vous est une étape essentielle qui initie le processus administratif. Elle permet de planifier une consultation ou un séjour hospitalier et de collecter les informations nécessaires à la préparation de l’admission.
Les rendez-vous sont modélisés dans FHIR à l’aide de la ressource Appointment, enrichie d’extensions spécifiques pour répondre aux besoins du processus de préadmission.


Rôle de la ressource Appointment

La ressource Appointment joue un rôle central dans la gestion des rendez-vous liés à la préadmission. Elle permet de :

  • Planifier une consultation ou un séjour hospitalier.
  • Associer des questionnaires médicaux remplis par le patient.
  • Référencer les consentements recueillis lors de la prise de rendez-vous.
  • Coordonner les échanges entre les différents systèmes impliqués (portail patient, SIH, etc.).

Spécificités du profil PreadmissionAppointmentFr

Le profil PreadmissionAppointmentFr apporte des contraintes et des extensions spécifiques pour répondre aux besoins de la préadmission.

Extensions spécifiques

  • PreadmissionAppointmentQuestionnaireResponseFr : Permet de référencer un ou plusieurs QuestionnaireResponse remplis par le patient dans le cadre de la préadmission.

Contraintes principales

  • Participant : Le participant principal doit être un patient, référencé via participant.actor avec une ressource Patient. è- Lien avec les questionnaires : Les questionnaires de pré-admission sont associés au rendez-vous via QuestionnaireResponse.subject=Appointment/{id}.
    Recherche : GET /QuestionnaireResponse?subject=Appointment/1234

Ressource FHIR : Appointment

La ressource Appointment contient les informations nécessaires à la planification d’un rendez-vous. Elle inclut des métadonnées essentielles telles que la date, l’heure, les participants, et les raisons du rendez-vous.

Contraintes principales

  • Statut du rendez-vous : Défini via Appointment.status (par exemple, booked, cancelled).
  • Description : Permet de préciser la nature du rendez-vous (par exemple, “IRM cérébrale”).
  • Participants : Inclut le patient et les professionnels de santé impliqués.
  • Raisons du rendez-vous : Spécifiées via Appointment.reasonCode.

Lien avec le patient

  • Lien avec le patient : Chaque rendez-vous est directement lié à une ressource Patient via participant.actor.

Lien avec les questionnaires

Les questionnaires de pré-admission sont associés au rendez-vous via
QuestionnaireResponse.subject = Appointment/{id}.

  • Questionnaire
    Définit la structure (questions, règles, etc.).
    Le champ subjectType: ["Appointment"] est obligatoire.

  • QuestionnaireResponse

    • Référence le questionnaire via
      questionnaire: "Questionnaire/preadmission-rdv"
    • Lie les réponses au rendez-vous via
      subject = Appointment/{id}

Recherche des réponses pour un RDV

GET /QuestionnaireResponse?subject=Appointment/1234&status=completed

Schéma des relations

Questionnaire/preadmission-rdv └─ subjectType: [“Appointment”] │ └─ questionnaire (référence) │ QuestionnaireResponse/resp-001 └─ subject: Appointment/1234 ← Lien direct RDV ↔ réponses

Bonnes pratiques

  • Planification précise : Assurez-vous que les dates et heures des rendez-vous sont correctement définies pour éviter les conflits.
  • Traçabilité des consentements : Associez systématiquement les consentements recueillis au rendez-vous pour garantir une traçabilité complète.
  • Validation des questionnaires : Vérifiez que les questionnaires sont remplis avant la date du rendez-vous.
  • Contexte : un commentaire peutr être ajouté dans Appointment.comment pour préciser le contexte de la venue à venir (Par exemple: ALD, accident du travail, etc.).

Conclusion

La ressource Appointment, enrichie d’extensions spécifiques, joue un rôle clé dans la gestion des rendez-vous liés à la préadmission hospitalière. Elle garantit une organisation structurée et conforme des informations, tout en facilitant leur traitement par les systèmes administratifs et médicaux.

Usages:

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.

NomDrapeauxCard.TypeDescription et contraintes    Filter: Filtersdoco
.. Appointment C 0..* FRCoreAppointmentProfile 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
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices pour extension Content/Rules for all slices
.... extension:appointmentOperator 0..1 Reference(FR Core Organization Profile | FR Core Practitioner Profile | FR Core Patient Profile | RelatedPerson) FR Core Appointment Operator Extension
URL: https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-appointment-operator
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... participant C 1..* BackboneElement Participants involved in appointment
Constraints: app-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... actor Σ 0..1 Reference(FR Core Patient Profile | FR Core Patient INS Profile | FR Core Practitioner Profile) Person, Location/HealthcareService or Device
.... 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

PathConformitéValueSetURI
Appointment.statusrequiredAppointmentStatus
http://hl7.org/fhir/ValueSet/appointmentstatus|4.0.1
From the FHIR Standard
Appointment.participant.statusrequiredParticipationStatus
http://hl7.org/fhir/ValueSet/participationstatus|4.0.1
From the FHIR Standard

Constraints

IdGradePath(s)DétailsRequirements
app-1errorAppointment.participantEither the type or actor on the participant SHALL be specified
: type.exists() or actor.exists()
app-2errorAppointmentEither start and end are specified, or neither
: start.exists() = end.exists()
app-3errorAppointmentOnly proposed or cancelled appointments can be missing start/end dates
: (start.exists() and end.exists()) or (status in ('proposed' | 'cancelled' | 'waitlist'))
app-4errorAppointmentCancelation reason is only used for appointments that have been cancelled, or no-show
: Appointment.cancelationReason.exists() implies (Appointment.status='no-show' or Appointment.status='cancelled')
dom-2errorAppointmentIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorAppointmentIf 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-4errorAppointmentIf 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-5errorAppointmentIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceAppointmentA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from FRCoreAppointmentProfile

NomDrapeauxCard.TypeDescription et contraintes    Filter: Filtersdoco
.. Appointment 0..* FRCoreAppointmentProfile 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)
... participant
.... actor 0..1 Reference(FR Core Patient Profile | FR Core Patient INS Profile | FR Core Practitioner Profile) Person, Location/HealthcareService or Device

doco Documentation for this format
NomDrapeauxCard.TypeDescription et contraintes    Filter: Filtersdoco
.. Appointment C 0..* FRCoreAppointmentProfile 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
... 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-appointment
.... 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 AdditionnelsBut
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:appointmentOperator 0..1 Reference(FR Core Organization Profile | FR Core Practitioner Profile | FR Core Patient Profile | RelatedPerson) FR Core Appointment Operator Extension
URL: https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-appointment-operator
... 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: FR Core ValueSet Practitioner specialty (required)
... 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 Shown on a subject line in a meeting request, or appointment list
... supportingInformation 0..* Reference(Resource) Additional information to support the appointment
... start Σ 0..1 instant When appointment is to take place
... end Σ 0..1 instant When appointment is to conclude
... minutesDuration 0..1 positiveInt Can be less than start/end (e.g. estimate)
... slot 0..* Reference(FR Core Slot Profile) The slots that this appointment is filling
... created 0..1 dateTime The date that this appointment was initially created
... comment 0..1 string Additional comments
... 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 Σ 0..1 Reference(FR Core Patient Profile | FR Core Patient INS Profile | FR Core Practitioner Profile) Person, Location/HealthcareService or Device
.... 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

PathConformitéValueSetURI
Appointment.meta.securityextensibleAll Security Labels
http://hl7.org/fhir/ValueSet/security-labels
From the FHIR Standard
Appointment.meta.tagexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
From the FHIR Standard
Appointment.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
From the FHIR Standard
Bindings Additionnels But
AllLanguages Binding Max
Appointment.statusrequiredAppointmentStatus
http://hl7.org/fhir/ValueSet/appointmentstatus|4.0.1
From the FHIR Standard
Appointment.cancelationReasonexampleAppointmentCancellationReason
http://hl7.org/fhir/ValueSet/appointment-cancellation-reason
From the FHIR Standard
Appointment.serviceCategoryexampleServiceCategory
http://hl7.org/fhir/ValueSet/service-category
From the FHIR Standard
Appointment.serviceTypeexampleServiceType
http://hl7.org/fhir/ValueSet/service-type
From the FHIR Standard
Appointment.specialtyrequiredFRCoreValueSetPractitionerSpecialty
https://hl7.fr/ig/fhir/core/ValueSet/fr-core-vs-practitioner-specialty
Appointment.appointmentTypepreferredHl7VSAppointmentReasonCodes
http://terminology.hl7.org/ValueSet/v2-0276
Appointment.reasonCodepreferredEncounterReasonCodes
http://hl7.org/fhir/ValueSet/encounter-reason
From the FHIR Standard
Appointment.participant.typeextensibleParticipantType
http://hl7.org/fhir/ValueSet/encounter-participant-type
From the FHIR Standard
Appointment.participant.requiredrequiredParticipantRequired
http://hl7.org/fhir/ValueSet/participantrequired|4.0.1
From the FHIR Standard
Appointment.participant.statusrequiredParticipationStatus
http://hl7.org/fhir/ValueSet/participationstatus|4.0.1
From the FHIR Standard

Constraints

IdGradePath(s)DétailsRequirements
app-1errorAppointment.participantEither the type or actor on the participant SHALL be specified
: type.exists() or actor.exists()
app-2errorAppointmentEither start and end are specified, or neither
: start.exists() = end.exists()
app-3errorAppointmentOnly proposed or cancelled appointments can be missing start/end dates
: (start.exists() and end.exists()) or (status in ('proposed' | 'cancelled' | 'waitlist'))
app-4errorAppointmentCancelation reason is only used for appointments that have been cancelled, or no-show
: Appointment.cancelationReason.exists() implies (Appointment.status='no-show' or Appointment.status='cancelled')
dom-2errorAppointmentIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorAppointmentIf 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-4errorAppointmentIf 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-5errorAppointmentIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceAppointmentA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Key Elements View

NomDrapeauxCard.TypeDescription et contraintes    Filter: Filtersdoco
.. Appointment C 0..* FRCoreAppointmentProfile 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
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices pour extension Content/Rules for all slices
.... extension:appointmentOperator 0..1 Reference(FR Core Organization Profile | FR Core Practitioner Profile | FR Core Patient Profile | RelatedPerson) FR Core Appointment Operator Extension
URL: https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-appointment-operator
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... participant C 1..* BackboneElement Participants involved in appointment
Constraints: app-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... actor Σ 0..1 Reference(FR Core Patient Profile | FR Core Patient INS Profile | FR Core Practitioner Profile) Person, Location/HealthcareService or Device
.... 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

PathConformitéValueSetURI
Appointment.statusrequiredAppointmentStatus
http://hl7.org/fhir/ValueSet/appointmentstatus|4.0.1
From the FHIR Standard
Appointment.participant.statusrequiredParticipationStatus
http://hl7.org/fhir/ValueSet/participationstatus|4.0.1
From the FHIR Standard

Constraints

IdGradePath(s)DétailsRequirements
app-1errorAppointment.participantEither the type or actor on the participant SHALL be specified
: type.exists() or actor.exists()
app-2errorAppointmentEither start and end are specified, or neither
: start.exists() = end.exists()
app-3errorAppointmentOnly proposed or cancelled appointments can be missing start/end dates
: (start.exists() and end.exists()) or (status in ('proposed' | 'cancelled' | 'waitlist'))
app-4errorAppointmentCancelation reason is only used for appointments that have been cancelled, or no-show
: Appointment.cancelationReason.exists() implies (Appointment.status='no-show' or Appointment.status='cancelled')
dom-2errorAppointmentIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorAppointmentIf 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-4errorAppointmentIf 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-5errorAppointmentIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceAppointmentA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Differential View

This structure is derived from FRCoreAppointmentProfile

NomDrapeauxCard.TypeDescription et contraintes    Filter: Filtersdoco
.. Appointment 0..* FRCoreAppointmentProfile 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)
... participant
.... actor 0..1 Reference(FR Core Patient Profile | FR Core Patient INS Profile | FR Core Practitioner Profile) Person, Location/HealthcareService or Device

doco Documentation for this format

Snapshot View

NomDrapeauxCard.TypeDescription et contraintes    Filter: Filtersdoco
.. Appointment C 0..* FRCoreAppointmentProfile 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
... 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-appointment
.... 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 AdditionnelsBut
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:appointmentOperator 0..1 Reference(FR Core Organization Profile | FR Core Practitioner Profile | FR Core Patient Profile | RelatedPerson) FR Core Appointment Operator Extension
URL: https://hl7.fr/ig/fhir/core/StructureDefinition/fr-core-appointment-operator
... 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: FR Core ValueSet Practitioner specialty (required)
... 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 Shown on a subject line in a meeting request, or appointment list
... supportingInformation 0..* Reference(Resource) Additional information to support the appointment
... start Σ 0..1 instant When appointment is to take place
... end Σ 0..1 instant When appointment is to conclude
... minutesDuration 0..1 positiveInt Can be less than start/end (e.g. estimate)
... slot 0..* Reference(FR Core Slot Profile) The slots that this appointment is filling
... created 0..1 dateTime The date that this appointment was initially created
... comment 0..1 string Additional comments
... 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 Σ 0..1 Reference(FR Core Patient Profile | FR Core Patient INS Profile | FR Core Practitioner Profile) Person, Location/HealthcareService or Device
.... 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

PathConformitéValueSetURI
Appointment.meta.securityextensibleAll Security Labels
http://hl7.org/fhir/ValueSet/security-labels
From the FHIR Standard
Appointment.meta.tagexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
From the FHIR Standard
Appointment.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
From the FHIR Standard
Bindings Additionnels But
AllLanguages Binding Max
Appointment.statusrequiredAppointmentStatus
http://hl7.org/fhir/ValueSet/appointmentstatus|4.0.1
From the FHIR Standard
Appointment.cancelationReasonexampleAppointmentCancellationReason
http://hl7.org/fhir/ValueSet/appointment-cancellation-reason
From the FHIR Standard
Appointment.serviceCategoryexampleServiceCategory
http://hl7.org/fhir/ValueSet/service-category
From the FHIR Standard
Appointment.serviceTypeexampleServiceType
http://hl7.org/fhir/ValueSet/service-type
From the FHIR Standard
Appointment.specialtyrequiredFRCoreValueSetPractitionerSpecialty
https://hl7.fr/ig/fhir/core/ValueSet/fr-core-vs-practitioner-specialty
Appointment.appointmentTypepreferredHl7VSAppointmentReasonCodes
http://terminology.hl7.org/ValueSet/v2-0276
Appointment.reasonCodepreferredEncounterReasonCodes
http://hl7.org/fhir/ValueSet/encounter-reason
From the FHIR Standard
Appointment.participant.typeextensibleParticipantType
http://hl7.org/fhir/ValueSet/encounter-participant-type
From the FHIR Standard
Appointment.participant.requiredrequiredParticipantRequired
http://hl7.org/fhir/ValueSet/participantrequired|4.0.1
From the FHIR Standard
Appointment.participant.statusrequiredParticipationStatus
http://hl7.org/fhir/ValueSet/participationstatus|4.0.1
From the FHIR Standard

Constraints

IdGradePath(s)DétailsRequirements
app-1errorAppointment.participantEither the type or actor on the participant SHALL be specified
: type.exists() or actor.exists()
app-2errorAppointmentEither start and end are specified, or neither
: start.exists() = end.exists()
app-3errorAppointmentOnly proposed or cancelled appointments can be missing start/end dates
: (start.exists() and end.exists()) or (status in ('proposed' | 'cancelled' | 'waitlist'))
app-4errorAppointmentCancelation reason is only used for appointments that have been cancelled, or no-show
: Appointment.cancelationReason.exists() implies (Appointment.status='no-show' or Appointment.status='cancelled')
dom-2errorAppointmentIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorAppointmentIf 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-4errorAppointmentIf 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-5errorAppointmentIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceAppointmentA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

 

Other representations of profile: CSV, Excel, Schematron