0.1.4 - draft

Resource Profile: Naboto Appointment Profile

Defining URL:http://fhir.naboto.com/StructureDefinition/naboto-appointment
Version:0.1.4
Name:NabotoAppointment
Title:Naboto Appointment Profile
Status:Active as of 2022-11-03 01:30:17+0000
Definition:

Naboto Profile for appointment data. The Naboto Appointment is based upon the Appointment Resource.

Publisher:Naboto Software GmbH
Source Resource:XML / JSON / Turtle

The official URL for this profile is:

http://fhir.naboto.com/StructureDefinition/naboto-appointment

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from Appointment

Summary

Mandatory: 5 elements (1 nested mandatory element)
Must-Support: 5 elements
Fixed Value: 7 elements
Prohibited: 18 elements

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element Appointment.participant is sliced based on the value of value:actor.type

This structure is derived from Appointment

NameFlagsCard.TypeDescription & Constraintsdoco
.. Appointment 0..*AppointmentA 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)
... language 0..0
... contained 0..0
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... status S1..1codebooked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in
Binding: NabotoAppointmentStatus (required)
... cancelationReason 0..0
... serviceCategory 0..0
... serviceType 0..0
... specialty 0..0
... appointmentType 0..0
... reasonCode 0..0
... reasonReference 0..0
... priority 0..0
... supportingInformation 0..0
... start S1..1instantWhen appointment is to take place
... end S1..1instantWhen appointment is to conclude
... minutesDuration 0..0
... slot 0..0
... comment 0..0
... patientInstruction 0..0
... basedOn 0..0
... Slices for participant S2..*BackboneElementParticipants involved in appointment
Slice: Unordered, Open by value:actor.type
.... participant:All Slices Content/Rules for all slices
..... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
..... virtualService 0..1(Complex)VirtualServiceContactDetail
URL: http://fhir.naboto.com/StructureDefinition/virtual-service-contact-detail
..... actor 0..1Reference(Patient | Practitioner)Practitioner and/or Patient participating in appointment. Exactly one Patient and at least 1 Practitioner is required
..... period 0..0
.... participant:patient 1..1BackboneElementParticipants involved in appointment
..... type 0..*CodeableConceptRole of participant in the appointment
Fixed Value: As shown (subject)
...... coding1..1CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ParticipationType
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: SBJ
..... actor 1..1Reference(Patient)Patient participating in appointment. Exactly 1 Patient is required
...... type 1..1uriType the reference refers to (e.g. "Patient")
Fixed Value: Patient
..... status 1..1codeaccepted | declined | tentative | needs-action
Fixed Value: accepted
.... participant:practitioner S0..*BackboneElementParticipants involved in appointment
..... type 0..*CodeableConceptRole of participant in the appointment
Fixed Value: As shown (primary performer)
...... coding1..1CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ParticipationType
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: PPRF
..... actor 0..1Reference(Practitioner)Practitioner participating in appointment. A default practitioner will be automatically assigned to the Appointment if none is present.
...... type 1..1uriType the reference refers to (e.g. "Patient")
Fixed Value: Practitioner
..... required 0..1coderequired | optional | information-only
Fixed Value: required
..... status 1..1codeaccepted | declined | tentative | needs-action
Fixed Value: accepted
... requestedPeriod 0..0

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Appointment C0..*AppointmentA 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..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... note 0..*(Complex)NabotoNote
URL: http://fhir.naboto.com/StructureDefinition/naboto-note
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal Ids for this item
... status ?!SΣ1..1codebooked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in
Binding: NabotoAppointmentStatus (required)
... description 0..1stringShown on a subject line in a meeting request, or appointment list
... start SΣ1..1instantWhen appointment is to take place
... end SΣ1..1instantWhen appointment is to conclude
... created 0..1dateTimeThe date that this appointment was initially created
... Slices for participant SC2..*BackboneElementParticipants involved in appointment
Slice: Unordered, Open by value:actor.type
.... participant:All Slices Content/Rules for all slices
..... id 0..1stringUnique id for inter-element referencing
..... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
..... virtualService 0..1(Complex)VirtualServiceContactDetail
URL: http://fhir.naboto.com/StructureDefinition/virtual-service-contact-detail
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type Σ0..*CodeableConceptRole of participant in the appointment
Binding: ParticipantType (extensible): Role of participant in encounter.


