Da Vinci - Coverage Requirements Discovery
2.1.0 - STU 2.1 United States of America flag

Da Vinci - Coverage Requirements Discovery, published by HL7 International / Financial Management. This guide is not an authorized publication; it is the continuous build for version 2.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/davinci-crd/ and changes regularly. 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.1.0
Standards status: Trial-use Maturity Level: 3 Computable Name: CRDServiceRequest
Other Identifiers: OID:2.16.840.1.113883.4.642.40.18.42.16

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 USCoreServiceRequestProfile

NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest USCoreServiceRequestProfile(7.0.0) This profile also complies with the profile US Core ServiceRequest Profile (6.1.0)
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... Coverage-Information S 0..* (Complex) Coverage Info
URL: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-coverage-information
... identifier S 0..* Identifier Identifiers assigned to this order
... basedOn S 0..* Reference(CRD Service Request | CRD Medication Request) What request fulfills
... doNotPerform S 0..1 boolean True if service/procedure should not be performed
... code 1..1 CodeableConcept Codes 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..1 Quantity, Ratio, Range Service amount
... subject 1..1 Reference(CRD Patient) Individual or Entity the service is ordered for
... encounter 0..1 Reference(CRD Encounter) Encounter in which the request was created
... authoredOn 1..1 dateTime Date request signed
... requester 1..1 Reference(US Core Practitioner Profile(7.0.0) | HRex PractitionerRole Profile) Who/what is requesting service
... performer S 0..* Reference(US Core Practitioner Profile(7.0.0) S | HRex PractitionerRole Profile S) Requested performer
... locationReference S 0..1 Reference(CRD Location) Requested location
... reasonCode S 0..* CodeableConcept 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: Explanation/Justification for procedure or service
... reasonReference S 0..* Reference(Condition | Observation | DiagnosticReport | DocumentReference) 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: US Core Profile that supports the requested service

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
ServiceRequest.codeextensibleCRDServiceRequestCodes
http://hl7.org/fhir/us/davinci-crd/ValueSet/serviceRequestCodes
from this IG
NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest C 0..* USCoreServiceRequestProfile(7.0.0) A request for a service to be performed
This profile also complies with the profile US Core ServiceRequest Profile (6.1.0)
prr-1: orderDetail SHALL only be present if code is present
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... Coverage-Information SC 0..* (Complex) Coverage Info
URL: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-coverage-information
crd-ci-q1: Questionnaire is only allowed when doc-needed exists
crd-ci-q2: If covered is set to 'not-covered', then 'pa-needed' must not exist.
crd-ci-q3: 'info-needed' SHALL exist if and only if at least one of 'covered', 'pa-needed', or 'doc-needed' is set to 'conditional'.
crd-ci-q4: If 'pa-needed' is 'satisfied', then 'Doc-purpose' can't be 'withpa'.
crd-ci-q5: 'satisfied-pa-id' must exist if and only if 'pa-needed' is set to 'satisfied'.
crd-ci-q6: If 'info-needed' is Other, then reason must be specified
crd-ci-q7: If reason.coding is present and is not from the extensible value set, then reason.text must be present
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... basedOn SΣ 0..* Reference(CRD Service Request | CRD Medication Request) What request fulfills
... status ?!SΣ 1..1 code draft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (required): The status of a service order.


Example General: draft
... intent ?!SΣ 1..1 code proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
Binding: RequestIntent (required): The kind of service request.

... Slices for category SΣ 0..* CodeableConcept Classification of service
Slice: Unordered, Open by pattern:$this
Binding: ServiceRequestCategoryCodes (example): Classification of the requested service.


.... category:us-core SΣ 0..* CodeableConcept Classification of service
Binding: US Core ServiceRequest Category Codes (required): Note that other codes are permitted, see Required Bindings When Slicing by Value Sets


