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

Imagingselection.shex

Maturity Level : N/A
Responsible Owner: Imaging Integration Work Group Standards Status : Informative Compartments : Group , Patient

Raw ShEx

ShEx statement for imagingselection

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 <code.shex>

# ShEx Version 2.2
IMPORT <Id.shex>
IMPORT <Oid.shex>
IMPORT <Code.shex>

IMPORT <Task.shex>
IMPORT <Group.shex>
IMPORT <Device.shex>
IMPORT <string.shex>

IMPORT <Patient.shex>
IMPORT <instant.shex>
IMPORT <decimal.shex>

IMPORT <Instant.shex>
IMPORT <Decimal.shex>

IMPORT <Specimen.shex>
IMPORT <CareTeam.shex>
IMPORT <CarePlan.shex>
IMPORT <Endpoint.shex>
IMPORT <Reference.shex>
IMPORT <Procedure.shex>
IMPORT <Substance.shex>
IMPORT <Identifier.shex>
IMPORT <Medication.shex>
IMPORT <unsignedInt.shex>

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

IMPORT <Appointment.shex>
IMPORT <Practitioner.shex>
IMPORT <ImagingStudy.shex>
IMPORT <Organization.shex>
IMPORT <RelatedPerson.shex>
IMPORT <DomainResource.shex>
IMPORT <ServiceRequest.shex>
IMPORT <CodeableConcept.shex>
IMPORT <BackboneElement.shex>
IMPORT <PractitionerRole.shex>
IMPORT <DocumentReference.shex>
IMPORT <CodeableReference.shex>
IMPORT <HealthcareService.shex>
start=@<ImagingSelection> AND {fhir:nodeRole [fhir:treeRoot]}
# A selection of DICOM SOP instances and/or frames

# A selection of DICOM SOP instances

