Release 5

This page is part of the FHIR Specification (v5.0.0: R5 - STU). This is the current published version in it's permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3

Researchsubject.shex

Biomedical Research and Regulation Work GroupMaturity Level: N/AStandards Status: InformativeCompartments: Device, Patient

Raw ShEx

ShEx statement for researchsubject

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 <code.shex>
IMPORT <Group.shex>
IMPORT <Period.shex>
IMPORT <Device.shex>
IMPORT <Patient.shex>
IMPORT <Consent.shex>
IMPORT <Specimen.shex>
IMPORT <dateTime.shex>
IMPORT <Reference.shex>
IMPORT <Substance.shex>
IMPORT <Identifier.shex>
IMPORT <Medication.shex>
IMPORT <ResearchStudy.shex>
IMPORT <DomainResource.shex>
IMPORT <BackboneElement.shex>
IMPORT <CodeableConcept.shex>
IMPORT <BiologicallyDerivedProduct.shex>


start=@<ResearchSubject> AND {fhir:nodeRole [fhir:treeRoot]}

# Participant or object which is the recipient of investigative activities in a study
<ResearchSubject> EXTENDS @<DomainResource> CLOSED {   

    a [fhir:ResearchSubject]?;
    fhir:nodeRole [fhir:treeRoot]?;

    fhir:identifier @<OneOrMore_Identifier>?;  # Business Identifier for research 
                                            # subject in a study 
    fhir:status @<code> AND
    	{fhir:v @fhirvs:publication-status};  # draft | active | retired | unknown
    fhir:progress @<OneOrMore_ResearchSubject.progress>?;  # Subject status
    fhir:period @<Period>?;                 # Start and end of participation
    fhir:study @<Reference> AND {fhir:link 
    			@<ResearchStudy> ? };  # Study subject is part of
    fhir:subject @<Reference> AND {fhir:link 
    			@<BiologicallyDerivedProduct> OR 
    			@<Device> OR 
    			@<Group> OR 
    			@<Medication> OR 
    			@<Patient> OR 
    			@<Specimen> OR 
    			@<Substance> ? };  # Who or what is part of study
    fhir:assignedComparisonGroup @<id>?;    # What path should be followed
    fhir:actualComparisonGroup @<id>?;      # What path was followed
    fhir:consent @<OneOrMore_Reference_Consent>?;  # Agreement to participate in study
}  

# Subject status
<ResearchSubject.progress> EXTENDS @<BackboneElement> CLOSED {   
    fhir:type @<CodeableConcept>?;          # state | milestone
    fhir:subjectState @<CodeableConcept>?;  # candidate | eligible | follow-up | 
                                            # ineligible | not-registered | 
                                            # off-study | on-study | 
                                            # on-study-intervention | 
                                            # on-study-observation | 
                                            # pending-on-study | 
                                            # potential-candidate | screening | 
                                            # withdrawn 
    fhir:milestone @<CodeableConcept>?;     # SignedUp | Screened | Randomized
    fhir:reason @<CodeableConcept>?;        # State change reason
    fhir:startDate @<dateTime>?;            # State change date
    fhir:endDate @<dateTime>?;              # State change date
}  

#---------------------- Cardinality Types (OneOrMore) -------------------

<OneOrMore_Identifier> CLOSED {
    rdf:first @<Identifier>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_Identifier> 
}

<OneOrMore_ResearchSubject.progress> CLOSED {
    rdf:first @<ResearchSubject.progress>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_ResearchSubject.progress> 
}

<OneOrMore_Reference_Consent> CLOSED {
    rdf:first @<Reference> AND {fhir:link 
			@<Consent> } ;
    rdf:rest [rdf:nil] OR @<OneOrMore_Reference_Consent> 
}

#---------------------- Value Sets ------------------------

# 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.