... doNotPerform ?!SΣ 0..1 boolean True if service/procedure should not be performed
... code SΣ 1..1 CodeableConcept Codes 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..1 Service amount
.... quantityQuantity Quantity
.... quantityRatio Ratio
.... quantityRange Range
... subject SΣ 1..1 Reference(CRD Patient) Individual or Entity the service is ordered for
... encounter SΣ 0..1 Reference(CRD Encounter) Encounter in which the request was created
... occurrence[x] SΣ 0..1 When service should occur
.... occurrencePeriod Period
... authoredOn SΣ 1..1 dateTime Date request signed
... requester SΣ 1..1 Reference(US Core Practitioner Profile(7.0.0) | HRex PractitionerRole Profile) Who/what is requesting service
... performer SΣ 0..* Reference(US Core Practitioner Profile(7.0.0) | HRex PractitionerRole Profile) Requested performer
... locationReference SΣ 0..1 Reference(CRD Location) Requested location
... reasonCode SΣ 0..* CodeableConcept 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: Explanation/Justification for procedure or service
Binding: US Core Condition Codes (extensible)
... reasonReference SΣ 0..* Reference(Condition | Observation | DiagnosticReport | DocumentReference) 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: US Core Profile that supports the requested service

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
ServiceRequest.statusrequiredRequestStatus
http://hl7.org/fhir/ValueSet/request-status|4.0.1
from the FHIR Standard
ServiceRequest.intentrequiredRequestIntent
http://hl7.org/fhir/ValueSet/request-intent|4.0.1
from the FHIR Standard
ServiceRequest.categoryexampleServiceRequestCategoryCodes
http://hl7.org/fhir/ValueSet/servicerequest-category
from the FHIR Standard
ServiceRequest.category:us-corerequiredUSCoreServiceRequestCategoryCodes
http://hl7.org/fhir/us/core/ValueSet/us-core-servicerequest-category
ServiceRequest.codeextensibleCRDServiceRequestCodes
http://hl7.org/fhir/us/davinci-crd/ValueSet/serviceRequestCodes
from this IG
ServiceRequest.reasonCodeextensibleUSCoreConditionCodes
http://hl7.org/fhir/us/core/ValueSet/us-core-condition-code

Constraints

IdGradePath(s)DetailsRequirements
crd-ci-q1errorServiceRequest.extension:Coverage-InformationQuestionnaire is only allowed when doc-needed exists
: extension.where(url='questionnaire').exists() implies extension.where(url = 'doc-needed').exists()
crd-ci-q2errorServiceRequest.extension:Coverage-InformationIf covered is set to 'not-covered', then 'pa-needed' must not exist.
: extension.where(url = 'covered' and value = 'not-covered').exists() implies extension.where(url = 'pa-needed').exists().not()
crd-ci-q3errorServiceRequest.extension:Coverage-Information'info-needed' SHALL exist if and only if at least one of 'covered', 'pa-needed', or 'doc-needed' is set to 'conditional'.
: extension.where((url = 'covered' or url = 'pa-needed' or url = 'doc-needed') and value = 'conditional').count() >= 1 implies extension.where(url = 'info-needed').exists()
crd-ci-q4errorServiceRequest.extension:Coverage-InformationIf 'pa-needed' is 'satisfied', then 'Doc-purpose' can't be 'withpa'.
: extension.where(url = 'pa-needed' and value = 'satisfied') and extension.where(url = 'doc-purpose').exists() implies extension.where(url = 'doc-purpose').all(value != 'withpa')
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()
crd-ci-q6errorServiceRequest.extension:Coverage-InformationIf 'info-needed' is Other, then reason must be specified
: extension.where(url = 'info-needed' and value = 'Other').exists() implies extension.where(url = 'reason').exists()
crd-ci-q7errorServiceRequest.extension:Coverage-InformationIf reason.coding is present and is not from the extensible value set, then reason.text must be present
: extension.where(url = 'reason').empty() or extension.where(url = 'reason').value.text.exists() or extension.where(url = 'reason').value.memberOf('http://hl7.org/fhir/us/davinci-crd/ValueSet/coverageAssertionReasons')
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 C 0..* USCoreServiceRequestProfile(7.0.0) A request for a service to be performed
This profile also complies with the profile US Core ServiceRequest Profile (6.1.0)
prr-1: orderDetail SHALL only be present if code is present
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... Coverage-Information SC 0..* (Complex) Coverage Info
URL: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-coverage-information
crd-ci-q1: Questionnaire is only allowed when doc-needed exists
crd-ci-q2: If covered is set to 'not-covered', then 'pa-needed' must not exist.
crd-ci-q3: 'info-needed' SHALL exist if and only if at least one of 'covered', 'pa-needed', or 'doc-needed' is set to 'conditional'.
crd-ci-q4: If 'pa-needed' is 'satisfied', then 'Doc-purpose' can't be 'withpa'.
crd-ci-q5: 'satisfied-pa-id' must exist if and only if 'pa-needed' is set to 'satisfied'.
crd-ci-q6: If 'info-needed' is Other, then reason must be specified
crd-ci-q7: If reason.coding is present and is not from the extensible value set, then reason.text must be present
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier SΣ 0..* Identifier Identifiers assigned to this order
... instantiatesCanonical Σ 0..* canonical(ActivityDefinition | PlanDefinition) Instantiates FHIR protocol or definition
... instantiatesUri Σ 0..* uri Instantiates 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..1 Identifier Composite Request ID
... status ?!SΣ 1..1 code draft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (required): The status of a service order.


