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

Insuranceplan.shex

Maturity Level : N/A
Responsible Owner: Patient Administration Work Group Standards Status : Informative Compartments : No defined compartments

Raw ShEx

ShEx statement for insuranceplan

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>

# ShEx Version 2.2

IMPORT <Money.shex>
IMPORT <string.shex>
IMPORT <Period.shex>

IMPORT <String.shex>

IMPORT <Quantity.shex>
IMPORT <Location.shex>
IMPORT <Endpoint.shex>

IMPORT <Reference.shex>
IMPORT <Identifier.shex>
IMPORT <positiveInt.shex>

IMPORT <PositiveInt.shex>

IMPORT <Organization.shex>
IMPORT <DomainResource.shex>
IMPORT <CodeableConcept.shex>
IMPORT <BackboneElement.shex>
IMPORT <ExtendedContactDetail.shex>

IMPORT <InsuranceProduct.shex>

start=@<InsurancePlan> AND {fhir:nodeRole [fhir:treeRoot]}
# Details of a Health Insurance product/plan provided by an organization

# Plan details

<InsurancePlan> EXTENDS @<DomainResource> CLOSED {   
    a [fhir:InsurancePlan]?;fhir:nodeRole [fhir:treeRoot]?;

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

    fhir:identifier @<OneOrMore_Identifier>?;  # Business Identifier for Plan
    fhir:type @<CodeableConcept>?;          # Classification of Plan
    fhir:product @<Reference> AND {fhir:l 
    			@<InsuranceProduct> ? }?;  # The product that this plan is 
                                            # available under 
    fhir:coverageArea @<OneOrMore_Reference_Location>?;  # Where product-plan applies
    fhir:network @<OneOrMore_Reference_Organization>?;  # What networks provide coverage
    fhir:generalCost @<OneOrMore_InsurancePlan.generalCost>?;  # Overall costs
    fhir:specificCost @<OneOrMore_InsurancePlan.specificCost>?;  # Individual cost elements
}  

    fhir:identifier @<OneOrMore_Identifier>?;  # Business Identifier for Product
    fhir:status @<code> AND
    	{fhir:v @fhirvs:publication-status}?;  # draft | active | retired | unknown
    fhir:type @<OneOrMore_CodeableConcept>?;  # Kind of product
    fhir:name @<string>?;                   # Official name
    fhir:alias @<OneOrMore_string>?;        # Alternate names
    fhir:period @<Period>?;                 # When the product is available
    fhir:ownedBy @<Reference> AND {fhir:link 
    			@<Organization> ? }?;  # Product issuer
    fhir:administeredBy @<Reference> AND {fhir:link 
    			@<Organization> ? }?;  # Product administrator
    fhir:coverageArea @<OneOrMore_Reference_Location>?;  # Where product applies
    fhir:contact @<OneOrMore_ExtendedContactDetail>?;  # Official contact details relevant 
                                            # to the health insurance 
                                            # plan/product 
    fhir:endpoint @<OneOrMore_Reference_Endpoint>?;  # Technical endpoint
    fhir:network @<OneOrMore_Reference_Organization>?;  # What networks are Included
    fhir:coverage @<OneOrMore_InsurancePlan.coverage>?;  # Coverage details
    fhir:plan @<OneOrMore_InsurancePlan.plan>?;  # Plan details