..... actor Σ0..1Reference(Patient | Practitioner)Practitioner and/or Patient participating in appointment. Exactly one Patient and at least 1 Practitioner is required
..... required Σ0..1coderequired | optional | information-only
Binding: ParticipantRequired (required): Is the Participant required to attend the appointment.

..... status Σ1..1codeaccepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.

.... participant:patient C1..1BackboneElementParticipants involved in appointment
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type Σ0..*CodeableConceptRole of participant in the appointment
Binding: ParticipantType (extensible): Role of participant in encounter.



Fixed Value: As shown (subject)
...... id0..0idUnique id for inter-element referencing
...... extension0..0ExtensionAdditional content defined by implementations
...... coding1..1CodingCode defined by a terminology system
Fixed Value: (complex)
....... id0..0idUnique id for inter-element referencing
....... extension0..0ExtensionAdditional content defined by implementations
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ParticipationType
....... version0..0stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: SBJ
....... display0..0stringRepresentation defined by the system
....... userSelected0..0booleanIf this coding was chosen directly by the user
...... text0..0stringPlain text representation of the concept
..... actor Σ1..1Reference(Patient)Patient participating in appointment. Exactly 1 Patient is required
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... reference ΣC0..1stringLiteral reference, Relative, internal or absolute URL
...... type Σ1..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).


Fixed Value: Patient
...... identifier Σ0..1IdentifierLogical reference, when literal reference is not known
...... display Σ0..1stringText alternative for the resource
..... required Σ0..1coderequired | optional | information-only
Binding: ParticipantRequired (required): Is the Participant required to attend the appointment.

..... status Σ1..1codeaccepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.


Fixed Value: accepted
..... period 0..1PeriodParticipation period of the actor
.... participant:practitioner SC0..*BackboneElementParticipants involved in appointment
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type Σ0..*CodeableConceptRole of participant in the appointment
Binding: ParticipantType (extensible): Role of participant in encounter.



Fixed Value: As shown (primary performer)
...... id0..0idUnique id for inter-element referencing
...... extension0..0ExtensionAdditional content defined by implementations
...... coding1..1CodingCode defined by a terminology system
Fixed Value: (complex)
....... id0..0idUnique id for inter-element referencing
....... extension0..0ExtensionAdditional content defined by implementations
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ParticipationType
....... version0..0stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: PPRF
....... display0..0stringRepresentation defined by the system
....... userSelected0..0booleanIf this coding was chosen directly by the user
...... text0..0stringPlain text representation of the concept
..... actor Σ0..1Reference(Practitioner)Practitioner participating in appointment. A default practitioner will be automatically assigned to the Appointment if none is present.
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... reference ΣC0..1stringLiteral reference, Relative, internal or absolute URL
...... type Σ1..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).


Fixed Value: Practitioner
...... identifier Σ0..1IdentifierLogical reference, when literal reference is not known
...... display Σ0..1stringText alternative for the resource
..... required Σ0..1coderequired | optional | information-only
Binding: ParticipantRequired (required): Is the Participant required to attend the appointment.


Fixed Value: required
..... status Σ1..1codeaccepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.


Fixed Value: accepted
..... period 0..1PeriodParticipation period of the actor

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Appointment C0..*AppointmentA 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)
... status ?!Σ1..1codebooked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in
Binding: NabotoAppointmentStatus (required)
... start Σ1..1instantWhen appointment is to take place
... end Σ1..1instantWhen appointment is to conclude
.... participant:practitioner C0..*BackboneElementParticipants involved in appointment

doco Documentation for this format

This structure is derived from Appointment

Summary

