Sha256: 778db76e2d9337a5e72d357e8cbe8eeca751e281e7d1252539f34a05b686027b
Contents?: true
Size: 1.37 KB
Versions: 5
Compression:
Stored size: 1.37 KB
Contents
module Lifen module Communication class Request < Lifen::Base attribute :uuid, String attribute :sender, Lifen::User attribute :recipient, Lifen::User attribute :channel, Lifen::Communication::Channel attribute :patient, Lifen::Communication::Patient attribute :attachment, Lifen::Communication::Attachment def send json = application_client.post("fhir/CommunicationRequest", fhir_payload) self.uuid = json["id"] self end private def fhir_payload payload = { resourceType: "CommunicationRequest", sender: [ sender.fhir_payload ], recipient: [ recipient.fhir_payload ], contained: [ channel.fhir_payload(recipient) ], category: [ default_category], payload: [ attachment.fhir_payload ], } if patient payload[:contained] << patient.fhir_payload payload[:subject] = [ {reference: "patient"} ] end payload end def default_category { coding: [ { system: "http://honestica.com/fhir/communication/category", code: "MEDICAL_REPORT" } ] } end def application_client @application_client ||= AppAuthenticatedClient.new end end end end
Version data entries
5 entries across 5 versions & 1 rubygems