R4 Draft for Comment

This page is part of the FHIR Specification (v3.2.0: R4 Ballot 1). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4

12.14 Resource ServiceRequest - Content

Orders and Observations Work GroupMaturity Level: 2 Trial Use Compartments: Device, Encounter, Patient, Practitioner, RelatedPerson

A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.

STU Note: In terms of scope and usage, the Patient Care and Orders and Observations workgroups wish to draw the attention of reviewers and implementers to the following issues:

  1. ReferralRequest and ProcedureRequest have been merged into ServiceRequest since their content was nearly identical and no clear distinction was identified for managing the transfer of care responsibility from one practitioner/organization to another (Note that for STU3 DiagnosticRequest and ProcedureRequest were merged). We are seeking input on:
    • How to represent whether a transfer of care is being requested
    • Which elements if any in the ServiceRequest resource might not be applicable for a referral.
  2. The following elements have been added to this resource:
  3. Based on the workflow request pattern changes, the following have been updated:
    • The definition element was renamed to instantiates
    • The requester collapsed into a single element (requester.agent and request.onBehalfOf elements removed) and a reference to PractitionerRole added to the choices of reference targets
    • Additional reference targets added to the performer, and reasonReference elements.
    • Added a statusReason standard extension - We would like implementer input on whether extension should be promoted to an inline element.

This resource is a request resource from a FHIR workflow perspective - see Workflow.

ServiceRequest is a record of a request for a procedure or diagnostic or other service to be planned, proposed, or performed, as distinguished by the ServiceRequest.intent field value, with or on a patient. The procedure will lead to either a Procedure or DiagnosticReport, that in turn may reference one or more Observations, that summarizes the performance of the procedures and associated documentation such as observations, images, findings that are relevant to the treatment/management of the subject. This resource may be used to share relevant information required to support a referral or a transfer of care request from one practitioner or organization to another when a patient is required to be referred to another provider for a consultation /second opinion and/or for short term or longer term management of one or more health issues or problems.

Examples include:

  • diagnostic tests/studies
  • endoscopic procedures
  • counseling
  • biopsies
  • therapies (e.g., physio-, social-, psychological-)
  • (exploratory) surgeries or procedures
  • exercises
  • specialist consultation and assessments
  • community services
  • nursing services
  • pharmacist medication review
  • and other clinical interventions.

Procedures may be performed by a healthcare professional, a friend or relative or in some cases by the patient themselves.

The principal intention of ServiceRequest is to support ordering procedures for one patient (which includes non-human patients in veterinary medicine). However, in many contexts, healthcare related processes include performing diagnostic investigations on groups of subjects, devices involved in the provision of healthcare, and even environmental locations such as ducts, bodies of water, etc. ServiceRequest supports all these usages. The service request may represent an order that is entered by a practitioner in a CPOE system as well as a proposal made by a clinical decision support (CDS) system based on a patient's clinical record and context of care. Planned procedures referenced by a CarePlan may also be represented by this resource.

The general work flow that this resource facilitates is that a clinical system creates a service request. The service request is then accessed by or exchanged with a system, perhaps via intermediaries, that represents an organization (e.g., diagnostic or imaging service, surgical team, physical therapy department) that can perform the procedure. The organization receiving the service request will, after it accepts the request, update the request as the work is performed, and then finally issue a report that references the requests that it fulfilled.

The ServiceRequest resource allows requesting only a single procedure. If a workflow requires requesting multiple procedures simultaneously, this is done using multiple instances of this resource. These instances can be linked in different ways, depending on the needs of the workflow. For guidance, refer to the Request pattern

ServiceRequest and CommunicationRequest are related. A CommunicationRequest is a request to merely disclose information. Whereas a ServiceRequest would be used to request information as part of training or counseling - i.e. when the process will involve verification of the patient's comprehension or an attempt to change the patient's mental state. In some workflows both may exist. For example, upon receiving a CommuninicationRequest a practitioner might initiate a ServiceRequest.

This resource is referenced by Appointment, BiologicallyDerivedProduct, CarePlan, Claim, ClinicalImpression, DeviceUseStatement, DiagnosticReport, Encounter, EpisodeOfCare, ExplanationOfBenefit, Goal, ImagingStudy, Media, MedicationRequest, MedicationStatement, Observation, Procedure, QuestionnaireResponse and Specimen

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest ITUDomainResourceA request for a service to be performed
+ orderDetail SHALL only be present if code is present
Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier Σ0..*IdentifierIdentifiers assigned to this order
... instantiates Σ0..*uriProtocol 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 | suspended | completed | entered-in-error | cancelled
RequestStatus (Required)
... intent ?!Σ1..1codeproposal | plan | order +
RequestIntent (Required)
... priority Σ0..1coderoutine | urgent | asap | stat
RequestPriority (Required)
... doNotPerform ?!Σ0..1booleanTrue if service/procedure should not be performed
... category Σ0..*CodeableConceptClassification of service
Service Request Category Codes (Example)
... code Σ0..1CodeableConceptWhat is being requested/ordered
Procedure Codes (SNOMED CT) (Example)
... orderDetail ΣI0..*CodeableConceptAdditional order information
Service Request Order Details Codes (Example)
... subject Σ1..1Reference(Patient | Group | Location | Device)Individual the service is ordered for
... context Σ0..1Reference(Encounter | EpisodeOfCare)Encounter or Episode during which request was created
... occurrence[x] Σ0..1When service should occur
.... occurrenceDateTimedateTime
.... occurrencePeriodPeriod
.... occurrenceTimingTiming
... asNeeded[x] Σ0..1Preconditions for service
SNOMED CT Medication As Needed Reason Codes (Example)
.... asNeededBooleanboolean
.... asNeededCodeableConceptCodeableConcept
... authoredOn Σ0..1dateTimeDate request signed
... requester Σ0..1Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device)Who/what is requesting service
... performerType Σ0..1CodeableConceptPerformer role
Participant Roles (Example)
... performer Σ0..1Reference(Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson | HealthcareService | CareTeam)Requested perfomer
... reasonCode Σ0..*CodeableConceptExplanation/Justification for procedure or service
Procedure Reason Codes (Example)
... reasonReference Σ0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference)Explanation/Justification for service or service
... insurance 0..*Reference(Coverage | ClaimResponse)Associated insurance coverage
... supportingInfo 0..*Reference(Any)Additional clinical information
... specimen Σ0..*Reference(Specimen)Procedure Samples
... bodySite Σ0..*CodeableConceptLocation on Body
SNOMED CT Body Structures (Example)
... note 0..*AnnotationComments
... patientInstruction Σ0..1stringPatient or consumer oriented instructions
... relevantHistory 0..*Reference(Provenance)Request provenance

