Foundation
This
page
is
part
of
the
Continuous
Integration
Build
of
FHIR
Specification
(v5.0.0:
R5
-
STU
).
This
is
the
current
published
version
in
it's
permanent
home
(it
will
always
(will
be
available
incorrect/inconsistent
at
this
URL).
For
a
full
list
of
available
versions,
see
times).
See
the
Directory
of
published
versions
| Responsible Owner: FHIR Infrastructure Work Group | Standards Status : Informative | Compartments : No defined compartments |
ShEx statement for requirements
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 <id.shex> IMPORT <uri.shex> IMPORT <url.shex> IMPORT <code.shex> IMPORT <Group.shex> IMPORT <string.shex> IMPORT <Coding.shex> IMPORT <Device.shex> IMPORT <boolean.shex> IMPORT <Patient.shex> IMPORT <dateTime.shex> IMPORT <markdown.shex> IMPORT <CareTeam.shex> IMPORT <canonical.shex> IMPORT <Identifier.shex> IMPORT <UsageContext.shex> IMPORT <Organization.shex> IMPORT <Practitioner.shex> IMPORT <ContactDetail.shex> IMPORT <RelatedPerson.shex> IMPORT <DomainResource.shex> IMPORT <CodeableConcept.shex> IMPORT <BackboneElement.shex> IMPORT <PractitionerRole.shex> IMPORT <HealthcareService.shex> start=@<Requirements> AND {fhir:nodeRole [fhir:treeRoot]} # A set of requirements - features of systems that are necessary <Requirements> EXTENDS @<DomainResource> CLOSED { a [fhir:Requirements]?; fhir:nodeRole [fhir:treeRoot]?; fhir:url @<uri>?; # Canonical identifier for this # Requirements, represented as a URI # (globally unique) fhir:identifier @<OneOrMore_Identifier>?; # Additional identifier for the # Requirements (business identifier) fhir:version @<string>?; # Business version of the # Requirements fhir:versionAlgorithm @<string> OR @<Coding> ?; # How to compare versions fhir:name @<string>?; # Name for this Requirements # (computer friendly) fhir:title @<string>?; # Name for this Requirements (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 requirements fhir:useContext @<OneOrMore_UsageContext>?; # The context that the content is # intended to support fhir:jurisdiction @<OneOrMore_CodeableConcept>?; # Intended jurisdiction for # Requirements (if applicable) fhir:purpose @<markdown>?; # Why this Requirements is defined fhir:copyright @<markdown>?; # Use and/or publishing restrictions fhir:copyrightLabel @<string>?; # Copyright holder and year(s) fhir:derivedFrom @<OneOrMore_canonical>?; # Other set of Requirements this # builds on fhir:reference @<OneOrMore_url>?; # External artifact (rule/document # etc. that) created this set of # requirements fhir:actor @<OneOrMore_canonical>?; # Actor for these requirements fhir:statement @<OneOrMore_Requirements.statement>?; # Actual statement as markdown } # Actual statement as markdown <Requirements.statement> EXTENDS @<BackboneElement> CLOSED { fhir:key @<id>; # Key that identifies this statement fhir:label @<string>?; # Short Human label for this # statement fhir:conformance @<OneOrMore_code> AND {fhir:v @fhirvs:conformance-expectation}?; # SHALL | SHOULD | MAY | SHOULD-NOT fhir:conditionality @<boolean>?; # Set to true if requirements # statement is conditional fhir:requirement @<markdown>; # The actual requirement fhir:derivedFrom @<string>?; # Another statement this # clarifies/restricts ([url#]key) fhir:parent @<string>?; # A larger requirement that this # requirement helps to refine and # enable fhir:satisfiedBy @<OneOrMore_url>?; # Design artifact that satisfies # this requirement fhir:reference @<OneOrMore_url>?; # External artifact (rule/document # etc. that) created this # requirement fhir:source @<OneOrMore_Reference_CareTeam_OR_Device_OR_Group_OR_HealthcareService_OR_Organization_OR_Patient_OR_Practitioner_OR_PractitionerRole_OR_RelatedPerson>?; # Who asked for this statement } #---------------------- 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_canonical> CLOSED { rdf:first @<canonical> ; rdf:rest [rdf:nil] OR @<OneOrMore_canonical> } <OneOrMore_url> CLOSED { rdf:first @<url> ; rdf:rest [rdf:nil] OR @<OneOrMore_url> } <OneOrMore_Requirements.statement> CLOSED { rdf:first @<Requirements.statement> ; rdf:rest [rdf:nil] OR @<OneOrMore_Requirements.statement> } <OneOrMore_code> CLOSED { rdf:first @<code> ; rdf:rest [rdf:nil] OR @<OneOrMore_code> } <OneOrMore_Reference_CareTeam_OR_Device_OR_Group_OR_HealthcareService_OR_Organization_OR_Patient_OR_Practitioner_OR_PractitionerRole_OR_RelatedPerson> CLOSED { rdf:first @<Reference> AND {fhir:link @<CareTeam> OR @<Device> OR @<Group> OR @<HealthcareService> OR @<Organization> OR @<Patient> OR @<Practitioner> OR @<PractitionerRole> OR @<RelatedPerson> } ; rdf:rest [rdf:nil] OR @<OneOrMore_Reference_CareTeam_OR_Device_OR_Group_OR_HealthcareService_OR_Organization_OR_Patient_OR_Practitioner_OR_PractitionerRole_OR_RelatedPerson> } #---------------------- Value Sets ------------------------ # Description Needed Here fhirvs:conformance-expectation ["SHALL" "SHOULD" "MAY" "SHOULD-NOT"] # The lifecycle status of an artifact. fhirvs:publication-status ["draft" "active" "retired" "unknown"]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#> # ShEx Version 2.2 IMPORT <Id.shex> IMPORT <Uri.shex> IMPORT <Url.shex> IMPORT <Code.shex> IMPORT <Group.shex> IMPORT <String.shex> IMPORT <Coding.shex> IMPORT <Device.shex> IMPORT <Boolean.shex> IMPORT <Patient.shex> IMPORT <DateTime.shex> IMPORT <Markdown.shex> IMPORT <CareTeam.shex> IMPORT <Canonical.shex> IMPORT <Identifier.shex> IMPORT <UsageContext.shex> IMPORT <Organization.shex> IMPORT <Practitioner.shex> IMPORT <ContactDetail.shex> IMPORT <RelatedPerson.shex> IMPORT <DomainResource.shex> IMPORT <CodeableConcept.shex> IMPORT <BackboneElement.shex> IMPORT <PractitionerRole.shex> IMPORT <HealthcareService.shex> start=@<Requirements> AND {fhir:nodeRole [fhir:treeRoot]} # A set of requirements - features of systems that are necessary <Requirements> EXTENDS @<DomainResource> CLOSED { a [fhir:Requirements]?;fhir:nodeRole [fhir:treeRoot]?; fhir:url @<Uri>?; # Canonical identifier for this # Requirements, represented as a URI # (globally unique) fhir:identifier @<OneOrMore_Identifier>?; # Additional identifier for the # Requirements (business identifier) fhir:version @<String>?; # Business version of the # Requirements fhir:versionAlgorithm @<String> OR @<Coding> ?; # How to compare versions fhir:name @<String>?; # Name for this Requirements # (computer friendly) fhir:title @<String>?; # Name for this Requirements (human # friendly) fhir:status @<Code> AND {fhir:v @fhirvs:publication-status}; # draft | active | retired | unknown fhir:category @<OneOrMore_Coding>?; # High level categorization of # Requirements fhir:experimental @<Boolean>?; # For testing only - never for 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 requirements fhir:useContext @<OneOrMore_UsageContext>?; # The context that the content is # intended to support fhir:jurisdiction @<OneOrMore_CodeableConcept>?; # Jurisdiction of the authority that # maintains the Requirements (if # applicable) fhir:purpose @<Markdown>?; # Why this Requirements is defined fhir:copyright @<Markdown>?; # Notice about intellectual property # ownership, can include # restrictions on use fhir:copyrightLabel @<String>?; # Copyright holder and year(s) fhir:derivedFrom @<OneOrMore_Canonical>?; # Other set of Requirements this # builds on fhir:imports @<OneOrMore_Requirements.imports>?; # External requirements that apply # here fhir:reference @<OneOrMore_Url>?; # External artifact (rule/document # etc. that) created this set of # requirements fhir:actor @<OneOrMore_Requirements.actor>?; # Actor for these requirements fhir:statement @<OneOrMore_Requirements.statement>?; # Conformance requirement statement } # Actor for these requirements <Requirements.actor> EXTENDS @<BackboneElement> CLOSED { fhir:reference @<Canonical>; # Actor referenced fhir:key @<Id>?; # Unique label for actor (used in # statements) } # Another statement this is refining, tightening, or establishing more context for <Requirements.statement.derivedFrom> EXTENDS @<BackboneElement> CLOSED { fhir:reference @<Canonical>?; # Pointer to Requirements instance fhir:key @<Id>; # Key of referenced statement } # Conformance requirement statement <Requirements.statement> EXTENDS @<BackboneElement> CLOSED { fhir:key @<Id>; # Key that identifies this statement fhir:label @<String>?; # Short Human label for this # statement fhir:conformance @<OneOrMore_Code> AND {fhir:v @fhirvs:conformance-expectation}?; # SHALL | SHOULD | MAY | SHOULD-NOT # | SHALL-NOT fhir:conditionality @<Boolean>?; # Set to true if requirements # statement is conditional fhir:requirement @<Markdown>; # The actual requirement fhir:derivedFrom @<Requirements.statement.derivedFrom>?; # Another statement this is # refining, tightening, or # establishing more context for fhir:partOf @<Requirements.statement.partOf>?; # Higher-level requirement or # statement which this is a logical # sub-requirement of fhir:satisfiedBy @<OneOrMore_Url>?; # Design artifact that satisfies # this requirement fhir:reference @<OneOrMore_Url>?; # External artifact (rule/document # etc. that) created this # requirement fhir:source @<OneOrMore_Reference_CareTeam_OR_Device_OR_Group_OR_HealthcareService_OR_Organization_OR_Patient_OR_Practitioner_OR_PractitionerRole_OR_RelatedPerson>?; # Who asked for this statement fhir:actor @<OneOrMore_Id>?; # Key of relevant actor } # Higher-level requirement or statement which this is a logical sub-requirement of <Requirements.statement.partOf> EXTENDS @<BackboneElement> CLOSED { fhir:reference @<Canonical>?; # Pointer to Requirements instance fhir:key @<Id>; # Key of referenced statement } # External requirements that apply here <Requirements.imports> EXTENDS @<BackboneElement> CLOSED { fhir:reference @<Canonical>; # Source of imported statements fhir:key @<OneOrMore_Id>?; # Statement key } #---------------------- Cardinality Types (OneOrMore) ------------------- <OneOrMore_Identifier> CLOSED { rdf:first @<Identifier> ; rdf:rest [rdf:nil] OR @<OneOrMore_Identifier> } <OneOrMore_Coding> CLOSED { rdf:first @<Coding> ; rdf:rest [rdf:nil] OR @<OneOrMore_Coding> } <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_Canonical> CLOSED { rdf:first @<Canonical> ; rdf:rest [rdf:nil] OR @<OneOrMore_Canonical> } <OneOrMore_Requirements.imports> CLOSED { rdf:first @<Requirements.imports> ; rdf:rest [rdf:nil] OR @<OneOrMore_Requirements.imports> } <OneOrMore_Url> CLOSED { rdf:first @<Url> ; rdf:rest [rdf:nil] OR @<OneOrMore_Url> } <OneOrMore_Requirements.actor> CLOSED { rdf:first @<Requirements.actor> ; rdf:rest [rdf:nil] OR @<OneOrMore_Requirements.actor> } <OneOrMore_Requirements.statement> CLOSED { rdf:first @<Requirements.statement> ; rdf:rest [rdf:nil] OR @<OneOrMore_Requirements.statement> } <OneOrMore_Code> CLOSED { rdf:first @<Code> ; rdf:rest [rdf:nil] OR @<OneOrMore_Code> } <OneOrMore_Reference_CareTeam_OR_Device_OR_Group_OR_HealthcareService_OR_Organization_OR_Patient_OR_Practitioner_OR_PractitionerRole_OR_RelatedPerson> CLOSED { rdf:first @<Reference> AND {fhir:l @<CareTeam> OR @<Device> OR @<Group> OR @<HealthcareService> OR @<Organization> OR @<Patient> OR @<Practitioner> OR @<PractitionerRole> OR @<RelatedPerson> } ; rdf:rest [rdf:nil] OR @<OneOrMore_Reference_CareTeam_OR_Device_OR_Group_OR_HealthcareService_OR_Organization_OR_Patient_OR_Practitioner_OR_PractitionerRole_OR_RelatedPerson> } <OneOrMore_Id> CLOSED { rdf:first @<Id> ; rdf:rest [rdf:nil] OR @<OneOrMore_Id> } #---------------------- Value Sets ------------------------ # Description Needed Here fhirvs:conformance-expectation ["SHALL" "SHOULD" "MAY" "SHOULD-NOT" "SHALL-NOT"] # 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.
FHIR
®©
HL7.org
2011+.
FHIR
R5
hl7.fhir.core#5.0.0
R6
hl7.fhir.core#6.0.0-ballot3
generated
on
Sun,
Mar
26,
2023
15:25+1100.
Thu,
Nov
27,
2025
16:54+0000.
Links:
Search
|
Version
History
|
Contents
|
Glossary
|
QA
|
Compare
to
R4
|
Compare
to
R4B
R5
|
Compare
to
Last
Ballot
|
|
Propose
a
change