HL7 FHIR® Validated Healthcare Directory Implementation Guide STU 1

Validated Healthcare Directory - CI build (v0.2.0). See the Directory of published versions

StructureDefinition-vhdir-validation

This profile sets minimum expectations for searching for and fetching information associated with validation. It identifies which core elements, extensions, vocabularies and value sets SHALL be present in the VerificationResult resource when using this profile.

Background & Scope

This implementation guide was developed to support the need for validated provider data in many different healthcare workflows. It profiles the verificationResult resource to convey information about the validation status of any data in a validated healthcare directory, including how it was validated, who validated it, and where the data came from.

This profile modifies the base VerificationResult resource in the following manner:

  • Constrains the cardinality of VerificationResult.target (1..), verificationResult.need (1..1), verificationResult.statusDate (1..1), verificationResult.validationType (1..1), verificationResult.validationProcess (1..), verificationResult.failureAction (1..1), verificationResult.primarySource.type (1..*), verificationResult.attestation.communicatonMethod (1..1), verificationResult.attestation.date (1..1)

  • All references SHALL conform to the appropriate Validated Healthcare Directory Implementation Guide profile

Examples:

The following are example uses for the vhdir-validation profile:

Mandatory Data Elements

The following data-elements are mandatory (i.e data MUST be present). These are presented below in a simple human-readable explanation. The Formal Profile Definition below provides the formal summary, definitions, and terminology requirements.

Each VerificationResult resource must have:

  1. At least one target in verificationResult.target
  2. A coded representation of how often the target is validated in verificationResult.need
  3. A coded representation of the target’s current validation status in verificationResult.status
  4. A date/time when the target’s validation status was last updated in verificationResult.statusDate
  5. A coded representation of whether the target is validated against a primary source(s) in verificationResult.validationType
  6. At least one coded/text representation of the process by which the target was validated in verificationResult.validationProcess
  7. A coded representation of what happens if validation of the target fails in verificationResult.failureAction
  8. For each primary source described:
    1. At least one coded/text representation of the type of primary source in verificationResult.primarySource.type
  9. Information about the source of the attested information in VerificationResult.attestation, including a reference to a Practitioner, PractitionerRole, or Organization resource representing the source of the information in VerificationResult.attestation.who
  10. For each validator described:
    1. One reference to the Organization resource for the validator in verificationResult.validator.organization

Profile specific implementation guidance:

The core of the verificationResult resource includes basic information about how data was validated:

  • verificationResult.target and verificationResult.targetLocation provide a means to describe the specific data that has been validated. The target is a reference to any resource, and the targetLocation is a FHIRpath expression indicating which specific element(s) in that resource have been validated.
  • verificationResult.need and verificationResult.frequency describe when the target should be validated, and how often it must be revalidated
  • verificationResult.status describes the current status of validation for the target. verificationResult.statusDate indicates when the validation status was last updated.
  • verificationResult.validationType describes what the target is validated against (i.e. whether it is validated against a single primary source, whether it is validated against multiple sources, or whether it wasn’t validated because attested information is sufficient)
  • verificationResult.validationProcess describes the validation processes for validating the target
  • verificationResult.lastPerformed and verificationResult.nextScheduled describe the last completed and next scheduled dates of validation for the target
  • verificationResult.failureAction describes what happens if validation of the target fails

The resource also provides information about entities involved in the validation process:

verificationResult.primarySource provides information about the primary source(s) the target was validated against

  • who identifies the primary source, and type indicates what the primary source is
  • communicationMethod indicates how an entity can communicate with the primary source
  • validationStatus, and validationDate describe the status of the validation of the target against the primary source
  • canPushUpdates and pushTypeAvailable indicate whether a primary source can push updates or alerts (e.g. alerting the validated healthcare directory if a license board suspends a practitioner’s license)

verificationResult.attestation provides information about who attested to the information being validated

  • who identifies the source of the attested information (a practitioner, practitionerRole, or organization), onBehalfOf identifies an entity the “who” is attesting on behalf of.
  • communicationMethod indicates how attested information is submitted/retrieved
  • date indicates when the information was attested to
  • sourceIdentityCertificate and proxyIdentityCertificate assert the identity of the individual attesting to information and any proxy providing attested information on their behalf.
  • sourceSignature and proxySignature assert that information was attested to/provided by the entity with the right to do so. verificationResult.validator provides information about the entity performing the validation of the target
  • organization identifies the validating organization, and identityCertificate asserts their identity
  • attestationSignature asserts that the validator has validated the target

Formal Views of Profile Content

Description of Profiles, Differentials, and Snapshots.

The official URL for this profile is: http://hl7.org/fhir/uv/vhdir/StructureDefinition/vhdir-validation

