CH EMED EPR
1.0.0 - trial-use Switzerland flag

This page is part of the FHIR eMedication exchange formats for the implementation effort of CARA within its EPR community (v1.0.0: STU1) based on FHIR (HL7® FHIR® Standard) R4. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions

Resource Profile: CH EMED EPR Patient

Official URL: http://fhir.ch/ig/ch-emed-epr/StructureDefinition/ch-emed-epr-patient Version: 1.0.0
Draft as of 2024-01-26 Computable Name: CHEMEDEPRPatient

Copyright/Legal: CC0-1.0

Definition of the patient for the eMedication context

Usage:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from CHCorePatientEPR

NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient CHCorePatientEPR
... meta
.... extension D0..*Extension✕ This element is not supported
.... versionId D0..1id✕ This element is not supported
.... lastUpdated D0..1instant✕ This element is not supported
.... source D0..1uri✕ This element is not supported
.... security D0..*Coding✕ This element is not supported
.... tag D0..*Coding✕ This element is not supported
... implicitRules 0..0
... modifierExtension 0..0
.... extension D0..*Extension✕ This element is not supported
.... type D0..1CodeableConcept✕ This element is not supported
.... period D0..1Period✕ This element is not supported
.... assigner D0..1Reference(CH EMED EPR Organization)✕ This element will be removed in PML(C) documents
... identifier:EPR-SPID 0..0EPRSPIDIdentifier
... identifier:AHVN13 0..0AHVN13Identifier
... identifier:insuranceCardNumber 0..*VEKAIdentifierAn identifier intended for computation
.... value C1..1stringThe 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..*BackboneElementA contact party (e.g. guardian, partner, friend) for the patient
.... organization D0..1Reference(Organization)✕ This element will be removed in PML(C) documents
... generalPractitioner D0..*Reference(Organization | Practitioner | PractitionerRole)✕ This element will be removed in PML(C) documents
... managingOrganization D0..1Reference(Organization)✕ This element will be removed in PML(C) documents
... link D0..*BackboneElement✕ This element will be removed in PML(C) documents

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
ahvn13-digit-check-errorerrorPatient.identifier:AHVN13.valueAHVN13 / 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-errorerrorPatient.identifier:AHVN13.valueAHVN13 / NAVS13 must be exactly 13 characters long
: matches('^[0-9]{13}$')
ahvn13-startswith756-errorerrorPatient.identifier:AHVN13.valueAHVN13 / NAVS13 must start with 756
: startsWith('756')
epr-spid-length-errorerrorPatient.identifier:EPR-SPID.valueEPR-SPID must be exactly 18 characters long
: matches('^[0-9]{18}$')
epr-spid-modulus-10-errorerrorPatient.identifier:EPR-SPID.valueEPR-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-errorerrorPatient.identifier:EPR-SPID.valueEPR-SPID must start with 76133761
: startsWith('76133761')
veka-length-errorerrorPatient.identifier:insuranceCardNumber.valueInsurance card number must be exactly 20 characters long
: matches('^[0-9]{20}$')
veka-startswith807560-errorerrorPatient.identifier:insuranceCardNumber.valueInsurance card number must start with 807560
: startsWith('807560')
NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient C0..*CHCorePatientEPRCH Core Patient EPR (to include the patient in an EPR document)
... placeOfBirth 0..1CHCoreAddressEch11PlaceOfBirthPlace 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..*CHCoreAddressECH11PlaceOfOriginPlace of origin(s) of patient
URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-core-patient-ech-11-placeoforigin
... citizenship C0..*(Complex)Citizenship(s) of patient
URL: http://hl7.org/fhir/StructureDefinition/patient-citizenship
... Slices for identifier Σ1..*IdentifierAn identifier for this patient
Slice: Unordered, Open by pattern:$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..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type Σ0..1CodeableConcept✕ 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..1Period✕ This element is not supported
..... assigner Σ0..1Reference(CH EMED EPR Organization)✕ This element will be removed in PML(C) documents
.... identifier:LocalPid Σ0..*IdentifierLocal patient identifier(s)

Required Pattern: At least the following
..... type1..1CodeableConceptDescription of identifier
Fixed Value: (complex)
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: MR
.... identifier:insuranceCardNumber 0..*VEKAIdentifierAn identifier intended for computation

Required Pattern: At least the following
..... system1..1uriThe namespace for the identifier value
Fixed Value: urn:oid:2.16.756.5.30.1.123.100.1.1.1
..... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... system Σ1..1uriThe namespace for the identifier value
Fixed Value: urn:oid:2.16.756.5.30.1.123.100.1.1.1
..... value ΣC1..1stringThe 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
Example General: 123456
... active ?!Σ0..1booleanWhether this patient's record is in active use
... name C1..*CHCoreHumanNameName of a human - parts and usage
... Slices for telecom Σ0..*ContactPointA contact detail for the individual
Slice: Unordered, Open by value:system
.... telecom:All Slices Content/Rules for all slices
..... system ΣC1..1codephone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required): Telecommunications form for contact point.

..... value Σ1..1stringThe actual contact point details
..... use ?!Σ0..1codehome | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required): Use of contact point.

.... telecom:email C0..*CHCoreContactPointECH46EmailCH Core ContactPoint eCH-0046 Email
.... telecom:phone C0..*CHCoreContactPointECH46PhoneCH Core ContactPoint eCH-0046 Phone
.... telecom:internet C0..*CHCoreContactPointECH46InternetCH Core ContactPoint eCH-0046 Internet
... gender Σ1..1codemale | female | other
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

