Module: ProviderImportUtils
- Included in:
- HealthDataStandards::Import::CCR::ProviderImporter, HealthDataStandards::Import::CDA::ProviderImporter
- Defined in:
- lib/health-data-standards/import/provider_import_utils.rb
Instance Method Summary collapse
-
#extract_data(subject, query) ⇒ Object
Returns nil if result is an empty string, block allows text munging of result if there is one.
- #extract_provider(performer, element_name = "assignedEntity") ⇒ Object
- #find_or_create_provider(provider_hash) ⇒ Object
Instance Method Details
#extract_data(subject, query) ⇒ Object
Returns nil if result is an empty string, block allows text munging of result if there is one
28 29 30 31 32 33 34 35 |
# File 'lib/health-data-standards/import/provider_import_utils.rb', line 28 def extract_data(subject, query) result = subject.at_xpath(query) if result.nil? || result.content.empty? nil else result.content end end |
#extract_provider(performer, element_name = "assignedEntity") ⇒ Object
3 4 5 6 |
# File 'lib/health-data-standards/import/provider_import_utils.rb', line 3 def extract_provider(performer, element_name="assignedEntity") provider_data = extract_provider_data(performer, false, "./cda:#{element_name}") find_or_create_provider(provider_data) end |
#find_or_create_provider(provider_hash) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/health-data-standards/import/provider_import_utils.rb', line 8 def find_or_create_provider(provider_hash) provider = Provider.where(npi: provider_hash[:npi]).first if provider_hash[:npi] && !provider_hash[:npi].empty? unless provider if provider_hash[:npi] provider = Provider.create(provider_hash) else provider ||= Provider.resolve_provider(provider_hash) if Provider.respond_to? :resolve_provider provider_query = {:title => provider_hash[:title], :given_name => provider_hash[:given_name], :family_name=> provider_hash[:family_name], :specialty => provider_hash[:specialty]} provider ||= Provider.where(provider_query).first provider ||= Provider.create(provider_hash) end end provider end |