Example General: draft
... intent ?!SΣ 1..1 code proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
Binding: RequestIntent (required): The kind of service request.

... Slices for category SΣ 0..* CodeableConcept Classification of service
Slice: Unordered, Open by pattern:$this
Binding: ServiceRequestCategoryCodes (example): Classification of the requested service.


.... category:us-core SΣ 0..* CodeableConcept Classification of service
Binding: US Core ServiceRequest Category Codes (required): Note that other codes are permitted, see Required Bindings When Slicing by Value Sets


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

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

... orderDetail ΣC 0..* CodeableConcept Additional order information
Binding: ServiceRequestOrderDetailsCodes (example): Codified order entry details which are based on order context.


... quantity[x] SΣ 0..1 Service amount
.... quantityQuantity Quantity
.... quantityRatio Ratio
.... quantityRange Range
... subject SΣ 1..1 Reference(CRD Patient) Individual or Entity the service is ordered for
... encounter SΣ 0..1 Reference(CRD Encounter) Encounter in which the request was created
... occurrence[x] SΣ 0..1 When service should occur
.... occurrencePeriod Period S
.... occurrenceDateTime dateTime
.... occurrenceTiming Timing
... asNeeded[x] Σ 0..1 Preconditions 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.

.... asNeededBoolean boolean
.... asNeededCodeableConcept CodeableConcept
... authoredOn SΣ 1..1 dateTime Date request signed
... requester SΣ 1..1 Reference(US Core Practitioner Profile(7.0.0) S | HRex PractitionerRole Profile S) Who/what is requesting service
... performerType Σ 0..1 CodeableConcept Performer 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(US Core Practitioner Profile(7.0.0) S | HRex PractitionerRole Profile S) Requested performer
... locationCode Σ 0..* CodeableConcept Requested location
Binding: ServiceDeliveryLocationRoleType (example): A location type where services are delivered.


... locationReference SΣ 0..1 Reference(CRD Location) Requested location
... reasonCode SΣ 0..* CodeableConcept 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: Explanation/Justification for procedure or service
Binding: US Core Condition Codes (extensible)
... reasonReference SΣ 0..* Reference(Condition | Observation | DiagnosticReport | DocumentReference) 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: US Core Profile that supports the requested service
... insurance 0..* Reference(Coverage | ClaimResponse) Associated insurance coverage
... supportingInfo 0..* Reference(Resource) Additional clinical information
... specimen Σ 0..* Reference(Specimen) Procedure Samples
... bodySite Σ 0..* CodeableConcept Location on Body
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.