... birthDate Σ1..1dateThe date of birth for the individual
... deceased[x] ?!Σ0..1Indicates if the individual is deceased or not
.... deceasedBooleanboolean
.... deceasedDateTimedateTime
... Slices for contact C0..*BackboneElementA contact party (e.g. guardian, partner, friend) for the patient
Slice: Unordered, Open by value:relationship
.... contact:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... organization C0..1Reference(Organization)✕ This element will be removed in PML(C) documents
.... contact:contact C0..1BackboneElementContact data if it is not address of patient
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... relationship 1..1CodeableConceptThe 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
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://fhir.ch/ig/ch-core/CodeSystem/ech-11
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: contactData
..... address C1..1CHCoreAddressECH10An address expressed using postal conventions (as opposed to GPS or other location definition formats)
.... contact:nameOfParent C0..*BackboneElementName of parent
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... relationship 1..1CodeableConceptThe 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
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-RoleCode
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: PRN
..... name 1..1HumanNameA name associated with the contact person
... Slices for communication 0..*BackboneElementA 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..*ExtensionExtensions that cannot be ignored even if unrecognized
..... language 1..1CodeableConceptThe language which can be used to communicate with the patient about his or her health
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
.... communication:languageOfCorrespondence 0..1BackboneElementLanguage of correspondence
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... language 1..1CodeableConceptThe language which can be used to communicate with the patient about his or her health
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
..... preferred 1..1booleanLanguage preference indicator
Fixed Value: true
... generalPractitioner 0..*Reference(Organization | Practitioner | PractitionerRole)✕ This element will be removed in PML(C) documents
... managingOrganization Σ0..1Reference(Organization)✕ This element will be removed in PML(C) documents
... link ?!Σ0..*BackboneElement✕ This element will be removed in PML(C) documents
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... other Σ1..1Reference(Patient | RelatedPerson)The other patient or related person resource that the link refers to
.... type Σ1..1codereplaced-by | replaces | refer | seealso
Binding: LinkType (required): The type of link between this patient resource and another patient resource.


doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Patient.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Patient.identifier.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
Patient.identifier:EPR-SPID.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Patient.identifier:AHVN13.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Patient.identifier:insuranceCardNumber.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Patient.telecom.systemrequiredContactPointSystem
http://hl7.org/fhir/ValueSet/contact-point-system|4.0.1
from the FHIR Standard
Patient.telecom.userequiredContactPointUse
http://hl7.org/fhir/ValueSet/contact-point-use|4.0.1
from the FHIR Standard
Patient.genderrequiredAdministrativeGender
http://hl7.org/fhir/ValueSet/administrative-gender|4.0.1
from the FHIR Standard
Patient.contact:contact.relationshipextensiblePattern: contactData
http://hl7.org/fhir/ValueSet/patient-contactrelationship
from the FHIR Standard
Patient.contact:nameOfParent.relationshipextensiblePattern: PRN
http://hl7.org/fhir/ValueSet/patient-contactrelationship
from the FHIR Standard
Patient.communication.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Patient.communication:languageOfCorrespondence.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Patient.link.typerequiredLinkType
http://hl7.org/fhir/ValueSet/link-type|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
ahvn13-digit-checkwarningPatient.identifier:AHVN13.valueAHVN13 / 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-errorerrorPatient.identifier:AHVN13.valueAHVN13 / 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-lengthwarningPatient.identifier:AHVN13.valueAHVN13 / NAVS13 must be exactly 13 characters long
: matches('^[0-9]{13}$')
ahvn13-length-errorerrorPatient.identifier:AHVN13.valueAHVN13 / NAVS13 must be exactly 13 characters long
: matches('^[0-9]{13}$')
ahvn13-startswith756warningPatient.identifier:AHVN13.valueAHVN13 / NAVS13 must start with 756
: startsWith('756')
ahvn13-startswith756-errorerrorPatient.identifier:AHVN13.valueAHVN13 / NAVS13 must start with 756
: startsWith('756')
ch-addr-2errorPatient.contact:contact.addressFor 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-1errorPatient.nameif 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-2errorPatient.nameif 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-3errorPatient.namech-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-4errorPatient.namech-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-1errorPatientAt least one HumanName with given and family name must be provided.
: name.where(family.exists() and given.exists()).count()>0 or name.empty()
ch-pat-2warningPatientgender unknown is currently not used in Switzerland in eCH and the EPR
: gender.empty() or gender!='unknown'
ch-pat-3errorPatient.extension:citizenshipISO 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-2errorPatient.telecom:email, Patient.telecom:phone, Patient.telecom:internetA system is required if a value is provided.
: value.empty() or system.exists()
dom-2errorPatientIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorPatientIf 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-4errorPatientIf 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-5errorPatientIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practicePatientA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
epr-spid-lengthwarningPatient.identifier:EPR-SPID.valueEPR-SPID must be exactly 18 characters long
: matches('^[0-9]{18}$')
epr-spid-length-errorerrorPatient.identifier:EPR-SPID.valueEPR-SPID must be exactly 18 characters long
: matches('^[0-9]{18}$')
epr-spid-modulus-10warningPatient.identifier:EPR-SPID.valueEPR-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-errorerrorPatient.identifier:EPR-SPID.valueEPR-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-startswith76133761warningPatient.identifier:EPR-SPID.valueEPR-SPID must start with 76133761
: startsWith('76133761')
epr-spid-startswith76133761-errorerrorPatient.identifier:EPR-SPID.valueEPR-SPID must start with 76133761
: startsWith('76133761')
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
pat-1errorPatient.contact, Patient.contact:contact, Patient.contact:nameOfParentSHALL 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-lengthwarningPatient.identifier:insuranceCardNumber.valueInsurance card number must be exactly 20 characters long
: matches('^[0-9]{20}$')
veka-length-errorerrorPatient.identifier:insuranceCardNumber.valueInsurance card number must be exactly 20 characters long
: matches('^[0-9]{20}$')
veka-startswith807560warningPatient.identifier:insuranceCardNumber.valueInsurance card number must start with 807560
: startsWith('807560')
veka-startswith807560-errorerrorPatient.identifier:insuranceCardNumber.valueInsurance card number must start with 807560
: startsWith('807560')
NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient C0..*CHCorePatientEPRCH Core Patient EPR (to include the patient in an EPR document)
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*Extension✕ This element is not supported
Slice: Unordered, Open by value:url
.... versionId Σ0..1id✕ This element is not supported
.... lastUpdated Σ0..1instant✕ This element is not supported
.... source Σ0..1uri✕ 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..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... contained 0..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... placeOfBirth 0..1CHCoreAddressEch11PlaceOfBirthPlace 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..*CHCoreAddressECH11PlaceOfOriginPlace of origin(s) of patient
URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-core-patient-ech-11-placeoforigin
... citizenship C0..*(Complex)Citizenship(s) of patient
URL: http://hl7.org/fhir/StructureDefinition/patient-citizenship
... religion 0..1CodeableConceptReligion of patient
URL: http://hl7.org/fhir/StructureDefinition/patient-religion
Binding: ReligiousAffiliation (extensible)
... Slices for identifier Σ1..*IdentifierAn identifier for this patient
Slice: Unordered, Open by pattern:$this
.... identifier:All Slices Content/Rules for all slices
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*Extension✕ This element is not supported
Slice: Unordered, Open by value:url
..... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type Σ0..1CodeableConcept✕ 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..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
..... value Σ0..1stringThe value that is unique
Example General: 123456
..... period Σ0..1Period✕ This element is not supported
..... assigner Σ0..1Reference(CH EMED EPR Organization)✕ This element will be removed in PML(C) documents
.... identifier:LocalPid Σ0..*IdentifierLocal patient identifier(s)

