fhir_models 0.3.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.travis.yml +0 -1
- data/Gemfile.lock +1 -1
- data/Rakefile +0 -1
- data/fhir_models.gemspec +1 -1
- data/lib/fhir/metadata.rb +25 -0
- data/lib/fhir/resources/Account.rb +54 -0
- data/lib/fhir/resources/AllergyIntolerance.rb +92 -0
- data/lib/fhir/resources/Appointment.rb +88 -0
- data/lib/fhir/resources/AppointmentResponse.rb +48 -0
- data/lib/fhir/resources/AuditEvent.rb +188 -0
- data/lib/fhir/resources/Basic.rb +42 -0
- data/lib/fhir/resources/Binary.rb +28 -0
- data/lib/fhir/resources/BodySite.rb +44 -0
- data/lib/fhir/resources/Bundle.rb +154 -0
- data/lib/fhir/resources/CarePlan.rb +184 -0
- data/lib/fhir/resources/CareTeam.rb +70 -0
- data/lib/fhir/resources/Claim.rb +490 -0
- data/lib/fhir/resources/ClaimResponse.rb +421 -0
- data/lib/fhir/resources/ClinicalImpression.rb +131 -0
- data/lib/fhir/resources/CodeSystem.rb +225 -0
- data/lib/fhir/resources/Communication.rb +83 -0
- data/lib/fhir/resources/CommunicationRequest.rb +90 -0
- data/lib/fhir/resources/CompartmentDefinition.rb +98 -0
- data/lib/fhir/resources/Composition.rb +136 -0
- data/lib/fhir/resources/ConceptMap.rb +168 -0
- data/lib/fhir/resources/Condition.rb +126 -0
- data/lib/fhir/resources/Conformance.rb +442 -0
- data/lib/fhir/resources/Contract.rb +320 -0
- data/lib/fhir/resources/Coverage.rb +77 -0
- data/lib/fhir/resources/DataElement.rb +104 -0
- data/lib/fhir/resources/DecisionSupportRule.rb +42 -0
- data/lib/fhir/resources/DecisionSupportServiceModule.rb +40 -0
- data/lib/fhir/resources/DetectedIssue.rb +74 -0
- data/lib/fhir/resources/Device.rb +64 -0
- data/lib/fhir/resources/DeviceComponent.rb +74 -0
- data/lib/fhir/resources/DeviceMetric.rb +74 -0
- data/lib/fhir/resources/DeviceUseRequest.rb +68 -0
- data/lib/fhir/resources/DeviceUseStatement.rb +60 -0
- data/lib/fhir/resources/DiagnosticOrder.rb +106 -0
- data/lib/fhir/resources/DiagnosticReport.rb +91 -0
- data/lib/fhir/resources/DocumentManifest.rb +99 -0
- data/lib/fhir/resources/DocumentReference.rb +156 -0
- data/lib/fhir/resources/DomainResource.rb +32 -0
- data/lib/fhir/resources/EligibilityRequest.rb +90 -0
- data/lib/fhir/resources/EligibilityResponse.rb +152 -0
- data/lib/fhir/resources/Encounter.rb +172 -0
- data/lib/fhir/resources/EnrollmentRequest.rb +52 -0
- data/lib/fhir/resources/EnrollmentResponse.rb +52 -0
- data/lib/fhir/resources/EpisodeOfCare.rb +74 -0
- data/lib/fhir/resources/ExpansionProfile.rb +284 -0
- data/lib/fhir/resources/ExplanationOfBenefit.rb +764 -0
- data/lib/fhir/resources/FamilyMemberHistory.rb +110 -0
- data/lib/fhir/resources/Flag.rb +48 -0
- data/lib/fhir/resources/Goal.rb +91 -0
- data/lib/fhir/resources/Group.rb +105 -0
- data/lib/fhir/resources/GuidanceResponse.rb +139 -0
- data/lib/fhir/resources/HealthcareService.rb +122 -0
- data/lib/fhir/resources/ImagingExcerpt.rb +210 -0
- data/lib/fhir/resources/ImagingObjectSelection.rb +136 -0
- data/lib/fhir/resources/ImagingStudy.rb +130 -0
- data/lib/fhir/resources/Immunization.rb +148 -0
- data/lib/fhir/resources/ImmunizationRecommendation.rb +114 -0
- data/lib/fhir/resources/ImplementationGuide.rb +211 -0
- data/lib/fhir/resources/Library.rb +145 -0
- data/lib/fhir/resources/Linkage.rb +56 -0
- data/lib/fhir/resources/List.rb +82 -0
- data/lib/fhir/resources/Location.rb +78 -0
- data/lib/fhir/resources/Measure.rb +160 -0
- data/lib/fhir/resources/MeasureReport.rb +204 -0
- data/lib/fhir/resources/Media.rb +56 -0
- data/lib/fhir/resources/Medication.rb +154 -0
- data/lib/fhir/resources/MedicationAdministration.rb +104 -0
- data/lib/fhir/resources/MedicationDispense.rb +141 -0
- data/lib/fhir/resources/MedicationOrder.rb +172 -0
- data/lib/fhir/resources/MedicationStatement.rb +117 -0
- data/lib/fhir/resources/MessageHeader.rb +124 -0
- data/lib/fhir/resources/ModuleDefinition.rb +249 -0
- data/lib/fhir/resources/NamingSystem.rb +102 -0
- data/lib/fhir/resources/NutritionOrder.rb +211 -0
- data/lib/fhir/resources/Observation.rb +187 -0
- data/lib/fhir/resources/OperationDefinition.rb +153 -0
- data/lib/fhir/resources/OperationOutcome.rb +62 -0
- data/lib/fhir/resources/Order.rb +73 -0
- data/lib/fhir/resources/OrderResponse.rb +46 -0
- data/lib/fhir/resources/OrderSet.rb +38 -0
- data/lib/fhir/resources/Organization.rb +72 -0
- data/lib/fhir/resources/Parameters.rb +117 -0
- data/lib/fhir/resources/Patient.rb +166 -0
- data/lib/fhir/resources/PaymentNotice.rb +71 -0
- data/lib/fhir/resources/PaymentReconciliation.rb +140 -0
- data/lib/fhir/resources/Person.rb +72 -0
- data/lib/fhir/resources/Practitioner.rb +110 -0
- data/lib/fhir/resources/PractitionerRole.rb +102 -0
- data/lib/fhir/resources/Procedure.rb +122 -0
- data/lib/fhir/resources/ProcedureRequest.rb +73 -0
- data/lib/fhir/resources/ProcessRequest.rb +99 -0
- data/lib/fhir/resources/ProcessResponse.rb +92 -0
- data/lib/fhir/resources/Protocol.rb +242 -0
- data/lib/fhir/resources/Provenance.rb +122 -0
- data/lib/fhir/resources/Questionnaire.rb +205 -0
- data/lib/fhir/resources/QuestionnaireResponse.rb +123 -0
- data/lib/fhir/resources/ReferralRequest.rb +68 -0
- data/lib/fhir/resources/RelatedPerson.rb +52 -0
- data/lib/fhir/resources/Resource.rb +24 -0
- data/lib/fhir/resources/RiskAssessment.rb +88 -0
- data/lib/fhir/resources/Schedule.rb +46 -0
- data/lib/fhir/resources/SearchParameter.rb +86 -0
- data/lib/fhir/resources/Sequence.rb +238 -0
- data/lib/fhir/resources/Slot.rb +54 -0
- data/lib/fhir/resources/Specimen.rb +140 -0
- data/lib/fhir/resources/StructureDefinition.rb +164 -0
- data/lib/fhir/resources/StructureMap.rb +297 -0
- data/lib/fhir/resources/Subscription.rb +72 -0
- data/lib/fhir/resources/Substance.rb +86 -0
- data/lib/fhir/resources/SupplyDelivery.rb +54 -0
- data/lib/fhir/resources/SupplyRequest.rb +77 -0
- data/lib/fhir/resources/Task.rb +240 -0
- data/lib/fhir/resources/TestScript.rb +692 -0
- data/lib/fhir/resources/ValueSet.rb +289 -0
- data/lib/fhir/resources/VisionPrescription.rb +97 -0
- data/lib/fhir/types/ActionDefinition.rb +109 -0
- data/lib/fhir/types/Address.rb +36 -0
- data/lib/fhir/types/Annotation.rb +27 -0
- data/lib/fhir/types/Attachment.rb +32 -0
- data/lib/fhir/types/BackboneElement.rb +18 -0
- data/lib/fhir/types/CodeableConcept.rb +20 -0
- data/lib/fhir/types/Coding.rb +26 -0
- data/lib/fhir/types/ContactPoint.rb +26 -0
- data/lib/fhir/types/DataRequirement.rb +78 -0
- data/lib/fhir/types/Element.rb +16 -0
- data/lib/fhir/types/ElementDefinition.rb +605 -0
- data/lib/fhir/types/Extension.rb +87 -0
- data/lib/fhir/types/HumanName.rb +30 -0
- data/lib/fhir/types/Identifier.rb +28 -0
- data/lib/fhir/types/Meta.rb +26 -0
- data/lib/fhir/types/ModuleMetadata.rb +152 -0
- data/lib/fhir/types/Narrative.rb +20 -0
- data/lib/fhir/types/ParameterDefinition.rb +30 -0
- data/lib/fhir/types/Period.rb +20 -0
- data/lib/fhir/types/Quantity.rb +26 -0
- data/lib/fhir/types/Range.rb +20 -0
- data/lib/fhir/types/Ratio.rb +20 -0
- data/lib/fhir/types/Reference.rb +20 -0
- data/lib/fhir/types/SampledData.rb +30 -0
- data/lib/fhir/types/Signature.rb +31 -0
- data/lib/fhir/types/Timing.rb +69 -0
- data/lib/fhir/types/TriggerDefinition.rb +33 -0
- data/lib/fhir_models.rb +2 -2
- data/lib/tasks/tasks.rake +29 -0
- metadata +145 -2
@@ -0,0 +1,91 @@
|
|
1
|
+
module FHIR
|
2
|
+
class Goal < FHIR::Model
|
3
|
+
include FHIR::Hashable
|
4
|
+
include FHIR::Json
|
5
|
+
include FHIR::Xml
|
6
|
+
|
7
|
+
MULTIPLE_TYPES = {
|
8
|
+
'start' => ['date', 'CodeableConcept'],
|
9
|
+
'target' => ['date', 'Quantity']
|
10
|
+
}
|
11
|
+
SEARCH_PARAMS = ["category", "identifier", "patient", "status", "subject", "targetdate"]
|
12
|
+
METADATA = {
|
13
|
+
'id' => {'type'=>'id', 'path'=>'Goal.id', 'min'=>0, 'max'=>1},
|
14
|
+
'meta' => {'type'=>'Meta', 'path'=>'Goal.meta', 'min'=>0, 'max'=>1},
|
15
|
+
'implicitRules' => {'type'=>'uri', 'path'=>'Goal.implicitRules', 'min'=>0, 'max'=>1},
|
16
|
+
'language' => {'type'=>'code', 'path'=>'Goal.language', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://tools.ietf.org/html/bcp47'}},
|
17
|
+
'text' => {'type'=>'Narrative', 'path'=>'Goal.text', 'min'=>0, 'max'=>1},
|
18
|
+
'contained' => {'type'=>'Resource', 'path'=>'Goal.contained', 'min'=>0, 'max'=>Float::INFINITY},
|
19
|
+
'extension' => {'type'=>'Extension', 'path'=>'Goal.extension', 'min'=>0, 'max'=>Float::INFINITY},
|
20
|
+
'modifierExtension' => {'type'=>'Extension', 'path'=>'Goal.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
|
21
|
+
'identifier' => {'type'=>'Identifier', 'path'=>'Goal.identifier', 'min'=>0, 'max'=>Float::INFINITY},
|
22
|
+
'subject' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Patient', 'http://hl7.org/fhir/StructureDefinition/Group', 'http://hl7.org/fhir/StructureDefinition/Organization'], 'type'=>'Reference', 'path'=>'Goal.subject', 'min'=>0, 'max'=>1},
|
23
|
+
'startDate' => {'type'=>'date', 'path'=>'Goal.start[x]', 'min'=>0, 'max'=>1},
|
24
|
+
'startCodeableConcept' => {'valid_codes'=>{'http://snomed.info/sct'=>['32485007', '308283009', '442137000', '386216000']}, 'type'=>'CodeableConcept', 'path'=>'Goal.start[x]', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'example', 'uri'=>'http://hl7.org/fhir/ValueSet/goal-start-event'}},
|
25
|
+
'targetDate' => {'type'=>'date', 'path'=>'Goal.target[x]', 'min'=>0, 'max'=>1},
|
26
|
+
'targetQuantity' => {'type'=>'Quantity', 'path'=>'Goal.target[x]', 'min'=>0, 'max'=>1},
|
27
|
+
'category' => {'valid_codes'=>{'http://hl7.org/fhir/goal-category'=>['dietary', 'safety', 'behavioral', 'nursing', 'physiotherapy']}, 'type'=>'CodeableConcept', 'path'=>'Goal.category', 'min'=>0, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'example', 'uri'=>'http://hl7.org/fhir/ValueSet/goal-category'}},
|
28
|
+
'description' => {'type'=>'string', 'path'=>'Goal.description', 'min'=>1, 'max'=>1},
|
29
|
+
'status' => {'valid_codes'=>{'http://hl7.org/fhir/goal-status'=>['proposed', 'planned', 'accepted', 'rejected', 'in-progress', 'achieved', 'sustaining', 'on-hold', 'cancelled']}, 'type'=>'code', 'path'=>'Goal.status', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/goal-status'}},
|
30
|
+
'statusDate' => {'type'=>'date', 'path'=>'Goal.statusDate', 'min'=>0, 'max'=>1},
|
31
|
+
'statusReason' => {'valid_codes'=>{'http://hl7.org/fhir/goal-status-reason'=>['surgery', 'life-event', 'replaced', 'patient-request']}, 'type'=>'CodeableConcept', 'path'=>'Goal.statusReason', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'example', 'uri'=>'http://hl7.org/fhir/ValueSet/goal-status-reason'}},
|
32
|
+
'author' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Patient', 'http://hl7.org/fhir/StructureDefinition/Practitioner', 'http://hl7.org/fhir/StructureDefinition/RelatedPerson'], 'type'=>'Reference', 'path'=>'Goal.author', 'min'=>0, 'max'=>1},
|
33
|
+
'priority' => {'valid_codes'=>{'http://hl7.org/fhir/goal-priority'=>['high', 'medium', 'low']}, 'type'=>'CodeableConcept', 'path'=>'Goal.priority', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'preferred', 'uri'=>'http://hl7.org/fhir/ValueSet/goal-priority'}},
|
34
|
+
'addresses' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Condition', 'http://hl7.org/fhir/StructureDefinition/Observation', 'http://hl7.org/fhir/StructureDefinition/MedicationStatement', 'http://hl7.org/fhir/StructureDefinition/NutritionOrder', 'http://hl7.org/fhir/StructureDefinition/ProcedureRequest', 'http://hl7.org/fhir/StructureDefinition/RiskAssessment'], 'type'=>'Reference', 'path'=>'Goal.addresses', 'min'=>0, 'max'=>Float::INFINITY},
|
35
|
+
'note' => {'type'=>'Annotation', 'path'=>'Goal.note', 'min'=>0, 'max'=>Float::INFINITY},
|
36
|
+
'outcome' => {'type'=>'Goal::Outcome', 'path'=>'Goal.outcome', 'min'=>0, 'max'=>Float::INFINITY}
|
37
|
+
}
|
38
|
+
|
39
|
+
class Outcome < FHIR::Model
|
40
|
+
include FHIR::Hashable
|
41
|
+
include FHIR::Json
|
42
|
+
include FHIR::Xml
|
43
|
+
|
44
|
+
MULTIPLE_TYPES = {
|
45
|
+
'result' => ['CodeableConcept', 'Reference']
|
46
|
+
}
|
47
|
+
METADATA = {
|
48
|
+
'id' => {'type'=>'id', 'path'=>'Outcome.id', 'min'=>0, 'max'=>1},
|
49
|
+
'extension' => {'type'=>'Extension', 'path'=>'Outcome.extension', 'min'=>0, 'max'=>Float::INFINITY},
|
50
|
+
'modifierExtension' => {'type'=>'Extension', 'path'=>'Outcome.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
|
51
|
+
'resultCodeableConcept' => {'type'=>'CodeableConcept', 'path'=>'Outcome.result[x]', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'example', 'uri'=>nil}},
|
52
|
+
'resultReference' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Observation'], 'type'=>'Reference', 'path'=>'Outcome.result[x]', 'min'=>0, 'max'=>1}
|
53
|
+
}
|
54
|
+
|
55
|
+
attr_accessor :id # 0-1 id
|
56
|
+
attr_accessor :extension # 0-* [ Extension ]
|
57
|
+
attr_accessor :modifierExtension # 0-* [ Extension ]
|
58
|
+
attr_accessor :resultCodeableConcept # 0-1 CodeableConcept
|
59
|
+
attr_accessor :resultReference # 0-1 Reference(Observation)
|
60
|
+
end
|
61
|
+
|
62
|
+
attr_accessor :id # 0-1 id
|
63
|
+
attr_accessor :meta # 0-1 Meta
|
64
|
+
attr_accessor :implicitRules # 0-1 uri
|
65
|
+
attr_accessor :language # 0-1 code
|
66
|
+
attr_accessor :text # 0-1 Narrative
|
67
|
+
attr_accessor :contained # 0-* [ Resource ]
|
68
|
+
attr_accessor :extension # 0-* [ Extension ]
|
69
|
+
attr_accessor :modifierExtension # 0-* [ Extension ]
|
70
|
+
attr_accessor :identifier # 0-* [ Identifier ]
|
71
|
+
attr_accessor :subject # 0-1 Reference(Patient|Group|Organization)
|
72
|
+
attr_accessor :startDate # 0-1 date
|
73
|
+
attr_accessor :startCodeableConcept # 0-1 CodeableConcept
|
74
|
+
attr_accessor :targetDate # 0-1 date
|
75
|
+
attr_accessor :targetQuantity # 0-1 Quantity
|
76
|
+
attr_accessor :category # 0-* [ CodeableConcept ]
|
77
|
+
attr_accessor :description # 1-1 string
|
78
|
+
attr_accessor :status # 1-1 code
|
79
|
+
attr_accessor :statusDate # 0-1 date
|
80
|
+
attr_accessor :statusReason # 0-1 CodeableConcept
|
81
|
+
attr_accessor :author # 0-1 Reference(Patient|Practitioner|RelatedPerson)
|
82
|
+
attr_accessor :priority # 0-1 CodeableConcept
|
83
|
+
attr_accessor :addresses # 0-* [ Reference(Condition|Observation|MedicationStatement|NutritionOrder|ProcedureRequest|RiskAssessment) ]
|
84
|
+
attr_accessor :note # 0-* [ Annotation ]
|
85
|
+
attr_accessor :outcome # 0-* [ Goal::Outcome ]
|
86
|
+
|
87
|
+
def resourceType
|
88
|
+
'Goal'
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
@@ -0,0 +1,105 @@
|
|
1
|
+
module FHIR
|
2
|
+
class Group < FHIR::Model
|
3
|
+
include FHIR::Hashable
|
4
|
+
include FHIR::Json
|
5
|
+
include FHIR::Xml
|
6
|
+
|
7
|
+
SEARCH_PARAMS = ["actual", "characteristic", "code", "exclude", "identifier", "member", "type", "value"]
|
8
|
+
METADATA = {
|
9
|
+
'id' => {'type'=>'id', 'path'=>'Group.id', 'min'=>0, 'max'=>1},
|
10
|
+
'meta' => {'type'=>'Meta', 'path'=>'Group.meta', 'min'=>0, 'max'=>1},
|
11
|
+
'implicitRules' => {'type'=>'uri', 'path'=>'Group.implicitRules', 'min'=>0, 'max'=>1},
|
12
|
+
'language' => {'type'=>'code', 'path'=>'Group.language', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://tools.ietf.org/html/bcp47'}},
|
13
|
+
'text' => {'type'=>'Narrative', 'path'=>'Group.text', 'min'=>0, 'max'=>1},
|
14
|
+
'contained' => {'type'=>'Resource', 'path'=>'Group.contained', 'min'=>0, 'max'=>Float::INFINITY},
|
15
|
+
'extension' => {'type'=>'Extension', 'path'=>'Group.extension', 'min'=>0, 'max'=>Float::INFINITY},
|
16
|
+
'modifierExtension' => {'type'=>'Extension', 'path'=>'Group.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
|
17
|
+
'identifier' => {'type'=>'Identifier', 'path'=>'Group.identifier', 'min'=>0, 'max'=>Float::INFINITY},
|
18
|
+
'type' => {'valid_codes'=>{'http://hl7.org/fhir/group-type'=>['person', 'animal', 'practitioner', 'device', 'medication', 'substance']}, 'type'=>'code', 'path'=>'Group.type', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/group-type'}},
|
19
|
+
'actual' => {'type'=>'boolean', 'path'=>'Group.actual', 'min'=>1, 'max'=>1},
|
20
|
+
'active' => {'type'=>'boolean', 'path'=>'Group.active', 'min'=>0, 'max'=>1},
|
21
|
+
'code' => {'type'=>'CodeableConcept', 'path'=>'Group.code', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'example', 'uri'=>nil}},
|
22
|
+
'name' => {'type'=>'string', 'path'=>'Group.name', 'min'=>0, 'max'=>1},
|
23
|
+
'quantity' => {'type'=>'unsignedInt', 'path'=>'Group.quantity', 'min'=>0, 'max'=>1},
|
24
|
+
'characteristic' => {'type'=>'Group::Characteristic', 'path'=>'Group.characteristic', 'min'=>0, 'max'=>Float::INFINITY},
|
25
|
+
'member' => {'type'=>'Group::Member', 'path'=>'Group.member', 'min'=>0, 'max'=>Float::INFINITY}
|
26
|
+
}
|
27
|
+
|
28
|
+
class Characteristic < FHIR::Model
|
29
|
+
include FHIR::Hashable
|
30
|
+
include FHIR::Json
|
31
|
+
include FHIR::Xml
|
32
|
+
|
33
|
+
MULTIPLE_TYPES = {
|
34
|
+
'value' => ['CodeableConcept', 'boolean', 'Quantity', 'Range']
|
35
|
+
}
|
36
|
+
METADATA = {
|
37
|
+
'id' => {'type'=>'id', 'path'=>'Characteristic.id', 'min'=>0, 'max'=>1},
|
38
|
+
'extension' => {'type'=>'Extension', 'path'=>'Characteristic.extension', 'min'=>0, 'max'=>Float::INFINITY},
|
39
|
+
'modifierExtension' => {'type'=>'Extension', 'path'=>'Characteristic.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
|
40
|
+
'code' => {'type'=>'CodeableConcept', 'path'=>'Characteristic.code', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'example', 'uri'=>nil}},
|
41
|
+
'valueCodeableConcept' => {'type'=>'CodeableConcept', 'path'=>'Characteristic.value[x]', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'example', 'uri'=>nil}},
|
42
|
+
'valueBoolean' => {'type'=>'boolean', 'path'=>'Characteristic.value[x]', 'min'=>1, 'max'=>1},
|
43
|
+
'valueQuantity' => {'type'=>'Quantity', 'path'=>'Characteristic.value[x]', 'min'=>1, 'max'=>1},
|
44
|
+
'valueRange' => {'type'=>'Range', 'path'=>'Characteristic.value[x]', 'min'=>1, 'max'=>1},
|
45
|
+
'exclude' => {'type'=>'boolean', 'path'=>'Characteristic.exclude', 'min'=>1, 'max'=>1},
|
46
|
+
'period' => {'type'=>'Period', 'path'=>'Characteristic.period', 'min'=>0, 'max'=>1}
|
47
|
+
}
|
48
|
+
|
49
|
+
attr_accessor :id # 0-1 id
|
50
|
+
attr_accessor :extension # 0-* [ Extension ]
|
51
|
+
attr_accessor :modifierExtension # 0-* [ Extension ]
|
52
|
+
attr_accessor :code # 1-1 CodeableConcept
|
53
|
+
attr_accessor :valueCodeableConcept # 1-1 CodeableConcept
|
54
|
+
attr_accessor :valueBoolean # 1-1 boolean
|
55
|
+
attr_accessor :valueQuantity # 1-1 Quantity
|
56
|
+
attr_accessor :valueRange # 1-1 Range
|
57
|
+
attr_accessor :exclude # 1-1 boolean
|
58
|
+
attr_accessor :period # 0-1 Period
|
59
|
+
end
|
60
|
+
|
61
|
+
class Member < FHIR::Model
|
62
|
+
include FHIR::Hashable
|
63
|
+
include FHIR::Json
|
64
|
+
include FHIR::Xml
|
65
|
+
|
66
|
+
METADATA = {
|
67
|
+
'id' => {'type'=>'id', 'path'=>'Member.id', 'min'=>0, 'max'=>1},
|
68
|
+
'extension' => {'type'=>'Extension', 'path'=>'Member.extension', 'min'=>0, 'max'=>Float::INFINITY},
|
69
|
+
'modifierExtension' => {'type'=>'Extension', 'path'=>'Member.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
|
70
|
+
'entity' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Patient', 'http://hl7.org/fhir/StructureDefinition/Practitioner', 'http://hl7.org/fhir/StructureDefinition/Device', 'http://hl7.org/fhir/StructureDefinition/Medication', 'http://hl7.org/fhir/StructureDefinition/Substance'], 'type'=>'Reference', 'path'=>'Member.entity', 'min'=>1, 'max'=>1},
|
71
|
+
'period' => {'type'=>'Period', 'path'=>'Member.period', 'min'=>0, 'max'=>1},
|
72
|
+
'inactive' => {'type'=>'boolean', 'path'=>'Member.inactive', 'min'=>0, 'max'=>1}
|
73
|
+
}
|
74
|
+
|
75
|
+
attr_accessor :id # 0-1 id
|
76
|
+
attr_accessor :extension # 0-* [ Extension ]
|
77
|
+
attr_accessor :modifierExtension # 0-* [ Extension ]
|
78
|
+
attr_accessor :entity # 1-1 Reference(Patient|Practitioner|Device|Medication|Substance)
|
79
|
+
attr_accessor :period # 0-1 Period
|
80
|
+
attr_accessor :inactive # 0-1 boolean
|
81
|
+
end
|
82
|
+
|
83
|
+
attr_accessor :id # 0-1 id
|
84
|
+
attr_accessor :meta # 0-1 Meta
|
85
|
+
attr_accessor :implicitRules # 0-1 uri
|
86
|
+
attr_accessor :language # 0-1 code
|
87
|
+
attr_accessor :text # 0-1 Narrative
|
88
|
+
attr_accessor :contained # 0-* [ Resource ]
|
89
|
+
attr_accessor :extension # 0-* [ Extension ]
|
90
|
+
attr_accessor :modifierExtension # 0-* [ Extension ]
|
91
|
+
attr_accessor :identifier # 0-* [ Identifier ]
|
92
|
+
attr_accessor :type # 1-1 code
|
93
|
+
attr_accessor :actual # 1-1 boolean
|
94
|
+
attr_accessor :active # 0-1 boolean
|
95
|
+
attr_accessor :code # 0-1 CodeableConcept
|
96
|
+
attr_accessor :name # 0-1 string
|
97
|
+
attr_accessor :quantity # 0-1 unsignedInt
|
98
|
+
attr_accessor :characteristic # 0-* [ Group::Characteristic ]
|
99
|
+
attr_accessor :member # 0-* [ Group::Member ]
|
100
|
+
|
101
|
+
def resourceType
|
102
|
+
'Group'
|
103
|
+
end
|
104
|
+
end
|
105
|
+
end
|
@@ -0,0 +1,139 @@
|
|
1
|
+
module FHIR
|
2
|
+
class GuidanceResponse < FHIR::Model
|
3
|
+
include FHIR::Hashable
|
4
|
+
include FHIR::Json
|
5
|
+
include FHIR::Xml
|
6
|
+
|
7
|
+
SEARCH_PARAMS = []
|
8
|
+
METADATA = {
|
9
|
+
'id' => {'type'=>'id', 'path'=>'GuidanceResponse.id', 'min'=>0, 'max'=>1},
|
10
|
+
'meta' => {'type'=>'Meta', 'path'=>'GuidanceResponse.meta', 'min'=>0, 'max'=>1},
|
11
|
+
'implicitRules' => {'type'=>'uri', 'path'=>'GuidanceResponse.implicitRules', 'min'=>0, 'max'=>1},
|
12
|
+
'language' => {'type'=>'code', 'path'=>'GuidanceResponse.language', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://tools.ietf.org/html/bcp47'}},
|
13
|
+
'text' => {'type'=>'Narrative', 'path'=>'GuidanceResponse.text', 'min'=>0, 'max'=>1},
|
14
|
+
'contained' => {'type'=>'Resource', 'path'=>'GuidanceResponse.contained', 'min'=>0, 'max'=>Float::INFINITY},
|
15
|
+
'extension' => {'type'=>'Extension', 'path'=>'GuidanceResponse.extension', 'min'=>0, 'max'=>Float::INFINITY},
|
16
|
+
'modifierExtension' => {'type'=>'Extension', 'path'=>'GuidanceResponse.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
|
17
|
+
'requestId' => {'type'=>'string', 'path'=>'GuidanceResponse.requestId', 'min'=>0, 'max'=>1},
|
18
|
+
'module' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/DecisionSupportServiceModule', 'http://hl7.org/fhir/StructureDefinition/DecisionSupportRule'], 'type'=>'Reference', 'path'=>'GuidanceResponse.module', 'min'=>1, 'max'=>1},
|
19
|
+
'status' => {'valid_codes'=>{'http://hl7.org/fhir/guidance-response-status'=>['success', 'data-requested', 'data-required', 'in-progress', 'failure']}, 'type'=>'code', 'path'=>'GuidanceResponse.status', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/guidance-response-status'}},
|
20
|
+
'evaluationMessage' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/OperationOutcome'], 'type'=>'Reference', 'path'=>'GuidanceResponse.evaluationMessage', 'min'=>0, 'max'=>Float::INFINITY},
|
21
|
+
'outputParameters' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Parameters'], 'type'=>'Reference', 'path'=>'GuidanceResponse.outputParameters', 'min'=>0, 'max'=>1},
|
22
|
+
'action' => {'type'=>'GuidanceResponse::Action', 'path'=>'GuidanceResponse.action', 'min'=>0, 'max'=>Float::INFINITY},
|
23
|
+
'dataRequirement' => {'type'=>'DataRequirement', 'path'=>'GuidanceResponse.dataRequirement', 'min'=>0, 'max'=>Float::INFINITY}
|
24
|
+
}
|
25
|
+
|
26
|
+
class Action < FHIR::Model
|
27
|
+
include FHIR::Hashable
|
28
|
+
include FHIR::Json
|
29
|
+
include FHIR::Xml
|
30
|
+
|
31
|
+
METADATA = {
|
32
|
+
'id' => {'type'=>'id', 'path'=>'Action.id', 'min'=>0, 'max'=>1},
|
33
|
+
'extension' => {'type'=>'Extension', 'path'=>'Action.extension', 'min'=>0, 'max'=>Float::INFINITY},
|
34
|
+
'modifierExtension' => {'type'=>'Extension', 'path'=>'Action.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
|
35
|
+
'actionIdentifier' => {'type'=>'Identifier', 'path'=>'Action.actionIdentifier', 'min'=>0, 'max'=>1},
|
36
|
+
'label' => {'type'=>'string', 'path'=>'Action.label', 'min'=>0, 'max'=>1},
|
37
|
+
'title' => {'type'=>'string', 'path'=>'Action.title', 'min'=>0, 'max'=>1},
|
38
|
+
'description' => {'type'=>'string', 'path'=>'Action.description', 'min'=>0, 'max'=>1},
|
39
|
+
'textEquivalent' => {'type'=>'string', 'path'=>'Action.textEquivalent', 'min'=>0, 'max'=>1},
|
40
|
+
'concept' => {'type'=>'CodeableConcept', 'path'=>'Action.concept', 'min'=>0, 'max'=>Float::INFINITY},
|
41
|
+
'supportingEvidence' => {'type'=>'Attachment', 'path'=>'Action.supportingEvidence', 'min'=>0, 'max'=>Float::INFINITY},
|
42
|
+
'relatedAction' => {'type'=>'GuidanceResponse::Action::Relatedaction', 'path'=>'Action.relatedAction', 'min'=>0, 'max'=>1},
|
43
|
+
'documentation' => {'type'=>'Attachment', 'path'=>'Action.documentation', 'min'=>0, 'max'=>Float::INFINITY},
|
44
|
+
'participant' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Patient', 'http://hl7.org/fhir/StructureDefinition/Person', 'http://hl7.org/fhir/StructureDefinition/Practitioner', 'http://hl7.org/fhir/StructureDefinition/RelatedPerson'], 'type'=>'Reference', 'path'=>'Action.participant', 'min'=>0, 'max'=>Float::INFINITY},
|
45
|
+
'type' => {'valid_codes'=>{'http://hl7.org/fhir/action-type'=>['create', 'update', 'remove', 'fire-event']}, 'type'=>'code', 'path'=>'Action.type', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/action-type'}},
|
46
|
+
'behavior' => {'type'=>'GuidanceResponse::Action::Behavior', 'path'=>'Action.behavior', 'min'=>0, 'max'=>Float::INFINITY},
|
47
|
+
'resource' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Resource'], 'type'=>'Reference', 'path'=>'Action.resource', 'min'=>0, 'max'=>1},
|
48
|
+
'action' => {'type'=>'GuidanceResponse::Action', 'path'=>'Action.action', 'min'=>0, 'max'=>Float::INFINITY}
|
49
|
+
}
|
50
|
+
|
51
|
+
class Relatedaction < FHIR::Model
|
52
|
+
include FHIR::Hashable
|
53
|
+
include FHIR::Json
|
54
|
+
include FHIR::Xml
|
55
|
+
|
56
|
+
MULTIPLE_TYPES = {
|
57
|
+
'offset' => ['Quantity', 'Range']
|
58
|
+
}
|
59
|
+
METADATA = {
|
60
|
+
'id' => {'type'=>'id', 'path'=>'Relatedaction.id', 'min'=>0, 'max'=>1},
|
61
|
+
'extension' => {'type'=>'Extension', 'path'=>'Relatedaction.extension', 'min'=>0, 'max'=>Float::INFINITY},
|
62
|
+
'modifierExtension' => {'type'=>'Extension', 'path'=>'Relatedaction.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
|
63
|
+
'actionIdentifier' => {'type'=>'Identifier', 'path'=>'Relatedaction.actionIdentifier', 'min'=>1, 'max'=>1},
|
64
|
+
'relationship' => {'valid_codes'=>{'http://hl7.org/fhir/action-relationship-type'=>['before', 'after']}, 'type'=>'code', 'path'=>'Relatedaction.relationship', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/action-relationship-type'}},
|
65
|
+
'offsetQuantity' => {'type'=>'Quantity', 'path'=>'Relatedaction.offset[x]', 'min'=>0, 'max'=>1},
|
66
|
+
'offsetRange' => {'type'=>'Range', 'path'=>'Relatedaction.offset[x]', 'min'=>0, 'max'=>1},
|
67
|
+
'anchor' => {'valid_codes'=>{'http://hl7.org/fhir/action-relationship-anchor'=>['start', 'end']}, 'type'=>'code', 'path'=>'Relatedaction.anchor', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/action-relationship-anchor'}}
|
68
|
+
}
|
69
|
+
|
70
|
+
attr_accessor :id # 0-1 id
|
71
|
+
attr_accessor :extension # 0-* [ Extension ]
|
72
|
+
attr_accessor :modifierExtension # 0-* [ Extension ]
|
73
|
+
attr_accessor :actionIdentifier # 1-1 Identifier
|
74
|
+
attr_accessor :relationship # 1-1 code
|
75
|
+
attr_accessor :offsetQuantity # 0-1 Quantity
|
76
|
+
attr_accessor :offsetRange # 0-1 Range
|
77
|
+
attr_accessor :anchor # 0-1 code
|
78
|
+
end
|
79
|
+
|
80
|
+
class Behavior < FHIR::Model
|
81
|
+
include FHIR::Hashable
|
82
|
+
include FHIR::Json
|
83
|
+
include FHIR::Xml
|
84
|
+
|
85
|
+
METADATA = {
|
86
|
+
'id' => {'type'=>'id', 'path'=>'Behavior.id', 'min'=>0, 'max'=>1},
|
87
|
+
'extension' => {'type'=>'Extension', 'path'=>'Behavior.extension', 'min'=>0, 'max'=>Float::INFINITY},
|
88
|
+
'modifierExtension' => {'type'=>'Extension', 'path'=>'Behavior.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
|
89
|
+
'type' => {'valid_codes'=>{'http://hl7.org/fhir/action-behavior-type'=>['grouping', 'selection', 'required', 'precheck', 'cardinality']}, 'type'=>'Coding', 'path'=>'Behavior.type', 'min'=>1, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/action-behavior-type'}},
|
90
|
+
'value' => {'type'=>'Coding', 'path'=>'Behavior.value', 'min'=>1, 'max'=>1}
|
91
|
+
}
|
92
|
+
|
93
|
+
attr_accessor :id # 0-1 id
|
94
|
+
attr_accessor :extension # 0-* [ Extension ]
|
95
|
+
attr_accessor :modifierExtension # 0-* [ Extension ]
|
96
|
+
attr_accessor :type # 1-1 Coding
|
97
|
+
attr_accessor :value # 1-1 Coding
|
98
|
+
end
|
99
|
+
|
100
|
+
attr_accessor :id # 0-1 id
|
101
|
+
attr_accessor :extension # 0-* [ Extension ]
|
102
|
+
attr_accessor :modifierExtension # 0-* [ Extension ]
|
103
|
+
attr_accessor :actionIdentifier # 0-1 Identifier
|
104
|
+
attr_accessor :label # 0-1 string
|
105
|
+
attr_accessor :title # 0-1 string
|
106
|
+
attr_accessor :description # 0-1 string
|
107
|
+
attr_accessor :textEquivalent # 0-1 string
|
108
|
+
attr_accessor :concept # 0-* [ CodeableConcept ]
|
109
|
+
attr_accessor :supportingEvidence # 0-* [ Attachment ]
|
110
|
+
attr_accessor :relatedAction # 0-1 GuidanceResponse::Action::Relatedaction
|
111
|
+
attr_accessor :documentation # 0-* [ Attachment ]
|
112
|
+
attr_accessor :participant # 0-* [ Reference(Patient|Person|Practitioner|RelatedPerson) ]
|
113
|
+
attr_accessor :type # 0-1 code
|
114
|
+
attr_accessor :behavior # 0-* [ GuidanceResponse::Action::Behavior ]
|
115
|
+
attr_accessor :resource # 0-1 Reference(Resource)
|
116
|
+
attr_accessor :action # 0-* [ GuidanceResponse::Action ]
|
117
|
+
end
|
118
|
+
|
119
|
+
attr_accessor :id # 0-1 id
|
120
|
+
attr_accessor :meta # 0-1 Meta
|
121
|
+
attr_accessor :implicitRules # 0-1 uri
|
122
|
+
attr_accessor :language # 0-1 code
|
123
|
+
attr_accessor :text # 0-1 Narrative
|
124
|
+
attr_accessor :contained # 0-* [ Resource ]
|
125
|
+
attr_accessor :extension # 0-* [ Extension ]
|
126
|
+
attr_accessor :modifierExtension # 0-* [ Extension ]
|
127
|
+
attr_accessor :requestId # 0-1 string
|
128
|
+
attr_accessor :module # 1-1 Reference(DecisionSupportServiceModule|DecisionSupportRule)
|
129
|
+
attr_accessor :status # 1-1 code
|
130
|
+
attr_accessor :evaluationMessage # 0-* [ Reference(OperationOutcome) ]
|
131
|
+
attr_accessor :outputParameters # 0-1 Reference(Parameters)
|
132
|
+
attr_accessor :action # 0-* [ GuidanceResponse::Action ]
|
133
|
+
attr_accessor :dataRequirement # 0-* [ DataRequirement ]
|
134
|
+
|
135
|
+
def resourceType
|
136
|
+
'GuidanceResponse'
|
137
|
+
end
|
138
|
+
end
|
139
|
+
end
|
@@ -0,0 +1,122 @@
|
|
1
|
+
module FHIR
|
2
|
+
class HealthcareService < FHIR::Model
|
3
|
+
include FHIR::Hashable
|
4
|
+
include FHIR::Json
|
5
|
+
include FHIR::Xml
|
6
|
+
|
7
|
+
SEARCH_PARAMS = ["characteristic", "identifier", "location", "name", "organization", "programname", "servicecategory", "servicetype"]
|
8
|
+
METADATA = {
|
9
|
+
'id' => {'type'=>'id', 'path'=>'HealthcareService.id', 'min'=>0, 'max'=>1},
|
10
|
+
'meta' => {'type'=>'Meta', 'path'=>'HealthcareService.meta', 'min'=>0, 'max'=>1},
|
11
|
+
'implicitRules' => {'type'=>'uri', 'path'=>'HealthcareService.implicitRules', 'min'=>0, 'max'=>1},
|
12
|
+
'language' => {'type'=>'code', 'path'=>'HealthcareService.language', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://tools.ietf.org/html/bcp47'}},
|
13
|
+
'text' => {'type'=>'Narrative', 'path'=>'HealthcareService.text', 'min'=>0, 'max'=>1},
|
14
|
+
'contained' => {'type'=>'Resource', 'path'=>'HealthcareService.contained', 'min'=>0, 'max'=>Float::INFINITY},
|
15
|
+
'extension' => {'type'=>'Extension', 'path'=>'HealthcareService.extension', 'min'=>0, 'max'=>Float::INFINITY},
|
16
|
+
'modifierExtension' => {'type'=>'Extension', 'path'=>'HealthcareService.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
|
17
|
+
'identifier' => {'type'=>'Identifier', 'path'=>'HealthcareService.identifier', 'min'=>0, 'max'=>Float::INFINITY},
|
18
|
+
'providedBy' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Organization'], 'type'=>'Reference', 'path'=>'HealthcareService.providedBy', 'min'=>0, 'max'=>1},
|
19
|
+
'serviceCategory' => {'valid_codes'=>{'http://hl7.org/fhir/service-category'=>['1', '2', '34', '3', '4', '5', '6', '7', '8', '36', '9', '10', '11', '12', '13', '14', '15', '16', '17', '35', '18', '19', '20', '21', '22', '38', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '37', '33']}, 'type'=>'CodeableConcept', 'path'=>'HealthcareService.serviceCategory', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'example', 'uri'=>'http://hl7.org/fhir/ValueSet/service-category'}},
|
20
|
+
'serviceType' => {'valid_codes'=>{'http://hl7.org/fhir/service-type'=>['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '40', '41', '42', '43', '44', '45', '46', '47', '48', '49', '50', '51', '52', '53', '54', '55', '56', '57', '58', '59', '60', '61', '62', '63', '64', '65', '66', '67', '68', '69', '70', '71', '72', '73', '74', '75', '76', '77', '78', '79', '80', '81', '82', '83', '84', '85', '86', '87', '88', '89', '90', '91', '92', '93', '94', '95', '96', '97', '98', '99', '100', '101', '102', '103', '104', '105', '106', '107', '108', '109', '110', '111', '112', '113', '114', '115', '116', '117', '118', '119', '120', '121', '122', '123', '124', '125', '126', '127', '128', '129', '130', '131', '132', '133', '134', '135', '136', '137', '138', '139', '140', '141', '142', '143', '144', '145', '146', '147', '148', '149', '150', '151', '152', '153', '154', '155', '156', '157', '158', '159', '160', '161', '162', '163', '164', '165', '166', '167', '168', '169', '170', '171', '172', '173', '174', '175', '176', '177', '178', '179', '180', '181', '182', '183', '184', '185', '186', '187', '188', '189', '190', '191', '192', '193', '194', '195', '196', '197', '198', '199', '200', '201', '202', '203', '204', '205', '206', '207', '208', '209', '210', '211', '212', '213', '214', '215', '216', '217', '218', '219', '220', '221', '222', '223', '224', '225', '226', '227', '228', '229', '230', '231', '232', '233', '234', '235', '236', '237', '238', '239', '240', '241', '242', '243', '244', '245', '246', '247', '248', '249', '250', '251', '252', '253', '254', '255', '256', '257', '258', '259', '260', '261', '262', '263', '264', '265', '266', '267', '268', '269', '270', '271', '272', '273', '274', '275', '276', '277', '278', '279', '280', '281', '282', '283', '284', '285', '286', '287', '288', '289', '290', '291', '292', '293', '294', '295', '296', '297', '298', '299', '300', '301', '302', '303', '304', '305', '306', '307', '308', '309', '310', '311', '312', '313', '314', '315', '316', '317', '318', '319', '320', '321', '322', '323', '324', '325', '326', '327', '328', '330', '331', '332', '333', '334', '335', '336', '337', '338', '339', '340', '341', '342', '343', '344', '345', '346', '347', '348', '349', '350', '351', '352', '353', '354', '355', '356', '357', '358', '359', '360', '361', '362', '364', '365', '366', '367', '368', '369', '370', '371', '372', '373', '374', '375', '376', '377', '378', '379', '380', '381', '382', '383', '384', '385', '386', '387', '388', '389', '390', '391', '392', '393', '394', '395', '396', '397', '398', '399', '400', '401', '402', '403', '404', '405', '406', '407', '408', '409', '410', '411', '412', '413', '414', '415', '416', '417', '418', '419', '420', '421', '422', '423', '424', '425', '426', '427', '428', '429', '430', '431', '432', '433', '434', '435', '436', '437', '438', '439', '440', '441', '442', '443', '444', '445', '446', '447', '448', '449', '450', '451', '452', '453', '454', '455', '456', '457', '458', '459', '460', '461', '462', '463', '464', '465', '466', '467', '468', '469', '470', '471', '472', '473', '474', '475', '476', '477', '478', '479', '480', '481', '482', '483', '484', '485', '486', '488', '489', '490', '491', '492', '493', '494', '495', '496', '497', '498', '500', '501', '502', '503', '504', '505', '506', '507', '508', '509', '510', '513', '514', '530', '531', '532', '533', '534', '535', '536', '537', '538', '539', '540', '541', '542', '543', '544', '545', '546', '547', '548', '550', '551', '552', '553', '554', '555', '556', '557', '558', '559', '560', '561', '562', '563', '564', '565', '566', '567', '568', '569', '570', '571', '572', '573', '574', '575', '576', '577', '580', '581', '582', '583', '584', '585', '589', '590', '591', '593', '599', '600', '601', '602', '603', '604', '605', '606', '607', '608', '609', '610', '611', '612', '613', '614', '615', '616', '617', '618', '619', '620', '621', '622', '623', '624', '625', '626', '627', '628', '629']}, 'type'=>'CodeableConcept', 'path'=>'HealthcareService.serviceType', 'min'=>0, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'example', 'uri'=>'http://hl7.org/fhir/ValueSet/service-type'}},
|
21
|
+
'specialty' => {'valid_codes'=>{'http://snomed.info/sct'=>['408467006', '394577000', '394578005', '421661004', '408462000', '394579002', '394804000', '394580004', '394803006', '408480009', '408454008', '394809005', '394592004', '394600006', '394601005', '394581000', '408478003', '394812008', '408444009', '394582007', '408475000', '410005002', '394583002', '419772000', '394584008', '408443003', '394802001', '394915009', '394814009', '394808002', '394811001', '408446006', '394586005', '394916005', '408472002', '394597005', '394598000', '394807007', '419192003', '408468001', '394593009', '394813003', '410001006', '394589003', '394591006', '394599008', '394649004', '408470005', '394585009', '394821009', '422191005', '394594003', '416304004', '418960008', '394882004', '394806003', '394588006', '408459003', '394607009', '419610006', '418058008', '420208008', '418652005', '418535003', '418862001', '419365004', '418002000', '419983000', '419170002', '419472004', '394539006', '420112009', '409968004', '394587001', '394913002', '408440000', '418112009', '419815003', '394914008', '408455009', '394602003', '408447002', '394810000', '408450004', '408476004', '408469009', '408466002', '408471009', '408464004', '408441001', '408465003', '394605001', '394608004', '408461007', '408460008', '394606000', '408449004', '418018006', '394604002', '394609007', '408474001', '394610002', '394611003', '408477008', '394801008', '408463005', '419321007', '394576009', '394590007', '409967009', '408448007', '419043006', '394612005', '394733009', '394732004']}, 'type'=>'CodeableConcept', 'path'=>'HealthcareService.specialty', 'min'=>0, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'preferred', 'uri'=>'http://hl7.org/fhir/ValueSet/c80-practice-codes'}},
|
22
|
+
'location' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Location'], 'type'=>'Reference', 'path'=>'HealthcareService.location', 'min'=>0, 'max'=>Float::INFINITY},
|
23
|
+
'serviceName' => {'type'=>'string', 'path'=>'HealthcareService.serviceName', 'min'=>0, 'max'=>1},
|
24
|
+
'comment' => {'type'=>'string', 'path'=>'HealthcareService.comment', 'min'=>0, 'max'=>1},
|
25
|
+
'extraDetails' => {'type'=>'string', 'path'=>'HealthcareService.extraDetails', 'min'=>0, 'max'=>1},
|
26
|
+
'photo' => {'type'=>'Attachment', 'path'=>'HealthcareService.photo', 'min'=>0, 'max'=>1},
|
27
|
+
'telecom' => {'type'=>'ContactPoint', 'path'=>'HealthcareService.telecom', 'min'=>0, 'max'=>Float::INFINITY},
|
28
|
+
'coverageArea' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Location'], 'type'=>'Reference', 'path'=>'HealthcareService.coverageArea', 'min'=>0, 'max'=>Float::INFINITY},
|
29
|
+
'serviceProvisionCode' => {'valid_codes'=>{'http://hl7.org/fhir/service-provision-conditions'=>['free', 'disc', 'cost']}, 'type'=>'CodeableConcept', 'path'=>'HealthcareService.serviceProvisionCode', 'min'=>0, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'example', 'uri'=>'http://hl7.org/fhir/ValueSet/service-provision-conditions'}},
|
30
|
+
'eligibility' => {'type'=>'CodeableConcept', 'path'=>'HealthcareService.eligibility', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'example', 'uri'=>nil}},
|
31
|
+
'eligibilityNote' => {'type'=>'string', 'path'=>'HealthcareService.eligibilityNote', 'min'=>0, 'max'=>1},
|
32
|
+
'programName' => {'type'=>'string', 'path'=>'HealthcareService.programName', 'min'=>0, 'max'=>Float::INFINITY},
|
33
|
+
'characteristic' => {'type'=>'CodeableConcept', 'path'=>'HealthcareService.characteristic', 'min'=>0, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'example', 'uri'=>nil}},
|
34
|
+
'referralMethod' => {'valid_codes'=>{'http://hl7.org/fhir/service-referral-method'=>['fax', 'phone', 'elec', 'semail', 'mail']}, 'type'=>'CodeableConcept', 'path'=>'HealthcareService.referralMethod', 'min'=>0, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'example', 'uri'=>'http://hl7.org/fhir/ValueSet/service-referral-method'}},
|
35
|
+
'publicKey' => {'type'=>'string', 'path'=>'HealthcareService.publicKey', 'min'=>0, 'max'=>1},
|
36
|
+
'appointmentRequired' => {'type'=>'boolean', 'path'=>'HealthcareService.appointmentRequired', 'min'=>0, 'max'=>1},
|
37
|
+
'availableTime' => {'type'=>'HealthcareService::Availabletime', 'path'=>'HealthcareService.availableTime', 'min'=>0, 'max'=>Float::INFINITY},
|
38
|
+
'notAvailable' => {'type'=>'HealthcareService::Notavailable', 'path'=>'HealthcareService.notAvailable', 'min'=>0, 'max'=>Float::INFINITY},
|
39
|
+
'availabilityExceptions' => {'type'=>'string', 'path'=>'HealthcareService.availabilityExceptions', 'min'=>0, 'max'=>1}
|
40
|
+
}
|
41
|
+
|
42
|
+
class Availabletime < FHIR::Model
|
43
|
+
include FHIR::Hashable
|
44
|
+
include FHIR::Json
|
45
|
+
include FHIR::Xml
|
46
|
+
|
47
|
+
METADATA = {
|
48
|
+
'id' => {'type'=>'id', 'path'=>'Availabletime.id', 'min'=>0, 'max'=>1},
|
49
|
+
'extension' => {'type'=>'Extension', 'path'=>'Availabletime.extension', 'min'=>0, 'max'=>Float::INFINITY},
|
50
|
+
'modifierExtension' => {'type'=>'Extension', 'path'=>'Availabletime.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
|
51
|
+
'daysOfWeek' => {'valid_codes'=>{'http://hl7.org/fhir/days-of-week'=>['mon', 'tue', 'wed', 'thu', 'fri', 'sat', 'sun']}, 'type'=>'code', 'path'=>'Availabletime.daysOfWeek', 'min'=>0, 'max'=>Float::INFINITY, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/days-of-week'}},
|
52
|
+
'allDay' => {'type'=>'boolean', 'path'=>'Availabletime.allDay', 'min'=>0, 'max'=>1},
|
53
|
+
'availableStartTime' => {'type'=>'time', 'path'=>'Availabletime.availableStartTime', 'min'=>0, 'max'=>1},
|
54
|
+
'availableEndTime' => {'type'=>'time', 'path'=>'Availabletime.availableEndTime', 'min'=>0, 'max'=>1}
|
55
|
+
}
|
56
|
+
|
57
|
+
attr_accessor :id # 0-1 id
|
58
|
+
attr_accessor :extension # 0-* [ Extension ]
|
59
|
+
attr_accessor :modifierExtension # 0-* [ Extension ]
|
60
|
+
attr_accessor :daysOfWeek # 0-* [ code ]
|
61
|
+
attr_accessor :allDay # 0-1 boolean
|
62
|
+
attr_accessor :availableStartTime # 0-1 time
|
63
|
+
attr_accessor :availableEndTime # 0-1 time
|
64
|
+
end
|
65
|
+
|
66
|
+
class Notavailable < FHIR::Model
|
67
|
+
include FHIR::Hashable
|
68
|
+
include FHIR::Json
|
69
|
+
include FHIR::Xml
|
70
|
+
|
71
|
+
METADATA = {
|
72
|
+
'id' => {'type'=>'id', 'path'=>'Notavailable.id', 'min'=>0, 'max'=>1},
|
73
|
+
'extension' => {'type'=>'Extension', 'path'=>'Notavailable.extension', 'min'=>0, 'max'=>Float::INFINITY},
|
74
|
+
'modifierExtension' => {'type'=>'Extension', 'path'=>'Notavailable.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
|
75
|
+
'description' => {'type'=>'string', 'path'=>'Notavailable.description', 'min'=>1, 'max'=>1},
|
76
|
+
'during' => {'type'=>'Period', 'path'=>'Notavailable.during', 'min'=>0, 'max'=>1}
|
77
|
+
}
|
78
|
+
|
79
|
+
attr_accessor :id # 0-1 id
|
80
|
+
attr_accessor :extension # 0-* [ Extension ]
|
81
|
+
attr_accessor :modifierExtension # 0-* [ Extension ]
|
82
|
+
attr_accessor :description # 1-1 string
|
83
|
+
attr_accessor :during # 0-1 Period
|
84
|
+
end
|
85
|
+
|
86
|
+
attr_accessor :id # 0-1 id
|
87
|
+
attr_accessor :meta # 0-1 Meta
|
88
|
+
attr_accessor :implicitRules # 0-1 uri
|
89
|
+
attr_accessor :language # 0-1 code
|
90
|
+
attr_accessor :text # 0-1 Narrative
|
91
|
+
attr_accessor :contained # 0-* [ Resource ]
|
92
|
+
attr_accessor :extension # 0-* [ Extension ]
|
93
|
+
attr_accessor :modifierExtension # 0-* [ Extension ]
|
94
|
+
attr_accessor :identifier # 0-* [ Identifier ]
|
95
|
+
attr_accessor :providedBy # 0-1 Reference(Organization)
|
96
|
+
attr_accessor :serviceCategory # 0-1 CodeableConcept
|
97
|
+
attr_accessor :serviceType # 0-* [ CodeableConcept ]
|
98
|
+
attr_accessor :specialty # 0-* [ CodeableConcept ]
|
99
|
+
attr_accessor :location # 0-* [ Reference(Location) ]
|
100
|
+
attr_accessor :serviceName # 0-1 string
|
101
|
+
attr_accessor :comment # 0-1 string
|
102
|
+
attr_accessor :extraDetails # 0-1 string
|
103
|
+
attr_accessor :photo # 0-1 Attachment
|
104
|
+
attr_accessor :telecom # 0-* [ ContactPoint ]
|
105
|
+
attr_accessor :coverageArea # 0-* [ Reference(Location) ]
|
106
|
+
attr_accessor :serviceProvisionCode # 0-* [ CodeableConcept ]
|
107
|
+
attr_accessor :eligibility # 0-1 CodeableConcept
|
108
|
+
attr_accessor :eligibilityNote # 0-1 string
|
109
|
+
attr_accessor :programName # 0-* [ string ]
|
110
|
+
attr_accessor :characteristic # 0-* [ CodeableConcept ]
|
111
|
+
attr_accessor :referralMethod # 0-* [ CodeableConcept ]
|
112
|
+
attr_accessor :publicKey # 0-1 string
|
113
|
+
attr_accessor :appointmentRequired # 0-1 boolean
|
114
|
+
attr_accessor :availableTime # 0-* [ HealthcareService::Availabletime ]
|
115
|
+
attr_accessor :notAvailable # 0-* [ HealthcareService::Notavailable ]
|
116
|
+
attr_accessor :availabilityExceptions # 0-1 string
|
117
|
+
|
118
|
+
def resourceType
|
119
|
+
'HealthcareService'
|
120
|
+
end
|
121
|
+
end
|
122
|
+
end
|