PackagesCanonicalsLogsProblems
    Packages
    PCR.Core.STU3@1.0.0
    http://ehealthontario.ca/fhir/StructureDefinition/pcr-patient-response
description: This is the patient profile for patient response from PCR.
package_name: PCR.Core.STU3
derivation: constraint
name: pcr-patient-response
type: Patient
elements:
  address:
    short: Addresses for the individual. If multiple addresses exist, PCR will return the first 10 instances.
    constraint:
      pat-address-1: {human: 'SHALL at least contain a patient address or a data-absent-reason extension, not both', severity: warning, expression: 'address[1].line.exists() or address[1].city.exists() or address[1].postalCode.exists() or address[1].extension.exists()'}
    mustSupport: true
    index: 89
    extensions:
      data-absent-reason: {url: h, type: Extension, index: 91}
    elements:
      extension:
        index: 90
        slicing:
          rules: open
          discriminator:
          - {path: url, type: value}
          min: null
          slices:
            data-absent-reason:
              match: {url: null}
              schema: {type: Extension, url: h, index: 91}
      use: {mustSupport: true, index: 92}
      type: {mustSupport: true, index: 93}
      line: {mustSupport: true, array: true, max: 4, index: 94}
      city: {mustSupport: true, index: 95}
      state: {mustSupport: true, index: 96}
      postalCode: {mustSupport: true, index: 97}
      country: {mustSupport: true, index: 98}
    required: [type, use]
  meta:
    mustSupport: true
    index: 1
    elements:
      profile:
        pattern: {type: Uri, value: 'http://ehealthontario.ca/fhir/StructureDefinition/pcr-patient-response|2.0.0'}
        mustSupport: true
        index: 2
      security:
        mustSupport: true
        index: 3
        elements:
          system:
            pattern: {type: Uri, value: 'http://hl7.org/fhir/v3/Confidentiality'}
            mustSupport: true
            index: 4
          code: {short: N|R, mustSupport: true, index: 5}
          display: {short: normal or restricted, mustSupport: true, index: 6}
        required: [display, system, code]
      tag:
        index: 7
        elements:
          id: {index: 8}
          system:
            short: v3 Code System ObservationValue
            pattern: {type: Uri, value: 'http://hl7.org/fhir/v3/ObservationValue'}
            index: 9
          version: {index: 10}
          code:
            pattern: {type: Code, value: SUBSETTED}
            index: 11
          display:
            pattern: {type: String, value: subsetted}
            index: 12
          userSelected: {index: 13}
        required: [display, system, code]
    required: [security, profile]
  name:
    short: A name associated with the patient. If multiple names exists, PCR will return the first 20 instances
    constraint:
      pat-name-1: {human: 'SHALL at least contain a patient name or a data-absent-reason extension, not both', severity: warning, expression: 'name[1].given.exists() or name[1].family.exists() or name[1].extension.exists()'}
    mustSupport: true
    index: 60
    extensions:
      data-absent-reason: {url: h, type: Extension, mustSupport: true, index: 62}
    elements:
      extension:
        index: 61
        slicing:
          rules: open
          discriminator:
          - {path: url, type: value}
          min: null
          slices:
            data-absent-reason:
              match: {url: null}
              schema: {type: Extension, mustSupport: true, url: h, index: 62}
      family: {mustSupport: true, index: 63}
      given:
        mustSupport: true
        index: 64
        slicing:
          rules: open
          description: by extension('http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier')
          discriminator:
          - {path: 'extension(''http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier'')', type: exists}
          min: null
          slices:
            given-first:
              match: {}
              schema: {mustSupport: true, index: 65}
              max: 1
            given-middle:
              match: {}
              schema:
                mustSupport: true
                index: 66
                extensions:
                  EN-qualifier:
                    url: h
                    type: Extension
                    short: EN-qualifier
                    mustSupport: true
                    index: 68
                    elements:
                      valueCode:
                        pattern: {type: Code, value: MID}
                        index: 69
                        slicing:
                          slices:
                            valueCode:
                              match: {}
                              schema:
                                pattern: {type: Code, value: MID}
                                index: 69
                elements:
                  extension:
                    index: 67
                    slicing:
                      rules: open
                      discriminator:
                      - {path: url, type: value}
                      min: null
                      slices:
                        EN-qualifier:
                          match: {url: null}
                          schema:
                            type: Extension
                            short: EN-qualifier
                            mustSupport: true
                            url: h
                            index: 68
                            elements:
                              valueCode:
                                pattern: {type: Code, value: MID}
                                index: 69
                                slicing:
                                  slices:
                                    valueCode:
                                      match: {}
                                      schema:
                                        pattern: {type: Code, value: MID}
                                        index: 69
      prefix: {mustSupport: true, index: 70}
      suffix:
        mustSupport: true
        index: 71
        slicing:
          rules: open
          discriminator:
          - {path: 'extension(''http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier'')', type: exists}
          min: null
          slices:
            suffix-regular:
              match: {}
              schema: {mustSupport: true, index: 72}
              max: 1
            suffix-academic:
              match: {}
              schema:
                index: 73
                extensions:
                  EN-qualifier:
                    url: h
                    type: Extension
                    short: EN-qualifier
                    mustSupport: true
                    index: 75
                    elements:
                      valueCode:
                        pattern: {type: Code, value: AC}
                        index: 76
                        slicing:
                          slices:
                            valueCode:
                              match: {}
                              schema:
                                pattern: {type: Code, value: AC}
                                index: 76
                elements:
                  extension:
                    index: 74
                    slicing:
                      rules: open
                      discriminator:
                      - {path: url, type: value}
                      min: null
                      slices:
                        EN-qualifier:
                          match: {url: null}
                          schema:
                            type: Extension
                            short: EN-qualifier
                            mustSupport: true
                            url: h
                            index: 75
                            elements:
                              valueCode:
                                pattern: {type: Code, value: AC}
                                index: 76
                                slicing:
                                  slices:
                                    valueCode:
                                      match: {}
                                      schema:
                                        pattern: {type: Code, value: AC}
                                        index: 76
  birthDate:
    constraint:
      pat-birthDate-1: {human: 'SHALL at least contain a value or a data-absent-reason extension, not both', severity: warning, expression: birthDate.value.exists() or birthDate.extension.exists()}
    mustSupport: true
    index: 84
    extensions:
      data-absent-reason: {url: h, type: Extension, mustSupport: true, index: 86}
    elements:
      extension:
        index: 85
        slicing:
          rules: open
          discriminator:
          - {path: url, type: value}
          min: null
          slices:
            data-absent-reason:
              match: {url: null}
              schema: {type: Extension, mustSupport: true, url: h, index: 86}
  multipleBirth:
    mustSupport: true
    choices: []
    index: 100
  deceased:
    mustSupport: true
    choices: []
    index: 88
  communication:
    mustSupport: true
    index: 112
    elements:
      language:
        mustSupport: true
        index: 113
        elements:
          coding:
            mustSupport: true
            index: 114
            elements:
              system:
                pattern: {type: Uri, value: 'urn:ietf:bcp:47'}
                mustSupport: true
                index: 115
              code: {mustSupport: true, index: 116}
              display: {mustSupport: true, index: 117}
            required: [display, system, code]
        required: [coding]
      preferred: {mustSupport: true, index: 118}
  id: {short: Logical id of this artifact. Contain the PCR enterprise client id, index: 0}
  identifier:
    constraint:
      pat-identifier-1: {human: 'SHALL at least contain a patient identifier or a data-absent-reason extension, not both', severity: warning, expression: 'identifier[1].value.exists() or identifier.extension.exists()'}
    mustSupport: true
    index: 14
    extensions:
      data-absent-reason: {url: h, type: Extension, short: unknown | error, mustSupport: true, index: 16}
    elements:
      extension:
        index: 15
        slicing:
          rules: open
          discriminator:
          - {path: url, type: value}
          min: null
          slices:
            data-absent-reason:
              match: {url: null}
              schema: {type: Extension, short: unknown | error, mustSupport: true, url: h, index: 16}
      type:
        mustSupport: true
        index: 17
        elements:
          coding:
            mustSupport: true
            index: 18
            elements:
              system: {mustSupport: true, index: 19}
              code: {mustSupport: true, index: 20}
            required: [system, code]
          text: {mustSupport: true, index: 21}
        required: [coding, text]
      system: {mustSupport: true, index: 22}
      value: {mustSupport: true, index: 23}
    required: [value, system]
    slicing:
      rules: open
      discriminator:
      - {path: type.coding.code, type: value}
      min: 1
      slices:
        identifier-JHN:
          match:
            type:
              coding: {code: JHN}
          schema:
            short: A jurisdictional health number for this patient
            mustSupport: true
            index: 24
            elements:
              type:
                mustSupport: true
                index: 25
                elements:
                  coding:
                    mustSupport: true
                    index: 26
                    elements:
                      id: {index: 27}
                      system:
                        pattern: {type: Uri, value: 'http://hl7.org/fhir/v2/0203'}
                        index: 28
                      version: {index: 29}
                      code:
                        pattern: {type: Code, value: JHN}
                        index: 30
                      display: {index: 31}
                      userSelected: {index: 32}
                    required: [system, code]
                  text: {mustSupport: true, index: 33}
                required: [coding, text]
              system: {mustSupport: true, index: 34}
              value: {mustSupport: true, index: 35}
            required: [value, system]
        identifier-MR:
          match:
            type:
              coding: {code: MR}
          schema:
            mustSupport: true
            index: 36
            elements:
              type:
                mustSupport: true
                index: 37
                elements:
                  coding:
                    mustSupport: true
                    index: 38
                    elements:
                      system:
                        pattern: {type: Uri, value: 'http://hl7.org/fhir/v2/0203'}
                        mustSupport: true
                        index: 39
                      code:
                        pattern: {type: Code, value: MR}
                        mustSupport: true
                        index: 40
                  text: {mustSupport: true, index: 41}
                required: [coding, text]
              system: {mustSupport: true, index: 42}
              value: {mustSupport: true, index: 43}
            required: [value, system]
        identifier-ALT:
          match:
            type:
              coding: {code: ALT}
          schema:
            mustSupport: true
            index: 44
            elements:
              type:
                mustSupport: true
                index: 45
                elements:
                  coding:
                    mustSupport: true
                    index: 46
                    elements:
                      system:
                        pattern: {type: Uri, value: 'http://hl7.org/fhir/v2/0203'}
                        mustSupport: true
                        index: 47
                      code:
                        pattern: {type: Code, value: ALT}
                        mustSupport: true
                        index: 48
                    required: [system, code]
                  text: {index: 49}
                required: [coding, text]
              system: {mustSupport: true, index: 50}
              value: {mustSupport: true, index: 51}
            required: [value, system]
        identifier-EID:
          match:
            type:
              coding: {code: EID}
          schema:
            mustSupport: true
            index: 52
            elements:
              type:
                mustSupport: true
                index: 53
                elements:
                  coding:
                    mustSupport: true
                    index: 54
                    elements:
                      system:
                        pattern: {type: Uri, value: 'http://hl7.org/fhir/v2/0203'}
                        mustSupport: true
                        index: 55
                      code:
                        pattern: {type: Code, value: EID}
                        mustSupport: true
                        index: 56
                    required: [system, code]
                  text: {mustSupport: true, index: 57}
                required: [coding, text]
              system:
                pattern: {type: Uri, value: 'http://ehealthontario.ca/fhir/NamingSystem/id-pcr-eid'}
                mustSupport: true
                index: 58
              value: {mustSupport: true, index: 59}
            required: [value, system]
  telecom:
    short: A contact detail for the individual. If multiple telecom exists, PCR will return the first 10 instances.
    constraint:
      pat-telecome-1: {human: 'SHALL at least contain a patient telecom or a data-absent-reason extension, not both', severity: warning, expression: 'telecom[1].value.exists() or telecom[1].extension.exists()'}
    mustSupport: true
    index: 77
    extensions:
      data-absent-reason: {url: h, type: Extension, mustSupport: true, index: 79}
    elements:
      extension:
        index: 78
        slicing:
          rules: open
          discriminator:
          - {path: url, type: value}
          min: null
          slices:
            data-absent-reason:
              match: {url: null}
              schema: {type: Extension, mustSupport: true, url: h, index: 79}
      system: {short: phone | fax | email | pager | other, mustSupport: true, index: 80}
      value: {mustSupport: true, index: 81}
      use: {mustSupport: true, index: 82}
    required: [value, system, use]
  gender: {short: male | female | unknown, mustSupport: true, index: 83}
  contact:
    mustSupport: true
    index: 101
    elements:
      relationship:
        mustSupport: true
        index: 102
        elements:
          coding:
            pattern:
              type: Coding
              value: {code: C, system: 'http://hl7.org/fhir/v2/0131', display: Emergency Contact}
            mustSupport: true
            index: 103
            elements:
              id: {index: 104}
              system:
                pattern: {type: Uri, value: 'http://hl7.org/fhir/v2/0131'}
                index: 105
              version: {index: 106}
              code:
                pattern: {type: Code, value: C}
                index: 107
              display:
                pattern: {type: String, value: Emergency Contact}
                index: 108
              userSelected: {index: 109}
            required: [display, system, code]
        required: [coding]
      telecom:
        mustSupport: true
        index: 110
        elements:
          value: {mustSupport: true, index: 111}
        required: [value]
    required: [relationship, telecom]
package_version: 1.0.0
class: profile
kind: resource
url: http://ehealthontario.ca/fhir/StructureDefinition/pcr-patient-response
base: http://hl7.org/fhir/StructureDefinition/Patient
version: 2.0.0
required: [id, gender, name, address, identifier, birthDate, meta, telecom]