PREFIX fhir:
PREFIX fhirvs:
PREFIX xsd:
PREFIX rdf:
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
start=@ AND {fhir:nodeRole [fhir:treeRoot]}
# Structural Definition
EXTENDS @ CLOSED {
a [fhir:StructureDefinition]?;
fhir:nodeRole [fhir:treeRoot]?;
fhir:url @; # Canonical identifier for this
# structure definition, represented
# as a URI (globally unique)
fhir:identifier @?; # Additional identifier for the
# structure definition
fhir:version @?; # Business version of the structure
# definition
fhir:versionAlgorithm @ OR
@ ?; # How to compare versions
fhir:name @; # Name for this structure definition
# (computer friendly)
fhir:title @?; # Name for this structure definition
# (human friendly)
fhir:status @ AND
{fhir:v @fhirvs:publication-status}; # draft | active | retired | unknown
fhir:experimental @?; # For testing purposes, not real
# usage
fhir:date @?; # Date last changed
fhir:publisher @?; # Name of the publisher/steward
# (organization or individual)
fhir:contact @?; # Contact details for the publisher
fhir:description @?; # Natural language description of
# the structure definition
fhir:useContext @?; # The context that the content is
# intended to support
fhir:jurisdiction @?; # Intended jurisdiction for
# structure definition (if
# applicable)
fhir:purpose @?; # Why this structure definition is
# defined
fhir:copyright @?; # Use and/or publishing restrictions
fhir:copyrightLabel @?; # Copyright holder and year(s)
fhir:keyword @?; # Assist with indexing and finding
fhir:fhirVersion @ AND
{fhir:v @fhirvs:FHIR-version}?; # FHIR Version this
# StructureDefinition targets
fhir:mapping @?; # External specification that the
# content is mapped to
fhir:kind @ AND
{fhir:v @fhirvs:structure-definition-kind}; # primitive-type | complex-type |
# resource | logical
fhir:abstract @; # Whether the structure is abstract
fhir:context @?; # If an extension, where it can be
# used in instances
fhir:contextInvariant @?; # FHIRPath invariants - when the
# extension can be used
fhir:type @; # Type defined or constrained by
# this structure
fhir:baseDefinition @?; # Definition that this type is
# constrained/specialized from
fhir:derivation @ AND
{fhir:v @fhirvs:type-derivation-rule}?; # specialization | constraint - How
# relates to base definition
fhir:snapshot @?; # Snapshot view of the structure
fhir:differential @?; # Differential view of the structure
}
# Differential view of the structure
EXTENDS @ CLOSED {
fhir:element @; # Definition of elements in the
# resource (if no
# StructureDefinition)
}
# External specification that the content is mapped to
EXTENDS @ CLOSED {
fhir:identity @; # Internal id when this mapping is
# used
fhir:uri @?; # Identifies what this mapping
# refers to
fhir:name @?; # Names what this mapping refers to
fhir:comment @?; # Versions, Issues, Scope
# limitations etc
}
# If an extension, where it can be used in instances
EXTENDS @ CLOSED {
fhir:type @ AND
{fhir:v @fhirvs:extension-context-type}; # fhirpath | element | extension
fhir:expression @; # Where the extension can be used in
# instances
}
# Snapshot view of the structure
EXTENDS @ CLOSED {
fhir:element @; # Definition of elements in the
# resource (if no
# StructureDefinition)
}
#---------------------- Cardinality Types (OneOrMore) -------------------
CLOSED {
rdf:first @ ;
rdf:rest [rdf:nil] OR @
}
CLOSED {
rdf:first @ ;
rdf:rest [rdf:nil] OR @
}
CLOSED {
rdf:first @ ;
rdf:rest [rdf:nil] OR @
}
CLOSED {
rdf:first @ ;
rdf:rest [rdf:nil] OR @
}
CLOSED {
rdf:first @ ;
rdf:rest [rdf:nil] OR @
}
CLOSED {
rdf:first @ ;
rdf:rest [rdf:nil] OR @
}
CLOSED {
rdf:first @ ;
rdf:rest [rdf:nil] OR @
}
CLOSED {
rdf:first @ ;
rdf:rest [rdf:nil] OR @
}
CLOSED {
rdf:first @ ;
rdf:rest [rdf:nil] OR @
}
#---------------------- Value Sets ------------------------
# All published FHIR Versions.
fhirvs:FHIR-version ["0.01" "0.05" "0.06" "0.11" "0.0" "0.0.80" "0.0.81" "0.0.82" "0.4" "0.4.0" "0.5" "0.5.0" "1.0" "1.0.0" "1.0.1" "1.0.2" "1.1" "1.1.0" "1.4" "1.4.0" "1.6" "1.6.0" "1.8" "1.8.0" "3.0" "3.0.0" "3.0.1" "3.0.2" "3.3" "3.3.0" "3.5" "3.5.0" "4.0" "4.0.0" "4.0.1" "4.1" "4.1.0" "4.2" "4.2.0" "4.3" "4.3.0" "4.3.0-cibuild" "4.3.0-snapshot1" "4.4" "4.4.0" "4.5" "4.5.0" "4.6" "4.6.0" "5.0" "5.0.0" "5.0.0-cibuild" "5.0.0-snapshot1" "5.0.0-snapshot2" "5.0.0-ballot" "5.0.0-snapshot3" "5.0.0-draft-final" "6.0" "6.0.0" "6.0.0-cibuild"]
# How an extension context is interpreted.
fhirvs:extension-context-type ["fhirpath" "element" "extension"]
# The lifecycle status of an artifact.
fhirvs:publication-status ["draft" "active" "retired" "unknown"]
# Defines the type of structure that a definition is describing.
fhirvs:structure-definition-kind ["primitive-type" "complex-type" "resource" "logical"]
# How a type relates to its baseDefinition.
fhirvs:type-derivation-rule ["specialization" "constraint"]