Class: FHIR::Patient

Inherits:
Model
  • Object
show all
Includes:
Hashable, Json, Xml
Defined in:
lib/fhir/resources/Patient.rb

Defined Under Namespace

Classes: Animal, Communication, Contact, Link

Constant Summary collapse

MULTIPLE_TYPES =
{
  'deceased' => ['boolean', 'dateTime'],
  'multipleBirth' => ['boolean', 'integer']
}
SEARCH_PARAMS =
["active", "address", "address-city", "address-country", "address-postalcode", "address-state", "address-use", "animal-breed", "animal-species", "birthdate", "death-date", "deceased", "email", "family", "gender", "general-practitioner", "given", "identifier", "language", "link", "name", "organization", "phone", "phonetic", "telecom"]
METADATA =
{
  'id' => {'type'=>'id', 'path'=>'Patient.id', 'min'=>0, 'max'=>1},
  'meta' => {'type'=>'Meta', 'path'=>'Patient.meta', 'min'=>0, 'max'=>1},
  'implicitRules' => {'type'=>'uri', 'path'=>'Patient.implicitRules', 'min'=>0, 'max'=>1},
  'language' => {'type'=>'code', 'path'=>'Patient.language', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'extensible', 'uri'=>'http://hl7.org/fhir/ValueSet/languages'}},
  'text' => {'type'=>'Narrative', 'path'=>'Patient.text', 'min'=>0, 'max'=>1},
  'contained' => {'type'=>'Resource', 'path'=>'Patient.contained', 'min'=>0, 'max'=>Float::INFINITY},
  'extension' => {'type'=>'Extension', 'path'=>'Patient.extension', 'min'=>0, 'max'=>Float::INFINITY},
  'modifierExtension' => {'type'=>'Extension', 'path'=>'Patient.modifierExtension', 'min'=>0, 'max'=>Float::INFINITY},
  'identifier' => {'type'=>'Identifier', 'path'=>'Patient.identifier', 'min'=>0, 'max'=>Float::INFINITY},
  'active' => {'type'=>'boolean', 'path'=>'Patient.active', 'min'=>0, 'max'=>1},
  'name' => {'type'=>'HumanName', 'path'=>'Patient.name', 'min'=>0, 'max'=>Float::INFINITY},
  'telecom' => {'type'=>'ContactPoint', 'path'=>'Patient.telecom', 'min'=>0, 'max'=>Float::INFINITY},
  'gender' => {'valid_codes'=>{'http://hl7.org/fhir/administrative-gender'=>['male', 'female', 'other', 'unknown', 'male', 'female', 'other', 'unknown']}, 'type'=>'code', 'path'=>'Patient.gender', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/administrative-gender'}},
  'birthDate' => {'type'=>'date', 'path'=>'Patient.birthDate', 'min'=>0, 'max'=>1},
  'deceasedBoolean' => {'type'=>'boolean', 'path'=>'Patient.deceased[x]', 'min'=>0, 'max'=>1},
  'deceasedDateTime' => {'type'=>'dateTime', 'path'=>'Patient.deceased[x]', 'min'=>0, 'max'=>1},
  'address' => {'type'=>'Address', 'path'=>'Patient.address', 'min'=>0, 'max'=>Float::INFINITY},
  'maritalStatus' => {'valid_codes'=>{'http://hl7.org/fhir/v3/MaritalStatus'=>['A', 'D', 'I', 'L', 'M', 'P', 'S', 'T', 'U', 'W'], 'http://hl7.org/fhir/v3/NullFlavor'=>['UNK']}, 'type'=>'CodeableConcept', 'path'=>'Patient.maritalStatus', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/marital-status'}},
  'multipleBirthBoolean' => {'type'=>'boolean', 'path'=>'Patient.multipleBirth[x]', 'min'=>0, 'max'=>1},
  'multipleBirthInteger' => {'type'=>'integer', 'path'=>'Patient.multipleBirth[x]', 'min'=>0, 'max'=>1},
  'photo' => {'type'=>'Attachment', 'path'=>'Patient.photo', 'min'=>0, 'max'=>Float::INFINITY},
  'contact' => {'type'=>'Patient::Contact', 'path'=>'Patient.contact', 'min'=>0, 'max'=>Float::INFINITY},
  'animal' => {'type'=>'Patient::Animal', 'path'=>'Patient.animal', 'min'=>0, 'max'=>1},
  'communication' => {'type'=>'Patient::Communication', 'path'=>'Patient.communication', 'min'=>0, 'max'=>Float::INFINITY},
  'generalPractitioner' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Organization', 'http://hl7.org/fhir/StructureDefinition/Practitioner'], 'type'=>'Reference', 'path'=>'Patient.generalPractitioner', 'min'=>0, 'max'=>Float::INFINITY},
  'managingOrganization' => {'type_profiles'=>['http://hl7.org/fhir/StructureDefinition/Organization'], 'type'=>'Reference', 'path'=>'Patient.managingOrganization', 'min'=>0, 'max'=>1},
  'link' => {'type'=>'Patient::Link', 'path'=>'Patient.link', 'min'=>0, 'max'=>Float::INFINITY}
}

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Xml

from_xml, is_valid?, #to_xml, validate

Methods included from Json

from_json, #to_json

Methods included from Hashable

#from_hash, #to_hash

Methods inherited from Model

#attribute_mismatch, #compare_attribute, #equals?, #initialize, #is_valid?, #method_missing, #mismatch, #to_reference, #validate, #validate_profile

Constructor Details

This class inherits a constructor from FHIR::Model

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class FHIR::Model

Instance Attribute Details

#activeObject

0-1 boolean



143
144
145
# File 'lib/fhir/resources/Patient.rb', line 143

def active
  @active
end

#addressObject

0-* [ Address ]



150
151
152
# File 'lib/fhir/resources/Patient.rb', line 150

def address
  @address
end

#animalObject

0-1 Patient::Animal



156
157
158
# File 'lib/fhir/resources/Patient.rb', line 156

def animal
  @animal
end

#birthDateObject

0-1 date



147
148
149
# File 'lib/fhir/resources/Patient.rb', line 147

def birthDate
  @birthDate
end

#communicationObject

0-* [ Patient::Communication ]



157
158
159
# File 'lib/fhir/resources/Patient.rb', line 157

def communication
  @communication
end

#contactObject

0-* [ Patient::Contact ]



155
156
157
# File 'lib/fhir/resources/Patient.rb', line 155

def contact
  @contact
end

#containedObject

0-* [ Resource ]



139
140
141
# File 'lib/fhir/resources/Patient.rb', line 139

def contained
  @contained
end

#deceasedBooleanObject

0-1 boolean



148
149
150
# File 'lib/fhir/resources/Patient.rb', line 148

def deceasedBoolean
  @deceasedBoolean
end

#deceasedDateTimeObject

0-1 dateTime



149
150
151
# File 'lib/fhir/resources/Patient.rb', line 149

def deceasedDateTime
  @deceasedDateTime
end

#extensionObject

0-* [ Extension ]



140
141
142
# File 'lib/fhir/resources/Patient.rb', line 140

def extension
  @extension
end

#genderObject

0-1 code



146
147
148
# File 'lib/fhir/resources/Patient.rb', line 146

def gender
  @gender
end

#generalPractitionerObject

0-* [ Reference(Organization|Practitioner) ]



158
159
160
# File 'lib/fhir/resources/Patient.rb', line 158

def generalPractitioner
  @generalPractitioner
end

#idObject

0-1 id



134
135
136
# File 'lib/fhir/resources/Patient.rb', line 134

def id
  @id
end

#identifierObject

0-* [ Identifier ]



142
143
144
# File 'lib/fhir/resources/Patient.rb', line 142

def identifier
  @identifier
end

#implicitRulesObject

0-1 uri



136
137
138
# File 'lib/fhir/resources/Patient.rb', line 136

def implicitRules
  @implicitRules
end

#languageObject

0-1 code



137
138
139
# File 'lib/fhir/resources/Patient.rb', line 137

def language
  @language
end

0-* [ Patient::Link ]



160
161
162
# File 'lib/fhir/resources/Patient.rb', line 160

def link
  @link
end

#managingOrganizationObject

0-1 Reference(Organization)



159
160
161
# File 'lib/fhir/resources/Patient.rb', line 159

def managingOrganization
  @managingOrganization
end

#maritalStatusObject

0-1 CodeableConcept



151
152
153
# File 'lib/fhir/resources/Patient.rb', line 151

def maritalStatus
  @maritalStatus
end

#metaObject

0-1 Meta



135
136
137
# File 'lib/fhir/resources/Patient.rb', line 135

def meta
  @meta
end

#modifierExtensionObject

0-* [ Extension ]



141
142
143
# File 'lib/fhir/resources/Patient.rb', line 141

def modifierExtension
  @modifierExtension
end

#multipleBirthBooleanObject

0-1 boolean



152
153
154
# File 'lib/fhir/resources/Patient.rb', line 152

def multipleBirthBoolean
  @multipleBirthBoolean
end

#multipleBirthIntegerObject

0-1 integer



153
154
155
# File 'lib/fhir/resources/Patient.rb', line 153

def multipleBirthInteger
  @multipleBirthInteger
end

#nameObject

0-* [ HumanName ]



144
145
146
# File 'lib/fhir/resources/Patient.rb', line 144

def name
  @name
end

#photoObject

0-* [ Attachment ]



154
155
156
# File 'lib/fhir/resources/Patient.rb', line 154

def photo
  @photo
end

#telecomObject

0-* [ ContactPoint ]



145
146
147
# File 'lib/fhir/resources/Patient.rb', line 145

def telecom
  @telecom
end

#textObject

0-1 Narrative



138
139
140
# File 'lib/fhir/resources/Patient.rb', line 138

def text
  @text
end

Instance Method Details

#resourceTypeObject



162
163
164
# File 'lib/fhir/resources/Patient.rb', line 162

def resourceType
  'Patient'
end