QI-Core Implementation Guide: STU 4 (v4.0.0 for FHIR 4.0.1)

QI-Core Implementation Guide - This is the current published version.. See the Directory of published versions

D.4.1 StructureDefinition-qicore-servicenotrequested

Introduction:


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

See the patterns page for implementation and usage patterns.

Examples:

Negation Example

D.4.1.1 Formal Views of Profile Content

The official URL for this profile is:

http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-servicenotrequested

Negation profile of ServiceRequest for decision support/quality metrics. Defines the core set of elements and extensions for quality rule and measure authors.

This profile builds on ServiceRequest.

This profile was published on Wed Aug 22 00:00:00 UTC 2018 as a draft by Health Level Seven, Inc. - CQI WG.

Description of Profiles, Differentials, and Snapshots.

NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest I0..*ServiceRequestA request for a service to be performed
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... language I0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionExtension
Slice: Unordered, Open by value:url
... procedure-approachBodyStructure I0..*Reference(BodyStructure)The access point or points used for this procedure
URL: http://hl7.org/fhir/StructureDefinition/procedure-approachBodyStructure
... qicore-servicerequest-appropriatenessScore I0..1code, decimalAppropriateness Score
URL: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-servicerequest-appropriatenessScore
Binding: RAND Appropriateness Scores (required)
... qicore-doNotPerformReason SI1..1CodeableConceptExtension
URL: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-doNotPerformReason
Binding: Negation Reason Codes (extensible)
... modifierExtension ?!I0..*(Slice Definition)Extension
Slice: Unordered, Open by value:url
... modifierExtension:isElective ?!SI0..1QICoreIsElectiveExtension
... identifier ΣI0..*IdentifierIdentifiers assigned to this order
... instantiatesCanonical ΣI0..*canonical(ActivityDefinition | PlanDefinition)Instantiates FHIR protocol or definition
... instantiatesUri ΣI0..*uriInstantiates external protocol or definition
... basedOn ΣI0..*Reference(CarePlan | ServiceRequest | MedicationRequest)What request fulfills
... replaces ΣI0..*Reference(ServiceRequest)What request replaces
... requisition ΣI0..1IdentifierComposite Request ID
... status ?!SΣI1..1codedraft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (required)
Fixed Value: completed
... intent ?!ΣI1..1codeproposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
Binding: RequestIntent (required)
... category ΣI0..*CodeableConceptClassification of service
Binding: ServiceRequestCategoryCodes (example)
... priority ΣI0..1coderoutine | urgent | asap | stat
Binding: RequestPriority (required)
... doNotPerform ?!SΣI1..1booleanTrue if service/procedure should not be performed
Fixed Value: true
... code SΣI0..1CodeableConceptWhat is being requested/ordered
Binding: US Core Procedure Codes (preferred)
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... coding ΣI0..*CodingCode defined by a terminology system
..... id 0..1stringUnique id for inter-element referencing
..... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... valueset-reference SI1..1uriWhat was not requested
URL: http://hl7.org/fhir/StructureDefinition/valueset-reference
..... system ΣI0..1uriIdentity of the terminology system
..... version ΣI0..1stringVersion of the system - if relevant
..... code ΣI0..1codeSymbol in syntax defined by the system
..... display ΣI0..1stringRepresentation defined by the system
..... userSelected ΣI0..1booleanIf this coding was chosen directly by the user
.... text ΣI0..1stringPlain text representation of the concept
... orderDetail ΣI0..*CodeableConceptAdditional order information
Binding: ServiceRequestOrderDetailsCodes (example)
... quantity[x] ΣI0..1Service amount
.... quantityQuantityQuantity
.... quantityRatioRatio
.... quantityRangeRange
... subject SΣI1..1Reference(QICorePatient)Individual or Entity the service is ordered for
... encounter SΣI0..1Reference(Encounter)Encounter in which the request was created
... occurrence[x] SΣI0..1When service should occur
.... occurrenceDateTimedateTime
.... occurrencePeriodPeriod
.... occurrenceTimingTiming
... asNeeded[x] ΣI0..1Preconditions for service
Binding: SNOMEDCTMedicationAsNeededReasonCodes (example)
.... asNeededBooleanboolean
.... asNeededCodeableConceptCodeableConcept
... authoredOn SΣI1..1dateTimeDate request signed
... requester ΣI0..1Reference(QICorePractitioner | QICorePractitionerRole | QICoreOrganization | QICorePatient | QICoreRelatedPerson | QICoreDevice)Who/what is requesting service
... performerType ΣI0..1CodeableConceptPerformer role
Binding: ParticipantRoles (example)
... performer ΣI0..*Reference(QICorePractitioner | QICoreOrganization | QICorePatient | QICoreDevice | QICoreRelatedPerson | HealthcareService)Requested performer
... locationCode ΣI0..*CodeableConceptRequested location
Binding: V3 Value SetServiceDeliveryLocationRoleType (example)
... locationReference ΣI0..*Reference(Location)Requested location
... reasonCode ΣI0..*CodeableConceptExplanation/Justification for procedure or service
Binding: ProcedureReasonCodes (example)
... reasonReference ΣI0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference)Explanation/Justification for service or service
... insurance I0..*Reference(Coverage | ClaimResponse)Associated insurance coverage
... supportingInfo I0..*Reference(Resource)Additional clinical information
... specimen ΣI0..*Reference(Specimen)Procedure Samples
... bodySite SΣI0..*CodeableConceptLocation on Body
Binding: SNOMEDCTBodyStructures (example)
... note I0..*AnnotationComments
... patientInstruction ΣI0..1stringPatient or consumer-oriented instructions
... relevantHistory I0..*Reference(Provenance)Request provenance

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest I0..*ServiceRequestA request for a service to be performed
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... language I0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionExtension
Slice: Unordered, Open by value:url
... procedure-approachBodyStructure I0..*Reference(BodyStructure)The access point or points used for this procedure
URL: http://hl7.org/fhir/StructureDefinition/procedure-approachBodyStructure
... qicore-servicerequest-appropriatenessScore I0..1code, decimalAppropriateness Score
URL: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-servicerequest-appropriatenessScore
Binding: RAND Appropriateness Scores (required)
... qicore-doNotPerformReason SI1..1CodeableConceptExtension
URL: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-doNotPerformReason
Binding: Negation Reason Codes (extensible)
... modifierExtension ?!I0..*(Slice Definition)Extension
Slice: Unordered, Open by value:url
... modifierExtension:isElective ?!SI0..1QICoreIsElectiveExtension
... identifier ΣI0..*IdentifierIdentifiers assigned to this order
... instantiatesCanonical ΣI0..*canonical(ActivityDefinition | PlanDefinition)Instantiates FHIR protocol or definition
... instantiatesUri ΣI0..*uriInstantiates external protocol or definition
... basedOn ΣI0..*Reference(CarePlan | ServiceRequest | MedicationRequest)What request fulfills
... replaces ΣI0..*Reference(ServiceRequest)What request replaces
... requisition ΣI0..1IdentifierComposite Request ID
... status ?!SΣI1..1codedraft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (required)
Fixed Value: completed
... intent ?!ΣI1..1codeproposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
Binding: RequestIntent (required)
... category ΣI0..*CodeableConceptClassification of service
Binding: ServiceRequestCategoryCodes (example)
... priority ΣI0..1coderoutine | urgent | asap | stat
Binding: RequestPriority (required)
... doNotPerform ?!SΣI1..1booleanTrue if service/procedure should not be performed
Fixed Value: true
... code SΣI0..1CodeableConceptWhat is being requested/ordered
Binding: US Core Procedure Codes (preferred)
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... coding ΣI0..*CodingCode defined by a terminology system
..... id 0..1stringUnique id for inter-element referencing
..... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... valueset-reference SI1..1uriWhat was not requested
URL: http://hl7.org/fhir/StructureDefinition/valueset-reference
..... system ΣI0..1uriIdentity of the terminology system
..... version ΣI0..1stringVersion of the system - if relevant
..... code ΣI0..1codeSymbol in syntax defined by the system
..... display ΣI0..1stringRepresentation defined by the system
..... userSelected ΣI0..1booleanIf this coding was chosen directly by the user
.... text ΣI0..1stringPlain text representation of the concept
... orderDetail ΣI0..*CodeableConceptAdditional order information
Binding: ServiceRequestOrderDetailsCodes (example)
... quantity[x] ΣI0..1Service amount
.... quantityQuantityQuantity
.... quantityRatioRatio
.... quantityRangeRange
... subject SΣI1..1Reference(QICorePatient)Individual or Entity the service is ordered for
... encounter SΣI0..1Reference(Encounter)Encounter in which the request was created
... occurrence[x] SΣI0..1When service should occur
.... occurrenceDateTimedateTime
.... occurrencePeriodPeriod
.... occurrenceTimingTiming
... asNeeded[x] ΣI0..1Preconditions for service
Binding: SNOMEDCTMedicationAsNeededReasonCodes (example)
.... asNeededBooleanboolean
.... asNeededCodeableConceptCodeableConcept
... authoredOn SΣI1..1dateTimeDate request signed
... requester ΣI0..1Reference(QICorePractitioner | QICorePractitionerRole | QICoreOrganization | QICorePatient | QICoreRelatedPerson | QICoreDevice)Who/what is requesting service
... performerType ΣI0..1CodeableConceptPerformer role
Binding: ParticipantRoles (example)
... performer ΣI0..*Reference(QICorePractitioner | QICoreOrganization | QICorePatient | QICoreDevice | QICoreRelatedPerson | HealthcareService)Requested performer
... locationCode ΣI0..*CodeableConceptRequested location
Binding: V3 Value SetServiceDeliveryLocationRoleType (example)
... locationReference ΣI0..*Reference(Location)Requested location
... reasonCode ΣI0..*CodeableConceptExplanation/Justification for procedure or service
Binding: ProcedureReasonCodes (example)
... reasonReference ΣI0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference)Explanation/Justification for service or service
... insurance I0..*Reference(Coverage | ClaimResponse)Associated insurance coverage
... supportingInfo I0..*Reference(Resource)Additional clinical information
... specimen ΣI0..*Reference(Specimen)Procedure Samples
... bodySite SΣI0..*CodeableConceptLocation on Body
Binding: SNOMEDCTBodyStructures (example)
... note I0..*AnnotationComments
... patientInstruction ΣI0..1stringPatient or consumer-oriented instructions
... relevantHistory I0..*Reference(Provenance)Request provenance

