Wiki Spaces

Documentation
Projects
Resources

Get Help from Others

Q&A: Ask OpenMRS
Discussion: OpenMRS Talk
Real-Time: IRC Chat | Slack

Projects

Page tree
Skip to end of metadata
Go to start of metadata

FM2-6 - Getting issue details... STATUS

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 the 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 is 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

GET

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