Publish-box (todo)
Linkage.shex
Raw ShEx
ShEx statement for linkage
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 <code.shex>
IMPORT <boolean.shex>
IMPORT <Resource.shex>
IMPORT <Reference.shex>
IMPORT <Organization.shex>
IMPORT <Practitioner.shex>
IMPORT <DomainResource.shex>
IMPORT <BackboneElement.shex>
IMPORT <PractitionerRole.shex>
start=@<Linkage> AND {fhir:nodeRole [fhir:treeRoot]}
# Links records for 'same' item
<Linkage> EXTENDS @<DomainResource> CLOSED {
a [fhir:Linkage]?;
fhir:nodeRole [fhir:treeRoot]?;
fhir:active @<boolean>?; # Whether this linkage assertion is
# active or not
fhir:author @<Reference> AND {fhir:link
@<Organization> OR
@<Practitioner> OR
@<PractitionerRole> ? }?; # Who is responsible for linkages
fhir:item @<OneOrMore_Linkage.item>; # Item to be linked
}
# Item to be linked
<Linkage.item> EXTENDS @<BackboneElement> CLOSED {
fhir:type @<code> AND
{fhir:v @fhirvs:linkage-type}; # source | alternate | historical
fhir:resource @<Reference> AND {fhir:link
@<Resource> ? }; # Resource being linked
}
#---------------------- Cardinality Types (OneOrMore) -------------------
<OneOrMore_Linkage.item> CLOSED {
rdf:first @<Linkage.item> ;
rdf:rest [rdf:nil] OR @<OneOrMore_Linkage.item>
}
#---------------------- Value Sets ------------------------
# Used to distinguish different roles a resource can play within a set of linked resources.
fhirvs:linkage-type ["source" "alternate" "historical"]
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.