Module: FHIR::Sections::Search

Included in:
Client
Defined in:
lib/sections/search.rb

Instance Method Summary collapse

Instance Method Details

#search(klass, options = {}, format = @default_format_bundle) ⇒ Object

Search a set of resources of a given type.

Parameters:

  • klass

    The type of resource to be searched.

  • options (defaults to: {})

    A hash of options used to construct the search query.

Returns:

  • FHIR::ClientReply



12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/sections/search.rb', line 12

def search(klass, options={}, format=@default_format_bundle)
  options.merge!({ resource: klass, format: format })

  if options[:search] && options[:search][:flag]
    reply = post resource_url(options), nil, fhir_headers(options)
  else
    reply = get resource_url(options), fhir_headers(options)
  end
  # reply = get resource_url(options), fhir_headers(options)
  reply.resource = parse_reply(klass, format, reply)
  reply.resource_class = klass
  reply
end

#search_all(options = {}, format = @default_format_bundle) ⇒ Object



39
40
41
42
43
44
45
46
47
48
49
# File 'lib/sections/search.rb', line 39

def search_all(options={}, format=@default_format_bundle)
  options.merge!({ format: format })
  if options[:search] && options[:search][:flag]
    reply = post resource_url(options), nil, fhir_headers(options)
  else
    reply = get resource_url(options), fhir_headers(options)
  end
  reply.resource = parse_reply(nil, format, reply)
  reply.resource_class = nil
  reply
end

#search_existing(klass, id, options = {}, format = @default_format_bundle) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/sections/search.rb', line 26

def search_existing(klass, id, options={}, format=@default_format_bundle)
  options.merge!({ resource: klass, id: id, format: format })
  #if options[:search][:flag]
  if options[:search] && options[:search][:flag]
    reply = post resource_url(options), nil, fhir_headers(options)
  else
    reply = get resource_url(options), fhir_headers(options)
  end
  reply.resource = parse_reply(klass, format, reply)
  reply.resource_class = klass
  reply
end