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 in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions
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.
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:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from ServiceRequest
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
ServiceRequest | ServiceRequest | |||
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 |
status | S | 1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown Fixed Value: draft |
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 | Quantity, Ratio, Range | Service amount |
subject | S | 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 | |
occurrence[x] | S | 0..1 | dateTime, Period, Timing | When service should occur |
authoredOn | S | 1..1 | dateTime | Date request signed |
requester | S | 1..1 | Reference(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..1 | Reference(CRD Location) | Requested location |
reasonCode | S | 0..* | CodeableConcept | Explanation/Justification for procedure or service |
reasonReference | S | 0..* | Reference(US Core Condition Profile | US Core Laboratory Result Observation Profile) | Explanation/Justification for service or service |
Documentation for this format |
Path | Conformance | ValueSet |
ServiceRequest.code | extensible | CRDServiceRequestCodes |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
ServiceRequest | C | 0..* | ServiceRequest | A request for a service to be performed |
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 |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier | SΣ | 0..* | Identifier | Identifiers assigned to this order |
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. Fixed Value: draft |
intent | ?!Σ | 1..1 | code | proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option Binding: RequestIntent (required): The kind of service 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 |
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 | Σ | 0..1 | Reference(CRD Encounter) | Encounter in which the request was created |
occurrence[x] | SΣ | 0..1 | When service should occur | |
occurrenceDateTime | dateTime | |||
occurrencePeriod | Period | |||
occurrenceTiming | Timing | |||
authoredOn | SΣ | 1..1 | dateTime | Date request signed |
requester | SΣ | 1..1 | Reference(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..1 | Reference(CRD Location) | Requested location |
reasonCode | SΣ | 0..* | CodeableConcept | Explanation/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 |
Documentation for this format |
Path | Conformance | ValueSet / Code |
ServiceRequest.status | required | Fixed Value: draft |
ServiceRequest.intent | required | RequestIntent |
ServiceRequest.code | extensible | CRDServiceRequestCodes |
ServiceRequest.reasonCode | example | ProcedureReasonCodes |
Id | Grade | Path(s) | Details | Requirements |
crd-ci-q1 | error | ServiceRequest.extension:Coverage-Information | Questionnaire 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-q2 | error | ServiceRequest.extension:Coverage-Information | If 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-q3 | error | ServiceRequest.extension:Coverage-Information | If '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-q4 | error | ServiceRequest.extension:Coverage-Information | If '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-q5 | error | ServiceRequest.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-2 | error | ServiceRequest | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | ServiceRequest | If 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-4 | error | ServiceRequest | If 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-5 | error | ServiceRequest | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | ServiceRequest | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
prr-1 | error | ServiceRequest | orderDetail SHALL only be present if code is present : orderDetail.empty() or code.exists() |
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
ServiceRequest | C | 0..* | ServiceRequest | A request for a service to be performed | ||||
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.
| |||||
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 | ||||
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. Fixed Value: draft | ||||
intent | ?!Σ | 1..1 | code | proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option Binding: RequestIntent (required): The kind of service request. | ||||
category | Σ | 0..* | CodeableConcept | Classification of service Binding: ServiceRequestCategoryCodes (example): Classification of the requested service. | ||||
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 | Σ | 0..1 | Reference(CRD Encounter) | Encounter in which the request was created | ||||
occurrence[x] | SΣ | 0..1 | When service should occur | |||||
occurrenceDateTime | dateTime | |||||||
occurrencePeriod | Period | |||||||
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(CRD Practitioner | US Core PractitionerRole Profile) | 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(CRD Practitioner | US Core PractitionerRole Profile) | 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: 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..* | 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 | |||||
Documentation for this format |
Path | Conformance | ValueSet / Code | ||||
ServiceRequest.language | preferred | CommonLanguages
| ||||
ServiceRequest.status | required | Fixed Value: draft | ||||
ServiceRequest.intent | required | RequestIntent | ||||
ServiceRequest.category | example | ServiceRequestCategoryCodes | ||||
ServiceRequest.priority | required | RequestPriority | ||||
ServiceRequest.code | extensible | CRDServiceRequestCodes | ||||
ServiceRequest.orderDetail | example | ServiceRequestOrderDetailsCodes | ||||
ServiceRequest.asNeeded[x] | example | SNOMEDCTMedicationAsNeededReasonCodes | ||||
ServiceRequest.performerType | example | ParticipantRoles | ||||
ServiceRequest.locationCode | example | ServiceDeliveryLocationRoleType | ||||
ServiceRequest.reasonCode | example | ProcedureReasonCodes | ||||
ServiceRequest.bodySite | example | SNOMEDCTBodyStructures |
Id | Grade | Path(s) | Details | Requirements |
crd-ci-q1 | error | ServiceRequest.extension:Coverage-Information | Questionnaire 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-q2 | error | ServiceRequest.extension:Coverage-Information | If 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-q3 | error | ServiceRequest.extension:Coverage-Information | If '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-q4 | error | ServiceRequest.extension:Coverage-Information | If '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-q5 | error | ServiceRequest.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-2 | error | ServiceRequest | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | ServiceRequest | If 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-4 | error | ServiceRequest | If 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-5 | error | ServiceRequest | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | ServiceRequest | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
prr-1 | error | ServiceRequest | orderDetail SHALL only be present if code is present : orderDetail.empty() or code.exists() |
This structure is derived from ServiceRequest
Summary
Mandatory: 3 elements
Must-Support: 15 elements
Fixed Value: 1 element
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Maturity: 2
Differential View
This structure is derived from ServiceRequest
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
ServiceRequest | ServiceRequest | |||
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 |
status | S | 1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown Fixed Value: draft |
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 | Quantity, Ratio, Range | Service amount |
subject | S | 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 | |
occurrence[x] | S | 0..1 | dateTime, Period, Timing | When service should occur |
authoredOn | S | 1..1 | dateTime | Date request signed |
requester | S | 1..1 | Reference(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..1 | Reference(CRD Location) | Requested location |
reasonCode | S | 0..* | CodeableConcept | Explanation/Justification for procedure or service |
reasonReference | S | 0..* | Reference(US Core Condition Profile | US Core Laboratory Result Observation Profile) | Explanation/Justification for service or service |
Documentation for this format |
Path | Conformance | ValueSet |
ServiceRequest.code | extensible | CRDServiceRequestCodes |
Key Elements View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
ServiceRequest | C | 0..* | ServiceRequest | A request for a service to be performed |
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 |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier | SΣ | 0..* | Identifier | Identifiers assigned to this order |
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. Fixed Value: draft |
intent | ?!Σ | 1..1 | code | proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option Binding: RequestIntent (required): The kind of service 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 |
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 | Σ | 0..1 | Reference(CRD Encounter) | Encounter in which the request was created |
occurrence[x] | SΣ | 0..1 | When service should occur | |
occurrenceDateTime | dateTime | |||
occurrencePeriod | Period | |||
occurrenceTiming | Timing | |||
authoredOn | SΣ | 1..1 | dateTime | Date request signed |
requester | SΣ | 1..1 | Reference(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..1 | Reference(CRD Location) | Requested location |
reasonCode | SΣ | 0..* | CodeableConcept | Explanation/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 |
Documentation for this format |
Path | Conformance | ValueSet / Code |
ServiceRequest.status | required | Fixed Value: draft |
ServiceRequest.intent | required | RequestIntent |
ServiceRequest.code | extensible | CRDServiceRequestCodes |
ServiceRequest.reasonCode | example | ProcedureReasonCodes |
Id | Grade | Path(s) | Details | Requirements |
crd-ci-q1 | error | ServiceRequest.extension:Coverage-Information | Questionnaire 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-q2 | error | ServiceRequest.extension:Coverage-Information | If 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-q3 | error | ServiceRequest.extension:Coverage-Information | If '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-q4 | error | ServiceRequest.extension:Coverage-Information | If '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-q5 | error | ServiceRequest.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-2 | error | ServiceRequest | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | ServiceRequest | If 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-4 | error | ServiceRequest | If 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-5 | error | ServiceRequest | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | ServiceRequest | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
prr-1 | error | ServiceRequest | orderDetail SHALL only be present if code is present : orderDetail.empty() or code.exists() |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
ServiceRequest | C | 0..* | ServiceRequest | A request for a service to be performed | ||||
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.
| |||||
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 | ||||
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. Fixed Value: draft | ||||
intent | ?!Σ | 1..1 | code | proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option Binding: RequestIntent (required): The kind of service request. | ||||
category | Σ | 0..* | CodeableConcept | Classification of service Binding: ServiceRequestCategoryCodes (example): Classification of the requested service. | ||||
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 | Σ | 0..1 | Reference(CRD Encounter) | Encounter in which the request was created | ||||
occurrence[x] | SΣ | 0..1 | When service should occur | |||||
occurrenceDateTime | dateTime | |||||||
occurrencePeriod | Period | |||||||
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(CRD Practitioner | US Core PractitionerRole Profile) | 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(CRD Practitioner | US Core PractitionerRole Profile) | 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: 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..* | 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 | |||||
Documentation for this format |
Path | Conformance | ValueSet / Code | ||||
ServiceRequest.language | preferred | CommonLanguages
| ||||
ServiceRequest.status | required | Fixed Value: draft | ||||
ServiceRequest.intent | required | RequestIntent | ||||
ServiceRequest.category | example | ServiceRequestCategoryCodes | ||||
ServiceRequest.priority | required | RequestPriority | ||||
ServiceRequest.code | extensible | CRDServiceRequestCodes | ||||
ServiceRequest.orderDetail | example | ServiceRequestOrderDetailsCodes | ||||
ServiceRequest.asNeeded[x] | example | SNOMEDCTMedicationAsNeededReasonCodes | ||||
ServiceRequest.performerType | example | ParticipantRoles | ||||
ServiceRequest.locationCode | example | ServiceDeliveryLocationRoleType | ||||
ServiceRequest.reasonCode | example | ProcedureReasonCodes | ||||
ServiceRequest.bodySite | example | SNOMEDCTBodyStructures |
Id | Grade | Path(s) | Details | Requirements |
crd-ci-q1 | error | ServiceRequest.extension:Coverage-Information | Questionnaire 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-q2 | error | ServiceRequest.extension:Coverage-Information | If 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-q3 | error | ServiceRequest.extension:Coverage-Information | If '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-q4 | error | ServiceRequest.extension:Coverage-Information | If '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-q5 | error | ServiceRequest.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-2 | error | ServiceRequest | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | ServiceRequest | If 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-4 | error | ServiceRequest | If 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-5 | error | ServiceRequest | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | ServiceRequest | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
prr-1 | error | ServiceRequest | orderDetail SHALL only be present if code is present : orderDetail.empty() or code.exists() |
This structure is derived from ServiceRequest
Summary
Mandatory: 3 elements
Must-Support: 15 elements
Fixed Value: 1 element
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Maturity: 2
Other representations of profile: CSV, Excel, Schematron