This page is part of the FHIR Specification (v4.0.1: R4 - Mixed Normative and STU) in it's permanent home (it will always be available at this URL). 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
Orders and Observations Work Group | Maturity Level: 2 | Trial Use | Security Category: Patient | Compartments: Device, Encounter, Patient, Practitioner, RelatedPerson |
A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.
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, which in turn may reference one or more Observations, which summarize 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:
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 is a record of a proposal/plan or order for a service to be performed that would result in a Procedure, Observation, DiagnosticReport, ImagingStudy or similar resource. In contrast to ServiceRequest, Task which spans both intent and event and tracks the execution through to completion and is intended for "administrative" actions like requesting and tracking things to be done to a record, or keeping track of a checklist of steps such to be performed as part of a fulfilment process. A ServiceRequest can be higher-level authorization that triggered the creation of Task, or it can be the "request" resource Task is seeking to fulfill.
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 CommunicationRequest a practitioner might initiate a ServiceRequest.
This resource is referenced by Appointment, BiologicallyDerivedProduct, CarePlan, Claim, DeviceUseStatement, DiagnosticReport, Encounter, EpisodeOfCare, ExplanationOfBenefit, Goal, ImagingStudy, Media, MedicationRequest, MedicationStatement, Observation, Procedure, QuestionnaireResponse, itself and Specimen
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
ServiceRequest | ITU | DomainResource | A request for a service to be performed + Rule: orderDetail SHALL only be present if code is present Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
identifier | Σ | 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 | Σ | 0..* | Reference(CarePlan | ServiceRequest | MedicationRequest) | What request fulfills |
replaces | Σ | 0..* | Reference(ServiceRequest) | What request replaces |
requisition | Σ | 0..1 | Identifier | Composite Request ID |
status | ?!Σ | 1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown RequestStatus (Required) |
intent | ?!Σ | 1..1 | code | proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option RequestIntent (Required) |
category | Σ | 0..* | CodeableConcept | Classification of service Service Request Category Codes (Example) |
priority | Σ | 0..1 | code | routine | urgent | asap | stat Request priority (Required) |
doNotPerform | ?!Σ | 0..1 | boolean | True if service/procedure should not be performed |
code | Σ | 0..1 | CodeableConcept | What is being requested/ordered Procedure Codes (SNOMED CT) (Example) |
orderDetail | ΣI | 0..* | CodeableConcept | Additional order information Service Request Order Details Codes (Example) |
quantity[x] | Σ | 0..1 | Service amount | |
quantityQuantity | Quantity | |||
quantityRatio | Ratio | |||
quantityRange | Range | |||
subject | Σ | 1..1 | Reference(Patient | Group | Location | Device) | Individual or Entity the service is ordered for |
encounter | Σ | 0..1 | Reference(Encounter) | Encounter in which the request was created |
occurrence[x] | Σ | 0..1 | When service should occur | |
occurrenceDateTime | dateTime | |||
occurrencePeriod | Period | |||
occurrenceTiming | Timing | |||
asNeeded[x] | Σ | 0..1 | Preconditions for service SNOMED CT Medication As Needed Reason Codes (Example) | |
asNeededBoolean | boolean | |||
asNeededCodeableConcept | CodeableConcept | |||
authoredOn | Σ | 0..1 | dateTime | Date request signed |
requester | Σ | 0..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) | Who/what is requesting service |
performerType | Σ | 0..1 | CodeableConcept | Performer role Participant Roles (Example) |
performer | Σ | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService | Patient | Device | RelatedPerson) | Requested performer |
locationCode | Σ | 0..* | CodeableConcept | Requested location V3 Value SetServiceDeliveryLocationRoleType (Example) |
locationReference | Σ | 0..* | Reference(Location) | Requested location |
reasonCode | Σ | 0..* | CodeableConcept | Explanation/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..* | CodeableConcept | Location on Body SNOMED CT Body Structures (Example) |
note | 0..* | Annotation | Comments | |
patientInstruction | Σ | 0..1 | string | Patient or consumer-oriented instructions |
relevantHistory | 0..* | Reference(Provenance) | Request provenance | |
Documentation for this format |
UML Diagram (Legend)
XML Template
<ServiceRequest xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier Identifiers assigned to this order --></identifier> <instantiatesCanonical><!-- 0..* canonical(ActivityDefinition|PlanDefinition) Instantiates FHIR protocol or definition --></instantiatesCanonical> <instantiatesUri value="[uri]"/><!-- 0..* Instantiates external 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 | on-hold | revoked | completed | entered-in-error | unknown --> <intent value="[code]"/><!-- 1..1 proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option --> <category><!-- 0..* CodeableConcept Classification of service --></category> <priority value="[code]"/><!-- 0..1 routine | urgent | asap | stat --> <doNotPerform value="[boolean]"/><!-- 0..1 True if service/procedure should not be performed --> <code><!-- 0..1 CodeableConcept What is being requested/ordered --></code> <orderDetail><!-- 0..* CodeableConcept Additional order information --></orderDetail> <quantity[x]><!-- 0..1 Quantity|Ratio|Range Service amount --></quantity[x]> <subject><!-- 1..1 Reference(Patient|Group|Location|Device) Individual or Entity the service is ordered for --></subject> <encounter><!-- 0..1 Reference(Encounter) Encounter in which the request was created --></encounter> <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..* Reference(Practitioner|PractitionerRole|Organization| CareTeam|HealthcareService|Patient|Device|RelatedPerson) Requested performer --></performer> <locationCode><!-- 0..* CodeableConcept Requested location --></locationCode> <locationReference><!-- 0..* Reference(Location) Requested location --></locationReference> <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
{ "resourceType" : "ServiceRequest", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Identifiers assigned to this order "instantiatesCanonical" : [{ canonical(ActivityDefinition|PlanDefinition) }], // Instantiates FHIR protocol or definition "instantiatesUri" : ["<uri>"], // Instantiates external 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 | on-hold | revoked | completed | entered-in-error | unknown "intent" : "<code>", // R! proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option "category" : [{ CodeableConcept }], // Classification of service "priority" : "<code>", // routine | urgent | asap | stat "doNotPerform" : <boolean>, // True if service/procedure should not be performed "code" : { CodeableConcept }, // What is being requested/ordered "orderDetail" : [{ CodeableConcept }], // C? Additional order information // quantity[x]: Service amount. One of these 3: "quantityQuantity" : { Quantity }, "quantityRatio" : { Ratio }, "quantityRange" : { Range }, "subject" : { Reference(Patient|Group|Location|Device) }, // R! Individual or Entity the service is ordered for "encounter" : { Reference(Encounter) }, // Encounter in which the 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| CareTeam|HealthcareService|Patient|Device|RelatedPerson) }], // Requested performer "locationCode" : [{ CodeableConcept }], // Requested location "locationReference" : [{ Reference(Location) }], // Requested location "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/> . [ 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.instantiatesCanonical [ canonical(ActivityDefinition|PlanDefinition) ], ... ; # 0..* Instantiates FHIR protocol or definition fhir:ServiceRequest.instantiatesUri [ uri ], ... ; # 0..* Instantiates external 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 | on-hold | revoked | completed | entered-in-error | unknown fhir:ServiceRequest.intent [ code ]; # 1..1 proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option fhir:ServiceRequest.category [ CodeableConcept ], ... ; # 0..* Classification of service 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.code [ CodeableConcept ]; # 0..1 What is being requested/ordered fhir:ServiceRequest.orderDetail [ CodeableConcept ], ... ; # 0..* Additional order information # ServiceRequest.quantity[x] : 0..1 Service amount. One of these 3 fhir:ServiceRequest.quantityQuantity [ Quantity ] fhir:ServiceRequest.quantityRatio [ Ratio ] fhir:ServiceRequest.quantityRange [ Range ] fhir:ServiceRequest.subject [ Reference(Patient|Group|Location|Device) ]; # 1..1 Individual or Entity the service is ordered for fhir:ServiceRequest.encounter [ Reference(Encounter) ]; # 0..1 Encounter in which the 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|CareTeam|HealthcareService|Patient| Device|RelatedPerson) ], ... ; # 0..* Requested performer fhir:ServiceRequest.locationCode [ CodeableConcept ], ... ; # 0..* Requested location fhir:ServiceRequest.locationReference [ Reference(Location) ], ... ; # 0..* Requested location 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 ]
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
ServiceRequest | ITU | DomainResource | A request for a service to be performed + Rule: orderDetail SHALL only be present if code is present Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
identifier | Σ | 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 | Σ | 0..* | Reference(CarePlan | ServiceRequest | MedicationRequest) | What request fulfills |
replaces | Σ | 0..* | Reference(ServiceRequest) | What request replaces |
requisition | Σ | 0..1 | Identifier | Composite Request ID |
status | ?!Σ | 1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown RequestStatus (Required) |
intent | ?!Σ | 1..1 | code | proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option RequestIntent (Required) |
category | Σ | 0..* | CodeableConcept | Classification of service Service Request Category Codes (Example) |
priority | Σ | 0..1 | code | routine | urgent | asap | stat Request priority (Required) |
doNotPerform | ?!Σ | 0..1 | boolean | True if service/procedure should not be performed |
code | Σ | 0..1 | CodeableConcept | What is being requested/ordered Procedure Codes (SNOMED CT) (Example) |
orderDetail | ΣI | 0..* | CodeableConcept | Additional order information Service Request Order Details Codes (Example) |
quantity[x] | Σ | 0..1 | Service amount | |
quantityQuantity | Quantity | |||
quantityRatio | Ratio | |||
quantityRange | Range | |||
subject | Σ | 1..1 | Reference(Patient | Group | Location | Device) | Individual or Entity the service is ordered for |
encounter | Σ | 0..1 | Reference(Encounter) | Encounter in which the request was created |
occurrence[x] | Σ | 0..1 | When service should occur | |
occurrenceDateTime | dateTime | |||
occurrencePeriod | Period | |||
occurrenceTiming | Timing | |||
asNeeded[x] | Σ | 0..1 | Preconditions for service SNOMED CT Medication As Needed Reason Codes (Example) | |
asNeededBoolean | boolean | |||
asNeededCodeableConcept | CodeableConcept | |||
authoredOn | Σ | 0..1 | dateTime | Date request signed |
requester | Σ | 0..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) | Who/what is requesting service |
performerType | Σ | 0..1 | CodeableConcept | Performer role Participant Roles (Example) |
performer | Σ | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService | Patient | Device | RelatedPerson) | Requested performer |
locationCode | Σ | 0..* | CodeableConcept | Requested location V3 Value SetServiceDeliveryLocationRoleType (Example) |
locationReference | Σ | 0..* | Reference(Location) | Requested location |
reasonCode | Σ | 0..* | CodeableConcept | Explanation/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..* | CodeableConcept | Location on Body SNOMED CT Body Structures (Example) |
note | 0..* | Annotation | Comments | |
patientInstruction | Σ | 0..1 | string | Patient or consumer-oriented instructions |
relevantHistory | 0..* | Reference(Provenance) | Request provenance | |
Documentation for this format |
XML Template
<ServiceRequest xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier Identifiers assigned to this order --></identifier> <instantiatesCanonical><!-- 0..* canonical(ActivityDefinition|PlanDefinition) Instantiates FHIR protocol or definition --></instantiatesCanonical> <instantiatesUri value="[uri]"/><!-- 0..* Instantiates external 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 | on-hold | revoked | completed | entered-in-error | unknown --> <intent value="[code]"/><!-- 1..1 proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option --> <category><!-- 0..* CodeableConcept Classification of service --></category> <priority value="[code]"/><!-- 0..1 routine | urgent | asap | stat --> <doNotPerform value="[boolean]"/><!-- 0..1 True if service/procedure should not be performed --> <code><!-- 0..1 CodeableConcept What is being requested/ordered --></code> <orderDetail><!-- 0..* CodeableConcept Additional order information --></orderDetail> <quantity[x]><!-- 0..1 Quantity|Ratio|Range Service amount --></quantity[x]> <subject><!-- 1..1 Reference(Patient|Group|Location|Device) Individual or Entity the service is ordered for --></subject> <encounter><!-- 0..1 Reference(Encounter) Encounter in which the request was created --></encounter> <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..* Reference(Practitioner|PractitionerRole|Organization| CareTeam|HealthcareService|Patient|Device|RelatedPerson) Requested performer --></performer> <locationCode><!-- 0..* CodeableConcept Requested location --></locationCode> <locationReference><!-- 0..* Reference(Location) Requested location --></locationReference> <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
{ "resourceType" : "ServiceRequest", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Identifiers assigned to this order "instantiatesCanonical" : [{ canonical(ActivityDefinition|PlanDefinition) }], // Instantiates FHIR protocol or definition "instantiatesUri" : ["<uri>"], // Instantiates external 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 | on-hold | revoked | completed | entered-in-error | unknown "intent" : "<code>", // R! proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option "category" : [{ CodeableConcept }], // Classification of service "priority" : "<code>", // routine | urgent | asap | stat "doNotPerform" : <boolean>, // True if service/procedure should not be performed "code" : { CodeableConcept }, // What is being requested/ordered "orderDetail" : [{ CodeableConcept }], // C? Additional order information // quantity[x]: Service amount. One of these 3: "quantityQuantity" : { Quantity }, "quantityRatio" : { Ratio }, "quantityRange" : { Range }, "subject" : { Reference(Patient|Group|Location|Device) }, // R! Individual or Entity the service is ordered for "encounter" : { Reference(Encounter) }, // Encounter in which the 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| CareTeam|HealthcareService|Patient|Device|RelatedPerson) }], // Requested performer "locationCode" : [{ CodeableConcept }], // Requested location "locationReference" : [{ Reference(Location) }], // Requested location "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/> . [ 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.instantiatesCanonical [ canonical(ActivityDefinition|PlanDefinition) ], ... ; # 0..* Instantiates FHIR protocol or definition fhir:ServiceRequest.instantiatesUri [ uri ], ... ; # 0..* Instantiates external 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 | on-hold | revoked | completed | entered-in-error | unknown fhir:ServiceRequest.intent [ code ]; # 1..1 proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option fhir:ServiceRequest.category [ CodeableConcept ], ... ; # 0..* Classification of service 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.code [ CodeableConcept ]; # 0..1 What is being requested/ordered fhir:ServiceRequest.orderDetail [ CodeableConcept ], ... ; # 0..* Additional order information # ServiceRequest.quantity[x] : 0..1 Service amount. One of these 3 fhir:ServiceRequest.quantityQuantity [ Quantity ] fhir:ServiceRequest.quantityRatio [ Ratio ] fhir:ServiceRequest.quantityRange [ Range ] fhir:ServiceRequest.subject [ Reference(Patient|Group|Location|Device) ]; # 1..1 Individual or Entity the service is ordered for fhir:ServiceRequest.encounter [ Reference(Encounter) ]; # 0..1 Encounter in which the 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|CareTeam|HealthcareService|Patient| Device|RelatedPerson) ], ... ; # 0..* Requested performer fhir:ServiceRequest.locationCode [ CodeableConcept ], ... ; # 0..* Requested location fhir:ServiceRequest.locationReference [ Reference(Location) ], ... ; # 0..* Requested location 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 ]
See the Profiles & Extensions and the alternate definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions & the dependency analysis
Path | Definition | Type | Reference |
---|---|---|---|
ServiceRequest.status | The status of a service order. | Required | RequestStatus |
ServiceRequest.intent | The kind of service request. | Required | RequestIntent |
ServiceRequest.category | Classification of the requested service. | Example | ServiceRequestCategoryCodes |
ServiceRequest.priority | Identifies the level of importance to be assigned to actioning the request. | Required | RequestPriority |
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). | Example | ProcedureCodes(SNOMEDCT) |
ServiceRequest.orderDetail | Codified order entry details which are based on order context. | Example | ServiceRequestOrderDetailsCodes |
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. | Example | SNOMEDCTMedicationAsNeededReasonCodes |
ServiceRequest.performerType | Indicates specific responsibility of an individual within the care team, such as "Primary physician", "Team coordinator", "Caregiver", etc. | Example | ParticipantRoles |
ServiceRequest.locationCode | A location type where services are delivered. | Example | v3.ServiceDeliveryLocationRoleType |
ServiceRequest.reasonCode | Diagnosis or problem codes justifying the reason for requesting the service investigation. | Example | ProcedureReasonCodes |
ServiceRequest.bodySite | Codes describing anatomical locations. May include laterality. | Example | SNOMEDCTBodyStructures |
id | Level | Location | Description | Expression |
prr-1 | Rule | (base) | orderDetail SHALL only be present if code is present | orderDetail.empty() or code.exists() |
code
will often have this information embedded in it - for example, 'serum glucose' or 'chest x-ray'. Alternatively, the specimen
or bodysite
element may be used to specify it.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 allSearch parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.
Name | Type | Description | Expression | In Common |
authored | date | Date request signed | ServiceRequest.authoredOn | |
based-on | reference | What request fulfills | ServiceRequest.basedOn (CarePlan, MedicationRequest, ServiceRequest) | |
body-site | token | Where procedure is going to be done | ServiceRequest.bodySite | |
category | token | Classification of service | ServiceRequest.category | |
code | token | What is being requested/ordered | ServiceRequest.code | 13 Resources |
encounter | reference | An encounter in which this request is made | ServiceRequest.encounter (Encounter) | 11 Resources |
identifier | token | Identifiers assigned to this order | ServiceRequest.identifier | 29 Resources |
instantiates-canonical | reference | Instantiates FHIR protocol or definition | ServiceRequest.instantiatesCanonical (PlanDefinition, ActivityDefinition) | |
instantiates-uri | uri | Instantiates external protocol or definition | ServiceRequest.instantiatesUri | |
intent | token | proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option | ServiceRequest.intent | |
occurrence | date | When service should occur | ServiceRequest.occurrence | |
patient | reference | Search by subject - a patient | ServiceRequest.subject.where(resolve() is Patient) (Patient) | 32 Resources |
performer | reference | Requested performer | ServiceRequest.performer (Practitioner, Organization, CareTeam, Device, Patient, HealthcareService, PractitionerRole, RelatedPerson) | |
performer-type | token | Performer role | ServiceRequest.performerType | |
priority | token | routine | urgent | asap | stat | ServiceRequest.priority | |
replaces | reference | What request replaces | ServiceRequest.replaces (ServiceRequest) | |
requester | reference | Who/what is requesting service | ServiceRequest.requester (Practitioner, Organization, Device, Patient, PractitionerRole, RelatedPerson) | |
requisition | token | Composite Request ID | ServiceRequest.requisition | |
specimen | reference | Specimen to be tested | ServiceRequest.specimen (Specimen) | |
status | token | draft | active | on-hold | revoked | completed | entered-in-error | unknown | ServiceRequest.status | |
subject | reference | Search by subject | ServiceRequest.subject (Group, Device, Patient, Location) |