PackagesCanonicalsLogsProblems
    Packages
    fhir.hrsa.uds@plus-1.0.1
    http://fhir.org/guides/hrsa/uds-plus/StructureDefinition/uds-plus-import-manifest
description: The UDS+ profile is based on the **Parameters FHIR Resource and establishes the core elements, extensions, vocabularies and value sets for representing the Manifest for UDS+ import FHIR Operations.
package_name: fhir.hrsa.uds
derivation: constraint
name: UDSPlusImportManifest
type: Parameters
elements:
  parameter:
    mustSupport: true
    array: true
    min: 2
    index: 0
    slicing:
      rules: open
      discriminator:
      - {path: $this.name, type: value}
      min: 2
      slices:
        inputFormat:
          match:
            $this: {name: null}
          schema:
            mustSupport: true
            _required: true
            index: 1
            elements:
              name:
                pattern: {type: String, value: inputFormat}
                mustSupport: true
                index: 2
              value:
                pattern: {type: Code, value: fhir+ndjson}
                mustSupport: true
                choices: [valueCode]
                index: 4
              valueCode:
                type: code
                pattern: {type: Code, value: fhir+ndjson}
                mustSupport: true
                choiceOf: value
                index: 5
            required: [valueCode, name, value]
        submissionId:
          match:
            $this: {name: null}
          schema:
            mustSupport: true
            _required: true
            index: 6
            elements:
              name:
                pattern: {type: String, value: submissionId}
                mustSupport: true
                index: 7
              value:
                mustSupport: true
                choices: [valueString]
                index: 9
              valueString: {type: string, mustSupport: true, choiceOf: value, index: 10}
            required: [valueString, name, value]
        submissionTime:
          match:
            $this: {name: null}
          schema:
            mustSupport: true
            _required: true
            index: 11
            elements:
              name:
                pattern: {type: String, value: submissionTime}
                mustSupport: true
                index: 12
              value:
                mustSupport: true
                choices: [valueDateTime]
                index: 14
              valueDateTime: {type: dateTime, mustSupport: true, choiceOf: value, index: 15}
            required: [valueDateTime, name, value]
        hcInformation:
          match:
            $this: {name: null}
          schema:
            mustSupport: true
            _required: true
            index: 16
            elements:
              name:
                pattern: {type: String, value: hcInformation}
                mustSupport: true
                index: 17
              part:
                mustSupport: true
                array: true
                min: 7
                index: 18
                slicing:
                  rules: open
                  discriminator:
                  - {path: $this.name, type: value}
                  min: 7
                  slices:
                    ueiNumber:
                      match:
                        $this: {name: null}
                      schema:
                        mustSupport: true
                        _required: true
                        index: 19
                        elements:
                          name:
                            pattern: {type: String, value: uei}
                            mustSupport: true
                            index: 20
                          value:
                            mustSupport: true
                            choices: [valueString]
                            index: 22
                          valueString: {type: string, mustSupport: true, choiceOf: value, index: 23}
                        required: [valueString, name, value]
                    grantNumber:
                      match:
                        $this: {name: null}
                      schema:
                        mustSupport: true
                        _required: true
                        index: 24
                        elements:
                          name:
                            pattern: {type: String, value: grantNumber}
                            mustSupport: true
                            index: 25
                          value:
                            mustSupport: true
                            choices: [valueString]
                            index: 27
                          valueString: {type: string, mustSupport: true, choiceOf: value, index: 28}
                        required: [valueString, name, value]
                    hcName:
                      match:
                        $this: {name: null}
                      schema:
                        mustSupport: true
                        _required: true
                        index: 29
                        elements:
                          name:
                            pattern: {type: String, value: hcName}
                            mustSupport: true
                            index: 30
                          value:
                            mustSupport: true
                            choices: [valueString]
                            index: 32
                          valueString: {type: string, mustSupport: true, choiceOf: value, index: 33}
                        required: [valueString, name, value]
                    hcAddress:
                      match:
                        $this: {name: null}
                      schema:
                        mustSupport: true
                        _required: true
                        index: 34
                        elements:
                          name:
                            pattern: {type: String, value: hcAddress}
                            mustSupport: true
                            index: 35
                          value:
                            mustSupport: true
                            choices: [valueAddress]
                            index: 37
                          valueAddress: {type: Address, mustSupport: true, choiceOf: value, index: 38}
                          value[x]:
                            elements:
                              line: {type: string, mustSupport: true, array: true, min: 1, index: 39}
                              city: {type: string, mustSupport: true, index: 40}
                              state: {type: string, mustSupport: true, index: 41}
                              postalCode: {type: string, mustSupport: true, index: 42}
                            required: [city, postalCode, line, state]
                        required: [valueAddress, name, value]
                    hcContactPerson:
                      match:
                        $this: {name: null}
                      schema:
                        mustSupport: true
                        _required: true
                        index: 43
                        elements:
                          name:
                            pattern: {type: String, value: hcContactPerson}
                            mustSupport: true
                            index: 44
                          value:
                            mustSupport: true
                            choices: [valueHumanName]
                            index: 46
                          valueHumanName: {type: HumanName, mustSupport: true, choiceOf: value, index: 47}
                          value[x]:
                            elements:
                              family: {type: string, mustSupport: true, index: 48}
                              given: {type: string, mustSupport: true, array: true, min: 1, index: 49}
                            required: [given, family]
                        required: [valueHumanName, name, value]
                    hcContactPhone:
                      match:
                        $this: {name: null}
                      schema:
                        mustSupport: true
                        _required: true
                        index: 50
                        elements:
                          name:
                            pattern: {type: String, value: hcContactPhone}
                            mustSupport: true
                            index: 51
                          value:
                            mustSupport: true
                            choices: [valueContactPoint]
                            index: 53
                          valueContactPoint: {type: ContactPoint, mustSupport: true, choiceOf: value, index: 54}
                          value[x]:
                            elements:
                              system:
                                type: code
                                pattern: {type: Code, value: phone}
                                mustSupport: true
                                index: 55
                              value: {type: string, mustSupport: true, index: 56}
                            required: [value, system]
                        required: [valueContactPoint, name, value]
                    hcPrenatalCareByReferralOnly:
                      match:
                        $this: {name: null}
                      schema:
                        mustSupport: true
                        _required: true
                        index: 57
                        elements:
                          name:
                            pattern: {type: String, value: hcPrenatalCareByReferralOnly}
                            mustSupport: true
                            index: 58
                          value:
                            mustSupport: true
                            choices: [valueBoolean]
                            index: 60
                          valueBoolean: {type: boolean, mustSupport: true, choiceOf: value, index: 61}
                        required: [name, value, valueBoolean]
            required: [name]
        importProtocol:
          match:
            $this: {name: null}
          schema:
            mustSupport: true
            _required: true
            index: 62
            elements:
              name:
                pattern: {type: String, value: importProtocol}
                mustSupport: true
                index: 63
              value:
                pattern: {type: Code, value: https}
                mustSupport: true
                choices: [valueCode]
                index: 65
              valueCode:
                type: code
                pattern: {type: Code, value: https}
                mustSupport: true
                choiceOf: value
                index: 66
            required: [valueCode, name, value]
        udsData:
          match:
            $this: {name: null}
          schema:
            mustSupport: true
            array: true
            index: 67
            elements:
              name:
                pattern: {type: String, value: udsData}
                mustSupport: true
                index: 68
              part:
                mustSupport: true
                array: true
                index: 69
                slicing:
                  rules: open
                  discriminator:
                  - {path: $this.name, type: value}
                  min: 0
                  slices:
                    resourceType:
                      match:
                        $this: {name: null}
                      schema:
                        mustSupport: true
                        _required: true
                        index: 70
                        elements:
                          name:
                            pattern: {type: String, value: type}
                            mustSupport: true
                            index: 71
                          value:
                            mustSupport: true
                            choices: [valueCode]
                            index: 73
                          valueCode: {type: code, mustSupport: true, choiceOf: value, index: 74}
                        required: [valueCode, name, value]
                    resourceUrl:
                      match:
                        $this: {name: null}
                      schema:
                        mustSupport: true
                        _required: true
                        index: 75
                        elements:
                          name:
                            pattern: {type: String, value: url}
                            mustSupport: true
                            index: 76
                          value:
                            mustSupport: true
                            choices: [valueUrl]
                            index: 78
                          valueUrl: {type: url, mustSupport: true, choiceOf: value, index: 79}
                        required: [name, value, valueUrl]
                    resourceUrlExpirationTime:
                      match:
                        $this: {name: null}
                      schema:
                        mustSupport: true
                        _required: true
                        index: 80
                        elements:
                          name:
                            pattern: {type: String, value: expirationTime}
                            mustSupport: true
                            index: 81
                          value:
                            mustSupport: true
                            choices: [valueDateTime]
                            index: 83
                          valueDateTime: {type: dateTime, mustSupport: true, choiceOf: value, index: 84}
                        required: [valueDateTime, name, value]
                    importAccessToken:
                      match:
                        $this: {name: null}
                      schema:
                        mustSupport: true
                        index: 85
                        elements:
                          name:
                            pattern: {type: String, value: bearer}
                            mustSupport: true
                            index: 86
                          value:
                            mustSupport: true
                            choices: [valueString]
                            index: 88
                          valueString: {type: string, mustSupport: true, choiceOf: value, index: 89}
                        required: [valueString, name, value]
            required: [name]
package_version: plus-1.0.1
class: profile
kind: resource
url: http://fhir.org/guides/hrsa/uds-plus/StructureDefinition/uds-plus-import-manifest
base: http://hl7.org/fhir/StructureDefinition/Parameters
version: 1.0.1