FHIR CI-Build

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

Measure.shex

Clinical Quality Information Work GroupMaturity Level: N/AStandards Status: InformativeCompartments: No defined compartments

Raw ShEx

ShEx statement for measure

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 <date.shex>
IMPORT <Group.shex>
IMPORT <string.shex>
IMPORT <Coding.shex>
IMPORT <Period.shex>
IMPORT <boolean.shex>
IMPORT <dateTime.shex>
IMPORT <markdown.shex>
IMPORT <Reference.shex>
IMPORT <canonical.shex>
IMPORT <Identifier.shex>
IMPORT <Expression.shex>
IMPORT <UsageContext.shex>
IMPORT <ContactDetail.shex>
IMPORT <DomainResource.shex>
IMPORT <CodeableConcept.shex>
IMPORT <RelatedArtifact.shex>
IMPORT <BackboneElement.shex>

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

# A quality measure definition
<Measure> EXTENDS @<DomainResource> CLOSED {   
    a [fhir:Measure]?;fhir:nodeRole [fhir:treeRoot]?;

    fhir:url @<uri>?;                       # Canonical identifier for this 
                                            # measure, represented as a URI 
                                            # (globally unique) 
    fhir:identifier @<OneOrMore_Identifier>?;  # Additional identifier for the 
                                            # measure 
    fhir:version @<string>?;                # Business version of the measure
    fhir:versionAlgorithm @<string>  OR 
    			@<Coding>  ?;  # How to compare versions
    fhir:name @<string>?;                   # Name for this measure (computer 
                                            # friendly) 
    fhir:title @<string>?;                  # Name for this measure (human 
                                            # friendly) 
    fhir:subtitle @<string>?;               # Subordinate title of the measure
    fhir:status @<code> AND
    	{fhir:v @fhirvs:publication-status};  # draft | active | retired | unknown
    fhir:experimental @<boolean>?;          # For testing purposes, not real 
                                            # usage 
    fhir:subject @<CodeableConcept>  OR 
    			(@<Reference>  AND {fhir:link @<Group> })  ?;  # E.g. Patient, Practitioner, 
                                            # RelatedPerson, Organization, 
                                            # Location, Device 
    fhir:basis @<code> AND
    	{fhir:v @fhirvs:fhir-types}?;  # Population basis
    fhir:date @<dateTime>?;                 # Date last changed
    fhir:publisher @<string>?;              # Name of the publisher/steward 
                                            # (organization or individual) 
    fhir:contact @<OneOrMore_ContactDetail>?;  # Contact details for the publisher
    fhir:description @<markdown>?;          # Natural language description of 
                                            # the measure 
    fhir:useContext @<OneOrMore_UsageContext>?;  # The context that the content is 
                                            # intended to support 
    fhir:jurisdiction @<OneOrMore_CodeableConcept>?;  # Intended jurisdiction for measure 
                                            # (if applicable) 
    fhir:purpose @<markdown>?;              # Why this measure is defined
    fhir:usage @<markdown>?;                # Describes the clinical usage of 
                                            # the measure 
    fhir:copyright @<markdown>?;            # Use and/or publishing restrictions
    fhir:copyrightLabel @<string>?;         # Copyright holder and year(s)
    fhir:approvalDate @<date>?;             # When the measure was approved by 
                                            # publisher 
    fhir:lastReviewDate @<date>?;           # When the measure was last reviewed 
                                            # by the publisher 
    fhir:effectivePeriod @<Period>?;        # When the measure is expected to be 
                                            # used 
    fhir:topic @<OneOrMore_CodeableConcept>?;  # The category of the measure, such 
                                            # as Education, Treatment, 
                                            # Assessment, etc 
    fhir:author @<OneOrMore_ContactDetail>?;  # Who authored the content
    fhir:editor @<OneOrMore_ContactDetail>?;  # Who edited the content
    fhir:reviewer @<OneOrMore_ContactDetail>?;  # Who reviewed the content
    fhir:endorser @<OneOrMore_ContactDetail>?;  # Who endorsed the content
    fhir:relatedArtifact @<OneOrMore_RelatedArtifact>?;  # Additional documentation, 
                                            # citations, etc 
    fhir:library @<OneOrMore_canonical>?;   # Logic used by the measure
    fhir:disclaimer @<markdown>?;           # Disclaimer for use of the measure 
                                            # or its referenced content 
    fhir:scoring @<CodeableConcept>?;       # proportion | ratio | 
                                            # continuous-variable | cohort 
    fhir:scoringUnit @<CodeableConcept>?;   # What units?
    fhir:compositeScoring @<CodeableConcept>?;  # opportunity | all-or-nothing | 
                                            # linear | weighted 
    fhir:type @<OneOrMore_CodeableConcept>?;  # process | outcome | structure | 
                                            # patient-reported-outcome | 
                                            # composite 
    fhir:riskAdjustment @<markdown>?;       # How risk adjustment is applied for 
                                            # this measure 
    fhir:rateAggregation @<markdown>?;      # How is rate aggregation performed 
                                            # for this measure 
    fhir:rationale @<markdown>?;            # Detailed description of why the 
                                            # measure exists 
    fhir:clinicalRecommendationStatement @<markdown>?;  # Summary of clinical guidelines
    fhir:improvementNotation @<CodeableConcept>?;  # increase | decrease
    fhir:term @<OneOrMore_Measure.term>?;   # Defined terms used in the measure 
                                            # documentation 
    fhir:guidance @<markdown>?;             # Additional guidance for 
                                            # implementers (deprecated) 
    fhir:group @<OneOrMore_Measure.group>?;  # Population criteria group
    fhir:supplementalData @<OneOrMore_Measure.supplementalData>?;  # What other data should be reported 
                                            # with the measure 
}  

