PackagesCanonicalsLogsProblems
    Packages
    ca.qc.sq.sgrdv@1.0.0
    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:
  extension:
    array: true
    min: 2
    index: 0
    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: 1
            elements:
              value:
                mustSupport: true
                choices: []
                index: 3
        admisGap:
          match: {url: null}
          schema:
            type: Extension
            mustSupport: true
            url: http://sante.quebec/fhir/StructureDefinition/sgrdv-patient-admis-gap
            index: 4
            elements:
              value:
                mustSupport: true
                choices: []
                index: 6
  identifier:
    mustSupport: true
    index: 7
    elements:
      type:
        binding: {strength: extensible, valueSet: 'http://sante.quebec/fhir/ValueSet/sgrdv-identifier-type-vs'}
        mustSupport: true
        index: 8
      system: {mustSupport: true, index: 9}
      value: {mustSupport: true, index: 10}
  name:
    mustSupport: true
    index: 11
    elements:
      family: {mustSupport: true, index: 12}
      given: {mustSupport: true, index: 13}
    required: [given, family]
  telecom:
    mustSupport: true
    index: 14
    slicing:
      rules: open
      discriminator:
      - {path: system, type: value}
      min: null
      slices:
        phone:
          match: {system: phone}
          schema:
            mustSupport: true
            index: 15
            elements:
              system:
                pattern: {type: Code, value: phone}
                index: 16
              value: {mustSupport: true, index: 17}
            required: [value, system]
        email:
          match: {system: email}
          schema:
            mustSupport: true
            index: 18
            elements:
              system:
                pattern: {type: Code, value: email}
                index: 19
              value: {mustSupport: true, index: 20}
            required: [value, system]
  birthDate: {mustSupport: true, index: 21}
  contact:
    mustSupport: true
    array: true
    max: 2
    index: 22
    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: 23
            elements:
              relationship:
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: FTH, system: 'http://terminology.hl7.org/CodeSystem/v3-RoleCode'}
                index: 24
              name:
                mustSupport: true
                index: 25
                elements:
                  family: {mustSupport: true, index: 26}
                  given: {mustSupport: true, index: 27}
            required: [relationship]
        mother:
          match:
            relationship:
              coding:
              - {code: MTH, system: 'http://terminology.hl7.org/CodeSystem/v3-RoleCode'}
          schema:
            mustSupport: true
            index: 28
            elements:
              relationship:
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: MTH, system: 'http://terminology.hl7.org/CodeSystem/v3-RoleCode'}
                index: 29
              name:
                mustSupport: true
                index: 30
                elements:
                  family: {mustSupport: true, index: 31}
                  given: {mustSupport: true, index: 32}
            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: 33
package_version: 1.0.0
extensions:
  birthGender:
    url: http://sante.quebec/fhir/StructureDefinition/sgrdv-patient-birth-gender
    type: Extension
    mustSupport: true
    index: 1
    elements:
      value:
        mustSupport: true
        choices: []
        index: 3
  admisGap:
    url: http://sante.quebec/fhir/StructureDefinition/sgrdv-patient-admis-gap
    type: Extension
    mustSupport: true
    index: 4
    elements:
      value:
        mustSupport: true
        choices: []
        index: 6
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]