## Profile Comparison between http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-appointment-with-order vs http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-appointment-with-order

Left: | CRDAppointmentWithOrder (http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-appointment-with-order)
Right: | CRD Appointment with Order (http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-appointment-with-order)

### Messages

Error | StructureDefinition.version | Values for version differ: '2.1.0' vs '2.2.0-snapshot'
Information | StructureDefinition.date | Values for date differ: '2024-12-11T18:49:53+00:00' vs '2026-02-19T15:54:35+00:00'
Warning | StructureDefinition.abstract | Values for abstract differ: 'true' vs 'false'
Information | Appointment.language | Example/preferred bindings differ at Appointment.language using binding from CRDAppointmentWithOrder
Information | StructureDefinition.comment | Values for comment differ: 'This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.' vs 'Any references found in this resource, with the exception of 'Patient' could potentially be resource-specific and thus transmitted as contained resources.'
Warning | Appointment.contained | Elements differ in definition for mustSupport: 'false' vs 'true'
Information | Appointment.specialty | Example/preferred bindings differ at Appointment.specialty using binding from CRDAppointmentWithOrder
Information | Appointment.reasonCode | Example/preferred bindings differ at Appointment.reasonCode using binding from CRDAppointmentWithOrder
Information | StructureDefinition.comment | Values for comment differ: 'potentially relevant for CRD in some situations.' vs 'Potentially relevant for CRD in some situations. Must Support only applies if the client supports the given type of order and also ties their appointments directly to that type of order.'
Error | Appointment.basedOn | Type Mismatch: Reference([CanonicalType[http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-servicerequest]]) vs Reference([CanonicalType[http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-servicerequest]])
Warning | Appointment.participant | Elements differ in definition for mustSupport: 'true' vs 'false'
Information | Appointment.participant | Element minimum cardinalities differ: '1' vs '2'
Information | StructureDefinition.short | Values for short differ: 'Patient, Practitioner or Location' vs 'Person, Location/HealthcareService or Device'

### Metadata

Name | Value | Comments
--- | --- | ---
abstract | true | false | Values Differ
baseDefinition | http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-appointment-base |
copyright |  |
date | 2024-12-11T18:49:53+00:00 | 2026-02-19T15:54:35+00:00 | Values Differ
description | An appointment where the details of what the appointment is being booked for are provided in the associated ServiceRequest |
experimental | false |
fhirVersion | 4.0.1 |
jurisdiction |  |
jurisdiction[0] | urn:iso:std:iso:3166#US |
kind | resource |
name | CRDAppointmentWithOrder |
publisher | HL7 International / Financial Management |
purpose |  |
status | active |
title |  | CRD Appointment with Order | Added the item 'CRD Appointment with Order'
type | Appointment |
url | http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-appointment-with-order |
version | 2.1.0 | 2.2.0-snapshot | Values Differ

### Structure

