PackagesCanonicalsLogsProblems
    Packages
    ch.fhir.ig.ch-epr-ppqm@2.0.0
    http://fhir.ch/ig/ch-epr-ppqm/StructureDefinition/PpqmConsent
description: Swiss EPR Policy Set as a Consent
package_name: ch.fhir.ig.ch-epr-ppqm
derivation: constraint
name: PpqmConsent
type: Consent
elements:
  patient:
    index: 23
    elements:
      reference: {index: 24}
      type: {index: 25}
      identifier:
        index: 26
        elements:
          use: {index: 27}
          type: {index: 28}
          system:
            pattern: {type: Uri, value: 'urn:oid:2.16.756.5.30.1.127.3.10.3'}
            index: 29
          value:
            short: EPR-SPID of the patient (18 digits)
            constraint:
              ch-epr-ppqm-epr-spid-format: {human: The patient ID must be an EPR-SPID, source: 'http://fhir.ch/ig/ch-epr-ppqm/StructureDefinition/PpqmConsent', severity: error, expression: 'matches(''^[0-9]{18}$'')'}
            index: 30
          period: {index: 31}
          assigner: {index: 32}
        required: [value, system]
      display: {index: 33}
    required: [identifier]
  category:
    short: Fixed category value
    pattern:
      type: CodeableConcept
      value:
        coding:
        - {code: INFA, system: 'http://terminology.hl7.org/CodeSystem/v3-ActCode'}
    index: 21
    elements:
      coding: {index: 22}
    required: [coding]
  provision:
    index: 47
    elements:
      provision: {index: 79}
      purpose:
        binding: {strength: required, valueSet: 'http://fhir.ch/ig/ch-epr-term/ValueSet/EprPurposeOfUse'}
        index: 72
        elements:
          system:
            pattern: {type: Uri, value: 'urn:oid:2.16.756.5.30.1.127.3.10.5'}
            index: 73
          code: {index: 74}
        required: [system, code]
      dataPeriod: {index: 77}
      type: {index: 48}
      class: {index: 75}
      code: {index: 76}
      action: {index: 70}
      period:
        elements:
          start:
            short: Start date of the policy set validity, yyyy-mm-dd
            constraint:
              ch-epr-ppqm-date-format: {human: 'Timestamp must have precision of days, i.e. not contain the time part', source: 'http://fhir.ch/ig/ch-epr-ppqm/StructureDefinition/PpqmConsent', severity: error, expression: 'toString().matches(''^[0-9]{4}-[0-9]{2}-[0-9]{2}$'')'}
            index: 49
          end:
            short: End date of the policy set validity, yyyy-mm-dd
            constraint:
              ch-epr-ppqm-date-format: {human: 'Timestamp must have precision of days, i.e. not contain the time part', source: 'http://fhir.ch/ig/ch-epr-ppqm/StructureDefinition/PpqmConsent', severity: error, expression: 'toString().matches(''^[0-9]{4}-[0-9]{2}-[0-9]{2}$'')'}
            index: 50
        required: [end]
      securityLabel: {index: 71}
      actor:
        index: 51
        elements:
          role:
            binding: {strength: required, valueSet: 'http://fhir.ch/ig/ch-epr-term/ValueSet/EprRole'}
            index: 52
            elements:
              coding:
                elements:
                  system:
                    pattern: {type: Uri, value: 'urn:oid:2.16.756.5.30.1.127.3.10.6'}
                    index: 53
                  code: {short: EPR actor role code, index: 54}
                required: [system, code]
          reference:
            elements:
              reference: {index: 55}
              type: {index: 56}
              identifier:
                short: This element is present only in policy sets which reference a particular healthcare professional, group of healthcare professionals, patient, or representative
                index: 57
                elements:
                  use: {index: 58}
                  type:
                    index: 59
                    elements:
                      coding:
                        binding: {strength: required, valueSet: 'http://fhir.ch/ig/ch-epr-ppqm/ValueSet/PpqmActorIdentifierType'}
                        index: 60
                        elements:
                          system: {index: 61}
                          version: {index: 62}
                          code: {short: Actor identifier type code (name qualifier), index: 63}
                          userSelected: {index: 64}
                        required: [system, code]
                      text: {index: 65}
                    required: [coding]
                  value: {short: 'ID of an healthcare professional, group of healthcare professionals, patient, or representative', index: 66}
                  period: {index: 67}
                  assigner: {index: 68}
                required: [value, type]
              display: {short: This element is present only in policy sets which reference indefinite sets of actors, index: 69}
      data: {index: 78}
    required: [actor]
  organization: {index: 36}
  verification: {index: 46}
  source:
    choices: []
    index: 38
  scope:
    short: Fixed scope value
    pattern:
      type: CodeableConcept
      value:
        coding:
        - {code: patient-privacy, system: 'http://terminology.hl7.org/CodeSystem/consentscope'}
    index: 19
    elements:
      coding: {index: 20}
    required: [coding]
  policy: {index: 39}
  dateTime: {index: 34}
  status:
    short: Fixed status value
    pattern: {type: Code, value: active}
    index: 18
  policyRule:
    short: ID of the referenced basis policy set
    index: 40
    elements:
      coding:
        binding: {strength: required, valueSet: 'http://fhir.ch/ig/ch-epr-ppqm/ValueSet/PpqmReferencedPolicySet'}
        index: 41
        elements:
          system: {index: 42}
          version: {index: 43}
          code: {index: 44}
          userSelected: {index: 45}
        required: [system, code]
    required: [coding]
  identifier:
    array: true
    min: 2
    index: 0
    elements:
      value: {index: 1}
    slicing:
      rules: open
      ordered: false
      description: PpqmConsent Identifiers
      discriminator:
      - {path: type.coding, type: pattern}
      min: 2
      slices:
        policySetId:
          match:
            type:
              coding: {code: policySetId, system: 'http://fhir.ch/ig/ch-epr-ppqm/CodeSystem/PpqmConsentIdentifierType'}
          schema:
            short: UUID of the Policy Set
            _required: true
            index: 2
            elements:
              use: {index: 3}
              type:
                index: 4
                elements:
                  coding:
                    pattern:
                      type: Coding
                      value: {code: policySetId, system: 'http://fhir.ch/ig/ch-epr-ppqm/CodeSystem/PpqmConsentIdentifierType'}
                    index: 5
                required: [coding]
              system: {index: 6}
              value:
                short: UUID of the policy set in URN format
                constraint:
                  ch-epr-ppqm-uuid-format: {human: The policy set ID must be a UUID in URN format, source: 'http://fhir.ch/ig/ch-epr-ppqm/StructureDefinition/PpqmConsent', severity: error, expression: 'lower().matches(''^urn:uuid:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$'')'}
                index: 7
              period: {index: 8}
              assigner: {index: 9}
            required: [value, type]
        templateId:
          match:
            type:
              coding: {code: templateId, system: 'http://fhir.ch/ig/ch-epr-ppqm/CodeSystem/PpqmConsentIdentifierType'}
          schema:
            short: Template ID of the policy set
            _required: true
            index: 10
            elements:
              use: {index: 11}
              type:
                index: 12
                elements:
                  coding:
                    pattern:
                      type: Coding
                      value: {code: templateId, system: 'http://fhir.ch/ig/ch-epr-ppqm/CodeSystem/PpqmConsentIdentifierType'}
                    index: 13
                required: [coding]
              system: {index: 14}
              value:
                short: Template ID of the policy set
                binding: {strength: required, valueSet: 'http://fhir.ch/ig/ch-epr-ppqm/ValueSet/PpqmPolicySetTemplateId'}
                index: 15
              period: {index: 16}
              assigner: {index: 17}
            required: [value, type]
  performer: {index: 35}
package_version: 2.0.0
class: profile
kind: resource
url: http://fhir.ch/ig/ch-epr-ppqm/StructureDefinition/PpqmConsent
base: http://hl7.org/fhir/StructureDefinition/Consent
version: 2.0.0
required: [policyRule, patient, provision]