CH EMED EPR
1.0.1-ci-build - ci-build
CH EMED EPR, published by CARA. This guide is not an authorized publication; it is the continuous build for version 1.0.1-ci-build built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/CARA-ch/ch-emed-epr/ and changes regularly. See the Directory of published versions
Official URL: http://fhir.ch/ig/ch-emed-epr/StructureDefinition/ch-emed-epr-patient | Version: 1.0.1-ci-build | |||
Draft as of 2024-12-04 | Computable Name: CHEMEDEPRPatient | |||
Copyright/Legal: CC0-1.0 |
Definition of the patient for the eMedication context
Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from CHCorePatientEPR
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Patient | CHCorePatientEPR | |||
meta | ||||
extension | D | 0..* | Extension | ✕ This element is not supported |
versionId | D | 0..1 | id | ✕ This element is not supported |
lastUpdated | D | 0..1 | instant | ✕ This element is not supported |
source | D | 0..1 | uri | ✕ This element is not supported |
security | D | 0..* | Coding | ✕ This element is not supported |
tag | D | 0..* | Coding | ✕ This element is not supported |
implicitRules | 0..0 | |||
modifierExtension | 0..0 | |||
identifier | 1..* | Identifier | An identifier for this patient | |
extension | D | 0..* | Extension | ✕ This element is not supported |
type | D | 0..1 | CodeableConcept | ✕ This element is not supported |
period | D | 0..1 | Period | ✕ This element is not supported |
assigner | D | 0..1 | Reference(CH EMED EPR Organization) | ✕ This element will be removed in PML(C) documents |
Slices for identifier | Content/Rules for all slices | |||
identifier:EPR-SPID | 0..0 | EPRSPIDIdentifier | ||
identifier:AHVN13 | 0..0 | AHVN13Identifier | ||
identifier:LocalPid | 0..* | Identifier | Local patient identifier(s) | |
assigner | 0..1 | Reference(CH EMED EPR Organization) | Organization that issued id (may be just text) | |
identifier:insuranceCardNumber | 0..* | VEKAIdentifier | An identifier intended for computation | |
value | C | 1..1 | string | The value that is unique veka-length-error: Insurance card number must be exactly 20 characters long veka-startswith807560-error: Insurance card number must start with 807560 |
contact | 0..* | BackboneElement | A contact party (e.g. guardian, partner, friend) for the patient | |
organization | D | 0..1 | Reference(Organization) | ✕ This element will be removed in PML(C) documents |
generalPractitioner | D | 0..* | Reference(Organization | Practitioner | PractitionerRole) | ✕ This element will be removed in PML(C) documents |
managingOrganization | D | 0..1 | Reference(Organization) | ✕ This element will be removed in PML(C) documents |
link | D | 0..* | BackboneElement | ✕ This element will be removed in PML(C) documents |
Documentation for this format |
Id | Grade | Path(s) | Details | Requirements |
ahvn13-digit-check-error | error | Patient.identifier:AHVN13.value | AHVN13 / NAVS13 must pass digit check - https://www.gs1.org/services/how-calculate-check-digit-manually : (((10-(28+(substring(3,1).toInteger()*3)+(substring(4,1).toInteger()*1)+(substring(5,1).toInteger()*3)+(substring(6,1).toInteger()*1)+(substring(7,1).toInteger()*3)+(substring(8,1).toInteger()*1)+(substring(9,1).toInteger()*3)+(substring(10,1).toInteger()*1)+(substring(11,1).toInteger()*3))mod(10))mod(10))=substring(12,1).toInteger()) | |
ahvn13-length-error | error | Patient.identifier:AHVN13.value | AHVN13 / NAVS13 must be exactly 13 characters long : matches('^[0-9]{13}$') | |
ahvn13-startswith756-error | error | Patient.identifier:AHVN13.value | AHVN13 / NAVS13 must start with 756 : startsWith('756') | |
epr-spid-length-error | error | Patient.identifier:EPR-SPID.value | EPR-SPID must be exactly 18 characters long : matches('^[0-9]{18}$') | |
epr-spid-modulus-10-error | error | Patient.identifier:EPR-SPID.value | EPR-SPID must pass the modulus 10 check - https://www.gs1.org/services/how-calculate-check-digit-manually : (((10-((68+(substring(8,1).toInteger()*3)+(substring(9,1).toInteger()*1)+(substring(10,1).toInteger()*3)+(substring(11,1).toInteger()*1)+(substring(12,1).toInteger()*3)+(substring(13,1).toInteger()*1)+(substring(14,1).toInteger()*3)+(substring(15,1).toInteger()*1)+(substring(16,1).toInteger()*3))mod(10)))mod(10))=substring(17,1).toInteger()) | |
epr-spid-startswith76133761-error | error | Patient.identifier:EPR-SPID.value | EPR-SPID must start with 76133761 : startsWith('76133761') | |
veka-length-error | error | Patient.identifier:insuranceCardNumber.value | Insurance card number must be exactly 20 characters long : matches('^[0-9]{20}$') | |
veka-startswith807560-error | error | Patient.identifier:insuranceCardNumber.value | Insurance card number must start with 807560 : startsWith('807560') |
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Patient | C | 0..* | CHCorePatientEPR | CH Core Patient EPR (to include the patient in an EPR document) ch-pat-1: If one ore more human names are provided, at least one human name should have a family and a given name. ch-pat-2: gender 'unknown' is currently not used in Switzerland in eCH and the EPR ch-pat-1-epr: At least one human name shall have a family and a given name. | ||||
Slices for extension | Content/Rules for all slices | |||||||
placeOfBirth | 0..1 | CHCoreAddressEch11PlaceOfBirth | Place of birth of patient URL: http://hl7.org/fhir/StructureDefinition/patient-birthPlace profiled by http://fhir.ch/ig/ch-core/StructureDefinition/ch-core-patient-ech-11-placeofbirth | |||||
placeOfOrigin | 0..* | CHCoreAddressECH11PlaceOfOrigin | Place of origin(s) of patient URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-core-patient-ech-11-placeoforigin | |||||
citizenship | C | 0..* | (Complex) | Citizenship(s) of patient URL: http://hl7.org/fhir/StructureDefinition/patient-citizenship ch-pat-3: ISO Country Alpha-2 or ISO Country Alpha-3 code | ||||
religion | 0..1 | CodeableConcept | Religion of patient URL: http://hl7.org/fhir/StructureDefinition/patient-religion Binding: ReligiousAffiliation (preferred) | |||||
Slices for identifier | Σ | 1..* | Identifier | An identifier for this patient Slice: Unordered, Open by value:$this | ||||
identifier:All Slices | Content/Rules for all slices | |||||||
extension | 0..* | Extension | ✕ This element is not supported Slice: Unordered, Open by value:url | |||||
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . | ||||
type | Σ | 0..1 | CodeableConcept | ✕ This element is not supported Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. | ||||
period | Σ | 0..1 | Period | ✕ This element is not supported | ||||
assigner | Σ | 0..1 | Reference(CH EMED EPR Organization) | ✕ This element will be removed in PML(C) documents | ||||
identifier:LocalPid | Σ | 0..* | Identifier | Local patient identifier(s) Required Pattern: At least the following | ||||
type | 1..1 | CodeableConcept | Description of identifier Fixed Value: (complex) | |||||
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |||||
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203 | |||||
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: MR | |||||
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . | ||||
system | Σ | 1..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient | ||||
value | Σ | 1..1 | string | The value that is unique Example General: 123456 | ||||
assigner | Σ | 0..1 | Reference(CH EMED EPR Organization) | Organization that issued id (may be just text) | ||||
identifier:insuranceCardNumber | 0..* | VEKAIdentifier | An identifier intended for computation Required Pattern: At least the following | |||||
system | 1..1 | uri | The namespace for the identifier value Fixed Value: urn:oid:2.16.756.5.30.1.123.100.1.1.1 | |||||
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . | ||||
system | Σ | 1..1 | uri | The namespace for the identifier value Fixed Value: urn:oid:2.16.756.5.30.1.123.100.1.1.1 | ||||
value | ΣC | 1..1 | string | The value that is unique veka-length: Insurance card number must be exactly 20 characters long veka-startswith807560: Insurance card number must start with 807560 veka-length-error: Insurance card number must be exactly 20 characters long veka-startswith807560-error: Insurance card number must start with 807560 Example General: 123456 | ||||
active | ?!Σ | 0..1 | boolean | Whether this patient's record is in active use | ||||
name | C | 1..* | CHCoreHumanName | Name of a human - parts and usage ch-core-hm-1: if officalName with eCH-011 Extension is specified, it can only be put on a name where use attribute is official ch-core-hm-2: if orginalName with eCH-011 Extension is specified, it can only be put on a name where use attribute is maiden ch-core-hm-3: ch-ext-ech-11-name can only be put on a family name ch-core-hm-4: ch-ext-ech-11-firstname can only be put on a given name | ||||
Slices for telecom | Σ | 0..* | ContactPoint | A contact detail for the individual Slice: Unordered, Open by value:system | ||||
telecom:All Slices | Content/Rules for all slices | |||||||
system | ΣC | 1..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): Telecommunications form for contact point. | ||||
value | Σ | 1..1 | string | The actual contact point details | ||||
use | ?!Σ | 0..1 | code | home | work | temp | old | mobile - purpose of this contact point Binding: ContactPointUse (required): Use of contact point. | ||||
telecom:email | C | 0..* | CHCoreContactPointECH46Email | CH Core ContactPoint eCH-0046 Email cpt-2: A system is required if a value is provided. | ||||
telecom:phone | C | 0..* | CHCoreContactPointECH46Phone | CH Core ContactPoint eCH-0046 Phone cpt-2: A system is required if a value is provided. | ||||
telecom:internet | C | 0..* | CHCoreContactPointECH46Internet | CH Core ContactPoint eCH-0046 Internet cpt-2: A system is required if a value is provided. | ||||
gender | Σ | 1..1 | code | male | female | other | unknown* (* see warning 'ch-pat-2') Binding: AdministrativeGender (required): The gender of a person used for administrative purposes. | ||||
birthDate | Σ | 1..1 | date | The date of birth for the individual | ||||
deceased[x] | ?!Σ | 0..1 | Indicates if the individual is deceased or not | |||||
deceasedBoolean | boolean | |||||||
deceasedDateTime | dateTime | |||||||
Slices for contact | C | 0..* | BackboneElement | A contact party (e.g. guardian, partner, friend) for the patient Slice: Unordered, Open by value:relationship pat-1: SHALL at least contain a contact's details or a reference to an organization | ||||
contact:All Slices | Content/Rules for all slices | |||||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
organization | C | 0..1 | Reference(Organization) | ✕ This element will be removed in PML(C) documents | ||||
contact:contact | C | 0..1 | BackboneElement | Contact data if it is not address of patient pat-1: SHALL at least contain a contact's details or a reference to an organization | ||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
relationship | 1..1 | CodeableConcept | The kind of relationship Binding: PatientContactRelationship (extensible): The nature of the relationship between a patient and a contact person for that patient. Required Pattern: At least the following | |||||
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |||||
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://fhir.ch/ig/ch-core/CodeSystem/ech-11 | |||||
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: contactData | |||||
address | C | 1..1 | CHCoreAddressECH10 | An address expressed using postal conventions (as opposed to GPS or other location definition formats) ch-addr-2: For a Swiss address, a canton abbreviation from the value set 'eCH-0007 Canton Abbreviation' must be used. | ||||
contact:nameOfParent | C | 0..* | BackboneElement | Name of parent pat-1: SHALL at least contain a contact's details or a reference to an organization | ||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
relationship | 1..1 | CodeableConcept | The kind of relationship Binding: PatientContactRelationship (extensible): The nature of the relationship between a patient and a contact person for that patient. Required Pattern: At least the following | |||||
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |||||
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v3-RoleCode | |||||
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: PRN | |||||
name | 1..1 | HumanName | A name associated with the contact person | |||||
Slices for communication | 0..* | BackboneElement | A language which may be used to communicate with the patient about his or her health Slice: Unordered, Open by value:preferred | |||||
communication:All Slices | Content/Rules for all slices | |||||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
language | 1..1 | CodeableConcept | The language which can be used to communicate with the patient about his or her health Binding: CommonLanguages (preferred): A human language.
| |||||
communication:languageOfCorrespondence | 0..1 | BackboneElement | Language of correspondence | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
language | 1..1 | CodeableConcept | The language which can be used to communicate with the patient about his or her health Binding: CommonLanguages (preferred): A human language.
| |||||
preferred | 1..1 | boolean | Language preference indicator Fixed Value: true | |||||
generalPractitioner | 0..* | Reference(Organization | Practitioner | PractitionerRole) | ✕ This element will be removed in PML(C) documents | |||||
managingOrganization | Σ | 0..1 | Reference(Organization) | ✕ This element will be removed in PML(C) documents | ||||
link | ?!Σ | 0..* | BackboneElement | ✕ This element will be removed in PML(C) documents | ||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
other | Σ | 1..1 | Reference(Patient | RelatedPerson) | The other patient or related person resource that the link refers to | ||||
type | Σ | 1..1 | code | replaced-by | replaces | refer | seealso Binding: LinkType (required): The type of link between this patient resource and another patient resource. | ||||
Documentation for this format |
Path | Conformance | ValueSet / Code | URI | |||
Patient.identifier.use | required | IdentifierUsehttp://hl7.org/fhir/ValueSet/identifier-use|4.0.1 from the FHIR Standard | ||||
Patient.identifier.type | extensible | Identifier Type Codeshttp://hl7.org/fhir/ValueSet/identifier-type from the FHIR Standard | ||||
Patient.identifier:EPR-SPID.use | required | IdentifierUsehttp://hl7.org/fhir/ValueSet/identifier-use|4.0.1 from the FHIR Standard | ||||
Patient.identifier:AHVN13.use | required | IdentifierUsehttp://hl7.org/fhir/ValueSet/identifier-use|4.0.1 from the FHIR Standard | ||||
Patient.identifier:LocalPid.use | required | IdentifierUsehttp://hl7.org/fhir/ValueSet/identifier-use|4.0.1 from the FHIR Standard | ||||
Patient.identifier:insuranceCardNumber.use | required | IdentifierUsehttp://hl7.org/fhir/ValueSet/identifier-use|4.0.1 from the FHIR Standard | ||||
Patient.telecom.system | required | ContactPointSystemhttp://hl7.org/fhir/ValueSet/contact-point-system|4.0.1 from the FHIR Standard | ||||
Patient.telecom.use | required | ContactPointUsehttp://hl7.org/fhir/ValueSet/contact-point-use|4.0.1 from the FHIR Standard | ||||
Patient.gender | required | AdministrativeGenderhttp://hl7.org/fhir/ValueSet/administrative-gender|4.0.1 from the FHIR Standard | ||||
Patient.contact:contact.relationship | extensible | Pattern: contactDatahttp://hl7.org/fhir/ValueSet/patient-contactrelationship from the FHIR Standard | ||||
Patient.contact:nameOfParent.relationship | extensible | Pattern: PRNhttp://hl7.org/fhir/ValueSet/patient-contactrelationship from the FHIR Standard | ||||
Patient.communication.language | preferred | CommonLanguages
http://hl7.org/fhir/ValueSet/languages from the FHIR Standard | ||||
Patient.communication:languageOfCorrespondence.language | preferred | CommonLanguages
http://hl7.org/fhir/ValueSet/languages from the FHIR Standard | ||||
Patient.link.type | required | LinkTypehttp://hl7.org/fhir/ValueSet/link-type|4.0.1 from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
ahvn13-digit-check | warning | Patient.identifier:AHVN13.value | AHVN13 / NAVS13 must pass digit check - https://www.gs1.org/services/how-calculate-check-digit-manually : (((10-(28+(substring(3,1).toInteger()*3)+(substring(4,1).toInteger()*1)+(substring(5,1).toInteger()*3)+(substring(6,1).toInteger()*1)+(substring(7,1).toInteger()*3)+(substring(8,1).toInteger()*1)+(substring(9,1).toInteger()*3)+(substring(10,1).toInteger()*1)+(substring(11,1).toInteger()*3))mod(10))mod(10))=substring(12,1).toInteger()) | |
ahvn13-digit-check-error | error | Patient.identifier:AHVN13.value | AHVN13 / NAVS13 must pass digit check - https://www.gs1.org/services/how-calculate-check-digit-manually : (((10-(28+(substring(3,1).toInteger()*3)+(substring(4,1).toInteger()*1)+(substring(5,1).toInteger()*3)+(substring(6,1).toInteger()*1)+(substring(7,1).toInteger()*3)+(substring(8,1).toInteger()*1)+(substring(9,1).toInteger()*3)+(substring(10,1).toInteger()*1)+(substring(11,1).toInteger()*3))mod(10))mod(10))=substring(12,1).toInteger()) | |
ahvn13-length | warning | Patient.identifier:AHVN13.value | AHVN13 / NAVS13 must be exactly 13 characters long : matches('^[0-9]{13}$') | |
ahvn13-length-error | error | Patient.identifier:AHVN13.value | AHVN13 / NAVS13 must be exactly 13 characters long : matches('^[0-9]{13}$') | |
ahvn13-startswith756 | warning | Patient.identifier:AHVN13.value | AHVN13 / NAVS13 must start with 756 : startsWith('756') | |
ahvn13-startswith756-error | error | Patient.identifier:AHVN13.value | AHVN13 / NAVS13 must start with 756 : startsWith('756') | |
ch-addr-2 | error | Patient.contact:contact.address | For a Swiss address, a canton abbreviation from the value set 'eCH-0007 Canton Abbreviation' must be used. : country.extension.where(url = 'http://hl7.org/fhir/StructureDefinition/iso21090-SC-coding').empty() or (country.extension.where(url = 'http://hl7.org/fhir/StructureDefinition/iso21090-SC-coding').value.code.startsWith('CH') = false) or (country.extension.where(url = 'http://hl7.org/fhir/StructureDefinition/iso21090-SC-coding').value.code.startsWith('CH').exists() and (state.empty() or state.memberOf('http://fhir.ch/ig/ch-core/ValueSet/ech-7-cantonabbreviation'))) | |
ch-core-hm-1 | error | Patient.name | if officalName with eCH-011 Extension is specified, it can only be put on a name where use attribute is official : family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and value='officialName').empty() or (family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and value='officialName').exists() and use='official') | |
ch-core-hm-2 | error | Patient.name | if orginalName with eCH-011 Extension is specified, it can only be put on a name where use attribute is maiden : family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and value='originalName').empty() or ((family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and value='originalName').exists() and use='maiden')) | |
ch-core-hm-3 | error | Patient.name | ch-ext-ech-11-name can only be put on a family name : descendants().extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name').count()=family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name').count() | |
ch-core-hm-4 | error | Patient.name | ch-ext-ech-11-firstname can only be put on a given name : descendants().extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-firstname').count()=given.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-firstname').count() | |
ch-pat-1 | warning | Patient | If one ore more human names are provided, at least one human name should have a family and a given name. : name.where(family.exists() and given.exists()).count()>0 or name.empty() | |
ch-pat-1-epr | error | Patient | At least one human name shall have a family and a given name. : name.where(family.exists() and given.exists()).count()>0 | |
ch-pat-2 | warning | Patient | gender 'unknown' is currently not used in Switzerland in eCH and the EPR : gender.empty() or gender!='unknown' | |
ch-pat-3 | error | Patient.extension:citizenship | ISO Country Alpha-2 or ISO Country Alpha-3 code : ((extension.where(url='code').value.coding.code.length()=2) and extension.where(url='code').value.coding.code.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-2')) or ((extension.where(url='code').value.coding.code.length() = 3) and extension.where(url='code').value.coding.code.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-3')) | |
cpt-2 | error | Patient.telecom:email, Patient.telecom:phone, Patient.telecom:internet | A system is required if a value is provided. : value.empty() or system.exists() | |
dom-2 | error | Patient | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Patient | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | Patient | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | error | Patient | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Patient | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
epr-spid-length | warning | Patient.identifier:EPR-SPID.value | EPR-SPID must be exactly 18 characters long : matches('^[0-9]{18}$') | |
epr-spid-length-error | error | Patient.identifier:EPR-SPID.value | EPR-SPID must be exactly 18 characters long : matches('^[0-9]{18}$') | |
epr-spid-modulus-10 | warning | Patient.identifier:EPR-SPID.value | EPR-SPID must pass the modulus 10 check - https://www.gs1.org/services/how-calculate-check-digit-manually : (((10-((68+(substring(8,1).toInteger()*3)+(substring(9,1).toInteger()*1)+(substring(10,1).toInteger()*3)+(substring(11,1).toInteger()*1)+(substring(12,1).toInteger()*3)+(substring(13,1).toInteger()*1)+(substring(14,1).toInteger()*3)+(substring(15,1).toInteger()*1)+(substring(16,1).toInteger()*3))mod(10)))mod(10))=substring(17,1).toInteger()) | |
epr-spid-modulus-10-error | error | Patient.identifier:EPR-SPID.value | EPR-SPID must pass the modulus 10 check - https://www.gs1.org/services/how-calculate-check-digit-manually : (((10-((68+(substring(8,1).toInteger()*3)+(substring(9,1).toInteger()*1)+(substring(10,1).toInteger()*3)+(substring(11,1).toInteger()*1)+(substring(12,1).toInteger()*3)+(substring(13,1).toInteger()*1)+(substring(14,1).toInteger()*3)+(substring(15,1).toInteger()*1)+(substring(16,1).toInteger()*3))mod(10)))mod(10))=substring(17,1).toInteger()) | |
epr-spid-startswith76133761 | warning | Patient.identifier:EPR-SPID.value | EPR-SPID must start with 76133761 : startsWith('76133761') | |
epr-spid-startswith76133761-error | error | Patient.identifier:EPR-SPID.value | EPR-SPID must start with 76133761 : startsWith('76133761') | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
pat-1 | error | Patient.contact, Patient.contact:contact, Patient.contact:nameOfParent | SHALL at least contain a contact's details or a reference to an organization : name.exists() or telecom.exists() or address.exists() or organization.exists() | |
veka-length | warning | Patient.identifier:insuranceCardNumber.value | Insurance card number must be exactly 20 characters long : matches('^[0-9]{20}$') | |
veka-length-error | error | Patient.identifier:insuranceCardNumber.value | Insurance card number must be exactly 20 characters long : matches('^[0-9]{20}$') | |
veka-startswith807560 | warning | Patient.identifier:insuranceCardNumber.value | Insurance card number must start with 807560 : startsWith('807560') | |
veka-startswith807560-error | error | Patient.identifier:insuranceCardNumber.value | Insurance card number must start with 807560 : startsWith('807560') |
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Patient | C | 0..* | CHCorePatientEPR | CH Core Patient EPR (to include the patient in an EPR document) ch-pat-1: If one ore more human names are provided, at least one human name should have a family and a given name. ch-pat-2: gender 'unknown' is currently not used in Switzerland in eCH and the EPR ch-pat-1-epr: At least one human name shall have a family and a given name. | ||||
id | Σ | 0..1 | id | Logical id of this artifact | ||||
meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | ✕ This element is not supported Slice: Unordered, Open by value:url | |||||
versionId | Σ | 0..1 | id | ✕ This element is not supported | ||||
lastUpdated | Σ | 0..1 | instant | ✕ This element is not supported | ||||
source | Σ | 0..1 | uri | ✕ This element is not supported | ||||
profile | Σ | 0..* | canonical(StructureDefinition) | Profiles this resource claims to conform to | ||||
security | Σ | 0..* | Coding | ✕ This element is not supported Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System. | ||||
tag | Σ | 0..* | Coding | ✕ This element is not supported Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones". | ||||
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
contained | 0..* | Resource | Contained, inline Resources | |||||
Slices for extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
placeOfBirth | 0..1 | CHCoreAddressEch11PlaceOfBirth | Place of birth of patient URL: http://hl7.org/fhir/StructureDefinition/patient-birthPlace profiled by http://fhir.ch/ig/ch-core/StructureDefinition/ch-core-patient-ech-11-placeofbirth | |||||
placeOfOrigin | 0..* | CHCoreAddressECH11PlaceOfOrigin | Place of origin(s) of patient URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-core-patient-ech-11-placeoforigin | |||||
citizenship | C | 0..* | (Complex) | Citizenship(s) of patient URL: http://hl7.org/fhir/StructureDefinition/patient-citizenship ch-pat-3: ISO Country Alpha-2 or ISO Country Alpha-3 code | ||||
religion | 0..1 | CodeableConcept | Religion of patient URL: http://hl7.org/fhir/StructureDefinition/patient-religion Binding: ReligiousAffiliation (preferred) | |||||
Slices for identifier | Σ | 1..* | Identifier | An identifier for this patient Slice: Unordered, Open by value:$this | ||||
identifier:All Slices | Content/Rules for all slices | |||||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | ✕ This element is not supported Slice: Unordered, Open by value:url | |||||
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . | ||||
type | Σ | 0..1 | CodeableConcept | ✕ This element is not supported Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. | ||||
system | Σ | 0..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient | ||||
value | Σ | 0..1 | string | The value that is unique Example General: 123456 | ||||
period | Σ | 0..1 | Period | ✕ This element is not supported | ||||
assigner | Σ | 0..1 | Reference(CH EMED EPR Organization) | ✕ This element will be removed in PML(C) documents | ||||
identifier:LocalPid | Σ | 0..* | Identifier | Local patient identifier(s) Required Pattern: At least the following | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
use | 0..1 | code | usual | official | temp | secondary | old (If known) | |||||
type | 1..1 | CodeableConcept | Description of identifier Fixed Value: (complex) | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203 | |||||
version | 0..1 | string | Version of the system - if relevant | |||||
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: MR | |||||
display | 0..1 | string | Representation defined by the system | |||||
userSelected | 0..1 | boolean | If this coding was chosen directly by the user | |||||
text | 0..1 | string | Plain text representation of the concept | |||||
system | 0..1 | uri | The namespace for the identifier value | |||||
value | 0..1 | string | The value that is unique | |||||
period | 0..1 | Period | Time period when id is/was valid for use | |||||
assigner | 0..1 | Reference(Organization) | Organization that issued id (may be just text) | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . | ||||
type | Σ | 0..1 | CodeableConcept | Description of identifier Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. | ||||
system | Σ | 1..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient | ||||
value | Σ | 1..1 | string | The value that is unique Example General: 123456 | ||||
period | Σ | 0..1 | Period | Time period when id is/was valid for use | ||||
assigner | Σ | 0..1 | Reference(CH EMED EPR Organization) | Organization that issued id (may be just text) | ||||
identifier:insuranceCardNumber | 0..* | VEKAIdentifier | An identifier intended for computation Required Pattern: At least the following | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
use | 0..1 | code | usual | official | temp | secondary | old (If known) | |||||
type | 0..1 | CodeableConcept | Description of identifier | |||||
system | 1..1 | uri | The namespace for the identifier value Fixed Value: urn:oid:2.16.756.5.30.1.123.100.1.1.1 | |||||
value | 0..1 | string | The value that is unique | |||||
period | 0..1 | Period | Time period when id is/was valid for use | |||||
assigner | 0..1 | Reference(Organization) | Organization that issued id (may be just text) | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . | ||||
type | Σ | 0..1 | CodeableConcept | Description of identifier Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. | ||||
system | Σ | 1..1 | uri | The namespace for the identifier value Fixed Value: urn:oid:2.16.756.5.30.1.123.100.1.1.1 | ||||
value | ΣC | 1..1 | string | The value that is unique veka-length: Insurance card number must be exactly 20 characters long veka-startswith807560: Insurance card number must start with 807560 veka-length-error: Insurance card number must be exactly 20 characters long veka-startswith807560-error: Insurance card number must start with 807560 Example General: 123456 | ||||
period | Σ | 0..1 | Period | Time period when id is/was valid for use | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
start | ΣC | 0..1 | dateTime | Starting time with inclusive boundary | ||||
end | ΣC | 0..1 | dateTime | Expiration date of the insurance card | ||||
assigner | Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text) | ||||
active | ?!Σ | 0..1 | boolean | Whether this patient's record is in active use | ||||
name | C | 1..* | CHCoreHumanName | Name of a human - parts and usage ch-core-hm-1: if officalName with eCH-011 Extension is specified, it can only be put on a name where use attribute is official ch-core-hm-2: if orginalName with eCH-011 Extension is specified, it can only be put on a name where use attribute is maiden ch-core-hm-3: ch-ext-ech-11-name can only be put on a family name ch-core-hm-4: ch-ext-ech-11-firstname can only be put on a given name | ||||
Slices for telecom | Σ | 0..* | ContactPoint | A contact detail for the individual Slice: Unordered, Open by value:system | ||||
telecom:All Slices | Content/Rules for all slices | |||||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
system | ΣC | 1..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): Telecommunications form for contact point. | ||||
value | Σ | 1..1 | string | The actual contact point details | ||||
use | ?!Σ | 0..1 | code | home | work | temp | old | mobile - purpose of this contact point Binding: ContactPointUse (required): Use of contact point. | ||||
rank | Σ | 0..1 | positiveInt | Specify preferred order of use (1 = highest) | ||||
period | Σ | 0..1 | Period | Time period when the contact point was/is in use | ||||
telecom:email | C | 0..* | CHCoreContactPointECH46Email | CH Core ContactPoint eCH-0046 Email cpt-2: A system is required if a value is provided. | ||||
telecom:phone | C | 0..* | CHCoreContactPointECH46Phone | CH Core ContactPoint eCH-0046 Phone cpt-2: A system is required if a value is provided. | ||||
telecom:internet | C | 0..* | CHCoreContactPointECH46Internet | CH Core ContactPoint eCH-0046 Internet cpt-2: A system is required if a value is provided. | ||||
gender | Σ | 1..1 | code | male | female | other | unknown* (* see warning 'ch-pat-2') Binding: AdministrativeGender (required): The gender of a person used for administrative purposes. | ||||
birthDate | Σ | 1..1 | date | The date of birth for the individual | ||||
deceased[x] | ?!Σ | 0..1 | Indicates if the individual is deceased or not | |||||
deceasedBoolean | boolean | |||||||
deceasedDateTime | dateTime | |||||||
address | C | 0..* | CHCoreAddress | An address expressed using postal conventions (as opposed to GPS or other location definition formats) ch-addr-2: For a Swiss address, a canton abbreviation from the value set 'eCH-0007 Canton Abbreviation' must be used. | ||||
maritalStatus | 0..1 | CodeableConcept | Marital (civil) status of a patient Binding: ChCoreMaritalStatus (extensible) | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
Slices for extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
maritalDataSeparation | 0..1 | CodeableConcept | MaritalData Separation URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-maritaldata-separation Binding: eCH-011 MaritalData Separation (extensible): ValueSet separation type | |||||
coding | Σ | 0..* | Coding | Code defined by a terminology system | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
multipleBirth[x] | 0..1 | Whether patient is part of a multiple birth | ||||||
multipleBirthBoolean | boolean | |||||||
multipleBirthInteger | integer | |||||||
photo | 0..* | Attachment | Image of the patient | |||||
Slices for contact | C | 0..* | BackboneElement | A contact party (e.g. guardian, partner, friend) for the patient Slice: Unordered, Open by value:relationship pat-1: SHALL at least contain a contact's details or a reference to an organization | ||||
contact:All Slices | Content/Rules for all slices | |||||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
relationship | 0..* | CodeableConcept | The kind of relationship Binding: PatientContactRelationship (extensible): The nature of the relationship between a patient and a contact person for that patient. | |||||
name | 0..1 | HumanName | A name associated with the contact person | |||||
telecom | 0..* | ContactPoint | A contact detail for the person | |||||
address | 0..1 | Address | Address for the contact person | |||||
gender | 0..1 | code | male | female | other | unknown Binding: AdministrativeGender (required): The gender of a person used for administrative purposes. | |||||
organization | C | 0..1 | Reference(Organization) | ✕ This element will be removed in PML(C) documents | ||||
period | 0..1 | Period | The period during which this contact person or organization is valid to be contacted relating to this patient | |||||
contact:contact | C | 0..1 | BackboneElement | Contact data if it is not address of patient pat-1: SHALL at least contain a contact's details or a reference to an organization | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
relationship | 1..1 | CodeableConcept | The kind of relationship Binding: PatientContactRelationship (extensible): The nature of the relationship between a patient and a contact person for that patient. Required Pattern: At least the following | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://fhir.ch/ig/ch-core/CodeSystem/ech-11 | |||||
version | 0..1 | string | Version of the system - if relevant | |||||
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: contactData | |||||
display | 0..1 | string | Representation defined by the system | |||||
userSelected | 0..1 | boolean | If this coding was chosen directly by the user | |||||
text | 0..1 | string | Plain text representation of the concept | |||||
name | 0..1 | HumanName | A name associated with the contact person | |||||
address | C | 1..1 | CHCoreAddressECH10 | An address expressed using postal conventions (as opposed to GPS or other location definition formats) ch-addr-2: For a Swiss address, a canton abbreviation from the value set 'eCH-0007 Canton Abbreviation' must be used. | ||||
gender | 0..1 | code | male | female | other | unknown Binding: AdministrativeGender (required): The gender of a person used for administrative purposes. | |||||
organization | C | 0..1 | Reference(Organization) | Organization that is associated with the contact | ||||
period | 0..1 | Period | The period during which this contact person or organization is valid to be contacted relating to this patient | |||||
contact:nameOfParent | C | 0..* | BackboneElement | Name of parent pat-1: SHALL at least contain a contact's details or a reference to an organization | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
relationship | 1..1 | CodeableConcept | The kind of relationship Binding: PatientContactRelationship (extensible): The nature of the relationship between a patient and a contact person for that patient. Required Pattern: At least the following | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v3-RoleCode | |||||
version | 0..1 | string | Version of the system - if relevant | |||||
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: PRN | |||||
display | 0..1 | string | Representation defined by the system | |||||
userSelected | 0..1 | boolean | If this coding was chosen directly by the user | |||||
text | 0..1 | string | Plain text representation of the concept | |||||
name | 1..1 | HumanName | A name associated with the contact person | |||||
telecom | 0..* | ContactPoint | A contact detail for the person | |||||
address | 0..1 | Address | Address for the contact person | |||||
gender | 0..1 | code | male | female | other | unknown Binding: AdministrativeGender (required): The gender of a person used for administrative purposes. | |||||
organization | C | 0..1 | Reference(Organization) | Organization that is associated with the contact | ||||
period | 0..1 | Period | The period during which this contact person or organization is valid to be contacted relating to this patient | |||||
Slices for communication | 0..* | BackboneElement | A language which may be used to communicate with the patient about his or her health Slice: Unordered, Open by value:preferred | |||||
communication:All Slices | Content/Rules for all slices | |||||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
language | 1..1 | CodeableConcept | The language which can be used to communicate with the patient about his or her health Binding: CommonLanguages (preferred): A human language.
| |||||
preferred | 0..1 | boolean | Language preference indicator | |||||
communication:languageOfCorrespondence | 0..1 | BackboneElement | Language of correspondence | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
language | 1..1 | CodeableConcept | The language which can be used to communicate with the patient about his or her health Binding: CommonLanguages (preferred): A human language.
| |||||
preferred | 1..1 | boolean | Language preference indicator Fixed Value: true | |||||
generalPractitioner | 0..* | Reference(Organization | Practitioner | PractitionerRole) | ✕ This element will be removed in PML(C) documents | |||||
managingOrganization | Σ | 0..1 | Reference(Organization) | ✕ This element will be removed in PML(C) documents | ||||
link | ?!Σ | 0..* | BackboneElement | ✕ This element will be removed in PML(C) documents | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
other | Σ | 1..1 | Reference(Patient | RelatedPerson) | The other patient or related person resource that the link refers to | ||||
type | Σ | 1..1 | code | replaced-by | replaces | refer | seealso Binding: LinkType (required): The type of link between this patient resource and another patient resource. | ||||
Documentation for this format |
Path | Conformance | ValueSet / Code | URI | |||
Patient.meta.security | extensible | All Security Labelshttp://hl7.org/fhir/ValueSet/security-labels from the FHIR Standard | ||||
Patient.meta.tag | example | CommonTagshttp://hl7.org/fhir/ValueSet/common-tags from the FHIR Standard | ||||
Patient.language | preferred | CommonLanguages
http://hl7.org/fhir/ValueSet/languages from the FHIR Standard | ||||
Patient.identifier.use | required | IdentifierUsehttp://hl7.org/fhir/ValueSet/identifier-use|4.0.1 from the FHIR Standard | ||||
Patient.identifier.type | extensible | Identifier Type Codeshttp://hl7.org/fhir/ValueSet/identifier-type from the FHIR Standard | ||||
Patient.identifier:EPR-SPID.use | required | IdentifierUsehttp://hl7.org/fhir/ValueSet/identifier-use|4.0.1 from the FHIR Standard | ||||
Patient.identifier:EPR-SPID.type | extensible | Identifier Type Codeshttp://hl7.org/fhir/ValueSet/identifier-type from the FHIR Standard | ||||
Patient.identifier:AHVN13.use | required | IdentifierUsehttp://hl7.org/fhir/ValueSet/identifier-use|4.0.1 from the FHIR Standard | ||||
Patient.identifier:AHVN13.type | extensible | Identifier Type Codeshttp://hl7.org/fhir/ValueSet/identifier-type from the FHIR Standard | ||||
Patient.identifier:LocalPid.use | required | IdentifierUsehttp://hl7.org/fhir/ValueSet/identifier-use|4.0.1 from the FHIR Standard | ||||
Patient.identifier:LocalPid.type | extensible | Identifier Type Codeshttp://hl7.org/fhir/ValueSet/identifier-type from the FHIR Standard | ||||
Patient.identifier:insuranceCardNumber.use | required | IdentifierUsehttp://hl7.org/fhir/ValueSet/identifier-use|4.0.1 from the FHIR Standard | ||||
Patient.identifier:insuranceCardNumber.type | extensible | Identifier Type Codeshttp://hl7.org/fhir/ValueSet/identifier-type from the FHIR Standard | ||||
Patient.telecom.system | required | ContactPointSystemhttp://hl7.org/fhir/ValueSet/contact-point-system|4.0.1 from the FHIR Standard | ||||
Patient.telecom.use | required | ContactPointUsehttp://hl7.org/fhir/ValueSet/contact-point-use|4.0.1 from the FHIR Standard | ||||
Patient.gender | required | AdministrativeGenderhttp://hl7.org/fhir/ValueSet/administrative-gender|4.0.1 from the FHIR Standard | ||||
Patient.maritalStatus | extensible | ChCoreMaritalStatushttp://fhir.ch/ig/ch-core/ValueSet/ch-core-maritalstatus | ||||
Patient.contact.relationship | extensible | PatientContactRelationshiphttp://hl7.org/fhir/ValueSet/patient-contactrelationship from the FHIR Standard | ||||
Patient.contact.gender | required | AdministrativeGenderhttp://hl7.org/fhir/ValueSet/administrative-gender|4.0.1 from the FHIR Standard | ||||
Patient.contact:contact.relationship | extensible | Pattern: contactDatahttp://hl7.org/fhir/ValueSet/patient-contactrelationship from the FHIR Standard | ||||
Patient.contact:contact.gender | required | AdministrativeGenderhttp://hl7.org/fhir/ValueSet/administrative-gender|4.0.1 from the FHIR Standard | ||||
Patient.contact:nameOfParent.relationship | extensible | Pattern: PRNhttp://hl7.org/fhir/ValueSet/patient-contactrelationship from the FHIR Standard | ||||
Patient.contact:nameOfParent.gender | required | AdministrativeGenderhttp://hl7.org/fhir/ValueSet/administrative-gender|4.0.1 from the FHIR Standard | ||||
Patient.communication.language | preferred | CommonLanguages
http://hl7.org/fhir/ValueSet/languages from the FHIR Standard | ||||
Patient.communication:languageOfCorrespondence.language | preferred | CommonLanguages
http://hl7.org/fhir/ValueSet/languages from the FHIR Standard | ||||
Patient.link.type | required | LinkTypehttp://hl7.org/fhir/ValueSet/link-type|4.0.1 from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
ahvn13-digit-check | warning | Patient.identifier:AHVN13.value | AHVN13 / NAVS13 must pass digit check - https://www.gs1.org/services/how-calculate-check-digit-manually : (((10-(28+(substring(3,1).toInteger()*3)+(substring(4,1).toInteger()*1)+(substring(5,1).toInteger()*3)+(substring(6,1).toInteger()*1)+(substring(7,1).toInteger()*3)+(substring(8,1).toInteger()*1)+(substring(9,1).toInteger()*3)+(substring(10,1).toInteger()*1)+(substring(11,1).toInteger()*3))mod(10))mod(10))=substring(12,1).toInteger()) | |
ahvn13-digit-check-error | error | Patient.identifier:AHVN13.value | AHVN13 / NAVS13 must pass digit check - https://www.gs1.org/services/how-calculate-check-digit-manually : (((10-(28+(substring(3,1).toInteger()*3)+(substring(4,1).toInteger()*1)+(substring(5,1).toInteger()*3)+(substring(6,1).toInteger()*1)+(substring(7,1).toInteger()*3)+(substring(8,1).toInteger()*1)+(substring(9,1).toInteger()*3)+(substring(10,1).toInteger()*1)+(substring(11,1).toInteger()*3))mod(10))mod(10))=substring(12,1).toInteger()) | |
ahvn13-length | warning | Patient.identifier:AHVN13.value | AHVN13 / NAVS13 must be exactly 13 characters long : matches('^[0-9]{13}$') | |
ahvn13-length-error | error | Patient.identifier:AHVN13.value | AHVN13 / NAVS13 must be exactly 13 characters long : matches('^[0-9]{13}$') | |
ahvn13-startswith756 | warning | Patient.identifier:AHVN13.value | AHVN13 / NAVS13 must start with 756 : startsWith('756') | |
ahvn13-startswith756-error | error | Patient.identifier:AHVN13.value | AHVN13 / NAVS13 must start with 756 : startsWith('756') | |
ch-addr-2 | error | Patient.address, Patient.contact:contact.address | For a Swiss address, a canton abbreviation from the value set 'eCH-0007 Canton Abbreviation' must be used. : country.extension.where(url = 'http://hl7.org/fhir/StructureDefinition/iso21090-SC-coding').empty() or (country.extension.where(url = 'http://hl7.org/fhir/StructureDefinition/iso21090-SC-coding').value.code.startsWith('CH') = false) or (country.extension.where(url = 'http://hl7.org/fhir/StructureDefinition/iso21090-SC-coding').value.code.startsWith('CH').exists() and (state.empty() or state.memberOf('http://fhir.ch/ig/ch-core/ValueSet/ech-7-cantonabbreviation'))) | |
ch-core-hm-1 | error | Patient.name | if officalName with eCH-011 Extension is specified, it can only be put on a name where use attribute is official : family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and value='officialName').empty() or (family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and value='officialName').exists() and use='official') | |
ch-core-hm-2 | error | Patient.name | if orginalName with eCH-011 Extension is specified, it can only be put on a name where use attribute is maiden : family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and value='originalName').empty() or ((family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and value='originalName').exists() and use='maiden')) | |
ch-core-hm-3 | error | Patient.name | ch-ext-ech-11-name can only be put on a family name : descendants().extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name').count()=family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name').count() | |
ch-core-hm-4 | error | Patient.name | ch-ext-ech-11-firstname can only be put on a given name : descendants().extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-firstname').count()=given.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-firstname').count() | |
ch-pat-1 | warning | Patient | If one ore more human names are provided, at least one human name should have a family and a given name. : name.where(family.exists() and given.exists()).count()>0 or name.empty() | |
ch-pat-1-epr | error | Patient | At least one human name shall have a family and a given name. : name.where(family.exists() and given.exists()).count()>0 | |
ch-pat-2 | warning | Patient | gender 'unknown' is currently not used in Switzerland in eCH and the EPR : gender.empty() or gender!='unknown' | |
ch-pat-3 | error | Patient.extension:citizenship | ISO Country Alpha-2 or ISO Country Alpha-3 code : ((extension.where(url='code').value.coding.code.length()=2) and extension.where(url='code').value.coding.code.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-2')) or ((extension.where(url='code').value.coding.code.length() = 3) and extension.where(url='code').value.coding.code.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-3')) | |
cpt-2 | error | Patient.telecom:email, Patient.telecom:phone, Patient.telecom:internet | A system is required if a value is provided. : value.empty() or system.exists() | |
dom-2 | error | Patient | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Patient | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | Patient | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | error | Patient | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Patient | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
epr-spid-length | warning | Patient.identifier:EPR-SPID.value | EPR-SPID must be exactly 18 characters long : matches('^[0-9]{18}$') | |
epr-spid-length-error | error | Patient.identifier:EPR-SPID.value | EPR-SPID must be exactly 18 characters long : matches('^[0-9]{18}$') | |
epr-spid-modulus-10 | warning | Patient.identifier:EPR-SPID.value | EPR-SPID must pass the modulus 10 check - https://www.gs1.org/services/how-calculate-check-digit-manually : (((10-((68+(substring(8,1).toInteger()*3)+(substring(9,1).toInteger()*1)+(substring(10,1).toInteger()*3)+(substring(11,1).toInteger()*1)+(substring(12,1).toInteger()*3)+(substring(13,1).toInteger()*1)+(substring(14,1).toInteger()*3)+(substring(15,1).toInteger()*1)+(substring(16,1).toInteger()*3))mod(10)))mod(10))=substring(17,1).toInteger()) | |
epr-spid-modulus-10-error | error | Patient.identifier:EPR-SPID.value | EPR-SPID must pass the modulus 10 check - https://www.gs1.org/services/how-calculate-check-digit-manually : (((10-((68+(substring(8,1).toInteger()*3)+(substring(9,1).toInteger()*1)+(substring(10,1).toInteger()*3)+(substring(11,1).toInteger()*1)+(substring(12,1).toInteger()*3)+(substring(13,1).toInteger()*1)+(substring(14,1).toInteger()*3)+(substring(15,1).toInteger()*1)+(substring(16,1).toInteger()*3))mod(10)))mod(10))=substring(17,1).toInteger()) | |
epr-spid-startswith76133761 | warning | Patient.identifier:EPR-SPID.value | EPR-SPID must start with 76133761 : startsWith('76133761') | |
epr-spid-startswith76133761-error | error | Patient.identifier:EPR-SPID.value | EPR-SPID must start with 76133761 : startsWith('76133761') | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
pat-1 | error | Patient.contact, Patient.contact:contact, Patient.contact:nameOfParent | SHALL at least contain a contact's details or a reference to an organization : name.exists() or telecom.exists() or address.exists() or organization.exists() | |
veka-length | warning | Patient.identifier:insuranceCardNumber.value | Insurance card number must be exactly 20 characters long : matches('^[0-9]{20}$') | |
veka-length-error | error | Patient.identifier:insuranceCardNumber.value | Insurance card number must be exactly 20 characters long : matches('^[0-9]{20}$') | |
veka-startswith807560 | warning | Patient.identifier:insuranceCardNumber.value | Insurance card number must start with 807560 : startsWith('807560') | |
veka-startswith807560-error | error | Patient.identifier:insuranceCardNumber.value | Insurance card number must start with 807560 : startsWith('807560') |
This structure is derived from CHCorePatientEPR
Differential View
This structure is derived from CHCorePatientEPR
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Patient | CHCorePatientEPR | |||
meta | ||||
extension | D | 0..* | Extension | ✕ This element is not supported |
versionId | D | 0..1 | id | ✕ This element is not supported |
lastUpdated | D | 0..1 | instant | ✕ This element is not supported |
source | D | 0..1 | uri | ✕ This element is not supported |
security | D | 0..* | Coding | ✕ This element is not supported |
tag | D | 0..* | Coding | ✕ This element is not supported |
implicitRules | 0..0 | |||
modifierExtension | 0..0 | |||
identifier | 1..* | Identifier | An identifier for this patient | |
extension | D | 0..* | Extension | ✕ This element is not supported |
type | D | 0..1 | CodeableConcept | ✕ This element is not supported |
period | D | 0..1 | Period | ✕ This element is not supported |
assigner | D | 0..1 | Reference(CH EMED EPR Organization) | ✕ This element will be removed in PML(C) documents |
Slices for identifier | Content/Rules for all slices | |||
identifier:EPR-SPID | 0..0 | EPRSPIDIdentifier | ||
identifier:AHVN13 | 0..0 | AHVN13Identifier | ||
identifier:LocalPid | 0..* | Identifier | Local patient identifier(s) | |
assigner | 0..1 | Reference(CH EMED EPR Organization) | Organization that issued id (may be just text) | |
identifier:insuranceCardNumber | 0..* | VEKAIdentifier | An identifier intended for computation | |
value | C | 1..1 | string | The value that is unique veka-length-error: Insurance card number must be exactly 20 characters long veka-startswith807560-error: Insurance card number must start with 807560 |
contact | 0..* | BackboneElement | A contact party (e.g. guardian, partner, friend) for the patient | |
organization | D | 0..1 | Reference(Organization) | ✕ This element will be removed in PML(C) documents |
generalPractitioner | D | 0..* | Reference(Organization | Practitioner | PractitionerRole) | ✕ This element will be removed in PML(C) documents |
managingOrganization | D | 0..1 | Reference(Organization) | ✕ This element will be removed in PML(C) documents |
link | D | 0..* | BackboneElement | ✕ This element will be removed in PML(C) documents |
Documentation for this format |
Id | Grade | Path(s) | Details | Requirements |
ahvn13-digit-check-error | error | Patient.identifier:AHVN13.value | AHVN13 / NAVS13 must pass digit check - https://www.gs1.org/services/how-calculate-check-digit-manually : (((10-(28+(substring(3,1).toInteger()*3)+(substring(4,1).toInteger()*1)+(substring(5,1).toInteger()*3)+(substring(6,1).toInteger()*1)+(substring(7,1).toInteger()*3)+(substring(8,1).toInteger()*1)+(substring(9,1).toInteger()*3)+(substring(10,1).toInteger()*1)+(substring(11,1).toInteger()*3))mod(10))mod(10))=substring(12,1).toInteger()) | |
ahvn13-length-error | error | Patient.identifier:AHVN13.value | AHVN13 / NAVS13 must be exactly 13 characters long : matches('^[0-9]{13}$') | |
ahvn13-startswith756-error | error | Patient.identifier:AHVN13.value | AHVN13 / NAVS13 must start with 756 : startsWith('756') | |
epr-spid-length-error | error | Patient.identifier:EPR-SPID.value | EPR-SPID must be exactly 18 characters long : matches('^[0-9]{18}$') | |
epr-spid-modulus-10-error | error | Patient.identifier:EPR-SPID.value | EPR-SPID must pass the modulus 10 check - https://www.gs1.org/services/how-calculate-check-digit-manually : (((10-((68+(substring(8,1).toInteger()*3)+(substring(9,1).toInteger()*1)+(substring(10,1).toInteger()*3)+(substring(11,1).toInteger()*1)+(substring(12,1).toInteger()*3)+(substring(13,1).toInteger()*1)+(substring(14,1).toInteger()*3)+(substring(15,1).toInteger()*1)+(substring(16,1).toInteger()*3))mod(10)))mod(10))=substring(17,1).toInteger()) | |
epr-spid-startswith76133761-error | error | Patient.identifier:EPR-SPID.value | EPR-SPID must start with 76133761 : startsWith('76133761') | |
veka-length-error | error | Patient.identifier:insuranceCardNumber.value | Insurance card number must be exactly 20 characters long : matches('^[0-9]{20}$') | |
veka-startswith807560-error | error | Patient.identifier:insuranceCardNumber.value | Insurance card number must start with 807560 : startsWith('807560') |
Key Elements View
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Patient | C | 0..* | CHCorePatientEPR | CH Core Patient EPR (to include the patient in an EPR document) ch-pat-1: If one ore more human names are provided, at least one human name should have a family and a given name. ch-pat-2: gender 'unknown' is currently not used in Switzerland in eCH and the EPR ch-pat-1-epr: At least one human name shall have a family and a given name. | ||||
Slices for extension | Content/Rules for all slices | |||||||
placeOfBirth | 0..1 | CHCoreAddressEch11PlaceOfBirth | Place of birth of patient URL: http://hl7.org/fhir/StructureDefinition/patient-birthPlace profiled by http://fhir.ch/ig/ch-core/StructureDefinition/ch-core-patient-ech-11-placeofbirth | |||||
placeOfOrigin | 0..* | CHCoreAddressECH11PlaceOfOrigin | Place of origin(s) of patient URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-core-patient-ech-11-placeoforigin | |||||
citizenship | C | 0..* | (Complex) | Citizenship(s) of patient URL: http://hl7.org/fhir/StructureDefinition/patient-citizenship ch-pat-3: ISO Country Alpha-2 or ISO Country Alpha-3 code | ||||
religion | 0..1 | CodeableConcept | Religion of patient URL: http://hl7.org/fhir/StructureDefinition/patient-religion Binding: ReligiousAffiliation (preferred) | |||||
Slices for identifier | Σ | 1..* | Identifier | An identifier for this patient Slice: Unordered, Open by value:$this | ||||
identifier:All Slices | Content/Rules for all slices | |||||||
extension | 0..* | Extension | ✕ This element is not supported Slice: Unordered, Open by value:url | |||||
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . | ||||
type | Σ | 0..1 | CodeableConcept | ✕ This element is not supported Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. | ||||
period | Σ | 0..1 | Period | ✕ This element is not supported | ||||
assigner | Σ | 0..1 | Reference(CH EMED EPR Organization) | ✕ This element will be removed in PML(C) documents | ||||
identifier:LocalPid | Σ | 0..* | Identifier | Local patient identifier(s) Required Pattern: At least the following | ||||
type | 1..1 | CodeableConcept | Description of identifier Fixed Value: (complex) | |||||
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |||||
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203 | |||||
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: MR | |||||
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . | ||||
system | Σ | 1..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient | ||||
value | Σ | 1..1 | string | The value that is unique Example General: 123456 | ||||
assigner | Σ | 0..1 | Reference(CH EMED EPR Organization) | Organization that issued id (may be just text) | ||||
identifier:insuranceCardNumber | 0..* | VEKAIdentifier | An identifier intended for computation Required Pattern: At least the following | |||||
system | 1..1 | uri | The namespace for the identifier value Fixed Value: urn:oid:2.16.756.5.30.1.123.100.1.1.1 | |||||
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . | ||||
system | Σ | 1..1 | uri | The namespace for the identifier value Fixed Value: urn:oid:2.16.756.5.30.1.123.100.1.1.1 | ||||
value | ΣC | 1..1 | string | The value that is unique veka-length: Insurance card number must be exactly 20 characters long veka-startswith807560: Insurance card number must start with 807560 veka-length-error: Insurance card number must be exactly 20 characters long veka-startswith807560-error: Insurance card number must start with 807560 Example General: 123456 | ||||
active | ?!Σ | 0..1 | boolean | Whether this patient's record is in active use | ||||
name | C | 1..* | CHCoreHumanName | Name of a human - parts and usage ch-core-hm-1: if officalName with eCH-011 Extension is specified, it can only be put on a name where use attribute is official ch-core-hm-2: if orginalName with eCH-011 Extension is specified, it can only be put on a name where use attribute is maiden ch-core-hm-3: ch-ext-ech-11-name can only be put on a family name ch-core-hm-4: ch-ext-ech-11-firstname can only be put on a given name | ||||
Slices for telecom | Σ | 0..* | ContactPoint | A contact detail for the individual Slice: Unordered, Open by value:system | ||||
telecom:All Slices | Content/Rules for all slices | |||||||
system | ΣC | 1..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): Telecommunications form for contact point. | ||||
value | Σ | 1..1 | string | The actual contact point details | ||||
use | ?!Σ | 0..1 | code | home | work | temp | old | mobile - purpose of this contact point Binding: ContactPointUse (required): Use of contact point. | ||||
telecom:email | C | 0..* | CHCoreContactPointECH46Email | CH Core ContactPoint eCH-0046 Email cpt-2: A system is required if a value is provided. | ||||
telecom:phone | C | 0..* | CHCoreContactPointECH46Phone | CH Core ContactPoint eCH-0046 Phone cpt-2: A system is required if a value is provided. | ||||
telecom:internet | C | 0..* | CHCoreContactPointECH46Internet | CH Core ContactPoint eCH-0046 Internet cpt-2: A system is required if a value is provided. | ||||
gender | Σ | 1..1 | code | male | female | other | unknown* (* see warning 'ch-pat-2') Binding: AdministrativeGender (required): The gender of a person used for administrative purposes. | ||||
birthDate | Σ | 1..1 | date | The date of birth for the individual | ||||
deceased[x] | ?!Σ | 0..1 | Indicates if the individual is deceased or not | |||||
deceasedBoolean | boolean | |||||||
deceasedDateTime | dateTime | |||||||
Slices for contact | C | 0..* | BackboneElement | A contact party (e.g. guardian, partner, friend) for the patient Slice: Unordered, Open by value:relationship pat-1: SHALL at least contain a contact's details or a reference to an organization | ||||
contact:All Slices | Content/Rules for all slices | |||||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
organization | C | 0..1 | Reference(Organization) | ✕ This element will be removed in PML(C) documents | ||||
contact:contact | C | 0..1 | BackboneElement | Contact data if it is not address of patient pat-1: SHALL at least contain a contact's details or a reference to an organization | ||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
relationship | 1..1 | CodeableConcept | The kind of relationship Binding: PatientContactRelationship (extensible): The nature of the relationship between a patient and a contact person for that patient. Required Pattern: At least the following | |||||
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |||||
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://fhir.ch/ig/ch-core/CodeSystem/ech-11 | |||||
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: contactData | |||||
address | C | 1..1 | CHCoreAddressECH10 | An address expressed using postal conventions (as opposed to GPS or other location definition formats) ch-addr-2: For a Swiss address, a canton abbreviation from the value set 'eCH-0007 Canton Abbreviation' must be used. | ||||
contact:nameOfParent | C | 0..* | BackboneElement | Name of parent pat-1: SHALL at least contain a contact's details or a reference to an organization | ||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
relationship | 1..1 | CodeableConcept | The kind of relationship Binding: PatientContactRelationship (extensible): The nature of the relationship between a patient and a contact person for that patient. Required Pattern: At least the following | |||||
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |||||
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v3-RoleCode | |||||
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: PRN | |||||
name | 1..1 | HumanName | A name associated with the contact person | |||||
Slices for communication | 0..* | BackboneElement | A language which may be used to communicate with the patient about his or her health Slice: Unordered, Open by value:preferred | |||||
communication:All Slices | Content/Rules for all slices | |||||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
language | 1..1 | CodeableConcept | The language which can be used to communicate with the patient about his or her health Binding: CommonLanguages (preferred): A human language.
| |||||
communication:languageOfCorrespondence | 0..1 | BackboneElement | Language of correspondence | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
language | 1..1 | CodeableConcept | The language which can be used to communicate with the patient about his or her health Binding: CommonLanguages (preferred): A human language.
| |||||
preferred | 1..1 | boolean | Language preference indicator Fixed Value: true | |||||
generalPractitioner | 0..* | Reference(Organization | Practitioner | PractitionerRole) | ✕ This element will be removed in PML(C) documents | |||||
managingOrganization | Σ | 0..1 | Reference(Organization) | ✕ This element will be removed in PML(C) documents | ||||
link | ?!Σ | 0..* | BackboneElement | ✕ This element will be removed in PML(C) documents | ||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
other | Σ | 1..1 | Reference(Patient | RelatedPerson) | The other patient or related person resource that the link refers to | ||||
type | Σ | 1..1 | code | replaced-by | replaces | refer | seealso Binding: LinkType (required): The type of link between this patient resource and another patient resource. | ||||
Documentation for this format |
Path | Conformance | ValueSet / Code | URI | |||
Patient.identifier.use | required | IdentifierUsehttp://hl7.org/fhir/ValueSet/identifier-use|4.0.1 from the FHIR Standard | ||||
Patient.identifier.type | extensible | Identifier Type Codeshttp://hl7.org/fhir/ValueSet/identifier-type from the FHIR Standard | ||||
Patient.identifier:EPR-SPID.use | required | IdentifierUsehttp://hl7.org/fhir/ValueSet/identifier-use|4.0.1 from the FHIR Standard | ||||
Patient.identifier:AHVN13.use | required | IdentifierUsehttp://hl7.org/fhir/ValueSet/identifier-use|4.0.1 from the FHIR Standard | ||||
Patient.identifier:LocalPid.use | required | IdentifierUsehttp://hl7.org/fhir/ValueSet/identifier-use|4.0.1 from the FHIR Standard | ||||
Patient.identifier:insuranceCardNumber.use | required | IdentifierUsehttp://hl7.org/fhir/ValueSet/identifier-use|4.0.1 from the FHIR Standard | ||||
Patient.telecom.system | required | ContactPointSystemhttp://hl7.org/fhir/ValueSet/contact-point-system|4.0.1 from the FHIR Standard | ||||
Patient.telecom.use | required | ContactPointUsehttp://hl7.org/fhir/ValueSet/contact-point-use|4.0.1 from the FHIR Standard | ||||
Patient.gender | required | AdministrativeGenderhttp://hl7.org/fhir/ValueSet/administrative-gender|4.0.1 from the FHIR Standard | ||||
Patient.contact:contact.relationship | extensible | Pattern: contactDatahttp://hl7.org/fhir/ValueSet/patient-contactrelationship from the FHIR Standard | ||||
Patient.contact:nameOfParent.relationship | extensible | Pattern: PRNhttp://hl7.org/fhir/ValueSet/patient-contactrelationship from the FHIR Standard | ||||
Patient.communication.language | preferred | CommonLanguages
http://hl7.org/fhir/ValueSet/languages from the FHIR Standard | ||||
Patient.communication:languageOfCorrespondence.language | preferred | CommonLanguages
http://hl7.org/fhir/ValueSet/languages from the FHIR Standard | ||||
Patient.link.type | required | LinkTypehttp://hl7.org/fhir/ValueSet/link-type|4.0.1 from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
ahvn13-digit-check | warning | Patient.identifier:AHVN13.value | AHVN13 / NAVS13 must pass digit check - https://www.gs1.org/services/how-calculate-check-digit-manually : (((10-(28+(substring(3,1).toInteger()*3)+(substring(4,1).toInteger()*1)+(substring(5,1).toInteger()*3)+(substring(6,1).toInteger()*1)+(substring(7,1).toInteger()*3)+(substring(8,1).toInteger()*1)+(substring(9,1).toInteger()*3)+(substring(10,1).toInteger()*1)+(substring(11,1).toInteger()*3))mod(10))mod(10))=substring(12,1).toInteger()) | |
ahvn13-digit-check-error | error | Patient.identifier:AHVN13.value | AHVN13 / NAVS13 must pass digit check - https://www.gs1.org/services/how-calculate-check-digit-manually : (((10-(28+(substring(3,1).toInteger()*3)+(substring(4,1).toInteger()*1)+(substring(5,1).toInteger()*3)+(substring(6,1).toInteger()*1)+(substring(7,1).toInteger()*3)+(substring(8,1).toInteger()*1)+(substring(9,1).toInteger()*3)+(substring(10,1).toInteger()*1)+(substring(11,1).toInteger()*3))mod(10))mod(10))=substring(12,1).toInteger()) | |
ahvn13-length | warning | Patient.identifier:AHVN13.value | AHVN13 / NAVS13 must be exactly 13 characters long : matches('^[0-9]{13}$') | |
ahvn13-length-error | error | Patient.identifier:AHVN13.value | AHVN13 / NAVS13 must be exactly 13 characters long : matches('^[0-9]{13}$') | |
ahvn13-startswith756 | warning | Patient.identifier:AHVN13.value | AHVN13 / NAVS13 must start with 756 : startsWith('756') | |
ahvn13-startswith756-error | error | Patient.identifier:AHVN13.value | AHVN13 / NAVS13 must start with 756 : startsWith('756') | |
ch-addr-2 | error | Patient.contact:contact.address | For a Swiss address, a canton abbreviation from the value set 'eCH-0007 Canton Abbreviation' must be used. : country.extension.where(url = 'http://hl7.org/fhir/StructureDefinition/iso21090-SC-coding').empty() or (country.extension.where(url = 'http://hl7.org/fhir/StructureDefinition/iso21090-SC-coding').value.code.startsWith('CH') = false) or (country.extension.where(url = 'http://hl7.org/fhir/StructureDefinition/iso21090-SC-coding').value.code.startsWith('CH').exists() and (state.empty() or state.memberOf('http://fhir.ch/ig/ch-core/ValueSet/ech-7-cantonabbreviation'))) | |
ch-core-hm-1 | error | Patient.name | if officalName with eCH-011 Extension is specified, it can only be put on a name where use attribute is official : family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and value='officialName').empty() or (family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and value='officialName').exists() and use='official') | |
ch-core-hm-2 | error | Patient.name | if orginalName with eCH-011 Extension is specified, it can only be put on a name where use attribute is maiden : family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and value='originalName').empty() or ((family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and value='originalName').exists() and use='maiden')) | |
ch-core-hm-3 | error | Patient.name | ch-ext-ech-11-name can only be put on a family name : descendants().extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name').count()=family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name').count() | |
ch-core-hm-4 | error | Patient.name | ch-ext-ech-11-firstname can only be put on a given name : descendants().extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-firstname').count()=given.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-firstname').count() | |
ch-pat-1 | warning | Patient | If one ore more human names are provided, at least one human name should have a family and a given name. : name.where(family.exists() and given.exists()).count()>0 or name.empty() | |
ch-pat-1-epr | error | Patient | At least one human name shall have a family and a given name. : name.where(family.exists() and given.exists()).count()>0 | |
ch-pat-2 | warning | Patient | gender 'unknown' is currently not used in Switzerland in eCH and the EPR : gender.empty() or gender!='unknown' | |
ch-pat-3 | error | Patient.extension:citizenship | ISO Country Alpha-2 or ISO Country Alpha-3 code : ((extension.where(url='code').value.coding.code.length()=2) and extension.where(url='code').value.coding.code.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-2')) or ((extension.where(url='code').value.coding.code.length() = 3) and extension.where(url='code').value.coding.code.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-3')) | |
cpt-2 | error | Patient.telecom:email, Patient.telecom:phone, Patient.telecom:internet | A system is required if a value is provided. : value.empty() or system.exists() | |
dom-2 | error | Patient | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Patient | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | Patient | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | error | Patient | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Patient | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
epr-spid-length | warning | Patient.identifier:EPR-SPID.value | EPR-SPID must be exactly 18 characters long : matches('^[0-9]{18}$') | |
epr-spid-length-error | error | Patient.identifier:EPR-SPID.value | EPR-SPID must be exactly 18 characters long : matches('^[0-9]{18}$') | |
epr-spid-modulus-10 | warning | Patient.identifier:EPR-SPID.value | EPR-SPID must pass the modulus 10 check - https://www.gs1.org/services/how-calculate-check-digit-manually : (((10-((68+(substring(8,1).toInteger()*3)+(substring(9,1).toInteger()*1)+(substring(10,1).toInteger()*3)+(substring(11,1).toInteger()*1)+(substring(12,1).toInteger()*3)+(substring(13,1).toInteger()*1)+(substring(14,1).toInteger()*3)+(substring(15,1).toInteger()*1)+(substring(16,1).toInteger()*3))mod(10)))mod(10))=substring(17,1).toInteger()) | |
epr-spid-modulus-10-error | error | Patient.identifier:EPR-SPID.value | EPR-SPID must pass the modulus 10 check - https://www.gs1.org/services/how-calculate-check-digit-manually : (((10-((68+(substring(8,1).toInteger()*3)+(substring(9,1).toInteger()*1)+(substring(10,1).toInteger()*3)+(substring(11,1).toInteger()*1)+(substring(12,1).toInteger()*3)+(substring(13,1).toInteger()*1)+(substring(14,1).toInteger()*3)+(substring(15,1).toInteger()*1)+(substring(16,1).toInteger()*3))mod(10)))mod(10))=substring(17,1).toInteger()) | |
epr-spid-startswith76133761 | warning | Patient.identifier:EPR-SPID.value | EPR-SPID must start with 76133761 : startsWith('76133761') | |
epr-spid-startswith76133761-error | error | Patient.identifier:EPR-SPID.value | EPR-SPID must start with 76133761 : startsWith('76133761') | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
pat-1 | error | Patient.contact, Patient.contact:contact, Patient.contact:nameOfParent | SHALL at least contain a contact's details or a reference to an organization : name.exists() or telecom.exists() or address.exists() or organization.exists() | |
veka-length | warning | Patient.identifier:insuranceCardNumber.value | Insurance card number must be exactly 20 characters long : matches('^[0-9]{20}$') | |
veka-length-error | error | Patient.identifier:insuranceCardNumber.value | Insurance card number must be exactly 20 characters long : matches('^[0-9]{20}$') | |
veka-startswith807560 | warning | Patient.identifier:insuranceCardNumber.value | Insurance card number must start with 807560 : startsWith('807560') | |
veka-startswith807560-error | error | Patient.identifier:insuranceCardNumber.value | Insurance card number must start with 807560 : startsWith('807560') |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Patient | C | 0..* | CHCorePatientEPR | CH Core Patient EPR (to include the patient in an EPR document) ch-pat-1: If one ore more human names are provided, at least one human name should have a family and a given name. ch-pat-2: gender 'unknown' is currently not used in Switzerland in eCH and the EPR ch-pat-1-epr: At least one human name shall have a family and a given name. | ||||
id | Σ | 0..1 | id | Logical id of this artifact | ||||
meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | ✕ This element is not supported Slice: Unordered, Open by value:url | |||||
versionId | Σ | 0..1 | id | ✕ This element is not supported | ||||
lastUpdated | Σ | 0..1 | instant | ✕ This element is not supported | ||||
source | Σ | 0..1 | uri | ✕ This element is not supported | ||||
profile | Σ | 0..* | canonical(StructureDefinition) | Profiles this resource claims to conform to | ||||
security | Σ | 0..* | Coding | ✕ This element is not supported Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System. | ||||
tag | Σ | 0..* | Coding | ✕ This element is not supported Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones". | ||||
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
contained | 0..* | Resource | Contained, inline Resources | |||||
Slices for extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
placeOfBirth | 0..1 | CHCoreAddressEch11PlaceOfBirth | Place of birth of patient URL: http://hl7.org/fhir/StructureDefinition/patient-birthPlace profiled by http://fhir.ch/ig/ch-core/StructureDefinition/ch-core-patient-ech-11-placeofbirth | |||||
placeOfOrigin | 0..* | CHCoreAddressECH11PlaceOfOrigin | Place of origin(s) of patient URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-core-patient-ech-11-placeoforigin | |||||
citizenship | C | 0..* | (Complex) | Citizenship(s) of patient URL: http://hl7.org/fhir/StructureDefinition/patient-citizenship ch-pat-3: ISO Country Alpha-2 or ISO Country Alpha-3 code | ||||
religion | 0..1 | CodeableConcept | Religion of patient URL: http://hl7.org/fhir/StructureDefinition/patient-religion Binding: ReligiousAffiliation (preferred) | |||||
Slices for identifier | Σ | 1..* | Identifier | An identifier for this patient Slice: Unordered, Open by value:$this | ||||
identifier:All Slices | Content/Rules for all slices | |||||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | ✕ This element is not supported Slice: Unordered, Open by value:url | |||||
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . | ||||
type | Σ | 0..1 | CodeableConcept | ✕ This element is not supported Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. | ||||
system | Σ | 0..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient | ||||
value | Σ | 0..1 | string | The value that is unique Example General: 123456 | ||||
period | Σ | 0..1 | Period | ✕ This element is not supported | ||||
assigner | Σ | 0..1 | Reference(CH EMED EPR Organization) | ✕ This element will be removed in PML(C) documents | ||||
identifier:LocalPid | Σ | 0..* | Identifier | Local patient identifier(s) Required Pattern: At least the following | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
use | 0..1 | code | usual | official | temp | secondary | old (If known) | |||||
type | 1..1 | CodeableConcept | Description of identifier Fixed Value: (complex) | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203 | |||||
version | 0..1 | string | Version of the system - if relevant | |||||
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: MR | |||||
display | 0..1 | string | Representation defined by the system | |||||
userSelected | 0..1 | boolean | If this coding was chosen directly by the user | |||||
text | 0..1 | string | Plain text representation of the concept | |||||
system | 0..1 | uri | The namespace for the identifier value | |||||
value | 0..1 | string | The value that is unique | |||||
period | 0..1 | Period | Time period when id is/was valid for use | |||||
assigner | 0..1 | Reference(Organization) | Organization that issued id (may be just text) | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . | ||||
type | Σ | 0..1 | CodeableConcept | Description of identifier Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. | ||||
system | Σ | 1..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient | ||||
value | Σ | 1..1 | string | The value that is unique Example General: 123456 | ||||
period | Σ | 0..1 | Period | Time period when id is/was valid for use | ||||
assigner | Σ | 0..1 | Reference(CH EMED EPR Organization) | Organization that issued id (may be just text) | ||||
identifier:insuranceCardNumber | 0..* | VEKAIdentifier | An identifier intended for computation Required Pattern: At least the following | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
use | 0..1 | code | usual | official | temp | secondary | old (If known) | |||||
type | 0..1 | CodeableConcept | Description of identifier | |||||
system | 1..1 | uri | The namespace for the identifier value Fixed Value: urn:oid:2.16.756.5.30.1.123.100.1.1.1 | |||||
value | 0..1 | string | The value that is unique | |||||
period | 0..1 | Period | Time period when id is/was valid for use | |||||
assigner | 0..1 | Reference(Organization) | Organization that issued id (may be just text) | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . | ||||
type | Σ | 0..1 | CodeableConcept | Description of identifier Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. | ||||
system | Σ | 1..1 | uri | The namespace for the identifier value Fixed Value: urn:oid:2.16.756.5.30.1.123.100.1.1.1 | ||||
value | ΣC | 1..1 | string | The value that is unique veka-length: Insurance card number must be exactly 20 characters long veka-startswith807560: Insurance card number must start with 807560 veka-length-error: Insurance card number must be exactly 20 characters long veka-startswith807560-error: Insurance card number must start with 807560 Example General: 123456 | ||||
period | Σ | 0..1 | Period | Time period when id is/was valid for use | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
start | ΣC | 0..1 | dateTime | Starting time with inclusive boundary | ||||
end | ΣC | 0..1 | dateTime | Expiration date of the insurance card | ||||
assigner | Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text) | ||||
active | ?!Σ | 0..1 | boolean | Whether this patient's record is in active use | ||||
name | C | 1..* | CHCoreHumanName | Name of a human - parts and usage ch-core-hm-1: if officalName with eCH-011 Extension is specified, it can only be put on a name where use attribute is official ch-core-hm-2: if orginalName with eCH-011 Extension is specified, it can only be put on a name where use attribute is maiden ch-core-hm-3: ch-ext-ech-11-name can only be put on a family name ch-core-hm-4: ch-ext-ech-11-firstname can only be put on a given name | ||||
Slices for telecom | Σ | 0..* | ContactPoint | A contact detail for the individual Slice: Unordered, Open by value:system | ||||
telecom:All Slices | Content/Rules for all slices | |||||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
system | ΣC | 1..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): Telecommunications form for contact point. | ||||
value | Σ | 1..1 | string | The actual contact point details | ||||
use | ?!Σ | 0..1 | code | home | work | temp | old | mobile - purpose of this contact point Binding: ContactPointUse (required): Use of contact point. | ||||
rank | Σ | 0..1 | positiveInt | Specify preferred order of use (1 = highest) | ||||
period | Σ | 0..1 | Period | Time period when the contact point was/is in use | ||||
telecom:email | C | 0..* | CHCoreContactPointECH46Email | CH Core ContactPoint eCH-0046 Email cpt-2: A system is required if a value is provided. | ||||
telecom:phone | C | 0..* | CHCoreContactPointECH46Phone | CH Core ContactPoint eCH-0046 Phone cpt-2: A system is required if a value is provided. | ||||
telecom:internet | C | 0..* | CHCoreContactPointECH46Internet | CH Core ContactPoint eCH-0046 Internet cpt-2: A system is required if a value is provided. | ||||
gender | Σ | 1..1 | code | male | female | other | unknown* (* see warning 'ch-pat-2') Binding: AdministrativeGender (required): The gender of a person used for administrative purposes. | ||||
birthDate | Σ | 1..1 | date | The date of birth for the individual | ||||
deceased[x] | ?!Σ | 0..1 | Indicates if the individual is deceased or not | |||||
deceasedBoolean | boolean | |||||||
deceasedDateTime | dateTime | |||||||
address | C | 0..* | CHCoreAddress | An address expressed using postal conventions (as opposed to GPS or other location definition formats) ch-addr-2: For a Swiss address, a canton abbreviation from the value set 'eCH-0007 Canton Abbreviation' must be used. | ||||
maritalStatus | 0..1 | CodeableConcept | Marital (civil) status of a patient Binding: ChCoreMaritalStatus (extensible) | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
Slices for extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
maritalDataSeparation | 0..1 | CodeableConcept | MaritalData Separation URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-maritaldata-separation Binding: eCH-011 MaritalData Separation (extensible): ValueSet separation type | |||||
coding | Σ | 0..* | Coding | Code defined by a terminology system | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
multipleBirth[x] | 0..1 | Whether patient is part of a multiple birth | ||||||
multipleBirthBoolean | boolean | |||||||
multipleBirthInteger | integer | |||||||
photo | 0..* | Attachment | Image of the patient | |||||
Slices for contact | C | 0..* | BackboneElement | A contact party (e.g. guardian, partner, friend) for the patient Slice: Unordered, Open by value:relationship pat-1: SHALL at least contain a contact's details or a reference to an organization | ||||
contact:All Slices | Content/Rules for all slices | |||||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
relationship | 0..* | CodeableConcept | The kind of relationship Binding: PatientContactRelationship (extensible): The nature of the relationship between a patient and a contact person for that patient. | |||||
name | 0..1 | HumanName | A name associated with the contact person | |||||
telecom | 0..* | ContactPoint | A contact detail for the person | |||||
address | 0..1 | Address | Address for the contact person | |||||
gender | 0..1 | code | male | female | other | unknown Binding: AdministrativeGender (required): The gender of a person used for administrative purposes. | |||||
organization | C | 0..1 | Reference(Organization) | ✕ This element will be removed in PML(C) documents | ||||
period | 0..1 | Period | The period during which this contact person or organization is valid to be contacted relating to this patient | |||||
contact:contact | C | 0..1 | BackboneElement | Contact data if it is not address of patient pat-1: SHALL at least contain a contact's details or a reference to an organization | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
relationship | 1..1 | CodeableConcept | The kind of relationship Binding: PatientContactRelationship (extensible): The nature of the relationship between a patient and a contact person for that patient. Required Pattern: At least the following | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://fhir.ch/ig/ch-core/CodeSystem/ech-11 | |||||
version | 0..1 | string | Version of the system - if relevant | |||||
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: contactData | |||||
display | 0..1 | string | Representation defined by the system | |||||
userSelected | 0..1 | boolean | If this coding was chosen directly by the user | |||||
text | 0..1 | string | Plain text representation of the concept | |||||
name | 0..1 | HumanName | A name associated with the contact person | |||||
address | C | 1..1 | CHCoreAddressECH10 | An address expressed using postal conventions (as opposed to GPS or other location definition formats) ch-addr-2: For a Swiss address, a canton abbreviation from the value set 'eCH-0007 Canton Abbreviation' must be used. | ||||
gender | 0..1 | code | male | female | other | unknown Binding: AdministrativeGender (required): The gender of a person used for administrative purposes. | |||||
organization | C | 0..1 | Reference(Organization) | Organization that is associated with the contact | ||||
period | 0..1 | Period | The period during which this contact person or organization is valid to be contacted relating to this patient | |||||
contact:nameOfParent | C | 0..* | BackboneElement | Name of parent pat-1: SHALL at least contain a contact's details or a reference to an organization | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
relationship | 1..1 | CodeableConcept | The kind of relationship Binding: PatientContactRelationship (extensible): The nature of the relationship between a patient and a contact person for that patient. Required Pattern: At least the following | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v3-RoleCode | |||||
version | 0..1 | string | Version of the system - if relevant | |||||
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: PRN | |||||
display | 0..1 | string | Representation defined by the system | |||||
userSelected | 0..1 | boolean | If this coding was chosen directly by the user | |||||
text | 0..1 | string | Plain text representation of the concept | |||||
name | 1..1 | HumanName | A name associated with the contact person | |||||
telecom | 0..* | ContactPoint | A contact detail for the person | |||||
address | 0..1 | Address | Address for the contact person | |||||
gender | 0..1 | code | male | female | other | unknown Binding: AdministrativeGender (required): The gender of a person used for administrative purposes. | |||||
organization | C | 0..1 | Reference(Organization) | Organization that is associated with the contact | ||||
period | 0..1 | Period | The period during which this contact person or organization is valid to be contacted relating to this patient | |||||
Slices for communication | 0..* | BackboneElement | A language which may be used to communicate with the patient about his or her health Slice: Unordered, Open by value:preferred | |||||
communication:All Slices | Content/Rules for all slices | |||||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
language | 1..1 | CodeableConcept | The language which can be used to communicate with the patient about his or her health Binding: CommonLanguages (preferred): A human language.
| |||||
preferred | 0..1 | boolean | Language preference indicator | |||||
communication:languageOfCorrespondence | 0..1 | BackboneElement | Language of correspondence | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
language | 1..1 | CodeableConcept | The language which can be used to communicate with the patient about his or her health Binding: CommonLanguages (preferred): A human language.
| |||||
preferred | 1..1 | boolean | Language preference indicator Fixed Value: true | |||||
generalPractitioner | 0..* | Reference(Organization | Practitioner | PractitionerRole) | ✕ This element will be removed in PML(C) documents | |||||
managingOrganization | Σ | 0..1 | Reference(Organization) | ✕ This element will be removed in PML(C) documents | ||||
link | ?!Σ | 0..* | BackboneElement | ✕ This element will be removed in PML(C) documents | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
other | Σ | 1..1 | Reference(Patient | RelatedPerson) | The other patient or related person resource that the link refers to | ||||
type | Σ | 1..1 | code | replaced-by | replaces | refer | seealso Binding: LinkType (required): The type of link between this patient resource and another patient resource. | ||||
Documentation for this format |
Path | Conformance | ValueSet / Code | URI | |||
Patient.meta.security | extensible | All Security Labelshttp://hl7.org/fhir/ValueSet/security-labels from the FHIR Standard | ||||
Patient.meta.tag | example | CommonTagshttp://hl7.org/fhir/ValueSet/common-tags from the FHIR Standard | ||||
Patient.language | preferred | CommonLanguages
http://hl7.org/fhir/ValueSet/languages from the FHIR Standard | ||||
Patient.identifier.use | required | IdentifierUsehttp://hl7.org/fhir/ValueSet/identifier-use|4.0.1 from the FHIR Standard | ||||
Patient.identifier.type | extensible | Identifier Type Codeshttp://hl7.org/fhir/ValueSet/identifier-type from the FHIR Standard | ||||
Patient.identifier:EPR-SPID.use | required | IdentifierUsehttp://hl7.org/fhir/ValueSet/identifier-use|4.0.1 from the FHIR Standard | ||||
Patient.identifier:EPR-SPID.type | extensible | Identifier Type Codeshttp://hl7.org/fhir/ValueSet/identifier-type from the FHIR Standard | ||||
Patient.identifier:AHVN13.use | required | IdentifierUsehttp://hl7.org/fhir/ValueSet/identifier-use|4.0.1 from the FHIR Standard | ||||
Patient.identifier:AHVN13.type | extensible | Identifier Type Codeshttp://hl7.org/fhir/ValueSet/identifier-type from the FHIR Standard | ||||
Patient.identifier:LocalPid.use | required | IdentifierUsehttp://hl7.org/fhir/ValueSet/identifier-use|4.0.1 from the FHIR Standard | ||||
Patient.identifier:LocalPid.type | extensible | Identifier Type Codeshttp://hl7.org/fhir/ValueSet/identifier-type from the FHIR Standard | ||||
Patient.identifier:insuranceCardNumber.use | required | IdentifierUsehttp://hl7.org/fhir/ValueSet/identifier-use|4.0.1 from the FHIR Standard | ||||
Patient.identifier:insuranceCardNumber.type | extensible | Identifier Type Codeshttp://hl7.org/fhir/ValueSet/identifier-type from the FHIR Standard | ||||
Patient.telecom.system | required | ContactPointSystemhttp://hl7.org/fhir/ValueSet/contact-point-system|4.0.1 from the FHIR Standard | ||||
Patient.telecom.use | required | ContactPointUsehttp://hl7.org/fhir/ValueSet/contact-point-use|4.0.1 from the FHIR Standard | ||||
Patient.gender | required | AdministrativeGenderhttp://hl7.org/fhir/ValueSet/administrative-gender|4.0.1 from the FHIR Standard | ||||
Patient.maritalStatus | extensible | ChCoreMaritalStatushttp://fhir.ch/ig/ch-core/ValueSet/ch-core-maritalstatus | ||||
Patient.contact.relationship | extensible | PatientContactRelationshiphttp://hl7.org/fhir/ValueSet/patient-contactrelationship from the FHIR Standard | ||||
Patient.contact.gender | required | AdministrativeGenderhttp://hl7.org/fhir/ValueSet/administrative-gender|4.0.1 from the FHIR Standard | ||||
Patient.contact:contact.relationship | extensible | Pattern: contactDatahttp://hl7.org/fhir/ValueSet/patient-contactrelationship from the FHIR Standard | ||||
Patient.contact:contact.gender | required | AdministrativeGenderhttp://hl7.org/fhir/ValueSet/administrative-gender|4.0.1 from the FHIR Standard | ||||
Patient.contact:nameOfParent.relationship | extensible | Pattern: PRNhttp://hl7.org/fhir/ValueSet/patient-contactrelationship from the FHIR Standard | ||||
Patient.contact:nameOfParent.gender | required | AdministrativeGenderhttp://hl7.org/fhir/ValueSet/administrative-gender|4.0.1 from the FHIR Standard | ||||
Patient.communication.language | preferred | CommonLanguages
http://hl7.org/fhir/ValueSet/languages from the FHIR Standard | ||||
Patient.communication:languageOfCorrespondence.language | preferred | CommonLanguages
http://hl7.org/fhir/ValueSet/languages from the FHIR Standard | ||||
Patient.link.type | required | LinkTypehttp://hl7.org/fhir/ValueSet/link-type|4.0.1 from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
ahvn13-digit-check | warning | Patient.identifier:AHVN13.value | AHVN13 / NAVS13 must pass digit check - https://www.gs1.org/services/how-calculate-check-digit-manually : (((10-(28+(substring(3,1).toInteger()*3)+(substring(4,1).toInteger()*1)+(substring(5,1).toInteger()*3)+(substring(6,1).toInteger()*1)+(substring(7,1).toInteger()*3)+(substring(8,1).toInteger()*1)+(substring(9,1).toInteger()*3)+(substring(10,1).toInteger()*1)+(substring(11,1).toInteger()*3))mod(10))mod(10))=substring(12,1).toInteger()) | |
ahvn13-digit-check-error | error | Patient.identifier:AHVN13.value | AHVN13 / NAVS13 must pass digit check - https://www.gs1.org/services/how-calculate-check-digit-manually : (((10-(28+(substring(3,1).toInteger()*3)+(substring(4,1).toInteger()*1)+(substring(5,1).toInteger()*3)+(substring(6,1).toInteger()*1)+(substring(7,1).toInteger()*3)+(substring(8,1).toInteger()*1)+(substring(9,1).toInteger()*3)+(substring(10,1).toInteger()*1)+(substring(11,1).toInteger()*3))mod(10))mod(10))=substring(12,1).toInteger()) | |
ahvn13-length | warning | Patient.identifier:AHVN13.value | AHVN13 / NAVS13 must be exactly 13 characters long : matches('^[0-9]{13}$') | |
ahvn13-length-error | error | Patient.identifier:AHVN13.value | AHVN13 / NAVS13 must be exactly 13 characters long : matches('^[0-9]{13}$') | |
ahvn13-startswith756 | warning | Patient.identifier:AHVN13.value | AHVN13 / NAVS13 must start with 756 : startsWith('756') | |
ahvn13-startswith756-error | error | Patient.identifier:AHVN13.value | AHVN13 / NAVS13 must start with 756 : startsWith('756') | |
ch-addr-2 | error | Patient.address, Patient.contact:contact.address | For a Swiss address, a canton abbreviation from the value set 'eCH-0007 Canton Abbreviation' must be used. : country.extension.where(url = 'http://hl7.org/fhir/StructureDefinition/iso21090-SC-coding').empty() or (country.extension.where(url = 'http://hl7.org/fhir/StructureDefinition/iso21090-SC-coding').value.code.startsWith('CH') = false) or (country.extension.where(url = 'http://hl7.org/fhir/StructureDefinition/iso21090-SC-coding').value.code.startsWith('CH').exists() and (state.empty() or state.memberOf('http://fhir.ch/ig/ch-core/ValueSet/ech-7-cantonabbreviation'))) | |
ch-core-hm-1 | error | Patient.name | if officalName with eCH-011 Extension is specified, it can only be put on a name where use attribute is official : family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and value='officialName').empty() or (family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and value='officialName').exists() and use='official') | |
ch-core-hm-2 | error | Patient.name | if orginalName with eCH-011 Extension is specified, it can only be put on a name where use attribute is maiden : family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and value='originalName').empty() or ((family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and value='originalName').exists() and use='maiden')) | |
ch-core-hm-3 | error | Patient.name | ch-ext-ech-11-name can only be put on a family name : descendants().extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name').count()=family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name').count() | |
ch-core-hm-4 | error | Patient.name | ch-ext-ech-11-firstname can only be put on a given name : descendants().extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-firstname').count()=given.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-firstname').count() | |
ch-pat-1 | warning | Patient | If one ore more human names are provided, at least one human name should have a family and a given name. : name.where(family.exists() and given.exists()).count()>0 or name.empty() | |
ch-pat-1-epr | error | Patient | At least one human name shall have a family and a given name. : name.where(family.exists() and given.exists()).count()>0 | |
ch-pat-2 | warning | Patient | gender 'unknown' is currently not used in Switzerland in eCH and the EPR : gender.empty() or gender!='unknown' | |
ch-pat-3 | error | Patient.extension:citizenship | ISO Country Alpha-2 or ISO Country Alpha-3 code : ((extension.where(url='code').value.coding.code.length()=2) and extension.where(url='code').value.coding.code.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-2')) or ((extension.where(url='code').value.coding.code.length() = 3) and extension.where(url='code').value.coding.code.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-3')) | |
cpt-2 | error | Patient.telecom:email, Patient.telecom:phone, Patient.telecom:internet | A system is required if a value is provided. : value.empty() or system.exists() | |
dom-2 | error | Patient | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Patient | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | Patient | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | error | Patient | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Patient | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
epr-spid-length | warning | Patient.identifier:EPR-SPID.value | EPR-SPID must be exactly 18 characters long : matches('^[0-9]{18}$') | |
epr-spid-length-error | error | Patient.identifier:EPR-SPID.value | EPR-SPID must be exactly 18 characters long : matches('^[0-9]{18}$') | |
epr-spid-modulus-10 | warning | Patient.identifier:EPR-SPID.value | EPR-SPID must pass the modulus 10 check - https://www.gs1.org/services/how-calculate-check-digit-manually : (((10-((68+(substring(8,1).toInteger()*3)+(substring(9,1).toInteger()*1)+(substring(10,1).toInteger()*3)+(substring(11,1).toInteger()*1)+(substring(12,1).toInteger()*3)+(substring(13,1).toInteger()*1)+(substring(14,1).toInteger()*3)+(substring(15,1).toInteger()*1)+(substring(16,1).toInteger()*3))mod(10)))mod(10))=substring(17,1).toInteger()) | |
epr-spid-modulus-10-error | error | Patient.identifier:EPR-SPID.value | EPR-SPID must pass the modulus 10 check - https://www.gs1.org/services/how-calculate-check-digit-manually : (((10-((68+(substring(8,1).toInteger()*3)+(substring(9,1).toInteger()*1)+(substring(10,1).toInteger()*3)+(substring(11,1).toInteger()*1)+(substring(12,1).toInteger()*3)+(substring(13,1).toInteger()*1)+(substring(14,1).toInteger()*3)+(substring(15,1).toInteger()*1)+(substring(16,1).toInteger()*3))mod(10)))mod(10))=substring(17,1).toInteger()) | |
epr-spid-startswith76133761 | warning | Patient.identifier:EPR-SPID.value | EPR-SPID must start with 76133761 : startsWith('76133761') | |
epr-spid-startswith76133761-error | error | Patient.identifier:EPR-SPID.value | EPR-SPID must start with 76133761 : startsWith('76133761') | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
pat-1 | error | Patient.contact, Patient.contact:contact, Patient.contact:nameOfParent | SHALL at least contain a contact's details or a reference to an organization : name.exists() or telecom.exists() or address.exists() or organization.exists() | |
veka-length | warning | Patient.identifier:insuranceCardNumber.value | Insurance card number must be exactly 20 characters long : matches('^[0-9]{20}$') | |
veka-length-error | error | Patient.identifier:insuranceCardNumber.value | Insurance card number must be exactly 20 characters long : matches('^[0-9]{20}$') | |
veka-startswith807560 | warning | Patient.identifier:insuranceCardNumber.value | Insurance card number must start with 807560 : startsWith('807560') | |
veka-startswith807560-error | error | Patient.identifier:insuranceCardNumber.value | Insurance card number must start with 807560 : startsWith('807560') |
This structure is derived from CHCorePatientEPR
Other representations of profile: CSV, Excel, Schematron