Published on Sun Dec 10 17:42:47 UTC 2017 as a active by .

This profile builds on VerificationResult


Summary

Mandatory: 10 elements (1 nested mandatory element)
Must-Support: 32 elements

Structures

This structure refers to these other structures:

NameFlagsCard.TypeDescription & Constraintsdoco
.. VerificationResult 0..*Validation
... target S1..*Reference(Resource)
... targetLocation S0..*string
... need S1..1CodeableConcept
... status S1..1code
... statusDate S1..1dateTime
... validationType S1..1CodeableConceptnothing|single|multiple
Binding: validation-type (example)
... validationProcess S1..*CodeableConceptThe process(es) by which the target is validated
Binding: VhDir Validation Process (example)
... frequency S0..1Timing
... lastPerformed S0..1dateTime
... nextScheduled S0..1date
... failureAction S1..1CodeableConcept
... primarySource S0..*BackboneElement
.... who S0..1Reference(VhDir Organization | VhDir Practitioner | VhDir Practitioner Role)
.... type S1..*CodeableConceptType of primary source
Binding: primary-source-type (example)
.... communicationMethod S0..*CodeableConceptBinding: verificationresult-communication-method (example)
.... validationStatus S0..1CodeableConcept
.... validationDate S0..1dateTime
.... canPushUpdates S0..1CodeableConcept
.... pushTypeAvailable S0..*CodeableConcept
... attestation S1..1BackboneElement
.... who S1..1Reference(VhDir Practitioner | VhDir Organization | VhDir Practitioner Role)
.... onBehalfOf S0..1Reference(VhDir Practitioner | VhDir Organization | VhDir Practitioner Role)
.... communicationMethod S1..1CodeableConceptBinding: verificationresult-communication-method (example)
.... date S1..1date
.... sourceIdentityCertificate S0..1string
.... proxyIdentityCertificate S0..1string
.... proxySignature S0..1Signature
.... sourceSignature S0..1Signature
... validator S0..*BackboneElement
.... organization S1..1Reference(VhDir Organization)
.... identityCertificate S0..1string
.... attestationSignature S0..1Signature

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. VerificationResult I0..*Validation
... id Σ0..1idLogical 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)
Max Binding: AllLanguages
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... target SΣ1..*Reference(Resource)A resource that was validated
... targetLocation SΣ0..*stringThe fhirpath location(s) within the resource that was validated
... need SΣ1..1CodeableConceptnone | initial | periodic
Binding: need (preferred)
... status SΣ1..1codeattested | validated | in-process | req-revalid | val-fail | reval-fail
Binding: status (required)
... statusDate SΣ1..1dateTimeWhen the validation status was updated
... validationType SΣ1..1CodeableConceptnothing|single|multiple
Binding: validation-type (example)
... validationProcess SΣ1..*CodeableConceptThe process(es) by which the target is validated
Binding: VhDir Validation Process (example)
... frequency S0..1TimingFrequency of revalidation
... lastPerformed S0..1dateTimeThe date/time validation was last completed (including failed validations)
... nextScheduled S0..1dateThe date when target is next validated, if appropriate
... failureAction SΣ1..1CodeableConceptfatal | warn | rec-only | none
Binding: failure-action (preferred)
... primarySource SI0..*BackboneElementInformation about the primary source(s) involved in validation
.... 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
.... who S0..1Reference(VhDir Organization | VhDir Practitioner | VhDir Practitioner Role)Reference to the primary source
.... type SΣ1..*CodeableConceptType of primary source
Binding: primary-source-type (example)
.... communicationMethod SΣ0..*CodeableConceptMethod for exchanging information with the primary source
Binding: verificationresult-communication-method (example)
.... validationStatus S0..1CodeableConceptsuccessful | failed | unknown
Binding: validation-status (preferred)
.... validationDate S0..1dateTimeWhen the target was validated against the primary source
.... canPushUpdates SΣ0..1CodeableConceptyes | no | undetermined
Binding: can-push-updates (preferred)
.... pushTypeAvailable S0..*CodeableConceptspecific | any | source
Binding: push-type-available (preferred)
... attestation SI1..1BackboneElementInformation about the entity attesting to 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
.... who SΣ1..1Reference(VhDir Practitioner | VhDir Organization | VhDir Practitioner Role)The individual or organization attesting to information
.... onBehalfOf SΣ0..1Reference(VhDir Practitioner | VhDir Organization | VhDir Practitioner Role)When the who is asserting on behalf of another (organization or individual)
.... communicationMethod SΣ1..1CodeableConceptThe method by which attested information was submitted/retrieved
Binding: verificationresult-communication-method (example)
.... date SΣ1..1dateThe date the information was attested to
.... sourceIdentityCertificate S0..1stringA digital identity certificate associated with the attestation source
.... proxyIdentityCertificate S0..1stringA digital identity certificate associated with the proxy entity submitting attested information on behalf of the attestation source
.... proxySignature S0..1SignatureProxy signature
.... sourceSignature S0..1SignatureAttester signature
... validator SI0..*BackboneElementInformation about the entity validating 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
.... organization S1..1Reference(VhDir Organization)Reference to the organization validating information
.... identityCertificate S0..1stringA digital identity certificate associated with the validator
.... attestationSignature S0..1SignatureValidator signature