Required Pattern: At least the following
..... id0..1stringUnique id for inter-element referencing
..... extension0..*ExtensionAdditional content defined by implementations
..... use0..1codeusual | official | temp | secondary | old (If known)
..... type1..1CodeableConceptDescription of identifier
Fixed Value: (complex)
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... id0..1stringUnique id for inter-element referencing
....... extension0..*ExtensionAdditional content defined by implementations
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
....... version0..1stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: MR
....... display0..1stringRepresentation defined by the system
....... userSelected0..1booleanIf this coding was chosen directly by the user
...... text0..1stringPlain text representation of the concept
..... system0..1uriThe namespace for the identifier value
..... value0..1stringThe value that is unique
..... period0..1PeriodTime period when id is/was valid for use
..... assigner0..1Reference(Organization)Organization that issued id (may be just text)
.... identifier:insuranceCardNumber 0..*VEKAIdentifierAn identifier intended for computation

Required Pattern: At least the following
..... id0..1stringUnique id for inter-element referencing
..... extension0..*ExtensionAdditional content defined by implementations
..... use0..1codeusual | official | temp | secondary | old (If known)
..... type0..1CodeableConceptDescription of identifier
..... system1..1uriThe namespace for the identifier value
Fixed Value: urn:oid:2.16.756.5.30.1.123.100.1.1.1
..... value0..1stringThe value that is unique
..... period0..1PeriodTime period when id is/was valid for use
..... assigner0..1Reference(Organization)Organization that issued id (may be just text)
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type Σ0..1CodeableConceptDescription 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..1uriThe namespace for the identifier value
Fixed Value: urn:oid:2.16.756.5.30.1.123.100.1.1.1
..... value ΣC1..1stringThe 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
Example General: 123456
..... period Σ0..1PeriodTime period when id is/was valid for use
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... start ΣC0..1dateTimeStarting time with inclusive boundary
...... end ΣC0..1dateTimeExpiration date of the insurance card
..... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
... active ?!Σ0..1booleanWhether this patient's record is in active use
... name C1..*CHCoreHumanNameName of a human - parts and usage
... Slices for telecom Σ0..*ContactPointA contact detail for the individual
Slice: Unordered, Open by value:system
.... telecom:All Slices Content/Rules for all slices
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... system ΣC1..1codephone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required): Telecommunications form for contact point.

..... value Σ1..1stringThe actual contact point details
..... use ?!Σ0..1codehome | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required): Use of contact point.

..... rank Σ0..1positiveIntSpecify preferred order of use (1 = highest)
..... period Σ0..1PeriodTime period when the contact point was/is in use
.... telecom:email C0..*CHCoreContactPointECH46EmailCH Core ContactPoint eCH-0046 Email
.... telecom:phone C0..*CHCoreContactPointECH46PhoneCH Core ContactPoint eCH-0046 Phone
.... telecom:internet C0..*CHCoreContactPointECH46InternetCH Core ContactPoint eCH-0046 Internet
... gender Σ1..1codemale | female | other
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

... birthDate Σ1..1dateThe date of birth for the individual
... deceased[x] ?!Σ0..1Indicates if the individual is deceased or not
.... deceasedBooleanboolean
.... deceasedDateTimedateTime
... address C0..*CHCoreAddressAn address expressed using postal conventions (as opposed to GPS or other location definition formats)
... maritalStatus 0..1CodeableConceptMarital (civil) status of a patient
Binding: ChCoreMaritalStatus (extensible)
.... id 0..1stringUnique id for inter-element referencing
.... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... maritalDataSeparation 0..1CodeableConceptMaritalData 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..*CodingCode defined by a terminology system
.... text Σ0..1stringPlain text representation of the concept
... multipleBirth[x] 0..1Whether patient is part of a multiple birth
.... multipleBirthBooleanboolean
.... multipleBirthIntegerinteger
... photo 0..*AttachmentImage of the patient
... Slices for contact C0..*BackboneElementA contact party (e.g. guardian, partner, friend) for the patient
Slice: Unordered, Open by value:relationship
.... contact:All Slices Content/Rules for all slices
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... relationship 0..*CodeableConceptThe kind of relationship
Binding: PatientContactRelationship (extensible): The nature of the relationship between a patient and a contact person for that patient.


..... name 0..1HumanNameA name associated with the contact person
..... telecom 0..*ContactPointA contact detail for the person
..... address 0..1AddressAddress for the contact person
..... gender 0..1codemale | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

..... organization C0..1Reference(Organization)✕ This element will be removed in PML(C) documents
..... period 0..1PeriodThe period during which this contact person or organization is valid to be contacted relating to this patient
.... contact:contact C0..1BackboneElementContact data if it is not address of patient
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... relationship 1..1CodeableConceptThe 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
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... id0..1stringUnique id for inter-element referencing
....... extension0..*ExtensionAdditional content defined by implementations
....... system1..1uriIdentity of the terminology system
Fixed Value: http://fhir.ch/ig/ch-core/CodeSystem/ech-11
....... version0..1stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: contactData
....... display0..1stringRepresentation defined by the system
....... userSelected0..1booleanIf this coding was chosen directly by the user
...... text0..1stringPlain text representation of the concept
..... name 0..1HumanNameA name associated with the contact person
..... address C1..1CHCoreAddressECH10An address expressed using postal conventions (as opposed to GPS or other location definition formats)
..... gender 0..1codemale | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

..... organization C0..1Reference(Organization)Organization that is associated with the contact
..... period 0..1PeriodThe period during which this contact person or organization is valid to be contacted relating to this patient
.... contact:nameOfParent C0..*BackboneElementName of parent
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... relationship 1..1CodeableConceptThe 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
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... id0..1stringUnique id for inter-element referencing
....... extension0..*ExtensionAdditional content defined by implementations
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-RoleCode
....... version0..1stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: PRN
....... display0..1stringRepresentation defined by the system
....... userSelected0..1booleanIf this coding was chosen directly by the user
...... text0..1stringPlain text representation of the concept
..... name 1..1HumanNameA name associated with the contact person
..... telecom 0..*ContactPointA contact detail for the person
..... address 0..1AddressAddress for the contact person
..... gender 0..1codemale | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