... note 0..* Annotation Comments
... patientInstruction Σ 0..1 string Patient or consumer-oriented instructions
... relevantHistory 0..* Reference(Provenance) Request provenance

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
ServiceRequest.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
ServiceRequest.statusrequiredRequestStatus
http://hl7.org/fhir/ValueSet/request-status|4.0.1
from the FHIR Standard
ServiceRequest.intentrequiredRequestIntent
http://hl7.org/fhir/ValueSet/request-intent|4.0.1
from the FHIR Standard
ServiceRequest.categoryexampleServiceRequestCategoryCodes
http://hl7.org/fhir/ValueSet/servicerequest-category
from the FHIR Standard
ServiceRequest.category:us-corerequiredUSCoreServiceRequestCategoryCodes
http://hl7.org/fhir/us/core/ValueSet/us-core-servicerequest-category
ServiceRequest.priorityrequiredRequestPriority
http://hl7.org/fhir/ValueSet/request-priority|4.0.1
from the FHIR Standard
ServiceRequest.codeextensibleCRDServiceRequestCodes
http://hl7.org/fhir/us/davinci-crd/ValueSet/serviceRequestCodes
from this IG
ServiceRequest.orderDetailexampleServiceRequestOrderDetailsCodes
http://hl7.org/fhir/ValueSet/servicerequest-orderdetail
from the FHIR Standard
ServiceRequest.asNeeded[x]exampleSNOMEDCTMedicationAsNeededReasonCodes
http://hl7.org/fhir/ValueSet/medication-as-needed-reason
from the FHIR Standard
ServiceRequest.performerTypeexampleParticipantRoles
http://hl7.org/fhir/ValueSet/participant-role
from the FHIR Standard
ServiceRequest.locationCodeexampleServiceDeliveryLocationRoleType
http://terminology.hl7.org/ValueSet/v3-ServiceDeliveryLocationRoleType
ServiceRequest.reasonCodeextensibleUSCoreConditionCodes
http://hl7.org/fhir/us/core/ValueSet/us-core-condition-code
ServiceRequest.bodySiteexampleSNOMEDCTBodyStructures
http://hl7.org/fhir/ValueSet/body-site
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
crd-ci-q1errorServiceRequest.extension:Coverage-InformationQuestionnaire is only allowed when doc-needed exists
: extension.where(url='questionnaire').exists() implies extension.where(url = 'doc-needed').exists()
crd-ci-q2errorServiceRequest.extension:Coverage-InformationIf covered is set to 'not-covered', then 'pa-needed' must not exist.
: extension.where(url = 'covered' and value = 'not-covered').exists() implies extension.where(url = 'pa-needed').exists().not()
crd-ci-q3errorServiceRequest.extension:Coverage-Information'info-needed' SHALL exist if and only if at least one of 'covered', 'pa-needed', or 'doc-needed' is set to 'conditional'.
: extension.where((url = 'covered' or url = 'pa-needed' or url = 'doc-needed') and value = 'conditional').count() >= 1 implies extension.where(url = 'info-needed').exists()
crd-ci-q4errorServiceRequest.extension:Coverage-InformationIf 'pa-needed' is 'satisfied', then 'Doc-purpose' can't be 'withpa'.
: extension.where(url = 'pa-needed' and value = 'satisfied') and extension.where(url = 'doc-purpose').exists() implies extension.where(url = 'doc-purpose').all(value != 'withpa')
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()
crd-ci-q6errorServiceRequest.extension:Coverage-InformationIf 'info-needed' is Other, then reason must be specified
: extension.where(url = 'info-needed' and value = 'Other').exists() implies extension.where(url = 'reason').exists()
crd-ci-q7errorServiceRequest.extension:Coverage-InformationIf reason.coding is present and is not from the extensible value set, then reason.text must be present
: extension.where(url = 'reason').empty() or extension.where(url = 'reason').value.text.exists() or extension.where(url = 'reason').value.memberOf('http://hl7.org/fhir/us/davinci-crd/ValueSet/coverageAssertionReasons')
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 USCoreServiceRequestProfile

NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest USCoreServiceRequestProfile(7.0.0) This profile also complies with the profile US Core ServiceRequest Profile (6.1.0)
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... Coverage-Information S 0..* (Complex) Coverage Info
URL: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-coverage-information
... identifier S 0..* Identifier Identifiers assigned to this order
... basedOn S 0..* Reference(CRD Service Request | CRD Medication Request) What request fulfills
... doNotPerform S 0..1 boolean True if service/procedure should not be performed
... code 1..1 CodeableConcept Codes 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..1 Quantity, Ratio, Range Service amount
... subject 1..1 Reference(CRD Patient) Individual or Entity the service is ordered for
... encounter 0..1 Reference(CRD Encounter) Encounter in which the request was created
... authoredOn 1..1 dateTime Date request signed
... requester 1..1 Reference(US Core Practitioner Profile(7.0.0) | HRex PractitionerRole Profile) Who/what is requesting service
... performer S 0..* Reference(US Core Practitioner Profile(7.0.0) S | HRex PractitionerRole Profile S) Requested performer
... locationReference S 0..1 Reference(CRD Location) Requested location
... reasonCode S 0..* CodeableConcept 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: Explanation/Justification for procedure or service
... reasonReference S 0..* Reference(Condition | Observation | DiagnosticReport | DocumentReference) 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: US Core Profile that supports the requested service

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
ServiceRequest.codeextensibleCRDServiceRequestCodes
http://hl7.org/fhir/us/davinci-crd/ValueSet/serviceRequestCodes
from this IG

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest C 0..* USCoreServiceRequestProfile(7.0.0) A request for a service to be performed
This profile also complies with the profile US Core ServiceRequest Profile (6.1.0)
prr-1: orderDetail SHALL only be present if code is present
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... Coverage-Information SC 0..* (Complex) Coverage Info
URL: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-coverage-information
crd-ci-q1: Questionnaire is only allowed when doc-needed exists
crd-ci-q2: If covered is set to 'not-covered', then 'pa-needed' must not exist.
crd-ci-q3: 'info-needed' SHALL exist if and only if at least one of 'covered', 'pa-needed', or 'doc-needed' is set to 'conditional'.
crd-ci-q4: If 'pa-needed' is 'satisfied', then 'Doc-purpose' can't be 'withpa'.
crd-ci-q5: 'satisfied-pa-id' must exist if and only if 'pa-needed' is set to 'satisfied'.
crd-ci-q6: If 'info-needed' is Other, then reason must be specified
crd-ci-q7: If reason.coding is present and is not from the extensible value set, then reason.text must be present
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... basedOn SΣ 0..* Reference(CRD Service Request | CRD Medication Request) What request fulfills
... status ?!SΣ 1..1 code draft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (required): The status of a service order.


Example General: draft
... intent ?!SΣ 1..1 code proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
Binding: RequestIntent (required): The kind of service request.

... Slices for category SΣ 0..* CodeableConcept Classification of service
Slice: Unordered, Open by pattern:$this
Binding: ServiceRequestCategoryCodes (example): Classification of the requested service.


.... category:us-core SΣ 0..* CodeableConcept Classification of service
Binding: US Core ServiceRequest Category Codes (required): Note that other codes are permitted, see Required Bindings When Slicing by Value Sets


