HL7 FHIR® Implementation Guide: Electronic Case Reporting (eCR) - US Realm
2.1.1 - STU 2.1.1 United States of America flag

HL7 FHIR® Implementation Guide: Electronic Case Reporting (eCR) - US Realm, published by HL7 International / Public Health. This guide is not an authorized publication; it is the continuous build for version 2.1.1 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/case-reporting/ and changes regularly. See the Directory of published versions

Resource Profile: eICR ServiceRequest

Official URL: http://hl7.org/fhir/us/ecr/StructureDefinition/eicr-servicerequest Version: 2.1.1
Active as of 2023-12-14 Computable Name: Eicr_ServiceRequest

This ServiceRequest profile represents eICR laboratory orders and other diagnostics for the eICR event.

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 S0..*ServiceRequesteICR ServiceRequest
... identifier S1..*IdentifierIdentifiers assigned to this order
... code S1..1CodeableConceptWhat is being requested/ordered
Binding: LOINCDiagnosticReportCodes (extensible): LOINC Diagnostic Report Codes

... subject 1..1Reference(Patient)Individual or Entity the service is ordered for
... authoredOn S0..1dateTimeDate request signed
... requester S0..1Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device)Who/what is requesting service
... performer S0..*Reference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService | Patient | Device | RelatedPerson)Requested performer
... bodySite S0..*CodeableConceptLocation on Body

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
ServiceRequest.codeextensibleLOINCDiagnosticReportCodes (a valid code from LOINC)
NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest SC0..*ServiceRequesteICR ServiceRequest
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier SΣ1..*IdentifierIdentifiers assigned to this order
... intent ?!Σ1..1codeproposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
Binding: RequestIntent (required): The kind of service request.

... doNotPerform ?!Σ0..1booleanTrue if service/procedure should not be performed
... code SΣ1..1CodeableConceptWhat is being requested/ordered
Binding: LOINCDiagnosticReportCodes (extensible): LOINC Diagnostic Report Codes

... subject Σ1..1Reference(Patient)Individual or Entity the service is ordered for
... occurrence[x] SΣ0..1When service should occur
.... occurrenceDateTimedateTime
.... occurrencePeriodPeriod
.... occurrenceTimingTiming
... authoredOn SΣ0..1dateTimeDate request signed
... requester SΣ0..1Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device)Who/what is requesting service
... performer SΣ0..*Reference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService | Patient | Device | RelatedPerson)Requested performer
... bodySite SΣ0..*CodeableConceptLocation on Body
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.



doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
ServiceRequest.statusrequiredRequestStatus
ServiceRequest.intentrequiredRequestIntent
ServiceRequest.codeextensibleLOINCDiagnosticReportCodes (a valid code from LOINC)
ServiceRequest.bodySiteexampleSNOMEDCTBodyStructures

Constraints

IdGradePath(s)DetailsRequirements
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 SC0..*ServiceRequesteICR ServiceRequest
... 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
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier SΣ1..*IdentifierIdentifiers assigned to this order
... instantiatesCanonical Σ0..*canonical(ActivityDefinition | PlanDefinition)Instantiates FHIR protocol or definition
... instantiatesUri Σ0..*uriInstantiates external protocol or definition
... basedOn Σ0..*Reference(CarePlan | ServiceRequest | MedicationRequest)What request fulfills
... replaces Σ0..*Reference(ServiceRequest)What request replaces
... requisition Σ0..1IdentifierComposite Request ID
... status ?!Σ1..1codedraft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (required): The status of a service order.

... 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 ?!Σ0..1booleanTrue if service/procedure should not be performed
... code SΣ1..1CodeableConceptWhat is being requested/ordered
Binding: LOINCDiagnosticReportCodes (extensible): LOINC Diagnostic Report Codes

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


... quantity[x] Σ0..1Service amount
.... quantityQuantityQuantity
.... quantityRatioRatio
.... quantityRangeRange
... subject Σ1..1Reference(Patient)Individual or Entity the service is ordered for
... encounter Σ0..1Reference(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Σ0..1dateTimeDate request signed
... requester SΣ0..1Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device)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(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService | Patient | Device | RelatedPerson)Requested performer
... locationCode Σ0..*CodeableConceptRequested location
Binding: ServiceDeliveryLocationRoleType (example): A location type where services are delivered.


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


... reasonReference Σ0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference)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 SΣ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
ServiceRequest.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
ServiceRequest.statusrequiredRequestStatus
ServiceRequest.intentrequiredRequestIntent
ServiceRequest.categoryexampleServiceRequestCategoryCodes
ServiceRequest.priorityrequiredRequestPriority
ServiceRequest.codeextensibleLOINCDiagnosticReportCodes (a valid code from LOINC)
ServiceRequest.orderDetailexampleServiceRequestOrderDetailsCodes
ServiceRequest.asNeeded[x]exampleSNOMEDCTMedicationAsNeededReasonCodes
ServiceRequest.performerTypeexampleParticipantRoles
ServiceRequest.locationCodeexampleServiceDeliveryLocationRoleType
ServiceRequest.reasonCodeexampleProcedureReasonCodes
ServiceRequest.bodySiteexampleSNOMEDCTBodyStructures