..... organization C0..1Reference(Organization)Organization that is associated with the contact
..... period 0..1PeriodThe period during which this contact person or organization is valid to be contacted relating to this patient
... Slices for communication 0..*BackboneElementA 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..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... language 1..1CodeableConceptThe language which can be used to communicate with the patient about his or her health
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
..... preferred 0..1booleanLanguage preference indicator
.... communication:languageOfCorrespondence 0..1BackboneElementLanguage of correspondence
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... language 1..1CodeableConceptThe language which can be used to communicate with the patient about his or her health
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
..... preferred 1..1booleanLanguage preference indicator
Fixed Value: true
... generalPractitioner 0..*Reference(Organization | Practitioner | PractitionerRole)✕ This element will be removed in PML(C) documents
... managingOrganization Σ0..1Reference(Organization)✕ This element will be removed in PML(C) documents
... link ?!Σ0..*BackboneElement✕ This element will be removed in PML(C) documents
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... other Σ1..1Reference(Patient | RelatedPerson)The other patient or related person resource that the link refers to
.... type Σ1..1codereplaced-by | replaces | refer | seealso
Binding: LinkType (required): The type of link between this patient resource and another patient resource.


doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Patient.meta.securityextensibleAll Security Labels
http://hl7.org/fhir/ValueSet/security-labels
from the FHIR Standard
Patient.meta.tagexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
from the FHIR Standard
Patient.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Patient.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Patient.identifier.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
Patient.identifier:EPR-SPID.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Patient.identifier:EPR-SPID.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
Patient.identifier:AHVN13.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Patient.identifier:AHVN13.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
Patient.identifier:insuranceCardNumber.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Patient.identifier:insuranceCardNumber.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
Patient.telecom.systemrequiredContactPointSystem
http://hl7.org/fhir/ValueSet/contact-point-system|4.0.1
from the FHIR Standard
Patient.telecom.userequiredContactPointUse
http://hl7.org/fhir/ValueSet/contact-point-use|4.0.1
from the FHIR Standard
Patient.genderrequiredAdministrativeGender
http://hl7.org/fhir/ValueSet/administrative-gender|4.0.1
from the FHIR Standard
Patient.maritalStatusextensibleChCoreMaritalStatus
http://fhir.ch/ig/ch-core/ValueSet/ch-core-maritalstatus
Patient.contact.relationshipextensiblePatientContactRelationship
http://hl7.org/fhir/ValueSet/patient-contactrelationship
from the FHIR Standard
Patient.contact.genderrequiredAdministrativeGender
http://hl7.org/fhir/ValueSet/administrative-gender|4.0.1
from the FHIR Standard
Patient.contact:contact.relationshipextensiblePattern: contactData
http://hl7.org/fhir/ValueSet/patient-contactrelationship
from the FHIR Standard
Patient.contact:contact.genderrequiredAdministrativeGender
http://hl7.org/fhir/ValueSet/administrative-gender|4.0.1
from the FHIR Standard
Patient.contact:nameOfParent.relationshipextensiblePattern: PRN
http://hl7.org/fhir/ValueSet/patient-contactrelationship
from the FHIR Standard
Patient.contact:nameOfParent.genderrequiredAdministrativeGender
http://hl7.org/fhir/ValueSet/administrative-gender|4.0.1
from the FHIR Standard
Patient.communication.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Patient.communication:languageOfCorrespondence.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Patient.link.typerequiredLinkType
http://hl7.org/fhir/ValueSet/link-type|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
ahvn13-digit-checkwarningPatient.identifier:AHVN13.valueAHVN13 / 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-errorerrorPatient.identifier:AHVN13.valueAHVN13 / 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-lengthwarningPatient.identifier:AHVN13.valueAHVN13 / NAVS13 must be exactly 13 characters long
: matches('^[0-9]{13}$')
ahvn13-length-errorerrorPatient.identifier:AHVN13.valueAHVN13 / NAVS13 must be exactly 13 characters long
: matches('^[0-9]{13}$')
ahvn13-startswith756warningPatient.identifier:AHVN13.valueAHVN13 / NAVS13 must start with 756
: startsWith('756')
ahvn13-startswith756-errorerrorPatient.identifier:AHVN13.valueAHVN13 / NAVS13 must start with 756
: startsWith('756')
ch-addr-2errorPatient.address, Patient.contact:contact.addressFor 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-1errorPatient.nameif 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-2errorPatient.nameif 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-3errorPatient.namech-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-4errorPatient.namech-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-1errorPatientAt least one HumanName with given and family name must be provided.
: name.where(family.exists() and given.exists()).count()>0 or name.empty()
ch-pat-2warningPatientgender unknown is currently not used in Switzerland in eCH and the EPR
: gender.empty() or gender!='unknown'
ch-pat-3errorPatient.extension:citizenshipISO 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-2errorPatient.telecom:email, Patient.telecom:phone, Patient.telecom:internetA system is required if a value is provided.
: value.empty() or system.exists()
dom-2errorPatientIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorPatientIf 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-4errorPatientIf 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-5errorPatientIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practicePatientA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
epr-spid-lengthwarningPatient.identifier:EPR-SPID.valueEPR-SPID must be exactly 18 characters long
: matches('^[0-9]{18}$')
epr-spid-length-errorerrorPatient.identifier:EPR-SPID.valueEPR-SPID must be exactly 18 characters long
: matches('^[0-9]{18}$')
epr-spid-modulus-10warningPatient.identifier:EPR-SPID.valueEPR-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-errorerrorPatient.identifier:EPR-SPID.valueEPR-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-startswith76133761warningPatient.identifier:EPR-SPID.valueEPR-SPID must start with 76133761
: startsWith('76133761')
epr-spid-startswith76133761-errorerrorPatient.identifier:EPR-SPID.valueEPR-SPID must start with 76133761
: startsWith('76133761')
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
pat-1errorPatient.contact, Patient.contact:contact, Patient.contact:nameOfParentSHALL 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-lengthwarningPatient.identifier:insuranceCardNumber.valueInsurance card number must be exactly 20 characters long
: matches('^[0-9]{20}$')
veka-length-errorerrorPatient.identifier:insuranceCardNumber.valueInsurance card number must be exactly 20 characters long
: matches('^[0-9]{20}$')
veka-startswith807560warningPatient.identifier:insuranceCardNumber.valueInsurance card number must start with 807560
: startsWith('807560')
veka-startswith807560-errorerrorPatient.identifier:insuranceCardNumber.valueInsurance card number must start with 807560
: startsWith('807560')

