Da Vinci - Coverage Requirements Discovery
2.0.1 - STU 2 United States of America flag

This page is part of the Da Vinci Coverage Requirements Discovery (CRD) FHIR IG (v2.0.1: STU 2.0) based on FHIR (HL7® FHIR® Standard) R4. This is the current published version. For a full list of available versions, see the Directory of published versions

Resource Profile: CRD Service Request

Official URL: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-servicerequest Version: 2.0.1
Standards status: Trial-use Maturity Level: 2 Computable Name: ServiceRequest

This profile specifies constraints on the ServiceRequest resource to support coverage requirements discovery.

Usage


CRD Clients SHALL use this profile to resolve references to ServiceRequest resources passed to CRD Servers (e.g. selections context references) and to populate draftOrders context objects when invoking the when invoking the following CDS Hooks:

Information provided in Must Support elements will commonly be required for CRD Servers to perform coverage requirements discovery.

Usage:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from ServiceRequest

NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest ServiceRequest
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... Coverage-Information S0..*(Complex)Coverage Info
URL: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-coverage-information
... identifier S0..*IdentifierIdentifiers assigned to this order
... status S1..1codedraft | active | on-hold | revoked | completed | entered-in-error | unknown
Fixed Value: draft
... doNotPerform S0..1booleanTrue if service/procedure should not be performed
... code S1..1CodeableConceptCodes to identify requested services. (CPT, SNOMED CT or LOINC)
Binding: CRD Service Request Codes Value Set (extensible): Codes describing the type of Service

... quantity[x] S0..1Quantity, Ratio, RangeService amount
... subject S1..1Reference(CRD Patient)Individual or Entity the service is ordered for
... encounter 0..1Reference(CRD Encounter)Encounter in which the request was created
... occurrence[x] S0..1dateTime, Period, TimingWhen service should occur
... authoredOn S1..1dateTimeDate request signed
... requester S1..1Reference(CRD Practitioner | US Core PractitionerRole Profile)Who/what is requesting service
... performer S0..*Reference(CRD Practitioner | US Core PractitionerRole Profile)Requested performer
... locationReference S0..1Reference(CRD Location)Requested location
... reasonCode S0..*CodeableConceptExplanation/Justification for procedure or service
... reasonReference S0..*Reference(US Core Condition Profile | US Core Laboratory Result Observation Profile)Explanation/Justification for service or service

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
ServiceRequest.codeextensibleCRDServiceRequestCodes
NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest C0..*ServiceRequestA request for a service to be performed
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... Coverage-Information SC0..*(Complex)Coverage Info
URL: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-coverage-information
... identifier SΣ0..*IdentifierIdentifiers assigned to this order
... basedOn SΣ0..*Reference(CRD Service Request | CRD Medication Request)What request fulfills
... status ?!SΣ1..1codedraft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (required): The status of a service order.


Fixed Value: draft
... intent ?!Σ1..1codeproposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
Binding: RequestIntent (required): The kind of service request.

... doNotPerform ?!SΣ0..1booleanTrue if service/procedure should not be performed
... code SΣ1..1CodeableConceptCodes to identify requested services. (CPT, SNOMED CT or LOINC)
Binding: CRD Service Request Codes Value Set (extensible): Codes describing the type of Service

... quantity[x] SΣ0..1Service amount
.... quantityQuantityQuantity
.... quantityRatioRatio
.... quantityRangeRange
... subject SΣ1..1Reference(CRD Patient)Individual or Entity the service is ordered for
... encounter Σ0..1Reference(CRD Encounter)Encounter in which the request was created
... occurrence[x] SΣ0..1When service should occur
.... occurrenceDateTimedateTime
.... occurrencePeriodPeriod
.... occurrenceTimingTiming
... authoredOn SΣ1..1dateTimeDate request signed
... requester SΣ1..1Reference(CRD Practitioner | US Core PractitionerRole Profile)Who/what is requesting service
... performer SΣ0..*Reference(CRD Practitioner | US Core PractitionerRole Profile)Requested performer
... locationReference SΣ0..1Reference(CRD Location)Requested location
... reasonCode SΣ0..*CodeableConceptExplanation/Justification for procedure or service
Binding: ProcedureReasonCodes (example): Diagnosis or problem codes justifying the reason for requesting the service investigation.


