PackagesCanonicalsLogsProblems
    Packages
    synapxe.sgcdi@1.0.5
    https://fhir.synapxe.sg/StructureDefinition/profile-appointment
description: null
package_name: synapxe.sgcdi
derivation: constraint
name: profile-appointment
type: Appointment
elements:
  description: {index: 80}
  serviceCategory:
    type: CodeableConcept
    short: Patient type code
    binding: {strength: required, valueSet: 'https://fhir.synapxe.sg/ValueSet/patient-type'}
    index: 53
    extensions: {}
    elements:
      extension: {index: 54}
      coding:
        elements:
          system:
            pattern: {type: Uri, value: 'https://fhir.synapxe.sg/CodeSystem/patient-type'}
            index: 55
          code: {index: 56}
  slot: {index: 93}
  previousAppointment: {index: 86}
  originatingAppointment:
    type: Reference
    refers: ['https://fhir.synapxe.sg/StructureDefinition/profile-appointment']
    index: 87
    elements:
      id: {index: 88}
      extension: {index: 89}
    extensions: {}
  recurrenceId: {index: 125}
  cancellationDate: {index: 96}
  specialty:
    type: CodeableConcept
    short: Concept - reference to a terminology or just  text
    binding: {strength: required, valueSet: 'https://fhir.synapxe.sg/ValueSet/department-specialty'}
    index: 65
    extensions: {}
    elements:
      extension: {index: 66}
      coding:
        elements:
          system:
            pattern: {type: Uri, value: 'https://fhir.synapxe.sg/CodeSystem/department-specialty'}
            index: 67
          code: {index: 68}
  occurrenceChanged: {index: 126}
  requestedPeriod: {index: 92}
  patientInstruction: {index: 103}
  recurrenceTemplate: {index: 127}
  start: {index: 90}
  created: {index: 95}
  participant:
    elements:
      id: {index: 112}
      extension: {index: 113}
      modifierExtension: {index: 114}
      type:
        short: Concept - reference to a terminology or just  text
        type: CodeableConcept
        binding: {strength: required, valueSet: 'https://fhir.synapxe.sg/ValueSet/appointment-participant-type'}
        index: 115
        extensions: {}
        elements:
          extension: {index: 116}
          coding:
            elements:
              system:
                pattern: {type: Uri, value: 'http://terminology.hl7.org/CodeSystem/v3-ParticipationType'}
                index: 117
              code: {index: 118}
      period: {index: 119}
      actor:
        type: Reference
        refers: ['https://fhir.synapxe.sg/StructureDefinition/profile-organization', 'https://fhir.synapxe.sg/StructureDefinition/profile-practitioner']
        index: 120
        elements:
          id: {index: 121}
          extension: {index: 122}
          identifier: {type: Identifier, short: An identifier intended for computation, index: 123}
        extensions: {}
      required: {index: 124}
    extensions: {}
    required: [type, actor]
  serviceType:
    short: Appointment type code
    index: 57
    elements:
      id: {index: 58}
      extension: {index: 59}
      concept:
        type: CodeableConcept
        short: Concept - reference to a terminology or just  text
        binding: {strength: required, valueSet: 'https://fhir.synapxe.sg/ValueSet/appointment-type'}
        index: 60
        extensions: {}
        elements:
          extension: {index: 61}
          coding:
            elements:
              system:
                pattern: {type: Uri, value: 'https://fhir.synapxe.sg/CodeSystem/appointment-type'}
                index: 62
              code: {index: 63}
      reference: {index: 64}
    extensions: {}
    required: [concept]
  note:
    index: 97
    elements:
      id: {index: 98}
      extension: {index: 99}
      author:
        choices: []
        index: 101
      time: {index: 102}
    extensions: {}
  account: {index: 94}
  virtualService: {index: 82}
  reason:
    type: CodeableReference
    index: 72
    elements:
      id: {index: 73}
      extension: {index: 74}
      concept:
        type: CodeableConcept
        short: Concept - reference to a terminology or just  text
        binding: {strength: required, valueSet: 'https://fhir.synapxe.sg/ValueSet/reason-for-appointment'}
        index: 75
        extensions: {}
        elements:
          extension: {index: 76}
          coding:
            elements:
              system:
                pattern: {type: Uri, value: 'https://fhir.synapxe.sg/CodeSystem/reason-for-appointment'}
                index: 77
              code: {index: 78}
    extensions: {}
  extension:
    type: Extension
    url: https://fhir.synapxe.sg/StructureDefinition/ext-generic
    index: 5
    slicing:
      slices:
        group:
          match: {}
          schema:
            type: Extension
            url: https://fhir.synapxe.sg/StructureDefinition/ext-generic
            index: 5
            elements:
              value:
                choices: [valueString]
                index: 7
              valueString: {type: string, choiceOf: value, index: 8}
  contained:
    index: 0
    slicing:
      rules: open
      discriminator:
      - {path: resolve(), type: profile}
      min: null
      slices:
        Organization:
          match: {}
          schema: {type: Resource, index: 1}
          max: 1
        Practitioner:
          match: {}
          schema: {type: Resource, index: 2}
        Location:
          match: {}
          schema: {type: Resource, index: 3}
        ServiceRequest:
          match: {}
          schema: {type: Resource, index: 4}
          max: 1
  supportingInformation:
    type: Reference
    refers: ['https://fhir.synapxe.sg/StructureDefinition/profile-location']
    index: 83
    elements:
      id: {index: 84}
      extension: {index: 85}
    extensions: {}
  priority: {index: 79}
  appointmentType:
    type: 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'}
    index: 69
    extensions: {}
    elements:
      extension: {index: 70}
      coding:
        elements:
          system:
            pattern: {type: Uri, value: 'https://fhir.synapxe.sg/CodeSystem/movement-type'}
            index: 71
  status: {index: 36}
  class:
    short: inpatient | outpatient
    index: 41
    elements:
      id: {index: 42}
      extension: {index: 43}
      coding:
        index: 44
        elements:
          id: {index: 45}
          extension: {index: 46}
          system:
            pattern: {type: Uri, value: 'https://fhir.synapxe.sg/CodeSystem/patienttype'}
            index: 47
          version: {index: 48}
          code: {index: 49}
          display: {index: 50}
          userSelected: {index: 51}
        extensions: {}
        required: [display, system, code]
      text: {index: 52}
    extensions: {}
    required: [coding]
  cancellationReason:
    type: CodeableConcept
    short: Concept - reference to a terminology or just  text
    binding: {strength: required, valueSet: 'https://fhir.synapxe.sg/ValueSet/reasonforcancellation'}
    index: 37
    extensions: {}
    elements:
      extension: {index: 38}
      coding:
        elements:
          system:
            pattern: {type: Uri, value: 'https://fhir.synapxe.sg/CodeSystem/reasonforcancellation'}
            index: 39
          code: {index: 40}
  identifier:
    index: 9
    elements:
      id: {index: 10}
      extension: {index: 11}
      use: {index: 12}
      type: {index: 13}
      system:
        pattern: {type: Uri, value: 'https://fhir.synapxe.sg/NamingSystem/appointment-identifier'}
        index: 14
      value: {index: 15}
      period: {index: 16}
      assigner: {index: 17}
    extensions: {}
    required: [value, system]
    slicing:
      rules: open
      discriminator:
      - {path: $this, type: value}
      min: 1
      slices:
        recordIdentifier:
          match: {}
          schema:
            _required: true
            index: 18
            elements:
              id: {index: 19}
              extension: {index: 20}
              use: {index: 21}
              type: {index: 22}
              system:
                pattern: {type: Uri, value: 'https://fhir.synapxe.sg/NamingSystem/record-identifier'}
                index: 23
              value: {index: 24}
              period: {index: 25}
              assigner: {index: 26}
            extensions: {}
            required: [value, system]
        appointmentIdentifier:
          match: {}
          schema:
            _required: true
            index: 27
            elements:
              id: {index: 28}
              extension: {index: 29}
              use: {index: 30}
              type: {index: 31}
              system:
                pattern: {type: Uri, value: 'https://fhir.synapxe.sg/NamingSystem/appointment-identifier'}
                index: 32
              value: {index: 33}
              period: {index: 34}
              assigner: {index: 35}
            extensions: {}
            required: [value, system]
  replaces: {index: 81}
  basedOn:
    type: Reference
    short: The referral information of this appointment
    refers: ['https://fhir.synapxe.sg/StructureDefinition/profile-servicerequest']
    index: 104
    elements:
      id: {index: 105}
      extension: {index: 106}
      identifier: {type: Identifier, short: An identifier intended for computation, index: 107}
    extensions: {}
  end: {index: 91}
  subject:
    type: Reference
    refers: ['https://fhir.synapxe.sg/StructureDefinition/profile-patient']
    index: 108
    elements:
      id: {index: 109}
      extension: {index: 110}
      identifier: {type: Identifier, short: An identifier intended for computation, index: 111}
    extensions: {}
package_version: 1.0.5
extensions:
  group:
    url: https://fhir.synapxe.sg/StructureDefinition/ext-generic
    type: Extension
    index: 5
    elements:
      value:
        choices: [valueString]
        index: 7
      valueString: {type: string, choiceOf: value, index: 8}
class: profile
kind: resource
url: https://fhir.synapxe.sg/StructureDefinition/profile-appointment
base: http://hl7.org/fhir/StructureDefinition/Appointment
version: null
required: [start, identifier, subject, reason]