This structure is derived from CHCorePatientEPR

Summary

Prohibited: 2 elements

Structures

This structure refers to these other structures:

Differential View

This structure is derived from CHCorePatientEPR

NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient CHCorePatientEPR
... meta
.... extension D0..*Extension✕ This element is not supported
.... versionId D0..1id✕ This element is not supported
.... lastUpdated D0..1instant✕ This element is not supported
.... source D0..1uri✕ This element is not supported
.... security D0..*Coding✕ This element is not supported
.... tag D0..*Coding✕ This element is not supported
... implicitRules 0..0
... modifierExtension 0..0
.... extension D0..*Extension✕ This element is not supported
.... type D0..1CodeableConcept✕ This element is not supported
.... period D0..1Period✕ This element is not supported
.... assigner D0..1Reference(CH EMED EPR Organization)✕ This element will be removed in PML(C) documents
... identifier:EPR-SPID 0..0EPRSPIDIdentifier
... identifier:AHVN13 0..0AHVN13Identifier
... identifier:insuranceCardNumber 0..*VEKAIdentifierAn identifier intended for computation
.... value C1..1stringThe 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..*BackboneElementA contact party (e.g. guardian, partner, friend) for the patient
.... organization D0..1Reference(Organization)✕ This element will be removed in PML(C) documents
... generalPractitioner D0..*Reference(Organization | Practitioner | PractitionerRole)✕ This element will be removed in PML(C) documents
... managingOrganization D0..1Reference(Organization)✕ This element will be removed in PML(C) documents
... link D0..*BackboneElement✕ This element will be removed in PML(C) documents

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
ahvn13-digit-check-errorerrorPatient.identifier:AHVN13.valueAHVN13 / 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-errorerrorPatient.identifier:AHVN13.valueAHVN13 / NAVS13 must be exactly 13 characters long
: matches('^[0-9]{13}$')
ahvn13-startswith756-errorerrorPatient.identifier:AHVN13.valueAHVN13 / NAVS13 must start with 756
: startsWith('756')
epr-spid-length-errorerrorPatient.identifier:EPR-SPID.valueEPR-SPID must be exactly 18 characters long
: matches('^[0-9]{18}$')
epr-spid-modulus-10-errorerrorPatient.identifier:EPR-SPID.valueEPR-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-errorerrorPatient.identifier:EPR-SPID.valueEPR-SPID must start with 76133761
: startsWith('76133761')
veka-length-errorerrorPatient.identifier:insuranceCardNumber.valueInsurance card number must be exactly 20 characters long
: matches('^[0-9]{20}$')
veka-startswith807560-errorerrorPatient.identifier:insuranceCardNumber.valueInsurance card number must start with 807560
: startsWith('807560')

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient C0..*CHCorePatientEPRCH Core Patient EPR (to include the patient in an EPR document)
... placeOfBirth 0..1CHCoreAddressEch11PlaceOfBirthPlace 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..*CHCoreAddressECH11PlaceOfOriginPlace of origin(s) of patient
URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-core-patient-ech-11-placeoforigin
... citizenship C0..*(Complex)Citizenship(s) of patient
URL: http://hl7.org/fhir/StructureDefinition/patient-citizenship
... Slices for identifier Σ1..*IdentifierAn identifier for this patient
Slice: Unordered, Open by pattern:$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..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type Σ0..1CodeableConcept✕ 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..1Period✕ This element is not supported
..... assigner Σ0..1Reference(CH EMED EPR Organization)✕ This element will be removed in PML(C) documents
.... identifier:LocalPid Σ0..*IdentifierLocal patient identifier(s)

Required Pattern: At least the following
..... type1..1CodeableConceptDescription of identifier
Fixed Value: (complex)
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: MR
.... identifier:insuranceCardNumber 0..*VEKAIdentifierAn identifier intended for computation

Required Pattern: At least the following
..... system1..1uriThe namespace for the identifier value
Fixed Value: urn:oid:2.16.756.5.30.1.123.100.1.1.1
..... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... system Σ1..1uriThe namespace for the identifier value
Fixed Value: urn:oid:2.16.756.5.30.1.123.100.1.1.1
..... value ΣC1..1stringThe 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
Example General: 123456
... active ?!Σ0..1booleanWhether this patient's record is in active use
... name C1..*CHCoreHumanNameName of a human - parts and usage
... Slices for telecom Σ0..*ContactPointA contact detail for the individual
Slice: Unordered, Open by value:system
.... telecom:All Slices Content/Rules for all slices
..... system ΣC1..1codephone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required): Telecommunications form for contact point.

..... value Σ1..1stringThe actual contact point details
..... use ?!Σ0..1codehome | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required): Use of contact point.

.... telecom:email C0..*CHCoreContactPointECH46EmailCH Core ContactPoint eCH-0046 Email
.... telecom:phone C0..*CHCoreContactPointECH46PhoneCH Core ContactPoint eCH-0046 Phone
.... telecom:internet C0..*CHCoreContactPointECH46InternetCH Core ContactPoint eCH-0046 Internet
... gender Σ1..1codemale | female | other
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

... birthDate Σ1..1dateThe date of birth for the individual
... deceased[x] ?!Σ0..1Indicates if the individual is deceased or not
.... deceasedBooleanboolean
.... deceasedDateTimedateTime
... Slices for contact C0..*BackboneElementA contact party (e.g. guardian, partner, friend) for the patient
Slice: Unordered, Open by value:relationship
.... contact:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... organization C0..1Reference(Organization)✕ This element will be removed in PML(C) documents
.... contact:contact C0..1BackboneElementContact data if it is not address of patient
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... relationship 1..1CodeableConceptThe 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
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://fhir.ch/ig/ch-core/CodeSystem/ech-11
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: contactData
..... address C1..1CHCoreAddressECH10An address expressed using postal conventions (as opposed to GPS or other location definition formats)
.... contact:nameOfParent C0..*BackboneElementName of parent
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... relationship 1..1CodeableConceptThe 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
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-RoleCode
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: PRN
..... name 1..1HumanNameA name associated with the contact person
... Slices for communication 0..*BackboneElementA 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..*ExtensionExtensions that cannot be ignored even if unrecognized
..... language 1..1CodeableConceptThe language which can be used to communicate with the patient about his or her health
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
.... communication:languageOfCorrespondence 0..1BackboneElementLanguage of correspondence
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... language 1..1CodeableConceptThe language which can be used to communicate with the patient about his or her health
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
..... preferred 1..1booleanLanguage preference indicator
Fixed Value: true
... generalPractitioner 0..*Reference(Organization | Practitioner | PractitionerRole)✕ This element will be removed in PML(C) documents
... managingOrganization Σ0..1Reference(Organization)✕ This element will be removed in PML(C) documents
... link ?!Σ0..*BackboneElement✕ This element will be removed in PML(C) documents
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... other Σ1..1Reference(Patient | RelatedPerson)The other patient or related person resource that the link refers to
.... type Σ1..1codereplaced-by | replaces | refer | seealso
Binding: LinkType (required): The type of link between this patient resource and another patient resource.


doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Patient.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Patient.identifier.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
Patient.identifier:EPR-SPID.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Patient.identifier:AHVN13.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Patient.identifier:insuranceCardNumber.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Patient.telecom.systemrequiredContactPointSystem
http://hl7.org/fhir/ValueSet/contact-point-system|4.0.1
from the FHIR Standard
Patient.telecom.userequiredContactPointUse
http://hl7.org/fhir/ValueSet/contact-point-use|4.0.1
from the FHIR Standard
Patient.genderrequiredAdministrativeGender
http://hl7.org/fhir/ValueSet/administrative-gender|4.0.1
from the FHIR Standard
Patient.contact:contact.relationshipextensiblePattern: contactData
http://hl7.org/fhir/ValueSet/patient-contactrelationship
from the FHIR Standard
Patient.contact:nameOfParent.relationshipextensiblePattern: PRN
http://hl7.org/fhir/ValueSet/patient-contactrelationship
from the FHIR Standard
Patient.communication.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Patient.communication:languageOfCorrespondence.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Patient.link.typerequiredLinkType
http://hl7.org/fhir/ValueSet/link-type|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
ahvn13-digit-checkwarningPatient.identifier:AHVN13.valueAHVN13 / 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-errorerrorPatient.identifier:AHVN13.valueAHVN13 / 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-lengthwarningPatient.identifier:AHVN13.valueAHVN13 / NAVS13 must be exactly 13 characters long
: matches('^[0-9]{13}$')
ahvn13-length-errorerrorPatient.identifier:AHVN13.valueAHVN13 / NAVS13 must be exactly 13 characters long
: matches('^[0-9]{13}$')
ahvn13-startswith756warningPatient.identifier:AHVN13.valueAHVN13 / NAVS13 must start with 756
: startsWith('756')
ahvn13-startswith756-errorerrorPatient.identifier:AHVN13.valueAHVN13 / NAVS13 must start with 756
: startsWith('756')
ch-addr-2errorPatient.contact:contact.addressFor 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-1errorPatient.nameif 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-2errorPatient.nameif 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-3errorPatient.namech-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-4errorPatient.namech-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-1errorPatientAt least one HumanName with given and family name must be provided.
: name.where(family.exists() and given.exists()).count()>0 or name.empty()
ch-pat-2warningPatientgender unknown is currently not used in Switzerland in eCH and the EPR
: gender.empty() or gender!='unknown'
ch-pat-3errorPatient.extension:citizenshipISO 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-2errorPatient.telecom:email, Patient.telecom:phone, Patient.telecom:internetA system is required if a value is provided.
: value.empty() or system.exists()
dom-2errorPatientIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorPatientIf 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-4errorPatientIf 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-5errorPatientIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practicePatientA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
epr-spid-lengthwarningPatient.identifier:EPR-SPID.valueEPR-SPID must be exactly 18 characters long
: matches('^[0-9]{18}$')
epr-spid-length-errorerrorPatient.identifier:EPR-SPID.valueEPR-SPID must be exactly 18 characters long
: matches('^[0-9]{18}$')
epr-spid-modulus-10warningPatient.identifier:EPR-SPID.valueEPR-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-errorerrorPatient.identifier:EPR-SPID.valueEPR-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-startswith76133761warningPatient.identifier:EPR-SPID.valueEPR-SPID must start with 76133761
: startsWith('76133761')
epr-spid-startswith76133761-errorerrorPatient.identifier:EPR-SPID.valueEPR-SPID must start with 76133761
: startsWith('76133761')
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
pat-1errorPatient.contact, Patient.contact:contact, Patient.contact:nameOfParentSHALL 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-lengthwarningPatient.identifier:insuranceCardNumber.valueInsurance card number must be exactly 20 characters long
: matches('^[0-9]{20}$')
veka-length-errorerrorPatient.identifier:insuranceCardNumber.valueInsurance card number must be exactly 20 characters long
: matches('^[0-9]{20}$')
veka-startswith807560warningPatient.identifier:insuranceCardNumber.valueInsurance card number must start with 807560
: startsWith('807560')
veka-startswith807560-errorerrorPatient.identifier:insuranceCardNumber.valueInsurance card number must start with 807560
: startsWith('807560')

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient C0..*CHCorePatientEPRCH Core Patient EPR (to include the patient in an EPR document)
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*Extension✕ This element is not supported
Slice: Unordered, Open by value:url
.... versionId Σ0..1id✕ This element is not supported
.... lastUpdated Σ0..1instant✕ This element is not supported
.... source Σ0..1uri✕ 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..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... contained 0..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... placeOfBirth 0..1CHCoreAddressEch11PlaceOfBirthPlace 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..*CHCoreAddressECH11PlaceOfOriginPlace of origin(s) of patient
URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-core-patient-ech-11-placeoforigin
... citizenship C0..*(Complex)Citizenship(s) of patient
URL: http://hl7.org/fhir/StructureDefinition/patient-citizenship
... religion 0..1CodeableConceptReligion of patient
URL: http://hl7.org/fhir/StructureDefinition/patient-religion
Binding: ReligiousAffiliation (extensible)
... Slices for identifier Σ1..*IdentifierAn identifier for this patient
Slice: Unordered, Open by pattern:$this
.... identifier:All Slices Content/Rules for all slices
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*Extension✕ This element is not supported
Slice: Unordered, Open by value:url
..... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type Σ0..1CodeableConcept✕ 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..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
..... value Σ0..1stringThe value that is unique
Example General: 123456
..... period Σ0..1Period✕ This element is not supported
..... assigner Σ0..1Reference(CH EMED EPR Organization)✕ This element will be removed in PML(C) documents
.... identifier:LocalPid Σ0..*IdentifierLocal patient identifier(s)

