{
"description": null,
"_filename": "profile-appointment.StructureDefinition.json",
"package_name": "synapxe.sgcdi",
"date": null,
"derivation": "constraint",
"publisher": null,
"fhirVersion": "5.0.0",
"name": "Appointment",
"abstract": false,
"type": "Appointment",
"experimental": null,
"resourceType": "StructureDefinition",
"title": null,
"package_version": "1.0.7",
"status": "active",
"id": "d1a123fe-0e51-4c36-9221-8d22c3e9e726",
"kind": "resource",
"url": "https://fhir.synapxe.sg/StructureDefinition/profile-appointment",
"version": null,
"differential": {
"element": [ {
"id": "Appointment.contained",
"path": "Appointment.contained",
"slicing": {
"rules": "open",
"discriminator": [ {
"path": "resolve()",
"type": "profile"
} ]
}
}, {
"id": "Appointment.contained:Organization",
"max": "1",
"path": "Appointment.contained",
"type": [ {
"code": "Resource",
"profile": [ "https://fhir.synapxe.sg/StructureDefinition/profile-organization" ]
} ],
"sliceName": "Organization"
}, {
"id": "Appointment.contained:Practitioner",
"path": "Appointment.contained",
"type": [ {
"code": "Resource",
"profile": [ "https://fhir.synapxe.sg/StructureDefinition/profile-practitioner" ]
} ],
"sliceName": "Practitioner"
}, {
"id": "Appointment.contained:Location",
"path": "Appointment.contained",
"type": [ {
"code": "Resource",
"profile": [ "https://fhir.synapxe.sg/StructureDefinition/profile-location" ]
} ],
"sliceName": "Location"
}, {
"id": "Appointment.contained:ServiceRequest",
"max": "1",
"path": "Appointment.contained",
"type": [ {
"code": "Resource",
"profile": [ "https://fhir.synapxe.sg/StructureDefinition/profile-servicerequest" ]
} ],
"sliceName": "ServiceRequest"
}, {
"id": "Appointment.extension:group",
"max": "1",
"path": "Appointment.extension",
"type": [ {
"code": "Extension",
"profile": [ "https://fhir.synapxe.sg/StructureDefinition/ext-generic" ]
} ],
"sliceName": "group"
}, {
"id": "Appointment.extension:group.value[x]",
"path": "Appointment.extension.value[x]",
"type": [ {
"code": "string"
} ]
}, {
"id": "Appointment.identifier",
"min": 1,
"path": "Appointment.identifier",
"slicing": {
"rules": "open",
"discriminator": [ {
"path": "$this",
"type": "value"
} ]
}
}, {
"id": "Appointment.identifier.id",
"max": "0",
"path": "Appointment.identifier.id"
}, {
"id": "Appointment.identifier.extension",
"max": "0",
"path": "Appointment.identifier.extension"
}, {
"id": "Appointment.identifier.use",
"max": "0",
"path": "Appointment.identifier.use"
}, {
"id": "Appointment.identifier.type",
"max": "0",
"path": "Appointment.identifier.type"
}, {
"id": "Appointment.identifier.system",
"min": 1,
"path": "Appointment.identifier.system",
"fixedUri": "https://fhir.synapxe.sg/NamingSystem/appointment-identifier"
}, {
"id": "Appointment.identifier.value",
"min": 1,
"path": "Appointment.identifier.value"
}, {
"id": "Appointment.identifier.period",
"max": "0",
"path": "Appointment.identifier.period"
}, {
"id": "Appointment.identifier.assigner",
"max": "0",
"path": "Appointment.identifier.assigner"
}, {
"id": "Appointment.identifier:recordIdentifier",
"max": "1",
"min": 1,
"path": "Appointment.identifier",
"sliceName": "recordIdentifier"
}, {
"id": "Appointment.identifier:recordIdentifier.id",
"max": "0",
"path": "Appointment.identifier.id"
}, {
"id": "Appointment.identifier:recordIdentifier.extension",
"max": "0",
"path": "Appointment.identifier.extension"
}, {
"id": "Appointment.identifier:recordIdentifier.use",
"max": "0",
"path": "Appointment.identifier.use"
}, {
"id": "Appointment.identifier:recordIdentifier.type",
"max": "0",
"path": "Appointment.identifier.type"
}, {
"id": "Appointment.identifier:recordIdentifier.system",
"min": 1,
"path": "Appointment.identifier.system",
"fixedUri": "https://fhir.synapxe.sg/NamingSystem/record-identifier"
}, {
"id": "Appointment.identifier:recordIdentifier.value",
"min": 1,
"path": "Appointment.identifier.value"
}, {
"id": "Appointment.identifier:recordIdentifier.period",
"max": "0",
"path": "Appointment.identifier.period"
}, {
"id": "Appointment.identifier:recordIdentifier.assigner",
"max": "0",
"path": "Appointment.identifier.assigner"
}, {
"id": "Appointment.identifier:appointmentIdentifier",
"max": "1",
"min": 1,
"path": "Appointment.identifier",
"sliceName": "appointmentIdentifier"
}, {
"id": "Appointment.identifier:appointmentIdentifier.id",
"max": "0",
"path": "Appointment.identifier.id"
}, {
"id": "Appointment.identifier:appointmentIdentifier.extension",
"max": "0",
"path": "Appointment.identifier.extension"
}, {
"id": "Appointment.identifier:appointmentIdentifier.use",
"max": "0",
"path": "Appointment.identifier.use"
}, {
"id": "Appointment.identifier:appointmentIdentifier.type",
"max": "0",
"path": "Appointment.identifier.type"
}, {
"id": "Appointment.identifier:appointmentIdentifier.system",
"min": 1,
"path": "Appointment.identifier.system",
"fixedUri": "https://fhir.synapxe.sg/NamingSystem/appointment-identifier"
}, {
"id": "Appointment.identifier:appointmentIdentifier.value",
"min": 1,
"path": "Appointment.identifier.value"
}, {
"id": "Appointment.identifier:appointmentIdentifier.period",
"max": "0",
"path": "Appointment.identifier.period"
}, {
"id": "Appointment.identifier:appointmentIdentifier.assigner",
"max": "0",
"path": "Appointment.identifier.assigner"
}, {
"id": "Appointment.status",
"path": "Appointment.status",
"example": [ {
"label": "Booked",
"valueCode": "booked"
} ]
}, {
"id": "Appointment.cancellationReason",
"path": "Appointment.cancellationReason",
"type": [ {
"code": "CodeableConcept",
"profile": [ "https://fhir.synapxe.sg/StructureDefinition/profile-codeableconcept" ]
} ],
"short": "Concept - reference to a terminology or just text",
"binding": {
"strength": "required",
"valueSet": "https://fhir.synapxe.sg/ValueSet/reasonforcancellation"
},
"definition": "A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text."
}, {
"id": "Appointment.cancellationReason.extension",
"max": "0",
"path": "Appointment.cancellationReason.extension"
}, {
"id": "Appointment.cancellationReason.coding.system",
"path": "Appointment.cancellationReason.coding.system",
"fixedUri": "https://fhir.synapxe.sg/CodeSystem/reasonforcancellation"
}, {
"id": "Appointment.cancellationReason.coding.code",
"path": "Appointment.cancellationReason.coding.code",
"example": [ {
"label": "Patient Initiated",
"valueCode": "PATI"
} ]
}, {
"id": "Appointment.class",
"max": "0",
"path": "Appointment.class",
"short": "inpatient | outpatient"
}, {
"id": "Appointment.class.id",
"max": "0",
"path": "Appointment.class.id"
}, {
"id": "Appointment.class.extension",
"max": "0",
"path": "Appointment.class.extension"
}, {
"id": "Appointment.class.coding",
"max": "1",
"min": 1,
"path": "Appointment.class.coding"
}, {
"id": "Appointment.class.coding.id",
"max": "0",
"path": "Appointment.class.coding.id"
}, {
"id": "Appointment.class.coding.extension",
"max": "0",
"path": "Appointment.class.coding.extension"
}, {
"id": "Appointment.class.coding.system",
"min": 1,
"path": "Appointment.class.coding.system",
"patternUri": "https://fhir.synapxe.sg/CodeSystem/patienttype"
}, {
"id": "Appointment.class.coding.version",
"max": "0",
"path": "Appointment.class.coding.version"
}, {
"id": "Appointment.class.coding.code",
"min": 1,
"path": "Appointment.class.coding.code"
}, {
"id": "Appointment.class.coding.display",
"min": 1,
"path": "Appointment.class.coding.display"
}, {
"id": "Appointment.class.coding.userSelected",
"max": "0",
"path": "Appointment.class.coding.userSelected"
}, {
"id": "Appointment.class.text",
"max": "0",
"path": "Appointment.class.text"
}, {
"id": "Appointment.serviceCategory",
"max": "1",
"path": "Appointment.serviceCategory",
"type": [ {
"code": "CodeableConcept",
"profile": [ "https://fhir.synapxe.sg/StructureDefinition/profile-codeableconcept" ]
} ],
"short": "Patient type code",
"binding": {
"strength": "required",
"valueSet": "https://fhir.synapxe.sg/ValueSet/patient-type"
},
"definition": "Patient type code: Inpatient or Outpatient"
}, {
"id": "Appointment.serviceCategory.extension",
"max": "0",
"path": "Appointment.serviceCategory.extension"
}, {
"id": "Appointment.serviceCategory.coding.system",
"path": "Appointment.serviceCategory.coding.system",
"fixedUri": "https://fhir.synapxe.sg/CodeSystem/patient-type"
}, {
"id": "Appointment.serviceCategory.coding.code",
"path": "Appointment.serviceCategory.coding.code",
"example": [ {
"label": "Inpatient",
"valueCode": "I"
}, {
"label": "Outpatient",
"valueCode": "O"
} ]
}, {
"id": "Appointment.serviceType",
"max": "1",
"path": "Appointment.serviceType",
"short": "Appointment type code",
"definition": "Appointment type code: Consultation, Nursing"
}, {
"id": "Appointment.serviceType.id",
"max": "0",
"path": "Appointment.serviceType.id"
}, {
"id": "Appointment.serviceType.extension",
"max": "0",
"path": "Appointment.serviceType.extension"
}, {
"id": "Appointment.serviceType.concept",
"min": 1,
"path": "Appointment.serviceType.concept",
"type": [ {
"code": "CodeableConcept",
"profile": [ "https://fhir.synapxe.sg/StructureDefinition/profile-codeableconcept" ]
} ],
"short": "Concept - reference to a terminology or just text",
"binding": {
"strength": "required",
"valueSet": "https://fhir.synapxe.sg/ValueSet/appointment-type"
},
"definition": "A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text."
}, {
"id": "Appointment.serviceType.concept.extension",
"max": "0",
"path": "Appointment.serviceType.concept.extension"
}, {
"id": "Appointment.serviceType.concept.coding.system",
"path": "Appointment.serviceType.concept.coding.system",
"fixedUri": "https://fhir.synapxe.sg/CodeSystem/appointment-type"
}, {
"id": "Appointment.serviceType.concept.coding.code",
"path": "Appointment.serviceType.concept.coding.code",
"example": [ {
"label": "Consultation, Nursing",
"valueCode": "CON"
} ]
}, {
"id": "Appointment.serviceType.reference",
"max": "0",
"path": "Appointment.serviceType.reference"
}, {
"id": "Appointment.specialty",
"path": "Appointment.specialty",
"type": [ {
"code": "CodeableConcept",
"profile": [ "https://fhir.synapxe.sg/StructureDefinition/profile-codeableconcept" ]
} ],
"short": "Concept - reference to a terminology or just text",
"binding": {
"strength": "required",
"valueSet": "https://fhir.synapxe.sg/ValueSet/department-specialty"
},
"definition": "A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text."
}, {
"id": "Appointment.specialty.extension",
"max": "0",
"path": "Appointment.specialty.extension"
}, {
"id": "Appointment.specialty.coding.system",
"path": "Appointment.specialty.coding.system",
"fixedUri": "https://fhir.synapxe.sg/CodeSystem/department-specialty"
}, {
"id": "Appointment.specialty.coding.code",
"path": "Appointment.specialty.coding.code",
"example": [ {
"label": "Pediatric Genetics",
"valueCode": "PGN"
} ]
}, {
"id": "Appointment.appointmentType",
"path": "Appointment.appointmentType",
"type": [ {
"code": "CodeableConcept",
"profile": [ "https://fhir.synapxe.sg/StructureDefinition/profile-codeableconcept" ]
} ],
"short": "The movement type associated with the appointment can be represented as an admission or visit type",
"binding": {
"strength": "required",
"valueSet": "https://fhir.synapxe.sg/ValueSet/movement-type"
},
"definition": "The movement type associated with the appointment can be represented as an admission or visit type"
}, {
"id": "Appointment.appointmentType.extension",
"max": "0",
"path": "Appointment.appointmentType.extension"
}, {
"id": "Appointment.appointmentType.coding.system",
"path": "Appointment.appointmentType.coding.system",
"patternUri": "https://fhir.synapxe.sg/CodeSystem/movement-type"
}, {
"id": "Appointment.reason",
"min": 1,
"path": "Appointment.reason",
"type": [ {
"code": "CodeableReference",
"targetProfile": [ "https://fhir.synapxe.sg/StructureDefinition/profile-condition", "https://fhir.synapxe.sg/StructureDefinition/profile-procedure", "https://fhir.synapxe.sg/StructureDefinition/profile-encounter" ]
} ]
}, {
"id": "Appointment.reason.id",
"max": "0",
"path": "Appointment.reason.id"
}, {
"id": "Appointment.reason.extension",
"max": "0",
"path": "Appointment.reason.extension"
}, {
"id": "Appointment.reason.concept",
"path": "Appointment.reason.concept",
"type": [ {
"code": "CodeableConcept",
"profile": [ "https://fhir.synapxe.sg/StructureDefinition/profile-codeableconcept" ]
} ],
"short": "Concept - reference to a terminology or just text",
"binding": {
"strength": "required",
"valueSet": "https://fhir.synapxe.sg/ValueSet/reason-for-appointment"
},
"definition": "A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text."
}, {
"id": "Appointment.reason.concept.extension",
"max": "0",
"path": "Appointment.reason.concept.extension"
}, {
"id": "Appointment.reason.concept.coding.system",
"path": "Appointment.reason.concept.coding.system",
"fixedUri": "https://fhir.synapxe.sg/CodeSystem/reason-for-appointment"
}, {
"id": "Appointment.reason.concept.coding.code",
"path": "Appointment.reason.concept.coding.code",
"example": [ {
"label": "A&E",
"valueCode": "1"
} ]
}, {
"id": "Appointment.priority",
"max": "0",
"path": "Appointment.priority"
}, {
"id": "Appointment.description",
"max": "0",
"path": "Appointment.description"
}, {
"id": "Appointment.replaces",
"max": "0",
"path": "Appointment.replaces"
}, {
"id": "Appointment.virtualService",
"max": "0",
"path": "Appointment.virtualService"
}, {
"id": "Appointment.supportingInformation",
"path": "Appointment.supportingInformation",
"type": [ {
"code": "Reference",
"aggregation": [ "contained" ],
"targetProfile": [ "https://fhir.synapxe.sg/StructureDefinition/profile-location" ]
} ]
}, {
"id": "Appointment.supportingInformation.id",
"max": "0",
"path": "Appointment.supportingInformation.id"
}, {
"id": "Appointment.supportingInformation.extension",
"max": "0",
"path": "Appointment.supportingInformation.extension"
}, {
"id": "Appointment.previousAppointment",
"max": "0",
"path": "Appointment.previousAppointment"
}, {
"id": "Appointment.originatingAppointment",
"path": "Appointment.originatingAppointment",
"type": [ {
"code": "Reference",
"targetProfile": [ "https://fhir.synapxe.sg/StructureDefinition/profile-appointment" ]
} ]
}, {
"id": "Appointment.originatingAppointment.id",
"max": "0",
"path": "Appointment.originatingAppointment.id"
}, {
"id": "Appointment.originatingAppointment.extension",
"max": "0",
"path": "Appointment.originatingAppointment.extension"
}, {
"id": "Appointment.start",
"min": 1,
"path": "Appointment.start"
}, {
"id": "Appointment.end",
"max": "0",
"path": "Appointment.end"
}, {
"id": "Appointment.requestedPeriod",
"max": "0",
"path": "Appointment.requestedPeriod"
}, {
"id": "Appointment.slot",
"max": "0",
"path": "Appointment.slot"
}, {
"id": "Appointment.account",
"max": "0",
"path": "Appointment.account"
}, {
"id": "Appointment.created",
"max": "0",
"path": "Appointment.created"
}, {
"id": "Appointment.cancellationDate",
"max": "0",
"path": "Appointment.cancellationDate"
}, {
"id": "Appointment.note",
"max": "1",
"path": "Appointment.note"
}, {
"id": "Appointment.note.id",
"max": "0",
"path": "Appointment.note.id"
}, {
"id": "Appointment.note.extension",
"max": "0",
"path": "Appointment.note.extension"
}, {
"id": "Appointment.note.author[x]",
"max": "0",
"path": "Appointment.note.author[x]"
}, {
"id": "Appointment.note.time",
"max": "0",
"path": "Appointment.note.time"
}, {
"id": "Appointment.patientInstruction",
"max": "0",
"path": "Appointment.patientInstruction"
}, {
"id": "Appointment.basedOn",
"max": "1",
"path": "Appointment.basedOn",
"type": [ {
"code": "Reference",
"aggregation": [ "contained" ],
"targetProfile": [ "https://fhir.synapxe.sg/StructureDefinition/profile-servicerequest" ]
} ],
"short": "The referral information of this appointment",
"definition": "The referral information of this appointment"
}, {
"id": "Appointment.basedOn.id",
"max": "0",
"path": "Appointment.basedOn.id"
}, {
"id": "Appointment.basedOn.extension",
"max": "0",
"path": "Appointment.basedOn.extension"
}, {
"id": "Appointment.basedOn.identifier",
"path": "Appointment.basedOn.identifier",
"type": [ {
"code": "Identifier",
"profile": [ "https://fhir.synapxe.sg/StructureDefinition/profile-identifier" ]
} ],
"short": "An identifier intended for computation",
"comment": "The rules of the identifier.type determine if a check digit is part of the ID value or sent separately, such as through the checkDigit extension.",
"definition": "An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers."
}, {
"id": "Appointment.subject",
"min": 1,
"path": "Appointment.subject",
"type": [ {
"code": "Reference",
"targetProfile": [ "https://fhir.synapxe.sg/StructureDefinition/profile-patient" ]
} ]
}, {
"id": "Appointment.subject.id",
"max": "0",
"path": "Appointment.subject.id"
}, {
"id": "Appointment.subject.extension",
"max": "0",
"path": "Appointment.subject.extension"
}, {
"id": "Appointment.subject.identifier",
"path": "Appointment.subject.identifier",
"type": [ {
"code": "Identifier",
"profile": [ "https://fhir.synapxe.sg/StructureDefinition/profile-identifier" ]
} ],
"short": "An identifier intended for computation",
"comment": "The rules of the identifier.type determine if a check digit is part of the ID value or sent separately, such as through the checkDigit extension.",
"definition": "An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers."
}, {
"id": "Appointment.participant.id",
"max": "0",
"path": "Appointment.participant.id"
}, {
"id": "Appointment.participant.extension",
"max": "0",
"path": "Appointment.participant.extension"
}, {
"id": "Appointment.participant.modifierExtension",
"max": "0",
"path": "Appointment.participant.modifierExtension"
}, {
"path": "Appointment.participant.type",
"min": 1,
"definition": "A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.",
"short": "Concept - reference to a terminology or just text",
"type": [ {
"code": "CodeableConcept",
"profile": [ "https://fhir.synapxe.sg/StructureDefinition/profile-codeableconcept" ]
} ],
"binding": {
"strength": "required",
"valueSet": "https://fhir.synapxe.sg/ValueSet/appointment-participant-type",
"description": "Role of participant in encounter."
},
"max": "1",
"id": "Appointment.participant.type",
"comment": "Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination."
}, {
"id": "Appointment.participant.type.extension",
"max": "0",
"path": "Appointment.participant.type.extension"
}, {
"id": "Appointment.participant.type.coding.system",
"path": "Appointment.participant.type.coding.system",
"fixedUri": "http://terminology.hl7.org/CodeSystem/v3-ParticipationType"
}, {
"id": "Appointment.participant.type.coding.code",
"path": "Appointment.participant.type.coding.code",
"example": [ {
"label": "Attending clinician",
"valueCode": "ATND"
} ]
}, {
"id": "Appointment.participant.period",
"max": "0",
"path": "Appointment.participant.period"
}, {
"id": "Appointment.participant.actor",
"min": 1,
"path": "Appointment.participant.actor",
"type": [ {
"code": "Reference",
"aggregation": [ "contained" ],
"targetProfile": [ "https://fhir.synapxe.sg/StructureDefinition/profile-practitioner", "https://fhir.synapxe.sg/StructureDefinition/profile-organization" ]
} ]
}, {
"id": "Appointment.participant.actor.id",
"max": "0",
"path": "Appointment.participant.actor.id"
}, {
"id": "Appointment.participant.actor.extension",
"max": "0",
"path": "Appointment.participant.actor.extension"
}, {
"id": "Appointment.participant.actor.identifier",
"path": "Appointment.participant.actor.identifier",
"type": [ {
"code": "Identifier",
"profile": [ "https://fhir.synapxe.sg/StructureDefinition/profile-identifier" ]
} ],
"short": "An identifier intended for computation",
"comment": "The rules of the identifier.type determine if a check digit is part of the ID value or sent separately, such as through the checkDigit extension.",
"definition": "An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers."
}, {
"id": "Appointment.participant.required",
"max": "0",
"path": "Appointment.participant.required"
}, {
"id": "Appointment.recurrenceId",
"max": "0",
"path": "Appointment.recurrenceId"
}, {
"id": "Appointment.occurrenceChanged",
"max": "0",
"path": "Appointment.occurrenceChanged"
}, {
"id": "Appointment.recurrenceTemplate",
"max": "0",
"path": "Appointment.recurrenceTemplate"
} ]
},
"baseDefinition": "http://hl7.org/fhir/StructureDefinition/Appointment"
}