PackagesCanonicalsLogsProblems
    Packages
    nictiz.fhir.nl.stu3.zib2017@1.3.2
    http://fhir.nl/fhir/StructureDefinition/nl-core-patient
description: 'A Patient resource as defined by the Dutch Health and Care Information models or HCIM (Dutch: Zorginformatiebouwsteen or ZIB) Patient, with additions from the HCIMs Nationality, MaritalStatus, ContactPerson, LanguageProficiency, HealthProfessional and HealthcareProvider (HCIM releases 2015, 2016 and 2017)'
package_name: nictiz.fhir.nl.stu3.zib2017
derivation: constraint
name: nl-core-patient
type: Patient
elements:
  address: {type: Address, short: AddressInformation, index: 26}
  name: {type: HumanName, short: NameInformation, index: 17}
  birthDate: {short: 'Patients date of birth. The date of birth is mandatory for a patient. An incomplete date, e.g. only year or only year + month, is permitted.', index: 23}
  multipleBirth:
    short: MultipleBirthIndicator
    choices: []
    index: 29
  deceased:
    short: DeathIndicator/DateOfDeath
    choices: []
    index: 25
  extension:
    index: 0
    slicing:
      rules: open
      discriminator:
      - {path: url, type: value}
      min: null
      slices:
        preferredPharmacy:
          match: {url: null}
          schema: {type: Extension, short: References a patient's preferered pharmacy, url: h, index: 1}
          max: 1
        nationality:
          match: {url: null}
          schema:
            type: Extension
            url: h
            index: 2
            extensions:
              code:
                url: null
                index: 3
                elements:
                  valueCodeableConcept:
                    index: 4
                    slicing:
                      slices:
                        valueCodeableConcept:
                          match: {}
                          schema: {index: 4}
              period:
                url: null
                index: 5
                elements:
                  valuePeriod:
                    index: 6
                    slicing:
                      slices:
                        valuePeriod:
                          match: {}
                          schema: {index: 6}
            elements:
              extension:
                index: 3
                slicing:
                  slices:
                    code:
                      match: {}
                      schema:
                        index: 3
                        elements:
                          valueCodeableConcept:
                            index: 4
                            slicing:
                              slices:
                                valueCodeableConcept:
                                  match: {}
                                  schema: {index: 4}
                    period:
                      match: {}
                      schema:
                        index: 5
                        elements:
                          valuePeriod:
                            index: 6
                            slicing:
                              slices:
                                valuePeriod:
                                  match: {}
                                  schema: {index: 6}
        legalStatus:
          match: {url: null}
          schema:
            type: Extension
            url: h
            index: 7
            elements:
              valueCodeableConcept:
                index: 8
                slicing:
                  slices:
                    valueCodeableConcept:
                      match: {}
                      schema:
                        _required: true
                        index: 8
                        elements:
                          coding:
                            index: 9
                            elements:
                              system: {index: 10}
                              code: {index: 11}
                            required: [system, code]
                        required: [coding]
            required: [valueCodeableConcept]
  active: {index: 16}
  communication:
    index: 37
    extensions:
      languageProficiency:
        url: h
        type: Extension
        index: 39
        extensions:
          level:
            url: null
            index: 40
            elements:
              valueCoding:
                index: 41
                slicing:
                  slices:
                    valueCoding:
                      match: {}
                      schema: {index: 41}
          type:
            url: null
            index: 42
            elements:
              valueCoding:
                index: 43
                slicing:
                  slices:
                    valueCoding:
                      match: {}
                      schema: {index: 43}
        elements:
          extension:
            index: 40
            slicing:
              slices:
                level:
                  match: {}
                  schema:
                    index: 40
                    elements:
                      valueCoding:
                        index: 41
                        slicing:
                          slices:
                            valueCoding:
                              match: {}
                              schema: {index: 41}
                type:
                  match: {}
                  schema:
                    index: 42
                    elements:
                      valueCoding:
                        index: 43
                        slicing:
                          slices:
                            valueCoding:
                              match: {}
                              schema: {index: 43}
      comment: {url: h, type: Extension, index: 44}
    elements:
      extension:
        index: 38
        slicing:
          rules: open
          discriminator:
          - {path: url, type: value}
          min: null
          slices:
            languageProficiency:
              match: {url: null}
              schema:
                type: Extension
                url: h
                index: 39
                extensions:
                  level:
                    url: null
                    index: 40
                    elements:
                      valueCoding:
                        index: 41
                        slicing:
                          slices:
                            valueCoding:
                              match: {}
                              schema: {index: 41}
                  type:
                    url: null
                    index: 42
                    elements:
                      valueCoding:
                        index: 43
                        slicing:
                          slices:
                            valueCoding:
                              match: {}
                              schema: {index: 43}
                elements:
                  extension:
                    index: 40
                    slicing:
                      slices:
                        level:
                          match: {}
                          schema:
                            index: 40
                            elements:
                              valueCoding:
                                index: 41
                                slicing:
                                  slices:
                                    valueCoding:
                                      match: {}
                                      schema: {index: 41}
                        type:
                          match: {}
                          schema:
                            index: 42
                            elements:
                              valueCoding:
                                index: 43
                                slicing:
                                  slices:
                                    valueCoding:
                                      match: {}
                                      schema: {index: 43}
            comment:
              match: {url: null}
              schema: {type: Extension, url: h, index: 44}
      language: {short: CommunicationLanguage, index: 45}
  identifier:
    short: PatientIdentificationNumber
    index: 12
    slicing:
      rules: open
      discriminator:
      - {path: system, type: value}
      min: null
      slices:
        BSN:
          match: {system: 'http://fhir.nl/fhir/NamingSystem/bsn'}
          schema:
            short: BSN
            index: 13
            elements:
              system:
                pattern: {type: Uri, value: 'http://fhir.nl/fhir/NamingSystem/bsn'}
                index: 14
              value: {short: BSN (Burgerservicenummer (Dutch person identification number)), index: 15}
            required: [value, system]
  telecom: {type: ContactPoint, short: ContactInformation, index: 18}
  generalPractitioner:
    type: Reference
    short: GeneralPractitioner
    refers: ['http://fhir.nl/fhir/StructureDefinition/nl-core-organization', 'http://fhir.nl/fhir/StructureDefinition/nl-core-practitioner']
    index: 46
    extensions:
      practitionerRole: {url: h, max: 1, type: Extension, index: 48}
    elements:
      extension:
        index: 47
        slicing:
          rules: open
          discriminator:
          - {path: url, type: value}
          min: null
          slices:
            practitionerRole:
              match: {url: null}
              schema: {type: Extension, url: h, index: 48}
              max: 1
  gender:
    short: Gender
    index: 19
    extensions:
      GeslachtCodelijst:
        url: h
        type: Extension
        short: Gender
        index: 21
        elements:
          valueCodeableConcept:
            index: 22
            slicing:
              slices:
                valueCodeableConcept:
                  match: {}
                  schema: {index: 22}
    elements:
      extension:
        index: 20
        slicing:
          rules: open
          discriminator:
          - {path: url, type: value}
          min: null
          slices:
            GeslachtCodelijst:
              match: {url: null}
              schema:
                type: Extension
                short: Gender
                url: h
                index: 21
                elements:
                  valueCodeableConcept:
                    index: 22
                    slicing:
                      slices:
                        valueCodeableConcept:
                          match: {}
                          schema: {index: 22}
  maritalStatus: {short: MaritalStatus, index: 27}
  contact:
    short: ContactPerson
    index: 30
    elements:
      relationship:
        index: 31
        slicing:
          rules: open
          discriminator:
          - {path: coding.system, type: value}
          min: null
          slices:
            relationship:
              match:
                coding: {system: null}
              schema: {short: Relationship, index: 32}
            role:
              match:
                coding: {system: null}
              schema: {short: Role, index: 33}
      name: {type: HumanName, short: NameInformation, index: 34}
      telecom: {type: ContactPoint, short: ContactInformation, index: 35}
      address: {type: Address, short: AddressInformation, index: 36}
package_version: 1.3.2
extensions:
  preferredPharmacy: {url: h, max: 1, type: Extension, short: References a patient's preferered pharmacy, index: 1}
  nationality:
    url: h
    type: Extension
    index: 2
    extensions:
      code:
        url: null
        index: 3
        elements:
          valueCodeableConcept:
            index: 4
            slicing:
              slices:
                valueCodeableConcept:
                  match: {}
                  schema: {index: 4}
      period:
        url: null
        index: 5
        elements:
          valuePeriod:
            index: 6
            slicing:
              slices:
                valuePeriod:
                  match: {}
                  schema: {index: 6}
    elements:
      extension:
        index: 3
        slicing:
          slices:
            code:
              match: {}
              schema:
                index: 3
                elements:
                  valueCodeableConcept:
                    index: 4
                    slicing:
                      slices:
                        valueCodeableConcept:
                          match: {}
                          schema: {index: 4}
            period:
              match: {}
              schema:
                index: 5
                elements:
                  valuePeriod:
                    index: 6
                    slicing:
                      slices:
                        valuePeriod:
                          match: {}
                          schema: {index: 6}
  legalStatus:
    url: h
    type: Extension
    index: 7
    elements:
      valueCodeableConcept:
        index: 8
        slicing:
          slices:
            valueCodeableConcept:
              match: {}
              schema:
                _required: true
                index: 8
                elements:
                  coding:
                    index: 9
                    elements:
                      system: {index: 10}
                      code: {index: 11}
                    required: [system, code]
                required: [coding]
    required: [valueCodeableConcept]
class: profile
kind: resource
url: http://fhir.nl/fhir/StructureDefinition/nl-core-patient
base: http://hl7.org/fhir/StructureDefinition/Patient
version: 2.1.4