PackagesCanonicalsLogsProblems
    Packages
    ca.on.ppr.r4@1.2.0
    http://ehealthontario.ca/fhir/StructureDefinition/ca-on-ppr-ext-location-affiliation
description: The other locations having affiliations with the given location
package_name: ca.on.ppr.r4
derivation: constraint
name: LocationAffiliation
type: Extension
elements:
  extension:
    index: 0
    slicing:
      rules: open
      discriminator:
      - {path: url, type: value}
      min: null
      slices:
        type:
          match: {url: type}
          schema:
            short: kind of affiliation
            mustSupport: true
            _required: true
            index: 1
            elements:
              url:
                pattern: {type: Uri, value: type}
                index: 2
              value:
                mustSupport: true
                choices: [valueCodeableConcept]
                index: 7
                slicing:
                  slices:
                    valueCodeableConcept:
                      match: {}
                      schema:
                        mustSupport: true
                        choices: [valueCodeableConcept]
                        index: 7
              valueCodeableConcept:
                type: CodeableConcept
                mustSupport: true
                choiceOf: value
                index: 8
                slicing:
                  slices:
                    valueCodeableConcept:
                      match: {}
                      schema: {type: CodeableConcept, mustSupport: true, choiceOf: value, index: 8}
              value[x]:
                elements:
                  coding:
                    mustSupport: true
                    index: 9
                    elements:
                      system:
                        pattern: {type: Uri, value: 'http://ehealthontario.ca/fhir/CodeSystem/ppr-provider-role-affiliation-type'}
                        mustSupport: true
                        index: 10
                      code:
                        binding: {strength: required, valueSet: 'http://ehealthontario.ca/fhir/ValueSet/ppr-provider-role-affiliation-type'}
                        mustSupport: true
                        index: 11
                      display: {mustSupport: true, index: 12}
        period:
          match: {url: period}
          schema:
            short: When affiliation is in effect
            mustSupport: true
            index: 13
            elements:
              url:
                pattern: {type: Uri, value: period}
                index: 14
              value:
                mustSupport: true
                choices: [valuePeriod]
                index: 19
                slicing:
                  slices:
                    valuePeriod:
                      match: {}
                      schema:
                        mustSupport: true
                        choices: [valuePeriod]
                        index: 19
              valuePeriod:
                type: Period
                mustSupport: true
                choiceOf: value
                index: 20
                slicing:
                  slices:
                    valuePeriod:
                      match: {}
                      schema: {type: Period, mustSupport: true, choiceOf: value, index: 20}
              value[x]:
                elements:
                  start: {mustSupport: true, index: 21}
                  end: {mustSupport: true, index: 22}
        with:
          match: {url: with}
          schema:
            short: Provider or Organization affiliated with
            mustSupport: true
            _required: true
            index: 23
            extensions:
              name:
                url: name
                mustSupport: true
                _required: true
                index: 25
                elements:
                  url:
                    pattern: {type: Uri, value: name}
                    index: 26
                  value:
                    mustSupport: true
                    choices: [valueString]
                    index: 31
                    slicing:
                      slices:
                        valueString:
                          match: {}
                          schema:
                            mustSupport: true
                            choices: [valueString]
                            index: 31
                  valueString:
                    type: string
                    mustSupport: true
                    choiceOf: value
                    index: 32
                    slicing:
                      slices:
                        valueString:
                          match: {}
                          schema: {type: string, mustSupport: true, choiceOf: value, index: 32}
              legalName:
                url: legalName
                mustSupport: true
                index: 33
                elements:
                  url:
                    pattern: {type: Uri, value: legalName}
                    index: 34
                  value:
                    mustSupport: true
                    choices: [valueString]
                    index: 39
                    slicing:
                      slices:
                        valueString:
                          match: {}
                          schema:
                            mustSupport: true
                            choices: [valueString]
                            index: 39
                  valueString:
                    type: string
                    mustSupport: true
                    choiceOf: value
                    index: 40
                    slicing:
                      slices:
                        valueString:
                          match: {}
                          schema: {type: string, mustSupport: true, choiceOf: value, index: 40}
              identifier-UPI:
                url: identifier-UPI
                index: 41
                elements:
                  url:
                    pattern: {type: Uri, value: identifier-UPI}
                    index: 42
                  value:
                    choices: [valueIdentifier]
                    index: 47
                    slicing:
                      slices:
                        valueIdentifier:
                          match: {}
                          schema:
                            choices: [valueIdentifier]
                            index: 47
                  valueIdentifier:
                    type: Identifier
                    choiceOf: value
                    index: 48
                    slicing:
                      slices:
                        valueIdentifier:
                          match: {}
                          schema: {type: Identifier, choiceOf: value, index: 48}
                  value[x]:
                    elements:
                      use:
                        pattern: {type: Code, value: official}
                        index: 49
                      type:
                        binding: {strength: extensible, valueSet: 'http://ehealthontario.ca/fhir/ValueSet/ppr-organization-identifier-type'}
                        index: 50
                        elements:
                          coding:
                            index: 51
                            elements:
                              system:
                                pattern: {type: Uri, value: 'http://terminology.hl7.org/CodeSystem/v2-0203'}
                                index: 52
                              code:
                                pattern: {type: Code, value: PRN}
                                index: 53
                            required: [system, code]
                        required: [coding]
                      system:
                        pattern: {type: Uri, value: 'https://fhir.infoway-inforoute.ca/NamingSystem/ca-on-provider-upi'}
                        index: 54
                      value: {index: 55}
                    required: [value, type, system, use]
              identifier:
                url: identifier
                index: 56
                elements:
                  url:
                    pattern: {type: Uri, value: identifier}
                    index: 57
                  value:
                    choices: [valueIdentifier]
                    index: 62
                    slicing:
                      slices:
                        valueIdentifier:
                          match: {}
                          schema:
                            choices: [valueIdentifier]
                            index: 62
                  valueIdentifier:
                    type: Identifier
                    choiceOf: value
                    index: 63
                    slicing:
                      slices:
                        valueIdentifier:
                          match: {}
                          schema: {type: Identifier, choiceOf: value, index: 63}
                  value[x]:
                    elements:
                      use: {index: 64}
                      type:
                        binding: {strength: extensible, valueSet: 'http://ehealthontario.ca/fhir/ValueSet/ppr-organization-identifier-type'}
                        index: 65
                        elements:
                          coding:
                            index: 66
                            elements:
                              system:
                                pattern: {type: Uri, value: 'http://terminology.hl7.org/CodeSystem/v2-0203'}
                                index: 67
                              code: {index: 68}
                            required: [system, code]
                        required: [coding]
                      system:
                        pattern: {type: Uri, value: 'http://ehealthontario.ca/fhir/NamingSystem/id-ppr-epid'}
                        index: 69
                      value: {index: 70}
                    required: [value, type, system, use]
              address:
                url: address
                index: 71
                elements:
                  url:
                    pattern: {type: Uri, value: address}
                    index: 72
                  value:
                    choices: [valueString]
                    index: 77
                    slicing:
                      slices:
                        valueString:
                          match: {}
                          schema:
                            choices: [valueString]
                            index: 77
                  valueString:
                    type: string
                    choiceOf: value
                    index: 78
                    slicing:
                      slices:
                        valueString:
                          match: {}
                          schema: {type: string, choiceOf: value, index: 78}
            elements:
              valueBase64Binary: {type: base64Binary, mustSupport: true, choiceOf: value, index: 82}
              valueAge: {type: Age, mustSupport: true, choiceOf: value, index: 102}
              valueParameterDefinition: {type: ParameterDefinition, mustSupport: true, choiceOf: value, index: 126}
              valueTiming: {type: Timing, mustSupport: true, choiceOf: value, index: 121}
              valueCode: {type: code, mustSupport: true, choiceOf: value, index: 85}
              valueReference: {type: Reference, mustSupport: true, choiceOf: value, index: 118}
              valueContributor: {type: Contributor, mustSupport: true, choiceOf: value, index: 123}
              valueContactDetail: {type: ContactDetail, mustSupport: true, choiceOf: value, index: 122}
              valueUri: {type: uri, mustSupport: true, choiceOf: value, index: 98}
              valueUsageContext: {type: UsageContext, mustSupport: true, choiceOf: value, index: 129}
              valueTime: {type: time, mustSupport: true, choiceOf: value, index: 96}
              valueDecimal: {type: decimal, mustSupport: true, choiceOf: value, index: 88}
              valueCanonical: {type: canonical, mustSupport: true, choiceOf: value, index: 84}
              valueMarkdown: {type: markdown, mustSupport: true, choiceOf: value, index: 92}
              valueIdentifier: {type: Identifier, mustSupport: true, choiceOf: value, index: 112}
              valueTriggerDefinition: {type: TriggerDefinition, mustSupport: true, choiceOf: value, index: 128}
              valueQuantity: {type: Quantity, mustSupport: true, choiceOf: value, index: 115}
              value:
                mustSupport: true
                choices: [valueBase64Binary, valueBoolean, valueCanonical, valueCode, valueDate, valueDateTime, valueDecimal, valueId, valueInstant, valueInteger, valueMarkdown, valueOid, valuePositiveInt, valueString, valueTime, valueUnsignedInt, valueUri, valueUrl, valueUuid, valueAddress, valueAge, valueAnnotation, valueAttachment, valueCodeableConcept, valueCoding, valueContactPoint, valueCount, valueDistance, valueDuration, valueHumanName, valueIdentifier, valueMoney, valuePeriod, valueQuantity, valueRange, valueRatio, valueReference, valueSampledData, valueSignature, valueTiming, valueContactDetail, valueContributor, valueDataRequirement, valueExpression, valueParameterDefinition, valueRelatedArtifact, valueTriggerDefinition, valueUsageContext, valueDosage]
                index: 81
              valueCount: {type: Count, mustSupport: true, choiceOf: value, index: 108}
              valueString: {type: string, mustSupport: true, choiceOf: value, index: 95}
              valueRatio: {type: Ratio, mustSupport: true, choiceOf: value, index: 117}
              valueBoolean: {type: boolean, mustSupport: true, choiceOf: value, index: 83}
              valueInstant: {type: instant, mustSupport: true, choiceOf: value, index: 90}
              valueDateTime: {type: dateTime, mustSupport: true, choiceOf: value, index: 87}
              valueDate: {type: date, mustSupport: true, choiceOf: value, index: 86}
              valueDuration: {type: Duration, mustSupport: true, choiceOf: value, index: 110}
              valueDataRequirement: {type: DataRequirement, mustSupport: true, choiceOf: value, index: 124}
              valueMoney: {type: Money, mustSupport: true, choiceOf: value, index: 113}
              valueCoding: {type: Coding, mustSupport: true, choiceOf: value, index: 106}
              valueExpression: {type: Expression, mustSupport: true, choiceOf: value, index: 125}
              extension:
                index: 24
                slicing:
                  rules: open
                  discriminator:
                  - {path: url, type: value}
                  min: null
                  slices:
                    name:
                      match: {url: name}
                      schema:
                        mustSupport: true
                        _required: true
                        index: 25
                        elements:
                          url:
                            pattern: {type: Uri, value: name}
                            index: 26
                          value:
                            mustSupport: true
                            choices: [valueString]
                            index: 31
                            slicing:
                              slices:
                                valueString:
                                  match: {}
                                  schema:
                                    mustSupport: true
                                    choices: [valueString]
                                    index: 31
                          valueString:
                            type: string
                            mustSupport: true
                            choiceOf: value
                            index: 32
                            slicing:
                              slices:
                                valueString:
                                  match: {}
                                  schema: {type: string, mustSupport: true, choiceOf: value, index: 32}
                    legalName:
                      match: {url: legalName}
                      schema:
                        mustSupport: true
                        index: 33
                        elements:
                          url:
                            pattern: {type: Uri, value: legalName}
                            index: 34
                          value:
                            mustSupport: true
                            choices: [valueString]
                            index: 39
                            slicing:
                              slices:
                                valueString:
                                  match: {}
                                  schema:
                                    mustSupport: true
                                    choices: [valueString]
                                    index: 39
                          valueString:
                            type: string
                            mustSupport: true
                            choiceOf: value
                            index: 40
                            slicing:
                              slices:
                                valueString:
                                  match: {}
                                  schema: {type: string, mustSupport: true, choiceOf: value, index: 40}
                    identifier-UPI:
                      match: {url: identifier-UPI}
                      schema:
                        index: 41
                        elements:
                          url:
                            pattern: {type: Uri, value: identifier-UPI}
                            index: 42
                          value:
                            choices: [valueIdentifier]
                            index: 47
                            slicing:
                              slices:
                                valueIdentifier:
                                  match: {}
                                  schema:
                                    choices: [valueIdentifier]
                                    index: 47
                          valueIdentifier:
                            type: Identifier
                            choiceOf: value
                            index: 48
                            slicing:
                              slices:
                                valueIdentifier:
                                  match: {}
                                  schema: {type: Identifier, choiceOf: value, index: 48}
                          value[x]:
                            elements:
                              use:
                                pattern: {type: Code, value: official}
                                index: 49
                              type:
                                binding: {strength: extensible, valueSet: 'http://ehealthontario.ca/fhir/ValueSet/ppr-organization-identifier-type'}
                                index: 50
                                elements:
                                  coding:
                                    index: 51
                                    elements:
                                      system:
                                        pattern: {type: Uri, value: 'http://terminology.hl7.org/CodeSystem/v2-0203'}
                                        index: 52
                                      code:
                                        pattern: {type: Code, value: PRN}
                                        index: 53
                                    required: [system, code]
                                required: [coding]
                              system:
                                pattern: {type: Uri, value: 'https://fhir.infoway-inforoute.ca/NamingSystem/ca-on-provider-upi'}
                                index: 54
                              value: {index: 55}
                            required: [value, type, system, use]
                    identifier:
                      match: {url: identifier}
                      schema:
                        index: 56
                        elements:
                          url:
                            pattern: {type: Uri, value: identifier}
                            index: 57
                          value:
                            choices: [valueIdentifier]
                            index: 62
                            slicing:
                              slices:
                                valueIdentifier:
                                  match: {}
                                  schema:
                                    choices: [valueIdentifier]
                                    index: 62
                          valueIdentifier:
                            type: Identifier
                            choiceOf: value
                            index: 63
                            slicing:
                              slices:
                                valueIdentifier:
                                  match: {}
                                  schema: {type: Identifier, choiceOf: value, index: 63}
                          value[x]:
                            elements:
                              use: {index: 64}
                              type:
                                binding: {strength: extensible, valueSet: 'http://ehealthontario.ca/fhir/ValueSet/ppr-organization-identifier-type'}
                                index: 65
                                elements:
                                  coding:
                                    index: 66
                                    elements:
                                      system:
                                        pattern: {type: Uri, value: 'http://terminology.hl7.org/CodeSystem/v2-0203'}
                                        index: 67
                                      code: {index: 68}
                                    required: [system, code]
                                required: [coding]
                              system:
                                pattern: {type: Uri, value: 'http://ehealthontario.ca/fhir/NamingSystem/id-ppr-epid'}
                                index: 69
                              value: {index: 70}
                            required: [value, type, system, use]
                    address:
                      match: {url: address}
                      schema:
                        index: 71
                        elements:
                          url:
                            pattern: {type: Uri, value: address}
                            index: 72
                          value:
                            choices: [valueString]
                            index: 77
                            slicing:
                              slices:
                                valueString:
                                  match: {}
                                  schema:
                                    choices: [valueString]
                                    index: 77
                          valueString:
                            type: string
                            choiceOf: value
                            index: 78
                            slicing:
                              slices:
                                valueString:
                                  match: {}
                                  schema: {type: string, choiceOf: value, index: 78}
              valueSampledData: {type: SampledData, mustSupport: true, choiceOf: value, index: 119}
              valueDosage: {type: Dosage, mustSupport: true, choiceOf: value, index: 130}
              valueContactPoint: {type: ContactPoint, mustSupport: true, choiceOf: value, index: 107}
              url:
                pattern: {type: Uri, value: with}
                index: 79
              valueCodeableConcept: {type: CodeableConcept, mustSupport: true, choiceOf: value, index: 105}
              valueAnnotation: {type: Annotation, mustSupport: true, choiceOf: value, index: 103}
              valuePeriod: {type: Period, mustSupport: true, choiceOf: value, index: 114}
              valueDistance: {type: Distance, mustSupport: true, choiceOf: value, index: 109}
              valueRange: {type: Range, mustSupport: true, choiceOf: value, index: 116}
              valueSignature: {type: Signature, mustSupport: true, choiceOf: value, index: 120}
              valueUuid: {type: uuid, mustSupport: true, choiceOf: value, index: 100}
              valueInteger: {type: integer, mustSupport: true, choiceOf: value, index: 91}
              valueHumanName: {type: HumanName, mustSupport: true, choiceOf: value, index: 111}
              valueUnsignedInt: {type: unsignedInt, mustSupport: true, choiceOf: value, index: 97}
              valueAttachment: {type: Attachment, mustSupport: true, choiceOf: value, index: 104}
              valueOid: {type: oid, mustSupport: true, choiceOf: value, index: 93}
              valueAddress: {type: Address, mustSupport: true, choiceOf: value, index: 101}
              valueRelatedArtifact: {type: RelatedArtifact, mustSupport: true, choiceOf: value, index: 127}
              valuePositiveInt: {type: positiveInt, mustSupport: true, choiceOf: value, index: 94}
              valueId: {type: id, mustSupport: true, choiceOf: value, index: 89}
              valueUrl: {type: url, mustSupport: true, choiceOf: value, index: 99}
  url:
    pattern: {type: Uri, value: 'http://ehealthontario.ca/fhir/StructureDefinition/ca-on-ppr-ext-location-affiliation'}
    index: 131
  value:
    choices: []
    index: 133