<ImagingSelection> EXTENDS @<DomainResource> CLOSED {   
    a [fhir:ImagingSelection]?;fhir:nodeRole [fhir:treeRoot]?;
    fhir:identifier @<OneOrMore_Identifier>?;  # Business Identifiers for Imaging 
                                            # Selection 
    fhir:status @<code> AND

    fhir:identifier @<OneOrMore_Identifier>?;  # Business identifier for imaging 
                                            # selection 
    fhir:status @<Code> AND

    	{fhir:v @fhirvs:imagingselection-status};  # available | entered-in-error | 
                                            # inactive | unknown 
    fhir:category @<OneOrMore_CodeableConcept>?;  # Classifies the imaging selection
    fhir:modality @<CodeableConcept>?;      # The distinct modality

    fhir:code @<CodeableConcept>;           # Imaging Selection purpose text or 
                                            # code 
    fhir:subject @<Reference> AND {fhir:link 

    fhir:subject @<Reference> AND {fhir:l 

    			@<Device> OR 
    			@<Group> OR 
    			@<Medication> OR 
    			@<Patient> OR 
    			@<Practitioner> OR 
    			@<Procedure> OR 
    			@<Specimen> OR 
    			@<Substance> ? }?;  # Subject of the selected instances
    fhir:issued @<instant>?;                # Date / Time when this imaging 
                                            # selection was created 
    fhir:performer @<OneOrMore_ImagingSelection.performer>?;  # Selectors of the instances (human 
                                            # or machine) 
    fhir:basedOn @<OneOrMore_Reference_Appointment_OR_CarePlan_OR_ServiceRequest_OR_Task>?;  # Associated requests
    fhir:derivedFrom @<Reference> AND {fhir:link 

    			@<Substance> ? }?;  # Who or what is the subject of the 
                                            # imaging selection 
    fhir:issued @<Instant>?;                # When the imaging selection was 
                                            # created 
    fhir:performer @<OneOrMore_ImagingSelection.performer>?;  # Who performed imaging selection 
                                            # and what they did 
    fhir:basedOn @<OneOrMore_Reference_Appointment_OR_CarePlan_OR_ServiceRequest_OR_Task>?;  # Fulfills plan or order
    fhir:derivedFrom @<Reference> AND {fhir:l 

    			@<DocumentReference> OR 
    			@<ImagingStudy> ? }?;  # The imaging study from which the 
                                            # imaging selection is derived 
    fhir:studyUid @<id>?;                   # DICOM Study Instance UID
    fhir:seriesUid @<id>?;                  # DICOM Series Instance UID
    fhir:seriesNumber @<unsignedInt>?;      # DICOM Series Number
    fhir:frameOfReferenceUid @<id>?;        # The Frame of Reference UID for the 

    fhir:studyUid @<Id>?;                   # DICOM Study Instance UID
    fhir:seriesUid @<Id>?;                  # DICOM Series Instance UID
    fhir:seriesNumber @<UnsignedInt>?;      # Numeric identifier of the selected 
                                            # series 
    fhir:frameOfReferenceUid @<Id>?;        # The Frame of Reference UID for the 

                                            # selected images 
    fhir:bodySite @<OneOrMore_CodeableReference>?;  # Body part examined

    fhir:bodySite @<OneOrMore_CodeableReference>?;  # Selected anatomic structure

    fhir:focus @<OneOrMore_Reference_ImagingSelection>?;  # Related resources that are the 
                                            # focus for the imaging selection 
    fhir:endpoint @<OneOrMore_Reference_Endpoint>?;  # The network services providing 
                                            # retrieval for the images 
                                            # referenced in the imaging 
                                            # selection 

                                            # access for the subset of the study 

    fhir:instance @<OneOrMore_ImagingSelection.instance>?;  # The selected instances
    fhir:imageRegion3D @<OneOrMore_ImagingSelection.imageRegion3D>?;  # A specific 3D region in a DICOM 
                                            # frame of reference 

    fhir:imageRegion3D @<OneOrMore_ImagingSelection.imageRegion3D>?;  # A 3D region in a DICOM frame of 
                                            # reference 

}  
# Selectors of the instances (human or machine)

# Who performed imaging selection and what they did

<ImagingSelection.performer> EXTENDS @<BackboneElement> CLOSED {   
    fhir:function @<CodeableConcept>?;      # Type of performer
    fhir:actor @<Reference> AND {fhir:link 

    fhir:function @<CodeableConcept>?;      # Type of performance
    fhir:actor @<Reference> AND {fhir:l 

    			@<CareTeam> OR 
    			@<Device> OR 
    			@<HealthcareService> OR 
    			@<Organization> OR 
    			@<Patient> OR 
    			@<Practitioner> OR 
    			@<PractitionerRole> OR 
    			@<RelatedPerson> ? }?;  # Author (human or machine)

    			@<RelatedPerson> ? };  # Who performed the imaging selection

}  
# A specific 3D region in a DICOM frame of reference

# The selected instances
<ImagingSelection.instance> EXTENDS @<BackboneElement> CLOSED {   
    fhir:uid @<Id>;                         # DICOM SOP Instance UID
    fhir:number @<UnsignedInt>?;            # The number of this instance in the 
                                            # series 
    fhir:sopClass @<Oid>?;                  # DICOM class type
    fhir:frameNumber @<OneOrMore_PositiveInt>?;  # Selected frames
    fhir:referencedContentItemIdentifier @<OneOrMore_PositiveInt>?;  # Selected content items
    fhir:segmentNumber @<OneOrMore_PositiveInt>?;  # Selected segments
    fhir:regionOfInterest @<OneOrMore_PositiveInt>?;  # Selected regions of interest
    fhir:waveFormChannel @<OneOrMore_PositiveInt>?;  # Selected waveform channel
    fhir:imageRegion2D @<OneOrMore_ImagingSelection.instance.imageRegion2D>?;  # A 2D region in an image
}  
# A 3D region in a DICOM frame of reference

<ImagingSelection.imageRegion3D> EXTENDS @<BackboneElement> CLOSED {   
    fhir:regionType @<code> AND

    fhir:regionType @<Code> AND

    	{fhir:v @fhirvs:imagingselection-3dgraphictype};  # point | multipoint | polyline | 
                                            # polygon | ellipse | ellipsoid 
    fhir:coordinate @<OneOrMore_decimal>;   # Specifies the coordinates that 

    fhir:coordinate @<OneOrMore_Decimal>;   # Specifies the coordinates that 

                                            # define the image region 
}  
# The selected instances
<ImagingSelection.instance> EXTENDS @<BackboneElement> CLOSED {   
    fhir:uid @<id>;                         # DICOM SOP Instance UID
    fhir:number @<unsignedInt>?;            # DICOM Instance Number
    fhir:sopClass @<oid>?;                  # DICOM SOP Class UID
    fhir:subset @<OneOrMore_string>?;       # The selected subset of the SOP 
                                            # Instance 
    fhir:imageRegion2D @<OneOrMore_ImagingSelection.instance.imageRegion2D>?;  # A specific 2D region in a DICOM 
                                            # image / frame 
}  
# A specific 2D region in a DICOM image / frame

# A 2D region in an image

<ImagingSelection.instance.imageRegion2D> EXTENDS @<BackboneElement> CLOSED {   
    fhir:regionType @<code> AND

    fhir:regionType @<Code> AND

    	{fhir:v @fhirvs:imagingselection-2dgraphictype};  # point | polyline | multipoint | 
                                            # circle | ellipse 
    fhir:coordinate @<OneOrMore_decimal>;   # Specifies the coordinates that 
                                            # define the image region 

    fhir:coordinate @<OneOrMore_Decimal>;   # The coordinates that define the 
                                            # image region 

}  
#---------------------- 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_ImagingSelection.performer> CLOSED {
    rdf:first @<ImagingSelection.performer>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_ImagingSelection.performer> 
}
<OneOrMore_Reference_Appointment_OR_CarePlan_OR_ServiceRequest_OR_Task> CLOSED {
    rdf:first @<Reference> AND {fhir:link 

    rdf:first @<Reference> AND {fhir:l 

			@<Appointment> OR 
			@<CarePlan> OR 
			@<ServiceRequest> OR 
			@<Task> } ;
    rdf:rest [rdf:nil] OR @<OneOrMore_Reference_Appointment_OR_CarePlan_OR_ServiceRequest_OR_Task> 
}
<OneOrMore_CodeableReference> CLOSED {
    rdf:first @<CodeableReference>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_CodeableReference> 
}
<OneOrMore_Reference_ImagingSelection> CLOSED {
    rdf:first @<Reference> AND {fhir:link 

    rdf:first @<Reference> AND {fhir:l 

			@<ImagingSelection> } ;
    rdf:rest [rdf:nil] OR @<OneOrMore_Reference_ImagingSelection> 
}
<OneOrMore_Reference_Endpoint> CLOSED {
    rdf:first @<Reference> AND {fhir:link 

    rdf:first @<Reference> AND {fhir:l 

			@<Endpoint> } ;
    rdf:rest [rdf:nil] OR @<OneOrMore_Reference_Endpoint> 
}
<OneOrMore_ImagingSelection.instance> CLOSED {
    rdf:first @<ImagingSelection.instance>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_ImagingSelection.instance> 
}
<OneOrMore_ImagingSelection.imageRegion3D> CLOSED {
    rdf:first @<ImagingSelection.imageRegion3D>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_ImagingSelection.imageRegion3D> 
}
<OneOrMore_decimal> CLOSED {
    rdf:first @<decimal>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_decimal> 
}
<OneOrMore_string> CLOSED {
    rdf:first @<string>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_string> 

<OneOrMore_PositiveInt> CLOSED {
    rdf:first @<PositiveInt>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_PositiveInt> 

}
<OneOrMore_ImagingSelection.instance.imageRegion2D> CLOSED {
    rdf:first @<ImagingSelection.instance.imageRegion2D>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_ImagingSelection.instance.imageRegion2D> 
}
<OneOrMore_Decimal> CLOSED {
    rdf:first @<Decimal>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_Decimal> 
}

#---------------------- Value Sets ------------------------
# The type of 2D coordinates describing a 2D image region.
fhirvs:imagingselection-2dgraphictype ["point" "polyline" "multipoint" "circle" "ellipse"]
# The type of coordinates describing a 3D image region.
fhirvs:imagingselection-3dgraphictype ["point" "multipoint" "polyline" "polygon" "ellipse" "ellipsoid"]
# The status of the ImagingSelection.
fhirvs:imagingselection-status ["available" "entered-in-error" "inactive" "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.