Module: FHIR::DSTU2::Xml
- Extended by:
- Deprecate
- Included in:
- Account, Address, AllergyIntolerance, AllergyIntolerance::Reaction, Annotation, Appointment, Appointment::Participant, AppointmentResponse, Attachment, AuditEvent, AuditEvent::Event, AuditEvent::Object, AuditEvent::Object::Detail, AuditEvent::Participant, AuditEvent::Participant::Network, AuditEvent::Source, BackboneElement, Basic, Binary, BodySite, Bundle, Bundle::Entry, Bundle::Entry::Request, Bundle::Entry::Response, Bundle::Entry::Search, Bundle::Link, CarePlan, CarePlan::Activity, CarePlan::Activity::Detail, CarePlan::Participant, CarePlan::RelatedPlan, Claim, Claim::Coverage, Claim::Diagnosis, Claim::Item, Claim::Item::Detail, Claim::Item::Detail::SubDetail, Claim::Item::Prosthesis, Claim::MissingTeeth, Claim::Payee, ClaimResponse, ClaimResponse::AddItem, ClaimResponse::AddItem::Adjudication, ClaimResponse::AddItem::Detail, ClaimResponse::AddItem::Detail::Adjudication, ClaimResponse::Coverage, ClaimResponse::Error, ClaimResponse::Item, ClaimResponse::Item::Adjudication, ClaimResponse::Item::Detail, ClaimResponse::Item::Detail::Adjudication, ClaimResponse::Item::Detail::SubDetail, ClaimResponse::Item::Detail::SubDetail::Adjudication, ClaimResponse::Item::Detail::Subadjudication, ClaimResponse::Note, ClinicalImpression, ClinicalImpression::Finding, ClinicalImpression::Investigations, ClinicalImpression::RuledOut, CodeableConcept, Coding, Communication, Communication::Payload, CommunicationRequest, CommunicationRequest::Payload, Composition, Composition::Attester, Composition::Event, Composition::Section, ConceptMap, ConceptMap::Contact, ConceptMap::Element, ConceptMap::Element::Target, ConceptMap::Element::Target::DependsOn, Condition, Condition::Evidence, Condition::Stage, Conformance, Conformance::Contact, Conformance::Document, Conformance::Implementation, Conformance::Messaging, Conformance::Messaging::Endpoint, Conformance::Messaging::Event, Conformance::Rest, Conformance::Rest::Interaction, Conformance::Rest::Operation, Conformance::Rest::Resource, Conformance::Rest::Resource::Interaction, Conformance::Rest::Resource::SearchParam, Conformance::Rest::Security, Conformance::Rest::Security::Certificate, Conformance::Software, ContactPoint, Contract, Contract::Actor, Contract::Friendly, Contract::Legal, Contract::Rule, Contract::Signer, Contract::Term, Contract::Term::Actor, Contract::Term::ValuedItem, Contract::ValuedItem, Coverage, DataElement, DataElement::Contact, DataElement::Mapping, DetectedIssue, DetectedIssue::Mitigation, Device, DeviceComponent, DeviceComponent::ProductionSpecification, DeviceMetric, DeviceMetric::Calibration, DeviceUseRequest, DeviceUseStatement, DiagnosticOrder, DiagnosticOrder::Event, DiagnosticOrder::Item, DiagnosticReport, DiagnosticReport::Image, DocumentManifest, DocumentManifest::Content, DocumentManifest::Related, DocumentReference, DocumentReference::Content, DocumentReference::Context, DocumentReference::Context::Related, DocumentReference::RelatesTo, DomainResource, Element, ElementDefinition, ElementDefinition::Base, ElementDefinition::Binding, ElementDefinition::Constraint, ElementDefinition::Mapping, ElementDefinition::Slicing, ElementDefinition::Type, EligibilityRequest, EligibilityResponse, Encounter, Encounter::Hospitalization, Encounter::Location, Encounter::Participant, Encounter::StatusHistory, EnrollmentRequest, EnrollmentResponse, EpisodeOfCare, EpisodeOfCare::CareTeam, EpisodeOfCare::StatusHistory, ExplanationOfBenefit, Extension, FamilyMemberHistory, FamilyMemberHistory::Condition, Flag, Goal, Goal::Outcome, Group, Group::Characteristic, Group::Member, HealthcareService, HealthcareService::AvailableTime, HealthcareService::NotAvailable, HealthcareService::ServiceType, HumanName, Identifier, ImagingObjectSelection, ImagingObjectSelection::Study, ImagingObjectSelection::Study::Series, ImagingObjectSelection::Study::Series::Instance, ImagingObjectSelection::Study::Series::Instance::Frames, ImagingStudy, ImagingStudy::Series, ImagingStudy::Series::Instance, Immunization, Immunization::Explanation, Immunization::Reaction, Immunization::VaccinationProtocol, ImmunizationRecommendation, ImmunizationRecommendation::Recommendation, ImmunizationRecommendation::Recommendation::DateCriterion, ImmunizationRecommendation::Recommendation::Protocol, ImplementationGuide, ImplementationGuide::Contact, ImplementationGuide::Dependency, ImplementationGuide::Global, ImplementationGuide::Package, ImplementationGuide::Package::Resource, ImplementationGuide::Page, List, List::Entry, Location, Location::Position, Media, Medication, Medication::Package, Medication::Package::Content, Medication::Product, Medication::Product::Batch, Medication::Product::Ingredient, MedicationAdministration, MedicationAdministration::Dosage, MedicationDispense, MedicationDispense::DosageInstruction, MedicationDispense::Substitution, MedicationOrder, MedicationOrder::DispenseRequest, MedicationOrder::DosageInstruction, MedicationOrder::Substitution, MedicationStatement, MedicationStatement::Dosage, MessageHeader, MessageHeader::Destination, MessageHeader::Response, MessageHeader::Source, Meta, NamingSystem, NamingSystem::Contact, NamingSystem::UniqueId, Narrative, NutritionOrder, NutritionOrder::EnteralFormula, NutritionOrder::EnteralFormula::Administration, NutritionOrder::OralDiet, NutritionOrder::OralDiet::Nutrient, NutritionOrder::OralDiet::Texture, NutritionOrder::Supplement, Observation, Observation::Component, Observation::ReferenceRange, Observation::Related, OperationDefinition, OperationDefinition::Contact, OperationDefinition::Parameter, OperationDefinition::Parameter::Binding, OperationOutcome, OperationOutcome::Issue, Order, Order::When, OrderResponse, Organization, Organization::Contact, Parameters, Parameters::Parameter, Patient, Patient::Animal, Patient::Communication, Patient::Contact, Patient::Link, PaymentNotice, PaymentReconciliation, PaymentReconciliation::Detail, PaymentReconciliation::Note, Period, Person, Person::Link, Practitioner, Practitioner::PractitionerRole, Practitioner::Qualification, Procedure, Procedure::FocalDevice, Procedure::Performer, ProcedureRequest, ProcessRequest, ProcessRequest::Item, ProcessResponse, ProcessResponse::Notes, Provenance, Provenance::Agent, Provenance::Agent::RelatedAgent, Provenance::Entity, Quantity, Questionnaire, Questionnaire::Group, Questionnaire::Group::Question, QuestionnaireResponse, QuestionnaireResponse::Group, QuestionnaireResponse::Group::Question, QuestionnaireResponse::Group::Question::Answer, Range, Ratio, Reference, ReferralRequest, RelatedPerson, Resource, RiskAssessment, RiskAssessment::Prediction, SampledData, Schedule, SearchParameter, SearchParameter::Contact, Signature, Slot, Specimen, Specimen::Collection, Specimen::Container, Specimen::Treatment, StructureDefinition, StructureDefinition::Contact, StructureDefinition::Differential, StructureDefinition::Mapping, StructureDefinition::Snapshot, Subscription, Subscription::Channel, Substance, Substance::Ingredient, Substance::Instance, SupplyDelivery, SupplyRequest, SupplyRequest::When, TestScript, TestScript::Contact, TestScript::Fixture, TestScript::Metadata, TestScript::Metadata::Capability, TestScript::Metadata::Link, TestScript::Setup, TestScript::Setup::Action, TestScript::Setup::Action::Assert, TestScript::Setup::Action::Operation, TestScript::Setup::Action::Operation::RequestHeader, TestScript::Teardown, TestScript::Teardown::Action, TestScript::Test, TestScript::Test::Action, TestScript::Variable, Timing, Timing::Repeat, ValueSet, ValueSet::CodeSystem, ValueSet::CodeSystem::Concept, ValueSet::CodeSystem::Concept::Designation, ValueSet::Compose, ValueSet::Compose::Include, ValueSet::Compose::Include::Concept, ValueSet::Compose::Include::Filter, ValueSet::Contact, ValueSet::Expansion, ValueSet::Expansion::Contains, ValueSet::Expansion::Parameter, VisionPrescription, VisionPrescription::Dispense
- Defined in:
- lib/fhir_dstu2_models/bootstrap/xml.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#to_xml ⇒ Object
This module includes methods to serialize or deserialize FHIR::DSTU2 resources to and from XML.
Methods included from Deprecate
Class Method Details
.from_xml(xml) ⇒ Object
71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'lib/fhir_dstu2_models/bootstrap/xml.rb', line 71 def self.from_xml(xml) doc = Nokogiri::XML(xml) doc.root.add_namespace_definition('f', 'http://hl7.org/fhir') doc.root.add_namespace_definition('x', 'http://www.w3.org/1999/xhtml') hash = xml_node_to_hash(doc.root) resource = nil begin resource_type = doc.root.name klass = Module.const_get("FHIR::DSTU2::#{resource_type}") resource = klass.new(hash) rescue => e FHIR::DSTU2.logger.error("Failed to deserialize XML:\n#{e.}\n#{e.backtrace}") FHIR::DSTU2.logger.debug("XML:\n#{xml}") resource = nil end resource end |
.valid?(xml) ⇒ Boolean
128 129 130 |
# File 'lib/fhir_dstu2_models/bootstrap/xml.rb', line 128 def self.valid?(xml) validate(xml).empty? end |
.validate(xml) ⇒ Object
133 134 135 136 137 138 |
# File 'lib/fhir_dstu2_models/bootstrap/xml.rb', line 133 def self.validate(xml) defns = File. '../definitions/schema', File.dirname(File.absolute_path(__FILE__)) schema = File.join(defns, 'fhir-all.xsd') xsd = Nokogiri::XML::Schema(File.new(schema)) xsd.validate(Nokogiri::XML(xml)) end |
Instance Method Details
#to_xml ⇒ Object
This module includes methods to serialize or deserialize FHIR::DSTU2 resources to and from XML.
10 11 12 13 14 15 16 17 18 |
# File 'lib/fhir_dstu2_models/bootstrap/xml.rb', line 10 def to_xml hash = to_hash hash.delete('resourceType') doc = Nokogiri::XML::Document.new doc.encoding = 'utf-8' doc.root = hash_to_xml_node(resourceType, hash, doc) doc.root.default_namespace = 'http://hl7.org/fhir' doc.to_xml end |