ShEx statement for actordefinition
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 <uri.shex>
IMPORT <url.shex>
IMPORT <code.shex>
IMPORT <string.shex>
IMPORT <Coding.shex>
IMPORT <boolean.shex>
IMPORT <dateTime.shex>
IMPORT <markdown.shex>
IMPORT <canonical.shex>
IMPORT <Identifier.shex>
IMPORT <UsageContext.shex>
IMPORT <ContactDetail.shex>
IMPORT <DomainResource.shex>
IMPORT <CodeableConcept.shex>
start=@<ActorDefinition> AND {fhir:nodeRole [fhir:treeRoot]}
# An application that exchanges data
<ActorDefinition> EXTENDS @<DomainResource> CLOSED {
a [fhir:ActorDefinition]?;
fhir:nodeRole [fhir:treeRoot]?;
fhir:url @<uri>?; # Canonical identifier for this
# actor definition, represented as a
# URI (globally unique)
fhir:identifier @<OneOrMore_Identifier>?; # Additional identifier for the
# actor definition (business
# identifier)
fhir:version @<string>?; # Business version of the actor
# definition
fhir:versionAlgorithm @<string> OR
@<Coding> ?; # How to compare versions
fhir:name @<string>?; # Name for this actor definition
# (computer friendly)
fhir:title @<string>?; # Name for this actor definition
# (human friendly)
fhir:status @<code> AND
{fhir:v @fhirvs:publication-status}; # draft | active | retired | unknown
fhir:experimental @<boolean>?; # For testing purposes, not real
# usage
fhir:date @<dateTime>?; # Date last changed
fhir:publisher @<string>?; # Name of the publisher/steward
# (organization or individual)
fhir:contact @<OneOrMore_ContactDetail>?; # Contact details for the publisher
fhir:description @<markdown>?; # Natural language description of
# the actor
fhir:useContext @<OneOrMore_UsageContext>?; # The context that the content is
# intended to support
fhir:jurisdiction @<OneOrMore_CodeableConcept>?; # Intended jurisdiction for actor
# definition (if applicable)
fhir:purpose @<markdown>?; # Why this actor definition is
# defined
fhir:copyright @<markdown>?; # Use and/or publishing restrictions
fhir:copyrightLabel @<string>?; # Copyright holder and year(s)
fhir:type @<code> AND
{fhir:v @fhirvs:examplescenario-actor-type}; # person | system
fhir:documentation @<markdown>?; # Functionality associated with the
# actor
fhir:reference @<OneOrMore_url>?; # Reference to more information
# about the actor
fhir:capabilities @<canonical>?; # CapabilityStatement for the actor
# (if applicable)
fhir:derivedFrom @<OneOrMore_canonical>?; # Definition of this actor in
# another context / IG
}
#---------------------- Cardinality Types (OneOrMore) -------------------
<OneOrMore_Identifier> CLOSED {
rdf:first @<Identifier> ;
rdf:rest [rdf:nil] OR @<OneOrMore_Identifier>
}
<OneOrMore_ContactDetail> CLOSED {
rdf:first @<ContactDetail> ;
rdf:rest [rdf:nil] OR @<OneOrMore_ContactDetail>
}
<OneOrMore_UsageContext> CLOSED {
rdf:first @<UsageContext> ;
rdf:rest [rdf:nil] OR @<OneOrMore_UsageContext>
}
<OneOrMore_CodeableConcept> CLOSED {
rdf:first @<CodeableConcept> ;
rdf:rest [rdf:nil] OR @<OneOrMore_CodeableConcept>
}
<OneOrMore_url> CLOSED {
rdf:first @<url> ;
rdf:rest [rdf:nil] OR @<OneOrMore_url>
}
<OneOrMore_canonical> CLOSED {
rdf:first @<canonical> ;
rdf:rest [rdf:nil] OR @<OneOrMore_canonical>
}
#---------------------- Value Sets ------------------------
# The type of actor - system or human.
fhirvs:examplescenario-actor-type ["person" "system"]
# 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.