PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.uv.xver@r3.r5-0.0.1-snapshot-2
    http://hl7.org/fhir/3.0/StructureDefinition/extension-ServiceDefinition
description: This cross-version extension represents ServiceDefinition from http://hl7.org/fhir/StructureDefinition/ServiceDefinition|3.0.2 for use in FHIR R5.
package_name: hl7.fhir.uv.xver
derivation: constraint
name: Ext_R3_ServiceDefinition
type: Extension
elements:
  extension:
    base: {max: '*', min: 0, path: Extension.extension}
    array: true
    min: 1
    index: 0
    slicing:
      rules: closed
      ordered: false
      discriminator:
      - {path: url, type: value}
      min: 1
      slices:
        description:
          match: {url: description}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Natural language description of the service definition
            index: 41
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: description}
                index: 42
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Natural language description of the service definition
                choices: [valueMarkdown]
                index: 44
              valueMarkdown:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: markdown
                short: Natural language description of the service definition
                choiceOf: value
                index: 45
            required: [url]
        date:
          match: {url: date}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Date this was last changed
            index: 31
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: date}
                index: 32
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Date this was last changed
                choices: [valueDateTime]
                index: 34
              valueDateTime:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: dateTime
                short: Date this was last changed
                choiceOf: value
                index: 35
            required: [url]
        dataRequirement:
          match: {url: dataRequirement}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: What data is used by the module
            array: true
            index: 128
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: dataRequirement}
                index: 129
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: What data is used by the module
                choices: [valueDataRequirement]
                index: 131
              valueDataRequirement:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: DataRequirement
                short: What data is used by the module
                choiceOf: value
                index: 132
            required: [url]
        publisher:
          match: {url: publisher}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Name of the publisher (organization or individual)
            index: 36
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: publisher}
                index: 37
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Name of the publisher (organization or individual)
                choices: [valueString]
                index: 39
              valueString:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: string
                short: Name of the publisher (organization or individual)
                choiceOf: value
                index: 40
            required: [url]
        approvalDate:
          match: {url: approvalDate}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: When the service definition was approved by publisher
            index: 56
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: approvalDate}
                index: 57
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: When the service definition was approved by publisher
                choices: [valueDate]
                index: 59
              valueDate:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: date
                short: When the service definition was approved by publisher
                choiceOf: value
                index: 60
            required: [url]
        jurisdiction:
          match: {url: jurisdiction}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Intended jurisdiction for service definition (if applicable)
            array: true
            index: 76
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: jurisdiction}
                index: 77
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Intended jurisdiction for service definition (if applicable)
                choices: [valueCodeableConcept]
                index: 79
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: Intended jurisdiction for service definition (if applicable)
                choiceOf: value
                index: 80
            required: [url]
        purpose:
          match: {url: purpose}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Why this service definition is defined
            index: 46
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: purpose}
                index: 47
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Why this service definition is defined
                choices: [valueMarkdown]
                index: 49
              valueMarkdown:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: markdown
                short: Why this service definition is defined
                choiceOf: value
                index: 50
            required: [url]
        name:
          match: {url: name}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Name for this service definition (computer friendly)
            index: 11
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: name}
                index: 12
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Name for this service definition (computer friendly)
                choices: [valueString]
                index: 14
              valueString:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: string
                short: Name for this service definition (computer friendly)
                choiceOf: value
                index: 15
            required: [url]
        useContext:
          match: {url: useContext}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Context the content is intended to support
            array: true
            index: 71
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: useContext}
                index: 72
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Context the content is intended to support
                choices: [valueUsageContext]
                index: 74
              valueUsageContext:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: UsageContext
                short: Context the content is intended to support
                choiceOf: value
                index: 75
            required: [url]
        copyright:
          match: {url: copyright}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Use and/or publishing restrictions
            index: 113
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: copyright}
                index: 114
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Use and/or publishing restrictions
                choices: [valueMarkdown]
                index: 116
              valueMarkdown:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: markdown
                short: Use and/or publishing restrictions
                choiceOf: value
                index: 117
            required: [url]
        experimental:
          match: {url: experimental}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: For testing purposes, not real usage
            index: 26
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: experimental}
                index: 27
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: For testing purposes, not real usage
                choices: [valueBoolean]
                index: 29
              valueBoolean:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: boolean
                short: For testing purposes, not real usage
                choiceOf: value
                index: 30
            required: [url]
        topic:
          match: {url: topic}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: E.g. Education, Treatment, Assessment, etc
            array: true
            index: 81
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: topic}
                index: 82
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: E.g. Education, Treatment, Assessment, etc
                choices: [valueCodeableConcept]
                index: 84
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: E.g. Education, Treatment, Assessment, etc
                choiceOf: value
                index: 85
            required: [url]
        operationDefinition:
          match: {url: operationDefinition}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Operation to invoke
            index: 133
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: operationDefinition}
                index: 134
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Operation to invoke
                choices: [valueReference]
                index: 136
              valueReference:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: Reference
                short: Operation to invoke
                choiceOf: value
                index: 137
            required: [url]
        title:
          match: {url: title}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Name for this service definition (human friendly)
            index: 16
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: title}
                index: 17
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Name for this service definition (human friendly)
                choices: [valueString]
                index: 19
              valueString:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: string
                short: Name for this service definition (human friendly)
                choiceOf: value
                index: 20
            required: [url]
        usage:
          match: {url: usage}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Describes the clinical usage of the module
            index: 51
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: usage}
                index: 52
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Describes the clinical usage of the module
                choices: [valueString]
                index: 54
              valueString:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: string
                short: Describes the clinical usage of the module
                choiceOf: value
                index: 55
            required: [url]
        contributor:
          match: {url: contributor}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: A content contributor
            array: true
            index: 86
            extensions:
              type:
                url: type
                base: {max: '*', min: 0, path: Extension.extension}
                short: author | editor | reviewer | endorser
                _required: true
                index: 88
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: type}
                    index: 89
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: author | editor | reviewer | endorser
                    choices: [valueCode]
                    index: 91
                  valueCode:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: code
                    short: author | editor | reviewer | endorser
                    choiceOf: value
                    index: 92
                required: [url]
              name:
                url: name
                base: {max: '*', min: 0, path: Extension.extension}
                short: Who contributed the content
                _required: true
                index: 93
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: name}
                    index: 94
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Who contributed the content
                    choices: [valueString]
                    index: 96
                  valueString:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: string
                    short: Who contributed the content
                    choiceOf: value
                    index: 97
                required: [url]
              contact:
                url: contact
                base: {max: '*', min: 0, path: Extension.extension}
                short: Contact details of the contributor
                array: true
                index: 98
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: contact}
                    index: 99
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Contact details of the contributor
                    choices: [valueContactDetail]
                    index: 101
                  valueContactDetail:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: ContactDetail
                    short: Contact details of the contributor
                    choiceOf: value
                    index: 102
                required: [url]
              _datatype:
                url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                type: Extension
                short: Data type name for ServiceDefinition.contributor from FHIR R3
                index: 103
                elements:
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    pattern: {type: String, value: Contributor}
                    choices: [valueString]
                    index: 105
                  valueString:
                    type: string
                    pattern: {type: String, value: Contributor}
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 106
                required: [valueString, value]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                min: 2
                index: 87
                slicing:
                  rules: closed
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 2
                  slices:
                    type:
                      match: {url: type}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: author | editor | reviewer | endorser
                        _required: true
                        index: 88
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: type}
                            index: 89
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: author | editor | reviewer | endorser
                            choices: [valueCode]
                            index: 91
                          valueCode:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: code
                            short: author | editor | reviewer | endorser
                            choiceOf: value
                            index: 92
                        required: [url]
                    name:
                      match: {url: name}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Who contributed the content
                        _required: true
                        index: 93
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: name}
                            index: 94
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Who contributed the content
                            choices: [valueString]
                            index: 96
                          valueString:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: string
                            short: Who contributed the content
                            choiceOf: value
                            index: 97
                        required: [url]
                    contact:
                      match: {url: contact}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Contact details of the contributor
                        array: true
                        index: 98
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: contact}
                            index: 99
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Contact details of the contributor
                            choices: [valueContactDetail]
                            index: 101
                          valueContactDetail:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: ContactDetail
                            short: Contact details of the contributor
                            choiceOf: value
                            index: 102
                        required: [url]
                    _datatype:
                      match: {url: null}
                      schema:
                        type: Extension
                        short: Data type name for ServiceDefinition.contributor from FHIR R3
                        url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                        index: 103
                        elements:
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            pattern: {type: String, value: Contributor}
                            choices: [valueString]
                            index: 105
                          valueString:
                            type: string
                            pattern: {type: String, value: Contributor}
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 106
                        required: [valueString, value]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: contributor}
                index: 107
            required: [url]
        status:
          match: {url: status}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: draft | active | retired | unknown
            _required: true
            index: 21
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: status}
                index: 22
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: draft | active | retired | unknown
                choices: [valueCode]
                index: 24
              valueCode:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: code
                short: draft | active | retired | unknown
                choiceOf: value
                index: 25
            required: [url]
        url:
          match: {url: url}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Logical URI to reference this service definition (globally unique)
            index: 1
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: url}
                index: 2
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Logical URI to reference this service definition (globally unique)
                choices: [valueUri]
                index: 4
              valueUri:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: uri
                short: Logical URI to reference this service definition (globally unique)
                choiceOf: value
                index: 5
            required: [url]
        lastReviewDate:
          match: {url: lastReviewDate}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: When the service definition was last reviewed
            index: 61
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: lastReviewDate}
                index: 62
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: When the service definition was last reviewed
                choices: [valueDate]
                index: 64
              valueDate:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: date
                short: When the service definition was last reviewed
                choiceOf: value
                index: 65
            required: [url]
        version:
          match: {url: version}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Business version of the service definition
            index: 6
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: version}
                index: 7
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Business version of the service definition
                choices: [valueString]
                index: 9
              valueString:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: string
                short: Business version of the service definition
                choiceOf: value
                index: 10
            required: [url]
        trigger:
          match: {url: trigger}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: '"when" the module should be invoked'
            array: true
            index: 123
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: trigger}
                index: 124
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: '"when" the module should be invoked'
                choices: [valueTriggerDefinition]
                index: 126
              valueTriggerDefinition:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: TriggerDefinition
                short: '"when" the module should be invoked'
                choiceOf: value
                index: 127
            required: [url]
        relatedArtifact:
          match: {url: relatedArtifact}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Additional documentation, citations, etc
            array: true
            index: 118
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: relatedArtifact}
                index: 119
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Additional documentation, citations, etc
                choices: [valueRelatedArtifact]
                index: 121
              valueRelatedArtifact:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: RelatedArtifact
                short: Additional documentation, citations, etc
                choiceOf: value
                index: 122
            required: [url]
        contact:
          match: {url: contact}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Contact details for the publisher
            array: true
            index: 108
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: contact}
                index: 109
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Contact details for the publisher
                choices: [valueContactDetail]
                index: 111
              valueContactDetail:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: ContactDetail
                short: Contact details for the publisher
                choiceOf: value
                index: 112
            required: [url]
        effectivePeriod:
          match: {url: effectivePeriod}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: When the service definition is expected to be used
            index: 66
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: effectivePeriod}
                index: 67
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: When the service definition is expected to be used
                choices: [valuePeriod]
                index: 69
              valuePeriod:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: Period
                short: When the service definition is expected to be used
                choiceOf: value
                index: 70
            required: [url]
  url:
    base: {max: '1', min: 1, path: Extension.url}
    pattern: {type: Uri, value: 'http://hl7.org/fhir/3.0/StructureDefinition/extension-ServiceDefinition'}
    index: 138