# Population criteria
<Measure.group.population> EXTENDS @<BackboneElement> CLOSED {   
    fhir:linkId @<string>?;                 # Unique id for population in measure
    fhir:code @<CodeableConcept>?;          # initial-population | numerator | 
                                            # numerator-exclusion | denominator 
                                            # | denominator-exclusion | 
                                            # denominator-exception | 
                                            # measure-population | 
                                            # measure-population-exclusion | 
                                            # measure-observation 
    fhir:description @<markdown>?;          # The human readable description of 
                                            # this population criteria 
    fhir:criteria @<Expression>?;           # The criteria that defines this 
                                            # population 
    fhir:groupDefinition @<Reference> AND {fhir:link 
    			@<Group> ? }?;  # A group resource that defines this 
                                            # population 
    fhir:inputPopulationId @<string>?;      # Which population
    fhir:aggregateMethod @<CodeableConcept>?;  # Aggregation method for a measure 
                                            # score (e.g. sum, average, median, 
                                            # minimum, maximum, count) 
}  

# Stratifier criteria component for the measure
<Measure.group.stratifier.component> EXTENDS @<BackboneElement> CLOSED {   
    fhir:linkId @<string>?;                 # Unique id for stratifier component 
                                            # in measure 
    fhir:code @<CodeableConcept>?;          # Meaning of the stratifier component
    fhir:description @<markdown>?;          # The human readable description of 
                                            # this stratifier component 
    fhir:criteria @<Expression>?;           # Component of how the measure 
                                            # should be stratified 
    fhir:groupDefinition @<Reference> AND {fhir:link 
    			@<Group> ? }?;  # A group resource that defines this 
                                            # population 
}  

# What other data should be reported with the measure
<Measure.supplementalData> EXTENDS @<BackboneElement> CLOSED {   
    fhir:linkId @<string>?;                 # Unique id for supplementalData in 
                                            # measure 
    fhir:code @<CodeableConcept>?;          # Meaning of the supplemental data
    fhir:usage @<OneOrMore_CodeableConcept>?;  # supplemental-data | 
                                            # risk-adjustment-factor 
    fhir:description @<markdown>?;          # The human readable description of 
                                            # this supplemental data 
    fhir:criteria @<Expression>;            # Expression describing additional 
                                            # data to be reported 
}  

