description: NPPRRelatedPerson profile for NPPR package_name: se.electronichealth.fhir.nppr.r5 derivation: constraint name: NPPRRelatedPerson type: RelatedPerson elements: meta: mustSupport: true index: 0 elements: security: mustSupport: true index: 1 elements: code: {mustSupport: true, index: 2} identifier: mustSupport: true index: 3 elements: system: {mustSupport: true, index: 4} value: {mustSupport: true, index: 5} required: [value, system] slicing: rules: open ordered: false description: Slice on Identifier based on the system value discriminator: - {path: system, type: value} min: null max: 1 slices: coordinationNumber: match: {system: 'http://electronichealth.se/identifier/samordningsnummer'} schema: mustSupport: true index: 6 elements: system: pattern: {type: Uri, value: 'http://electronichealth.se/identifier/samordningsnummer'} mustSupport: true index: 7 value: {mustSupport: true, index: 8} required: [value, system] personalIdentityNumber: match: {system: 'http://electronichealth.se/identifier/personnummer'} schema: mustSupport: true index: 9 elements: system: pattern: {type: Uri, value: 'http://electronichealth.se/identifier/personnummer'} index: 10 patient: type: Reference mustSupport: true refers: ['http://electronichealth.se/fhir/NPPR/StructureDefinition/NPPRPatient'] index: 11 relationship: binding: {strength: required, valueSet: 'http://electronichealth.se/fhir/NPPR/ValueSet/nppr-related-person-role'} mustSupport: true index: 12 elements: coding: mustSupport: true index: 13 elements: system: {mustSupport: true, index: 14} code: {mustSupport: true, index: 15} required: [system, code] required: [coding] name: type: HumanName mustSupport: true index: 16 elements: family: {index: 17} given: {index: 18} telecom: type: ContactPoint constraint: nppr-telecom-phone-1: {human: 'If telecom.system = #phone, value should follow format +46123456789', source: 'http://electronichealth.se/fhir/NPPR/StructureDefinition/NPPRRelatedPerson', 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/NPPRRelatedPerson', 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/NPPRRelatedPerson', severity: warning, expression: 'value.matches(''^[\\w.-]{1,64}@(?!.{254})[\\w.-]+\\.[A-Za-z]{2,4}$'') or system != ''email'''} mustSupport: true index: 19 address: type: Address mustSupport: true index: 20 extensions: officialAddressType: {url: null, min: 1, _required: true, index: 22} elements: extension: index: 21 slicing: slices: officialAddressType: match: {} schema: {_required: true, index: 22} min: 1 required: [extension] package_version: 0.1.0-alpha class: profile kind: resource url: http://electronichealth.se/fhir/NPPR/StructureDefinition/NPPRRelatedPerson base: http://hl7.org/fhir/StructureDefinition/RelatedPerson version: '0.1' required: [relationship]