Release 5 FHIR CI-Build

This page is part of the Continuous Integration Build of FHIR Specification (v5.0.0: R5 - STU ). This is the current published version in it's permanent home (it will always (will be available incorrect/inconsistent at this URL). For a full list of available versions, see times).
See the Directory of published versions . Page versions: R5 R4B R4 R3

Claimresponse.shex

Maturity Level : N/A
Responsible Owner: Financial Management Work Group Standards Status : Informative Compartments : Group , Patient , Practitioner

Raw ShEx

ShEx statement for claimresponse

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>

# ShEx Version 2.2
IMPORT <Id.shex>
IMPORT <Oid.shex>
IMPORT <Uri.shex>
IMPORT <Url.shex>
IMPORT <Age.shex>
IMPORT <Code.shex>
IMPORT <Date.shex>
IMPORT <Time.shex>
IMPORT <Uuid.shex>
IMPORT <Meta.shex>
IMPORT <Group.shex>

IMPORT <Claim.shex>
IMPORT <Money.shex>
IMPORT <string.shex>

IMPORT <Count.shex>
IMPORT <Range.shex>
IMPORT <Ratio.shex>
IMPORT <String.shex>

IMPORT <Period.shex>
IMPORT <Timing.shex>
IMPORT <Coding.shex>
IMPORT <Dosage.shex>

IMPORT <Patient.shex>
IMPORT <decimal.shex>

IMPORT <Boolean.shex>
IMPORT <Decimal.shex>
IMPORT <Instant.shex>
IMPORT <Integer.shex>

IMPORT <Address.shex>
IMPORT <boolean.shex>
IMPORT <dateTime.shex>

IMPORT <DateTime.shex>

IMPORT <Quantity.shex>
IMPORT <Markdown.shex>
IMPORT <Distance.shex>
IMPORT <Duration.shex>

IMPORT <Location.shex>
IMPORT <Coverage.shex>
IMPORT <Reference.shex>
IMPORT <Canonical.shex>
IMPORT <Integer64.shex>
IMPORT <HumanName.shex>
IMPORT <Signature.shex>

IMPORT <Encounter.shex>
IMPORT <Identifier.shex>
IMPORT <Attachment.shex>
IMPORT <positiveInt.shex>

IMPORT <Annotation.shex>
IMPORT <RatioRange.shex>
IMPORT <Expression.shex>
IMPORT <PositiveInt.shex>
IMPORT <UnsignedInt.shex>
IMPORT <SampledData.shex>

IMPORT <Organization.shex>
IMPORT <Practitioner.shex>
IMPORT <Base64Binary.shex>
IMPORT <ContactPoint.shex>
IMPORT <UsageContext.shex>
IMPORT <Availability.shex>
IMPORT <ContactDetail.shex>

IMPORT <DeviceRequest.shex>
IMPORT <SupplyRequest.shex>

IMPORT <DomainResource.shex>
IMPORT <NutritionOrder.shex>
IMPORT <ServiceRequest.shex>
IMPORT <CodeableConcept.shex>
IMPORT <BackboneElement.shex>
IMPORT <DataRequirement.shex>
IMPORT <RelatedArtifact.shex>

IMPORT <PractitionerRole.shex>
IMPORT <CodeableReference.shex>
IMPORT <TriggerDefinition.shex>

IMPORT <MedicationRequest.shex>
IMPORT <VisionPrescription.shex>
IMPORT <ParameterDefinition.shex>
IMPORT <VirtualServiceDetail.shex>

IMPORT <CommunicationRequest.shex>
IMPORT <ExtendedContactDetail.shex>

