Da Vinci Clinical Data Exchange (CDex)
2.0.0-ballot - Ballot US

This page is part of the Da Vinci Clinical Documentation Exchange (v2.0.0-ballot: STU2 Ballot 1) based on FHIR R4. The current version which supercedes this version is 1.1.0. For a full list of available versions, see the Directory of published versions

Resource Profile: CDex Signature Bundle Profile

Official URL: http://hl7.org/fhir/us/davinci-cdex/StructureDefinition/cdex-signature-bundle Version: 2.0.0-ballot
Active as of 2022-08-08 Computable Name: CDexSignatureBundle

Copyright/Legal: Used by permission of HL7 International all rights reserved Creative Commons License

This Bundle profile enforces the various elements of signature documented in the CDex guide. It adds the following mandatory (min=1) constraints:

  • A Bundle.signature element representing the enveloped signature
  • A Bundle.signature.type fixed to ASTM Standard, E1762-95(2013) code = “1.2.840.10065.1.12.1.5” (Verification Signature)
  • A Bundle.signature.who for the organization or practitioner who signed the Bundle which is either:
    1. a reference to US-Core Practitioner, PractitionerRole or Organization or
    2. an NPI or Tax ID and name of the organization or practitioner
  • A Bundle.signature.data representing base64 encoded JWS-Signature

In addition, the following mandatory (min=1) element is inherited from the base standard:

  • Bundle.signature.when - system timestamp when the signature was created

Usage:

Formal Views of Profile Content

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

This structure is derived from Bundle

Summary

Mandatory: 4 elements (2 nested mandatory elements)
Must-Support: 11 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element Bundle.signature.type is sliced based on the value of pattern:$this

This structure is derived from Bundle

NameFlagsCard.TypeDescription & Constraintsdoco
.. Bundle I0..*BundleContains a collection of resources
sb-1: The signature element must have either reference to the signer or the signer's identifier and name.
... signature S1..1SignatureDigital Signature
.... Slices for type S1..*CodingIndication of the reason the entity signed the object(s)
Slice: Unordered, Open by pattern:$this
..... type:verify S1..1CodingVerification Signature
Required Pattern: At least the following
...... system1..1uriIdentity of the terminology system
Fixed Value: urn:iso-astm:E1762-95:2013
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: 1.2.840.10065.1.12.1.5
...... display1..1stringRepresentation defined by the system
Fixed Value: Verification Signature
.... when S1..1instantWhen the signature was created
.... who S1..1Reference(US Core Practitioner Profile S | US Core Organization Profile S | US Core PractitionerRole Profile)Organization or practitioner who signed the Bundle
..... reference SI0..1stringLiteral reference, Relative, internal or absolute URL
..... identifier SI0..1IdentifierNPI or US Tax ID
...... type S1..1CodeableConceptDescription of identifier
Binding: CDex Identifier Types Value Set (required)
...... value S1..1stringThe value that is unique
..... display SI0..1stringText alternative for the resource
.... data S1..1base64Binarybase64 encoded JWS-Signature

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Bundle I0..*BundleContains a collection of resources
sb-1: The signature element must have either reference to the signer or the signer's identifier and name.
... id Σ0..1stringLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... identifier Σ0..1IdentifierPersistent identifier for the bundle
... type Σ1..1codedocument | message | transaction | transaction-response | batch | batch-response | history | searchset | collection
Binding: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used.

... timestamp Σ0..1instantWhen the bundle was assembled
... total ΣI0..1unsignedIntIf search, the total number of matches
... link Σ0..*BackboneElementLinks related to this Bundle
.... 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
.... relation Σ1..1stringSee http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1
.... url Σ1..1uriReference details for the link
... entry ΣI0..*BackboneElementEntry in the bundle - will have a resource or information
This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
.... 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
.... link Σ0..*See link (Bundle)Links related to this entry
.... fullUrl Σ0..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
.... resource Σ0..1ResourceA resource in the bundle
.... search ΣI0..1BackboneElementSearch related information
..... 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
..... mode Σ0..1codematch | include | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.

..... score Σ0..1decimalSearch ranking (between 0 and 1)
.... request ΣI0..1BackboneElementAdditional execution information (transaction/batch/history)
..... 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
..... method Σ1..1codeGET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.

..... url Σ1..1uriURL for HTTP equivalent of this entry
..... ifNoneMatch Σ0..1stringFor managing cache currency
..... ifModifiedSince Σ0..1instantFor managing cache currency
..... ifMatch Σ0..1stringFor managing update contention
..... ifNoneExist Σ0..1stringFor conditional creates
.... response ΣI0..1BackboneElementResults of execution (transaction/batch/history)
..... 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
..... status Σ1..1stringStatus response code (text optional)
..... location Σ0..1uriThe location (if the operation returns a location)
..... etag Σ0..1stringThe Etag for the resource (if relevant)
..... lastModified Σ0..1instantServer's date time modified
..... outcome Σ0..1ResourceOperationOutcome with hints and warnings (for batch/transaction)
... signature SΣ1..1SignatureDigital Signature
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for type SΣ1..*CodingIndication of the reason the entity signed the object(s)
Slice: Unordered, Open by pattern:$this
Binding: SignatureTypeCodes (preferred): An indication of the reason that an entity signed the object.


