This page is part of the Validated Healthcare Directory FHIR IG (v0.2.0: STU 1 Ballot 2) based on FHIR v3.5.0. . For a full list of available versions, 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.method
(1..1),verificationResult.attestation.date
(1..1) -
All references SHALL conform to the appropriate Validated Healthcare Directory Implementation Guide profile
-
Adds new value sets/updates value set bindings:
TBD
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:
- At least one target in
verificationResult.target
- A coded representation of how often the target is validated in
verificationResult.need
- A coded representation of the target’s current validation status in
verificationResult.status
- A date/time when the target’s validation status was last updated in
verificationResult.statusDate
- A coded representation of whether the target is validated against a primary source(s) in
verificationResult.validationType
- At least one coded/text representation of the process by which the target was validated in
verificationResult.validationProcess
- A coded representation of what happens if validation of the target fails in
verificationResult.failureAction
- For each primary source described:
- At least one coded/text representation of the type of primary source in
verificationResult.primarySource.type
- At least one coded/text representation of the type of primary source in
- Information about the source of the attested information in
VerificationResult.attestation
, including a reference to a Practitioner or Organization resource representing the source of the information inVerificationResult.attestation.source
- For each validator described:
- One reference to the Organization resource for the validator in
verificationResult.validator.organization
- One reference to the Organization resource for the validator in
Profile specific implementation guidance:
The core of the verificationResult resource includes basic information about how data was validated:
verificationResult.target
andverificationResult.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
andverificationResult.frequency
describe when the target should be validated, and how often it must be revalidatedverificationResult.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 targetverificationResult.lastPerformed
andverificationResult.nextScheduled
describe the last completed and next scheduled dates of validation for the targetverificationResult.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
organization
identifies the primary source, andtype
indicates what the primary source isvalidationProcess
indicates how an entity can communicate with the primary sourcevalidationStatus
, andvalidationDate
describe the status of the validation of the target against the primary sourcecanPushUpdates
andpushTypeAvailable
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
source
identifies the source of the attested information (a practitioner or organization),organization
identifies an organization attesting to the target. If a value is present inorganization
, there should also be a value insource
(because an individual typically attests on behalf of an organization).method
indicates who is providing the attested information. Often, an individual will attest to their own information. However, another entity may submit attested information on an individual’s behalf (e.g. a practice manager attests to information on behalf of all providers in a group practice).date
indicates when the information was attested tosourceIdentityCertificate
andproxyIdentityCertificate
assert the identity of the individual attesting to information and any proxy providing attested information on their behalf.signedSourceAttestation
andsignedProxyRight
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, andidentityCertificate
asserts their identity
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 Mon Dec 11 03:42:47 AEST 2017 as a active by .
This profile builds on VerificationResult
Complete Summary of the Mandatory Requirements
- At least one target in
verificationResult.target
- A coded representation of how often the target is validated in
verificationResult.need
- A coded representation of the target’s current validation status in
verificationResult.status
- A date/time when the target’s validation status was last updated in
verificationResult.statusDate
- A coded representation of whether the target is validated against a primary source(s) in
verificationResult.validationType
- At least one coded/text representation of the process by which the target was validated in
verificationResult.validationProcess
- A coded representation of what happens if validation of the target fails in
verificationResult.failureAction
- For each primary source described:
- At least one coded/text representation of the type of primary source in
verificationResult.primarySource.type
- At least one coded/text representation of the type of primary source in
- Information about the source of the attested information in
VerificationResult.attestation
, including a reference to a Practitioner or Organization resource representing the source of the information inVerificationResult.attestation.source
- For each validator described:
- One reference to the Organization resource for the validator in
verificationResult.validator.organization
- One reference to the Organization resource for the validator in
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
VerificationResult | I | 0..* | Validation | |
id | Σ | 0..1 | id | Logical id of this artifact |
meta | Σ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language | 0..1 | code | Language of the resource content Binding: Common Languages (preferred) | |
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
target | Σ | 1..* | Reference(Resource) | A resource that was validated |
targetLocation | Σ | 0..* | string | The fhirpath location(s) within the resource that was validated |
need | Σ | 1..1 | CodeableConcept | none | initial | periodic Binding: need (preferred) |
status | Σ | 1..1 | code | attested | validated | in-process | req-revalid | val-fail | reval-fail Binding: status (required) |
statusDate | Σ | 1..1 | dateTime | When the validation status was updated |
validationType | Σ | 1..1 | CodeableConcept | nothing|single|multiple Binding: VhDir External Validation Type Value Set (example) |
validationProcess | Σ | 1..* | CodeableConcept | The process(es) by which the target is validated Binding: VhDir Validation Process (example) |
frequency | 0..1 | Timing | Frequency of revalidation | |
lastPerformed | 0..1 | dateTime | The date/time validation was last completed (incl. failed validations) | |
nextScheduled | 0..1 | date | The date when target is next validated, if appropriate | |
failureAction | Σ | 1..1 | CodeableConcept | fatal | warn | rec-only | none Binding: failure-action (preferred) |
primarySource | I | 0..* | BackboneElement | Information about the primary source(s) involved in validation |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored if unrecognized |
organization | 0..1 | Reference(VhDir Organization | VhDir Practitioner) | Reference to the primary source | |
type | Σ | 1..* | CodeableConcept | Type of primary source Binding: VhDir Primary Source Validation Type (example) |
validationProcess | Σ | 0..* | CodeableConcept | The process(es) by which the target is validated Binding: VhDir Primary Source Validation Process (example) |
validationStatus | 0..1 | CodeableConcept | successful | failed | unknown Binding: validation-status (preferred) | |
validationDate | 0..1 | dateTime | When the target was validated against the primary source | |
canPushUpdates | Σ | 0..1 | CodeableConcept | yes | no | undetermined Binding: can-push-updates (preferred) |
pushTypeAvailable | 0..* | CodeableConcept | specific | any | source Binding: push-type-available (preferred) | |
attestation | I | 1..1 | BackboneElement | Information about the entity attesting to information |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored if unrecognized |
source | Σ | 1..1 | Reference(VhDir Practitioner | VhDir Organization) | Attestation source |
organization | Σ | 0..1 | Reference(VhDir Practitioner) | Proxy for attested information |
method | Σ | 1..1 | CodeableConcept | Attestation process Binding: VhDir Primary Source Validation Process (example) |
date | Σ | 1..1 | date | The date the information was attested to |
sourceIdentityCertificate | 0..1 | string | A digital identity certificate associated with the attestation source | |
proxyIdentityCertificate | 0..1 | string | A digital identity certificate associated with the proxy entity submitting attested information on behalf of the attestation source | |
signedProxyRight[x] | 0..1 | string, uri | Proxy signature | |
signedSourceAttestation[x] | 0..1 | string, uri | Attester signature | |
validator | I | 0..* | BackboneElement | Information about the entity validating information |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored if unrecognized |
organization | 1..1 | Reference(VhDir Organization) | Reference to the organization validating information | |
identityCertificate | 0..1 | string | A digital identity certificate associated with the validator | |
signedValidatorAttestation[x] | 0..1 | string, uri | Validator signature | |
Documentation for this format |
Differential View
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
VerificationResult | I | 0..* | Validation | |
id | Σ | 0..1 | id | Logical id of this artifact |
meta | Σ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language | 0..1 | code | Language of the resource content Binding: Common Languages (preferred) | |
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
target | Σ | 1..* | Reference(Resource) | A resource that was validated |
targetLocation | Σ | 0..* | string | The fhirpath location(s) within the resource that was validated |
need | Σ | 1..1 | CodeableConcept | none | initial | periodic Binding: need (preferred) |
status | Σ | 1..1 | code | attested | validated | in-process | req-revalid | val-fail | reval-fail Binding: status (required) |
statusDate | Σ | 1..1 | dateTime | When the validation status was updated |
validationType | Σ | 1..1 | CodeableConcept | nothing|single|multiple Binding: VhDir External Validation Type Value Set (example) |
validationProcess | Σ | 1..* | CodeableConcept | The process(es) by which the target is validated Binding: VhDir Validation Process (example) |
frequency | 0..1 | Timing | Frequency of revalidation | |
lastPerformed | 0..1 | dateTime | The date/time validation was last completed (incl. failed validations) | |
nextScheduled | 0..1 | date | The date when target is next validated, if appropriate | |
failureAction | Σ | 1..1 | CodeableConcept | fatal | warn | rec-only | none Binding: failure-action (preferred) |
primarySource | I | 0..* | BackboneElement | Information about the primary source(s) involved in validation |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored if unrecognized |
organization | 0..1 | Reference(VhDir Organization | VhDir Practitioner) | Reference to the primary source | |
type | Σ | 1..* | CodeableConcept | Type of primary source Binding: VhDir Primary Source Validation Type (example) |
validationProcess | Σ | 0..* | CodeableConcept | The process(es) by which the target is validated Binding: VhDir Primary Source Validation Process (example) |
validationStatus | 0..1 | CodeableConcept | successful | failed | unknown Binding: validation-status (preferred) | |
validationDate | 0..1 | dateTime | When the target was validated against the primary source | |
canPushUpdates | Σ | 0..1 | CodeableConcept | yes | no | undetermined Binding: can-push-updates (preferred) |
pushTypeAvailable | 0..* | CodeableConcept | specific | any | source Binding: push-type-available (preferred) | |
attestation | I | 1..1 | BackboneElement | Information about the entity attesting to information |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored if unrecognized |
source | Σ | 1..1 | Reference(VhDir Practitioner | VhDir Organization) | Attestation source |
organization | Σ | 0..1 | Reference(VhDir Practitioner) | Proxy for attested information |
method | Σ | 1..1 | CodeableConcept | Attestation process Binding: VhDir Primary Source Validation Process (example) |
date | Σ | 1..1 | date | The date the information was attested to |
sourceIdentityCertificate | 0..1 | string | A digital identity certificate associated with the attestation source | |
proxyIdentityCertificate | 0..1 | string | A digital identity certificate associated with the proxy entity submitting attested information on behalf of the attestation source | |
signedProxyRight[x] | 0..1 | string, uri | Proxy signature | |
signedSourceAttestation[x] | 0..1 | string, uri | Attester signature | |
validator | I | 0..* | BackboneElement | Information about the entity validating information |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored if unrecognized |
organization | 1..1 | Reference(VhDir Organization) | Reference to the organization validating information | |
identityCertificate | 0..1 | string | A digital identity certificate associated with the validator | |
signedValidatorAttestation[x] | 0..1 | string, uri | Validator signature | |
Documentation for this format |
Downloads: StructureDefinition: (XML, JSON), Schema: XML Schematron
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
-
GET [base]/VerificationResult?verificationresult-attestation-attester=[id]
Support: SHALL support search by the
verificationresult-attestation-attester
parameter- with a target type:
Practitioner
,Organization
- including the modifiers:
type
- including these search paramaters which may be chained:
organization-identifier
,organization-address
,organization-name
,organization-partof
,practitioner-identifier
,practitioner-name
- with a target type:
-
GET [base]/VerificationResult?verificationresult-attestation-method=[code]
Support: SHOULD support search by the
verificationresult-attestation-method
parameter- including the modifiers:
text
- including the modifiers:
-
GET [base]/VerificationResult?verificationresult-attestation-proxy=[id]
Support: SHALL support search by the
verificationresult-attestation-proxy
parameter- with a target type:
Practitioner
- including these search paramaters which may be chained:
practitioner-identifier
,practitioner-name
- with a target type:
-
GET [base]/VerificationResult?verificationresult-primarysource-date=[dateTime]
Support: SHOULD support search by the
verificationresult-primarysource-date
parameter- including the comparators:
eq
,gt
,lt
,ge
,le
,sa
,eb
- including the comparators:
-
GET [base]/VerificationResult?verificationresult-primarysource-organization=[id]
Support: SHALL support search by the
verificationresult-primarysource-organization
parameter- with a target type:
Organization
- including the modifiers:
above
,below
- including these search paramaters which may be chained:
organization-identifier
,organization-name
- with a target type:
-
GET [base]/VerificationResult?verificationresult-primarysource-type=[code]
Support: SHOULD support search by the
verificationresult-primarysource-type
parameter- including the modifiers:
text
- including the modifiers:
-
GET [base]/VerificationResult?verificationresult-status-date=[dateTime]
Support: SHOULD support search by the
verificationresult-status-date
parameter- including the comparators:
eq
,gt
,lt
,ge
,le
,sa
,eb
- including the comparators:
-
GET [base]/VerificationResult?verificationresult-target=[id]
Support: SHALL support search by the
verificationresult-target
parameter- with a target type:
Any
- including the modifier:
type
- with a target type:
-
GET [base]/VerificationResult?verificationresult-target-location=[string]
Support: SHALL support search by the
verificationresult-target-location
parameter- including the modifiers:
exact
,contains
- including the modifiers:
-
GET [base]/VerificationResult?verificationresult-status=[code]
Support: SHALL support search by the
verificationresult-validation-status
parameter
-
GET [base]/VerificationResult?verificationresult-validator-organization=[id]
Support: SHALL support search by the
verificationresult-validator-organization
parameter- with a target type:
Organization
- including the modifiers:
above
,below
- including these search paramaters which may be chained:
organization-identifier
,organization-name
- with a target type: