Release 5

Publish-box (todo)

Genomicstudy.shex

Clinical Genomics Work GroupMaturity Level: N/AStandards Status: InformativeCompartments: Patient

Raw ShEx

ShEx statement for genomicstudy

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 <code.shex>
IMPORT <Task.shex>
IMPORT <Group.shex>
IMPORT <Device.shex>
IMPORT <string.shex>
IMPORT <Patient.shex>
IMPORT <dateTime.shex>
IMPORT <markdown.shex>
IMPORT <Resource.shex>
IMPORT <Specimen.shex>
IMPORT <Reference.shex>
IMPORT <Substance.shex>
IMPORT <Encounter.shex>
IMPORT <canonical.shex>
IMPORT <Procedure.shex>
IMPORT <Identifier.shex>
IMPORT <Annotation.shex>
IMPORT <Observation.shex>
IMPORT <Practitioner.shex>
IMPORT <Organization.shex>
IMPORT <DomainResource.shex>
IMPORT <ServiceRequest.shex>
IMPORT <CodeableConcept.shex>
IMPORT <BackboneElement.shex>
IMPORT <NutritionProduct.shex>
IMPORT <PractitionerRole.shex>
IMPORT <CodeableReference.shex>
IMPORT <DocumentReference.shex>
IMPORT <BiologicallyDerivedProduct.shex>


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

# Genomic Study
<GenomicStudy> EXTENDS @<DomainResource> CLOSED {   

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

    fhir:identifier @<OneOrMore_Identifier>?;  # Identifiers for this genomic study
    fhir:status @<code> AND
    	{fhir:v @fhirvs:genomicstudy-status};  # registered | available | cancelled 
                                            # | entered-in-error | unknown 
    fhir:type @<OneOrMore_CodeableConcept>?;  # The type of the study (e.g., 
                                            # Familial variant segregation, 
                                            # Functional variation detection, or 
                                            # Gene expression profiling) 
    fhir:subject @<Reference> AND {fhir:link 
    			@<BiologicallyDerivedProduct> OR 
    			@<Group> OR 
    			@<NutritionProduct> OR 
    			@<Patient> OR 
    			@<Substance> ? };  # The primary subject of the genomic 
                                            # study 
    fhir:encounter @<Reference> AND {fhir:link 
    			@<Encounter> ? }?;  # The healthcare event with which 
                                            # this genomics study is associated 
    fhir:startDate @<dateTime>?;            # When the genomic study was started
    fhir:basedOn @<OneOrMore_Reference_ServiceRequest_OR_Task>?;  # Event resources that the genomic 
                                            # study is based on 
    fhir:referrer @<Reference> AND {fhir:link 
    			@<Practitioner> OR 
    			@<PractitionerRole> ? }?;  # Healthcare professional who 
                                            # requested or referred the genomic 
                                            # study 
    fhir:interpreter @<OneOrMore_Reference_Practitioner_OR_PractitionerRole>?;  # Healthcare professionals who 
                                            # interpreted the genomic study 
    fhir:reason @<OneOrMore_CodeableReference>?;  # Why the genomic study was performed
    fhir:instantiatesCanonical @<canonical>?;  # The defined protocol that 
                                            # describes the study 
    fhir:instantiatesUri @<uri>?;           # The URL pointing to an externally 
                                            # maintained protocol that describes 
                                            # the study 
    fhir:note @<OneOrMore_Annotation>?;     # Comments related to the genomic 
                                            # study 
    fhir:description @<markdown>?;          # Description of the genomic study
    fhir:analysis @<OneOrMore_GenomicStudy.analysis>?;  # Genomic Analysis Event
}  

# Inputs for the analysis event
<GenomicStudy.analysis.input> EXTENDS @<BackboneElement> CLOSED {   
    fhir:file @<Reference> AND {fhir:link 
    			@<DocumentReference> ? }?;  # File containing input data
    fhir:type @<CodeableConcept>?;          # Type of input data (e.g., BAM, 
                                            # CRAM, or FASTA) 
    fhir:generatedBy @<Identifier>  OR 
    			(@<Reference>  AND {fhir:link @<GenomicStudy> })  ?;  # The analysis event or other 
                                            # GenomicStudy that generated this 
                                            # input file 
}  

# Performer for the analysis event
<GenomicStudy.analysis.performer> EXTENDS @<BackboneElement> CLOSED {   
    fhir:actor @<Reference> AND {fhir:link 
    			@<Device> OR 
    			@<Organization> OR 
    			@<Practitioner> OR 
    			@<PractitionerRole> ? }?;  # The organization, healthcare 
                                            # professional, or others who 
                                            # participated in performing this 
                                            # analysis 
    fhir:role @<CodeableConcept>?;          # Role of the actor for this analysis
}  

# Devices used for the analysis (e.g., instruments, software), with settings and parameters
<GenomicStudy.analysis.device> EXTENDS @<BackboneElement> CLOSED {   
    fhir:device @<Reference> AND {fhir:link 
    			@<Device> ? }?;  # Device used for the analysis
    fhir:function @<CodeableConcept>?;      # Specific function for the device 
                                            # used for the analysis 
}  

# Outputs for the analysis event
<GenomicStudy.analysis.output> EXTENDS @<BackboneElement> CLOSED {   
    fhir:file @<Reference> AND {fhir:link 
    			@<DocumentReference> ? }?;  # File containing output data
    fhir:type @<CodeableConcept>?;          # Type of output data (e.g., VCF, 
                                            # MAF, or BAM) 
}  

# Genomic Analysis Event
<GenomicStudy.analysis> EXTENDS @<BackboneElement> CLOSED {   
    fhir:identifier @<OneOrMore_Identifier>?;  # Identifiers for the analysis event
    fhir:methodType @<OneOrMore_CodeableConcept>?;  # Type of the methods used in the 
                                            # analysis (e.g., FISH, Karyotyping, 
                                            # MSI) 
    fhir:changeType @<OneOrMore_CodeableConcept>?;  # Type of the genomic changes 
                                            # studied in the analysis (e.g., 
                                            # DNA, RNA, or AA change) 
    fhir:genomeBuild @<CodeableConcept>?;   # Genome build that is used in this 
                                            # analysis 
    fhir:instantiatesCanonical @<canonical>?;  # The defined protocol that 
                                            # describes the analysis 
    fhir:instantiatesUri @<uri>?;           # The URL pointing to an externally 
                                            # maintained protocol that describes 
                                            # the analysis 
    fhir:title @<string>?;                  # Name of the analysis event (human 
                                            # friendly) 
    fhir:focus @<OneOrMore_Reference_Resource>?;  # What the genomic analysis is 
                                            # about, when it is not about the 
                                            # subject of record 
    fhir:specimen @<OneOrMore_Reference_Specimen>?;  # The specimen used in the analysis 
                                            # event 
    fhir:date @<dateTime>?;                 # The date of the analysis event
    fhir:note @<OneOrMore_Annotation>?;     # Any notes capture with the 
                                            # analysis event 
    fhir:protocolPerformed @<Reference> AND {fhir:link 
    			@<Procedure> OR 
    			@<Task> ? }?;  # The protocol that was performed 
                                            # for the analysis event 
    fhir:regionsStudied @<OneOrMore_Reference_DocumentReference_OR_Observation>?;  # The genomic regions to be studied 
                                            # in the analysis (BED file) 
    fhir:regionsCalled @<OneOrMore_Reference_DocumentReference_OR_Observation>?;  # Genomic regions actually called in 
                                            # the analysis event (BED file) 
    fhir:input @<OneOrMore_GenomicStudy.analysis.input>?;  # Inputs for the analysis event
    fhir:output @<OneOrMore_GenomicStudy.analysis.output>?;  # Outputs for the analysis event
    fhir:performer @<OneOrMore_GenomicStudy.analysis.performer>?;  # Performer for the analysis event
    fhir:device @<OneOrMore_GenomicStudy.analysis.device>?;  # Devices used for the analysis 
                                            # (e.g., instruments, software), 
                                            # with settings and parameters 
}  

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

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

<OneOrMore_CodeableConcept> CLOSED {
    rdf:first @<CodeableConcept>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_CodeableConcept> 
}

<OneOrMore_Reference_ServiceRequest_OR_Task> CLOSED {
    rdf:first @<Reference> AND {fhir:link 
			@<ServiceRequest> OR 
			@<Task> } ;
    rdf:rest [rdf:nil] OR @<OneOrMore_Reference_ServiceRequest_OR_Task> 
}

<OneOrMore_Reference_Practitioner_OR_PractitionerRole> CLOSED {
    rdf:first @<Reference> AND {fhir:link 
			@<Practitioner> OR 
			@<PractitionerRole> } ;
    rdf:rest [rdf:nil] OR @<OneOrMore_Reference_Practitioner_OR_PractitionerRole> 
}

<OneOrMore_CodeableReference> CLOSED {
    rdf:first @<CodeableReference>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_CodeableReference> 
}

<OneOrMore_Annotation> CLOSED {
    rdf:first @<Annotation>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_Annotation> 
}

<OneOrMore_GenomicStudy.analysis> CLOSED {
    rdf:first @<GenomicStudy.analysis>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_GenomicStudy.analysis> 
}

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

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

<OneOrMore_Reference_DocumentReference_OR_Observation> CLOSED {
    rdf:first @<Reference> AND {fhir:link 
			@<DocumentReference> OR 
			@<Observation> } ;
    rdf:rest [rdf:nil] OR @<OneOrMore_Reference_DocumentReference_OR_Observation> 
}

<OneOrMore_GenomicStudy.analysis.input> CLOSED {
    rdf:first @<GenomicStudy.analysis.input>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_GenomicStudy.analysis.input> 
}

<OneOrMore_GenomicStudy.analysis.output> CLOSED {
    rdf:first @<GenomicStudy.analysis.output>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_GenomicStudy.analysis.output> 
}

<OneOrMore_GenomicStudy.analysis.performer> CLOSED {
    rdf:first @<GenomicStudy.analysis.performer>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_GenomicStudy.analysis.performer> 
}

<OneOrMore_GenomicStudy.analysis.device> CLOSED {
    rdf:first @<GenomicStudy.analysis.device>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_GenomicStudy.analysis.device> 
}

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

# The status of the GenomicStudy.
fhirvs:genomicstudy-status ["registered" "available" "cancelled" "entered-in-error" "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.