Required Pattern: At least the following
..... id0..1stringUnique id for inter-element referencing
..... extension0..*ExtensionAdditional content defined by implementations
..... use0..1codeusual | official | temp | secondary | old (If known)
..... type1..1CodeableConceptDescription of identifier
Fixed Value: (complex)
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... id0..1stringUnique id for inter-element referencing
....... extension0..*ExtensionAdditional content defined by implementations
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
....... version0..1stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: MR
....... display0..1stringRepresentation defined by the system
....... userSelected0..1booleanIf this coding was chosen directly by the user
...... text0..1stringPlain text representation of the concept
..... system0..1uriThe namespace for the identifier value
..... value0..1stringThe value that is unique
..... period0..1PeriodTime period when id is/was valid for use
..... assigner0..1Reference(Organization)Organization that issued id (may be just text)
.... identifier:insuranceCardNumber 0..*VEKAIdentifierAn identifier intended for computation

Required Pattern: At least the following
..... id0..1stringUnique id for inter-element referencing
..... extension0..*ExtensionAdditional content defined by implementations
..... use0..1codeusual | official | temp | secondary | old (If known)
..... type0..1CodeableConceptDescription of identifier
..... system1..1uriThe namespace for the identifier value
Fixed Value: urn:oid:2.16.756.5.30.1.123.100.1.1.1
..... value0..1stringThe value that is unique
..... period0..1PeriodTime period when id is/was valid for use
..... assigner0..1Reference(Organization)Organization that issued id (may be just text)
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type Σ0..1CodeableConceptDescription 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..1uriThe namespace for the identifier value
Fixed Value: urn:oid:2.16.756.5.30.1.123.100.1.1.1
..... value ΣC1..1stringThe 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
Example General: 123456
..... period Σ0..1PeriodTime period when id is/was valid for use
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... start ΣC0..1dateTimeStarting time with inclusive boundary
...... end ΣC0..1dateTimeExpiration date of the insurance card
..... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
... active ?!Σ0..1booleanWhether this patient's record is in active use
... name C1..*CHCoreHumanNameName of a human - parts and usage
... Slices for telecom Σ0..*ContactPointA contact detail for the individual
Slice: Unordered, Open by value:system
.... telecom:All Slices Content/Rules for all slices
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... system ΣC1..1codephone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required): Telecommunications form for contact point.

..... value Σ1..1stringThe actual contact point details
..... use ?!Σ0..1codehome | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required): Use of contact point.

..... rank Σ0..1positiveIntSpecify preferred order of use (1 = highest)
..... period Σ0..1PeriodTime period when the contact point was/is in use
.... telecom:email C0..*CHCoreContactPointECH46EmailCH Core ContactPoint eCH-0046 Email
.... telecom:phone C0..*CHCoreContactPointECH46PhoneCH Core ContactPoint eCH-0046 Phone
.... telecom:internet C0..*CHCoreContactPointECH46InternetCH Core ContactPoint eCH-0046 Internet
... gender Σ1..1codemale | female | other
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

... birthDate Σ1..1dateThe date of birth for the individual
... deceased[x] ?!Σ0..1Indicates if the individual is deceased or not
.... deceasedBooleanboolean
.... deceasedDateTimedateTime
... address C0..*CHCoreAddressAn address expressed using postal conventions (as opposed to GPS or other location definition formats)
... maritalStatus 0..1CodeableConceptMarital (civil) status of a patient
Binding: ChCoreMaritalStatus (extensible)
.... id 0..1stringUnique id for inter-element referencing
.... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... maritalDataSeparation 0..1CodeableConceptMaritalData 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..*CodingCode defined by a terminology system
.... text Σ0..1stringPlain text representation of the concept
... multipleBirth[x] 0..1Whether patient is part of a multiple birth
.... multipleBirthBooleanboolean
.... multipleBirthIntegerinteger
... photo 0..*AttachmentImage of the patient
... Slices for contact C0..*BackboneElementA contact party (e.g. guardian, partner, friend) for the patient
Slice: Unordered, Open by value:relationship
.... contact:All Slices Content/Rules for all slices
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... relationship 0..*CodeableConceptThe kind of relationship
Binding: PatientContactRelationship (extensible): The nature of the relationship between a patient and a contact person for that patient.


..... name 0..1HumanNameA name associated with the contact person
..... telecom 0..*ContactPointA contact detail for the person
..... address 0..1AddressAddress for the contact person
..... gender 0..1codemale | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

..... organization C0..1Reference(Organization)✕ This element will be removed in PML(C) documents
..... period 0..1PeriodThe period during which this contact person or organization is valid to be contacted relating to this patient
.... contact:contact C0..1BackboneElementContact data if it is not address of patient
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... relationship 1..1CodeableConceptThe 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
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... id0..1stringUnique id for inter-element referencing
....... extension0..*ExtensionAdditional content defined by implementations
....... system1..1uriIdentity of the terminology system
Fixed Value: http://fhir.ch/ig/ch-core/CodeSystem/ech-11
....... version0..1stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: contactData
....... display0..1stringRepresentation defined by the system
....... userSelected0..1booleanIf this coding was chosen directly by the user
...... text0..1stringPlain text representation of the concept
..... name 0..1HumanNameA name associated with the contact person
..... address C1..1CHCoreAddressECH10An address expressed using postal conventions (as opposed to GPS or other location definition formats)
..... gender 0..1codemale | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

..... organization C0..1Reference(Organization)Organization that is associated with the contact
..... period 0..1PeriodThe period during which this contact person or organization is valid to be contacted relating to this patient
.... contact:nameOfParent C0..*BackboneElementName of parent
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... relationship 1..1CodeableConceptThe 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
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... id0..1stringUnique id for inter-element referencing
....... extension0..*ExtensionAdditional content defined by implementations
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-RoleCode
....... version0..1stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: PRN
....... display0..1stringRepresentation defined by the system
....... userSelected0..1booleanIf this coding was chosen directly by the user
...... text0..1stringPlain text representation of the concept
..... name 1..1HumanNameA name associated with the contact person
..... telecom 0..*ContactPointA contact detail for the person
..... address 0..1AddressAddress for the contact person
..... gender 0..1codemale | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