... reasonReference SΣ0..*Reference(US Core Condition Profile | US Core Laboratory Result Observation Profile)Explanation/Justification for service or service

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
ServiceRequest.statusrequiredFixed Value: draft
ServiceRequest.intentrequiredRequestIntent
ServiceRequest.codeextensibleCRDServiceRequestCodes
ServiceRequest.reasonCodeexampleProcedureReasonCodes

Constraints

IdGradePath(s)DetailsRequirements
crd-ci-q1errorServiceRequest.extension:Coverage-InformationQuestionnaire and QuestionnaireResponse are only allowed when doc-needed exists and not equal to 'no-doc'
: extension.where(url='questionnaire' or url='response').exists() implies (extension.where(url = 'doc-needed').exists() and extension.where(url = 'doc-needed').all(value != 'no-doc'))
crd-ci-q2errorServiceRequest.extension:Coverage-InformationIf covered is set to 'not-covered', then 'pa-needed' should not exist.
: extension.where(url = 'covered' and value != 'not-covered') implies extension.where(url = 'pa-needed').exists()
crd-ci-q3errorServiceRequest.extension:Coverage-InformationIf 'info-needed' exists, then at least one of 'covered', 'pa-needed', or 'doc-needed' must be 'conditional'.
: extension.where(url = 'info-needed').exists() implies extension.where((url = 'covered' or url = 'pa-needed' or url = 'doc-needed') and value = 'conditional').count() >= 1
crd-ci-q4errorServiceRequest.extension:Coverage-InformationIf 'pa-needed' is 'satisfied', then 'Doc-purpose' can't be 'PA'.
: extension.where(url = 'pa-needed' and value = 'satisfied') and extension.where(url = 'doc-purpose').exists() implies extension.where(url = 'doc-purpose').all(value != 'PA')
crd-ci-q5errorServiceRequest.extension:Coverage-Information'satisfied-pa-id' must exist if and only if 'pa-needed' is set to 'satisfied'.
: extension.where(url = 'pa-needed' and value = 'satisfied').exists() = extension.where(url = 'satisfied-pa-id').exists()
dom-2errorServiceRequestIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorServiceRequestIf 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-4errorServiceRequestIf 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-5errorServiceRequestIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceServiceRequestA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
prr-1errorServiceRequestorderDetail SHALL only be present if code is present
: orderDetail.empty() or code.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest C0..*ServiceRequestA request for a service to be performed
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... Coverage-Information SC0..*(Complex)Coverage Info
URL: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-coverage-information
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier SΣ0..*IdentifierIdentifiers assigned to this order
... instantiatesCanonical Σ0..*canonical(ActivityDefinition | PlanDefinition)Instantiates FHIR protocol or definition
... instantiatesUri Σ0..*uriInstantiates external protocol or definition
... basedOn SΣ0..*Reference(CRD Service Request | CRD Medication Request)What request fulfills
... replaces Σ0..*Reference(ServiceRequest)What request replaces
... requisition Σ0..1IdentifierComposite Request ID
... status ?!SΣ1..1codedraft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (required): The status of a service order.


Fixed Value: draft
... intent ?!Σ1..1codeproposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
Binding: RequestIntent (required): The kind of service request.

... category Σ0..*CodeableConceptClassification of service
Binding: ServiceRequestCategoryCodes (example): Classification of the requested service.


... priority Σ0..1coderoutine | urgent | asap | stat
Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.

... doNotPerform ?!SΣ0..1booleanTrue if service/procedure should not be performed
... code SΣ1..1CodeableConceptCodes to identify requested services. (CPT, SNOMED CT or LOINC)
Binding: CRD Service Request Codes Value Set (extensible): Codes describing the type of Service

... orderDetail ΣC0..*CodeableConceptAdditional order information
Binding: ServiceRequestOrderDetailsCodes (example): Codified order entry details which are based on order context.


... quantity[x] SΣ0..1Service amount
.... quantityQuantityQuantity
.... quantityRatioRatio
.... quantityRangeRange
... subject SΣ1..1Reference(CRD Patient)Individual or Entity the service is ordered for
... encounter Σ0..1Reference(CRD Encounter)Encounter in which the request was created
... occurrence[x] SΣ0..1When service should occur
.... occurrenceDateTimedateTime
.... occurrencePeriodPeriod
.... occurrenceTimingTiming
... asNeeded[x] Σ0..1Preconditions for service
Binding: SNOMEDCTMedicationAsNeededReasonCodes (example): A coded concept identifying the pre-condition that should hold prior to performing a procedure. For example "pain", "on flare-up", etc.