package_version: r3.r5-0.0.1-snapshot-2
extensions:
  description:
    url: description
    base: {max: '*', min: 0, path: Extension.extension}
    short: Natural language description of the service definition
    index: 41
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: description}
        index: 42
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Natural language description of the service definition
        choices: [valueMarkdown]
        index: 44
      valueMarkdown:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: markdown
        short: Natural language description of the service definition
        choiceOf: value
        index: 45
    required: [url]
  date:
    url: date
    base: {max: '*', min: 0, path: Extension.extension}
    short: Date this was last changed
    index: 31
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: date}
        index: 32
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Date this was last changed
        choices: [valueDateTime]
        index: 34
      valueDateTime:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: dateTime
        short: Date this was last changed
        choiceOf: value
        index: 35
    required: [url]
  dataRequirement:
    url: dataRequirement
    base: {max: '*', min: 0, path: Extension.extension}
    short: What data is used by the module
    array: true
    index: 128
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: dataRequirement}
        index: 129
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: What data is used by the module
        choices: [valueDataRequirement]
        index: 131
      valueDataRequirement:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: DataRequirement
        short: What data is used by the module
        choiceOf: value
        index: 132
    required: [url]
  publisher:
    url: publisher
    base: {max: '*', min: 0, path: Extension.extension}
    short: Name of the publisher (organization or individual)
    index: 36
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: publisher}
        index: 37
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Name of the publisher (organization or individual)
        choices: [valueString]
        index: 39
      valueString:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: string
        short: Name of the publisher (organization or individual)
        choiceOf: value
        index: 40
    required: [url]
  approvalDate:
    url: approvalDate
    base: {max: '*', min: 0, path: Extension.extension}
    short: When the service definition was approved by publisher
    index: 56
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: approvalDate}
        index: 57
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: When the service definition was approved by publisher
        choices: [valueDate]
        index: 59
      valueDate:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: date
        short: When the service definition was approved by publisher
        choiceOf: value
        index: 60
    required: [url]
  jurisdiction:
    url: jurisdiction
    base: {max: '*', min: 0, path: Extension.extension}
    short: Intended jurisdiction for service definition (if applicable)
    array: true
    index: 76
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: jurisdiction}
        index: 77
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Intended jurisdiction for service definition (if applicable)
        choices: [valueCodeableConcept]
        index: 79
      valueCodeableConcept:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: CodeableConcept
        short: Intended jurisdiction for service definition (if applicable)
        choiceOf: value
        index: 80
    required: [url]
  purpose:
    url: purpose
    base: {max: '*', min: 0, path: Extension.extension}
    short: Why this service definition is defined
    index: 46
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: purpose}
        index: 47
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Why this service definition is defined
        choices: [valueMarkdown]
        index: 49
      valueMarkdown:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: markdown
        short: Why this service definition is defined
        choiceOf: value
        index: 50
    required: [url]
  name:
    url: name
    base: {max: '*', min: 0, path: Extension.extension}
    short: Name for this service definition (computer friendly)
    index: 11
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: name}
        index: 12
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Name for this service definition (computer friendly)
        choices: [valueString]
        index: 14
      valueString:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: string
        short: Name for this service definition (computer friendly)
        choiceOf: value
        index: 15
    required: [url]
  useContext:
    url: useContext
    base: {max: '*', min: 0, path: Extension.extension}
    short: Context the content is intended to support
    array: true
    index: 71
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: useContext}
        index: 72
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Context the content is intended to support
        choices: [valueUsageContext]
        index: 74
      valueUsageContext:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: UsageContext
        short: Context the content is intended to support
        choiceOf: value
        index: 75
    required: [url]
  copyright:
    url: copyright
    base: {max: '*', min: 0, path: Extension.extension}
    short: Use and/or publishing restrictions
    index: 113
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: copyright}
        index: 114
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Use and/or publishing restrictions
        choices: [valueMarkdown]
        index: 116
      valueMarkdown:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: markdown
        short: Use and/or publishing restrictions
        choiceOf: value
        index: 117
    required: [url]
  experimental:
    url: experimental
    base: {max: '*', min: 0, path: Extension.extension}
    short: For testing purposes, not real usage
    index: 26
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: experimental}
        index: 27
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: For testing purposes, not real usage
        choices: [valueBoolean]
        index: 29
      valueBoolean:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: boolean
        short: For testing purposes, not real usage
        choiceOf: value
        index: 30
    required: [url]
  topic:
    url: topic
    base: {max: '*', min: 0, path: Extension.extension}
    short: E.g. Education, Treatment, Assessment, etc
    array: true
    index: 81
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: topic}
        index: 82
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: E.g. Education, Treatment, Assessment, etc
        choices: [valueCodeableConcept]
        index: 84
      valueCodeableConcept:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: CodeableConcept
        short: E.g. Education, Treatment, Assessment, etc
        choiceOf: value
        index: 85
    required: [url]
  operationDefinition:
    url: operationDefinition
    base: {max: '*', min: 0, path: Extension.extension}
    short: Operation to invoke
    index: 133
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: operationDefinition}
        index: 134
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Operation to invoke
        choices: [valueReference]
        index: 136
      valueReference:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: Reference
        short: Operation to invoke
        choiceOf: value
        index: 137
    required: [url]
  title:
    url: title
    base: {max: '*', min: 0, path: Extension.extension}
    short: Name for this service definition (human friendly)
    index: 16
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: title}
        index: 17
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Name for this service definition (human friendly)
        choices: [valueString]
        index: 19
      valueString:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: string
        short: Name for this service definition (human friendly)
        choiceOf: value
        index: 20
    required: [url]
  usage:
    url: usage
    base: {max: '*', min: 0, path: Extension.extension}
    short: Describes the clinical usage of the module
    index: 51
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: usage}
        index: 52
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Describes the clinical usage of the module
        choices: [valueString]
        index: 54
      valueString:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: string
        short: Describes the clinical usage of the module
        choiceOf: value
        index: 55
    required: [url]
  contributor:
    url: contributor
    base: {max: '*', min: 0, path: Extension.extension}
    short: A content contributor
    array: true
    index: 86
    extensions:
      type:
        url: type
        base: {max: '*', min: 0, path: Extension.extension}
        short: author | editor | reviewer | endorser
        _required: true
        index: 88
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: type}
            index: 89
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: author | editor | reviewer | endorser
            choices: [valueCode]
            index: 91
          valueCode:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: code
            short: author | editor | reviewer | endorser
            choiceOf: value
            index: 92
        required: [url]
      name:
        url: name
        base: {max: '*', min: 0, path: Extension.extension}
        short: Who contributed the content
        _required: true
        index: 93
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: name}
            index: 94
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Who contributed the content
            choices: [valueString]
            index: 96
          valueString:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: string
            short: Who contributed the content
            choiceOf: value
            index: 97
        required: [url]
      contact:
        url: contact
        base: {max: '*', min: 0, path: Extension.extension}
        short: Contact details of the contributor
        array: true
        index: 98
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: contact}
            index: 99
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Contact details of the contributor
            choices: [valueContactDetail]
            index: 101
          valueContactDetail:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: ContactDetail
            short: Contact details of the contributor
            choiceOf: value
            index: 102
        required: [url]
      _datatype:
        url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
        type: Extension
        short: Data type name for ServiceDefinition.contributor from FHIR R3
        index: 103
        elements:
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            pattern: {type: String, value: Contributor}
            choices: [valueString]
            index: 105
          valueString:
            type: string
            pattern: {type: String, value: Contributor}
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            choiceOf: value
            index: 106
        required: [valueString, value]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        min: 2
        index: 87
        slicing:
          rules: closed
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 2
          slices:
            type:
              match: {url: type}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: author | editor | reviewer | endorser
                _required: true
                index: 88
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: type}
                    index: 89
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: author | editor | reviewer | endorser
                    choices: [valueCode]
                    index: 91
                  valueCode:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: code
                    short: author | editor | reviewer | endorser
                    choiceOf: value
                    index: 92
                required: [url]
            name:
              match: {url: name}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Who contributed the content
                _required: true
                index: 93
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: name}
                    index: 94
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Who contributed the content
                    choices: [valueString]
                    index: 96
                  valueString:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: string
                    short: Who contributed the content
                    choiceOf: value
                    index: 97
                required: [url]
            contact:
              match: {url: contact}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Contact details of the contributor
                array: true
                index: 98
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: contact}
                    index: 99
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Contact details of the contributor
                    choices: [valueContactDetail]
                    index: 101
                  valueContactDetail:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: ContactDetail
                    short: Contact details of the contributor
                    choiceOf: value
                    index: 102
                required: [url]
            _datatype:
              match: {url: null}
              schema:
                type: Extension
                short: Data type name for ServiceDefinition.contributor from FHIR R3
                url: http://hl7.org/fhir/StructureDefinition/_datatype|5.2.0
                index: 103
                elements:
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    pattern: {type: String, value: Contributor}
                    choices: [valueString]
                    index: 105
                  valueString:
                    type: string
                    pattern: {type: String, value: Contributor}
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 106
                required: [valueString, value]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: contributor}
        index: 107
    required: [url]
  status:
    url: status
    base: {max: '*', min: 0, path: Extension.extension}
    short: draft | active | retired | unknown
    _required: true
    index: 21
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: status}
        index: 22
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: draft | active | retired | unknown
        choices: [valueCode]
        index: 24
      valueCode:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: code
        short: draft | active | retired | unknown
        choiceOf: value
        index: 25
    required: [url]
  url:
    url: url
    base: {max: '*', min: 0, path: Extension.extension}
    short: Logical URI to reference this service definition (globally unique)
    index: 1
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: url}
        index: 2
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Logical URI to reference this service definition (globally unique)
        choices: [valueUri]
        index: 4
      valueUri:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: uri
        short: Logical URI to reference this service definition (globally unique)
        choiceOf: value
        index: 5
    required: [url]
  lastReviewDate:
    url: lastReviewDate
    base: {max: '*', min: 0, path: Extension.extension}
    short: When the service definition was last reviewed
    index: 61
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: lastReviewDate}
        index: 62
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: When the service definition was last reviewed
        choices: [valueDate]
        index: 64
      valueDate:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: date
        short: When the service definition was last reviewed
        choiceOf: value
        index: 65
    required: [url]
  version:
    url: version
    base: {max: '*', min: 0, path: Extension.extension}
    short: Business version of the service definition
    index: 6
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: version}
        index: 7
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Business version of the service definition
        choices: [valueString]
        index: 9
      valueString:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: string
        short: Business version of the service definition
        choiceOf: value
        index: 10
    required: [url]
  trigger:
    url: trigger
    base: {max: '*', min: 0, path: Extension.extension}
    short: '"when" the module should be invoked'
    array: true
    index: 123
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: trigger}
        index: 124
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: '"when" the module should be invoked'
        choices: [valueTriggerDefinition]
        index: 126
      valueTriggerDefinition:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: TriggerDefinition
        short: '"when" the module should be invoked'
        choiceOf: value
        index: 127
    required: [url]
  relatedArtifact:
    url: relatedArtifact
    base: {max: '*', min: 0, path: Extension.extension}
    short: Additional documentation, citations, etc
    array: true
    index: 118
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: relatedArtifact}
        index: 119
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Additional documentation, citations, etc
        choices: [valueRelatedArtifact]
        index: 121
      valueRelatedArtifact:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: RelatedArtifact
        short: Additional documentation, citations, etc
        choiceOf: value
        index: 122
    required: [url]
  contact:
    url: contact
    base: {max: '*', min: 0, path: Extension.extension}
    short: Contact details for the publisher
    array: true
    index: 108
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: contact}
        index: 109
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Contact details for the publisher
        choices: [valueContactDetail]
        index: 111
      valueContactDetail:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: ContactDetail
        short: Contact details for the publisher
        choiceOf: value
        index: 112
    required: [url]
  effectivePeriod:
    url: effectivePeriod
    base: {max: '*', min: 0, path: Extension.extension}
    short: When the service definition is expected to be used
    index: 66
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: effectivePeriod}
        index: 67
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: When the service definition is expected to be used
        choices: [valuePeriod]
        index: 69
      valuePeriod:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: Period
        short: When the service definition is expected to be used
        choiceOf: value
        index: 70
    required: [url]
class: extension
kind: complex-type
url: http://hl7.org/fhir/3.0/StructureDefinition/extension-ServiceDefinition
base: http://hl7.org/fhir/StructureDefinition/Extension|5.0.0
version: 0.0.1-snapshot-2
required: [url, extension]