# Individual cost elements
<InsurancePlan.specificCost> EXTENDS @<BackboneElement> CLOSED {   
    fhir:category @<CodeableConcept>;       # General category of benefit
    fhir:benefit @<OneOrMore_InsurancePlan.specificCost.benefit>?;  # Benefits list

}  
# List of the costs
<InsurancePlan.plan.specificCost.benefit.cost> EXTENDS @<BackboneElement> CLOSED {   
    fhir:type @<CodeableConcept>;           # Type of cost

<InsurancePlan.specificCost.benefit.cost> EXTENDS @<BackboneElement> CLOSED {   
    fhir:type @<CodeableConcept>;           # Classification of specific cost

    fhir:applicability @<CodeableConcept>?;  # in-network | out-of-network | other
    fhir:qualifiers @<OneOrMore_CodeableConcept>?;  # Additional information about the 

    fhir:qualifier @<OneOrMore_CodeableConcept>?;  # Additional information about the 

                                            # cost 
    fhir:value @<Quantity>?;                # The actual cost value
}  
# Specific costs
<InsurancePlan.plan.specificCost> EXTENDS @<BackboneElement> CLOSED {   
    fhir:category @<CodeableConcept>;       # General category of benefit
    fhir:benefit @<OneOrMore_InsurancePlan.plan.specificCost.benefit>?;  # Benefits list
}  
# Plan details
<InsurancePlan.plan> EXTENDS @<BackboneElement> CLOSED {   
    fhir:identifier @<OneOrMore_Identifier>?;  # Business Identifier for Product
    fhir:type @<CodeableConcept>?;          # Type of plan
    fhir:coverageArea @<OneOrMore_Reference_Location>?;  # Where product applies
    fhir:network @<OneOrMore_Reference_Organization>?;  # What networks provide coverage
    fhir:generalCost @<OneOrMore_InsurancePlan.plan.generalCost>?;  # Overall costs
    fhir:specificCost @<OneOrMore_InsurancePlan.plan.specificCost>?;  # Specific costs
}  
# Benefit limits
<InsurancePlan.coverage.benefit.limit> EXTENDS @<BackboneElement> CLOSED {   
    fhir:value @<Quantity>?;                # Maximum value allowed
    fhir:code @<CodeableConcept>?;          # Benefit limit details
}  
# Coverage details
<InsurancePlan.coverage> EXTENDS @<BackboneElement> CLOSED {   
    fhir:type @<CodeableConcept>;           # Type of coverage
    fhir:network @<OneOrMore_Reference_Organization>?;  # What networks provide coverage
    fhir:benefit @<OneOrMore_InsurancePlan.coverage.benefit>;  # List of benefits
}  
# List of benefits
<InsurancePlan.coverage.benefit> EXTENDS @<BackboneElement> CLOSED {   
    fhir:type @<CodeableConcept>;           # Type of benefit
    fhir:requirement @<string>?;            # Referral requirements
    fhir:limit @<OneOrMore_InsurancePlan.coverage.benefit.limit>?;  # Benefit limits

# Benefits list
<InsurancePlan.specificCost.benefit> EXTENDS @<BackboneElement> CLOSED {   
    fhir:type @<CodeableConcept>;           # Classification of benefit provided
    fhir:cost @<OneOrMore_InsurancePlan.specificCost.benefit.cost>?;  # List of the costs

}  
# Overall costs
<InsurancePlan.plan.generalCost> EXTENDS @<BackboneElement> CLOSED {   
    fhir:type @<CodeableConcept>?;          # Type of cost
    fhir:groupSize @<positiveInt>?;         # Number of enrollees

<InsurancePlan.generalCost> EXTENDS @<BackboneElement> CLOSED {   
    fhir:type @<CodeableConcept>?;          # Classification of specific cost
    fhir:groupSize @<PositiveInt>?;         # Number of enrollees

    fhir:cost @<Money>?;                    # Cost value
    fhir:comment @<string>?;                # Additional cost information
}  
# Benefits list
<InsurancePlan.plan.specificCost.benefit> EXTENDS @<BackboneElement> CLOSED {   
    fhir:type @<CodeableConcept>;           # Type of specific benefit
    fhir:cost @<OneOrMore_InsurancePlan.plan.specificCost.benefit.cost>?;  # List of the costs

    fhir:comment @<String>?;                # Additional cost information

}  
#---------------------- Cardinality Types (OneOrMore) -------------------
<OneOrMore_Identifier> CLOSED {
    rdf:first @<Identifier>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_Identifier> 
}
<OneOrMore_CodeableConcept> CLOSED {
    rdf:first @<CodeableConcept>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_CodeableConcept> 
}
<OneOrMore_string> CLOSED {
    rdf:first @<string>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_string> 
}

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

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

			@<Location> } ;
    rdf:rest [rdf:nil] OR @<OneOrMore_Reference_Location> 
}
<OneOrMore_ExtendedContactDetail> CLOSED {
    rdf:first @<ExtendedContactDetail>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_ExtendedContactDetail> 
}
<OneOrMore_Reference_Endpoint> CLOSED {
    rdf:first @<Reference> AND {fhir:link 
			@<Endpoint> } ;
    rdf:rest [rdf:nil] OR @<OneOrMore_Reference_Endpoint> 
}

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

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

			@<Organization> } ;
    rdf:rest [rdf:nil] OR @<OneOrMore_Reference_Organization> 
}
<OneOrMore_InsurancePlan.coverage> CLOSED {
    rdf:first @<InsurancePlan.coverage>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_InsurancePlan.coverage> 
}
<OneOrMore_InsurancePlan.plan> CLOSED {
    rdf:first @<InsurancePlan.plan>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_InsurancePlan.plan> 
}
<OneOrMore_InsurancePlan.plan.specificCost.benefit> CLOSED {
    rdf:first @<InsurancePlan.plan.specificCost.benefit>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_InsurancePlan.plan.specificCost.benefit> 
}
<OneOrMore_InsurancePlan.plan.generalCost> CLOSED {
    rdf:first @<InsurancePlan.plan.generalCost>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_InsurancePlan.plan.generalCost> 

<OneOrMore_InsurancePlan.generalCost> CLOSED {
    rdf:first @<InsurancePlan.generalCost>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_InsurancePlan.generalCost> 

}
<OneOrMore_InsurancePlan.plan.specificCost> CLOSED {
    rdf:first @<InsurancePlan.plan.specificCost>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_InsurancePlan.plan.specificCost> 

<OneOrMore_InsurancePlan.specificCost> CLOSED {
    rdf:first @<InsurancePlan.specificCost>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_InsurancePlan.specificCost> 

}
<OneOrMore_InsurancePlan.coverage.benefit> CLOSED {
    rdf:first @<InsurancePlan.coverage.benefit>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_InsurancePlan.coverage.benefit> 

<OneOrMore_InsurancePlan.specificCost.benefit> CLOSED {
    rdf:first @<InsurancePlan.specificCost.benefit>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_InsurancePlan.specificCost.benefit> 

}
<OneOrMore_InsurancePlan.coverage.benefit.limit> CLOSED {
    rdf:first @<InsurancePlan.coverage.benefit.limit>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_InsurancePlan.coverage.benefit.limit> 

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

}
<OneOrMore_InsurancePlan.plan.specificCost.benefit.cost> CLOSED {
    rdf:first @<InsurancePlan.plan.specificCost.benefit.cost>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_InsurancePlan.plan.specificCost.benefit.cost> 

<OneOrMore_InsurancePlan.specificCost.benefit.cost> CLOSED {
    rdf:first @<InsurancePlan.specificCost.benefit.cost>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_InsurancePlan.specificCost.benefit.cost> 

}
#---------------------- Value Sets ------------------------
# The lifecycle status of an artifact.
fhirvs:publication-status ["draft" "active" "retired" "unknown"]


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.