package_version: 1.2.0
extensions:
  type:
    url: type
    short: kind of affiliation
    mustSupport: true
    _required: true
    index: 1
    elements:
      url:
        pattern: {type: Uri, value: type}
        index: 2
      value:
        mustSupport: true
        choices: [valueCodeableConcept]
        index: 7
        slicing:
          slices:
            valueCodeableConcept:
              match: {}
              schema:
                mustSupport: true
                choices: [valueCodeableConcept]
                index: 7
      valueCodeableConcept:
        type: CodeableConcept
        mustSupport: true
        choiceOf: value
        index: 8
        slicing:
          slices:
            valueCodeableConcept:
              match: {}
              schema: {type: CodeableConcept, mustSupport: true, choiceOf: value, index: 8}
      value[x]:
        elements:
          coding:
            mustSupport: true
            index: 9
            elements:
              system:
                pattern: {type: Uri, value: 'http://ehealthontario.ca/fhir/CodeSystem/ppr-provider-role-affiliation-type'}
                mustSupport: true
                index: 10
              code:
                binding: {strength: required, valueSet: 'http://ehealthontario.ca/fhir/ValueSet/ppr-provider-role-affiliation-type'}
                mustSupport: true
                index: 11
              display: {mustSupport: true, index: 12}
  period:
    url: period
    short: When affiliation is in effect
    mustSupport: true
    index: 13
    elements:
      url:
        pattern: {type: Uri, value: period}
        index: 14
      value:
        mustSupport: true
        choices: [valuePeriod]
        index: 19
        slicing:
          slices:
            valuePeriod:
              match: {}
              schema:
                mustSupport: true
                choices: [valuePeriod]
                index: 19
      valuePeriod:
        type: Period
        mustSupport: true
        choiceOf: value
        index: 20
        slicing:
          slices:
            valuePeriod:
              match: {}
              schema: {type: Period, mustSupport: true, choiceOf: value, index: 20}
      value[x]:
        elements:
          start: {mustSupport: true, index: 21}
          end: {mustSupport: true, index: 22}
  with:
    url: with
    short: Provider or Organization affiliated with
    mustSupport: true
    _required: true
    index: 23
    extensions:
      name:
        url: name
        mustSupport: true
        _required: true
        index: 25
        elements:
          url:
            pattern: {type: Uri, value: name}
            index: 26
          value:
            mustSupport: true
            choices: [valueString]
            index: 31
            slicing:
              slices:
                valueString:
                  match: {}
                  schema:
                    mustSupport: true
                    choices: [valueString]
                    index: 31
          valueString:
            type: string
            mustSupport: true
            choiceOf: value
            index: 32
            slicing:
              slices:
                valueString:
                  match: {}
                  schema: {type: string, mustSupport: true, choiceOf: value, index: 32}
      legalName:
        url: legalName
        mustSupport: true
        index: 33
        elements:
          url:
            pattern: {type: Uri, value: legalName}
            index: 34
          value:
            mustSupport: true
            choices: [valueString]
            index: 39
            slicing:
              slices:
                valueString:
                  match: {}
                  schema:
                    mustSupport: true
                    choices: [valueString]
                    index: 39
          valueString:
            type: string
            mustSupport: true
            choiceOf: value
            index: 40
            slicing:
              slices:
                valueString:
                  match: {}
                  schema: {type: string, mustSupport: true, choiceOf: value, index: 40}
      identifier-UPI:
        url: identifier-UPI
        index: 41
        elements:
          url:
            pattern: {type: Uri, value: identifier-UPI}
            index: 42
          value:
            choices: [valueIdentifier]
            index: 47
            slicing:
              slices:
                valueIdentifier:
                  match: {}
                  schema:
                    choices: [valueIdentifier]
                    index: 47
          valueIdentifier:
            type: Identifier
            choiceOf: value
            index: 48
            slicing:
              slices:
                valueIdentifier:
                  match: {}
                  schema: {type: Identifier, choiceOf: value, index: 48}
          value[x]:
            elements:
              use:
                pattern: {type: Code, value: official}
                index: 49
              type:
                binding: {strength: extensible, valueSet: 'http://ehealthontario.ca/fhir/ValueSet/ppr-organization-identifier-type'}
                index: 50
                elements:
                  coding:
                    index: 51
                    elements:
                      system:
                        pattern: {type: Uri, value: 'http://terminology.hl7.org/CodeSystem/v2-0203'}
                        index: 52
                      code:
                        pattern: {type: Code, value: PRN}
                        index: 53
                    required: [system, code]
                required: [coding]
              system:
                pattern: {type: Uri, value: 'https://fhir.infoway-inforoute.ca/NamingSystem/ca-on-provider-upi'}
                index: 54
              value: {index: 55}
            required: [value, type, system, use]
      identifier:
        url: identifier
        index: 56
        elements:
          url:
            pattern: {type: Uri, value: identifier}
            index: 57
          value:
            choices: [valueIdentifier]
            index: 62
            slicing:
              slices:
                valueIdentifier:
                  match: {}
                  schema:
                    choices: [valueIdentifier]
                    index: 62
          valueIdentifier:
            type: Identifier
            choiceOf: value
            index: 63
            slicing:
              slices:
                valueIdentifier:
                  match: {}
                  schema: {type: Identifier, choiceOf: value, index: 63}
          value[x]:
            elements:
              use: {index: 64}
              type:
                binding: {strength: extensible, valueSet: 'http://ehealthontario.ca/fhir/ValueSet/ppr-organization-identifier-type'}
                index: 65
                elements:
                  coding:
                    index: 66
                    elements:
                      system:
                        pattern: {type: Uri, value: 'http://terminology.hl7.org/CodeSystem/v2-0203'}
                        index: 67
                      code: {index: 68}
                    required: [system, code]
                required: [coding]
              system:
                pattern: {type: Uri, value: 'http://ehealthontario.ca/fhir/NamingSystem/id-ppr-epid'}
                index: 69
              value: {index: 70}
            required: [value, type, system, use]
      address:
        url: address
        index: 71
        elements:
          url:
            pattern: {type: Uri, value: address}
            index: 72
          value:
            choices: [valueString]
            index: 77
            slicing:
              slices:
                valueString:
                  match: {}
                  schema:
                    choices: [valueString]
                    index: 77
          valueString:
            type: string
            choiceOf: value
            index: 78
            slicing:
              slices:
                valueString:
                  match: {}
                  schema: {type: string, choiceOf: value, index: 78}
    elements:
      valueBase64Binary: {type: base64Binary, mustSupport: true, choiceOf: value, index: 82}
      valueAge: {type: Age, mustSupport: true, choiceOf: value, index: 102}
      valueParameterDefinition: {type: ParameterDefinition, mustSupport: true, choiceOf: value, index: 126}
      valueTiming: {type: Timing, mustSupport: true, choiceOf: value, index: 121}
      valueCode: {type: code, mustSupport: true, choiceOf: value, index: 85}
      valueReference: {type: Reference, mustSupport: true, choiceOf: value, index: 118}
      valueContributor: {type: Contributor, mustSupport: true, choiceOf: value, index: 123}
      valueContactDetail: {type: ContactDetail, mustSupport: true, choiceOf: value, index: 122}
      valueUri: {type: uri, mustSupport: true, choiceOf: value, index: 98}
      valueUsageContext: {type: UsageContext, mustSupport: true, choiceOf: value, index: 129}
      valueTime: {type: time, mustSupport: true, choiceOf: value, index: 96}
      valueDecimal: {type: decimal, mustSupport: true, choiceOf: value, index: 88}
      valueCanonical: {type: canonical, mustSupport: true, choiceOf: value, index: 84}
      valueMarkdown: {type: markdown, mustSupport: true, choiceOf: value, index: 92}
      valueIdentifier: {type: Identifier, mustSupport: true, choiceOf: value, index: 112}
      valueTriggerDefinition: {type: TriggerDefinition, mustSupport: true, choiceOf: value, index: 128}
      valueQuantity: {type: Quantity, mustSupport: true, choiceOf: value, index: 115}
      value:
        mustSupport: true
        choices: [valueBase64Binary, valueBoolean, valueCanonical, valueCode, valueDate, valueDateTime, valueDecimal, valueId, valueInstant, valueInteger, valueMarkdown, valueOid, valuePositiveInt, valueString, valueTime, valueUnsignedInt, valueUri, valueUrl, valueUuid, valueAddress, valueAge, valueAnnotation, valueAttachment, valueCodeableConcept, valueCoding, valueContactPoint, valueCount, valueDistance, valueDuration, valueHumanName, valueIdentifier, valueMoney, valuePeriod, valueQuantity, valueRange, valueRatio, valueReference, valueSampledData, valueSignature, valueTiming, valueContactDetail, valueContributor, valueDataRequirement, valueExpression, valueParameterDefinition, valueRelatedArtifact, valueTriggerDefinition, valueUsageContext, valueDosage]
        index: 81
      valueCount: {type: Count, mustSupport: true, choiceOf: value, index: 108}
      valueString: {type: string, mustSupport: true, choiceOf: value, index: 95}
      valueRatio: {type: Ratio, mustSupport: true, choiceOf: value, index: 117}
      valueBoolean: {type: boolean, mustSupport: true, choiceOf: value, index: 83}
      valueInstant: {type: instant, mustSupport: true, choiceOf: value, index: 90}
      valueDateTime: {type: dateTime, mustSupport: true, choiceOf: value, index: 87}
      valueDate: {type: date, mustSupport: true, choiceOf: value, index: 86}
      valueDuration: {type: Duration, mustSupport: true, choiceOf: value, index: 110}
      valueDataRequirement: {type: DataRequirement, mustSupport: true, choiceOf: value, index: 124}
      valueMoney: {type: Money, mustSupport: true, choiceOf: value, index: 113}
      valueCoding: {type: Coding, mustSupport: true, choiceOf: value, index: 106}
      valueExpression: {type: Expression, mustSupport: true, choiceOf: value, index: 125}
      extension:
        index: 24
        slicing:
          rules: open
          discriminator:
          - {path: url, type: value}
          min: null
          slices:
            name:
              match: {url: name}
              schema:
                mustSupport: true
                _required: true
                index: 25
                elements:
                  url:
                    pattern: {type: Uri, value: name}
                    index: 26
                  value:
                    mustSupport: true
                    choices: [valueString]
                    index: 31
                    slicing:
                      slices:
                        valueString:
                          match: {}
                          schema:
                            mustSupport: true
                            choices: [valueString]
                            index: 31
                  valueString:
                    type: string
                    mustSupport: true
                    choiceOf: value
                    index: 32
                    slicing:
                      slices:
                        valueString:
                          match: {}
                          schema: {type: string, mustSupport: true, choiceOf: value, index: 32}
            legalName:
              match: {url: legalName}
              schema:
                mustSupport: true
                index: 33
                elements:
                  url:
                    pattern: {type: Uri, value: legalName}
                    index: 34
                  value:
                    mustSupport: true
                    choices: [valueString]
                    index: 39
                    slicing:
                      slices:
                        valueString:
                          match: {}
                          schema:
                            mustSupport: true
                            choices: [valueString]
                            index: 39
                  valueString:
                    type: string
                    mustSupport: true
                    choiceOf: value
                    index: 40
                    slicing:
                      slices:
                        valueString:
                          match: {}
                          schema: {type: string, mustSupport: true, choiceOf: value, index: 40}
            identifier-UPI:
              match: {url: identifier-UPI}
              schema:
                index: 41
                elements:
                  url:
                    pattern: {type: Uri, value: identifier-UPI}
                    index: 42
                  value:
                    choices: [valueIdentifier]
                    index: 47
                    slicing:
                      slices:
                        valueIdentifier:
                          match: {}
                          schema:
                            choices: [valueIdentifier]
                            index: 47
                  valueIdentifier:
                    type: Identifier
                    choiceOf: value
                    index: 48
                    slicing:
                      slices:
                        valueIdentifier:
                          match: {}
                          schema: {type: Identifier, choiceOf: value, index: 48}
                  value[x]:
                    elements:
                      use:
                        pattern: {type: Code, value: official}
                        index: 49
                      type:
                        binding: {strength: extensible, valueSet: 'http://ehealthontario.ca/fhir/ValueSet/ppr-organization-identifier-type'}
                        index: 50
                        elements:
                          coding:
                            index: 51
                            elements:
                              system:
                                pattern: {type: Uri, value: 'http://terminology.hl7.org/CodeSystem/v2-0203'}
                                index: 52
                              code:
                                pattern: {type: Code, value: PRN}
                                index: 53
                            required: [system, code]
                        required: [coding]
                      system:
                        pattern: {type: Uri, value: 'https://fhir.infoway-inforoute.ca/NamingSystem/ca-on-provider-upi'}
                        index: 54
                      value: {index: 55}
                    required: [value, type, system, use]
            identifier:
              match: {url: identifier}
              schema:
                index: 56
                elements:
                  url:
                    pattern: {type: Uri, value: identifier}
                    index: 57
                  value:
                    choices: [valueIdentifier]
                    index: 62
                    slicing:
                      slices:
                        valueIdentifier:
                          match: {}
                          schema:
                            choices: [valueIdentifier]
                            index: 62
                  valueIdentifier:
                    type: Identifier
                    choiceOf: value
                    index: 63
                    slicing:
                      slices:
                        valueIdentifier:
                          match: {}
                          schema: {type: Identifier, choiceOf: value, index: 63}
                  value[x]:
                    elements:
                      use: {index: 64}
                      type:
                        binding: {strength: extensible, valueSet: 'http://ehealthontario.ca/fhir/ValueSet/ppr-organization-identifier-type'}
                        index: 65
                        elements:
                          coding:
                            index: 66
                            elements:
                              system:
                                pattern: {type: Uri, value: 'http://terminology.hl7.org/CodeSystem/v2-0203'}
                                index: 67
                              code: {index: 68}
                            required: [system, code]
                        required: [coding]
                      system:
                        pattern: {type: Uri, value: 'http://ehealthontario.ca/fhir/NamingSystem/id-ppr-epid'}
                        index: 69
                      value: {index: 70}
                    required: [value, type, system, use]
            address:
              match: {url: address}
              schema:
                index: 71
                elements:
                  url:
                    pattern: {type: Uri, value: address}
                    index: 72
                  value:
                    choices: [valueString]
                    index: 77
                    slicing:
                      slices:
                        valueString:
                          match: {}
                          schema:
                            choices: [valueString]
                            index: 77
                  valueString:
                    type: string
                    choiceOf: value
                    index: 78
                    slicing:
                      slices:
                        valueString:
                          match: {}
                          schema: {type: string, choiceOf: value, index: 78}
      valueSampledData: {type: SampledData, mustSupport: true, choiceOf: value, index: 119}
      valueDosage: {type: Dosage, mustSupport: true, choiceOf: value, index: 130}
      valueContactPoint: {type: ContactPoint, mustSupport: true, choiceOf: value, index: 107}
      url:
        pattern: {type: Uri, value: with}
        index: 79
      valueCodeableConcept: {type: CodeableConcept, mustSupport: true, choiceOf: value, index: 105}
      valueAnnotation: {type: Annotation, mustSupport: true, choiceOf: value, index: 103}
      valuePeriod: {type: Period, mustSupport: true, choiceOf: value, index: 114}
      valueDistance: {type: Distance, mustSupport: true, choiceOf: value, index: 109}
      valueRange: {type: Range, mustSupport: true, choiceOf: value, index: 116}
      valueSignature: {type: Signature, mustSupport: true, choiceOf: value, index: 120}
      valueUuid: {type: uuid, mustSupport: true, choiceOf: value, index: 100}
      valueInteger: {type: integer, mustSupport: true, choiceOf: value, index: 91}
      valueHumanName: {type: HumanName, mustSupport: true, choiceOf: value, index: 111}
      valueUnsignedInt: {type: unsignedInt, mustSupport: true, choiceOf: value, index: 97}
      valueAttachment: {type: Attachment, mustSupport: true, choiceOf: value, index: 104}
      valueOid: {type: oid, mustSupport: true, choiceOf: value, index: 93}
      valueAddress: {type: Address, mustSupport: true, choiceOf: value, index: 101}
      valueRelatedArtifact: {type: RelatedArtifact, mustSupport: true, choiceOf: value, index: 127}
      valuePositiveInt: {type: positiveInt, mustSupport: true, choiceOf: value, index: 94}
      valueId: {type: id, mustSupport: true, choiceOf: value, index: 89}
      valueUrl: {type: url, mustSupport: true, choiceOf: value, index: 99}
class: extension
kind: complex-type
url: http://ehealthontario.ca/fhir/StructureDefinition/ca-on-ppr-ext-location-affiliation
base: http://hl7.org/fhir/StructureDefinition/Extension
version: 1.0.0