doco Documentation for this format

Summary

Mandatory: 10 elements (1 nested mandatory element)
Must-Support: 32 elements

Structures

This structure refers to these other structures:

Differential View

NameFlagsCard.TypeDescription & Constraintsdoco
.. VerificationResult 0..*Validation
... target S1..*Reference(Resource)
... targetLocation S0..*string
... need S1..1CodeableConcept
... status S1..1code
... statusDate S1..1dateTime
... validationType S1..1CodeableConceptnothing|single|multiple
Binding: validation-type (example)
... validationProcess S1..*CodeableConceptThe process(es) by which the target is validated
Binding: VhDir Validation Process (example)
... frequency S0..1Timing
... lastPerformed S0..1dateTime
... nextScheduled S0..1date
... failureAction S1..1CodeableConcept
... primarySource S0..*BackboneElement
.... who S0..1Reference(VhDir Organization | VhDir Practitioner | VhDir Practitioner Role)
.... type S1..*CodeableConceptType of primary source
Binding: primary-source-type (example)
.... communicationMethod S0..*CodeableConceptBinding: verificationresult-communication-method (example)
.... validationStatus S0..1CodeableConcept
.... validationDate S0..1dateTime
.... canPushUpdates S0..1CodeableConcept
.... pushTypeAvailable S0..*CodeableConcept
... attestation S1..1BackboneElement
.... who S1..1Reference(VhDir Practitioner | VhDir Organization | VhDir Practitioner Role)
.... onBehalfOf S0..1Reference(VhDir Practitioner | VhDir Organization | VhDir Practitioner Role)
.... communicationMethod S1..1CodeableConceptBinding: verificationresult-communication-method (example)
.... date S1..1date
.... sourceIdentityCertificate S0..1string
.... proxyIdentityCertificate S0..1string
.... proxySignature S0..1Signature
.... sourceSignature S0..1Signature
... validator S0..*BackboneElement
.... organization S1..1Reference(VhDir Organization)
.... identityCertificate S0..1string
.... attestationSignature S0..1Signature

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. VerificationResult I0..*Validation
... id Σ0..1idLogical 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)
Max Binding: AllLanguages
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... target SΣ1..*Reference(Resource)A resource that was validated
... targetLocation SΣ0..*stringThe fhirpath location(s) within the resource that was validated
... need SΣ1..1CodeableConceptnone | initial | periodic
Binding: need (preferred)
... status SΣ1..1codeattested | validated | in-process | req-revalid | val-fail | reval-fail
Binding: status (required)
... statusDate SΣ1..1dateTimeWhen the validation status was updated
... validationType SΣ1..1CodeableConceptnothing|single|multiple
Binding: validation-type (example)
... validationProcess SΣ1..*CodeableConceptThe process(es) by which the target is validated
Binding: VhDir Validation Process (example)
... frequency S0..1TimingFrequency of revalidation
... lastPerformed S0..1dateTimeThe date/time validation was last completed (including failed validations)
... nextScheduled S0..1dateThe date when target is next validated, if appropriate
... failureAction SΣ1..1CodeableConceptfatal | warn | rec-only | none
Binding: failure-action (preferred)
... primarySource SI0..*BackboneElementInformation about the primary source(s) involved in validation
.... 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
.... who S0..1Reference(VhDir Organization | VhDir Practitioner | VhDir Practitioner Role)Reference to the primary source
.... type SΣ1..*CodeableConceptType of primary source
Binding: primary-source-type (example)
.... communicationMethod SΣ0..*CodeableConceptMethod for exchanging information with the primary source
Binding: verificationresult-communication-method (example)
.... validationStatus S0..1CodeableConceptsuccessful | failed | unknown
Binding: validation-status (preferred)
.... validationDate S0..1dateTimeWhen the target was validated against the primary source
.... canPushUpdates SΣ0..1CodeableConceptyes | no | undetermined
Binding: can-push-updates (preferred)
.... pushTypeAvailable S0..*CodeableConceptspecific | any | source
Binding: push-type-available (preferred)
... attestation SI1..1BackboneElementInformation about the entity attesting to 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
.... who SΣ1..1Reference(VhDir Practitioner | VhDir Organization | VhDir Practitioner Role)The individual or organization attesting to information
.... onBehalfOf SΣ0..1Reference(VhDir Practitioner | VhDir Organization | VhDir Practitioner Role)When the who is asserting on behalf of another (organization or individual)
.... communicationMethod SΣ1..1CodeableConceptThe method by which attested information was submitted/retrieved
Binding: verificationresult-communication-method (example)
.... date SΣ1..1dateThe date the information was attested to
.... sourceIdentityCertificate S0..1stringA digital identity certificate associated with the attestation source
.... proxyIdentityCertificate S0..1stringA digital identity certificate associated with the proxy entity submitting attested information on behalf of the attestation source
.... proxySignature S0..1SignatureProxy signature
.... sourceSignature S0..1SignatureAttester signature
... validator SI0..*BackboneElementInformation about the entity validating 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
.... organization S1..1Reference(VhDir Organization)Reference to the organization validating information
.... identityCertificate S0..1stringA digital identity certificate associated with the validator
.... attestationSignature S0..1SignatureValidator signature