... doNotPerform ?!SΣ 0..1 boolean True if service/procedure should not be performed
... code SΣ 1..1 CodeableConcept Codes 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..1 Service amount
.... quantityQuantity Quantity
.... quantityRatio Ratio
.... quantityRange Range
... subject SΣ 1..1 Reference(CRD Patient) Individual or Entity the service is ordered for
... encounter SΣ 0..1 Reference(CRD Encounter) Encounter in which the request was created
... occurrence[x] SΣ 0..1 When service should occur
.... occurrencePeriod Period
... authoredOn SΣ 1..1 dateTime Date request signed
... requester SΣ 1..1 Reference(US Core Practitioner Profile(7.0.0) | HRex PractitionerRole Profile) Who/what is requesting service
... performer SΣ 0..* Reference(US Core Practitioner Profile(7.0.0) | HRex PractitionerRole Profile) Requested performer
... locationReference SΣ 0..1 Reference(CRD Location) Requested location
... reasonCode SΣ 0..* CodeableConcept 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: Explanation/Justification for procedure or service
Binding: US Core Condition Codes (extensible)
... reasonReference SΣ 0..* Reference(Condition | Observation | DiagnosticReport | DocumentReference) 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: US Core Profile that supports the requested service

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
ServiceRequest.statusrequiredRequestStatus
http://hl7.org/fhir/ValueSet/request-status|4.0.1
from the FHIR Standard
ServiceRequest.intentrequiredRequestIntent
http://hl7.org/fhir/ValueSet/request-intent|4.0.1
from the FHIR Standard
ServiceRequest.categoryexampleServiceRequestCategoryCodes
http://hl7.org/fhir/ValueSet/servicerequest-category
from the FHIR Standard
ServiceRequest.category:us-corerequiredUSCoreServiceRequestCategoryCodes
http://hl7.org/fhir/us/core/ValueSet/us-core-servicerequest-category
ServiceRequest.codeextensibleCRDServiceRequestCodes
http://hl7.org/fhir/us/davinci-crd/ValueSet/serviceRequestCodes
from this IG
ServiceRequest.reasonCodeextensibleUSCoreConditionCodes
http://hl7.org/fhir/us/core/ValueSet/us-core-condition-code

Constraints

IdGradePath(s)DetailsRequirements
crd-ci-q1errorServiceRequest.extension:Coverage-InformationQuestionnaire is only allowed when doc-needed exists
: extension.where(url='questionnaire').exists() implies extension.where(url = 'doc-needed').exists()
crd-ci-q2errorServiceRequest.extension:Coverage-InformationIf covered is set to 'not-covered', then 'pa-needed' must not exist.
: extension.where(url = 'covered' and value = 'not-covered').exists() implies extension.where(url = 'pa-needed').exists().not()
crd-ci-q3errorServiceRequest.extension:Coverage-Information'info-needed' SHALL exist if and only if at least one of 'covered', 'pa-needed', or 'doc-needed' is set to 'conditional'.
: extension.where((url = 'covered' or url = 'pa-needed' or url = 'doc-needed') and value = 'conditional').count() >= 1 implies extension.where(url = 'info-needed').exists()
crd-ci-q4errorServiceRequest.extension:Coverage-InformationIf 'pa-needed' is 'satisfied', then 'Doc-purpose' can't be 'withpa'.
: extension.where(url = 'pa-needed' and value = 'satisfied') and extension.where(url = 'doc-purpose').exists() implies extension.where(url = 'doc-purpose').all(value != 'withpa')
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()
crd-ci-q6errorServiceRequest.extension:Coverage-InformationIf 'info-needed' is Other, then reason must be specified
: extension.where(url = 'info-needed' and value = 'Other').exists() implies extension.where(url = 'reason').exists()
crd-ci-q7errorServiceRequest.extension:Coverage-InformationIf reason.coding is present and is not from the extensible value set, then reason.text must be present
: extension.where(url = 'reason').empty() or extension.where(url = 'reason').value.text.exists() or extension.where(url = 'reason').value.memberOf('http://hl7.org/fhir/us/davinci-crd/ValueSet/coverageAssertionReasons')
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 C 0..* USCoreServiceRequestProfile(7.0.0) A request for a service to be performed
This profile also complies with the profile US Core ServiceRequest Profile (6.1.0)
prr-1: orderDetail SHALL only be present if code is present
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... Coverage-Information SC 0..* (Complex) Coverage Info
URL: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-coverage-information
crd-ci-q1: Questionnaire is only allowed when doc-needed exists
crd-ci-q2: If covered is set to 'not-covered', then 'pa-needed' must not exist.
crd-ci-q3: 'info-needed' SHALL exist if and only if at least one of 'covered', 'pa-needed', or 'doc-needed' is set to 'conditional'.
crd-ci-q4: If 'pa-needed' is 'satisfied', then 'Doc-purpose' can't be 'withpa'.
crd-ci-q5: 'satisfied-pa-id' must exist if and only if 'pa-needed' is set to 'satisfied'.
crd-ci-q6: If 'info-needed' is Other, then reason must be specified
crd-ci-q7: If reason.coding is present and is not from the extensible value set, then reason.text must be present
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier SΣ 0..* Identifier Identifiers assigned to this order
... instantiatesCanonical Σ 0..* canonical(ActivityDefinition | PlanDefinition) Instantiates FHIR protocol or definition
... instantiatesUri Σ 0..* uri Instantiates 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..1 Identifier Composite Request ID
... status ?!SΣ 1..1 code draft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (required): The status of a service order.