.... asNeededBooleanboolean
.... asNeededCodeableConceptCodeableConcept
... authoredOn SΣ1..1dateTimeDate request signed
... requester SΣ1..1Reference(CRD Practitioner | US Core PractitionerRole Profile)Who/what is requesting service
... performerType Σ0..1CodeableConceptPerformer role
Binding: ParticipantRoles (example): Indicates specific responsibility of an individual within the care team, such as "Primary physician", "Team coordinator", "Caregiver", etc.

... performer SΣ0..*Reference(CRD Practitioner | US Core PractitionerRole Profile)Requested performer
... locationCode Σ0..*CodeableConceptRequested location
Binding: ServiceDeliveryLocationRoleType (example): A location type where services are delivered.


... locationReference SΣ0..1Reference(CRD Location)Requested location
... reasonCode SΣ0..*CodeableConceptExplanation/Justification for procedure or service
Binding: ProcedureReasonCodes (example): Diagnosis or problem codes justifying the reason for requesting the service investigation.


... reasonReference SΣ0..*Reference(US Core Condition Profile | US Core Laboratory Result Observation Profile)Explanation/Justification for service or service
... insurance 0..*Reference(Coverage | ClaimResponse)Associated insurance coverage
... supportingInfo 0..*Reference(Resource)Additional clinical information
... specimen Σ0..*Reference(Specimen)Procedure Samples
... bodySite Σ0..*CodeableConceptLocation on Body
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.


... note 0..*AnnotationComments
... patientInstruction Σ0..1stringPatient or consumer-oriented instructions
... relevantHistory 0..*Reference(Provenance)Request provenance

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
ServiceRequest.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
ServiceRequest.statusrequiredFixed Value: draft
ServiceRequest.intentrequiredRequestIntent
ServiceRequest.categoryexampleServiceRequestCategoryCodes
ServiceRequest.priorityrequiredRequestPriority
ServiceRequest.codeextensibleCRDServiceRequestCodes
ServiceRequest.orderDetailexampleServiceRequestOrderDetailsCodes
ServiceRequest.asNeeded[x]exampleSNOMEDCTMedicationAsNeededReasonCodes
ServiceRequest.performerTypeexampleParticipantRoles
ServiceRequest.locationCodeexampleServiceDeliveryLocationRoleType
ServiceRequest.reasonCodeexampleProcedureReasonCodes
ServiceRequest.bodySiteexampleSNOMEDCTBodyStructures

Constraints

IdGradePath(s)DetailsRequirements
crd-ci-q1errorServiceRequest.extension:Coverage-InformationQuestionnaire and QuestionnaireResponse are only allowed when doc-needed exists and not equal to 'no-doc'
: extension.where(url='questionnaire' or url='response').exists() implies (extension.where(url = 'doc-needed').exists() and extension.where(url = 'doc-needed').all(value != 'no-doc'))
crd-ci-q2errorServiceRequest.extension:Coverage-InformationIf covered is set to 'not-covered', then 'pa-needed' should not exist.
: extension.where(url = 'covered' and value != 'not-covered') implies extension.where(url = 'pa-needed').exists()
crd-ci-q3errorServiceRequest.extension:Coverage-InformationIf 'info-needed' exists, then at least one of 'covered', 'pa-needed', or 'doc-needed' must be 'conditional'.
: extension.where(url = 'info-needed').exists() implies extension.where((url = 'covered' or url = 'pa-needed' or url = 'doc-needed') and value = 'conditional').count() >= 1
crd-ci-q4errorServiceRequest.extension:Coverage-InformationIf 'pa-needed' is 'satisfied', then 'Doc-purpose' can't be 'PA'.
: extension.where(url = 'pa-needed' and value = 'satisfied') and extension.where(url = 'doc-purpose').exists() implies extension.where(url = 'doc-purpose').all(value != 'PA')
crd-ci-q5errorServiceRequest.extension:Coverage-Information'satisfied-pa-id' must exist if and only if 'pa-needed' is set to 'satisfied'.
: extension.where(url = 'pa-needed' and value = 'satisfied').exists() = extension.where(url = 'satisfied-pa-id').exists()
dom-2errorServiceRequestIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorServiceRequestIf 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-4errorServiceRequestIf 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-5errorServiceRequestIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceServiceRequestA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
prr-1errorServiceRequestorderDetail SHALL only be present if code is present
: orderDetail.empty() or code.exists()

