PackagesCanonicalsLogsProblems
    Packages
    ca.qc.sq.sgrdv@1.0.3
    http://sante.quebec/fhir/StructureDefinition/sgrdv-base-find-patient
description: Profil patient neutre utilisé dans les demandes de disponibilités. Inclut le sexe à la naissance (via extension dédiée) et la relation patient-médecin.
package_name: ca.qc.sq.sgrdv
derivation: constraint
name: SGRDVBaseFindPatient
type: Patient
elements:
  contained:
    index: 0
    slicing:
      rules: open
      discriminator:
      - {path: $this, type: type}
      min: null
      slices:
        gpPractitionerRole:
          match: {}
          schema: {type: PractitionerRole, array: true, index: 1}
          min: 0
        gpPractitioner:
          match: {}
          schema: {type: Practitioner, array: true, index: 2}
          min: 0
        gpOrganization:
          match: {}
          schema: {type: Organization, array: true, index: 3}
          min: 0
  extension:
    array: true
    min: 2
    index: 4
    slicing:
      rules: open
      ordered: false
      discriminator:
      - {path: url, type: value}
      min: 2
      slices:
        birthGender:
          match: {url: null}
          schema:
            type: Extension
            mustSupport: true
            url: http://sante.quebec/fhir/StructureDefinition/sgrdv-patient-birth-gender
            index: 5
            elements:
              value:
                mustSupport: true
                choices: []
                index: 7
        admisGap:
          match: {url: null}
          schema:
            type: Extension
            mustSupport: true
            url: http://sante.quebec/fhir/StructureDefinition/sgrdv-patient-admis-gap
            index: 8
            elements:
              value:
                mustSupport: true
                choices: []
                index: 10
  identifier:
    mustSupport: true
    index: 11
    elements:
      type:
        binding: {strength: extensible, valueSet: 'http://sante.quebec/fhir/ValueSet/sgrdv-identifier-type-vs'}
        mustSupport: true
        index: 12
      system: {mustSupport: true, index: 13}
      value: {mustSupport: true, index: 14}
  name:
    mustSupport: true
    index: 15
    elements:
      family: {mustSupport: true, index: 16}
      given: {mustSupport: true, index: 17}
    required: [given, family]
  telecom:
    mustSupport: true
    index: 18
    slicing:
      rules: open
      discriminator:
      - {path: system, type: value}
      min: null
      slices:
        phone:
          match: {system: phone}
          schema:
            mustSupport: true
            index: 19
            elements:
              system:
                pattern: {type: Code, value: phone}
                index: 20
              value: {mustSupport: true, index: 21}
            required: [value, system]
        email:
          match: {system: email}
          schema:
            mustSupport: true
            index: 22
            elements:
              system:
                pattern: {type: Code, value: email}
                index: 23
              value: {mustSupport: true, index: 24}
            required: [value, system]
  birthDate: {mustSupport: true, index: 25}
  contact:
    mustSupport: true
    array: true
    max: 2
    index: 26
    slicing:
      rules: open
      discriminator:
      - {path: relationship, type: pattern}
      min: null
      max: 2
      slices:
        father:
          match:
            relationship:
              coding:
              - {code: FTH, system: 'http://terminology.hl7.org/CodeSystem/v3-RoleCode'}
          schema:
            mustSupport: true
            index: 27
            elements:
              relationship:
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: FTH, system: 'http://terminology.hl7.org/CodeSystem/v3-RoleCode'}
                index: 28
              name:
                mustSupport: true
                index: 29
                elements:
                  family: {mustSupport: true, index: 30}
                  given: {mustSupport: true, index: 31}
            required: [relationship]
        mother:
          match:
            relationship:
              coding:
              - {code: MTH, system: 'http://terminology.hl7.org/CodeSystem/v3-RoleCode'}
          schema:
            mustSupport: true
            index: 32
            elements:
              relationship:
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: MTH, system: 'http://terminology.hl7.org/CodeSystem/v3-RoleCode'}
                index: 33
              name:
                mustSupport: true
                index: 34
                elements:
                  family: {mustSupport: true, index: 35}
                  given: {mustSupport: true, index: 36}
            required: [relationship]
  generalPractitioner:
    type: Reference
    mustSupport: true
    refers: ['http://sante.quebec/fhir/StructureDefinition/sgrdv-base-find-organization', 'http://sante.quebec/fhir/StructureDefinition/sgrdv-base-find-practitioner-role']
    index: 37
package_version: 1.0.3
extensions:
  birthGender:
    url: http://sante.quebec/fhir/StructureDefinition/sgrdv-patient-birth-gender
    type: Extension
    mustSupport: true
    index: 5
    elements:
      value:
        mustSupport: true
        choices: []
        index: 7
  admisGap:
    url: http://sante.quebec/fhir/StructureDefinition/sgrdv-patient-admis-gap
    type: Extension
    mustSupport: true
    index: 8
    elements:
      value:
        mustSupport: true
        choices: []
        index: 10
class: profile
kind: resource
url: http://sante.quebec/fhir/StructureDefinition/sgrdv-base-find-patient
base: http://hl7.org/fhir/StructureDefinition/Patient
version: null
required: [name, birthDate]