Mandatory: 5 elements (1 nested mandatory element)
Must-Support: 5 elements
Fixed Value: 7 elements
Prohibited: 18 elements

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element Appointment.participant is sliced based on the value of value:actor.type

Differential View

This structure is derived from Appointment

NameFlagsCard.TypeDescription & Constraintsdoco
.. Appointment 0..*AppointmentA 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)
... language 0..0
... contained 0..0
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... status S1..1codebooked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in
Binding: NabotoAppointmentStatus (required)
... cancelationReason 0..0
... serviceCategory 0..0
... serviceType 0..0
... specialty 0..0
... appointmentType 0..0
... reasonCode 0..0
... reasonReference 0..0
... priority 0..0
... supportingInformation 0..0
... start S1..1instantWhen appointment is to take place
... end S1..1instantWhen appointment is to conclude
... minutesDuration 0..0
... slot 0..0
... comment 0..0
... patientInstruction 0..0
... basedOn 0..0
... Slices for participant S2..*BackboneElementParticipants involved in appointment
Slice: Unordered, Open by value:actor.type
.... participant:All Slices Content/Rules for all slices
..... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
..... virtualService 0..1(Complex)VirtualServiceContactDetail
URL: http://fhir.naboto.com/StructureDefinition/virtual-service-contact-detail
..... actor 0..1Reference(Patient | Practitioner)Practitioner and/or Patient participating in appointment. Exactly one Patient and at least 1 Practitioner is required
..... period 0..0
.... participant:patient 1..1BackboneElementParticipants involved in appointment
..... type 0..*CodeableConceptRole of participant in the appointment
Fixed Value: As shown (subject)
...... coding1..1CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ParticipationType
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: SBJ
..... actor 1..1Reference(Patient)Patient participating in appointment. Exactly 1 Patient is required
...... type 1..1uriType the reference refers to (e.g. "Patient")
Fixed Value: Patient
..... status 1..1codeaccepted | declined | tentative | needs-action
Fixed Value: accepted
.... participant:practitioner S0..*BackboneElementParticipants involved in appointment
..... type 0..*CodeableConceptRole of participant in the appointment
Fixed Value: As shown (primary performer)
...... coding1..1CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ParticipationType
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: PPRF
..... actor 0..1Reference(Practitioner)Practitioner participating in appointment. A default practitioner will be automatically assigned to the Appointment if none is present.
...... type 1..1uriType the reference refers to (e.g. "Patient")
Fixed Value: Practitioner
..... required 0..1coderequired | optional | information-only
Fixed Value: required
..... status 1..1codeaccepted | declined | tentative | needs-action
Fixed Value: accepted
... requestedPeriod 0..0

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Appointment C0..*AppointmentA 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..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... note 0..*(Complex)NabotoNote
URL: http://fhir.naboto.com/StructureDefinition/naboto-note
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal Ids for this item
... status ?!SΣ1..1codebooked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in
Binding: NabotoAppointmentStatus (required)
... description 0..1stringShown on a subject line in a meeting request, or appointment list
... start SΣ1..1instantWhen appointment is to take place
... end SΣ1..1instantWhen appointment is to conclude
... created 0..1dateTimeThe date that this appointment was initially created
... Slices for participant SC2..*BackboneElementParticipants involved in appointment
Slice: Unordered, Open by value:actor.type
.... participant:All Slices Content/Rules for all slices
..... id 0..1stringUnique id for inter-element referencing
..... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
..... virtualService 0..1(Complex)VirtualServiceContactDetail
URL: http://fhir.naboto.com/StructureDefinition/virtual-service-contact-detail
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type Σ0..*CodeableConceptRole of participant in the appointment
Binding: ParticipantType (extensible): Role of participant in encounter.


..... actor Σ0..1Reference(Patient | Practitioner)Practitioner and/or Patient participating in appointment. Exactly one Patient and at least 1 Practitioner is required
..... required Σ0..1coderequired | optional | information-only
Binding: ParticipantRequired (required): Is the Participant required to attend the appointment.

..... status Σ1..1codeaccepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.