..... organization C0..1Reference(Organization)Organization that is associated with the contact
..... period 0..1PeriodThe period during which this contact person or organization is valid to be contacted relating to this patient
... Slices for communication 0..*BackboneElementA 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..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... language 1..1CodeableConceptThe language which can be used to communicate with the patient about his or her health
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
..... preferred 0..1booleanLanguage preference indicator
.... communication:languageOfCorrespondence 0..1BackboneElementLanguage of correspondence
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... language 1..1CodeableConceptThe language which can be used to communicate with the patient about his or her health
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
..... preferred 1..1booleanLanguage preference indicator
Fixed Value: true
... generalPractitioner 0..*Reference(Organization | Practitioner | PractitionerRole)✕ This element will be removed in PML(C) documents
... managingOrganization Σ0..1Reference(Organization)✕ This element will be removed in PML(C) documents
... link ?!Σ0..*BackboneElement✕ This element will be removed in PML(C) documents
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... other Σ1..1Reference(Patient | RelatedPerson)The other patient or related person resource that the link refers to
.... type Σ1..1codereplaced-by | replaces | refer | seealso
Binding: LinkType (required): The type of link between this patient resource and another patient resource.


doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Patient.meta.securityextensibleAll Security Labels
http://hl7.org/fhir/ValueSet/security-labels
from the FHIR Standard
Patient.meta.tagexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
from the FHIR Standard
Patient.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Patient.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Patient.identifier.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
Patient.identifier:EPR-SPID.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Patient.identifier:EPR-SPID.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
Patient.identifier:AHVN13.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Patient.identifier:AHVN13.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
Patient.identifier:insuranceCardNumber.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Patient.identifier:insuranceCardNumber.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
Patient.telecom.systemrequiredContactPointSystem
http://hl7.org/fhir/ValueSet/contact-point-system|4.0.1
from the FHIR Standard
Patient.telecom.userequiredContactPointUse
http://hl7.org/fhir/ValueSet/contact-point-use|4.0.1
from the FHIR Standard
Patient.genderrequiredAdministrativeGender
http://hl7.org/fhir/ValueSet/administrative-gender|4.0.1
from the FHIR Standard
Patient.maritalStatusextensibleChCoreMaritalStatus
http://fhir.ch/ig/ch-core/ValueSet/ch-core-maritalstatus
Patient.contact.relationshipextensiblePatientContactRelationship
http://hl7.org/fhir/ValueSet/patient-contactrelationship
from the FHIR Standard
Patient.contact.genderrequiredAdministrativeGender
http://hl7.org/fhir/ValueSet/administrative-gender|4.0.1
from the FHIR Standard
Patient.contact:contact.relationshipextensiblePattern: contactData
http://hl7.org/fhir/ValueSet/patient-contactrelationship
from the FHIR Standard
Patient.contact:contact.genderrequiredAdministrativeGender
http://hl7.org/fhir/ValueSet/administrative-gender|4.0.1
from the FHIR Standard
Patient.contact:nameOfParent.relationshipextensiblePattern: PRN
http://hl7.org/fhir/ValueSet/patient-contactrelationship
from the FHIR Standard
Patient.contact:nameOfParent.genderrequiredAdministrativeGender
http://hl7.org/fhir/ValueSet/administrative-gender|4.0.1
from the FHIR Standard
Patient.communication.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Patient.communication:languageOfCorrespondence.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Patient.link.typerequiredLinkType
http://hl7.org/fhir/ValueSet/link-type|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
ahvn13-digit-checkwarningPatient.identifier:AHVN13.valueAHVN13 / 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-errorerrorPatient.identifier:AHVN13.valueAHVN13 / 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-lengthwarningPatient.identifier:AHVN13.valueAHVN13 / NAVS13 must be exactly 13 characters long
: matches('^[0-9]{13}$')
ahvn13-length-errorerrorPatient.identifier:AHVN13.valueAHVN13 / NAVS13 must be exactly 13 characters long
: matches('^[0-9]{13}$')
ahvn13-startswith756warningPatient.identifier:AHVN13.valueAHVN13 / NAVS13 must start with 756
: startsWith('756')
ahvn13-startswith756-errorerrorPatient.identifier:AHVN13.valueAHVN13 / NAVS13 must start with 756
: startsWith('756')
ch-addr-2errorPatient.address, Patient.contact:contact.addressFor 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-1errorPatient.nameif 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-2errorPatient.nameif 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-3errorPatient.namech-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-4errorPatient.namech-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-1errorPatientAt least one HumanName with given and family name must be provided.
: name.where(family.exists() and given.exists()).count()>0 or name.empty()
ch-pat-2warningPatientgender unknown is currently not used in Switzerland in eCH and the EPR
: gender.empty() or gender!='unknown'
ch-pat-3errorPatient.extension:citizenshipISO 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-2errorPatient.telecom:email, Patient.telecom:phone, Patient.telecom:internetA system is required if a value is provided.
: value.empty() or system.exists()
dom-2errorPatientIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorPatientIf 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-4errorPatientIf 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-5errorPatientIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practicePatientA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
epr-spid-lengthwarningPatient.identifier:EPR-SPID.valueEPR-SPID must be exactly 18 characters long
: matches('^[0-9]{18}$')
epr-spid-length-errorerrorPatient.identifier:EPR-SPID.valueEPR-SPID must be exactly 18 characters long
: matches('^[0-9]{18}$')
epr-spid-modulus-10warningPatient.identifier:EPR-SPID.valueEPR-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-errorerrorPatient.identifier:EPR-SPID.valueEPR-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-startswith76133761warningPatient.identifier:EPR-SPID.valueEPR-SPID must start with 76133761
: startsWith('76133761')
epr-spid-startswith76133761-errorerrorPatient.identifier:EPR-SPID.valueEPR-SPID must start with 76133761
: startsWith('76133761')
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
pat-1errorPatient.contact, Patient.contact:contact, Patient.contact:nameOfParentSHALL 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-lengthwarningPatient.identifier:insuranceCardNumber.valueInsurance card number must be exactly 20 characters long
: matches('^[0-9]{20}$')
veka-length-errorerrorPatient.identifier:insuranceCardNumber.valueInsurance card number must be exactly 20 characters long
: matches('^[0-9]{20}$')
veka-startswith807560warningPatient.identifier:insuranceCardNumber.valueInsurance card number must start with 807560
: startsWith('807560')
veka-startswith807560-errorerrorPatient.identifier:insuranceCardNumber.valueInsurance card number must start with 807560
: startsWith('807560')

This structure is derived from CHCorePatientEPR

Summary

Prohibited: 2 elements

Structures

This structure refers to these other structures:

 

Other representations of profile: CSV, Excel, Schematron