..... type:verify SΣ1..1CodingVerification Signature
Binding: SignatureTypeCodes (preferred): An indication of the reason that an entity signed the object.



Required Pattern: At least the following
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... system1..1uriIdentity of the terminology system
Fixed Value: urn:iso-astm:E1762-95:2013
...... version0..1stringVersion of the system - if relevant
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: 1.2.840.10065.1.12.1.5
...... display1..1stringRepresentation defined by the system
Fixed Value: Verification Signature
...... userSelected0..1booleanIf this coding was chosen directly by the user
.... when SΣ1..1instantWhen the signature was created
.... who SΣ1..1Reference(US Core Practitioner Profile S | US Core Organization Profile S | US Core PractitionerRole Profile)Organization or practitioner who signed the Bundle
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... reference SΣI0..1stringLiteral reference, Relative, internal or absolute URL
..... type Σ0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

..... identifier SΣI0..1IdentifierNPI or US Tax ID
...... 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 SΣ1..1CodeableConceptDescription of identifier
Binding: CDex Identifier Types Value Set (required)
...... system Σ0..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
...... value SΣ1..1stringThe value that is unique
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)
..... display SΣI0..1stringText alternative for the resource
.... onBehalfOf Σ0..1Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization)The party represented
.... targetFormat 0..1codeThe technical format of the signed resources
Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed.

.... sigFormat 0..1codeThe technical format of the signature
Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed.

.... data S1..1base64Binarybase64 encoded JWS-Signature

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Bundle I0..*BundleContains a collection of resources
sb-1: The signature element must have either reference to the signer or the signer's identifier and name.
... signature Σ1..1SignatureDigital Signature
.... Slices for type Σ1..*CodingIndication of the reason the entity signed the object(s)
Slice: Unordered, Open by pattern:$this
Binding: SignatureTypeCodes (preferred): An indication of the reason that an entity signed the object.


..... type:verify Σ1..1CodingVerification Signature
Binding: SignatureTypeCodes (preferred): An indication of the reason that an entity signed the object.



Required Pattern: At least the following
...... system1..1uriIdentity of the terminology system
Fixed Value: urn:iso-astm:E1762-95:2013
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: 1.2.840.10065.1.12.1.5
...... display1..1stringRepresentation defined by the system
Fixed Value: Verification Signature
.... when Σ1..1instantWhen the signature was created
.... who Σ1..1Reference(US Core Practitioner Profile | US Core Organization Profile)Organization or practitioner who signed the Bundle
..... reference ΣI0..1stringLiteral reference, Relative, internal or absolute URL
..... identifier ΣI0..1IdentifierNPI or US Tax ID
...... type Σ1..1CodeableConceptDescription of identifier
Binding: CDex Identifier Types Value Set (required)
...... value Σ1..1stringThe value that is unique
..... display ΣI0..1stringText alternative for the resource
.... data 1..1base64Binarybase64 encoded JWS-Signature

doco Documentation for this format

This structure is derived from Bundle

Summary

Mandatory: 4 elements (2 nested mandatory elements)
Must-Support: 11 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element Bundle.signature.type is sliced based on the value of pattern:$this

Differential View

This structure is derived from Bundle

NameFlagsCard.TypeDescription & Constraintsdoco
.. Bundle I0..*BundleContains a collection of resources
sb-1: The signature element must have either reference to the signer or the signer's identifier and name.
... signature S1..1SignatureDigital Signature
.... Slices for type S1..*CodingIndication of the reason the entity signed the object(s)
Slice: Unordered, Open by pattern:$this
..... type:verify S1..1CodingVerification Signature
Required Pattern: At least the following
...... system1..1uriIdentity of the terminology system
Fixed Value: urn:iso-astm:E1762-95:2013
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: 1.2.840.10065.1.12.1.5
...... display1..1stringRepresentation defined by the system
Fixed Value: Verification Signature
.... when S1..1instantWhen the signature was created
.... who S1..1Reference(US Core Practitioner Profile S | US Core Organization Profile S | US Core PractitionerRole Profile)Organization or practitioner who signed the Bundle
..... reference SI0..1stringLiteral reference, Relative, internal or absolute URL
..... identifier SI0..1IdentifierNPI or US Tax ID
...... type S1..1CodeableConceptDescription of identifier
Binding: CDex Identifier Types Value Set (required)
...... value S1..1stringThe value that is unique
..... display SI0..1stringText alternative for the resource
.... data S1..1base64Binarybase64 encoded JWS-Signature

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Bundle I0..*BundleContains a collection of resources
sb-1: The signature element must have either reference to the signer or the signer's identifier and name.
... id Σ0..1stringLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... identifier Σ0..1IdentifierPersistent identifier for the bundle
... type Σ1..1codedocument | message | transaction | transaction-response | batch | batch-response | history | searchset | collection
Binding: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used.

