Packages

Elixir client for Medplum's FHIR API with resource and workflow helpers.

Current section

Files

Jump to
medplum_elixir lib medplum workflows orders.ex
Raw

lib/medplum/workflows/orders.ex

defmodule Medplum.Workflows.Orders do
@moduledoc """
Order and results workflow helpers built on `ServiceRequest` and `DiagnosticReport`.
"""
alias Medplum.Client
alias Medplum.Resources.DiagnosticReport
alias Medplum.Resources.ServiceRequest
@spec create_service_request(Client.t(), map()) :: Medplum.result()
def create_service_request(%Client{} = client, attrs) do
ServiceRequest.create(client, attrs)
end
@spec service_requests_for_subject(Client.t(), String.t(), map()) :: Medplum.result()
def service_requests_for_subject(%Client{} = client, subject, params \\ %{}) do
ServiceRequest.search_by_subject(client, subject, params)
end
@spec service_requests_for_encounter(Client.t(), String.t(), map()) :: Medplum.result()
def service_requests_for_encounter(%Client{} = client, encounter, params \\ %{}) do
ServiceRequest.search_by_encounter(client, encounter, params)
end
@spec service_requests_for_requester(Client.t(), String.t(), map()) :: Medplum.result()
def service_requests_for_requester(%Client{} = client, requester, params \\ %{}) do
ServiceRequest.search_by_requester(client, requester, params)
end
@spec diagnostic_reports_for_subject(Client.t(), String.t(), map()) :: Medplum.result()
def diagnostic_reports_for_subject(%Client{} = client, subject, params \\ %{}) do
DiagnosticReport.search_by_patient(client, subject, params)
end
@spec diagnostic_reports_for_based_on(Client.t(), String.t(), map()) :: Medplum.result()
def diagnostic_reports_for_based_on(%Client{} = client, based_on, params \\ %{}) do
DiagnosticReport.search_by_based_on(client, based_on, params)
end
end