.... participant:patient C1..1BackboneElementParticipants involved in appointment
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type Σ0..*CodeableConceptRole of participant in the appointment
Binding: ParticipantType (extensible): Role of participant in encounter.



Fixed Value: As shown (subject)
...... id0..0idUnique id for inter-element referencing
...... extension0..0ExtensionAdditional content defined by implementations
...... coding1..1CodingCode defined by a terminology system
Fixed Value: (complex)
....... id0..0idUnique id for inter-element referencing
....... extension0..0ExtensionAdditional content defined by implementations
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ParticipationType
....... version0..0stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: SBJ
....... display0..0stringRepresentation defined by the system
....... userSelected0..0booleanIf this coding was chosen directly by the user
...... text0..0stringPlain text representation of the concept
..... actor Σ1..1Reference(Patient)Patient participating in appointment. Exactly 1 Patient is required
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... reference ΣC0..1stringLiteral reference, Relative, internal or absolute URL
...... type Σ1..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).


Fixed Value: Patient
...... identifier Σ0..1IdentifierLogical reference, when literal reference is not known
...... display Σ0..1stringText alternative for the resource
..... required Σ0..1coderequired | optional | information-only
Binding: ParticipantRequired (required): Is the Participant required to attend the appointment.

..... status Σ1..1codeaccepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.


Fixed Value: accepted
..... period 0..1PeriodParticipation period of the actor
.... participant:practitioner SC0..*BackboneElementParticipants involved in appointment
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type Σ0..*CodeableConceptRole of participant in the appointment
Binding: ParticipantType (extensible): Role of participant in encounter.



Fixed Value: As shown (primary performer)
...... id0..0idUnique id for inter-element referencing
...... extension0..0ExtensionAdditional content defined by implementations
...... coding1..1CodingCode defined by a terminology system
Fixed Value: (complex)
....... id0..0idUnique id for inter-element referencing
....... extension0..0ExtensionAdditional content defined by implementations
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ParticipationType
....... version0..0stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: PPRF
....... display0..0stringRepresentation defined by the system
....... userSelected0..0booleanIf this coding was chosen directly by the user
...... text0..0stringPlain text representation of the concept
..... actor Σ0..1Reference(Practitioner)Practitioner participating in appointment. A default practitioner will be automatically assigned to the Appointment if none is present.
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... reference ΣC0..1stringLiteral reference, Relative, internal or absolute URL
...... type Σ1..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).


Fixed Value: Practitioner
...... identifier Σ0..1IdentifierLogical reference, when literal reference is not known
...... display Σ0..1stringText alternative for the resource
..... required Σ0..1coderequired | optional | information-only
Binding: ParticipantRequired (required): Is the Participant required to attend the appointment.


Fixed Value: required
..... status Σ1..1codeaccepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.


Fixed Value: accepted
..... period 0..1PeriodParticipation period of the actor

doco Documentation for this format

 

Other representations of profile: CSV, Excel, Schematron

Terminology Bindings

PathConformanceValueSet / Code
Appointment.statusrequiredNabotoAppointmentStatus
Appointment.participant.typeextensibleParticipantType
Appointment.participant.requiredrequiredParticipantRequired
Appointment.participant.statusrequiredParticipationStatus
Appointment.participant:patient.typeextensibleFixed Value: SBJ
Appointment.participant:patient.actor.typeextensibleFixed Value: Patient
Appointment.participant:patient.requiredrequiredParticipantRequired
Appointment.participant:patient.statusrequiredFixed Value: accepted
Appointment.participant:practitioner.typeextensibleFixed Value: PPRF
Appointment.participant:practitioner.actor.typeextensibleFixed Value: Practitioner
Appointment.participant:practitioner.requiredrequiredFixed Value: required
Appointment.participant:practitioner.statusrequiredFixed Value: accepted

Constraints

IdGradePath(s)DetailsRequirements
app-1errorAppointment.participant, Appointment.participant:patient, Appointment.participant:practitionerEither the type or actor on the participant SHALL be specified
: type.exists() or actor.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()