PREFIX fhir:
PREFIX fhirvs:
PREFIX xsd:
BASE
start=@ AND {fhir:nodeRole [fhir:treeRoot]}
# Claim, Pre-determination or Pre-authorization
CLOSED {
a [fhir:Claim];
fhir:nodeRole [fhir:treeRoot]?;
fhir:Resource.id id?; # Logical id of this artifact
fhir:Resource.meta @?; # Metadata about the resource
fhir:Resource.implicitRules @?; # A set of rules under which this
# content was created
fhir:Resource.language @?; # Language of the resource content
fhir:DomainResource.text @?; # Text summary of the resource, for
# human interpretation
fhir:DomainResource.contained @*; # Contained, inline Resources
fhir:DomainResource.extension @*; # Additional content defined by
# implementations
fhir:DomainResource.modifierExtension @*; # Extensions that cannot be ignored
fhir:Claim.identifier @*; # Business Identifier for claim
fhir:Claim.status @ AND
{fhir:value @fhirvs:fm-status}; # active | cancelled | draft |
# entered-in-error
fhir:Claim.type @; # Category or discipline
fhir:Claim.subType @?; # More granular claim type
fhir:Claim.use @ AND
{fhir:value @fhirvs:claim-use}; # claim | preauthorization |
# predetermination
fhir:Claim.patient @; # The recipient of the products and
# services
fhir:Claim.billablePeriod @?; # Relevant time frame for the claim
fhir:Claim.created @; # Resource creation date
fhir:Claim.enterer @?; # Author of the claim
fhir:Claim.insurer @?; # Target
fhir:Claim.provider @; # Party responsible for the claim
fhir:Claim.priority @; # Desired processing ugency
fhir:Claim.fundsReserve @?; # For whom to reserve funds
fhir:Claim.related @*; # Prior or corollary claims
fhir:Claim.prescription @?; # Prescription authorizing services
# and products
fhir:Claim.originalPrescription @?; # Original prescription if
# superseded by fulfiller
fhir:Claim.payee @?; # Recipient of benefits payable
fhir:Claim.referral @?; # Treatment referral
fhir:Claim.facility @?; # Servicing facility
fhir:Claim.careTeam @*; # Members of the care team
fhir:Claim.supportingInfo @*; # Supporting information
fhir:Claim.diagnosis @*; # Pertinent diagnosis information
fhir:Claim.procedure @*; # Clinical procedures performed
fhir:Claim.insurance @+; # Patient insurance information
fhir:Claim.accident @?; # Details of the event
fhir:Claim.item @*; # Product or service provided
fhir:Claim.total @?; # Total claim cost
fhir:index xsd:integer? # Relative position in a list
}
# Product or service provided
CLOSED {
fhir:Element.id string?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:BackboneElement.modifierExtension @*; # Extensions that cannot be ignored
# even if unrecognized
fhir:Claim.item.sequence @; # Item instance identifier
fhir:Claim.item.careTeamSequence @*; # Applicable careTeam members
fhir:Claim.item.diagnosisSequence @*; # Applicable diagnoses
fhir:Claim.item.procedureSequence @*; # Applicable procedures
fhir:Claim.item.informationSequence @*; # Applicable exception and
# supporting information
fhir:Claim.item.revenue @?; # Revenue or cost center code
fhir:Claim.item.category @?; # Benefit classification
fhir:Claim.item.productOrService @; # Billing, service, product, or drug
# code
fhir:Claim.item.modifier @*; # Product or service billing
# modifiers
fhir:Claim.item.programCode @*; # Program the product or service is
# provided under
( # Date or dates of service or
# product delivery
fhir:Claim.item.servicedDate @ |
fhir:Claim.item.servicedPeriod @
)?;
( # Place of service or where product
# was supplied
fhir:Claim.item.locationCodeableConcept @ |
fhir:Claim.item.locationAddress @ |
fhir:Claim.item.locationReference @
)?;
fhir:Claim.item.quantity @?; # Count of products or services
fhir:Claim.item.unitPrice @?; # Fee, charge or cost per item
fhir:Claim.item.factor @?; # Price scaling factor
fhir:Claim.item.net @?; # Total item cost
fhir:Claim.item.udi @*; # Unique device identifier
fhir:Claim.item.bodySite @?; # Anatomical location
fhir:Claim.item.subSite @*; # Anatomical sub-location
fhir:Claim.item.encounter @*; # Encounters related to this billed
# item
fhir:Claim.item.detail @*; # Product or service provided
fhir:index xsd:integer? # Relative position in a list
}
# Prior or corollary claims
CLOSED {
fhir:Element.id string?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:BackboneElement.modifierExtension @*; # Extensions that cannot be ignored
# even if unrecognized
fhir:Claim.related.claim @?; # Reference to the related claim
fhir:Claim.related.relationship @?; # How the reference claim is related
fhir:Claim.related.reference @?; # File or case reference
fhir:index xsd:integer? # Relative position in a list
}
# Clinical procedures performed
CLOSED {
fhir:Element.id string?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:BackboneElement.modifierExtension @*; # Extensions that cannot be ignored
# even if unrecognized
fhir:Claim.procedure.sequence @; # Procedure instance identifier
fhir:Claim.procedure.type @*; # Category of Procedure
fhir:Claim.procedure.date @?; # When the procedure was performed
( # Specific clinical procedure
fhir:Claim.procedure.procedureCodeableConcept @ |
fhir:Claim.procedure.procedureReference @
);
fhir:Claim.procedure.udi @*; # Unique device identifier
fhir:index xsd:integer? # Relative position in a list
}
# Pertinent diagnosis information
CLOSED {
fhir:Element.id string?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:BackboneElement.modifierExtension @*; # Extensions that cannot be ignored
# even if unrecognized
fhir:Claim.diagnosis.sequence @; # Diagnosis instance identifier
( # Nature of illness or problem
fhir:Claim.diagnosis.diagnosisCodeableConcept @ |
fhir:Claim.diagnosis.diagnosisReference @
);
fhir:Claim.diagnosis.type @*; # Timing or nature of the diagnosis
fhir:Claim.diagnosis.onAdmission @?; # Present on admission
fhir:Claim.diagnosis.packageCode @?; # Package billing code
fhir:index xsd:integer? # Relative position in a list
}
# Patient insurance information
CLOSED {
fhir:Element.id string?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:BackboneElement.modifierExtension @*; # Extensions that cannot be ignored
# even if unrecognized
fhir:Claim.insurance.sequence @; # Insurance instance identifier
fhir:Claim.insurance.focal @; # Coverage to be used for
# adjudication
fhir:Claim.insurance.identifier @?; # Pre-assigned Claim number
fhir:Claim.insurance.coverage @; # Insurance information
fhir:Claim.insurance.businessArrangement @?; # Additional provider contract number
fhir:Claim.insurance.preAuthRef @*; # Prior authorization reference
# number
fhir:Claim.insurance.claimResponse @?; # Adjudication results
fhir:index xsd:integer? # Relative position in a list
}
# Members of the care team
CLOSED {
fhir:Element.id string?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:BackboneElement.modifierExtension @*; # Extensions that cannot be ignored
# even if unrecognized
fhir:Claim.careTeam.sequence @; # Order of care team
fhir:Claim.careTeam.provider @; # Practitioner or organization
fhir:Claim.careTeam.responsible @?; # Indicator of the lead practitioner
fhir:Claim.careTeam.role @?; # Function within the team
fhir:Claim.careTeam.qualification @?; # Practitioner credential or
# specialization
fhir:index xsd:integer? # Relative position in a list
}
# Supporting information
CLOSED {
fhir:Element.id string?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:BackboneElement.modifierExtension @*; # Extensions that cannot be ignored
# even if unrecognized
fhir:Claim.supportingInfo.sequence @; # Information instance identifier
fhir:Claim.supportingInfo.category @; # Classification of the supplied
# information
fhir:Claim.supportingInfo.code @?; # Type of information
( # When it occurred
fhir:Claim.supportingInfo.timingDate @ |
fhir:Claim.supportingInfo.timingPeriod @
)?;
( # Data to be provided
fhir:Claim.supportingInfo.valueBoolean @ |
fhir:Claim.supportingInfo.valueString @ |
fhir:Claim.supportingInfo.valueQuantity @ |
fhir:Claim.supportingInfo.valueAttachment @ |
fhir:Claim.supportingInfo.valueReference @
)?;
fhir:Claim.supportingInfo.reason @?; # Explanation for the information
fhir:index xsd:integer? # Relative position in a list
}
# Recipient of benefits payable
CLOSED {
fhir:Element.id string?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:BackboneElement.modifierExtension @*; # Extensions that cannot be ignored
# even if unrecognized
fhir:Claim.payee.type @; # Category of recipient
fhir:Claim.payee.party @?; # Recipient reference
fhir:index xsd:integer? # Relative position in a list
}
# Details of the event
CLOSED {
fhir:Element.id string?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:BackboneElement.modifierExtension @*; # Extensions that cannot be ignored
# even if unrecognized
fhir:Claim.accident.date @; # When the incident occurred
fhir:Claim.accident.type @?; # The nature of the accident
( # Where the event occurred
fhir:Claim.accident.locationAddress @ |
fhir:Claim.accident.locationReference @
)?;
fhir:index xsd:integer? # Relative position in a list
}
# Product or service provided
CLOSED {
fhir:Element.id string?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:BackboneElement.modifierExtension @*; # Extensions that cannot be ignored
# even if unrecognized
fhir:Claim.item.detail.sequence @; # Item instance identifier
fhir:Claim.item.detail.revenue @?; # Revenue or cost center code
fhir:Claim.item.detail.category @?; # Benefit classification
fhir:Claim.item.detail.productOrService @; # Billing, service, product, or drug
# code
fhir:Claim.item.detail.modifier @*; # Service/Product billing modifiers
fhir:Claim.item.detail.programCode @*; # Program the product or service is
# provided under
fhir:Claim.item.detail.quantity @?; # Count of products or services
fhir:Claim.item.detail.unitPrice @?; # Fee, charge or cost per item
fhir:Claim.item.detail.factor @?; # Price scaling factor
fhir:Claim.item.detail.net @?; # Total item cost
fhir:Claim.item.detail.udi @*; # Unique device identifier
fhir:Claim.item.detail.subDetail @*; # Product or service provided
fhir:index xsd:integer? # Relative position in a list
}
# Product or service provided
CLOSED {
fhir:Element.id string?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:BackboneElement.modifierExtension @*; # Extensions that cannot be ignored
# even if unrecognized
fhir:Claim.item.detail.subDetail.sequence @; # Item instance identifier
fhir:Claim.item.detail.subDetail.revenue @?; # Revenue or cost center code
fhir:Claim.item.detail.subDetail.category @?; # Benefit classification
fhir:Claim.item.detail.subDetail.productOrService @; # Billing, service, product, or drug
# code
fhir:Claim.item.detail.subDetail.modifier @*; # Service/Product billing modifiers
fhir:Claim.item.detail.subDetail.programCode @*; # Program the product or service is
# provided under
fhir:Claim.item.detail.subDetail.quantity @?; # Count of products or services
fhir:Claim.item.detail.subDetail.unitPrice @?; # Fee, charge or cost per item
fhir:Claim.item.detail.subDetail.factor @?; # Price scaling factor
fhir:Claim.item.detail.subDetail.net @?; # Total item cost
fhir:Claim.item.detail.subDetail.udi @*; # Unique device identifier
fhir:index xsd:integer? # Relative position in a list
}
#---------------------- Data Types -------------------
# Primitive Type dateTime
CLOSED {
fhir:Element.id string?; # xml:id (or equivalent in JSON)
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:value dateTime?; # Primitive value for dateTime
fhir:index xsd:integer? # Relative position in a list
}
# Primitive Type date
CLOSED {
fhir:Element.id string?; # xml:id (or equivalent in JSON)
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:value date?; # Primitive value for date
fhir:index xsd:integer? # Relative position in a list
}
# Metadata about a resource
CLOSED {
fhir:Element.id id?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:Meta.versionId @?; # Version specific identifier
fhir:Meta.lastUpdated @?; # When the resource version last
# changed
fhir:Meta.source @?; # Identifies where the resource
# comes from
fhir:Meta.profile @*; # Profiles this resource claims to
# conform to
fhir:Meta.security @*; # Security Labels applied to this
# resource
fhir:Meta.tag @*; # Tags applied to this resource
fhir:index xsd:integer? # Relative position in a list
}
# Primitive Type code
CLOSED {
fhir:Element.id string?; # xml:id (or equivalent in JSON)
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:value code?; # Primitive value for code
fhir:index xsd:integer? # Relative position in a list
}
# An address expressed using postal conventions (as opposed to GPS or other location definition formats)
CLOSED {
fhir:Element.id id?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:Address.use @ AND
{fhir:value @fhirvs:address-use}?; # home | work | temp | old | billing
# - purpose of this address
fhir:Address.type @ AND
{fhir:value @fhirvs:address-type}?; # postal | physical | both
fhir:Address.text @?; # Text representation of the address
fhir:Address.line @*; # Street name, number, direction &
# P.O. Box etc.
fhir:Address.city @?; # Name of city, town etc.
fhir:Address.district @?; # District name (aka county)
fhir:Address.state @?; # Sub-unit of country (abbreviations
# ok)
fhir:Address.postalCode @?; # Postal code for area
fhir:Address.country @?; # Country (e.g. can be ISO 3166 2 or
# 3 letter code)
fhir:Address.period @?; # Time period when address was/is in
# use
fhir:index xsd:integer? # Relative position in a list
}
# Primitive Type string
CLOSED {
fhir:Element.id string?; # xml:id (or equivalent in JSON)
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:value string MAXLENGTH 1048576?; # Primitive value for string
fhir:index xsd:integer? # Relative position in a list
}
# A reference from one resource to another
CLOSED {
fhir:link IRI?;
fhir:Element.id id?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:Reference.reference @?; # Literal reference, Relative,
# internal or absolute URL
fhir:Reference.type @?; # Type the reference refers to (e.g.
# "Patient")
fhir:Reference.identifier @?; # Logical reference, when literal
# reference is not known
fhir:Reference.display @?; # Text alternative for the resource
fhir:index xsd:integer? # Relative position in a list
}
# Base Resource
{a .+;
fhir:Resource.id id?; # Logical id of this artifact
fhir:Resource.meta @?; # Metadata about the resource
fhir:Resource.implicitRules @?; # A set of rules under which this
# content was created
fhir:Resource.language @?; # Language of the resource content
fhir:index xsd:integer?
}
# A fixed quantity (no comparator)
CLOSED {
fhir:Element.id id?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:Quantity.value @?; # Numerical value (with implicit
# precision)
fhir:Quantity.unit @?; # Unit representation
fhir:Quantity.system @?; # System that defines coded unit form
fhir:Quantity.code @?; # Coded form of the unit
fhir:index xsd:integer? # Relative position in a list
}
# Time range defined by start and end date/time
CLOSED {
fhir:Element.id id?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:Period.start @?; # Starting time with inclusive
# boundary
fhir:Period.end @?; # End time with inclusive boundary,
# if not ongoing
fhir:index xsd:integer? # Relative position in a list
}
# A measured or measurable amount
CLOSED {
fhir:Element.id id?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:Quantity.value @?; # Numerical value (with implicit
# precision)
fhir:Quantity.comparator @ AND
{fhir:value @fhirvs:quantity-comparator}?; # < | <= | >= | > - how to
# understand the value
fhir:Quantity.unit @?; # Unit representation
fhir:Quantity.system @?; # System that defines coded unit form
fhir:Quantity.code @?; # Coded form of the unit
fhir:index xsd:integer? # Relative position in a list
}
# Content in a format defined elsewhere
CLOSED {
fhir:Element.id id?; # Unique id for inter-element
# referencing
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:Attachment.contentType @ AND
{fhir:value @fhirvs:mimetypes}?; # Mime type of the content, with
# charset etc.
fhir:Attachment.language @?; # Human language of the content
# (BCP-47)
fhir:Attachment.data @?; # Data inline, base64ed
fhir:Attachment.url @?; # Uri where the data can be found
fhir:Attachment.size @?; # Number of bytes of content (if url
# provided)
fhir:Attachment.hash @?; # Hash of the data (sha-1, base64ed)
fhir:Attachment.title @?; # Label to display in place of the
# data
fhir:Attachment.creation @?; # Date attachment was first created
fhir:index xsd:integer? # Relative position in a list
}
# Primitive Type uri
CLOSED {
fhir:Element.id string?; # xml:id (or equivalent in JSON)
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:value uri?; # Primitive value for uri
fhir:index xsd:integer? # Relative position in a list
}
# Optional Extensions Element
CLOSED {
fhir:Element.id id?;
fhir:Element.extension @*;
fhir:Extension.url uri;
(
fhir:Extension.valueBase64Binary @ |
fhir:Extension.valueBoolean @ |
fhir:Extension.valueCanonical @ |
fhir:Extension.valueCode @ |
fhir:Extension.valueDate @ |
fhir:Extension.valueDateTime @ |
fhir:Extension.valueDecimal @ |
fhir:Extension.valueId @ |
fhir:Extension.valueInstant @ |
fhir:Extension.valueInteger @ |
fhir:Extension.valueMarkdown @ |
fhir:Extension.valueOid @ |
fhir:Extension.valuePositiveInt @ |
fhir:Extension.valueString @ |
fhir:Extension.valueTime @