Gestion d'Agenda Partagé (GAP)
3.0.0-ballot - 3.0.0-ballot
This page is part of the Guide d'implémentation FHIR - Gestion d'Agendas Partagés (v3.0.0-ballot: Release) based on FHIR R4. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions
Official URL: https://interop.esante.gouv.fr/ig/fhir/gap/StructureDefinition/gap-fr-appointment | Version: 3.0.0-ballot | |||
Draft as of 2023-10-10 | Computable Name: GAP_FrAppointment |
Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from FrAppointment
Name | Flags | Card. | Type | Description & Constraints![]() |
---|---|---|---|---|
![]() ![]() | 0..* | FrAppointment | 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) | |
![]() |
Name | Flags | Card. | Type | Description & Constraints![]() |
---|---|---|---|---|
![]() ![]() | C | 0..* | FrAppointment | 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) |
![]() ![]() ![]() | ?!ΣN | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() ![]() | N | 0..1 | base64Binary, boolean, canonical(), code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference(), SampledData, Signature, Timing, ContactDetail, Contributor, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Dosage, Meta | Optional Extensions Element URL: http://interopsante.org/fhir/StructureDefinition/FrAppointmentOperator |
![]() ![]() ![]() ![]() | 1..1 | uri | "http://interopsante.org/fhir/StructureDefinition/FrAppointmentOperator" | |
![]() ![]() ![]() ![]() | N | 0..1 | Value of extension Slice: Unordered, Open by type:$this | |
![]() ![]() ![]() ![]() ![]() | base64Binary | |||
![]() ![]() ![]() ![]() ![]() | boolean | |||
![]() ![]() ![]() ![]() ![]() | canonical(Any) | |||
![]() ![]() ![]() ![]() ![]() | code | |||
![]() ![]() ![]() ![]() ![]() | date | |||
![]() ![]() ![]() ![]() ![]() | dateTime | |||
![]() ![]() ![]() ![]() ![]() | decimal | |||
![]() ![]() ![]() ![]() ![]() | id | |||
![]() ![]() ![]() ![]() ![]() | instant | |||
![]() ![]() ![]() ![]() ![]() | integer | |||
![]() ![]() ![]() ![]() ![]() | markdown | |||
![]() ![]() ![]() ![]() ![]() | oid | |||
![]() ![]() ![]() ![]() ![]() | positiveInt | |||
![]() ![]() ![]() ![]() ![]() | string | |||
![]() ![]() ![]() ![]() ![]() | time | |||
![]() ![]() ![]() ![]() ![]() | unsignedInt | |||
![]() ![]() ![]() ![]() ![]() | uri | |||
![]() ![]() ![]() ![]() ![]() | url | |||
![]() ![]() ![]() ![]() ![]() | uuid | |||
![]() ![]() ![]() ![]() ![]() | Address | |||
![]() ![]() ![]() ![]() ![]() | Age | |||
![]() ![]() ![]() ![]() ![]() | Annotation | |||
![]() ![]() ![]() ![]() ![]() | Attachment | |||
![]() ![]() ![]() ![]() ![]() | CodeableConcept | |||
![]() ![]() ![]() ![]() ![]() | Coding | |||
![]() ![]() ![]() ![]() ![]() | ContactPoint | |||
![]() ![]() ![]() ![]() ![]() | Count | |||
![]() ![]() ![]() ![]() ![]() | Distance | |||
![]() ![]() ![]() ![]() ![]() | Duration | |||
![]() ![]() ![]() ![]() ![]() | HumanName | |||
![]() ![]() ![]() ![]() ![]() | Identifier | |||
![]() ![]() ![]() ![]() ![]() | Money | |||
![]() ![]() ![]() ![]() ![]() | Period | |||
![]() ![]() ![]() ![]() ![]() | Quantity | |||
![]() ![]() ![]() ![]() ![]() | Range | |||
![]() ![]() ![]() ![]() ![]() | Ratio | |||
![]() ![]() ![]() ![]() ![]() | Reference(Any) | |||
![]() ![]() ![]() ![]() ![]() | SampledData | |||
![]() ![]() ![]() ![]() ![]() | Signature | |||
![]() ![]() ![]() ![]() ![]() | Timing | |||
![]() ![]() ![]() ![]() ![]() | ContactDetail | |||
![]() ![]() ![]() ![]() ![]() | Contributor | |||
![]() ![]() ![]() ![]() ![]() | DataRequirement | |||
![]() ![]() ![]() ![]() ![]() | Expression | |||
![]() ![]() ![]() ![]() ![]() | ParameterDefinition | |||
![]() ![]() ![]() ![]() ![]() | RelatedArtifact | |||
![]() ![]() ![]() ![]() ![]() | TriggerDefinition | |||
![]() ![]() ![]() ![]() ![]() | UsageContext | |||
![]() ![]() ![]() ![]() ![]() | Dosage | |||
![]() ![]() ![]() ![]() ![]() | Meta | |||
![]() ![]() ![]() ![]() ![]() | N | 0..1 | Reference(FrOrganization | FrPractitioner | FrPatient | RelatedPerson) | Value of extension |
![]() ![]() ![]() | ?!N | 0..* | Extension | Extensions that cannot be ignored Slice: Unordered, Open by value:url |
![]() ![]() ![]() | ?!ΣN | 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. |
![]() ![]() ![]() | CN | 1..* | BackboneElement | Participants involved in appointment |
![]() ![]() ![]() ![]() | ?!ΣN | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() | ΣN | 1..1 | code | accepted | declined | tentative | needs-action Binding: ParticipationStatus (required): The Participation status of an appointment. |
![]() |
Path | Conformance | ValueSet |
Appointment.status | required | AppointmentStatus |
Appointment.participant.status | required | ParticipationStatus |
Id | Grade | Path(s) | Details | Requirements |
app-1 | error | Appointment.participant | Either the type or actor on the participant SHALL be specified : type.exists() or actor.exists() | |
app-2 | error | Appointment | Either start and end are specified, or neither : start.exists() = end.exists() | |
app-3 | error | Appointment | Only proposed or cancelled appointments can be missing start/end dates : (start.exists() and end.exists()) or (status in ('proposed' | 'cancelled' | 'waitlist')) | |
app-4 | error | Appointment | Cancelation 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-2 | error | Appointment | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Appointment | 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 | Appointment | 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 | Appointment | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Appointment | 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** elements | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
Name | Flags | Card. | Type | Description & Constraints![]() | ||||
---|---|---|---|---|---|---|---|---|
![]() ![]() | C | 0..* | FrAppointment | 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) | ||||
![]() ![]() ![]() | Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() ![]() | ΣN | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() ![]() | ?!ΣN | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() ![]() | N | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| ||||
![]() ![]() ![]() | N | 0..1 | Narrative | Text summary of the resource, for human interpretation | ||||
![]() ![]() ![]() | 0..* | Resource | Contained, inline Resources | |||||
![]() ![]() ![]() | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | ||||
![]() ![]() ![]() | N | 0..1 | base64Binary, boolean, canonical(), code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference(), SampledData, Signature, Timing, ContactDetail, Contributor, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Dosage, Meta | Optional Extensions Element URL: http://interopsante.org/fhir/StructureDefinition/FrAppointmentOperator | ||||
![]() ![]() ![]() ![]() | 0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | ||||
![]() ![]() ![]() ![]() | 1..1 | uri | "http://interopsante.org/fhir/StructureDefinition/FrAppointmentOperator" | |||||
![]() ![]() ![]() ![]() | N | 0..1 | Value of extension Slice: Unordered, Open by type:$this | |||||
![]() ![]() ![]() ![]() ![]() | base64Binary | |||||||
![]() ![]() ![]() ![]() ![]() | boolean | |||||||
![]() ![]() ![]() ![]() ![]() | canonical(Any) | |||||||
![]() ![]() ![]() ![]() ![]() | code | |||||||
![]() ![]() ![]() ![]() ![]() | date | |||||||
![]() ![]() ![]() ![]() ![]() | dateTime | |||||||
![]() ![]() ![]() ![]() ![]() | decimal | |||||||
![]() ![]() ![]() ![]() ![]() | id | |||||||
![]() ![]() ![]() ![]() ![]() | instant | |||||||
![]() ![]() ![]() ![]() ![]() | integer | |||||||
![]() ![]() ![]() ![]() ![]() | markdown | |||||||
![]() ![]() ![]() ![]() ![]() | oid | |||||||
![]() ![]() ![]() ![]() ![]() | positiveInt | |||||||
![]() ![]() ![]() ![]() ![]() | string | |||||||
![]() ![]() ![]() ![]() ![]() | time | |||||||
![]() ![]() ![]() ![]() ![]() | unsignedInt | |||||||
![]() ![]() ![]() ![]() ![]() | uri | |||||||
![]() ![]() ![]() ![]() ![]() | url | |||||||
![]() ![]() ![]() ![]() ![]() | uuid | |||||||
![]() ![]() ![]() ![]() ![]() | Address | |||||||
![]() ![]() ![]() ![]() ![]() | Age | |||||||
![]() ![]() ![]() ![]() ![]() | Annotation | |||||||
![]() ![]() ![]() ![]() ![]() | Attachment | |||||||
![]() ![]() ![]() ![]() ![]() | CodeableConcept | |||||||
![]() ![]() ![]() ![]() ![]() | Coding | |||||||
![]() ![]() ![]() ![]() ![]() | ContactPoint | |||||||
![]() ![]() ![]() ![]() ![]() | Count | |||||||
![]() ![]() ![]() ![]() ![]() | Distance | |||||||
![]() ![]() ![]() ![]() ![]() | Duration | |||||||
![]() ![]() ![]() ![]() ![]() | HumanName | |||||||
![]() ![]() ![]() ![]() ![]() | Identifier | |||||||
![]() ![]() ![]() ![]() ![]() | Money | |||||||
![]() ![]() ![]() ![]() ![]() | Period | |||||||
![]() ![]() ![]() ![]() ![]() | Quantity | |||||||
![]() ![]() ![]() ![]() ![]() | Range | |||||||
![]() ![]() ![]() ![]() ![]() | Ratio | |||||||
![]() ![]() ![]() ![]() ![]() | Reference(Any) | |||||||
![]() ![]() ![]() ![]() ![]() | SampledData | |||||||
![]() ![]() ![]() ![]() ![]() | Signature | |||||||
![]() ![]() ![]() ![]() ![]() | Timing | |||||||
![]() ![]() ![]() ![]() ![]() | ContactDetail | |||||||
![]() ![]() ![]() ![]() ![]() | Contributor | |||||||
![]() ![]() ![]() ![]() ![]() | DataRequirement | |||||||
![]() ![]() ![]() ![]() ![]() | Expression | |||||||
![]() ![]() ![]() ![]() ![]() | ParameterDefinition | |||||||
![]() ![]() ![]() ![]() ![]() | RelatedArtifact | |||||||
![]() ![]() ![]() ![]() ![]() | TriggerDefinition | |||||||
![]() ![]() ![]() ![]() ![]() | UsageContext | |||||||
![]() ![]() ![]() ![]() ![]() | Dosage | |||||||
![]() ![]() ![]() ![]() ![]() | Meta | |||||||
![]() ![]() ![]() ![]() ![]() | N | 0..1 | Reference(FrOrganization | FrPractitioner | FrPatient | RelatedPerson) | Value of extension | ||||
![]() ![]() ![]() | ?!N | 0..* | Extension | Extensions that cannot be ignored Slice: Unordered, Open by value:url | ||||
![]() ![]() ![]() | ΣN | 0..* | Identifier | External Ids for this item | ||||
![]() ![]() ![]() | ?!ΣN | 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. | ||||
![]() ![]() ![]() | ΣN | 0..1 | CodeableConcept | The coded reason for the appointment being cancelled Binding: AppointmentCancellationReason (example) | ||||
![]() ![]() ![]() | ΣN | 0..* | CodeableConcept | A broad categorization of the service that is to be performed during this appointment Binding: ServiceCategory (example) | ||||
![]() ![]() ![]() | ΣN | 0..* | CodeableConcept | The specific service that is to be performed during this appointment Binding: ServiceType (example) | ||||
![]() ![]() ![]() | ΣN | 0..* | CodeableConcept | The specialty of a practitioner that would be required to perform the service requested in this appointment Binding: fr-practitioner-specialty (required) | ||||
![]() ![]() ![]() | ΣN | 0..1 | CodeableConcept | The style of appointment or patient that has been booked in the slot (not service type) Binding: hl7VS-appointmentReasonCodes (preferred) | ||||
![]() ![]() ![]() | ΣN | 0..* | CodeableConcept | Coded reason this appointment is scheduled Binding: EncounterReasonCodes (preferred): The Reason for the appointment to take place. | ||||
![]() ![]() ![]() | CN | 0..* | Reference(Condition | Procedure | Observation | ImmunizationRecommendation) | Reason the appointment is to take place (resource) | ||||
![]() ![]() ![]() | N | 0..1 | unsignedInt | Used to make informed decisions if needing to re-prioritize | ||||
![]() ![]() ![]() | N | 0..1 | string | Shown on a subject line in a meeting request, or appointment list | ||||
![]() ![]() ![]() | CN | 0..* | Reference(Resource) | Additional information to support the appointment | ||||
![]() ![]() ![]() | ΣN | 0..1 | instant | When appointment is to take place | ||||
![]() ![]() ![]() | ΣN | 0..1 | instant | When appointment is to conclude | ||||
![]() ![]() ![]() | N | 0..1 | positiveInt | Can be less than start/end (e.g. estimate) | ||||
![]() ![]() ![]() | CN | 0..* | Reference(FrSlot) | The slots that this appointment is filling | ||||
![]() ![]() ![]() | N | 0..1 | dateTime | The date that this appointment was initially created | ||||
![]() ![]() ![]() | N | 0..1 | string | Additional comments | ||||
![]() ![]() ![]() | N | 0..1 | string | Detailed information and instructions for the patient | ||||
![]() ![]() ![]() | CN | 0..* | Reference(ServiceRequest) | The service request this appointment is allocated to assess | ||||
![]() ![]() ![]() | CN | 1..* | BackboneElement | Participants involved in appointment | ||||
![]() ![]() ![]() ![]() | 0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | ||||
![]() ![]() ![]() ![]() | ?!ΣN | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() | ΣN | 0..* | CodeableConcept | Role of participant in the appointment Binding: ParticipantType (extensible): Role of participant in encounter. | ||||
![]() ![]() ![]() ![]() | ΣCN | 0..1 | Reference(Device | PractitionerRole | FrRelatedPerson | FrHealthcareService | FrPractitioner | FrPatient | FrLocation) | Person, Location/HealthcareService or Device | ||||
![]() ![]() ![]() ![]() | ΣN | 0..1 | code | required | optional | information-only Binding: ParticipantRequired (required): Is the Participant required to attend the appointment. | ||||
![]() ![]() ![]() ![]() | ΣN | 1..1 | code | accepted | declined | tentative | needs-action Binding: ParticipationStatus (required): The Participation status of an appointment. | ||||
![]() ![]() ![]() ![]() | CN | 0..1 | Period | Participation period of the actor | ||||
![]() ![]() ![]() | CN | 0..* | Period | Potential date/time interval(s) requested to allocate the appointment within | ||||
![]() |
Path | Conformance | ValueSet | ||||
Appointment.language | preferred | CommonLanguages
| ||||
Appointment.status | required | AppointmentStatus | ||||
Appointment.cancelationReason | example | AppointmentCancellationReason | ||||
Appointment.serviceCategory | example | ServiceCategory | ||||
Appointment.serviceType | example | ServiceType | ||||
Appointment.specialty | required | fr-practitioner-specialty (a valid code from https://mos.esante.gouv.fr/NOS/TRE_R38-SpecialiteOrdinale/FHIR/TRE-R38-SpecialiteOrdinale ) | ||||
Appointment.appointmentType | preferred | Hl7VSAppointmentReasonCodes | ||||
Appointment.reasonCode | preferred | EncounterReasonCodes | ||||
Appointment.participant.type | extensible | ParticipantType | ||||
Appointment.participant.required | required | ParticipantRequired | ||||
Appointment.participant.status | required | ParticipationStatus |
Id | Grade | Path(s) | Details | Requirements |
app-1 | error | Appointment.participant | Either the type or actor on the participant SHALL be specified : type.exists() or actor.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** elements | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
per-1 | error | Appointment.participant.period, Appointment.requestedPeriod | If present, start SHALL have a lower value than end : start.hasValue().not() or end.hasValue().not() or (start <= end) | |
ref-1 | error | Appointment.reasonReference, Appointment.supportingInformation, Appointment.slot, Appointment.basedOn, Appointment.participant.actor | SHALL have a contained resource if a local reference is provided : reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids')) |
This structure is derived from FrAppointment
Differential View
This structure is derived from FrAppointment
Name | Flags | Card. | Type | Description & Constraints![]() |
---|---|---|---|---|
![]() ![]() | 0..* | FrAppointment | 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) | |
![]() |
Key Elements View
Name | Flags | Card. | Type | Description & Constraints![]() |
---|---|---|---|---|
![]() ![]() | C | 0..* | FrAppointment | 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) |
![]() ![]() ![]() | ?!ΣN | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() ![]() | N | 0..1 | base64Binary, boolean, canonical(), code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference(), SampledData, Signature, Timing, ContactDetail, Contributor, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Dosage, Meta | Optional Extensions Element URL: http://interopsante.org/fhir/StructureDefinition/FrAppointmentOperator |
![]() ![]() ![]() ![]() | 1..1 | uri | "http://interopsante.org/fhir/StructureDefinition/FrAppointmentOperator" | |
![]() ![]() ![]() ![]() | N | 0..1 | Value of extension Slice: Unordered, Open by type:$this | |
![]() ![]() ![]() ![]() ![]() | base64Binary | |||
![]() ![]() ![]() ![]() ![]() | boolean | |||
![]() ![]() ![]() ![]() ![]() | canonical(Any) | |||
![]() ![]() ![]() ![]() ![]() | code | |||
![]() ![]() ![]() ![]() ![]() | date | |||
![]() ![]() ![]() ![]() ![]() | dateTime | |||
![]() ![]() ![]() ![]() ![]() | decimal | |||
![]() ![]() ![]() ![]() ![]() | id | |||
![]() ![]() ![]() ![]() ![]() | instant | |||
![]() ![]() ![]() ![]() ![]() | integer | |||
![]() ![]() ![]() ![]() ![]() | markdown | |||
![]() ![]() ![]() ![]() ![]() | oid | |||
![]() ![]() ![]() ![]() ![]() | positiveInt | |||
![]() ![]() ![]() ![]() ![]() | string | |||
![]() ![]() ![]() ![]() ![]() | time | |||
![]() ![]() ![]() ![]() ![]() | unsignedInt | |||
![]() ![]() ![]() ![]() ![]() | uri | |||
![]() ![]() ![]() ![]() ![]() | url | |||
![]() ![]() ![]() ![]() ![]() | uuid | |||
![]() ![]() ![]() ![]() ![]() | Address | |||
![]() ![]() ![]() ![]() ![]() | Age | |||
![]() ![]() ![]() ![]() ![]() | Annotation | |||
![]() ![]() ![]() ![]() ![]() | Attachment | |||
![]() ![]() ![]() ![]() ![]() | CodeableConcept | |||
![]() ![]() ![]() ![]() ![]() | Coding | |||
![]() ![]() ![]() ![]() ![]() | ContactPoint | |||
![]() ![]() ![]() ![]() ![]() | Count | |||
![]() ![]() ![]() ![]() ![]() | Distance | |||
![]() ![]() ![]() ![]() ![]() | Duration | |||
![]() ![]() ![]() ![]() ![]() | HumanName | |||
![]() ![]() ![]() ![]() ![]() | Identifier | |||
![]() ![]() ![]() ![]() ![]() | Money | |||
![]() ![]() ![]() ![]() ![]() | Period | |||
![]() ![]() ![]() ![]() ![]() | Quantity | |||
![]() ![]() ![]() ![]() ![]() | Range | |||
![]() ![]() ![]() ![]() ![]() | Ratio | |||
![]() ![]() ![]() ![]() ![]() | Reference(Any) | |||
![]() ![]() ![]() ![]() ![]() | SampledData | |||
![]() ![]() ![]() ![]() ![]() | Signature | |||
![]() ![]() ![]() ![]() ![]() | Timing | |||
![]() ![]() ![]() ![]() ![]() | ContactDetail | |||
![]() ![]() ![]() ![]() ![]() | Contributor | |||
![]() ![]() ![]() ![]() ![]() | DataRequirement | |||
![]() ![]() ![]() ![]() ![]() | Expression | |||
![]() ![]() ![]() ![]() ![]() | ParameterDefinition | |||
![]() ![]() ![]() ![]() ![]() | RelatedArtifact | |||
![]() ![]() ![]() ![]() ![]() | TriggerDefinition | |||
![]() ![]() ![]() ![]() ![]() | UsageContext | |||
![]() ![]() ![]() ![]() ![]() | Dosage | |||
![]() ![]() ![]() ![]() ![]() | Meta | |||
![]() ![]() ![]() ![]() ![]() | N | 0..1 | Reference(FrOrganization | FrPractitioner | FrPatient | RelatedPerson) | Value of extension |
![]() ![]() ![]() | ?!N | 0..* | Extension | Extensions that cannot be ignored Slice: Unordered, Open by value:url |
![]() ![]() ![]() | ?!ΣN | 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. |
![]() ![]() ![]() | CN | 1..* | BackboneElement | Participants involved in appointment |
![]() ![]() ![]() ![]() | ?!ΣN | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() | ΣN | 1..1 | code | accepted | declined | tentative | needs-action Binding: ParticipationStatus (required): The Participation status of an appointment. |
![]() |
Path | Conformance | ValueSet |
Appointment.status | required | AppointmentStatus |
Appointment.participant.status | required | ParticipationStatus |
Id | Grade | Path(s) | Details | Requirements |
app-1 | error | Appointment.participant | Either the type or actor on the participant SHALL be specified : type.exists() or actor.exists() | |
app-2 | error | Appointment | Either start and end are specified, or neither : start.exists() = end.exists() | |
app-3 | error | Appointment | Only proposed or cancelled appointments can be missing start/end dates : (start.exists() and end.exists()) or (status in ('proposed' | 'cancelled' | 'waitlist')) | |
app-4 | error | Appointment | Cancelation 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-2 | error | Appointment | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Appointment | 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 | Appointment | 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 | Appointment | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Appointment | 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** elements | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints![]() | ||||
---|---|---|---|---|---|---|---|---|
![]() ![]() | C | 0..* | FrAppointment | 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) | ||||
![]() ![]() ![]() | Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() ![]() | ΣN | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() ![]() | ?!ΣN | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() ![]() | N | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| ||||
![]() ![]() ![]() | N | 0..1 | Narrative | Text summary of the resource, for human interpretation | ||||
![]() ![]() ![]() | 0..* | Resource | Contained, inline Resources | |||||
![]() ![]() ![]() | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | ||||
![]() ![]() ![]() | N | 0..1 | base64Binary, boolean, canonical(), code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference(), SampledData, Signature, Timing, ContactDetail, Contributor, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Dosage, Meta | Optional Extensions Element URL: http://interopsante.org/fhir/StructureDefinition/FrAppointmentOperator | ||||
![]() ![]() ![]() ![]() | 0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | ||||
![]() ![]() ![]() ![]() | 1..1 | uri | "http://interopsante.org/fhir/StructureDefinition/FrAppointmentOperator" | |||||
![]() ![]() ![]() ![]() | N | 0..1 | Value of extension Slice: Unordered, Open by type:$this | |||||
![]() ![]() ![]() ![]() ![]() | base64Binary | |||||||
![]() ![]() ![]() ![]() ![]() | boolean | |||||||
![]() ![]() ![]() ![]() ![]() | canonical(Any) | |||||||
![]() ![]() ![]() ![]() ![]() | code | |||||||
![]() ![]() ![]() ![]() ![]() | date | |||||||
![]() ![]() ![]() ![]() ![]() | dateTime | |||||||
![]() ![]() ![]() ![]() ![]() | decimal | |||||||
![]() ![]() ![]() ![]() ![]() | id | |||||||
![]() ![]() ![]() ![]() ![]() | instant | |||||||
![]() ![]() ![]() ![]() ![]() | integer | |||||||
![]() ![]() ![]() ![]() ![]() | markdown | |||||||
![]() ![]() ![]() ![]() ![]() | oid | |||||||
![]() ![]() ![]() ![]() ![]() | positiveInt | |||||||
![]() ![]() ![]() ![]() ![]() | string | |||||||
![]() ![]() ![]() ![]() ![]() | time | |||||||
![]() ![]() ![]() ![]() ![]() | unsignedInt | |||||||
![]() ![]() ![]() ![]() ![]() | uri | |||||||
![]() ![]() ![]() ![]() ![]() | url | |||||||
![]() ![]() ![]() ![]() ![]() | uuid | |||||||
![]() ![]() ![]() ![]() ![]() | Address | |||||||
![]() ![]() ![]() ![]() ![]() | Age | |||||||
![]() ![]() ![]() ![]() ![]() | Annotation | |||||||
![]() ![]() ![]() ![]() ![]() | Attachment | |||||||
![]() ![]() ![]() ![]() ![]() | CodeableConcept | |||||||
![]() ![]() ![]() ![]() ![]() | Coding | |||||||
![]() ![]() ![]() ![]() ![]() | ContactPoint | |||||||
![]() ![]() ![]() ![]() ![]() | Count | |||||||
![]() ![]() ![]() ![]() ![]() | Distance | |||||||
![]() ![]() ![]() ![]() ![]() | Duration | |||||||
![]() ![]() ![]() ![]() ![]() | HumanName | |||||||
![]() ![]() ![]() ![]() ![]() | Identifier | |||||||
![]() ![]() ![]() ![]() ![]() | Money | |||||||
![]() ![]() ![]() ![]() ![]() | Period | |||||||
![]() ![]() ![]() ![]() ![]() | Quantity | |||||||
![]() ![]() ![]() ![]() ![]() | Range | |||||||
![]() ![]() ![]() ![]() ![]() | Ratio | |||||||
![]() ![]() ![]() ![]() ![]() | Reference(Any) | |||||||
![]() ![]() ![]() ![]() ![]() | SampledData | |||||||
![]() ![]() ![]() ![]() ![]() | Signature | |||||||
![]() ![]() ![]() ![]() ![]() | Timing | |||||||
![]() ![]() ![]() ![]() ![]() | ContactDetail | |||||||
![]() ![]() ![]() ![]() ![]() | Contributor | |||||||
![]() ![]() ![]() ![]() ![]() | DataRequirement | |||||||
![]() ![]() ![]() ![]() ![]() | Expression | |||||||
![]() ![]() ![]() ![]() ![]() | ParameterDefinition | |||||||
![]() ![]() ![]() ![]() ![]() | RelatedArtifact | |||||||
![]() ![]() ![]() ![]() ![]() | TriggerDefinition | |||||||
![]() ![]() ![]() ![]() ![]() | UsageContext | |||||||
![]() ![]() ![]() ![]() ![]() | Dosage | |||||||
![]() ![]() ![]() ![]() ![]() | Meta | |||||||
![]() ![]() ![]() ![]() ![]() | N | 0..1 | Reference(FrOrganization | FrPractitioner | FrPatient | RelatedPerson) | Value of extension | ||||
![]() ![]() ![]() | ?!N | 0..* | Extension | Extensions that cannot be ignored Slice: Unordered, Open by value:url | ||||
![]() ![]() ![]() | ΣN | 0..* | Identifier | External Ids for this item | ||||
![]() ![]() ![]() | ?!ΣN | 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. | ||||
![]() ![]() ![]() | ΣN | 0..1 | CodeableConcept | The coded reason for the appointment being cancelled Binding: AppointmentCancellationReason (example) | ||||
![]() ![]() ![]() | ΣN | 0..* | CodeableConcept | A broad categorization of the service that is to be performed during this appointment Binding: ServiceCategory (example) | ||||
![]() ![]() ![]() | ΣN | 0..* | CodeableConcept | The specific service that is to be performed during this appointment Binding: ServiceType (example) | ||||
![]() ![]() ![]() | ΣN | 0..* | CodeableConcept | The specialty of a practitioner that would be required to perform the service requested in this appointment Binding: fr-practitioner-specialty (required) | ||||
![]() ![]() ![]() | ΣN | 0..1 | CodeableConcept | The style of appointment or patient that has been booked in the slot (not service type) Binding: hl7VS-appointmentReasonCodes (preferred) | ||||
![]() ![]() ![]() | ΣN | 0..* | CodeableConcept | Coded reason this appointment is scheduled Binding: EncounterReasonCodes (preferred): The Reason for the appointment to take place. | ||||
![]() ![]() ![]() | CN | 0..* | Reference(Condition | Procedure | Observation | ImmunizationRecommendation) | Reason the appointment is to take place (resource) | ||||
![]() ![]() ![]() | N | 0..1 | unsignedInt | Used to make informed decisions if needing to re-prioritize | ||||
![]() ![]() ![]() | N | 0..1 | string | Shown on a subject line in a meeting request, or appointment list | ||||
![]() ![]() ![]() | CN | 0..* | Reference(Resource) | Additional information to support the appointment | ||||
![]() ![]() ![]() | ΣN | 0..1 | instant | When appointment is to take place | ||||
![]() ![]() ![]() | ΣN | 0..1 | instant | When appointment is to conclude | ||||
![]() ![]() ![]() | N | 0..1 | positiveInt | Can be less than start/end (e.g. estimate) | ||||
![]() ![]() ![]() | CN | 0..* | Reference(FrSlot) | The slots that this appointment is filling | ||||
![]() ![]() ![]() | N | 0..1 | dateTime | The date that this appointment was initially created | ||||
![]() ![]() ![]() | N | 0..1 | string | Additional comments | ||||
![]() ![]() ![]() | N | 0..1 | string | Detailed information and instructions for the patient | ||||
![]() ![]() ![]() | CN | 0..* | Reference(ServiceRequest) | The service request this appointment is allocated to assess | ||||
![]() ![]() ![]() | CN | 1..* | BackboneElement | Participants involved in appointment | ||||
![]() ![]() ![]() ![]() | 0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | ||||
![]() ![]() ![]() ![]() | ?!ΣN | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() | ΣN | 0..* | CodeableConcept | Role of participant in the appointment Binding: ParticipantType (extensible): Role of participant in encounter. | ||||
![]() ![]() ![]() ![]() | ΣCN | 0..1 | Reference(Device | PractitionerRole | FrRelatedPerson | FrHealthcareService | FrPractitioner | FrPatient | FrLocation) | Person, Location/HealthcareService or Device | ||||
![]() ![]() ![]() ![]() | ΣN | 0..1 | code | required | optional | information-only Binding: ParticipantRequired (required): Is the Participant required to attend the appointment. | ||||
![]() ![]() ![]() ![]() | ΣN | 1..1 | code | accepted | declined | tentative | needs-action Binding: ParticipationStatus (required): The Participation status of an appointment. | ||||
![]() ![]() ![]() ![]() | CN | 0..1 | Period | Participation period of the actor | ||||
![]() ![]() ![]() | CN | 0..* | Period | Potential date/time interval(s) requested to allocate the appointment within | ||||
![]() |
Path | Conformance | ValueSet | ||||
Appointment.language | preferred | CommonLanguages
| ||||
Appointment.status | required | AppointmentStatus | ||||
Appointment.cancelationReason | example | AppointmentCancellationReason | ||||
Appointment.serviceCategory | example | ServiceCategory | ||||
Appointment.serviceType | example | ServiceType | ||||
Appointment.specialty | required | fr-practitioner-specialty (a valid code from https://mos.esante.gouv.fr/NOS/TRE_R38-SpecialiteOrdinale/FHIR/TRE-R38-SpecialiteOrdinale ) | ||||
Appointment.appointmentType | preferred | Hl7VSAppointmentReasonCodes | ||||
Appointment.reasonCode | preferred | EncounterReasonCodes | ||||
Appointment.participant.type | extensible | ParticipantType | ||||
Appointment.participant.required | required | ParticipantRequired | ||||
Appointment.participant.status | required | ParticipationStatus |
Id | Grade | Path(s) | Details | Requirements |
app-1 | error | Appointment.participant | Either the type or actor on the participant SHALL be specified : type.exists() or actor.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** elements | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
per-1 | error | Appointment.participant.period, Appointment.requestedPeriod | If present, start SHALL have a lower value than end : start.hasValue().not() or end.hasValue().not() or (start <= end) | |
ref-1 | error | Appointment.reasonReference, Appointment.supportingInformation, Appointment.slot, Appointment.basedOn, Appointment.participant.actor | SHALL have a contained resource if a local reference is provided : reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids')) |
This structure is derived from FrAppointment
Other representations of profile: CSV, Excel, Schematron