Example General: draft
... intent ?!SΣ 1..1 code proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
Binding: RequestIntent (required): The kind of service request.

... Slices for category SΣ 0..* CodeableConcept Classification of service
Slice: Unordered, Open by pattern:$this
Binding: ServiceRequestCategoryCodes (example): Classification of the requested service.


.... category:us-core SΣ 0..* CodeableConcept Classification of service
Binding: US Core ServiceRequest Category Codes (required): Note that other codes are permitted, see Required Bindings When Slicing by Value Sets


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

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

... orderDetail ΣC 0..* CodeableConcept Additional order information
Binding: ServiceRequestOrderDetailsCodes (example): Codified order entry details which are based on order context.


... quantity[x] SΣ 0..1 Service amount
.... quantityQuantity Quantity
.... quantityRatio Ratio
.... quantityRange Range
... subject SΣ 1..1 Reference(CRD Patient) Individual or Entity the service is ordered for
... encounter SΣ 0..1 Reference(CRD Encounter) Encounter in which the request was created
... occurrence[x] SΣ 0..1 When service should occur
.... occurrencePeriod Period S
.... occurrenceDateTime dateTime
.... occurrenceTiming Timing
... asNeeded[x] Σ 0..1 Preconditions 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.

.... asNeededBoolean boolean
.... asNeededCodeableConcept CodeableConcept
... authoredOn SΣ 1..1 dateTime Date request signed
... requester SΣ 1..1 Reference(US Core Practitioner Profile(7.0.0) S | HRex PractitionerRole Profile S) Who/what is requesting service
... performerType Σ 0..1 CodeableConcept Performer 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(US Core Practitioner Profile(7.0.0) S | HRex PractitionerRole Profile S) Requested performer
... locationCode Σ 0..* CodeableConcept Requested location
Binding: ServiceDeliveryLocationRoleType (example): A location type where services are delivered.


... locationReference SΣ 0..1 Reference(CRD Location) Requested location
... reasonCode SΣ 0..* CodeableConcept 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: Explanation/Justification for procedure or service
Binding: US Core Condition Codes (extensible)
... reasonReference SΣ 0..* Reference(Condition | Observation | DiagnosticReport | DocumentReference) 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: US Core Profile that supports the requested service
... insurance 0..* Reference(Coverage | ClaimResponse) Associated insurance coverage
... supportingInfo 0..* Reference(Resource) Additional clinical information
... specimen Σ 0..* Reference(Specimen) Procedure Samples
... bodySite Σ 0..* CodeableConcept Location on Body
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.