doco Documentation for this format

UML Diagram (Legend)

ServiceRequest (DomainResource)Identifiers assigned to this order instance by the orderer and/or the receiver and/or order fulfilleridentifier : Identifier [0..*]Protocol or definition followed by this requestinstantiates : uri [0..*]Plan/proposal/order fulfilled by this requestbasedOn : Reference [0..*] « CarePlan|ServiceRequest| MedicationRequest »The request takes the place of the referenced completed or terminated request(s)replaces : Reference [0..*] « ServiceRequest »A shared identifier common to all service requests that were authorized more or less simultaneously by a single author, representing the composite or group identifierrequisition : Identifier [0..1]The status of the order (this element modifies the meaning of other elements)status : code [1..1] « The status of a service order. (Strength=Required)RequestStatus! »Whether the request is a proposal, plan, an original order or a reflex order (this element modifies the meaning of other elements)intent : code [1..1] « The kind of service request (Strength=Required)RequestIntent! »Indicates how quickly the ServiceRequest should be addressed with respect to other requestspriority : code [0..1] « Identifies the level of importance to be assigned to actioning the request (Strength=Required)RequestPriority! »Set this to true if the record is saying that the service/procedure should NOT be performed (this element modifies the meaning of other elements)doNotPerform : boolean [0..1]A code that classifies the service for searching, sorting and display purposes (e.g. "Surgical Procedure")category : CodeableConcept [0..*] « Classification of the requested service. (Strength=Example)Service Request Category ?? »A code that identifies a particular service (i.e., procedure, diagnostic investigation, or panel of investigations) that have been requestedcode : CodeableConcept [0..1] « Codes for tests or services that can be carried out by a designated individual, organization or healthcare service. For laboratory, LOINC is (preferred)[http://build.fhir.org/terminologies.html#preferred] and a valueset using LOINC Order codes is available [here](valueset-diagnostic-requests.html). (Strength=Example)Procedure Codes (SNOMED CT)?? »Additional details and instructions about the how the services are to be delivered. For example, and order for a urinary catheter may have a order detail for an external or indwelling catheter, or an order for a bandage may require additional instructions specifying how the bandage should be appliedorderDetail : CodeableConcept [0..*] « Codified order entry details which are based on order context. (Strength=Example)Service Request Order Details ?? »On whom or what the service is to be performed. This is usually a human patient, but can also be requested on animals, groups of humans or animals, devices such as dialysis machines, or even locations (typically for environmental scans)subject : Reference [1..1] « Patient|Group|Location|Device »An encounter or episode of care that provides additional information about the healthcare context in which this request is madecontext : Reference [0..1] « Encounter|EpisodeOfCare »The date/time at which the requested service should occuroccurrence[x] : Type [0..1] « dateTime|Period|Timing »If a CodeableConcept is present, it indicates the pre-condition for performing the service. For example "pain", "on flare-up", etcasNeeded[x] : Type [0..1] « boolean|CodeableConcept; A coded concept identifying the pre-condition that should hold prior to performing a procedure. For example "pain", "on flare-up", etc. (Strength=Example)SNOMED CT Medication As Neede...?? »When the request transitioned to being actionableauthoredOn : dateTime [0..1]The individual who initiated the request and has responsibility for its activationrequester : Reference [0..1] « Practitioner|PractitionerRole| Organization|Patient|RelatedPerson|Device »Desired type of performer for doing the requested serviceperformerType : CodeableConcept [0..1] « Indicates specific responsibility of an individual within the care team, such as "Primary physician", "Team coordinator", "Caregiver", etc. (Strength=Example)Participant Roles?? »The desired perfomer for doing the requested service. For example, the surgeon, dermatopathologist, endoscopist, etcperformer : Reference [0..1] « Practitioner|PractitionerRole| Organization|Patient|Device|RelatedPerson|HealthcareService| CareTeam »An explanation or justification for why this service is being requested in coded or textual form. This is often for billing purposes. May relate to the resources referred to in supportingInformationreasonCode : CodeableConcept [0..*] « Diagnosis or problem codes justifying the reason for requesting the service investigation. (Strength=Example)Procedure Reason ?? »Indicates another resource that provides a justification for why this service is being requested. May relate to the resources referred to in supportingInformationreasonReference : Reference [0..*] « Condition|Observation| DiagnosticReport|DocumentReference »Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be needed for delivering the requested serviceinsurance : Reference [0..*] « Coverage|ClaimResponse »Additional clinical information about the patient or specimen that may influence the services or their interpretations. This information includes diagnosis, clinical findings and other observations. In laboratory ordering these are typically referred to as "ask at order entry questions (AOEs)". This includes observations explicitly requested by the producer (filler) to provide context or supporting information needed to complete the order. For example, reporting the amount of inspired oxygen for blood gas measurementssupportingInfo : Reference [0..*] « Any »One or more specimens that the laboratory procedure will usespecimen : Reference [0..*] « Specimen »Anatomic location where the procedure should be performed. This is the target sitebodySite : CodeableConcept [0..*] « Codes describing anatomical locations. May include laterality. (Strength=Example)SNOMED CT Body Structures?? »Any other notes and comments made about the service request. For example, internal billing notesnote : Annotation [0..*]Instructions in terms that are understood by the patient or consumerpatientInstruction : string [0..1]Key events in the history of the requestrelevantHistory : Reference [0..*] « Provenance »

XML Template

<ServiceRequest xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier Identifiers assigned to this order --></identifier>
 <instantiates value="[uri]"/><!-- 0..* Protocol or definition -->
 <basedOn><!-- 0..* Reference(CarePlan|ServiceRequest|MedicationRequest) What request fulfills --></basedOn>
 <replaces><!-- 0..* Reference(ServiceRequest) What request replaces --></replaces>
 <requisition><!-- 0..1 Identifier Composite Request ID --></requisition>
 <status value="[code]"/><!-- 1..1 draft | active | suspended | completed | entered-in-error | cancelled -->
 <intent value="[code]"/><!-- 1..1 proposal | plan | order + -->
 <priority value="[code]"/><!-- 0..1 routine | urgent | asap | stat -->
 <doNotPerform value="[boolean]"/><!-- 0..1 True if service/procedure should not be performed -->
 <category><!-- 0..* CodeableConcept Classification of service --></category>
 <code><!-- 0..1 CodeableConcept What is being requested/ordered --></code>
 <orderDetail><!-- ?? 0..* CodeableConcept Additional order information --></orderDetail>
 <subject><!-- 1..1 Reference(Patient|Group|Location|Device) Individual the service is ordered for --></subject>
 <context><!-- 0..1 Reference(Encounter|EpisodeOfCare) Encounter or Episode during which request was created --></context>
 <occurrence[x]><!-- 0..1 dateTime|Period|Timing When service should occur --></occurrence[x]>
 <asNeeded[x]><!-- 0..1 boolean|CodeableConcept Preconditions for service --></asNeeded[x]>
 <authoredOn value="[dateTime]"/><!-- 0..1 Date request signed -->
 <requester><!-- 0..1 Reference(Practitioner|PractitionerRole|Organization|
   Patient|RelatedPerson|Device) Who/what is requesting service --></requester>
 <performerType><!-- 0..1 CodeableConcept Performer role --></performerType>
 <performer><!-- 0..1 Reference(Practitioner|PractitionerRole|Organization|
   Patient|Device|RelatedPerson|HealthcareService|CareTeam) Requested perfomer --></performer>
 <reasonCode><!-- 0..* CodeableConcept Explanation/Justification for procedure or service --></reasonCode>
 <reasonReference><!-- 0..* Reference(Condition|Observation|DiagnosticReport|
   DocumentReference) Explanation/Justification for service or service --></reasonReference>
 <insurance><!-- 0..* Reference(Coverage|ClaimResponse) Associated insurance coverage --></insurance>
 <supportingInfo><!-- 0..* Reference(Any) Additional clinical information --></supportingInfo>
 <specimen><!-- 0..* Reference(Specimen) Procedure Samples --></specimen>
 <bodySite><!-- 0..* CodeableConcept Location on Body --></bodySite>
 <note><!-- 0..* Annotation Comments --></note>
 <patientInstruction value="[string]"/><!-- 0..1 Patient or consumer oriented instructions -->
 <relevantHistory><!-- 0..* Reference(Provenance) Request provenance --></relevantHistory>
</ServiceRequest>

JSON Template

{doco
  "resourceType" : "ServiceRequest",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // Identifiers assigned to this order
  "instantiates" : ["<uri>"], // Protocol or definition
  "basedOn" : [{ Reference(CarePlan|ServiceRequest|MedicationRequest) }], // What request fulfills
  "replaces" : [{ Reference(ServiceRequest) }], // What request replaces
  "requisition" : { Identifier }, // Composite Request ID
  "status" : "<code>", // R!  draft | active | suspended | completed | entered-in-error | cancelled
  "intent" : "<code>", // R!  proposal | plan | order +
  "priority" : "<code>", // routine | urgent | asap | stat
  "doNotPerform" : <boolean>, // True if service/procedure should not be performed
  "category" : [{ CodeableConcept }], // Classification of service
  "code" : { CodeableConcept }, // What is being requested/ordered
  "orderDetail" : [{ CodeableConcept }], // C? Additional order information
  "subject" : { Reference(Patient|Group|Location|Device) }, // R!  Individual the service is ordered for
  "context" : { Reference(Encounter|EpisodeOfCare) }, // Encounter or Episode during which request was created
  // occurrence[x]: When service should occur. One of these 3:
  "occurrenceDateTime" : "<dateTime>",
  "occurrencePeriod" : { Period },
  "occurrenceTiming" : { Timing },
  // asNeeded[x]: Preconditions for service. One of these 2:
  "asNeededBoolean" : <boolean>,
  "asNeededCodeableConcept" : { CodeableConcept },
  "authoredOn" : "<dateTime>", // Date request signed
  "requester" : { Reference(Practitioner|PractitionerRole|Organization|
   Patient|RelatedPerson|Device) }, // Who/what is requesting service
  "performerType" : { CodeableConcept }, // Performer role
  "performer" : { Reference(Practitioner|PractitionerRole|Organization|
   Patient|Device|RelatedPerson|HealthcareService|CareTeam) }, // Requested perfomer
  "reasonCode" : [{ CodeableConcept }], // Explanation/Justification for procedure or service
  "reasonReference" : [{ Reference(Condition|Observation|DiagnosticReport|
   DocumentReference) }], // Explanation/Justification for service or service
  "insurance" : [{ Reference(Coverage|ClaimResponse) }], // Associated insurance coverage
  "supportingInfo" : [{ Reference(Any) }], // Additional clinical information
  "specimen" : [{ Reference(Specimen) }], // Procedure Samples
  "bodySite" : [{ CodeableConcept }], // Location on Body
  "note" : [{ Annotation }], // Comments
  "patientInstruction" : "<string>", // Patient or consumer oriented instructions
  "relevantHistory" : [{ Reference(Provenance) }] // Request provenance
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:ServiceRequest;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:ServiceRequest.identifier [ Identifier ], ... ; # 0..* Identifiers assigned to this order
  fhir:ServiceRequest.instantiates [ uri ], ... ; # 0..* Protocol or definition
  fhir:ServiceRequest.basedOn [ Reference(CarePlan|ServiceRequest|MedicationRequest) ], ... ; # 0..* What request fulfills
  fhir:ServiceRequest.replaces [ Reference(ServiceRequest) ], ... ; # 0..* What request replaces
  fhir:ServiceRequest.requisition [ Identifier ]; # 0..1 Composite Request ID
  fhir:ServiceRequest.status [ code ]; # 1..1 draft | active | suspended | completed | entered-in-error | cancelled
  fhir:ServiceRequest.intent [ code ]; # 1..1 proposal | plan | order +
  fhir:ServiceRequest.priority [ code ]; # 0..1 routine | urgent | asap | stat
  fhir:ServiceRequest.doNotPerform [ boolean ]; # 0..1 True if service/procedure should not be performed
  fhir:ServiceRequest.category [ CodeableConcept ], ... ; # 0..* Classification of service
  fhir:ServiceRequest.code [ CodeableConcept ]; # 0..1 What is being requested/ordered
  fhir:ServiceRequest.orderDetail [ CodeableConcept ], ... ; # 0..* Additional order information
  fhir:ServiceRequest.subject [ Reference(Patient|Group|Location|Device) ]; # 1..1 Individual the service is ordered for
  fhir:ServiceRequest.context [ Reference(Encounter|EpisodeOfCare) ]; # 0..1 Encounter or Episode during which request was created
  # ServiceRequest.occurrence[x] : 0..1 When service should occur. One of these 3
    fhir:ServiceRequest.occurrenceDateTime [ dateTime ]
    fhir:ServiceRequest.occurrencePeriod [ Period ]
    fhir:ServiceRequest.occurrenceTiming [ Timing ]
  # ServiceRequest.asNeeded[x] : 0..1 Preconditions for service. One of these 2
    fhir:ServiceRequest.asNeededBoolean [ boolean ]
    fhir:ServiceRequest.asNeededCodeableConcept [ CodeableConcept ]
  fhir:ServiceRequest.authoredOn [ dateTime ]; # 0..1 Date request signed
  fhir:ServiceRequest.requester [ Reference(Practitioner|PractitionerRole|Organization|Patient|RelatedPerson|Device) ]; # 0..1 Who/what is requesting service
  fhir:ServiceRequest.performerType [ CodeableConcept ]; # 0..1 Performer role
  fhir:ServiceRequest.performer [ Reference(Practitioner|PractitionerRole|Organization|Patient|Device|RelatedPerson|
  HealthcareService|CareTeam) ]; # 0..1 Requested perfomer
  fhir:ServiceRequest.reasonCode [ CodeableConcept ], ... ; # 0..* Explanation/Justification for procedure or service
  fhir:ServiceRequest.reasonReference [ Reference(Condition|Observation|DiagnosticReport|DocumentReference) ], ... ; # 0..* Explanation/Justification for service or service
  fhir:ServiceRequest.insurance [ Reference(Coverage|ClaimResponse) ], ... ; # 0..* Associated insurance coverage
  fhir:ServiceRequest.supportingInfo [ Reference(Any) ], ... ; # 0..* Additional clinical information
  fhir:ServiceRequest.specimen [ Reference(Specimen) ], ... ; # 0..* Procedure Samples
  fhir:ServiceRequest.bodySite [ CodeableConcept ], ... ; # 0..* Location on Body
  fhir:ServiceRequest.note [ Annotation ], ... ; # 0..* Comments
  fhir:ServiceRequest.patientInstruction [ string ]; # 0..1 Patient or consumer oriented instructions
  fhir:ServiceRequest.relevantHistory [ Reference(Provenance) ], ... ; # 0..* Request provenance
]

Changes since DSTU2

This resource did not exist in Release 2

This analysis is available as XML or JSON.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest ITUDomainResourceA request for a service to be performed
+ orderDetail SHALL only be present if code is present
Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier Σ0..*IdentifierIdentifiers assigned to this order
... instantiates Σ0..*uriProtocol 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 | suspended | completed | entered-in-error | cancelled
RequestStatus (Required)
... intent ?!Σ1..1codeproposal | plan | order +
RequestIntent (Required)
... priority Σ0..1coderoutine | urgent | asap | stat
RequestPriority (Required)
... doNotPerform ?!Σ0..1booleanTrue if service/procedure should not be performed
... category Σ0..*CodeableConceptClassification of service
Service Request Category Codes (Example)
... code Σ0..1CodeableConceptWhat is being requested/ordered
Procedure Codes (SNOMED CT) (Example)
... orderDetail ΣI0..*CodeableConceptAdditional order information
Service Request Order Details Codes (Example)
... subject Σ1..1Reference(Patient | Group | Location | Device)Individual the service is ordered for
... context Σ0..1Reference(Encounter | EpisodeOfCare)Encounter or Episode during which request was created
... occurrence[x] Σ0..1When service should occur
.... occurrenceDateTimedateTime
.... occurrencePeriodPeriod
.... occurrenceTimingTiming
... asNeeded[x] Σ0..1Preconditions for service
SNOMED CT Medication As Needed Reason Codes (Example)
.... asNeededBooleanboolean
.... asNeededCodeableConceptCodeableConcept
... authoredOn Σ0..1dateTimeDate request signed
... requester Σ0..1Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device)Who/what is requesting service
... performerType Σ0..1CodeableConceptPerformer role
Participant Roles (Example)
... performer Σ0..1Reference(Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson | HealthcareService | CareTeam)Requested perfomer
... reasonCode Σ0..*CodeableConceptExplanation/Justification for procedure or service
Procedure Reason Codes (Example)
... reasonReference Σ0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference)Explanation/Justification for service or service
... insurance 0..*Reference(Coverage | ClaimResponse)Associated insurance coverage
... supportingInfo 0..*Reference(Any)Additional clinical information
... specimen Σ0..*Reference(Specimen)Procedure Samples
... bodySite Σ0..*CodeableConceptLocation on Body
SNOMED CT Body Structures (Example)
... note 0..*AnnotationComments
... patientInstruction Σ0..1stringPatient or consumer oriented instructions
... relevantHistory 0..*Reference(Provenance)Request provenance

