PackagesCanonicalsLogsProblems
    Packages
    se.electronichealth.fhir.nppr.r5@0.1.0-alpha
    http://electronichealth.se/fhir/NPPR/StructureDefinition/NPPRPractitionerRole
description: Profile for representing basic data about a practitioner that has an agreement to work in an organization.
package_name: se.electronichealth.fhir.nppr.r5
derivation: constraint
name: NPPRPractitionerRole
type: PractitionerRole
elements:
  extension:
    index: 0
    slicing:
      rules: open
      ordered: false
      discriminator:
      - {path: url, type: value}
      min: 1
      slices:
        title:
          match: {url: null}
          schema:
            type: Extension
            mustSupport: true
            url: http://hl7.org/fhir/StructureDefinition/practitioner-job-title
            index: 1
            elements:
              url: {mustSupport: true, index: 2}
              value:
                mustSupport: true
                choices: []
                index: 4
  identifier:
    mustSupport: true
    index: 5
    elements:
      system: {mustSupport: true, index: 6}
      value: {mustSupport: true, index: 7}
    required: [value, system]
    slicing:
      rules: open
      ordered: false
      description: Slice identifier based on the system value
      discriminator:
      - {path: system, type: value}
      min: null
      max: 1
      slices:
        hsaid:
          match: {system: 'urn:oid:1.2.752.29.4.19'}
          schema:
            mustSupport: true
            index: 8
            elements:
              system:
                pattern: {type: Uri, value: 'urn:oid:1.2.752.29.4.19'}
                index: 9
  practitioner:
    type: Reference
    mustSupport: true
    refers: ['http://electronichealth.se/fhir/NPPR/StructureDefinition/NPPRPractitioner']
    index: 10
  organization: {mustSupport: true, index: 11}
  code:
    mustSupport: true
    index: 12
    elements:
      coding:
        mustSupport: true
        index: 13
        elements:
          system: {mustSupport: true, index: 14}
          code: {mustSupport: true, index: 15}
        required: [system, code]
      text: {mustSupport: true, index: 16}
  healthcareService:
    type: Reference
    mustSupport: true
    refers: ['http://electronichealth.se/fhir/NPPR/StructureDefinition/NPPRCommission']
    index: 17
  contact:
    constraint:
      nppr-contact-address-or-telecom: {human: A contact detail must have an address OR telecom details, source: 'http://electronichealth.se/fhir/NPPR/StructureDefinition/NPPRPractitionerRole', severity: error, expression: address.exists() or telecom.exists()}
    mustSupport: true
    index: 18
    elements:
      telecom:
        constraint:
          nppr-telecom-phone-1: {human: 'If telecom.system = #phone, value should follow format +46123456789', source: 'http://electronichealth.se/fhir/NPPR/StructureDefinition/NPPRPractitionerRole', severity: warning, expression: 'value.matches(''^\\+[1-9][0-9]+$'') or system != ''phone'''}
          nppr-telecom-url-1: {human: 'If telecom.system = #url, value should follow valid format. Example: https://example.com', source: 'http://electronichealth.se/fhir/NPPR/StructureDefinition/NPPRPractitionerRole', severity: warning, expression: 'value.matches(''(https?|ftp)://(-\\.)?([^\\s/?\\.#-]+\\.?)+(/[^\\s]*)?$'') or system != ''url'''}
          nppr-telecom-email-1: {human: 'If telecom.system = #email, value should follow valid format Example: test@test.com', source: 'http://electronichealth.se/fhir/NPPR/StructureDefinition/NPPRPractitionerRole', severity: warning, expression: 'value.matches(''^[\\w.-]{1,64}@(?!.{254})[\\w.-]+\\.[A-Za-z]{2,4}$'') or system != ''email'''}
        mustSupport: true
        index: 19
        elements:
          system:
            binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/contact-point-system'}
            mustSupport: true
            index: 20
          value: {mustSupport: true, index: 21}
          period:
            mustSupport: true
            index: 22
            elements:
              start: {mustSupport: true, index: 23}
              end: {mustSupport: true, index: 24}
            required: [start]
        required: [value, period, system]
      address: {type: Address, mustSupport: true, index: 25}
package_version: 0.1.0-alpha
extensions:
  title:
    url: http://hl7.org/fhir/StructureDefinition/practitioner-job-title
    type: Extension
    mustSupport: true
    index: 1
    elements:
      url: {mustSupport: true, index: 2}
      value:
        mustSupport: true
        choices: []
        index: 4
class: profile
kind: resource
url: http://electronichealth.se/fhir/NPPR/StructureDefinition/NPPRPractitionerRole
base: http://hl7.org/fhir/StructureDefinition/PractitionerRole
version: '0.1'
required: [practitioner, extension, organization]