Differential View

This structure is derived from ServiceRequest

NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest ServiceRequest
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... Coverage-Information S0..*(Complex)Coverage Info
URL: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-coverage-information
... identifier S0..*IdentifierIdentifiers assigned to this order
... status S1..1codedraft | active | on-hold | revoked | completed | entered-in-error | unknown
Fixed Value: draft
... doNotPerform S0..1booleanTrue if service/procedure should not be performed
... code S1..1CodeableConceptCodes to identify requested services. (CPT, SNOMED CT or LOINC)
Binding: CRD Service Request Codes Value Set (extensible): Codes describing the type of Service

... quantity[x] S0..1Quantity, Ratio, RangeService amount
... subject S1..1Reference(CRD Patient)Individual or Entity the service is ordered for
... encounter 0..1Reference(CRD Encounter)Encounter in which the request was created
... occurrence[x] S0..1dateTime, Period, TimingWhen service should occur
... authoredOn S1..1dateTimeDate request signed
... requester S1..1Reference(CRD Practitioner | US Core PractitionerRole Profile)Who/what is requesting service
... performer S0..*Reference(CRD Practitioner | US Core PractitionerRole Profile)Requested performer
... locationReference S0..1Reference(CRD Location)Requested location
... reasonCode S0..*CodeableConceptExplanation/Justification for procedure or service
... reasonReference S0..*Reference(US Core Condition Profile | US Core Laboratory Result Observation Profile)Explanation/Justification for service or service

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
ServiceRequest.codeextensibleCRDServiceRequestCodes

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest C0..*ServiceRequestA request for a service to be performed
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... Coverage-Information SC0..*(Complex)Coverage Info
URL: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-coverage-information
... identifier SΣ0..*IdentifierIdentifiers assigned to this order
... basedOn SΣ0..*Reference(CRD Service Request | CRD Medication Request)What request fulfills
... status ?!SΣ1..1codedraft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (required): The status of a service order.


Fixed Value: draft
... intent ?!Σ1..1codeproposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
Binding: RequestIntent (required): The kind of service request.

... doNotPerform ?!SΣ0..1booleanTrue if service/procedure should not be performed
... code SΣ1..1CodeableConceptCodes to identify requested services. (CPT, SNOMED CT or LOINC)
Binding: CRD Service Request Codes Value Set (extensible): Codes describing the type of Service

... quantity[x] SΣ0..1Service amount
.... quantityQuantityQuantity
.... quantityRatioRatio
.... quantityRangeRange
... subject SΣ1..1Reference(CRD Patient)Individual or Entity the service is ordered for
... encounter Σ0..1Reference(CRD Encounter)Encounter in which the request was created
... occurrence[x] SΣ0..1When service should occur
.... occurrenceDateTimedateTime
.... occurrencePeriodPeriod
.... occurrenceTimingTiming
... authoredOn SΣ1..1dateTimeDate request signed
... requester SΣ1..1Reference(CRD Practitioner | US Core PractitionerRole Profile)Who/what is requesting service
... performer SΣ0..*Reference(CRD Practitioner | US Core PractitionerRole Profile)Requested performer
... locationReference SΣ0..1Reference(CRD Location)Requested location
... reasonCode SΣ0..*CodeableConceptExplanation/Justification for procedure or service
Binding: ProcedureReasonCodes (example): Diagnosis or problem codes justifying the reason for requesting the service investigation.


... reasonReference SΣ0..*Reference(US Core Condition Profile | US Core Laboratory Result Observation Profile)Explanation/Justification for service or service

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
ServiceRequest.statusrequiredFixed Value: draft
ServiceRequest.intentrequiredRequestIntent
ServiceRequest.codeextensibleCRDServiceRequestCodes
ServiceRequest.reasonCodeexampleProcedureReasonCodes

Constraints

