PackagesCanonicalsLogsProblems
    Packages
    ca.qc.sq.sgrdv@1.2.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:
  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:
    index: 4
    slicing:
      rules: open
      ordered: false
      discriminator:
      - {path: url, type: value}
      min: 1
      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}
    required: [type]
    slicing:
      rules: open
      discriminator:
      - {path: type, type: pattern}
      min: null
      slices:
        ni:
          match: {type: null}
          schema:
            mustSupport: true
            index: 15
            elements:
              type:
                elements:
                  coding:
                    mustSupport: true
                    index: 16
                    elements:
                      system:
                        pattern: {type: Uri, value: 'http://terminology.hl7.org/CodeSystem/v2-0203'}
                        index: 17
                      code:
                        pattern: {type: Code, value: NI}
                        index: 18
                required: [coding]
              system:
                pattern: {type: Uri, value: 'http://sante.quebec/fhir/NamingSystem/RAMQ'}
                index: 19
              value: {index: 20}
            required: [value, system]
  name:
    mustSupport: true
    index: 21
    elements:
      family: {mustSupport: true, index: 22}
      given: {mustSupport: true, index: 23}
    required: [given, family]
  telecom:
    mustSupport: true
    index: 24
    slicing:
      rules: open
      discriminator:
      - {path: system, type: value}
      min: null
      slices:
        phone:
          match: {system: phone}
          schema:
            mustSupport: true
            index: 25
            elements:
              system:
                pattern: {type: Code, value: phone}
                index: 26
              value: {mustSupport: true, index: 27}
            required: [value, system]
        email:
          match: {system: email}
          schema:
            mustSupport: true
            index: 28
            elements:
              system:
                pattern: {type: Code, value: email}
                index: 29
              value: {mustSupport: true, index: 30}
            required: [value, system]
  birthDate: {mustSupport: true, index: 31}
  contact:
    mustSupport: true
    array: true
    max: 2
    index: 32
    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: 33
            elements:
              relationship:
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: FTH, system: 'http://terminology.hl7.org/CodeSystem/v3-RoleCode'}
                index: 34
              name:
                mustSupport: true
                index: 35
                elements:
                  family: {mustSupport: true, index: 36}
                  given: {mustSupport: true, index: 37}
            required: [relationship]
        mother:
          match:
            relationship:
              coding:
              - {code: MTH, system: 'http://terminology.hl7.org/CodeSystem/v3-RoleCode'}
          schema:
            mustSupport: true
            index: 38
            elements:
              relationship:
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: MTH, system: 'http://terminology.hl7.org/CodeSystem/v3-RoleCode'}
                index: 39
              name:
                mustSupport: true
                index: 40
                elements:
                  family: {mustSupport: true, index: 41}
                  given: {mustSupport: true, index: 42}
            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: 43
package_version: 1.2.0
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: 1.2.0
required: [name, extension, birthDate]