PREFIX fhir:
PREFIX fhirvs:
PREFIX xsd:
BASE
start=@ AND {fhir:nodeRole [fhir:treeRoot]}
# A map from one set of concepts to one or more other concepts
CLOSED {
a [fhir:ConceptMap];
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:ConceptMap.url @?; # Canonical identifier for this
# concept map, represented as a URI
# (globally unique)
fhir:ConceptMap.identifier @?; # Additional identifier for the
# concept map
fhir:ConceptMap.version @?; # Business version of the concept map
fhir:ConceptMap.name @?; # Name for this concept map
# (computer friendly)
fhir:ConceptMap.title @?; # Name for this concept map (human
# friendly)
fhir:ConceptMap.status @ AND
{fhir:value @fhirvs:publication-status}; # draft | active | retired | unknown
fhir:ConceptMap.experimental @?; # For testing purposes, not real
# usage
fhir:ConceptMap.date @?; # Date last changed
fhir:ConceptMap.publisher @?; # Name of the publisher
# (organization or individual)
fhir:ConceptMap.contact @*; # Contact details for the publisher
fhir:ConceptMap.description @?; # Natural language description of
# the concept map
fhir:ConceptMap.useContext @*; # The context that the content is
# intended to support
fhir:ConceptMap.jurisdiction @*; # Intended jurisdiction for concept
# map (if applicable)
fhir:ConceptMap.purpose @?; # Why this concept map is defined
fhir:ConceptMap.copyright @?; # Use and/or publishing restrictions
( # The source value set that contains
# the concepts that are being mapped
fhir:ConceptMap.sourceUri @ |
fhir:ConceptMap.sourceCanonical @
)?;
( # The target value set which
# provides context for the mappings
fhir:ConceptMap.targetUri @ |
fhir:ConceptMap.targetCanonical @
)?;
fhir:ConceptMap.group @*; # Same source and target systems
fhir:index xsd:integer? # Relative position in a list
}
# Same source and target systems
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:ConceptMap.group.source @?; # Source system where concepts to be
# mapped are defined
fhir:ConceptMap.group.sourceVersion @?; # Specific version of the code
# system
fhir:ConceptMap.group.target @?; # Target system that the concepts
# are to be mapped to
fhir:ConceptMap.group.targetVersion @?; # Specific version of the code
# system
fhir:ConceptMap.group.element @+; # Mappings for a concept from the
# source set
fhir:ConceptMap.group.unmapped @?; # What to do when there is no
# mapping for the source concept
fhir:index xsd:integer? # Relative position in a list
}
# Mappings for a concept from the source set
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:ConceptMap.group.element.code @?; # Identifies element being mapped
fhir:ConceptMap.group.element.display @?; # Display for the code
fhir:ConceptMap.group.element.target @*; # Concept in target system for
# element
fhir:index xsd:integer? # Relative position in a list
}
# What to do when there is no mapping for the source concept
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:ConceptMap.group.unmapped.mode @ AND
{fhir:value @fhirvs:conceptmap-unmapped-mode}; # provided | fixed | other-map
fhir:ConceptMap.group.unmapped.code @?; # Fixed code when mode = fixed
fhir:ConceptMap.group.unmapped.display @?; # Display for the code
fhir:ConceptMap.group.unmapped.url @?; # canonical reference to an
# additional ConceptMap to use for
# mapping if the source concept is
# unmapped
fhir:index xsd:integer? # Relative position in a list
}
# Concept in target system for element
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:ConceptMap.group.element.target.code @?; # Code that identifies the target
# element
fhir:ConceptMap.group.element.target.display @?; # Display for the code
fhir:ConceptMap.group.element.target.equivalence @ AND
{fhir:value @fhirvs:concept-map-equivalence}; # relatedto | equivalent | equal |
# wider | subsumes | narrower |
# specializes | inexact | unmatched
# | disjoint
fhir:ConceptMap.group.element.target.comment @?; # Description of status/issues in
# mapping
fhir:ConceptMap.group.element.target.dependsOn @*; # Other elements required for this
# mapping (from context)
fhir:ConceptMap.group.element.target.product @*; # Other concepts that this mapping
# also produces
fhir:index xsd:integer? # Relative position in a list
}
# Other concepts that this mapping also produces
CLOSED {
fhir:index xsd:integer? # Relative position in a list
}
# Other elements required for this mapping (from context)
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:ConceptMap.group.element.target.dependsOn.property @; # Reference to property mapping
# depends on
fhir:ConceptMap.group.element.target.dependsOn.system @?; # Code System (if necessary)
fhir:ConceptMap.group.element.target.dependsOn.value @; # Value of the referenced element
fhir:ConceptMap.group.element.target.dependsOn.display @?; # Display for the code (if value is
# a code)
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
}
# 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
}
# 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
}
# 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?
}
# Primitive Type canonical
CLOSED {
fhir:Element.id string?; # xml:id (or equivalent in JSON)
fhir:Element.extension @*; # Additional content defined by
# implementations
fhir:value canonical?; # Primitive value for canonical
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 @