... note 0..* Annotation Comments
... patientInstruction Σ 0..1 string Patient or consumer-oriented instructions
... relevantHistory 0..* Reference(Provenance) Request provenance

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
ServiceRequest.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
ServiceRequest.statusrequiredRequestStatus
http://hl7.org/fhir/ValueSet/request-status|4.0.1
from the FHIR Standard
ServiceRequest.intentrequiredRequestIntent
http://hl7.org/fhir/ValueSet/request-intent|4.0.1
from the FHIR Standard
ServiceRequest.categoryexampleServiceRequestCategoryCodes
http://hl7.org/fhir/ValueSet/servicerequest-category
from the FHIR Standard
ServiceRequest.category:us-corerequiredUSCoreServiceRequestCategoryCodes
http://hl7.org/fhir/us/core/ValueSet/us-core-servicerequest-category
ServiceRequest.priorityrequiredRequestPriority
http://hl7.org/fhir/ValueSet/request-priority|4.0.1
from the FHIR Standard
ServiceRequest.codeextensibleCRDServiceRequestCodes
http://hl7.org/fhir/us/davinci-crd/ValueSet/serviceRequestCodes
from this IG
ServiceRequest.orderDetailexampleServiceRequestOrderDetailsCodes
http://hl7.org/fhir/ValueSet/servicerequest-orderdetail
from the FHIR Standard
ServiceRequest.asNeeded[x]exampleSNOMEDCTMedicationAsNeededReasonCodes
http://hl7.org/fhir/ValueSet/medication-as-needed-reason
from the FHIR Standard
ServiceRequest.performerTypeexampleParticipantRoles
http://hl7.org/fhir/ValueSet/participant-role
from the FHIR Standard
ServiceRequest.locationCodeexampleServiceDeliveryLocationRoleType
http://terminology.hl7.org/ValueSet/v3-ServiceDeliveryLocationRoleType
ServiceRequest.reasonCodeextensibleUSCoreConditionCodes
http://hl7.org/fhir/us/core/ValueSet/us-core-condition-code
ServiceRequest.bodySiteexampleSNOMEDCTBodyStructures
http://hl7.org/fhir/ValueSet/body-site
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
crd-ci-q1errorServiceRequest.extension:Coverage-InformationQuestionnaire is only allowed when doc-needed exists
: extension.where(url='questionnaire').exists() implies extension.where(url = 'doc-needed').exists()
crd-ci-q2errorServiceRequest.extension:Coverage-InformationIf covered is set to 'not-covered', then 'pa-needed' must not exist.
: extension.where(url = 'covered' and value = 'not-covered').exists() implies extension.where(url = 'pa-needed').exists().not()
crd-ci-q3errorServiceRequest.extension:Coverage-Information'info-needed' SHALL exist if and only if at least one of 'covered', 'pa-needed', or 'doc-needed' is set to 'conditional'.
: extension.where((url = 'covered' or url = 'pa-needed' or url = 'doc-needed') and value = 'conditional').count() >= 1 implies extension.where(url = 'info-needed').exists()
crd-ci-q4errorServiceRequest.extension:Coverage-InformationIf 'pa-needed' is 'satisfied', then 'Doc-purpose' can't be 'withpa'.
: extension.where(url = 'pa-needed' and value = 'satisfied') and extension.where(url = 'doc-purpose').exists() implies extension.where(url = 'doc-purpose').all(value != 'withpa')
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()
crd-ci-q6errorServiceRequest.extension:Coverage-InformationIf 'info-needed' is Other, then reason must be specified
: extension.where(url = 'info-needed' and value = 'Other').exists() implies extension.where(url = 'reason').exists()
crd-ci-q7errorServiceRequest.extension:Coverage-InformationIf reason.coding is present and is not from the extensible value set, then reason.text must be present
: extension.where(url = 'reason').empty() or extension.where(url = 'reason').value.text.exists() or extension.where(url = 'reason').value.memberOf('http://hl7.org/fhir/us/davinci-crd/ValueSet/coverageAssertionReasons')
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