IdGradePath(s)DetailsRequirements
crd-ci-q1errorServiceRequest.extension:Coverage-InformationQuestionnaire and QuestionnaireResponse are only allowed when doc-needed exists and not equal to 'no-doc'
: extension.where(url='questionnaire' or url='response').exists() implies (extension.where(url = 'doc-needed').exists() and extension.where(url = 'doc-needed').all(value != 'no-doc'))
crd-ci-q2errorServiceRequest.extension:Coverage-InformationIf covered is set to 'not-covered', then 'pa-needed' should not exist.
: extension.where(url = 'covered' and value != 'not-covered') implies extension.where(url = 'pa-needed').exists()
crd-ci-q3errorServiceRequest.extension:Coverage-InformationIf 'info-needed' exists, then at least one of 'covered', 'pa-needed', or 'doc-needed' must be 'conditional'.
: extension.where(url = 'info-needed').exists() implies extension.where((url = 'covered' or url = 'pa-needed' or url = 'doc-needed') and value = 'conditional').count() >= 1
crd-ci-q4errorServiceRequest.extension:Coverage-InformationIf 'pa-needed' is 'satisfied', then 'Doc-purpose' can't be 'PA'.
: extension.where(url = 'pa-needed' and value = 'satisfied') and extension.where(url = 'doc-purpose').exists() implies extension.where(url = 'doc-purpose').all(value != 'PA')
crd-ci-q5errorServiceRequest.extension:Coverage-Information'satisfied-pa-id' must exist if and only if 'pa-needed' is set to 'satisfied'.
: extension.where(url = 'pa-needed' and value = 'satisfied').exists() = extension.where(url = 'satisfied-pa-id').exists()
dom-2errorServiceRequestIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorServiceRequestIf 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-4errorServiceRequestIf 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-5errorServiceRequestIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceServiceRequestA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
prr-1errorServiceRequestorderDetail SHALL only be present if code is present
: orderDetail.empty() or code.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest C0..*ServiceRequestA request for a service to be performed
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... Coverage-Information SC0..*(Complex)Coverage Info
URL: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-coverage-information
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier SΣ0..*IdentifierIdentifiers assigned to this order
... instantiatesCanonical Σ0..*canonical(ActivityDefinition | PlanDefinition)Instantiates FHIR protocol or definition
... instantiatesUri Σ0..*uriInstantiates external protocol or definition
... basedOn SΣ0..*Reference(CRD Service Request | CRD Medication Request)What request fulfills
... replaces Σ0..*Reference(ServiceRequest)What request replaces
... requisition Σ0..1IdentifierComposite Request ID
... status ?!SΣ1..1codedraft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (required): The status of a service order.


Fixed Value: draft
... intent ?!Σ1..1codeproposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
Binding: RequestIntent (required): The kind of service request.

... category Σ0..*CodeableConceptClassification of service
Binding: ServiceRequestCategoryCodes (example): Classification of the requested service.


... priority Σ0..1coderoutine | urgent | asap | stat
Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.

... doNotPerform ?!SΣ0..1booleanTrue if service/procedure should not be performed
... code SΣ1..1CodeableConceptCodes to identify requested services. (CPT, SNOMED CT or LOINC)
Binding: CRD Service Request Codes Value Set (extensible): Codes describing the type of Service

... orderDetail ΣC0..*CodeableConceptAdditional order information
Binding: ServiceRequestOrderDetailsCodes (example): Codified order entry details which are based on order context.


... quantity[x] SΣ0..1Service amount
.... quantityQuantityQuantity
.... quantityRatioRatio
.... quantityRangeRange
... subject SΣ1..1Reference(CRD Patient)Individual or Entity the service is ordered for
... encounter Σ0..1Reference(CRD Encounter)Encounter in which the request was created
... occurrence[x] SΣ0..1When service should occur
.... occurrenceDateTimedateTime
.... occurrencePeriodPeriod
.... occurrenceTimingTiming
... asNeeded[x] Σ0..1Preconditions for service
Binding: SNOMEDCTMedicationAsNeededReasonCodes (example): A coded concept identifying the pre-condition that should hold prior to performing a procedure. For example "pain", "on flare-up", etc.