doco Documentation for this format

Downloads: StructureDefinition: (XML, JSON), Schema: XML Schematron


Terminology Bindings

PathConformanceValueSet
VerificationResult.languagepreferredCommonLanguages
Max Binding: AllLanguages
VerificationResult.needpreferredneed
VerificationResult.statusrequiredstatus
VerificationResult.validationTypeexamplevalidation-type
VerificationResult.validationProcessexampleVhDirValidationProcess
VerificationResult.failureActionpreferredfailure-action
VerificationResult.primarySource.typeexampleprimary-source-type
VerificationResult.primarySource.communicationMethodexampleverificationresult-communication-method
VerificationResult.primarySource.validationStatuspreferredvalidation-status
VerificationResult.primarySource.canPushUpdatespreferredcan-push-updates
VerificationResult.primarySource.pushTypeAvailablepreferredpush-type-available
VerificationResult.attestation.communicationMethodexampleverificationresult-communication-method

Quick Start

Below is an overview of the required set of RESTful FHIR interactions - for example, search and read operations - for this profile. See the Conformance requirements for a complete list of supported RESTful interactions for this IG.

Supported Searches

  1. GET [base]/VerificationResult?attestation-who=[id]

    Support: SHALL support search by the attestation-who parameter

    • with a target type: Practitioner, Organization, PractitionerRole
    • including the modifiers: type
    • including these search paramaters which may be chained: attestation-who.identifier, attestation-who.address, attestation-who.name, attestation-who.partof, attestation-who.location, attestation-who.organization, attestation-who.practitioner

  1. GET [base]/VerificationResult?attestation-method=[code]

    Support: SHOULD support search by the attestation-method parameter

    • including the modifiers: text

  1. GET [base]/VerificationResult?attestation-onbehalfof=[id]

    Support: SHALL support search by the attestation-onbehalfof parameter

    • with a target type: Practitioner, Organization, PractitionerRole
    • including the modifiers: type
    • including these search paramaters which may be chained: attestation-onbehalfof.identifier, attestation-onbehalfof.address, attestation-onbehalfof.name, attestation-onbehalfof.partof, attestation-onbehalfof.location, attestation-onbehalfof.organization, attestation-onbehalfof.practitioner

  1. GET [base]/VerificationResult?primarysource-date=[dateTime]

    Support: SHOULD support search by the primarysource-date parameter

    • including the comparators: eq, gt, lt, ge, le, sa, eb

  1. GET [base]/VerificationResult?primarysource-who=[id]

    Support: SHALL support search by the primarysource-who parameter

    • with a target type: Practitioner, Organization, PractitionerRole
    • including the modifiers: type
    • including these search paramaters which may be chained: primarysource-who.identifier, primarysource-who.address, primarysource-who.name, primarysource-who.partof, primarysource-who.location, primarysource-who.organization, primarysource-who.practitioner

  1. GET [base]/VerificationResult?primarysource-type=[code]

    Support: SHOULD support search by the primarysource-type parameter

    • including the modifiers: text

  1. GET [base]/VerificationResult?status-date=[dateTime]

    Support: SHOULD support search by the status-date parameter

    • including the comparators: eq, gt, lt, ge, le, sa, eb

  1. GET [base]/VerificationResult?target=[id]

    Support: SHALL support search by the target parameter

    • with a target type: Any
    • including the modifier: type

  1. GET [base]/VerificationResult?status=[code]

    Support: SHALL support search by the validation-status parameter


  1. GET [base]/VerificationResult?validator-organization=[id]

    Support: SHALL support search by the validator-organization parameter

    • with a target type: Organization
    • including the modifiers: above, below
    • including these search paramaters which may be chained: validator-organization.identifier, validator-organization.name