# Stratifier criteria for the measure
<Measure.group.stratifier> EXTENDS @<BackboneElement> CLOSED {   
    fhir:linkId @<string>?;                 # Unique id for stratifier in measure
    fhir:code @<CodeableConcept>?;          # Meaning of the stratifier
    fhir:description @<markdown>?;          # The human readable description of 
                                            # this stratifier 
    fhir:criteria @<Expression>?;           # How the measure should be 
                                            # stratified 
    fhir:groupDefinition @<Reference> AND {fhir:link 
    			@<Group> ? }?;  # A group resource that defines this 
                                            # population 
    fhir:component @<OneOrMore_Measure.group.stratifier.component>?;  # Stratifier criteria component for 
                                            # the measure 
}  

# Defined terms used in the measure documentation
<Measure.term> EXTENDS @<BackboneElement> CLOSED {   
    fhir:code @<CodeableConcept>?;          # What term?
    fhir:definition @<markdown>?;           # Meaning of the term
}  

# Population criteria group
<Measure.group> EXTENDS @<BackboneElement> CLOSED {   
    fhir:linkId @<string>?;                 # Unique id for group in measure
    fhir:code @<CodeableConcept>?;          # Meaning of the group
    fhir:description @<markdown>?;          # Summary description
    fhir:type @<OneOrMore_CodeableConcept>?;  # process | outcome | structure | 
                                            # patient-reported-outcome | 
                                            # composite 
    fhir:subject @<CodeableConcept>  OR 
    			(@<Reference>  AND {fhir:link @<Group> })  ?;  # E.g. Patient, Practitioner, 
                                            # RelatedPerson, Organization, 
                                            # Location, Device 
    fhir:basis @<code> AND
    	{fhir:v @fhirvs:fhir-types}?;  # Population basis
    fhir:scoring @<CodeableConcept>?;       # proportion | ratio | 
                                            # continuous-variable | cohort 
    fhir:scoringUnit @<CodeableConcept>?;   # What units?
    fhir:rateAggregation @<markdown>?;      # How is rate aggregation performed 
                                            # for this measure 
    fhir:improvementNotation @<CodeableConcept>?;  # increase | decrease
    fhir:library @<OneOrMore_canonical>?;   # Logic used by the measure group
    fhir:population @<OneOrMore_Measure.group.population>?;  # Population criteria
    fhir:stratifier @<OneOrMore_Measure.group.stratifier>?;  # Stratifier criteria for the measure
}  

#---------------------- Cardinality Types (OneOrMore) -------------------
<OneOrMore_Identifier> CLOSED {
    rdf:first @<Identifier>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_Identifier> 
}
<OneOrMore_ContactDetail> CLOSED {
    rdf:first @<ContactDetail>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_ContactDetail> 
}
<OneOrMore_UsageContext> CLOSED {
    rdf:first @<UsageContext>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_UsageContext> 
}
<OneOrMore_CodeableConcept> CLOSED {
    rdf:first @<CodeableConcept>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_CodeableConcept> 
}
<OneOrMore_RelatedArtifact> CLOSED {
    rdf:first @<RelatedArtifact>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_RelatedArtifact> 
}
<OneOrMore_canonical> CLOSED {
    rdf:first @<canonical>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_canonical> 
}
<OneOrMore_Measure.term> CLOSED {
    rdf:first @<Measure.term>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_Measure.term> 
}
<OneOrMore_Measure.group> CLOSED {
    rdf:first @<Measure.group>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_Measure.group> 
}
<OneOrMore_Measure.supplementalData> CLOSED {
    rdf:first @<Measure.supplementalData>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_Measure.supplementalData> 
}
<OneOrMore_Measure.group.stratifier.component> CLOSED {
    rdf:first @<Measure.group.stratifier.component>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_Measure.group.stratifier.component> 
}
<OneOrMore_Measure.group.population> CLOSED {
    rdf:first @<Measure.group.population>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_Measure.group.population> 
}
<OneOrMore_Measure.group.stratifier> CLOSED {
    rdf:first @<Measure.group.stratifier>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_Measure.group.stratifier> 
}

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