start=@<ClaimResponse> AND {fhir:nodeRole [fhir:treeRoot]}
# Response to a claim predetermination or preauthorization
<ClaimResponse> EXTENDS @<DomainResource> CLOSED {   
    a [fhir:ClaimResponse]?;
    fhir:nodeRole [fhir:treeRoot]?;

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

    fhir:identifier @<OneOrMore_Identifier>?;  # Business Identifier for a claim 
                                            # response 
    fhir:traceNumber @<OneOrMore_Identifier>?;  # Number for tracking
    fhir:status @<code> AND

    fhir:status @<Code> AND

    	{fhir:v @fhirvs:fm-status};  # active | cancelled | draft | 
                                            # entered-in-error 
    fhir:statusReason @<String>?;           # Reason for status change

    fhir:type @<CodeableConcept>;           # More granular claim type
    fhir:subType @<CodeableConcept>?;       # More granular claim type
    fhir:use @<code> AND

    fhir:use @<Code> AND

    	{fhir:v @fhirvs:claim-use};  # claim | preauthorization | 
                                            # predetermination 
    fhir:patient @<Reference> AND {fhir:link 
    			@<Patient> ? };  # The recipient of the products and 
                                            # services 
    fhir:created @<dateTime>;               # Response creation date
    fhir:insurer @<Reference> AND {fhir:link 

    fhir:subject @<Reference> AND {fhir:l 
    			@<Group> OR 
    			@<Patient> ? };  # The recipient(s) of the products 
                                            # and services 
    fhir:created @<DateTime>;               # Response creation date
    fhir:insurer @<Reference> AND {fhir:l 

    			@<Organization> ? }?;  # Party responsible for reimbursement
    fhir:requestor @<Reference> AND {fhir:link 

    fhir:requestor @<Reference> AND {fhir:l 

    			@<Organization> OR 
    			@<Practitioner> OR 
    			@<PractitionerRole> ? }?;  # Party responsible for the claim
    fhir:request @<Reference> AND {fhir:link 

    fhir:request @<Reference> AND {fhir:l 

    			@<Claim> ? }?;  # Id of resource triggering 
                                            # adjudication 
    fhir:outcome @<code> AND

    fhir:outcome @<Code> AND

    	{fhir:v @fhirvs:claim-outcome};  # queued | complete | error | partial
    fhir:decision @<CodeableConcept>?;      # Result of the adjudication
    fhir:disposition @<string>?;            # Disposition Message
    fhir:preAuthRef @<string>?;             # Preauthorization reference

    fhir:disposition @<String>?;            # Disposition Message
    fhir:preAuthRef @<String>?;             # Preauthorization reference

    fhir:preAuthPeriod @<Period>?;          # Preauthorization reference 
                                            # effective period 
    fhir:event @<OneOrMore_ClaimResponse.event>?;  # Event information
    fhir:payeeType @<CodeableConcept>?;     # Party to be paid any benefits 
                                            # payable 
    fhir:encounter @<OneOrMore_Reference_Encounter>?;  # Encounters associated with the 
                                            # listed treatments 
    fhir:diagnosisRelatedGroup @<CodeableConcept>?;  # Package billing code
    fhir:supportingInfo @<OneOrMore_ClaimResponse.supportingInfo>?;  # Supporting information

    fhir:item @<OneOrMore_ClaimResponse.item>?;  # Adjudication for claim line items
    fhir:addItem @<OneOrMore_ClaimResponse.addItem>?;  # Insurer added line items
    fhir:adjudication @<OneOrMore_ClaimResponse.item.adjudication>?;  # Header-level adjudication
    fhir:total @<OneOrMore_ClaimResponse.total>?;  # Adjudication totals
    fhir:payment @<ClaimResponse.payment>?;  # Payment Details
    fhir:fundsReserve @<CodeableConcept>?;  # Funds reserved status
    fhir:formCode @<CodeableConcept>?;      # Printed form identifier
    fhir:form @<Attachment>?;               # Printed reference or actual form
    fhir:processNote @<OneOrMore_ClaimResponse.processNote>?;  # Note concerning adjudication
    fhir:communicationRequest @<OneOrMore_Reference_CommunicationRequest>?;  # Request for additional information
    fhir:insurance @<OneOrMore_ClaimResponse.insurance>?;  # Patient insurance information
    fhir:error @<OneOrMore_ClaimResponse.error>?;  # Processing errors
}  
# Insurer added line details
<ClaimResponse.addItem.detail> EXTENDS @<BackboneElement> CLOSED {   

# Adjudication for claim line items
<ClaimResponse.item> EXTENDS @<BackboneElement> CLOSED {   
    fhir:itemSequence @<PositiveInt>;       # Claim item instance identifier

    fhir:traceNumber @<OneOrMore_Identifier>?;  # Number for tracking
    fhir:revenue @<CodeableConcept>?;       # Revenue or cost center code
    fhir:productOrService @<CodeableConcept>?;  # Billing, service, product, or drug 
                                            # code 
    fhir:productOrServiceEnd @<CodeableConcept>?;  # End of a range of codes
    fhir:modifier @<OneOrMore_CodeableConcept>?;  # Service/Product billing modifiers
    fhir:quantity @<Quantity>?;             # Count of products or services
    fhir:unitPrice @<Money>?;               # Fee, charge or cost per item
    fhir:factor @<decimal>?;                # Price scaling factor
    fhir:tax @<Money>?;                     # Total tax
    fhir:net @<Money>?;                     # Total item cost
    fhir:noteNumber @<OneOrMore_positiveInt>?;  # Applicable note numbers
    fhir:reviewOutcome @<ClaimResponse.item.reviewOutcome>?;  # Added items detail level 
                                            # adjudication results 
    fhir:adjudication @<OneOrMore_ClaimResponse.item.adjudication>?;  # Added items detail adjudication
    fhir:subDetail @<OneOrMore_ClaimResponse.addItem.detail.subDetail>?;  # Insurer added line items
}  
# Anatomical location
<ClaimResponse.addItem.bodySite> EXTENDS @<BackboneElement> CLOSED {   
    fhir:site @<OneOrMore_CodeableReference>;  # Location
    fhir:subSite @<OneOrMore_CodeableConcept>?;  # Sub-location
}  
# Adjudication totals
<ClaimResponse.total> EXTENDS @<BackboneElement> CLOSED {   
    fhir:category @<CodeableConcept>;       # Type of adjudication information
    fhir:amount @<Money>;                   # Financial total for the category

    fhir:informationSequence @<OneOrMore_PositiveInt>?;  # Applicable exception and 
                                            # supporting information 
    fhir:noteNumber @<OneOrMore_PositiveInt>?;  # Applicable note numbers
    fhir:reviewOutcome @<ClaimResponse.item.reviewOutcome>?;  # Adjudication results
    fhir:adjudication @<OneOrMore_ClaimResponse.item.adjudication>?;  # Adjudication details
    fhir:detail @<OneOrMore_ClaimResponse.item.detail>?;  # Adjudication for claim details

}  
# Payment Details
<ClaimResponse.payment> EXTENDS @<BackboneElement> CLOSED {   
    fhir:type @<CodeableConcept>;           # Partial or complete payment
    fhir:adjustment @<Money>?;              # Payment adjustment for non-claim 
                                            # issues 
    fhir:adjustmentReason @<CodeableConcept>?;  # Explanation for the adjustment
    fhir:date @<date>?;                     # Expected date of payment

    fhir:date @<Date>?;                     # Expected date of payment

    fhir:amount @<Money>;                   # Payable amount after adjustment
    fhir:identifier @<Identifier>?;         # Business identifier for the payment
}  
# Anatomical location
<ClaimResponse.addItem.bodySite> EXTENDS @<BackboneElement> CLOSED {   
    fhir:site @<OneOrMore_CodeableReference>;  # Location
    fhir:subSite @<OneOrMore_CodeableConcept>?;  # Sub-location
}  

# Adjudication details
<ClaimResponse.item.adjudication> EXTENDS @<BackboneElement> CLOSED {   
    fhir:category @<CodeableConcept>;       # Type of adjudication information
    fhir:reason @<CodeableConcept>?;        # Explanation of adjudication outcome
    fhir:amount @<Money>?;                  # Monetary amount
    fhir:quantity @<Quantity>?;             # Non-monetary value
    fhir:decisionDate @<DateTime>?;         # When was adjudication performed

}  
# Adjudication for claim line items
<ClaimResponse.item> EXTENDS @<BackboneElement> CLOSED {   
    fhir:itemSequence @<positiveInt>;       # Claim item instance identifier

# Adjudication for claim details
<ClaimResponse.item.detail> EXTENDS @<BackboneElement> CLOSED {   
    fhir:detailSequence @<PositiveInt>;     # Claim detail instance identifier

    fhir:traceNumber @<OneOrMore_Identifier>?;  # Number for tracking
    fhir:noteNumber @<OneOrMore_positiveInt>?;  # Applicable note numbers
    fhir:reviewOutcome @<ClaimResponse.item.reviewOutcome>?;  # Adjudication results
    fhir:adjudication @<OneOrMore_ClaimResponse.item.adjudication>?;  # Adjudication details
    fhir:detail @<OneOrMore_ClaimResponse.item.detail>?;  # Adjudication for claim details

    fhir:noteNumber @<OneOrMore_PositiveInt>?;  # Applicable note numbers
    fhir:reviewOutcome @<ClaimResponse.item.reviewOutcome>?;  # Detail level adjudication results
    fhir:adjudication @<OneOrMore_ClaimResponse.item.adjudication>?;  # Detail level adjudication details
    fhir:subDetail @<OneOrMore_ClaimResponse.item.detail.subDetail>?;  # Adjudication for claim sub-details
}  
# Adjudication for claim sub-details
<ClaimResponse.item.detail.subDetail> EXTENDS @<BackboneElement> CLOSED {   
    fhir:subDetailSequence @<PositiveInt>;  # Claim sub-detail instance 
                                            # identifier 
    fhir:traceNumber @<OneOrMore_Identifier>?;  # Number for tracking
    fhir:noteNumber @<OneOrMore_PositiveInt>?;  # Applicable note numbers
    fhir:reviewOutcome @<ClaimResponse.item.reviewOutcome>?;  # Subdetail level adjudication 
                                            # results 
    fhir:adjudication @<OneOrMore_ClaimResponse.item.adjudication>?;  # Subdetail level adjudication 
                                            # details 
}  
# Supporting information
<ClaimResponse.supportingInfo> EXTENDS @<BackboneElement> CLOSED {   
    fhir:sequence @<PositiveInt>;           # Information instance identifier
    fhir:category @<CodeableConcept>;       # Classification of the supplied 
                                            # information 
    fhir:code @<CodeableConcept>?;          # Type of information
    fhir:timing @<DateTime>  OR 
    			@<Period>  OR 
    			@<Timing>  ?;  # When it occurred
    fhir:value @<Base64Binary>  OR 
    			@<Boolean>  OR 
    			@<Canonical>  OR 
    			@<Code>  OR 
    			@<Date>  OR 
    			@<DateTime>  OR 
    			@<Decimal>  OR 
    			@<Id>  OR 
    			@<Instant>  OR 
    			@<Integer>  OR 
    			@<Integer64>  OR 
    			@<Markdown>  OR 
    			@<Oid>  OR 
    			@<PositiveInt>  OR 
    			@<String>  OR 
    			@<Time>  OR 
    			@<UnsignedInt>  OR 
    			@<Uri>  OR 
    			@<Url>  OR 
    			@<Uuid>  OR 
    			@<Address>  OR 
    			@<Age>  OR 
    			@<Annotation>  OR 
    			@<Attachment>  OR 
    			@<CodeableConcept>  OR 
    			@<CodeableReference>  OR 
    			@<Coding>  OR 
    			@<ContactPoint>  OR 
    			@<Count>  OR 
    			@<Distance>  OR 
    			@<Duration>  OR 
    			@<HumanName>  OR 
    			@<Identifier>  OR 
    			@<Money>  OR 
    			@<Period>  OR 
    			@<Quantity>  OR 
    			@<Range>  OR 
    			@<Ratio>  OR 
    			@<RatioRange>  OR 
    			@<Reference>  OR 
    			@<SampledData>  OR 
    			@<Signature>  OR 
    			@<Timing>  OR 
    			@<ContactDetail>  OR 
    			@<DataRequirement>  OR 
    			@<Expression>  OR 
    			@<ParameterDefinition>  OR 
    			@<RelatedArtifact>  OR 
    			@<TriggerDefinition>  OR 
    			@<UsageContext>  OR 
    			@<Availability>  OR 
    			@<ExtendedContactDetail>  OR 
    			@<VirtualServiceDetail>  OR 
    			@<Dosage>  OR 
    			@<Meta>  ?;  # Data to be provided
    fhir:reason @<CodeableConcept>?;        # Explanation for the information

}  
# Note concerning adjudication
<ClaimResponse.processNote> EXTENDS @<BackboneElement> CLOSED {   
    fhir:number @<positiveInt>?;            # Note instance identifier

    fhir:class @<CodeableConcept>?;         # Business kind of note
    fhir:number @<PositiveInt>?;            # Note instance identifier

    fhir:type @<CodeableConcept>?;          # Note purpose
    fhir:text @<string>;                    # Note explanatory text

    fhir:text @<Markdown>;                  # Note explanatory text

    fhir:language @<CodeableConcept>?;      # Language of the text
}  
# Processing errors
<ClaimResponse.error> EXTENDS @<BackboneElement> CLOSED {   
    fhir:itemSequence @<PositiveInt>?;      # Item sequence number
    fhir:detailSequence @<PositiveInt>?;    # Detail sequence number
    fhir:subDetailSequence @<PositiveInt>?;  # Subdetail sequence number
    fhir:code @<CodeableConcept>;           # Error code detailing processing 
                                            # issues 
    fhir:expression @<OneOrMore_String>?;   # FHIRPath of element(s) related to 
                                            # issue 
}  

# Insurer added line items
<ClaimResponse.addItem.detail.subDetail> EXTENDS @<BackboneElement> CLOSED {   
    fhir:traceNumber @<OneOrMore_Identifier>?;  # Number for tracking
    fhir:revenue @<CodeableConcept>?;       # Revenue or cost center code
    fhir:productOrService @<CodeableConcept>?;  # Billing, service, product, or drug 
                                            # code 
    fhir:productOrServiceEnd @<CodeableConcept>?;  # End of a range of codes
    fhir:modifier @<OneOrMore_CodeableConcept>?;  # Service/Product billing modifiers
    fhir:quantity @<Quantity>?;             # Count of products or services
    fhir:unitPrice @<Money>?;               # Fee, charge or cost per item
    fhir:factor @<decimal>?;                # Price scaling factor

    fhir:factor @<Decimal>?;                # Price scaling factor

    fhir:tax @<Money>?;                     # Total tax
    fhir:net @<Money>?;                     # Total item cost
    fhir:noteNumber @<OneOrMore_positiveInt>?;  # Applicable note numbers

    fhir:noteNumber @<OneOrMore_PositiveInt>?;  # Applicable note numbers

    fhir:reviewOutcome @<ClaimResponse.item.reviewOutcome>?;  # Added items subdetail level 
                                            # adjudication results 
    fhir:adjudication @<OneOrMore_ClaimResponse.item.adjudication>?;  # Added items subdetail adjudication
}  
# Adjudication for claim sub-details
<ClaimResponse.item.detail.subDetail> EXTENDS @<BackboneElement> CLOSED {   
    fhir:subDetailSequence @<positiveInt>;  # Claim sub-detail instance 
                                            # identifier 
    fhir:traceNumber @<OneOrMore_Identifier>?;  # Number for tracking
    fhir:noteNumber @<OneOrMore_positiveInt>?;  # Applicable note numbers
    fhir:reviewOutcome @<ClaimResponse.item.reviewOutcome>?;  # Subdetail level adjudication 
                                            # results 
    fhir:adjudication @<OneOrMore_ClaimResponse.item.adjudication>?;  # Subdetail level adjudication 
                                            # details 
}  
# Adjudication for claim details
<ClaimResponse.item.detail> EXTENDS @<BackboneElement> CLOSED {   
    fhir:detailSequence @<positiveInt>;     # Claim detail instance identifier
    fhir:traceNumber @<OneOrMore_Identifier>?;  # Number for tracking
    fhir:noteNumber @<OneOrMore_positiveInt>?;  # Applicable note numbers
    fhir:reviewOutcome @<ClaimResponse.item.reviewOutcome>?;  # Detail level adjudication results
    fhir:adjudication @<OneOrMore_ClaimResponse.item.adjudication>?;  # Detail level adjudication details
    fhir:subDetail @<OneOrMore_ClaimResponse.item.detail.subDetail>?;  # Adjudication for claim sub-details
}  

# Insurer added line items
<ClaimResponse.addItem> EXTENDS @<BackboneElement> CLOSED {   
    fhir:itemSequence @<OneOrMore_positiveInt>?;  # Item sequence number
    fhir:detailSequence @<OneOrMore_positiveInt>?;  # Detail sequence number
    fhir:subdetailSequence @<OneOrMore_positiveInt>?;  # Subdetail sequence number

    fhir:itemSequence @<OneOrMore_PositiveInt>?;  # Item sequence number
    fhir:detailSequence @<OneOrMore_PositiveInt>?;  # Detail sequence number
    fhir:subdetailSequence @<OneOrMore_PositiveInt>?;  # Subdetail sequence number

    fhir:traceNumber @<OneOrMore_Identifier>?;  # Number for tracking
    fhir:subject @<Reference> AND {fhir:l 
    			@<Group> OR 
    			@<Patient> ? }?;  # The recipient of the products and 
                                            # services 
    fhir:informationSequence @<OneOrMore_PositiveInt>?;  # Applicable exception and 
                                            # supporting information 

    fhir:provider @<OneOrMore_Reference_Organization_OR_Practitioner_OR_PractitionerRole>?;  # Authorized providers
    fhir:revenue @<CodeableConcept>?;       # Revenue or cost center code
    fhir:category @<CodeableConcept>?;      # Benefit classification

    fhir:productOrService @<CodeableConcept>?;  # Billing, service, product, or drug 
                                            # code 
    fhir:productOrServiceEnd @<CodeableConcept>?;  # End of a range of codes
    fhir:request @<OneOrMore_Reference_DeviceRequest_OR_MedicationRequest_OR_NutritionOrder_OR_ServiceRequest_OR_SupplyRequest_OR_VisionPrescription>?;  # Request or Referral for Service

    fhir:request @<OneOrMore_Reference_DeviceRequest_OR_MedicationRequest_OR_NutritionOrder_OR_ServiceRequest_OR_VisionPrescription>?;  # Request or Referral for Service

    fhir:modifier @<OneOrMore_CodeableConcept>?;  # Service/Product billing modifiers
    fhir:programCode @<OneOrMore_CodeableConcept>?;  # Program the product or service is 
                                            # provided under 
    fhir:serviced @<date>  OR 

    fhir:serviced @<Date>  OR 

    			@<Period>  ?;  # Date or dates of service or 
                                            # product delivery 
    fhir:location @<CodeableConcept>  OR 
    			@<Address>  OR 
    			(@<Reference>  AND {fhir:link @<Location> })  ?;  # Place of service or where product 

    			(@<Reference>  AND {fhir:l @<Location> })  ?;  # Place of service or where product 

                                            # was supplied 
    fhir:quantity @<Quantity>?;             # Count of products or services
    fhir:unitPrice @<Money>?;               # Fee, charge or cost per item
    fhir:factor @<decimal>?;                # Price scaling factor

    fhir:factor @<Decimal>?;                # Price scaling factor

    fhir:tax @<Money>?;                     # Total tax
    fhir:net @<Money>?;                     # Total item cost
    fhir:bodySite @<OneOrMore_ClaimResponse.addItem.bodySite>?;  # Anatomical location
    fhir:noteNumber @<OneOrMore_positiveInt>?;  # Applicable note numbers

    fhir:noteNumber @<OneOrMore_PositiveInt>?;  # Applicable note numbers

    fhir:reviewOutcome @<ClaimResponse.item.reviewOutcome>?;  # Added items adjudication results
    fhir:adjudication @<OneOrMore_ClaimResponse.item.adjudication>?;  # Added items adjudication
    fhir:detail @<OneOrMore_ClaimResponse.addItem.detail>?;  # Insurer added line details
}  
# Processing errors
<ClaimResponse.error> EXTENDS @<BackboneElement> CLOSED {   
    fhir:itemSequence @<positiveInt>?;      # Item sequence number
    fhir:detailSequence @<positiveInt>?;    # Detail sequence number
    fhir:subDetailSequence @<positiveInt>?;  # Subdetail sequence number
    fhir:code @<CodeableConcept>;           # Error code detailing processing 
                                            # issues 
    fhir:expression @<OneOrMore_string>?;   # FHIRPath of element(s) related to 
                                            # issue 

# Insurer added line details
<ClaimResponse.addItem.detail> EXTENDS @<BackboneElement> CLOSED {   
    fhir:traceNumber @<OneOrMore_Identifier>?;  # Number for tracking
    fhir:revenue @<CodeableConcept>?;       # Revenue or cost center code
    fhir:productOrService @<CodeableConcept>?;  # Billing, service, product, or drug 
                                            # code 
    fhir:productOrServiceEnd @<CodeableConcept>?;  # End of a range of codes
    fhir:modifier @<OneOrMore_CodeableConcept>?;  # Service/Product billing modifiers
    fhir:quantity @<Quantity>?;             # Count of products or services
    fhir:unitPrice @<Money>?;               # Fee, charge or cost per item
    fhir:factor @<Decimal>?;                # Price scaling factor
    fhir:tax @<Money>?;                     # Total tax
    fhir:net @<Money>?;                     # Total item cost
    fhir:noteNumber @<OneOrMore_PositiveInt>?;  # Applicable note numbers
    fhir:reviewOutcome @<ClaimResponse.item.reviewOutcome>?;  # Added items detail level 
                                            # adjudication results 
    fhir:adjudication @<OneOrMore_ClaimResponse.item.adjudication>?;  # Added items detail adjudication
    fhir:subDetail @<OneOrMore_ClaimResponse.addItem.detail.subDetail>?;  # Insurer added line items

}  
# Adjudication results
<ClaimResponse.item.reviewOutcome> EXTENDS @<BackboneElement> CLOSED {   
    fhir:decision @<CodeableConcept>?;      # Result of the adjudication
    fhir:reason @<OneOrMore_CodeableConcept>?;  # Reason for result of the 
                                            # adjudication 
    fhir:preAuthRef @<string>?;             # Preauthorization reference
    fhir:preAuthPeriod @<Period>?;          # Preauthorization reference 
                                            # effective period 

# Adjudication totals
<ClaimResponse.total> EXTENDS @<BackboneElement> CLOSED {   
    fhir:category @<CodeableConcept>;       # Type of adjudication information
    fhir:amount @<Money>;                   # Financial total for the category

}  
# Patient insurance information
<ClaimResponse.insurance> EXTENDS @<BackboneElement> CLOSED {   
    fhir:sequence @<positiveInt>;           # Insurance instance identifier
    fhir:focal @<boolean>;                  # Coverage to be used for 

    fhir:sequence @<PositiveInt>;           # Insurance instance identifier
    fhir:focal @<Boolean>;                  # Coverage to be used for 

                                            # adjudication 
    fhir:coverage @<Reference> AND {fhir:link 

    fhir:coverage @<Reference> AND {fhir:l 

    			@<Coverage> ? };  # Insurance information
    fhir:businessArrangement @<string>?;    # Additional provider contract number
    fhir:claimResponse @<Reference> AND {fhir:link 

    fhir:businessArrangement @<String>?;    # Additional provider contract number
    fhir:claimResponse @<Reference> AND {fhir:l 

    			@<ClaimResponse> ? }?;  # Adjudication results
}  
# Event information
<ClaimResponse.event> EXTENDS @<BackboneElement> CLOSED {   
    fhir:type @<CodeableConcept>;           # Specific event
    fhir:when @<dateTime>  OR 

    fhir:when @<DateTime>  OR 

    			@<Period>  ;  # Occurance date or period
}  
#---------------------- Cardinality Types (OneOrMore) -------------------

# Adjudication results
<ClaimResponse.item.reviewOutcome> EXTENDS @<BackboneElement> CLOSED {   
    fhir:decision @<CodeableConcept>?;      # Result of the adjudication
    fhir:reason @<OneOrMore_CodeableConcept>?;  # Reason for result of the 
                                            # adjudication 
    fhir:preAuthRef @<String>?;             # Preauthorization reference
    fhir:preAuthPeriod @<Period>?;          # Preauthorization reference 
                                            # effective period 
}  

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

<OneOrMore_Identifier> CLOSED {
    rdf:first @<Identifier>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_Identifier> 
}
<OneOrMore_ClaimResponse.event> CLOSED {
    rdf:first @<ClaimResponse.event>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_ClaimResponse.event> 
}
<OneOrMore_Reference_Encounter> CLOSED {
    rdf:first @<Reference> AND {fhir:link 

    rdf:first @<Reference> AND {fhir:l 

			@<Encounter> } ;
    rdf:rest [rdf:nil] OR @<OneOrMore_Reference_Encounter> 
}
<OneOrMore_ClaimResponse.supportingInfo> CLOSED {
    rdf:first @<ClaimResponse.supportingInfo>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_ClaimResponse.supportingInfo> 
}

<OneOrMore_ClaimResponse.item> CLOSED {
    rdf:first @<ClaimResponse.item>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_ClaimResponse.item> 
}
<OneOrMore_ClaimResponse.addItem> CLOSED {
    rdf:first @<ClaimResponse.addItem>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_ClaimResponse.addItem> 
}
<OneOrMore_ClaimResponse.item.adjudication> CLOSED {
    rdf:first @<ClaimResponse.item.adjudication>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_ClaimResponse.item.adjudication> 
}
<OneOrMore_ClaimResponse.total> CLOSED {
    rdf:first @<ClaimResponse.total>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_ClaimResponse.total> 
}
<OneOrMore_ClaimResponse.processNote> CLOSED {
    rdf:first @<ClaimResponse.processNote>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_ClaimResponse.processNote> 
}
<OneOrMore_Reference_CommunicationRequest> CLOSED {
    rdf:first @<Reference> AND {fhir:link 

    rdf:first @<Reference> AND {fhir:l 

			@<CommunicationRequest> } ;
    rdf:rest [rdf:nil] OR @<OneOrMore_Reference_CommunicationRequest> 
}
<OneOrMore_ClaimResponse.insurance> CLOSED {
    rdf:first @<ClaimResponse.insurance>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_ClaimResponse.insurance> 
}
<OneOrMore_ClaimResponse.error> CLOSED {
    rdf:first @<ClaimResponse.error>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_ClaimResponse.error> 
}
<OneOrMore_CodeableConcept> CLOSED {
    rdf:first @<CodeableConcept>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_CodeableConcept> 
}
<OneOrMore_positiveInt> CLOSED {
    rdf:first @<positiveInt>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_positiveInt> 

<OneOrMore_PositiveInt> CLOSED {
    rdf:first @<PositiveInt>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_PositiveInt> 

}
<OneOrMore_ClaimResponse.addItem.detail.subDetail> CLOSED {
    rdf:first @<ClaimResponse.addItem.detail.subDetail>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_ClaimResponse.addItem.detail.subDetail> 

<OneOrMore_ClaimResponse.item.detail> CLOSED {
    rdf:first @<ClaimResponse.item.detail>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_ClaimResponse.item.detail> 

}
<OneOrMore_CodeableReference> CLOSED {
    rdf:first @<CodeableReference>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_CodeableReference> 
}
<OneOrMore_ClaimResponse.item.detail> CLOSED {
    rdf:first @<ClaimResponse.item.detail>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_ClaimResponse.item.detail> 

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

}
<OneOrMore_ClaimResponse.item.detail.subDetail> CLOSED {
    rdf:first @<ClaimResponse.item.detail.subDetail>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_ClaimResponse.item.detail.subDetail> 
}
<OneOrMore_String> CLOSED {
    rdf:first @<String>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_String> 
}

<OneOrMore_Reference_Organization_OR_Practitioner_OR_PractitionerRole> CLOSED {
    rdf:first @<Reference> AND {fhir:link 

    rdf:first @<Reference> AND {fhir:l 

			@<Organization> OR 
			@<Practitioner> OR 
			@<PractitionerRole> } ;
    rdf:rest [rdf:nil] OR @<OneOrMore_Reference_Organization_OR_Practitioner_OR_PractitionerRole> 
}
<OneOrMore_Reference_DeviceRequest_OR_MedicationRequest_OR_NutritionOrder_OR_ServiceRequest_OR_SupplyRequest_OR_VisionPrescription> CLOSED {
    rdf:first @<Reference> AND {fhir:link 

<OneOrMore_Reference_DeviceRequest_OR_MedicationRequest_OR_NutritionOrder_OR_ServiceRequest_OR_VisionPrescription> CLOSED {
    rdf:first @<Reference> AND {fhir:l 

			@<DeviceRequest> OR 
			@<MedicationRequest> OR 
			@<NutritionOrder> OR 
			@<ServiceRequest> OR 
			@<SupplyRequest> OR 

			@<VisionPrescription> } ;
    rdf:rest [rdf:nil] OR @<OneOrMore_Reference_DeviceRequest_OR_MedicationRequest_OR_NutritionOrder_OR_ServiceRequest_OR_SupplyRequest_OR_VisionPrescription> 

    rdf:rest [rdf:nil] OR @<OneOrMore_Reference_DeviceRequest_OR_MedicationRequest_OR_NutritionOrder_OR_ServiceRequest_OR_VisionPrescription> 

}
<OneOrMore_ClaimResponse.addItem.bodySite> CLOSED {
    rdf:first @<ClaimResponse.addItem.bodySite>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_ClaimResponse.addItem.bodySite> 
}
<OneOrMore_ClaimResponse.addItem.detail> CLOSED {
    rdf:first @<ClaimResponse.addItem.detail>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_ClaimResponse.addItem.detail> 
}
<OneOrMore_string> CLOSED {
    rdf:first @<string>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_string> 

<OneOrMore_ClaimResponse.addItem.detail.subDetail> CLOSED {
    rdf:first @<ClaimResponse.addItem.detail.subDetail>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_ClaimResponse.addItem.detail.subDetail> 

}
#---------------------- Value Sets ------------------------
# This value set includes Claim Processing Outcome codes.
fhirvs:claim-outcome ["queued" "complete" "error" "partial"]
# The purpose of the Claim: predetermination, preauthorization, claim.
fhirvs:claim-use ["claim" "preauthorization" "predetermination"]
# This value set includes Status codes.
fhirvs:fm-status ["active" "cancelled" "draft" "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.