This page is part of the FHIR Specification (v1.6.0: STU 3 Ballot 4). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions
. Page versions: R5 R4B R4 R3
ShEx statement for claim
PREFIX fhir: <http://hl7.org/fhir/>
PREFIX fhirvs: <http://hl7.org/fhir/ValueSet/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
BASE <http://hl7.org/fhir/shape/>
start=<Claim> AND {fhir:nodeRole [fhir:treeRoot]}
# Claim, Pre-determination or Pre-authorization
<Claim> CLOSED {
a [fhir:Claim];
fhir:nodeRole [fhir:treeRoot]?;
fhir:Resource.id @<id>?; # Logical id of this artifact
fhir:Resource.meta @<Meta>?; # Metadata about the resource
fhir:Resource.implicitRules @<uri>?; # A set of rules under which this
# content was created
fhir:Resource.language @<code>?; # Language of the resource content
fhir:DomainResource.text @<Narrative>?; # Text summary of the resource, for
# human interpretation
fhir:DomainResource.contained @<Resource>*; # Contained, inline Resources
fhir:extension @<Extension>*; # Additional Content defined by
# implementations
fhir:modifierExtension @<Extension>*; # Extensions that cannot be ignored
fhir:Claim.identifier @<Identifier>*; # Claim number
fhir:Claim.status @<code> AND
{fhir:value @fhirvs:claim-status}; # active | cancelled | draft |
# entered-in-error
fhir:Claim.type @<Coding> AND
{fhir:value @fhirvs:claim-type}; # Type or discipline
fhir:Claim.subType @<Coding>*; # Finer grained claim type
# information
fhir:Claim.ruleset @<Coding>?; # Current specification followed
fhir:Claim.originalRuleset @<Coding>?; # Original specification followed
fhir:Claim.created @<dateTime>?; # Creation date
fhir:Claim.billablePeriod @<Period>?; # Period for charge submission
( # Target
fhir:Claim.insurerIdentifier @<Identifier> |
fhir:Claim.insurerReference @<OrganizationReference>
)?;
( # Responsible provider
fhir:Claim.providerIdentifier @<Identifier> |
fhir:Claim.providerReference @<PractitionerReference>
)?;
( # Responsible organization
fhir:Claim.organizationIdentifier @<Identifier> |
fhir:Claim.organizationReference @<OrganizationReference>
)?;
fhir:Claim.use @<code> AND
{fhir:value @fhirvs:claim-use}?; # complete | proposed | exploratory
# | other
fhir:Claim.priority @<Coding>?; # Desired processing priority
fhir:Claim.fundsReserve @<Coding>?; # Funds requested to be reserved
( # Author
fhir:Claim.entererIdentifier @<Identifier> |
fhir:Claim.entererReference @<PractitionerReference>
)?;
( # Servicing Facility
fhir:Claim.facilityIdentifier @<Identifier> |
fhir:Claim.facilityReference @<LocationReference>
)?;
fhir:Claim.related @<Claim.related>*; # Related Claims which may be
# revelant to processing this claimn
( # Prescription
fhir:Claim.prescriptionIdentifier @<Identifier> |
fhir:Claim.prescriptionReference @<MedicationOrderReference> |
fhir:Claim.prescriptionReference @<VisionPrescriptionReference>
)?;
( # Original Prescription
fhir:Claim.originalPrescriptionIdentifier @<Identifier> |
fhir:Claim.originalPrescriptionReference @<MedicationOrderReference>
)?;
fhir:Claim.payee @<Claim.payee>?; # Party to be paid any benefits
# payable
( # Treatment Referral
fhir:Claim.referralIdentifier @<Identifier> |
fhir:Claim.referralReference @<ReferralRequestReference>
)?;
fhir:Claim.information @<Claim.information>*;
fhir:Claim.diagnosis @<Claim.diagnosis>*; # Diagnosis
fhir:Claim.procedure @<Claim.procedure>*; # Procedures performed
( # The subject of the Products and
# Services
fhir:Claim.patientIdentifier @<Identifier> |
fhir:Claim.patientReference @<PatientReference>
);
fhir:Claim.coverage @<Claim.coverage>*; # Insurance or medical plan
fhir:Claim.accident @<Claim.accident>?;
fhir:Claim.employmentImpacted @<Period>?; # Period unable to work
fhir:Claim.hospitalization @<Period>?; # Period in hospital
fhir:Claim.item @<Claim.item>*; # Goods and Services
fhir:Claim.total @<Money>?; # Total claim cost
fhir:Claim.missingTeeth @<Claim.missingTeeth>*; # Only if type = oral
fhir:index xsd:integer? # Relative position in a list
}
# Party to be paid any benefits payable
<Claim.payee> CLOSED {
fhir:Element.id @<string>?; # xml:id (or equivalent in JSON)
fhir:extension @<Extension>*; # Additional Content defined by
# implementations
fhir:modifierExtension @<Extension>*; # Extensions that cannot be ignored
fhir:Claim.payee.type @<Coding>; # Type of party: Subscriber,
# Provider, other
fhir:Claim.payee.resourceType @<Coding>?; # organization | patient |
# practitioner | relatedperson
( # Party to receive the payable
fhir:Claim.payee.partyIdentifier @<Identifier> |
fhir:Claim.payee.partyReference @<PractitionerReference> |
fhir:Claim.payee.partyReference @<OrganizationReference> |
fhir:Claim.payee.partyReference @<PatientReference> |
fhir:Claim.payee.partyReference @<RelatedPersonReference>
)?;
fhir:index xsd:integer? # Relative position in a list
}
# Goods and Services
<Claim.item> CLOSED {
fhir:Element.id @<string>?; # xml:id (or equivalent in JSON)
fhir:extension @<Extension>*; # Additional Content defined by
# implementations
fhir:modifierExtension @<Extension>*; # Extensions that cannot be ignored
fhir:Claim.item.sequence @<positiveInt>; # Service instance
fhir:Claim.item.careTeam @<Claim.item.careTeam>*;
fhir:Claim.item.diagnosisLinkId @<positiveInt>*; # Applicable diagnoses
fhir:Claim.item.revenue @<Coding>?; # Revenue or cost center code
fhir:Claim.item.category @<Coding>?; # Type of service or product
fhir:Claim.item.service @<Coding>?; # Billing Code
fhir:Claim.item.modifier @<Coding>*; # Service/Product billing modifiers
fhir:Claim.item.programCode @<Coding>*; # Program specific reason for item
# inclusion
( # Date or dates of Service
fhir:Claim.item.servicedDate @<date> |
fhir:Claim.item.servicedPeriod @<Period>
)?;
( # Place of service
fhir:Claim.item.locationCoding @<Coding> |
fhir:Claim.item.locationAddress @<Address> |
fhir:Claim.item.locationReference @<LocationReference>
)?;
fhir:Claim.item.quantity @<SimpleQuantity>?; # Count of Products or Services
fhir:Claim.item.unitPrice @<Money>?; # Fee, charge or cost per point
fhir:Claim.item.factor @<decimal>?; # Price scaling factor
fhir:Claim.item.points @<decimal>?; # Difficulty scaling factor
fhir:Claim.item.net @<Money>?; # Total item cost
fhir:Claim.item.udi @<DeviceReference>*; # Unique Device Identifier
fhir:Claim.item.bodySite @<Coding>?; # Service Location
fhir:Claim.item.subSite @<Coding>*; # Service Sub-location
fhir:Claim.item.detail @<Claim.item.detail>*; # Additional items
fhir:Claim.item.prosthesis @<Claim.item.prosthesis>?; # Prosthetic details
fhir:index xsd:integer? # Relative position in a list
}
# Only if type = oral
<Claim.missingTeeth> CLOSED {
fhir:Element.id @<string>?; # xml:id (or equivalent in JSON)
fhir:extension @<Extension>*; # Additional Content defined by
# implementations
fhir:modifierExtension @<Extension>*; # Extensions that cannot be ignored
fhir:Claim.missingTeeth.tooth @<Coding>; # Tooth Code
fhir:Claim.missingTeeth.reason @<Coding>?; # Indicates whether it was extracted
# or other reason
fhir:Claim.missingTeeth.extractionDate @<date>?; # Date tooth was extracted if known
fhir:index xsd:integer? # Relative position in a list
}
# Insurance or medical plan
<Claim.coverage> CLOSED {
fhir:Element.id @<string>?; # xml:id (or equivalent in JSON)
fhir:extension @<Extension>*; # Additional Content defined by
# implementations
fhir:modifierExtension @<Extension>*; # Extensions that cannot be ignored
fhir:Claim.coverage.sequence @<positiveInt>; # Service instance identifier
fhir:Claim.coverage.focal @<boolean>; # Is the focal Coverage
( # Insurance information
fhir:Claim.coverage.coverageIdentifier @<Identifier> |
fhir:Claim.coverage.coverageReference @<CoverageReference>
);
fhir:Claim.coverage.businessArrangement @<string>?; # Business agreement
fhir:Claim.coverage.preAuthRef @<string>*; # Pre-Authorization/Determination
# Reference
fhir:Claim.coverage.claimResponse @<ClaimResponseReference>?; # Adjudication results
fhir:Claim.coverage.originalRuleset @<Coding>?; # Original version
fhir:index xsd:integer? # Relative position in a list
}
<Claim.information> CLOSED {
fhir:Element.id @<string>?; # xml:id (or equivalent in JSON)
fhir:extension @<Extension>*; # Additional Content defined by
# implementations
fhir:modifierExtension @<Extension>*; # Extensions that cannot be ignored
fhir:Claim.information.category @<Coding>; # Category of information
fhir:Claim.information.code @<Coding>?; # Type of information
( # When it occurred
fhir:Claim.information.timingDate @<date> |
fhir:Claim.information.timingPeriod @<Period>
)?;
( # Additional Data
fhir:Claim.information.valueString @<string> |
fhir:Claim.information.valueQuantity @<Quantity>
)?;
fhir:index xsd:integer? # Relative position in a list
}
# Related Claims which may be revelant to processing this claimn
<Claim.related> CLOSED {
fhir:Element.id @<string>?; # xml:id (or equivalent in JSON)
fhir:extension @<Extension>*; # Additional Content defined by
# implementations
fhir:modifierExtension @<Extension>*; # Extensions that cannot be ignored
( # Reference to the related claim
fhir:Claim.related.claimIdentifier @<Identifier> |
fhir:Claim.related.claimReference @<ClaimReference>
)?;
fhir:Claim.related.relationship @<Coding>?; # How the reference claim is related
fhir:Claim.related.reference @<Identifier>?; # Related file or case reference
fhir:index xsd:integer? # Relative position in a list
}
# Procedures performed
<Claim.procedure> CLOSED {
fhir:Element.id @<string>?; # xml:id (or equivalent in JSON)
fhir:extension @<Extension>*; # Additional Content defined by
# implementations
fhir:modifierExtension @<Extension>*; # Extensions that cannot be ignored
fhir:Claim.procedure.sequence @<positiveInt>; # Procedure sequence for reference
fhir:Claim.procedure.date @<dateTime>?; # When the procedure was performed
( # Patient's list of procedures
# performed
fhir:Claim.procedure.procedureCoding @<Coding> |
fhir:Claim.procedure.procedureReference @<ProcedureReference>
);
fhir:index xsd:integer? # Relative position in a list
}
# Diagnosis
<Claim.diagnosis> CLOSED {
fhir:Element.id @<string>?; # xml:id (or equivalent in JSON)
fhir:extension @<Extension>*; # Additional Content defined by
# implementations
fhir:modifierExtension @<Extension>*; # Extensions that cannot be ignored
fhir:Claim.diagnosis.sequence @<positiveInt>; # Number to covey order of diagnosis
fhir:Claim.diagnosis.diagnosis @<Coding>; # Patient's diagnosis
fhir:Claim.diagnosis.type @<Coding>*; # Type of Diagnosis
fhir:Claim.diagnosis.drg @<Coding>?; # Diagnosis Related Group
fhir:index xsd:integer? # Relative position in a list
}
<Claim.accident> CLOSED {
fhir:Element.id @<string>?; # xml:id (or equivalent in JSON)
fhir:extension @<Extension>*; # Additional Content defined by
# implementations
fhir:modifierExtension @<Extension>*; # Extensions that cannot be ignored
fhir:Claim.accident.date @<date>; # When the accident occurred
see
# information codes
see information
# codes
fhir:Claim.accident.type @<Coding> AND
{fhir:value @fhirvs:v3-ActIncidentCode}?; # The nature of the accident
( # Accident Place
fhir:Claim.accident.locationAddress @<Address> |
fhir:Claim.accident.locationReference @<LocationReference>
)?;
fhir:index xsd:integer? # Relative position in a list
}
# Prosthetic details
<Claim.item.prosthesis> CLOSED {
fhir:Element.id @<string>?; # xml:id (or equivalent in JSON)
fhir:extension @<Extension>*; # Additional Content defined by
# implementations
fhir:modifierExtension @<Extension>*; # Extensions that cannot be ignored
fhir:Claim.item.prosthesis.initial @<boolean>?; # Is this the initial service
fhir:Claim.item.prosthesis.priorDate @<date>?; # Initial service Date
fhir:Claim.item.prosthesis.priorMaterial @<Coding>?; # Prosthetic Material
fhir:index xsd:integer? # Relative position in a list
}
# Additional items
<Claim.item.detail> CLOSED {
fhir:Element.id @<string>?; # xml:id (or equivalent in JSON)
fhir:extension @<Extension>*; # Additional Content defined by
# implementations
fhir:modifierExtension @<Extension>*; # Extensions that cannot be ignored
fhir:Claim.item.detail.sequence @<positiveInt>; # Service instance
fhir:Claim.item.detail.revenue @<Coding>?; # Revenue or cost center code
fhir:Claim.item.detail.category @<Coding>?; # Type of service or product
fhir:Claim.item.detail.service @<Coding>?; # Billing Code
fhir:Claim.item.detail.modifier @<Coding>*; # Service/Product billing modifiers
fhir:Claim.item.detail.programCode @<Coding>*; # Program specific reason for item
# inclusion
fhir:Claim.item.detail.quantity @<SimpleQuantity>?; # Count of Products or Services
fhir:Claim.item.detail.unitPrice @<Money>?; # Fee, charge or cost per point
fhir:Claim.item.detail.factor @<decimal>?; # Price scaling factor
fhir:Claim.item.detail.points @<decimal>?; # Difficulty scaling factor
fhir:Claim.item.detail.net @<Money>?; # Total additional item cost
fhir:Claim.item.detail.udi @<DeviceReference>*; # Unique Device Identifier
fhir:Claim.item.detail.subDetail @<Claim.item.detail.subDetail>*; # Additional items
fhir:index xsd:integer? # Relative position in a list
}
<Claim.item.careTeam> CLOSED {
fhir:Element.id @<string>?; # xml:id (or equivalent in JSON)
fhir:extension @<Extension>*; # Additional Content defined by
# implementations
fhir:modifierExtension @<Extension>*; # Extensions that cannot be ignored
( # Provider individual or organization
fhir:Claim.item.careTeam.providerIdentifier @<Identifier> |
fhir:Claim.item.careTeam.providerReference @<PractitionerReference> |
fhir:Claim.item.careTeam.providerReference @<OrganizationReference>
);
fhir:Claim.item.careTeam.responsible @<boolean>?; # Billing provider
fhir:Claim.item.careTeam.role @<Coding>?; # Role on the team
fhir:Claim.item.careTeam.qualification @<Coding>?; # Type, classification or
# Specialization
fhir:index xsd:integer? # Relative position in a list
}
# Additional items
<Claim.item.detail.subDetail> CLOSED {
fhir:Element.id @<string>?; # xml:id (or equivalent in JSON)
fhir:extension @<Extension>*; # Additional Content defined by
# implementations
fhir:modifierExtension @<Extension>*; # Extensions that cannot be ignored
fhir:Claim.item.detail.subDetail.sequence @<positiveInt>; # Service instance
fhir:Claim.item.detail.subDetail.revenue @<Coding>?; # Revenue or cost center code
fhir:Claim.item.detail.subDetail.category @<Coding>?; # Type of service or product
fhir:Claim.item.detail.subDetail.service @<Coding>?; # Billing Code
fhir:Claim.item.detail.subDetail.modifier @<Coding>*; # Service/Product billing modifiers
fhir:Claim.item.detail.subDetail.programCode @<Coding>*; # Program specific reason for item
# inclusion
fhir:Claim.item.detail.subDetail.quantity @<SimpleQuantity>?; # Count of Products or Services
fhir:Claim.item.detail.subDetail.unitPrice @<Money>?; # Fee, charge or cost per point
fhir:Claim.item.detail.subDetail.factor @<decimal>?; # Price scaling factor
fhir:Claim.item.detail.subDetail.points @<decimal>?; # Difficulty scaling factor
fhir:Claim.item.detail.subDetail.net @<Money>?; # Net additional item cost
fhir:Claim.item.detail.subDetail.udi @<DeviceReference>*; # Unique Device Identifier
fhir:index xsd:integer? # Relative position in a list
}
#---------------------- Data Types -------------------
# Primitive Type dateTime
<dateTime> CLOSED {
fhir:id @<id>?; # xml:id (or equivalent in JSON)
fhir:extension @<Extension>*; # Additional Content defined by
# implementations
fhir:value xsd:gYear OR xsd:gYearMonth OR xsd:date OR xsd:dateTime?; # Primitive value for dateTime
fhir:index xsd:integer? # Relative position in a list
}
# Primitive Type date
<date> CLOSED {
fhir:id @<id>?; # xml:id (or equivalent in JSON)
fhir:extension @<Extension>*; # Additional Content defined by
# implementations
fhir:value xsd:gYear OR xsd:gYearMonth OR xsd:date?; # Primitive value for date
fhir:index xsd:integer? # Relative position in a list
}
# Metadata about a resource
<Meta> CLOSED {
fhir:Element.id @<string>?; # xml:id (or equivalent in JSON)
fhir:extension @<Extension>*; # Additional Content defined by
# implementations
fhir:Meta.versionId @<id>?; # Version specific identifier
fhir:Meta.lastUpdated @<instant>?; # When the resource version last
# changed
fhir:Meta.profile @<uri>*; # Profiles this resource claims to
# conform to
fhir:Meta.security @<Coding>*; # Security Labels applied to this
# resource
fhir:Meta.tag @<Coding>*; # Tags applied to this resource
fhir:index xsd:integer? # Relative position in a list
}
# Primitive Type code
<code> CLOSED {
fhir:extension @<Extension>*; # Additional Content defined by
# implementations
fhir:value xsd:string?; # Primitive value for code
fhir:index xsd:integer? # Relative position in a list
}
# Primitive Type string
<string> CLOSED {
fhir:id @<id>?; # xml:id (or equivalent in JSON)
fhir:extension @<Extension>*; # Additional Content defined by
# implementations
fhir:value xsd:string MAXLENGTH 1048576?; # Primitive value for string
fhir:index xsd:integer? # Relative position in a list
}
# An address expressed using postal conventions (as opposed to GPS or other location definition formats)
<Address> CLOSED {
fhir:Element.id @<string>?; # xml:id (or equivalent in JSON)
fhir:extension @<Extension>*; # Additional Content defined by
# implementations
fhir:Address.use @<code> AND
{fhir:value @fhirvs:address-use}?; # home | work | temp | old - purpose
# of this address
fhir:Address.type @<code> AND
{fhir:value @fhirvs:address-type}?; # postal | physical | both
fhir:Address.text @<string>?; # Text representation of the address
fhir:Address.line @<string>*; # Street name, number, direction &
# P.O. Box etc.
fhir:Address.city @<string>?; # Name of city, town etc.
fhir:Address.district @<string>?; # District name (aka county)
fhir:Address.state @<string>?; # Sub-unit of country (abbreviations
# ok)
fhir:Address.postalCode @<string>?; # Postal code for area
fhir:Address.country @<string>?; # Country (can be ISO 3166 3 letter
# code)
fhir:Address.period @<Period>?; # Time period when address was/is in
# use
fhir:index xsd:integer? # Relative position in a list
}
# Base Resource
<Resource> {a .+;
fhir:Resource.id @<id>?; # Logical id of this artifact
fhir:Resource.meta @<Meta>?; # Metadata about the resource
fhir:Resource.implicitRules @<uri>?; # A set of rules under which this
# content was created
fhir:Resource.language @<code>?; # Language of the resource content
fhir:index xsd:integer?
}
# A fixed quantity (no comparator)
<SimpleQuantity> CLOSED {
fhir:Element.id @<string>?; # xml:id (or equivalent in JSON)
fhir:extension @<Extension>*; # Additional Content defined by
# implementations
fhir:Quantity.value @<decimal>?; # Numerical value (with implicit
# precision)
fhir:Quantity.unit @<string>?; # Unit representation
fhir:Quantity.system @<uri>?; # System that defines coded unit form
fhir:Quantity.code @<code>?; # Coded form of the unit
fhir:index xsd:integer? # Relative position in a list
}
# Time range defined by start and end date/time
<Period> CLOSED {
fhir:Element.id @<string>?; # xml:id (or equivalent in JSON)
fhir:extension @<Extension>*; # Additional Content defined by
# implementations
fhir:Period.start @<dateTime>?; # Starting time with inclusive
# boundary
fhir:Period.end @<dateTime>?; # End time with inclusive boundary,
# if not ongoing
fhir:index xsd:integer? # Relative position in a list
}
# A measured or measurable amount
<Quantity> CLOSED {
fhir:Element.id @<string>?; # xml:id (or equivalent in JSON)
fhir:extension @<Extension>*; # Additional Content defined by
# implementations
fhir:Quantity.value @<decimal>?; # Numerical value (with implicit
# precision)
fhir:Quantity.comparator @<code> AND
{fhir:value @fhirvs:quantity-comparator}?; # < | <= | >= | > - how to
# understand the value
fhir:Quantity.unit @<string>?; # Unit representation
fhir:Quantity.system @<uri>?; # System that defines coded unit form
fhir:Quantity.code @<code>?; # Coded form of the unit
fhir:index xsd:integer? # Relative position in a list
}
# Primitive Type uri
<uri> CLOSED {
fhir:id @<id>?; # xml:id (or equivalent in JSON)
fhir:extension @<Extension>*; # Additional Content defined by
# implementations
fhir:value xsd:string?; # Primitive value for uri
fhir:index xsd:integer? # Relative position in a list
}
<Extension> {fhir:extension @<Extension>*;
fhir:index xsd:integer?
}
# An amount of economic utility in some recognised currency
<Money> CLOSED {
fhir:Element.id @<string>?; # xml:id (or equivalent in JSON)
fhir:extension @<Extension>*; # Additional Content defined by
# implementations
fhir:Quantity.value @<decimal>?; # Numerical value (with implicit
# precision)
fhir:Quantity.comparator @<code> AND
{fhir:value @fhirvs:quantity-comparator}?; # < | <= | >= | > - how to
# understand the value
fhir:Quantity.unit @<string>?; # Unit representation
fhir:Quantity.system @<uri>?; # System that defines coded unit form
fhir:Quantity.code @<code>?; # Coded form of the unit
fhir:index xsd:integer? # Relative position in a list
}
# An identifier intended for computation
<Identifier> CLOSED {
fhir:Element.id @<string>?; # xml:id (or equivalent in JSON)
fhir:extension @<Extension>*; # Additional Content defined by
# implementations
fhir:Identifier.use @<code> AND
{fhir:value @fhirvs:identifier-use}?; # usual | official | temp |
# secondary (If known)
fhir:Identifier.type @<CodeableConcept>?; # Description of identifier
fhir:Identifier.system @<uri>?; # The namespace for the identifier
fhir:Identifier.value @<string>?; # The value that is unique
fhir:Identifier.period @<Period>?; # Time period when id is/was valid
# for use
fhir:Identifier.assigner @<OrganizationReference>?; # Organization that issued id (may
# be just text)
fhir:index xsd:integer? # Relative position in a list
}
# Primitive Type boolean
<boolean> CLOSED {
fhir:id @<id>?; # xml:id (or equivalent in JSON)
fhir:extension @<Extension>*; # Additional Content defined by
# implementations
fhir:value xsd:boolean?; # Primitive value for boolean
fhir:index xsd:integer? # Relative position in a list
}
# A human-readable formatted text, including images
<Narrative> CLOSED {
fhir:Element.id @<string>?; # xml:id (or equivalent in JSON)
fhir:extension @<Extension>*; # Additional Content defined by
# implementations
fhir:Narrative.status @<code> AND
{fhir:value @fhirvs:narrative-status}; # generated | extensions |
# additional | empty
fhir:Narrative.div xsd:string; # Limited xhtml content
fhir:index xsd:integer? # Relative position in a list
}
# A reference to a code defined by a terminology system
<Coding> CLOSED {
fhir:concept IRI?;
fhir:Element.id @<string>?; # xml:id (or equivalent in JSON)
fhir:extension @<Extension>*; # Additional Content defined by
# implementations
fhir:Coding.system @<uri>?; # Identity of the terminology system
fhir:Coding.version @<string>?; # Version of the system - if relevant
fhir:Coding.code @<code>?; # Symbol in syntax defined by the
# system
fhir:Coding.display @<string>?; # Representation defined by the
# system
fhir:Coding.userSelected @<boolean>?; # If this coding was chosen directly
# by the user
fhir:index xsd:integer? # Relative position in a list
}
# Primitive Type id
<id> CLOSED {
fhir:extension @<Extension>*; # Additional Content defined by
# implementations
fhir:value xsd:string?; # Primitive value for id
fhir:index xsd:integer? # Relative position in a list
}
# Primitive Type positiveInt
<positiveInt> CLOSED {
fhir:extension @<Extension>*; # Additional Content defined by
# implementations
fhir:value xsd:positiveInteger?; # Primitive value for positiveInt
fhir:index xsd:integer? # Relative position in a list
}
# Primitive Type decimal
<decimal> CLOSED {
fhir:id @<id>?; # xml:id (or equivalent in JSON)
fhir:extension @<Extension>*; # Additional Content defined by
# implementations
fhir:value xsd:decimal?; # Primitive value for decimal
fhir:index xsd:integer? # Relative position in a list
}
# Primitive Type instant
<instant> CLOSED {
fhir:id @<id>?; # xml:id (or equivalent in JSON)
fhir:extension @<Extension>*; # Additional Content defined by
# implementations
fhir:value xsd:dateTime?; # Primitive value for instant
fhir:index xsd:integer? # Relative position in a list
}
# Concept - reference to a terminology or just text
<CodeableConcept> CLOSED {
fhir:concept IRI*;
fhir:Element.id @<string>?; # xml:id (or equivalent in JSON)
fhir:extension @<Extension>*; # Additional Content defined by
# implementations
fhir:CodeableConcept.coding @<Coding>*; # Code defined by a terminology
# system
fhir:CodeableConcept.text @<string>?; # Plain text representation of the
# concept
fhir:index xsd:integer? # Relative position in a list
}
#---------------------- Reference Types -------------------
<ReferralRequestReference> CLOSED {
fhir:Element.id @<id>?;
fhir:extension @<Extension>*;
fhir:link @<ReferralRequest> OR CLOSED {a fhir:ReferralRequest}?;
fhir:Reference.reference @<string>?;
fhir:Reference.display @<string>?;
fhir:index xsd:integer?
}
<OrganizationReference> CLOSED {
fhir:Element.id @<id>?;
fhir:extension @<Extension>*;
fhir:link @<Organization> OR CLOSED {a fhir:Organization}?;
fhir:Reference.reference @<string>?;
fhir:Reference.display @<string>?;
fhir:index xsd:integer?
}
<ClaimResponseReference> CLOSED {
fhir:Element.id @<id>?;
fhir:extension @<Extension>*;
fhir:link @<ClaimResponse> OR CLOSED {a fhir:ClaimResponse}?;
fhir:Reference.reference @<string>?;
fhir:Reference.display @<string>?;
fhir:index xsd:integer?
}
<DeviceReference> CLOSED {
fhir:Element.id @<id>?;
fhir:extension @<Extension>*;
fhir:link @<Device> OR CLOSED {a fhir:Device}?;
fhir:Reference.reference @<string>?;
fhir:Reference.display @<string>?;
fhir:index xsd:integer?
}
<VisionPrescriptionReference> CLOSED {
fhir:Element.id @<id>?;
fhir:extension @<Extension>*;
fhir:link @<VisionPrescription> OR CLOSED {a fhir:VisionPrescription}?;
fhir:Reference.reference @<string>?;
fhir:Reference.display @<string>?;
fhir:index xsd:integer?
}
<PatientReference> CLOSED {
fhir:Element.id @<id>?;
fhir:extension @<Extension>*;
fhir:link @<Patient> OR CLOSED {a fhir:Patient}?;
fhir:Reference.reference @<string>?;
fhir:Reference.display @<string>?;
fhir:index xsd:integer?
}
<CoverageReference> CLOSED {
fhir:Element.id @<id>?;
fhir:extension @<Extension>*;
fhir:link @<Coverage> OR CLOSED {a fhir:Coverage}?;
fhir:Reference.reference @<string>?;
fhir:Reference.display @<string>?;
fhir:index xsd:integer?
}
<RelatedPersonReference> CLOSED {
fhir:Element.id @<id>?;
fhir:extension @<Extension>*;
fhir:link @<RelatedPerson> OR CLOSED {a fhir:RelatedPerson}?;
fhir:Reference.reference @<string>?;
fhir:Reference.display @<string>?;
fhir:index xsd:integer?
}
<PractitionerReference> CLOSED {
fhir:Element.id @<id>?;
fhir:extension @<Extension>*;
fhir:link @<Practitioner> OR CLOSED {a fhir:Practitioner}?;
fhir:Reference.reference @<string>?;
fhir:Reference.display @<string>?;
fhir:index xsd:integer?
}
<ProcedureReference> CLOSED {
fhir:Element.id @<id>?;
fhir:extension @<Extension>*;
fhir:link @<Procedure> OR CLOSED {a fhir:Procedure}?;
fhir:Reference.reference @<string>?;
fhir:Reference.display @<string>?;
fhir:index xsd:integer?
}
<MedicationOrderReference> CLOSED {
fhir:Element.id @<id>?;
fhir:extension @<Extension>*;
fhir:link @<MedicationOrder> OR CLOSED {a fhir:MedicationOrder}?;
fhir:Reference.reference @<string>?;
fhir:Reference.display @<string>?;
fhir:index xsd:integer?
}
<ClaimReference> CLOSED {
fhir:Element.id @<id>?;
fhir:extension @<Extension>*;
fhir:link @<Claim> OR CLOSED {a fhir:Claim}?;
fhir:Reference.reference @<string>?;
fhir:Reference.display @<string>?;
fhir:index xsd:integer?
}
<LocationReference> CLOSED {
fhir:Element.id @<id>?;
fhir:extension @<Extension>*;
fhir:link @<Location> OR CLOSED {a fhir:Location}?;
fhir:Reference.reference @<string>?;
fhir:Reference.display @<string>?;
fhir:index xsd:integer?
}
#---------------------- Value Sets ------------------------
# This value set includes sample Claim Type codes.
@fhirvs:claim-type = ["institutional" "oral" "pharmacy" "professional" "vision"]
# Complete, proposed, exploratory, other
@fhirvs:claim-use = ["complete" "proposed" "exploratory" "other"]
# A code specifying the state of the resource instance.
@fhirvs:claim-status = ["active" "cancelled" "draft" "entered-in-error"]
# How the Quantity should be understood and represented.
@fhirvs:quantity-comparator = ["<" "<=" ">=" ">"]
# The status of a resource narrative
@fhirvs:narrative-status = ["generated" "extensions" "additional" "empty"]
# Set of codes indicating the type of incident or accident.
@fhirvs:v3-ActIncidentCode = ["MVA" "SCHOOL" "SPT" "WPA"]
# The type of an address (physical / postal)
@fhirvs:address-type = ["postal" "physical" "both"]
# The use of an address
@fhirvs:address-use = ["home" "work" "temp" "old"]
# Identifies the purpose for this identifier, if known .
@fhirvs:identifier-use = ["usual" "official" "temp" "secondary"]
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.