# All FHIR types
fhirvs:fhir-types ["Base" "Element" "BackboneElement" "DataType" "Address" "Annotation" "Attachment" "Availability" "BackboneType" "Dosage" "ElementDefinition" "MarketingStatus" "ProductShelfLife" "RelativeTime" "Timing" "CodeableConcept" "CodeableReference" "Coding" "ContactDetail" "ContactPoint" "Contributor" "DataRequirement" "Expression" "ExtendedContactDetail" "Extension" "HumanName" "Identifier" "Meta" "MonetaryComponent" "Money" "Narrative" "ParameterDefinition" "Period" "PrimitiveType" "base64Binary" "boolean" "date" "dateTime" "decimal" "instant" "integer" "positiveInt" "unsignedInt" "integer64" "string" "code" "id" "markdown" "time" "uri" "canonical" "oid" "url" "uuid" "Quantity" "Age" "Count" "Distance" "Duration" "Range" "Ratio" "RatioRange" "Reference" "RelatedArtifact" "SampledData" "Signature" "TriggerDefinition" "UsageContext" "VirtualServiceDetail" "xhtml" "Resource" "Binary" "Bundle" "DomainResource" "Account" "ActivityDefinition" "ActorDefinition" "AdministrableProductDefinition" "AdverseEvent" "AllergyIntolerance" "Appointment" "AppointmentResponse" "ArtifactAssessment" "AuditEvent" "Basic" "BiologicallyDerivedProduct" "BiologicallyDerivedProductDispense" "BodyStructure" "CanonicalResource" "CapabilityStatement" "CarePlan" "CareTeam" "ChargeItem" "ChargeItemDefinition" "Citation" "Claim" "ClaimResponse" "ClinicalImpression" "ClinicalUseDefinition" "CodeSystem" "Communication" "CommunicationRequest" "CompartmentDefinition" "Composition" "ConceptMap" "Condition" "ConditionDefinition" "Consent" "Contract" "Coverage" "CoverageEligibilityRequest" "CoverageEligibilityResponse" "DetectedIssue" "Device" "DeviceAlert" "DeviceAssociation" "DeviceDefinition" "DeviceDispense" "DeviceMetric" "DeviceRequest" "DeviceUsage" "DiagnosticReport" "DocumentReference" "Encounter" "EncounterHistory" "Endpoint" "EnrollmentRequest" "EnrollmentResponse" "EpisodeOfCare" "EventDefinition" "Evidence" "EvidenceReport" "EvidenceVariable" "ExampleScenario" "ExplanationOfBenefit" "FamilyMemberHistory" "Flag" "FormularyItem" "GenomicStudy" "Goal" "GraphDefinition" "Group" "GuidanceResponse" "HealthcareService" "ImagingSelection" "ImagingStudy" "Immunization" "ImmunizationEvaluation" "ImmunizationRecommendation" "ImplementationGuide" "Ingredient" "InsurancePlan" "InsuranceProduct" "InventoryItem" "InventoryReport" "Invoice" "Library" "Linkage" "List" "Location" "ManufacturedItemDefinition" "Measure" "MeasureReport" "Medication" "MedicationAdministration" "MedicationDispense" "MedicationKnowledge" "MedicationRequest" "MedicationStatement" "MedicinalProductDefinition" "MessageDefinition" "MessageHeader" "MetadataResource" "MolecularDefinition" "MolecularSequence" "NamingSystem" "NutritionIntake" "NutritionOrder" "NutritionProduct" "Observation" "ObservationDefinition" "OperationDefinition" "OperationOutcome" "Organization" "OrganizationAffiliation" "PackagedProductDefinition" "Patient" "PaymentNotice" "PaymentReconciliation" "Permission" "Person" "PersonalRelationship" "PlanDefinition" "Practitioner" "PractitionerRole" "Procedure" "Provenance" "Questionnaire" "QuestionnaireResponse" "RegulatedAuthorization" "RelatedPerson" "RequestOrchestration" "Requirements" "ResearchStudy" "ResearchSubject" "RiskAssessment" "Schedule" "SearchParameter" "ServiceRequest" "Slot" "Specimen" "SpecimenDefinition" "StructureDefinition" "StructureMap" "Subscription" "SubscriptionStatus" "SubscriptionTopic" "Substance" "SubstanceDefinition" "SubstanceNucleicAcid" "SubstancePolymer" "SubstanceProtein" "SubstanceReferenceInformation" "SubstanceSourceMaterial" "SupplyDelivery" "SupplyRequest" "Task" "TerminologyCapabilities" "TestPlan" "TestReport" "TestScript" "Transport" "ValueSet" "VerificationResult" "VisionPrescription" "Parameters"]

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