Id: QiCoreProfileValidation Url: QiCoreProfileValidation FHIR Version: 0.1.0 Name: QiCoreProfileValidation Title: QiCoreProfileValidation FHIR Status: active Experimental: true Scoring: system: http://terminology.hl7.org/CodeSystem/measure-scoring code: cohort display: Cohort Improvement Notation: system: http://terminology.hl7.org/CodeSystem/measure-improvement-notation code: decrease display: Decreased score indicates improvement Type: system: http://terminology.hl7.org/CodeSystem/measure-type code: process Date: 2022-12-12 Publisher: HL7 International - [Some] Work Group Description: A cohort measure with supplemental data elements for all profiles in QICore Populations: Group Population Description Initial Population Supplemental Data: expression system SDE AdverseEvent http://terminology.hl7.org/CodeSystem/measure-data-usage SDE AllergyIntolerance http://terminology.hl7.org/CodeSystem/measure-data-usage SDE BodyStructure http://terminology.hl7.org/CodeSystem/measure-data-usage SDE CarePlan http://terminology.hl7.org/CodeSystem/measure-data-usage SDE CareTeam http://terminology.hl7.org/CodeSystem/measure-data-usage SDE Claim http://terminology.hl7.org/CodeSystem/measure-data-usage SDE Communication http://terminology.hl7.org/CodeSystem/measure-data-usage SDE CommunicationNotDone http://terminology.hl7.org/CodeSystem/measure-data-usage SDE CommunicationRequest http://terminology.hl7.org/CodeSystem/measure-data-usage SDE Condition http://terminology.hl7.org/CodeSystem/measure-data-usage SDE Coverage http://terminology.hl7.org/CodeSystem/measure-data-usage SDE Device http://terminology.hl7.org/CodeSystem/measure-data-usage SDE DeviceNotRequested http://terminology.hl7.org/CodeSystem/measure-data-usage SDE DeviceRequest http://terminology.hl7.org/CodeSystem/measure-data-usage SDE DeviceUseStatement http://terminology.hl7.org/CodeSystem/measure-data-usage SDE DiagnosticReportLab http://terminology.hl7.org/CodeSystem/measure-data-usage SDE DiagnosticReportNote http://terminology.hl7.org/CodeSystem/measure-data-usage SDE Encounter http://terminology.hl7.org/CodeSystem/measure-data-usage SDE EncounterPerformed http://terminology.hl7.org/CodeSystem/measure-data-usage SDE FamilyMemberHistory http://terminology.hl7.org/CodeSystem/measure-data-usage SDE Flag http://terminology.hl7.org/CodeSystem/measure-data-usage SDE Goal http://terminology.hl7.org/CodeSystem/measure-data-usage SDE ImagingStudy http://terminology.hl7.org/CodeSystem/measure-data-usage SDE Immunization http://terminology.hl7.org/CodeSystem/measure-data-usage SDE ImmunizationEvaluation http://terminology.hl7.org/CodeSystem/measure-data-usage SDE ImmunizationNotDone http://terminology.hl7.org/CodeSystem/measure-data-usage SDE ImmunizationRecommendation http://terminology.hl7.org/CodeSystem/measure-data-usage SDE ImplantableDevice http://terminology.hl7.org/CodeSystem/measure-data-usage SDE Location http://terminology.hl7.org/CodeSystem/measure-data-usage SDE Medication http://terminology.hl7.org/CodeSystem/measure-data-usage SDE MedicationAdministration http://terminology.hl7.org/CodeSystem/measure-data-usage SDE MedicationAdministrationNotDone http://terminology.hl7.org/CodeSystem/measure-data-usage SDE MedicationDispense http://terminology.hl7.org/CodeSystem/measure-data-usage SDE MedicationDispenseDeclined http://terminology.hl7.org/CodeSystem/measure-data-usage SDE MedicationNotRequested http://terminology.hl7.org/CodeSystem/measure-data-usage SDE MedicationRequest http://terminology.hl7.org/CodeSystem/measure-data-usage SDE MedicationStatement http://terminology.hl7.org/CodeSystem/measure-data-usage SDE NutritionOrder http://terminology.hl7.org/CodeSystem/measure-data-usage SDE Observation http://terminology.hl7.org/CodeSystem/measure-data-usage SDE ObservationCancelled http://terminology.hl7.org/CodeSystem/measure-data-usage SDE Organization http://terminology.hl7.org/CodeSystem/measure-data-usage SDE Patient http://terminology.hl7.org/CodeSystem/measure-data-usage SDE Practitioner http://terminology.hl7.org/CodeSystem/measure-data-usage SDE PractitionerRole http://terminology.hl7.org/CodeSystem/measure-data-usage SDE Procedure http://terminology.hl7.org/CodeSystem/measure-data-usage SDE ProcedurePerformed http://terminology.hl7.org/CodeSystem/measure-data-usage SDE ProcedureNotDone http://terminology.hl7.org/CodeSystem/measure-data-usage SDE RelatedPerson http://terminology.hl7.org/CodeSystem/measure-data-usage SDE ServiceNotRequested http://terminology.hl7.org/CodeSystem/measure-data-usage SDE ServiceRequest http://terminology.hl7.org/CodeSystem/measure-data-usage SDE Specimen http://terminology.hl7.org/CodeSystem/measure-data-usage SDE Substance http://terminology.hl7.org/CodeSystem/measure-data-usage SDE Task http://terminology.hl7.org/CodeSystem/measure-data-usage SDE TaskRejected http://terminology.hl7.org/CodeSystem/measure-data-usage Jurisdiction: US Topic: 57024-2 Approval Date: 2022-12-12 Last Review Date: 2022-12-12 Effective Period: 2021-01-01..2021-12-31 Logic Definitions: Group Scoring Population Criteria Expression Measure scoring: cohort Initial Population Initial Population
// QICoreCoverage // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-coverage define Coverage: [Coverage]
define "SDE Coverage": Profiles.Coverage
// QICoreProcedure // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure define Procedure: [Procedure] P where P.status in { 'preparation', 'in-progress', 'on-hold', 'completed' }
define "SDE Procedure": Profiles.Procedure
// QICoreEncounter // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter define Encounter: [Encounter]
define EncounterPerformed: Encounter E where E.status = 'finished'
define "SDE EncounterPerformed": Profiles.EncounterPerformed
// QICorePractitioner // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-practitioner define Practitioner: [Practitioner]
define "SDE Practitioner": Profiles.Practitioner
/* define "Flexible Sigmoidoscopy Performed": [Procedure: "Flexible Sigmoidoscopy"] FlexibleSigmoidoscopy where FlexibleSigmoidoscopy.status = 'completed' and Global."Normalize Interval"(FlexibleSigmoidoscopy.performed) ends 5 years or less on or before end of "Measurement Period" define "Flexible Sigmoidoscopy Performed": QICore.ProcedurePerformed FlexibleSigmoidoscopy where FlexibleSigmoidoscopy.code in "Flexible Sigmoidoscopy" and FlexibleSigmoidoscopy.performed.toInterval() ends 5 years or less on or before end of "Measurement Period" */ // QICoreProcedureNotDone // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedurenotdonedefine ProcedureNotDone: [Procedure] P where P.status = 'not-done'
define "SDE ProcedureNotDone": Profiles.ProcedureNotDone
// QICoreImagingStudy // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-imagingstudy define ImagingStudy: [ImagingStudy]
define "SDE ImagingStudy": Profiles.ImagingStudy
// FHIR Vital Signs // USCore Smoking Status // USCore Laboratory Result // USCore Pediatric BMI for Age // USCore Pediatric Weight for Height // USCore Pulse Oximetry // QICoreOrganization // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-organization define Organization: [Organization]
define "SDE Organization": Profiles.Organization
// QICoreAllergyIntolerance // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-allergyintolerance define AllergyIntolerance: [AllergyIntolerance]
define "SDE AllergyIntolerance": Profiles.AllergyIntolerance
// QICoreImmunization // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-immunization define Immunization: [Immunization] I where I.status = 'completed'
define "SDE Immunization": Profiles.Immunization
// QICorePatient // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-patient define Patient: [Patient]
define "SDE Patient": Profiles.Patient
// QICoreServiceNotRequested // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-servicenotrequested define ServiceNotRequested: [ServiceRequest] SR where SR.status = 'completed' and SR.doNotPerform is true
define "SDE ServiceNotRequested": Profiles.ServiceNotRequested
// QICoreTaskRejected // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-taskrejected // TODO: What about cancelled and failed? define TaskRejected: [Task] T where T.status = 'rejected'
define "SDE TaskRejected": Profiles.TaskRejected
// QICoreClaim // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-claim define Claim: [Claim]
// QICoreCommunicationRequest // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-communicationrequest define CommunicationRequest: [CommunicationRequest]
define "SDE CommunicationRequest": Profiles.CommunicationRequest
//where D.category ~ "http://terminology.hl7.org/CodeSystem/v2-0074#LAB" // QICoreDiagnosticReportNote // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-diagnosticreport-note define DiagnosticReportNote: [DiagnosticReport] D
define "SDE DiagnosticReportNote": Profiles.DiagnosticReportNote
// QICoreCarePlan // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-careplan define CarePlan: [CarePlan]
define "SDE CarePlan": Profiles.CarePlan
// QICoreMedicationAdministrationNotDone // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-mednotadministered define MedicationAdministrationNotDone: [MedicationAdministration] M where M.status = 'not-done'
define "SDE MedicationAdministrationNotDone": Profiles.MedicationAdministrationNotDone
// QICorePractitionerRole // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-practitionerrole define PractitionerRole: [PractitionerRole]
define "SDE PractitionerRole": Profiles.PractitionerRole
// QICoreCareTeam // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-careteam define CareTeam: [CareTeam]
define "SDE CareTeam": Profiles.CareTeam
/* define "No VTE Prophylaxis Device Applied": ["Procedure": "Device Application"] DeviceApplied let DeviceNotDoneTiming: Global.GetExtension(DeviceApplied, 'qicore-recorded').value where (DeviceApplied.usedCode in "Intermittent pneumatic compression devices (IPC)" or DeviceApplied.usedCode in "Venous foot pumps (VFP)" or DeviceApplied.usedCode in "Graduated compression stockings (GCS)" ) and DeviceApplied.status = 'not-done' return {id: DeviceApplied.id, requestStatusReason: DeviceApplied.statusReason, authoredOn: DeviceNotDoneTiming} define "No VTE Prophylaxis Device Applied": QICore.ProcedureNotDone DeviceApplied where DeviceApplied.code in "Device Application" and (DeviceApplied.usedCode in "Intermittent pneumatic compression devices (IPC)" or DeviceApplied.usedCode in "Venous foot pumps (VFP)" or DeviceApplied.usedCode in "Graduated compression stockings (GCS)") return { id: DeviceApplied.id, requestStatusReason: DeviceApplied.statusReason, authoredOn: DeviceApplied.recorded() } */ // QICoreRelatedPerson // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-relatedpersondefine RelatedPerson: [RelatedPerson]
define "SDE RelatedPerson": Profiles.RelatedPerson
/* define "Antithrombotic Not Given at Discharge": ["MedicationRequest": medication in "Antithrombotic Therapy"] NoAntithromboticDischarge where NoAntithromboticDischarge.doNotPerform is true and (NoAntithromboticDischarge.reasonCode in "Medical Reason" or NoAntithromboticDischarge.reasonCode in "Patient Refusal") and exists (NoAntithromboticDischarge.category C where FHIRHelpers.ToConcept(C) ~ FC."Community" or FHIRHelpers.ToConcept(C) ~ FC."Discharge") and NoAntithromboticDischarge.status = 'completed' and NoAntithromboticDischarge.intent = 'order' define "Antithrombotic Not Given at Discharge": QICore.MedicationNotRequested NoAntithromboticDischarge where NoAntithromboticDischarge.medication in "Antithrombotic Therapy" and (NoAntithromboticDischarge.reasonCode in "Medical Reason" or NoAntithromboticDischarge.reasonCode in "Patient Refusal") and (NoAntithromboticDischarge.isCommunity() or NoAntithromboticDischarge.isDischarge()) and NoAntithromboticDischarge.intent = 'order' define "Antithrombotic Not Given at Discharge": ["MedicationNotRequested": medication in "Antithrombotic Therapy"] NoAntithromboticDischarge where (NoAntithromboticDischarge.reasonCode in "Medical Reason" or NoAntithromboticDischarge.reasonCode in "Patient Refusal") and (NoAntithromboticDischarge.isCommunity() or NoAntithromboticDischarge.isDischarge()) and NoAntithromboticDischarge.intent = 'order' */ // QICoreMedicationRequest // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationrequestdefine MedicationRequest: [MedicationRequest] R where R.status in { 'active', 'on-hold', 'completed', 'draft' } and R.doNotPerform is not true
define "SDE MedicationRequest": Profiles.MedicationRequest
// QICoreDiagnosticReportLab // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-diagnosticreport-lab define DiagnosticReportLab: [DiagnosticReport] D
define "SDE DiagnosticReportLab": Profiles.DiagnosticReportLab
// QICoreCommunication // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-communication define Communication: [Communication] C where C.status in { 'preparation', 'in-progress', 'on-hold', 'completed' }
define "SDE Communication": Profiles.Communication
// QICoreMedicationDispenseDeclined // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationdispensedeclined define MedicationDispenseDeclined: [MedicationDispense] D where D.status in { 'cancelled', 'declined' }
define "SDE MedicationDispenseDeclined": Profiles.MedicationDispenseDeclined
// QICoreImmunizationRecommendation // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-immunizationrec define ImmunizationRecommendation: [ImmunizationRecommendation]
define "SDE ImmunizationRecommendation": Profiles.ImmunizationRecommendation
// USCoreImplantableDevice // @profile: http://hl7.org/fhir/us/core/StructureDefinition/us-core-implantable-device define ImplantableDevice: [Device]
define "SDE ImplantableDevice": Profiles.ImplantableDevice
/* define "Antithrombotic Therapy at Discharge": ["MedicationRequest": medication in "Antithrombotic Therapy"] Antithrombotic where exists (Antithrombotic.category C where FHIRHelpers.ToConcept(C) in { Global."Community", Global."Discharge" }) and Antithrombotic.status in { 'active', 'completed' } and Antithrombotic.intent.value = 'order' define "Antithrombotic Therapy at Discharge": QICore.MedicationRequest Antithrombotic where Antithrombotic.medication in "Antithrombotic Therapy" and (Antithrombotic.isCommunity() or Antithrombotic.isDischarge()) and Antithrombotic.status in { 'active', 'completed' } and Antithrombotic.intent = 'order' define "Antithrombotic Therapy at Discharge": [MedicationRequest: medication in "Antithrombotic Therapy"] Antithrombotic where (Antithrombotic.isCommunity() or Antithrombotic.isDischarge()) and Antithrombotic.status in { 'active', 'completed' } and Antithrombotic.intent = 'order' */ // QICoreMedicationStatement // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationstatementdefine MedicationStatement: [MedicationStatement]
define "SDE MedicationStatement": Profiles.MedicationStatement
// QICoreLocation // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-location define Location: [Location]
define "SDE Location": Profiles.Location
// QICoreMedicationNotRequested // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-mednotrequested define MedicationNotRequested: [MedicationRequest] R where R.status = 'completed' and R.doNotPerform is true
define "SDE MedicationNotRequested": Profiles.MedicationNotRequested
// QICoreDeviceNotRequested // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-devicenotrequested define DeviceNotRequested: [DeviceRequest] D where D.status = 'completed' and D.doNotPerform() is true
define "SDE DeviceNotRequested": Profiles.DeviceNotRequested
define "SDE Encounter": Profiles.Encounter
// QICoreCommunicationNotDone // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-communicationnotdone define CommunicationNotDone: [Communication] C where C.status = 'not-done'
define "SDE CommunicationNotDone": Profiles.CommunicationNotDone
// QICoreSubstance // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-substance define Substance: [Substance]
define "SDE Substance": Profiles.Substance
// QICoreMedicationAdministration // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationadministration define MedicationAdministration: [MedicationAdministration] M where M.status in { 'in-progress', 'on-hold', 'completed' }
define "SDE MedicationAdministration": Profiles.MedicationAdministration
// QICoreObservation // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation define Observation: [Observation] O where O.status in { 'registered', 'preliminary', 'final', 'amended', 'corrected' }
define "SDE Observation": Profiles.Observation
// QICoreDevice // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-device define Device: [Device]
define "SDE Device": Profiles.Device
// QICoreNutritionOrder // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-nutritionorder define NutritionOrder: [NutritionOrder]
define "SDE NutritionOrder": Profiles.NutritionOrder
// QICoreObservationCancelled // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observationcancelled define ObservationCancelled: [Observation] O where O.status = 'cancelled'
define "SDE ObservationCancelled": Profiles.ObservationCancelled
// QICoreFlag // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-flag define Flag: [Flag]
define ProcedurePerformed: Procedure P where P.status = 'completed'
define "SDE ProcedurePerformed": Profiles.ProcedurePerformed
// QICoreDeviceRequest // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-devicerequest define DeviceRequest: [DeviceRequest] D where D.status in { 'draft', 'active', 'on-hold', 'revoked', 'completed' } and D.doNotPerform() is not true
define "SDE DeviceRequest": Profiles.DeviceRequest
// QICoreBodyStructure // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-bodystructure define BodyStructure: [BodyStructure]
define "SDE BodyStructure": Profiles.BodyStructure
// QICoreFamilyMemberHistory // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-familymemberhistory define FamilyMemberHistory: [FamilyMemberHistory]
define "SDE FamilyMemberHistory": Profiles.FamilyMemberHistory
// QICoreMedication // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medication define Medication: [Medication]
define "SDE Medication": Profiles.Medication
/* define "Intervention Comfort Measures": (["ServiceRequest": "Comfort Measures"] P where P.intent = 'order' ) union (["Procedure": "Comfort Measures"] InterventionPerformed where InterventionPerformed.status in {'completed', 'in-progress'} ) define "Intervention Comfort Measures": (QICore.ServiceRequest SR where SR.code in "Comfort Measures" and SR.intent = 'order' ) union ( QICore.Procedure InterventionPerformed where InterventionPerformed.code in "Comfort Measures" and InterventionPerformed.status in { 'completed', 'in-progress' } ) */ // QICoreSpecimen // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-specimendefine Specimen: [Specimen]
define "SDE Specimen": Profiles.Specimen
// Profiles // QICoreAdverseEvent // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-adverseevent define AdverseEvent: [AdverseEvent]
define "SDE AdverseEvent": Profiles.AdverseEvent
// QICoreTask // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-task define Task: [Task] T where T.status in { 'draft', 'requested', 'received', 'accepted', 'ready', 'in-progress', 'on-hold', 'completed' }
// QICoreImmunizationNotDone // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-immunizationnotdone define ImmunizationNotDone: [Immunization] I where I.status = 'not-done'
define "SDE ImmunizationNotDone": Profiles.ImmunizationNotDone
// QICoreMedicationDispense // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationdispense define MedicationDispense: [MedicationDispense] D where D.status in { 'preparation', 'in-progress', 'on-hold', 'completed' }
define "SDE MedicationDispense": Profiles.MedicationDispense
// QICoreImmunizationEvaluation // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-immunizationevaluation define ImmunizationEvaluation: [ImmunizationEvaluation]
define "SDE ImmunizationEvaluation": Profiles.ImmunizationEvaluation
// QICoreDeviceUseStatement // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-deviceusestatement define DeviceUseStatement: [DeviceUseStatement]
define "SDE DeviceUseStatement": Profiles.DeviceUseStatement
// QICoreGoal // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-goal define Goal: [Goal]
// QICoreCondition // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition define Condition: [Condition]
define "SDE Condition": Profiles.Condition
/* define "No VTE Prophylaxis Device Order": (["ServiceRequest": "Venous foot pumps (VFP)"] union ["ServiceRequest": "Intermittent pneumatic compression devices (IPC)"] union ["ServiceRequest": "Graduated compression stockings (GCS)"] ) DeviceOrder where DeviceOrder.status = 'completed' and DeviceOrder.doNotPerform is true define "No VTE Prophylaxis Device Order": QICore.ServiceNotRequested DeviceOrder where DeviceOrder.code in "Venous foot pumps (VFP)" or DeviceOrder.code in "Intermittent pneumatic compression devices (IPC)" or DeviceOrder.code in "Graduated compression stockings (GCS)" */ // QICoreServiceRequest // @profile: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-servicerequestdefine ServiceRequest: [ServiceRequest] SR where SR.status in { 'draft', 'active', 'on-hold', 'completed' } and SR.doNotPerform is not true
define "SDE ServiceRequest": Profiles.ServiceRequest
A cohort measure with supplemental data elements for all profiles in QICore