Constraints

IdGradePath(s)DetailsRequirements
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()

This structure is derived from ServiceRequest

Summary

Mandatory: 2 elements
Must-Support: 7 elements

Differential View

This structure is derived from ServiceRequest

NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest S0..*ServiceRequesteICR ServiceRequest
... identifier S1..*IdentifierIdentifiers assigned to this order
... code S1..1CodeableConceptWhat is being requested/ordered
Binding: LOINCDiagnosticReportCodes (extensible): LOINC Diagnostic Report Codes

... subject 1..1Reference(Patient)Individual or Entity the service is ordered for
... authoredOn S0..1dateTimeDate request signed
... requester S0..1Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device)Who/what is requesting service
... performer S0..*Reference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService | Patient | Device | RelatedPerson)Requested performer
... bodySite S0..*CodeableConceptLocation on Body

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
ServiceRequest.codeextensibleLOINCDiagnosticReportCodes (a valid code from LOINC)

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest SC0..*ServiceRequesteICR ServiceRequest
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier SΣ1..*IdentifierIdentifiers assigned to this order
... intent ?!Σ1..1codeproposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
Binding: RequestIntent (required): The kind of service request.

... doNotPerform ?!Σ0..1booleanTrue if service/procedure should not be performed
... code SΣ1..1CodeableConceptWhat is being requested/ordered
Binding: LOINCDiagnosticReportCodes (extensible): LOINC Diagnostic Report Codes

... subject Σ1..1Reference(Patient)Individual or Entity the service is ordered for
... occurrence[x] SΣ0..1When service should occur
.... occurrenceDateTimedateTime
.... occurrencePeriodPeriod
.... occurrenceTimingTiming
... authoredOn SΣ0..1dateTimeDate request signed
... requester SΣ0..1Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device)Who/what is requesting service
... performer SΣ0..*Reference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService | Patient | Device | RelatedPerson)Requested performer
... bodySite SΣ0..*CodeableConceptLocation on Body
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.



doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
ServiceRequest.statusrequiredRequestStatus
ServiceRequest.intentrequiredRequestIntent
ServiceRequest.codeextensibleLOINCDiagnosticReportCodes (a valid code from LOINC)
ServiceRequest.bodySiteexampleSNOMEDCTBodyStructures

Constraints

IdGradePath(s)DetailsRequirements
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 SC0..*ServiceRequesteICR ServiceRequest
... 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
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier SΣ1..*IdentifierIdentifiers assigned to this order
... instantiatesCanonical Σ0..*canonical(ActivityDefinition | PlanDefinition)Instantiates FHIR protocol or definition
... instantiatesUri Σ0..*uriInstantiates external protocol or definition
... basedOn Σ0..*Reference(CarePlan | ServiceRequest | MedicationRequest)What request fulfills
... replaces Σ0..*Reference(ServiceRequest)What request replaces
... requisition Σ0..1IdentifierComposite Request ID
... status ?!Σ1..1codedraft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (required): The status of a service order.

... 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 ?!Σ0..1booleanTrue if service/procedure should not be performed
... code SΣ1..1CodeableConceptWhat is being requested/ordered
Binding: LOINCDiagnosticReportCodes (extensible): LOINC Diagnostic Report Codes

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


... quantity[x] Σ0..1Service amount
.... quantityQuantityQuantity
.... quantityRatioRatio
.... quantityRangeRange
... subject Σ1..1Reference(Patient)Individual or Entity the service is ordered for
... encounter Σ0..1Reference(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Σ0..1dateTimeDate request signed
... requester SΣ0..1Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device)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(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService | Patient | Device | RelatedPerson)Requested performer
... locationCode Σ0..*CodeableConceptRequested location
Binding: ServiceDeliveryLocationRoleType (example): A location type where services are delivered.


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


... reasonReference Σ0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference)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 SΣ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
ServiceRequest.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
ServiceRequest.statusrequiredRequestStatus
ServiceRequest.intentrequiredRequestIntent
ServiceRequest.categoryexampleServiceRequestCategoryCodes
ServiceRequest.priorityrequiredRequestPriority
ServiceRequest.codeextensibleLOINCDiagnosticReportCodes (a valid code from LOINC)
ServiceRequest.orderDetailexampleServiceRequestOrderDetailsCodes
ServiceRequest.asNeeded[x]exampleSNOMEDCTMedicationAsNeededReasonCodes
ServiceRequest.performerTypeexampleParticipantRoles
ServiceRequest.locationCodeexampleServiceDeliveryLocationRoleType
ServiceRequest.reasonCodeexampleProcedureReasonCodes
ServiceRequest.bodySiteexampleSNOMEDCTBodyStructures

Constraints

IdGradePath(s)DetailsRequirements
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()

This structure is derived from ServiceRequest

Summary

Mandatory: 2 elements
Must-Support: 7 elements

 

Other representations of profile: CSV, Excel, Schematron