doco Documentation for this format

 

D.4.1.2 Terminology Bindings

Terminology Bindings

PathConformanceValueSet / Code
ServiceRequest.languagepreferredCommonLanguages
Max Binding: AllLanguages
ServiceRequest.statusrequiredFixed Value: completed
ServiceRequest.intentrequiredRequestIntent
ServiceRequest.categoryexampleServiceRequestCategoryCodes
ServiceRequest.priorityrequiredRequestPriority
ServiceRequest.codepreferredUSCoreProcedureCodes
ServiceRequest.orderDetailexampleServiceRequestOrderDetailsCodes
ServiceRequest.asNeeded[x]exampleSNOMEDCTMedicationAsNeededReasonCodes
ServiceRequest.performerTypeexampleParticipantRoles
ServiceRequest.locationCodeexamplev3.ServiceDeliveryLocationRoleType
ServiceRequest.reasonCodeexampleProcedureReasonCodes
ServiceRequest.bodySiteexampleSNOMEDCTBodyStructures

D.4.1.3 Constraints

Constraints

IdPathDetailsRequirements
dom-2ServiceRequestIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3ServiceRequestIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4ServiceRequestIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5ServiceRequestIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6ServiceRequestA resource should have narrative for robust management
: text.`div`.exists()
prr-1ServiceRequestorderDetail SHALL only be present if code is present
: orderDetail.empty() or code.exists()
ele-1ServiceRequest.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ServiceRequest.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ServiceRequest.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ServiceRequest.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ServiceRequest.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1ServiceRequest.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1ServiceRequest.extension:approachBodyStructureAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1ServiceRequest.extension:approachBodyStructureMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1ServiceRequest.extension:appropriatenessScoreAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1ServiceRequest.extension:appropriatenessScoreMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1ServiceRequest.extension:reasonRefusedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1ServiceRequest.extension:reasonRefusedMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1ServiceRequest.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1ServiceRequest.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1ServiceRequest.modifierExtension:isElectiveAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1ServiceRequest.modifierExtension:isElectiveMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1ServiceRequest.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ServiceRequest.instantiatesCanonicalAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ServiceRequest.instantiatesUriAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ServiceRequest.basedOnAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ServiceRequest.replacesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ServiceRequest.requisitionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ServiceRequest.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ServiceRequest.intentAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ServiceRequest.categoryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ServiceRequest.priorityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ServiceRequest.doNotPerformAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ServiceRequest.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ServiceRequest.code.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1ServiceRequest.code.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1ServiceRequest.code.codingAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ServiceRequest.code.coding.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1ServiceRequest.code.coding.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1ServiceRequest.code.coding.extension:notDoneValueSetAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1ServiceRequest.code.coding.extension:notDoneValueSetMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1ServiceRequest.code.coding.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ServiceRequest.code.coding.versionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ServiceRequest.code.coding.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ServiceRequest.code.coding.displayAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ServiceRequest.code.coding.userSelectedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ServiceRequest.code.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ServiceRequest.orderDetailAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ServiceRequest.quantity[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ServiceRequest.subjectAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ServiceRequest.encounterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ServiceRequest.occurrence[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ServiceRequest.asNeeded[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ServiceRequest.authoredOnAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ServiceRequest.requesterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ServiceRequest.performerTypeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ServiceRequest.performerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ServiceRequest.locationCodeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ServiceRequest.locationReferenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ServiceRequest.reasonCodeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ServiceRequest.reasonReferenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ServiceRequest.insuranceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ServiceRequest.supportingInfoAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ServiceRequest.specimenAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ServiceRequest.bodySiteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ServiceRequest.noteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ServiceRequest.patientInstructionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ServiceRequest.relevantHistoryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())