R6 Ballot (2nd Draft)

Publish-box (todo)

Verificationresult.shex

Patient Administration Work GroupMaturity Level: N/AStandards Status: InformativeCompartments: No defined compartments

Raw ShEx

ShEx statement for verificationresult

PREFIX fhir: <http://hl7.org/fhir/> 
PREFIX fhirvs: <http://hl7.org/fhir/ValueSet/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> 
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 

IMPORT <code.shex>
IMPORT <date.shex>
IMPORT <string.shex>
IMPORT <Timing.shex>
IMPORT <dateTime.shex>
IMPORT <Resource.shex>
IMPORT <Reference.shex>
IMPORT <Signature.shex>
IMPORT <Organization.shex>
IMPORT <Practitioner.shex>
IMPORT <DomainResource.shex>
IMPORT <CodeableConcept.shex>
IMPORT <BackboneElement.shex>
IMPORT <PractitionerRole.shex>


start=@<VerificationResult> AND {fhir:nodeRole [fhir:treeRoot]}

# Describes validation requirements, source(s), status and dates for one or more elements
<VerificationResult> EXTENDS @<DomainResource> CLOSED {   

    a [fhir:VerificationResult]?;
    fhir:nodeRole [fhir:treeRoot]?;

    fhir:target @<OneOrMore_Reference_Resource>?;  # A resource that was validated
    fhir:targetLocation @<OneOrMore_string>?;  # The fhirpath location(s) within 
                                            # the resource that was validated 
    fhir:need @<CodeableConcept>?;          # none | initial | periodic
    fhir:status @<code> AND
    	{fhir:v @fhirvs:verificationresult-status};  # attested | validated | in-process 
                                            # | req-revalid | val-fail | 
                                            # reval-fail | entered-in-error 
    fhir:statusDate @<dateTime>?;           # When the validation status was 
                                            # updated 
    fhir:validationType @<CodeableConcept>?;  # nothing | primary | multiple
    fhir:validationProcess @<OneOrMore_CodeableConcept>?;  # The primary process by which the 
                                            # target is validated (edit check; 
                                            # value set; primary source; 
                                            # multiple sources; standalone; in 
                                            # context) 
    fhir:frequency @<Timing>?;              # Frequency of revalidation
    fhir:lastPerformed @<dateTime>?;        # The date/time validation was last 
                                            # completed (including failed 
                                            # validations) 
    fhir:nextScheduled @<date>?;            # The date when target is next 
                                            # validated, if appropriate 
    fhir:failureAction @<CodeableConcept>?;  # fatal | warn | rec-only | none
    fhir:primarySource @<OneOrMore_VerificationResult.primarySource>?;  # Information about the primary 
                                            # source(s) involved in validation 
    fhir:attestation @<VerificationResult.attestation>?;  # Information about the entity 
                                            # attesting to information 
    fhir:validator @<OneOrMore_VerificationResult.validator>?;  # Information about the entity 
                                            # validating information 
}  

# Information about the entity attesting to information
<VerificationResult.attestation> EXTENDS @<BackboneElement> CLOSED {   
    fhir:who @<Reference> AND {fhir:link 
    			@<Organization> OR 
    			@<Practitioner> OR 
    			@<PractitionerRole> ? }?;  # The individual or organization 
                                            # attesting to information 
    fhir:onBehalfOf @<Reference> AND {fhir:link 
    			@<Organization> OR 
    			@<Practitioner> OR 
    			@<PractitionerRole> ? }?;  # When the who is asserting on 
                                            # behalf of another (organization or 
                                            # individual) 
    fhir:communicationMethod @<CodeableConcept>?;  # The method by which attested 
                                            # information was 
                                            # submitted/retrieved 
    fhir:date @<date>?;                     # The date the information was 
                                            # attested to 
    fhir:sourceIdentityCertificate @<string>?;  # A digital identity certificate 
                                            # associated with the attestation 
                                            # source 
    fhir:proxyIdentityCertificate @<string>?;  # A digital identity certificate 
                                            # associated with the proxy entity 
                                            # submitting attested information on 
                                            # behalf of the attestation source 
    fhir:proxySignature @<Signature>?;      # Proxy signature (digital or image)
    fhir:sourceSignature @<Signature>?;     # Attester signature (digital or 
                                            # image) 
}  

# Information about the entity validating information
<VerificationResult.validator> EXTENDS @<BackboneElement> CLOSED {   
    fhir:organization @<Reference> AND {fhir:link 
    			@<Organization> ? };  # Reference to the organization 
                                            # validating information 
    fhir:identityCertificate @<string>?;    # A digital identity certificate 
                                            # associated with the validator 
    fhir:attestationSignature @<Signature>?;  # Validator signature (digital or 
                                            # image) 
}  

# Information about the primary source(s) involved in validation
<VerificationResult.primarySource> EXTENDS @<BackboneElement> CLOSED {   
    fhir:who @<Reference> AND {fhir:link 
    			@<Organization> OR 
    			@<Practitioner> OR 
    			@<PractitionerRole> ? }?;  # Reference to the primary source
    fhir:type @<OneOrMore_CodeableConcept>?;  # Type of primary source (License 
                                            # Board; Primary Education; 
                                            # Continuing Education; Postal 
                                            # Service; Relationship owner; 
                                            # Registration Authority; legal 
                                            # source; issuing source; 
                                            # authoritative source) 
    fhir:communicationMethod @<OneOrMore_CodeableConcept>?;  # Method for exchanging information 
                                            # with the primary source 
    fhir:validationStatus @<CodeableConcept>?;  # successful | failed | unknown
    fhir:validationDate @<dateTime>?;       # When the target was validated 
                                            # against the primary source 
    fhir:canPushUpdates @<CodeableConcept>?;  # yes | no | undetermined
    fhir:pushTypeAvailable @<OneOrMore_CodeableConcept>?;  # specific | any | source
}  

#---------------------- Cardinality Types (OneOrMore) -------------------

<OneOrMore_Reference_Resource> CLOSED {
    rdf:first @<Reference> AND {fhir:link 
			@<Resource> } ;
    rdf:rest [rdf:nil] OR @<OneOrMore_Reference_Resource> 
}

<OneOrMore_string> CLOSED {
    rdf:first @<string>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_string> 
}

<OneOrMore_CodeableConcept> CLOSED {
    rdf:first @<CodeableConcept>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_CodeableConcept> 
}

<OneOrMore_VerificationResult.primarySource> CLOSED {
    rdf:first @<VerificationResult.primarySource>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_VerificationResult.primarySource> 
}

<OneOrMore_VerificationResult.validator> CLOSED {
    rdf:first @<VerificationResult.validator>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_VerificationResult.validator> 
}

#---------------------- Value Sets ------------------------

# The validation status of the target
fhirvs:verificationresult-status ["attested" "validated" "in-process" "req-revalid" "val-fail" "reval-fail" "entered-in-error"]


Usage note: every effort has been made to ensure that the ShEx files are correct and useful, but they are not a normative part of the specification.