Class: OpenehrRails::OpenehrApi::EhrsController
- Inherits:
-
ApplicationController
- Object
- ActionController::Base
- ApplicationController
- OpenehrRails::OpenehrApi::EhrsController
- Defined in:
- app/controllers/openehr_rails/openehr_api/ehrs_controller.rb
Overview
openEHR REST API EHR resource (base URL:
Instance Method Summary collapse
-
#create ⇒ Object
POST /v1/ehr (server-generated ehr_id).
-
#ehr_status ⇒ Object
GET /v1/ehr/:ehr_id/ehr_status.
-
#show ⇒ Object
GET /v1/ehr/:ehr_id.
-
#upsert ⇒ Object
PUT /v1/ehr/:ehr_id (client-supplied ehr_id).
Instance Method Details
#create ⇒ Object
POST /v1/ehr (server-generated ehr_id)
15 16 17 18 |
# File 'app/controllers/openehr_rails/openehr_api/ehrs_controller.rb', line 15 def create ehr = OpenehrRails::Rm::Ehr.create!(ehr_attributes.merge(ehr_id: SecureRandom.uuid)) render_ehr(ehr, status: :created) end |
#ehr_status ⇒ Object
GET /v1/ehr/:ehr_id/ehr_status
36 37 38 |
# File 'app/controllers/openehr_rails/openehr_api/ehrs_controller.rb', line 36 def ehr_status render json: OpenehrRails::Rm::EhrSerializer.new(find_ehr!).ehr_status end |
#show ⇒ Object
GET /v1/ehr/:ehr_id
31 32 33 |
# File 'app/controllers/openehr_rails/openehr_api/ehrs_controller.rb', line 31 def show render_ehr(find_ehr!) end |
#upsert ⇒ Object
PUT /v1/ehr/:ehr_id (client-supplied ehr_id)
21 22 23 24 25 26 27 28 |
# File 'app/controllers/openehr_rails/openehr_api/ehrs_controller.rb', line 21 def upsert if OpenehrRails::Rm::Ehr.exists?(ehr_id: params[:ehr_id]) return render json: { error: "EHR #{params[:ehr_id]} already exists" }, status: :conflict end ehr = OpenehrRails::Rm::Ehr.create!(ehr_attributes.merge(ehr_id: params[:ehr_id])) render_ehr(ehr, status: :created) end |