Class: FHIR::Patient

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

Defined Under Namespace

Classes: 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', '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' => {'valid_codes'=>{'urn:ietf:bcp:47'=>['ar', 'bn', 'cs', 'da', 'de', 'de-AT', 'de-CH', 'de-DE', 'el', 'en', 'en-AU', 'en-CA', 'en-GB', 'en-IN', 'en-NZ', 'en-SG', 'en-US', 'es', 'es-AR', 'es-ES', 'es-UY', 'fi', 'fr', 'fr-BE', 'fr-CH', 'fr-FR', 'fy', 'fy-NL', 'hi', 'hr', 'it', 'it-CH', 'it-IT', 'ja', 'ko', 'nl', 'nl-BE', 'nl-NL', 'no', 'no-NO', 'pa', 'pl', 'pt', 'pt-BR', 'ru', 'ru-RU', 'sr', 'sr-RS', 'sv', 'sv-SE', 'te', 'zh', 'zh-CN', 'zh-HK', 'zh-SG', 'zh-TW']}, 'type'=>'code', 'path'=>'Patient.language', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'preferred', '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']}, 'type'=>'code', 'path'=>'Patient.gender', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'required', 'uri'=>'http://hl7.org/fhir/ValueSet/administrative-gender|4.0.0'}},
  '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://terminology.hl7.org/CodeSystem/v3-MaritalStatus'=>['A', 'D', 'I', 'L', 'M', 'P', 'S', 'T', 'U', 'W'], 'http://terminology.hl7.org/CodeSystem/v3-NullFlavor'=>['UNK']}, 'type'=>'CodeableConcept', 'path'=>'Patient.maritalStatus', 'min'=>0, 'max'=>1, 'binding'=>{'strength'=>'extensible', '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},
  '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', 'http://hl7.org/fhir/StructureDefinition/PractitionerRole'], '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, #to_xml, valid?, validate

Methods included from Deprecate

#deprecate

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?, #hash, #initialize, #method_missing, #mismatch, #primitive?, #to_reference, #valid?, #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



120
121
122
# File 'lib/fhir_models/fhir/resources/Patient.rb', line 120

def active
  @active
end

#addressObject

0-* [ Address ]



127
128
129
# File 'lib/fhir_models/fhir/resources/Patient.rb', line 127

def address
  @address
end

#birthDateObject

0-1 date



124
125
126
# File 'lib/fhir_models/fhir/resources/Patient.rb', line 124

def birthDate
  @birthDate
end

#communicationObject

0-* [ Patient::Communication ]



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

def communication
  @communication
end

#contactObject

0-* [ Patient::Contact ]



132
133
134
# File 'lib/fhir_models/fhir/resources/Patient.rb', line 132

def contact
  @contact
end

#containedObject

0-* [ Resource ]



116
117
118
# File 'lib/fhir_models/fhir/resources/Patient.rb', line 116

def contained
  @contained
end

#deceasedBooleanObject

0-1 boolean



125
126
127
# File 'lib/fhir_models/fhir/resources/Patient.rb', line 125

def deceasedBoolean
  @deceasedBoolean
end

#deceasedDateTimeObject

0-1 dateTime



126
127
128
# File 'lib/fhir_models/fhir/resources/Patient.rb', line 126

def deceasedDateTime
  @deceasedDateTime
end

#extensionObject

0-* [ Extension ]



117
118
119
# File 'lib/fhir_models/fhir/resources/Patient.rb', line 117

def extension
  @extension
end

#genderObject

0-1 code



123
124
125
# File 'lib/fhir_models/fhir/resources/Patient.rb', line 123

def gender
  @gender
end

#generalPractitionerObject

0-* [ Reference(Organization|Practitioner|PractitionerRole) ]



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

def generalPractitioner
  @generalPractitioner
end

#idObject

0-1 id



111
112
113
# File 'lib/fhir_models/fhir/resources/Patient.rb', line 111

def id
  @id
end

#identifierObject

0-* [ Identifier ]



119
120
121
# File 'lib/fhir_models/fhir/resources/Patient.rb', line 119

def identifier
  @identifier
end

#implicitRulesObject

0-1 uri



113
114
115
# File 'lib/fhir_models/fhir/resources/Patient.rb', line 113

def implicitRules
  @implicitRules
end

#languageObject

0-1 code



114
115
116
# File 'lib/fhir_models/fhir/resources/Patient.rb', line 114

def language
  @language
end

0-* [ Patient::Link ]



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

def link
  @link
end

#managingOrganizationObject

0-1 Reference(Organization)



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

def managingOrganization
  @managingOrganization
end

#maritalStatusObject

0-1 CodeableConcept



128
129
130
# File 'lib/fhir_models/fhir/resources/Patient.rb', line 128

def maritalStatus
  @maritalStatus
end

#metaObject

0-1 Meta



112
113
114
# File 'lib/fhir_models/fhir/resources/Patient.rb', line 112

def meta
  @meta
end

#modifierExtensionObject

0-* [ Extension ]



118
119
120
# File 'lib/fhir_models/fhir/resources/Patient.rb', line 118

def modifierExtension
  @modifierExtension
end

#multipleBirthBooleanObject

0-1 boolean



129
130
131
# File 'lib/fhir_models/fhir/resources/Patient.rb', line 129

def multipleBirthBoolean
  @multipleBirthBoolean
end

#multipleBirthIntegerObject

0-1 integer



130
131
132
# File 'lib/fhir_models/fhir/resources/Patient.rb', line 130

def multipleBirthInteger
  @multipleBirthInteger
end

#nameObject

0-* [ HumanName ]



121
122
123
# File 'lib/fhir_models/fhir/resources/Patient.rb', line 121

def name
  @name
end

#photoObject

0-* [ Attachment ]



131
132
133
# File 'lib/fhir_models/fhir/resources/Patient.rb', line 131

def photo
  @photo
end

#telecomObject

0-* [ ContactPoint ]



122
123
124
# File 'lib/fhir_models/fhir/resources/Patient.rb', line 122

def telecom
  @telecom
end

#textObject

0-1 Narrative



115
116
117
# File 'lib/fhir_models/fhir/resources/Patient.rb', line 115

def text
  @text
end

Instance Method Details

#resourceTypeObject



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

def resourceType
  'Patient'
end