... timestamp Σ0..1instantWhen the bundle was assembled
... total ΣI0..1unsignedIntIf search, the total number of matches
... link Σ0..*BackboneElementLinks related to this Bundle
.... 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
.... relation Σ1..1stringSee http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1
.... url Σ1..1uriReference details for the link
... entry ΣI0..*BackboneElementEntry in the bundle - will have a resource or information
This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
.... 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
.... link Σ0..*See link (Bundle)Links related to this entry
.... fullUrl Σ0..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
.... resource Σ0..1ResourceA resource in the bundle
.... search ΣI0..1BackboneElementSearch related information
..... 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
..... mode Σ0..1codematch | include | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.

..... score Σ0..1decimalSearch ranking (between 0 and 1)
.... request ΣI0..1BackboneElementAdditional execution information (transaction/batch/history)
..... 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
..... method Σ1..1codeGET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.

..... url Σ1..1uriURL for HTTP equivalent of this entry
..... ifNoneMatch Σ0..1stringFor managing cache currency
..... ifModifiedSince Σ0..1instantFor managing cache currency
..... ifMatch Σ0..1stringFor managing update contention
..... ifNoneExist Σ0..1stringFor conditional creates
.... response ΣI0..1BackboneElementResults of execution (transaction/batch/history)
..... 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
..... status Σ1..1stringStatus response code (text optional)
..... location Σ0..1uriThe location (if the operation returns a location)
..... etag Σ0..1stringThe Etag for the resource (if relevant)
..... lastModified Σ0..1instantServer's date time modified
..... outcome Σ0..1ResourceOperationOutcome with hints and warnings (for batch/transaction)
... signature SΣ1..1SignatureDigital Signature
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for type SΣ1..*CodingIndication of the reason the entity signed the object(s)
Slice: Unordered, Open by pattern:$this
Binding: SignatureTypeCodes (preferred): An indication of the reason that an entity signed the object.


..... type:verify SΣ1..1CodingVerification Signature
Binding: SignatureTypeCodes (preferred): An indication of the reason that an entity signed the object.



Required Pattern: At least the following
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... system1..1uriIdentity of the terminology system
Fixed Value: urn:iso-astm:E1762-95:2013
...... version0..1stringVersion of the system - if relevant
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: 1.2.840.10065.1.12.1.5
...... display1..1stringRepresentation defined by the system
Fixed Value: Verification Signature
...... userSelected0..1booleanIf this coding was chosen directly by the user
.... when SΣ1..1instantWhen the signature was created
.... who SΣ1..1Reference(US Core Practitioner Profile S | US Core Organization Profile S | US Core PractitionerRole Profile)Organization or practitioner who signed the Bundle
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... reference SΣI0..1stringLiteral reference, Relative, internal or absolute URL
..... type Σ0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

..... identifier SΣI0..1IdentifierNPI or US Tax ID
...... 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 SΣ1..1CodeableConceptDescription of identifier
Binding: CDex Identifier Types Value Set (required)
...... system Σ0..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
...... value SΣ1..1stringThe value that is unique
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)
..... display SΣI0..1stringText alternative for the resource
.... onBehalfOf Σ0..1Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization)The party represented
.... targetFormat 0..1codeThe technical format of the signed resources
Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed.

.... sigFormat 0..1codeThe technical format of the signature
Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed.

.... data S1..1base64Binarybase64 encoded JWS-Signature

doco Documentation for this format

 

Other representations of profile: CSV, Excel, Schematron

Terminology Bindings

PathConformanceValueSet / Code
Bundle.languagepreferredCommonLanguages
Max Binding: AllLanguages
Bundle.typerequiredBundleType
Bundle.entry.search.moderequiredSearchEntryMode
Bundle.entry.request.methodrequiredHTTPVerb
Bundle.signature.typepreferredSignatureTypeCodes
Bundle.signature.type:verifypreferredPattern: 1.2.840.10065.1.12.1.5("Verification Signature")
Bundle.signature.who.typeextensibleResourceType
Bundle.signature.who.identifier.userequiredIdentifierUse
Bundle.signature.who.identifier.typerequiredCDexIdentifierTypes
Bundle.signature.targetFormatrequiredMime Types
Bundle.signature.sigFormatrequiredMime Types

Constraints

IdGradePathDetailsRequirements
sb-1errorBundleThe signature element must have either reference to the signer or the signer's identifier and name.
: Bundle.signature.who.reference.exists() or (Bundle.signature.who.identifier.exists() and Bundle.signature.who.display.exists())