doco Documentation for this format

UML Diagram (Legend)

ServiceRequest (DomainResource)Identifiers assigned to this order instance by the orderer and/or the receiver and/or order fulfilleridentifier : Identifier [0..*]Protocol or definition followed by this requestinstantiates : uri [0..*]Plan/proposal/order fulfilled by this requestbasedOn : Reference [0..*] « CarePlan|ServiceRequest| MedicationRequest »The request takes the place of the referenced completed or terminated request(s)replaces : Reference [0..*] « ServiceRequest »A shared identifier common to all service requests that were authorized more or less simultaneously by a single author, representing the composite or group identifierrequisition : Identifier [0..1]The status of the order (this element modifies the meaning of other elements)status : code [1..1] « The status of a service order. (Strength=Required)RequestStatus! »Whether the request is a proposal, plan, an original order or a reflex order (this element modifies the meaning of other elements)intent : code [1..1] « The kind of service request (Strength=Required)RequestIntent! »Indicates how quickly the ServiceRequest should be addressed with respect to other requestspriority : code [0..1] « Identifies the level of importance to be assigned to actioning the request (Strength=Required)RequestPriority! »Set this to true if the record is saying that the service/procedure should NOT be performed (this element modifies the meaning of other elements)doNotPerform : boolean [0..1]A code that classifies the service for searching, sorting and display purposes (e.g. "Surgical Procedure")category : CodeableConcept [0..*] « Classification of the requested service. (Strength=Example)Service Request Category ?? »A code that identifies a particular service (i.e., procedure, diagnostic investigation, or panel of investigations) that have been requestedcode : CodeableConcept [0..1] « Codes for tests or services that can be carried out by a designated individual, organization or healthcare service. For laboratory, LOINC is (preferred)[http://build.fhir.org/terminologies.html#preferred] and a valueset using LOINC Order codes is available [here](valueset-diagnostic-requests.html). (Strength=Example)Procedure Codes (SNOMED CT)?? »Additional details and instructions about the how the services are to be delivered. For example, and order for a urinary catheter may have a order detail for an external or indwelling catheter, or an order for a bandage may require additional instructions specifying how the bandage should be appliedorderDetail : CodeableConcept [0..*] « Codified order entry details which are based on order context. (Strength=Example)Service Request Order Details ?? »On whom or what the service is to be performed. This is usually a human patient, but can also be requested on animals, groups of humans or animals, devices such as dialysis machines, or even locations (typically for environmental scans)subject : Reference [1..1] « Patient|Group|Location|Device »An encounter or episode of care that provides additional information about the healthcare context in which this request is madecontext : Reference [0..1] « Encounter|EpisodeOfCare »The date/time at which the requested service should occuroccurrence[x] : Type [0..1] « dateTime|Period|Timing »If a CodeableConcept is present, it indicates the pre-condition for performing the service. For example "pain", "on flare-up", etcasNeeded[x] : Type [0..1] « boolean|CodeableConcept; A coded concept identifying the pre-condition that should hold prior to performing a procedure. For example "pain", "on flare-up", etc. (Strength=Example)SNOMED CT Medication As Neede...?? »When the request transitioned to being actionableauthoredOn : dateTime [0..1]The individual who initiated the request and has responsibility for its activationrequester : Reference [0..1] « Practitioner|PractitionerRole| Organization|Patient|RelatedPerson|Device »Desired type of performer for doing the requested serviceperformerType : CodeableConcept [0..1] « Indicates specific responsibility of an individual within the care team, such as "Primary physician", "Team coordinator", "Caregiver", etc. (Strength=Example)Participant Roles?? »The desired perfomer for doing the requested service. For example, the surgeon, dermatopathologist, endoscopist, etcperformer : Reference [0..1] « Practitioner|PractitionerRole| Organization|Patient|Device|RelatedPerson|HealthcareService| CareTeam »An explanation or justification for why this service is being requested in coded or textual form. This is often for billing purposes. May relate to the resources referred to in supportingInformationreasonCode : CodeableConcept [0..*] « Diagnosis or problem codes justifying the reason for requesting the service investigation. (Strength=Example)Procedure Reason ?? »Indicates another resource that provides a justification for why this service is being requested. May relate to the resources referred to in supportingInformationreasonReference : Reference [0..*] « Condition|Observation| DiagnosticReport|DocumentReference »Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be needed for delivering the requested serviceinsurance : Reference [0..*] « Coverage|ClaimResponse »Additional clinical information about the patient or specimen that may influence the services or their interpretations. This information includes diagnosis, clinical findings and other observations. In laboratory ordering these are typically referred to as "ask at order entry questions (AOEs)". This includes observations explicitly requested by the producer (filler) to provide context or supporting information needed to complete the order. For example, reporting the amount of inspired oxygen for blood gas measurementssupportingInfo : Reference [0..*] « Any »One or more specimens that the laboratory procedure will usespecimen : Reference [0..*] « Specimen »Anatomic location where the procedure should be performed. This is the target sitebodySite : CodeableConcept [0..*] « Codes describing anatomical locations. May include laterality. (Strength=Example)SNOMED CT Body Structures?? »Any other notes and comments made about the service request. For example, internal billing notesnote : Annotation [0..*]Instructions in terms that are understood by the patient or consumerpatientInstruction : string [0..1]Key events in the history of the requestrelevantHistory : Reference [0..*] « Provenance »

XML Template

<ServiceRequest xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier Identifiers assigned to this order --></identifier>
 <instantiates value="[uri]"/><!-- 0..* Protocol or definition -->
 <basedOn><!-- 0..* Reference(CarePlan|ServiceRequest|MedicationRequest) What request fulfills --></basedOn>
 <replaces><!-- 0..* Reference(ServiceRequest) What request replaces --></replaces>
 <requisition><!-- 0..1 Identifier Composite Request ID --></requisition>
 <status value="[code]"/><!-- 1..1 draft | active | suspended | completed | entered-in-error | cancelled -->
 <intent value="[code]"/><!-- 1..1 proposal | plan | order + -->
 <priority value="[code]"/><!-- 0..1 routine | urgent | asap | stat -->
 <doNotPerform value="[boolean]"/><!-- 0..1 True if service/procedure should not be performed -->
 <category><!-- 0..* CodeableConcept Classification of service --></category>
 <code><!-- 0..1 CodeableConcept What is being requested/ordered --></code>
 <orderDetail><!-- ?? 0..* CodeableConcept Additional order information --></orderDetail>
 <subject><!-- 1..1 Reference(Patient|Group|Location|Device) Individual the service is ordered for --></subject>
 <context><!-- 0..1 Reference(Encounter|EpisodeOfCare) Encounter or Episode during which request was created --></context>
 <occurrence[x]><!-- 0..1 dateTime|Period|Timing When service should occur --></occurrence[x]>
 <asNeeded[x]><!-- 0..1 boolean|CodeableConcept Preconditions for service --></asNeeded[x]>
 <authoredOn value="[dateTime]"/><!-- 0..1 Date request signed -->
 <requester><!-- 0..1 Reference(Practitioner|PractitionerRole|Organization|
   Patient|RelatedPerson|Device) Who/what is requesting service --></requester>
 <performerType><!-- 0..1 CodeableConcept Performer role --></performerType>
 <performer><!-- 0..1 Reference(Practitioner|PractitionerRole|Organization|
   Patient|Device|RelatedPerson|HealthcareService|CareTeam) Requested perfomer --></performer>
 <reasonCode><!-- 0..* CodeableConcept Explanation/Justification for procedure or service --></reasonCode>
 <reasonReference><!-- 0..* Reference(Condition|Observation|DiagnosticReport|
   DocumentReference) Explanation/Justification for service or service --></reasonReference>
 <insurance><!-- 0..* Reference(Coverage|ClaimResponse) Associated insurance coverage --></insurance>
 <supportingInfo><!-- 0..* Reference(Any) Additional clinical information --></supportingInfo>
 <specimen><!-- 0..* Reference(Specimen) Procedure Samples --></specimen>
 <bodySite><!-- 0..* CodeableConcept Location on Body --></bodySite>
 <note><!-- 0..* Annotation Comments --></note>
 <patientInstruction value="[string]"/><!-- 0..1 Patient or consumer oriented instructions -->
 <relevantHistory><!-- 0..* Reference(Provenance) Request provenance --></relevantHistory>
</ServiceRequest>

JSON Template

{doco
  "resourceType" : "ServiceRequest",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // Identifiers assigned to this order
  "instantiates" : ["<uri>"], // Protocol or definition
  "basedOn" : [{ Reference(CarePlan|ServiceRequest|MedicationRequest) }], // What request fulfills
  "replaces" : [{ Reference(ServiceRequest) }], // What request replaces
  "requisition" : { Identifier }, // Composite Request ID
  "status" : "<code>", // R!  draft | active | suspended | completed | entered-in-error | cancelled
  "intent" : "<code>", // R!  proposal | plan | order +
  "priority" : "<code>", // routine | urgent | asap | stat
  "doNotPerform" : <boolean>, // True if service/procedure should not be performed
  "category" : [{ CodeableConcept }], // Classification of service
  "code" : { CodeableConcept }, // What is being requested/ordered
  "orderDetail" : [{ CodeableConcept }], // C? Additional order information
  "subject" : { Reference(Patient|Group|Location|Device) }, // R!  Individual the service is ordered for
  "context" : { Reference(Encounter|EpisodeOfCare) }, // Encounter or Episode during which request was created
  // occurrence[x]: When service should occur. One of these 3:
  "occurrenceDateTime" : "<dateTime>",
  "occurrencePeriod" : { Period },
  "occurrenceTiming" : { Timing },
  // asNeeded[x]: Preconditions for service. One of these 2:
  "asNeededBoolean" : <boolean>,
  "asNeededCodeableConcept" : { CodeableConcept },
  "authoredOn" : "<dateTime>", // Date request signed
  "requester" : { Reference(Practitioner|PractitionerRole|Organization|
   Patient|RelatedPerson|Device) }, // Who/what is requesting service
  "performerType" : { CodeableConcept }, // Performer role
  "performer" : { Reference(Practitioner|PractitionerRole|Organization|
   Patient|Device|RelatedPerson|HealthcareService|CareTeam) }, // Requested perfomer
  "reasonCode" : [{ CodeableConcept }], // Explanation/Justification for procedure or service
  "reasonReference" : [{ Reference(Condition|Observation|DiagnosticReport|
   DocumentReference) }], // Explanation/Justification for service or service
  "insurance" : [{ Reference(Coverage|ClaimResponse) }], // Associated insurance coverage
  "supportingInfo" : [{ Reference(Any) }], // Additional clinical information
  "specimen" : [{ Reference(Specimen) }], // Procedure Samples
  "bodySite" : [{ CodeableConcept }], // Location on Body
  "note" : [{ Annotation }], // Comments
  "patientInstruction" : "<string>", // Patient or consumer oriented instructions
  "relevantHistory" : [{ Reference(Provenance) }] // Request provenance
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:ServiceRequest;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:ServiceRequest.identifier [ Identifier ], ... ; # 0..* Identifiers assigned to this order
  fhir:ServiceRequest.instantiates [ uri ], ... ; # 0..* Protocol or definition
  fhir:ServiceRequest.basedOn [ Reference(CarePlan|ServiceRequest|MedicationRequest) ], ... ; # 0..* What request fulfills
  fhir:ServiceRequest.replaces [ Reference(ServiceRequest) ], ... ; # 0..* What request replaces
  fhir:ServiceRequest.requisition [ Identifier ]; # 0..1 Composite Request ID
  fhir:ServiceRequest.status [ code ]; # 1..1 draft | active | suspended | completed | entered-in-error | cancelled
  fhir:ServiceRequest.intent [ code ]; # 1..1 proposal | plan | order +
  fhir:ServiceRequest.priority [ code ]; # 0..1 routine | urgent | asap | stat
  fhir:ServiceRequest.doNotPerform [ boolean ]; # 0..1 True if service/procedure should not be performed
  fhir:ServiceRequest.category [ CodeableConcept ], ... ; # 0..* Classification of service
  fhir:ServiceRequest.code [ CodeableConcept ]; # 0..1 What is being requested/ordered
  fhir:ServiceRequest.orderDetail [ CodeableConcept ], ... ; # 0..* Additional order information
  fhir:ServiceRequest.subject [ Reference(Patient|Group|Location|Device) ]; # 1..1 Individual the service is ordered for
  fhir:ServiceRequest.context [ Reference(Encounter|EpisodeOfCare) ]; # 0..1 Encounter or Episode during which request was created
  # ServiceRequest.occurrence[x] : 0..1 When service should occur. One of these 3
    fhir:ServiceRequest.occurrenceDateTime [ dateTime ]
    fhir:ServiceRequest.occurrencePeriod [ Period ]
    fhir:ServiceRequest.occurrenceTiming [ Timing ]
  # ServiceRequest.asNeeded[x] : 0..1 Preconditions for service. One of these 2
    fhir:ServiceRequest.asNeededBoolean [ boolean ]
    fhir:ServiceRequest.asNeededCodeableConcept [ CodeableConcept ]
  fhir:ServiceRequest.authoredOn [ dateTime ]; # 0..1 Date request signed
  fhir:ServiceRequest.requester [ Reference(Practitioner|PractitionerRole|Organization|Patient|RelatedPerson|Device) ]; # 0..1 Who/what is requesting service
  fhir:ServiceRequest.performerType [ CodeableConcept ]; # 0..1 Performer role
  fhir:ServiceRequest.performer [ Reference(Practitioner|PractitionerRole|Organization|Patient|Device|RelatedPerson|
  HealthcareService|CareTeam) ]; # 0..1 Requested perfomer
  fhir:ServiceRequest.reasonCode [ CodeableConcept ], ... ; # 0..* Explanation/Justification for procedure or service
  fhir:ServiceRequest.reasonReference [ Reference(Condition|Observation|DiagnosticReport|DocumentReference) ], ... ; # 0..* Explanation/Justification for service or service
  fhir:ServiceRequest.insurance [ Reference(Coverage|ClaimResponse) ], ... ; # 0..* Associated insurance coverage
  fhir:ServiceRequest.supportingInfo [ Reference(Any) ], ... ; # 0..* Additional clinical information
  fhir:ServiceRequest.specimen [ Reference(Specimen) ], ... ; # 0..* Procedure Samples
  fhir:ServiceRequest.bodySite [ CodeableConcept ], ... ; # 0..* Location on Body
  fhir:ServiceRequest.note [ Annotation ], ... ; # 0..* Comments
  fhir:ServiceRequest.patientInstruction [ string ]; # 0..1 Patient or consumer oriented instructions
  fhir:ServiceRequest.relevantHistory [ Reference(Provenance) ], ... ; # 0..* Request provenance
]

Changes since DSTU2

This resource did not exist in Release 2

This analysis is available as XML or JSON.

 

Alternate definitions: Master Definition (XML, JSON), XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions & the dependency analysis

PathDefinitionTypeReference
ServiceRequest.status The status of a service order.RequiredRequestStatus
ServiceRequest.intent The kind of service requestRequiredRequestIntent
ServiceRequest.priority Identifies the level of importance to be assigned to actioning the requestRequiredRequestPriority
ServiceRequest.category Classification of the requested service.ExampleService Request Category Codes
ServiceRequest.code Codes for tests or services that can be carried out by a designated individual, organization or healthcare service. For laboratory, LOINC is (preferred)[http://build.fhir.org/terminologies.html#preferred] and a valueset using LOINC Order codes is available [here](valueset-diagnostic-requests.html).ExampleProcedure Codes (SNOMED CT)
ServiceRequest.orderDetail Codified order entry details which are based on order context.ExampleService Request Order Details Codes
ServiceRequest.asNeeded[x] A coded concept identifying the pre-condition that should hold prior to performing a procedure. For example "pain", "on flare-up", etc.ExampleSNOMED CT Medication As Needed Reason Codes
ServiceRequest.performerType Indicates specific responsibility of an individual within the care team, such as "Primary physician", "Team coordinator", "Caregiver", etc.ExampleParticipant Roles
ServiceRequest.reasonCode Diagnosis or problem codes justifying the reason for requesting the service investigation.ExampleProcedure Reason Codes
ServiceRequest.bodySite Codes describing anatomical locations. May include laterality.ExampleSNOMED CT Body Structures

  • prr-1: orderDetail SHALL only be present if code is present (expression : orderDetail.empty() or code.exists())
  • Many service requests will create a need to specify a specimen, body site, or body system. The request code will often have this information embedded in it - for example, 'serum glucose' or 'chest xray'. Alternatively, the specimen or bodysite element may be used to specify it.
  • The ServiceRequest should only reference the Specimen resource directly when the diagnostic investigation is requested on already existing specimens. Conversely, if the request is entered first with an uncollected specimen, the Specimen resource will reference the ServiceRequest resource when it is created.
  • The reasonCode element is often for billing purposes. It may relate to the resources referred to in supportinginfo element and may be used to decide how a procedure or diagnostic investigation will be performed, or even if it will be performed at all

Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.

NameTypeDescriptionExpressionIn Common
authoreddateDate request signedServiceRequest.authoredOn
based-onreferenceWhat request fulfillsServiceRequest.basedOn
(CarePlan, MedicationRequest, ServiceRequest)
body-sitetokenWhere procedure is going to be doneServiceRequest.bodySite
categorytokenClassification of serviceServiceRequest.category
codetokenWhat is being requested/orderedServiceRequest.code8 Resources
contextreferenceEncounter or Episode during which request was createdServiceRequest.context
(EpisodeOfCare, Encounter)
encounterreferenceAn encounter in which this request is madeServiceRequest.context
(Encounter)
11 Resources
identifiertokenIdentifiers assigned to this orderServiceRequest.identifier25 Resources
instantiatesuriProtocol or definitionServiceRequest.instantiates
intenttokenproposal | plan | order +ServiceRequest.intent
occurrencedateWhen service should occurServiceRequest.occurrence
patientreferenceSearch by subject - a patientServiceRequest.subject
(Patient)
28 Resources
performerreferenceRequested perfomerServiceRequest.performer
(Practitioner, Organization, CareTeam, Device, Patient, HealthcareService, PractitionerRole, RelatedPerson)
performer-typetokenPerformer roleServiceRequest.performerType
prioritytokenroutine | urgent | asap | statServiceRequest.priority
replacesreferenceWhat request replacesServiceRequest.replaces
(ServiceRequest)
requesterreferenceWho/what is requesting serviceServiceRequest.requester
(Practitioner, Organization, Device, Patient, PractitionerRole, RelatedPerson)
requisitiontokenComposite Request IDServiceRequest.requisition
specimenreferenceSpecimen to be testedServiceRequest.specimen
(Specimen)
statustokendraft | active | suspended | completed | entered-in-error | cancelledServiceRequest.status
subjectreferenceSearch by subjectServiceRequest.subject
(Group, Device, Patient, Location)