ServiceRequest Resource

Error rendering macro 'jira' : Unable to locate Jira server for this macro. It may be due to Application Link configuration.

ServiceRequest is a FHIR resource that is part of the Workflow Module, and is used closely with resources in the Diagnostic Module. A ServiceRequest is used to represents a request for some type of procedure or diagnostic test to be performed. When fulfilled, the results of this request are represented as a DiagnosticReport resource with associated Observation resources. 

A ServiceRequest has conceptual similarities with an OpenMRS Order object. The current implementation of ServiceRequest is aimed at supporting a simple laboratory communication workflows, and each ServiceRequest is mapped to an OpenMRS TestOrder. Due to the lack of support for representing Order state in OpenMRS, the ServiceRequest.status element is mapped to the parent Task resource, if one exists. Otherwise, the status is set to unknown. See https://talk.openmrs.org/t/the-handling-and-mapping-of-lab-order-status-for-the-lab-workflow/26348 for a more detailed discussion.

Supported Elements

  • ServiceRequest.id
  • ServiceRequest.status
  • ServiceRequest.intentWhether the request is a proposal, plan, an original order or a reflex order.
  • ServiceRequest.code - A code that identifies a particular service (i.e., procedure, diagnostic investigation, or panel of investigations) that have been requested.
  • ServiceRequest.subject - On whom or what the service is to be performed. 
  • ServiceRequest.requester - The individual who initiated the request and has responsibility for its activation.
  • ServiceRequest.performer - The desired performer for doing the requested service.
  • ServiceRequest.occurrence - The date/time at which the requested service should occur.

OpenMRS ↔ FHIR Mappings

Translator: https://github.com/pmanko/openmrs-module-fhir2/blob/FM2-75-Lab-Gaps/api/src/main/java/org/openmrs/module/fhir2/api/translators/ServiceRequestTranslator.java

OpenMRS Data Model
FHIR Resource Element
TestOrder.uuid
ServiceRequest.id
Task.status
  accepted               → 
 requested               → 
  rejected               → 
completed               → 
(other/none)       → 
ServiceRequest.status
active
active
revoked
completed
unknown
(Static Mapping)

ServiceRequest.intent == order

TestOrder.conceptServiceRequest.code
TestOrder.patientServiceRequest.subject
TestOrder.ordererServiceRequest.requester
Task.ownerServiceRequest.performer
(TestOrder.effectiveStartDate, TestOrder.effectiveEndDate)

ServiceRequest.occurrence

Period https://www.hl7.org/fhir/datatypes.html#Period

Targeted OpenMRS Use Cases 

  1. Lab Integration Workflow

Available RESTful web services for the ServiceRequest resource supported by the OpenMRS FHIR API

Note: placeholder "{release}" below must be replaced by the FHIR Release - currently only "R4" is implemented. See more on the  FHIR Release support  page.

GET

URLDescription
/ws/fhir2/{release}/ServiceRequest/{uuid}Above request will fetch the ServiceRequest for the given unique uuid.