.... asNeededBooleanboolean
.... asNeededCodeableConceptCodeableConcept
... authoredOn SΣ1..1dateTimeDate request signed
... requester SΣ1..1Reference(CRD Practitioner | US Core PractitionerRole Profile)Who/what is requesting service
... performerType Σ0..1CodeableConceptPerformer role
Binding: ParticipantRoles (example): Indicates specific responsibility of an individual within the care team, such as "Primary physician", "Team coordinator", "Caregiver", etc.

... performer SΣ0..*Reference(CRD Practitioner | US Core PractitionerRole Profile)Requested performer
... locationCode Σ0..*CodeableConceptRequested location
Binding: ServiceDeliveryLocationRoleType (example): A location type where services are delivered.


... locationReference SΣ0..1Reference(CRD Location)Requested location
... reasonCode SΣ0..*CodeableConceptExplanation/Justification for procedure or service
Binding: ProcedureReasonCodes (example): Diagnosis or problem codes justifying the reason for requesting the service investigation.


... reasonReference SΣ0..*Reference(US Core Condition Profile | US Core Laboratory Result Observation Profile)Explanation/Justification for service or service
... insurance 0..*Reference(Coverage | ClaimResponse)Associated insurance coverage
... supportingInfo 0..*Reference(Resource)Additional clinical information
... specimen Σ0..*Reference(Specimen)Procedure Samples
... bodySite Σ0..*CodeableConceptLocation on Body
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.


... note 0..*AnnotationComments
... patientInstruction Σ0..1stringPatient or consumer-oriented instructions
... relevantHistory 0..*Reference(Provenance)Request provenance

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
ServiceRequest.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
ServiceRequest.statusrequiredFixed Value: draft
ServiceRequest.intentrequiredRequestIntent
ServiceRequest.categoryexampleServiceRequestCategoryCodes
ServiceRequest.priorityrequiredRequestPriority
ServiceRequest.codeextensibleCRDServiceRequestCodes
ServiceRequest.orderDetailexampleServiceRequestOrderDetailsCodes
ServiceRequest.asNeeded[x]exampleSNOMEDCTMedicationAsNeededReasonCodes
ServiceRequest.performerTypeexampleParticipantRoles
ServiceRequest.locationCodeexampleServiceDeliveryLocationRoleType
ServiceRequest.reasonCodeexampleProcedureReasonCodes
ServiceRequest.bodySiteexampleSNOMEDCTBodyStructures

Constraints

IdGradePath(s)DetailsRequirements
crd-ci-q1errorServiceRequest.extension:Coverage-InformationQuestionnaire and QuestionnaireResponse are only allowed when doc-needed exists and not equal to 'no-doc'
: extension.where(url='questionnaire' or url='response').exists() implies (extension.where(url = 'doc-needed').exists() and extension.where(url = 'doc-needed').all(value != 'no-doc'))
crd-ci-q2errorServiceRequest.extension:Coverage-InformationIf covered is set to 'not-covered', then 'pa-needed' should not exist.
: extension.where(url = 'covered' and value != 'not-covered') implies extension.where(url = 'pa-needed').exists()
crd-ci-q3errorServiceRequest.extension:Coverage-InformationIf 'info-needed' exists, then at least one of 'covered', 'pa-needed', or 'doc-needed' must be 'conditional'.
: extension.where(url = 'info-needed').exists() implies extension.where((url = 'covered' or url = 'pa-needed' or url = 'doc-needed') and value = 'conditional').count() >= 1
crd-ci-q4errorServiceRequest.extension:Coverage-InformationIf 'pa-needed' is 'satisfied', then 'Doc-purpose' can't be 'PA'.
: extension.where(url = 'pa-needed' and value = 'satisfied') and extension.where(url = 'doc-purpose').exists() implies extension.where(url = 'doc-purpose').all(value != 'PA')
crd-ci-q5errorServiceRequest.extension:Coverage-Information'satisfied-pa-id' must exist if and only if 'pa-needed' is set to 'satisfied'.
: extension.where(url = 'pa-needed' and value = 'satisfied').exists() = extension.where(url = 'satisfied-pa-id').exists()
dom-2errorServiceRequestIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorServiceRequestIf 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-4errorServiceRequestIf 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-5errorServiceRequestIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceServiceRequestA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
prr-1errorServiceRequestorderDetail SHALL only be present if code is present
: orderDetail.empty() or code.exists()

 

Other representations of profile: CSV, Excel, Schematron