CH Core (R4)
2.1.0 - STU 3 Ballot Switzerland flag

This page is part of the CH Core (R4) (v2.1.0: STU 3) based on FHIR R4. . For a full list of available versions, see the Directory of published versions

Data Type Profile: EPR-SPID Identifier

Official URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-core-epr-spid-identifier Version: 2.1.0
Draft as of 2022-04-12 Computable Name: EPRSPIDIdentifier

Copyright/Legal: CC-BY-SA-4.0

EPR-SPID Identifier (https://www.fedlex.admin.ch/eli/cc/2017/205/de)

Usage:

Formal Views of Profile Content

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

This structure is derived from Identifier

Summary

Mandatory: 2 elements
Fixed Value: 1 element

This structure is derived from Identifier

NameFlagsCard.TypeDescription & Constraintsdoco
.. Identifier 0..*IdentifierAn identifier intended for computation
... system 1..1uriThe namespace for the identifier value
Fixed Value: urn:oid:2.16.756.5.30.1.127.3.10.3
... value I1..1stringThe value that is unique
epr-spid-length: EPR-SPID must be exactly 18 characters long
epr-spid-startswith76133761: EPR-SPID must start with 76133761
epr-spid-modulus-10: EPR-SPID must pass the modulus 10 check - https://www.gs1.org/services/how-calculate-check-digit-manually

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Identifier 0..*IdentifierAn identifier intended for computation
... 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 .

... system Σ1..1uriThe namespace for the identifier value
Fixed Value: urn:oid:2.16.756.5.30.1.127.3.10.3
... value ΣI1..1stringThe value that is unique
epr-spid-length: EPR-SPID must be exactly 18 characters long
epr-spid-startswith76133761: EPR-SPID must start with 76133761
epr-spid-modulus-10: EPR-SPID must pass the modulus 10 check - https://www.gs1.org/services/how-calculate-check-digit-manually
Example General: 123456
... period Σ0..1PeriodTime period when id is/was valid for use
... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)

doco Documentation for this format

This structure is derived from Identifier

Summary

Mandatory: 2 elements
Fixed Value: 1 element

Differential View

This structure is derived from Identifier

NameFlagsCard.TypeDescription & Constraintsdoco
.. Identifier 0..*IdentifierAn identifier intended for computation
... system 1..1uriThe namespace for the identifier value
Fixed Value: urn:oid:2.16.756.5.30.1.127.3.10.3
... value I1..1stringThe value that is unique
epr-spid-length: EPR-SPID must be exactly 18 characters long
epr-spid-startswith76133761: EPR-SPID must start with 76133761
epr-spid-modulus-10: EPR-SPID must pass the modulus 10 check - https://www.gs1.org/services/how-calculate-check-digit-manually

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Identifier 0..*IdentifierAn identifier intended for computation
... 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 .

... system Σ1..1uriThe namespace for the identifier value
Fixed Value: urn:oid:2.16.756.5.30.1.127.3.10.3
... value ΣI1..1stringThe value that is unique
epr-spid-length: EPR-SPID must be exactly 18 characters long
epr-spid-startswith76133761: EPR-SPID must start with 76133761
epr-spid-modulus-10: EPR-SPID must pass the modulus 10 check - https://www.gs1.org/services/how-calculate-check-digit-manually
Example General: 123456
... period Σ0..1PeriodTime period when id is/was valid for use
... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)

doco Documentation for this format

 

Other representations of profile: CSV, Excel, Schematron

Terminology Bindings

PathConformanceValueSet
Identifier.userequiredIdentifierUse
Identifier.typeextensibleIdentifier Type Codes

Constraints

IdGradePathDetailsRequirements
ele-1errorIdentifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorIdentifier.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorIdentifier.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorIdentifier.useAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorIdentifier.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorIdentifier.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorIdentifier.valueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
epr-spid-lengtherrorIdentifier.valueEPR-SPID must be exactly 18 characters long
: value.matches('^[0-9]{18}$')
epr-spid-startswith76133761errorIdentifier.valueEPR-SPID must start with 76133761
: value.startsWith('76133761')
epr-spid-modulus-10errorIdentifier.valueEPR-SPID must pass the modulus 10 check - https://www.gs1.org/services/how-calculate-check-digit-manually
: (((10-((68+(value.substring(8,1).toInteger()*3)+(value.substring(9,1).toInteger()*1)+(value.substring(10,1).toInteger()*3)+(value.substring(11,1).toInteger()*1)+(value.substring(12,1).toInteger()*3)+(value.substring(13,1).toInteger()*1)+(value.substring(14,1).toInteger()*3)+(value.substring(15,1).toInteger()*1)+(value.substring(16,1).toInteger()*3))mod(10)))mod(10))=value.substring(17,1).toInteger())
ele-1errorIdentifier.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorIdentifier.assignerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())