PackagesCanonicalsLogsProblems
    Packages
    PGO.02@1.02.1
    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: PGO.02
derivation: constraint
name: nl core patient
type: Patient
elements:
  address:
    type: Address
    short: AddressInformation
    index: 23
    extensions:
      official:
        url: null
        index: 24
        elements:
          valueBoolean:
            index: 25
            slicing:
              slices:
                valueBoolean:
                  match: {}
                  schema: {index: 25}
    elements:
      extension:
        index: 24
        slicing:
          slices:
            official:
              match: {}
              schema:
                index: 24
                elements:
                  valueBoolean:
                    index: 25
                    slicing:
                      slices:
                        valueBoolean:
                          match: {}
                          schema: {index: 25}
  name: {type: HumanName, short: NameInformation, index: 14}
  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: 20}
  multipleBirth:
    short: MultipleBirthIndicator
    choices: []
    index: 28
  deceased:
    short: DeathIndicator/DateOfDeath
    choices: []
    index: 22
  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
            elements:
              valueReference:
                index: 2
                slicing:
                  slices:
                    valueReference:
                      match: {}
                      schema: {index: 2}
        nationality:
          match: {url: null}
          schema: {short: Nationality, type: Extension, url: h, index: 3}
        legalStatus:
          match: {url: null}
          schema:
            type: Extension
            url: h
            index: 4
            elements:
              valueCodeableConcept:
                index: 5
                slicing:
                  slices:
                    valueCodeableConcept:
                      match: {}
                      schema:
                        _required: true
                        index: 5
                        elements:
                          coding:
                            index: 6
                            elements:
                              system: {index: 7}
                              code: {index: 8}
                            required: [system, code]
                        required: [coding]
            required: [valueCodeableConcept]
  active: {index: 13}
  communication:
    index: 41
    extensions:
      languageProficiency:
        url: h
        type: Extension
        index: 43
        extensions:
          level:
            url: null
            index: 44
            elements:
              valueCoding:
                index: 45
                slicing:
                  slices:
                    valueCoding:
                      match: {}
                      schema: {index: 45}
          type:
            url: null
            index: 46
            elements:
              valueCoding:
                index: 47
                slicing:
                  slices:
                    valueCoding:
                      match: {}
                      schema: {index: 47}
        elements:
          extension:
            index: 44
            slicing:
              slices:
                level:
                  match: {}
                  schema:
                    index: 44
                    elements:
                      valueCoding:
                        index: 45
                        slicing:
                          slices:
                            valueCoding:
                              match: {}
                              schema: {index: 45}
                type:
                  match: {}
                  schema:
                    index: 46
                    elements:
                      valueCoding:
                        index: 47
                        slicing:
                          slices:
                            valueCoding:
                              match: {}
                              schema: {index: 47}
      comment: {url: h, type: Extension, index: 48}
    elements:
      extension:
        index: 42
        slicing:
          rules: open
          discriminator:
          - {path: url, type: value}
          min: null
          slices:
            languageProficiency:
              match: {url: null}
              schema:
                type: Extension
                url: h
                index: 43
                extensions:
                  level:
                    url: null
                    index: 44
                    elements:
                      valueCoding:
                        index: 45
                        slicing:
                          slices:
                            valueCoding:
                              match: {}
                              schema: {index: 45}
                  type:
                    url: null
                    index: 46
                    elements:
                      valueCoding:
                        index: 47
                        slicing:
                          slices:
                            valueCoding:
                              match: {}
                              schema: {index: 47}
                elements:
                  extension:
                    index: 44
                    slicing:
                      slices:
                        level:
                          match: {}
                          schema:
                            index: 44
                            elements:
                              valueCoding:
                                index: 45
                                slicing:
                                  slices:
                                    valueCoding:
                                      match: {}
                                      schema: {index: 45}
                        type:
                          match: {}
                          schema:
                            index: 46
                            elements:
                              valueCoding:
                                index: 47
                                slicing:
                                  slices:
                                    valueCoding:
                                      match: {}
                                      schema: {index: 47}
            comment:
              match: {url: null}
              schema: {type: Extension, url: h, index: 48}
      language: {short: CommunicationLanguage, index: 49}
  identifier:
    short: PatientIdentificationNumber
    index: 9
    slicing:
      rules: open
      discriminator:
      - {path: system, type: value}
      min: null
      slices:
        BSN:
          match: {system: 'http://fhir.nl/fhir/NamingSystem/bsn'}
          schema:
            short: BSN
            index: 10
            elements:
              system:
                pattern: {type: Uri, value: 'http://fhir.nl/fhir/NamingSystem/bsn'}
                index: 11
              value: {short: BSN (Burgerservicenummer (Dutch person identification number)), index: 12}
            required: [value, system]
  telecom:
    short: ContactInformation
    index: 15
    elements:
      system: {index: 16}
      value: {short: TelephoneNumber / E-mailAddress, index: 17}
      use: {short: NumberType / E-mailAddressType, index: 18}
    required: [value, system]
  generalPractitioner:
    type: Reference
    short: GeneralPractitioner
    refers: ['http://fhir.nl/fhir/StructureDefinition/nl-core-organization', 'http://fhir.nl/fhir/StructureDefinition/nl-core-practitioner']
    index: 50
  gender: {short: Gender, index: 19}
  maritalStatus: {short: MaritalStatus, index: 26}
  contact:
    short: ContactPerson
    index: 29
    elements:
      relationship:
        index: 30
        slicing:
          rules: open
          discriminator:
          - {path: coding.system, type: value}
          min: null
          slices:
            relationship:
              match:
                coding: {system: null}
              schema: {short: Relationship, index: 31}
            role:
              match:
                coding: {system: null}
              schema: {short: Role, index: 32}
      name: {type: HumanName, short: NameInformation, index: 33}
      telecom:
        short: ContactInformation
        index: 34
        elements:
          system: {index: 35}
          value: {short: TelephoneNumber / E-mailAddress, index: 36}
          use: {short: NumberType / E-mailAddressType, index: 37}
        required: [value, system]
      address:
        type: Address
        short: AddressInformation
        index: 38
        extensions:
          official:
            url: null
            index: 39
            elements:
              valueBoolean:
                index: 40
                slicing:
                  slices:
                    valueBoolean:
                      match: {}
                      schema: {index: 40}
        elements:
          extension:
            index: 39
            slicing:
              slices:
                official:
                  match: {}
                  schema:
                    index: 39
                    elements:
                      valueBoolean:
                        index: 40
                        slicing:
                          slices:
                            valueBoolean:
                              match: {}
                              schema: {index: 40}
package_version: 1.02.1
extensions:
  preferredPharmacy:
    url: h
    type: Extension
    short: References a patient's preferered pharmacy
    index: 1
    elements:
      valueReference:
        index: 2
        slicing:
          slices:
            valueReference:
              match: {}
              schema: {index: 2}
  nationality: {url: h, short: Nationality, type: Extension, index: 3}
  legalStatus:
    url: h
    type: Extension
    index: 4
    elements:
      valueCodeableConcept:
        index: 5
        slicing:
          slices:
            valueCodeableConcept:
              match: {}
              schema:
                _required: true
                index: 5
                elements:
                  coding:
                    index: 6
                    elements:
                      system: {index: 7}
                      code: {index: 8}
                    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.1