Name | L Flags | L Card. | L Type | L Description & Constraints | R Flags | R Card. | R Type | R Description & Constraints | Comments
--- | --- | --- | --- | --- | --- | --- | --- | --- | ---
Appointment | C | 0..* | CRDAppointmentBase | This is an abstract profile. 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) | C | 0..* | CRDAppointmentBase | 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) |
id | Σ | 0..1 | id | Logical id of this artifact | Σ | 0..1 | id | Logical id of this artifact |
meta | Σ | 0..1 | Meta | Metadata about the resource | Σ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language |  | 0..1 | code | Language of the resource content Binding: ?? (preferred): A human language.
Additional Bindings | Purpose
?? | Max Binding
|  | 0..1 | code | Language of the resource content Binding: ?? (preferred): A human language.
Additional Bindings | Purpose
?? | Max Binding
| Example/preferred bindings differ at Appointment.language using binding from CRDAppointmentWithOrder
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 |  | 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 | S | 0..* | Resource | Contained, inline Resources | Elements differ in definition for mustSupport: 'false' vs 'true'
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier | Σ | 0..* | Identifier | External Ids for this item | Σ | 0..* | Identifier | External Ids for this item |
status | ?!S Σ | 1..1 | code | Appointment status Binding: ?? (required): The free/busy status of an appointment. Example General: proposed | ?!S Σ | 1..1 | code | Appointment status Binding: ?? (required): The free/busy status of an appointment. Example General: proposed |
cancelationReason | Σ | 0..1 | CodeableConcept | The coded reason for the appointment being cancelled Binding: ?? (example) | Σ | 0..1 | CodeableConcept | The coded reason for the appointment being cancelled Binding: ?? (example) |
serviceCategory | Σ | 0..* | CodeableConcept | A broad categorization of the service that is to be performed during this appointment Binding: ?? (example) | Σ | 0..* | CodeableConcept | A broad categorization of the service that is to be performed during this appointment Binding: ?? (example) |
serviceType | Σ | 0..* | CodeableConcept | The specific service that is to be performed during this appointment Binding: ?? (example) | Σ | 0..* | CodeableConcept | The specific service that is to be performed during this appointment Binding: ?? (example) |
specialty | Σ | 0..* | CodeableConcept | The specialty of a practitioner that would be required to perform the service requested in this appointment Binding: ?? (preferred) | Σ | 0..* | CodeableConcept | The specialty of a practitioner that would be required to perform the service requested in this appointment Binding: ?? (preferred) | Example/preferred bindings differ at Appointment.specialty using binding from CRDAppointmentWithOrder
appointmentType | Σ | 0..1 | CodeableConcept | The style of appointment or patient that has been booked in the slot (not service type) Binding: ?? (preferred) | Σ | 0..1 | CodeableConcept | The style of appointment or patient that has been booked in the slot (not service type) Binding: ?? (preferred) |
reasonCode | Σ | 0..* | CodeableConcept | Coded reason this appointment is scheduled Binding: ?? (preferred): The Reason for the appointment to take place. | Σ | 0..* | CodeableConcept | Coded reason this appointment is scheduled Binding: ?? (preferred): The Reason for the appointment to take place. | Example/preferred bindings differ at Appointment.reasonCode using binding from CRDAppointmentWithOrder
reasonReference |  | 0..* | Reference(Condition | Procedure | Observation | ImmunizationRecommendation) | Reason the appointment is to take place (resource) |  | 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 |  | 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 |  | 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 |  | 0..* | Reference(Resource) | Additional information to support the appointment |
start | S Σ C | 0..1 | instant | When appointment is to take place | S Σ C | 0..1 | instant | When appointment is to take place |
end | S Σ C | 0..1 | instant | When appointment is to conclude | S Σ C | 0..1 | instant | When appointment is to conclude |
minutesDuration |  | 0..1 | positiveInt | Can be less than start/end (e.g. estimate) |  | 0..1 | positiveInt | Can be less than start/end (e.g. estimate) |
slot |  | 0..* | Reference(Slot) | The slots that this appointment is filling |  | 0..* | Reference(Slot) | The slots that this appointment is filling |
created |  | 0..1 | dateTime | The date that this appointment was initially created |  | 0..1 | dateTime | The date that this appointment was initially created |
comment |  | 0..1 | string | Additional comments |  | 0..1 | string | Additional comments |
patientInstruction |  | 0..1 | string | Detailed information and instructions for the patient |  | 0..1 | string | Detailed information and instructions for the patient |
basedOn | S | 1..* | Reference(CRD Service Request) | The service request this appointment is allocated to assess | S | 1..* | Reference(CRD Service Request) | The service request this appointment is allocated to assess | Type Mismatch: Reference([CanonicalType[http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-servicerequest]]) vs Reference([CanonicalType[http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-servicerequest]])
id |  |  |  |  |  | 0..1 | string | Unique id for inter-element referencing | Added this element
Slices for extension |  |  |  |  |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | Added this element
reference |  |  |  |  | Σ C | 0..1 | string | Literal reference, Relative, internal or absolute URL | Added this element
type |  |  |  |  | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ?? (extensible): Aa resource (or, for logical models, the URI of the logical model). | Added this element
identifier |  |  |  |  | Σ | 0..1 | Identifier | Logical reference, when literal reference is not known | Added this element
display |  |  |  |  | Σ | 0..1 | string | Text alternative for the resource | Added this element
participant | S C | 1..* | BackboneElement | Participants involved in appointment | C | 2..* | BackboneElement | Participants involved in appointment Slice: Unordered, Open by value:type, profile:actor.resolve() | Elements differ in definition for mustSupport: 'true' vs 'false' Element minimum cardinalities differ: '1' vs '2'
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
type | Σ | 0..* | CodeableConcept | Role of participant in the appointment Binding: ?? (extensible): Role of participant in encounter. | Σ | 0..* | CodeableConcept | Role of participant in the appointment Binding: ?? (extensible): Role of participant in encounter. |
actor | S Σ | 0..1 | Reference(CRD Patient | US Core Practitioner Profile(7.0.0) | US Core PractitionerRole Profile(7.0.0) | CRD Location) | Patient, Practitioner or Location | S Σ | 0..1 | Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Device | HealthcareService | Location) | Person, Location/HealthcareService or Device |
required | Σ | 0..1 | code | required | optional | information-only Binding: ?? (required): Is the Participant required to attend the appointment. | Σ | 0..1 | code | required | optional | information-only Binding: ?? (required): Is the Participant required to attend the appointment. |
status | S Σ | 1..1 | code | accepted | declined | tentative | needs-action Binding: ?? (required): The Participation status of an appointment. | S Σ | 1..1 | code | accepted | declined | tentative | needs-action Binding: ?? (required): The Participation status of an appointment. |
period |  | 0..1 | Period | Participation period of the actor |  | 0..1 | Period | Participation period of the actor |
requestedPeriod | S C | 0..1 | Period | Potential date/time interval(s) requested to allocate the appointment within | S C | 0..1 | Period | Potential date/time interval(s) requested to allocate the appointment within |
Documentation for this format