R6 Ballot (3rd Draft) FHIR CI-Build

Publish-box (todo) This is the Continuous Integration Build of FHIR (will be incorrect/inconsistent at times).
See the Directory of published versions

Parameters.shex

Maturity Level : N/A
Responsible Owner: FHIR Infrastructure Work Group Standards Status : Informative Compartments : No defined compartments

Raw ShEx

ShEx statement for parameters

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 <oid.shex>
IMPORT <uri.shex>
IMPORT <url.shex>

# ShEx Version 2.2
IMPORT <Id.shex>
IMPORT <Oid.shex>
IMPORT <Uri.shex>
IMPORT <Url.shex>

IMPORT <Age.shex>
IMPORT <code.shex>
IMPORT <date.shex>
IMPORT <time.shex>
IMPORT <uuid.shex>

IMPORT <Code.shex>
IMPORT <Date.shex>
IMPORT <Time.shex>
IMPORT <Uuid.shex>

IMPORT <Meta.shex>
IMPORT <Count.shex>
IMPORT <Money.shex>
IMPORT <Range.shex>
IMPORT <Ratio.shex>
IMPORT <string.shex>

IMPORT <String.shex>

IMPORT <Coding.shex>
IMPORT <Period.shex>
IMPORT <Timing.shex>
IMPORT <Dosage.shex>
IMPORT <boolean.shex>
IMPORT <decimal.shex>
IMPORT <instant.shex>
IMPORT <integer.shex>

IMPORT <Boolean.shex>
IMPORT <Decimal.shex>
IMPORT <Instant.shex>
IMPORT <Integer.shex>

IMPORT <Address.shex>
IMPORT <Resource.shex>
IMPORT <dateTime.shex>
IMPORT <markdown.shex>

IMPORT <DateTime.shex>
IMPORT <Markdown.shex>

IMPORT <Distance.shex>
IMPORT <Duration.shex>
IMPORT <Quantity.shex>
IMPORT <canonical.shex>
IMPORT <integer64.shex>

IMPORT <Canonical.shex>
IMPORT <Integer64.shex>

IMPORT <HumanName.shex>
IMPORT <Reference.shex>
IMPORT <Signature.shex>
IMPORT <Annotation.shex>
IMPORT <Attachment.shex>
IMPORT <Identifier.shex>
IMPORT <RatioRange.shex>
IMPORT <Expression.shex>
IMPORT <positiveInt.shex>
IMPORT <unsignedInt.shex>

IMPORT <PositiveInt.shex>
IMPORT <UnsignedInt.shex>

IMPORT <SampledData.shex>
IMPORT <base64Binary.shex>

IMPORT <Base64Binary.shex>

IMPORT <ContactPoint.shex>
IMPORT <UsageContext.shex>
IMPORT <Availability.shex>
IMPORT <ContactDetail.shex>
IMPORT <BackboneElement.shex>
IMPORT <CodeableConcept.shex>
IMPORT <DataRequirement.shex>
IMPORT <RelatedArtifact.shex>
IMPORT <CodeableReference.shex>
IMPORT <TriggerDefinition.shex>
IMPORT <ParameterDefinition.shex>
IMPORT <VirtualServiceDetail.shex>

IMPORT <ExtendedContactDetail.shex>
start=@<Parameters> AND {fhir:nodeRole [fhir:treeRoot]}
# Operation Request or Response
<Parameters> EXTENDS @<Resource> CLOSED {   
    a [fhir:Parameters]?;fhir:nodeRole [fhir:treeRoot]?;
    fhir:parameter @<OneOrMore_Parameters.parameter>?;  # Operation Parameter
}  
# Operation Parameter
<Parameters.parameter> EXTENDS @<BackboneElement> CLOSED {   
    fhir:name @<string>;                    # Name from the definition
    fhir:value @<base64Binary>  OR 
    			@<boolean>  OR 
    			@<canonical>  OR 
    			@<code>  OR 
    			@<date>  OR 
    			@<dateTime>  OR 
    			@<decimal>  OR 
    			@<id>  OR 
    			@<instant>  OR 
    			@<integer>  OR 
    			@<integer64>  OR 
    			@<markdown>  OR 
    			@<oid>  OR 
    			@<positiveInt>  OR 
    			@<string>  OR 
    			@<time>  OR 
    			@<unsignedInt>  OR 
    			@<uri>  OR 
    			@<url>  OR 
    			@<uuid>  OR 

    fhir:name @<String>;                    # Name from the definition
    fhir:value @<Base64Binary>  OR 
    			@<Boolean>  OR 
    			@<Canonical>  OR 
    			@<Code>  OR 
    			@<Date>  OR 
    			@<DateTime>  OR 
    			@<Decimal>  OR 
    			@<Id>  OR 
    			@<Instant>  OR 
    			@<Integer>  OR 
    			@<Integer64>  OR 
    			@<Markdown>  OR 
    			@<Oid>  OR 
    			@<PositiveInt>  OR 
    			@<String>  OR 
    			@<Time>  OR 
    			@<UnsignedInt>  OR 
    			@<Uri>  OR 
    			@<Url>  OR 
    			@<Uuid>  OR 

    			@<Address>  OR 
    			@<Age>  OR 
    			@<Annotation>  OR 
    			@<Attachment>  OR 
    			@<CodeableConcept>  OR 
    			@<CodeableReference>  OR 
    			@<Coding>  OR 
    			@<ContactPoint>  OR 
    			@<Count>  OR 
    			@<Distance>  OR 
    			@<Duration>  OR 
    			@<HumanName>  OR 
    			@<Identifier>  OR 
    			@<Money>  OR 
    			@<Period>  OR 
    			@<Quantity>  OR 
    			@<Range>  OR 
    			@<Ratio>  OR 
    			@<RatioRange>  OR 
    			@<Reference>  OR 
    			@<SampledData>  OR 
    			@<Signature>  OR 
    			@<Timing>  OR 
    			@<ContactDetail>  OR 
    			@<DataRequirement>  OR 
    			@<Expression>  OR 
    			@<ParameterDefinition>  OR 
    			@<RelatedArtifact>  OR 
    			@<TriggerDefinition>  OR 
    			@<UsageContext>  OR 
    			@<Availability>  OR 
    			@<ExtendedContactDetail>  OR 
    			@<VirtualServiceDetail>  OR 

    			@<Dosage>  OR 
    			@<Meta>  ?;  # If parameter is a data type
    fhir:resource @<Resource>?;             # If parameter is a whole resource
    fhir:part @<OneOrMore_Parameters.parameter>?;  # Named part of a multi-part 
                                            # parameter 
}  
# Named part of a multi-part parameter
<Parameters.parameter.partnull> CLOSED {   
}  
#---------------------- Cardinality Types (OneOrMore) -------------------
<OneOrMore_Parameters.parameter> CLOSED {
    rdf:first @<Parameters.parameter>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_Parameters.parameter> 
}

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.