Patient class

Implemented types
Available Extensions


Patient({String? id, String? rev, List<Identifier> identifiers = const [], int? created, int? modified, String? author, String? responsible, Set<CodingReference> labels = const {}, Set<CodingReference> codes = const {}, int? endOfLife, int? deletionDate, String? firstName, String? lastName, List<PersonName> names = const [], String? companyName, List<String> languages = const [], List<Address> addresses = const [], String? civility, PatientGenderEnum? gender, PatientBirthSexEnum? birthSex, String? mergeToPatientId, Set<String> mergedIds = const {}, String? alias, bool active = true, PatientDeactivationReasonEnum deactivationReason = const PatientDeactivationReasonEnum._('DeactivationReason.none'), String? ssin, String? maidenName, String? spouseName, String? partnerName, PatientPersonalStatusEnum? personalStatus, int? dateOfBirth, int? dateOfDeath, String? placeOfBirth, String? placeOfDeath, bool? deceased, String? education, String? profession, String? note, String? administrativeNote, String? nationality, String? race, String? ethnicity, String? picture, String? externalId, List<Partnership> partnerships = const [], List<PatientHealthCareParty> patientHealthCareParties = const [], List<CodingReference> patientProfessions = const [], Map<String, List<String>> parameters = const {}, Set<Property> properties = const {}, SystemMetaDataOwnerEncrypted? systemMetaData})
Returns a new Patient instance.


active bool
Is the patient active (boolean).
read / writeoverride
addresses List<Address>
the list of addresses (with address type).
read / writeoverride
administrativeNote String?
An administrative note, not confidential.
read / writeoverride
alias String?
An alias of the person, nickname, ...
read / writeoverride
author String?
The id of the User that created this patient. When creating the patient, this field will be filled automatically by the current user id if not provided.
read / writeoverride
birthSex PatientBirthSexEnum?
the birth sex of the patient: male, female, indeterminate, unknown
read / writeoverride
civility String?
Mr., Ms., Pr., Dr. ...
read / writeoverride
codes Set<CodingReference>
A code is an item from a codification system that qualifies the content of this patient.
read / writeoverride
companyName String?
the name of the company this patient is member of.
read / writeoverride
created int?
the creation date of the patient (encoded as epoch).
read / writeoverride
dateOfBirth int?
The birthdate encoded as a fuzzy date on 8 positions (YYYYMMDD) MM and/or DD can be set to 00 if unknown (19740000 is a valid date).
read / writeoverride
dateOfDeath int?
The date of death encoded as a fuzzy date on 8 positions (YYYYMMDD) MM and/or DD can be set to 00 if unknown (19740000 is a valid date).
read / writeoverride
deactivationReason PatientDeactivationReasonEnum
When not active, the reason for deactivation.
read / writeoverride
deceased bool?
Is the patient deceased.
read / writeoverride
deletionDate int?
the soft delete timestamp. When a patient is ”deleted“, this is set to a non null value: the moment of the deletion
read / writeoverride
education String?
The level of education (college degree, undergraduate, phd).
read / writeoverride
endOfLife int?
Soft delete (unix epoch in ms) timestamp of the patient
read / writeoverride
ethnicity String?
The ethnicity of the patient.
read / writeoverride
externalId String?
An external (from another source) id with no guarantee or requirement for unicity .
read / writeoverride
firstName String?
the firstname (name) of the patient.
read / writeoverride
gender PatientGenderEnum?
the gender of the patient: male, female, indeterminate, changed, changedToMale, changedToFemale, unknown
read / writeoverride
hashCode int
The hash code for this object.
id String?
the Id of the patient. We encourage using either a v4 UUID or a HL7 Id.
read / writeoverride
identifiers List<Identifier>
Typically used for business / client identifiers. An identifier should identify a patient uniquely and unambiguously. However, iCure can't guarantee the uniqueness of those identifiers : This is something you need to take care of.
read / writeoverride
labels Set<CodingReference>
A label is an item from a codification system that qualifies a patient as being member of a certain class, whatever the value it might have taken. If the label qualifies the content of a field, it means that whatever the content of the field, the label will always apply. LOINC is a codification system typically used for labels.
read / writeoverride
languages List<String>
the list of languages spoken by the patient ordered by fluency (alpha-2 code
read / writeoverride
lastName String?
the lastname (surname) of the patient. This is the official lastname that should be used for official administrative purposes.
read / writeoverride
maidenName String?
Lastname at birth (can be different of the current name), depending on the country, must be used to design the patient .
read / writeoverride
mergedIds Set<String>
The ids of the patients that have been merged inside this patient.
read / writeoverride
mergeToPatientId String?
The id of the patient this patient has been merged with.
read / writeoverride
modified int?
the last modification date of the patient (encoded as epoch).
read / writeoverride
names List<PersonName>
the list of all names of the patient, also containing the official full name information. Ordered by preference of use. First element is therefore the official name used for the patient in the application
read / writeoverride
nationality String?
The nationality of the patient.
read / writeoverride
note String?
A text note (can be confidential, encrypted by default).
read / writeoverride
parameters Map<String, List<String>>
Extra parameters
read / writeoverride-getter
partnerName String?
Lastname of the partner, should not be used to design the patient.
read / writeoverride
partnerships List<Partnership>
List of partners, or persons of contact (of class Partnership, see below).
read / writeoverride
patientHealthCareParties List<PatientHealthCareParty>
Links (usually for therapeutic reasons) between this patient and healthcare parties (of class PatientHealthcareParty).
read / writeoverride
patientProfessions List<CodingReference>
Codified list of professions exercised by this patient.
read / writeoverride
personalStatus PatientPersonalStatusEnum?
any of single, in_couple, married, separated, divorced, divorcing, widowed, widower, complicated, unknown, contract, other.
read / writeoverride
picture String?
A picture usually saved in JPEG format.
read / writeoverride
placeOfBirth String?
The place of birth.
read / writeoverride
placeOfDeath String?
The place of death.
read / writeoverride
profession String?
The current professional activity.
read / writeoverride
properties Set<Property>
Extra properties
read / writeoverride
race String?
The race of the patient.
read / writeoverride
responsible String?
The id of the data owner that is responsible of this patient. When creating the patient, will be filled automatically by the current user data owner id (HealthcareProfessional, Patient or MedicalDevice) if missing
read / writeoverride
rev String?
the revision of the patient in the database, used for conflict management / optimistic locking.
read / writeoverride
runtimeType Type
A representation of the runtime type of the object.
spouseName String?
Lastname of the spouse for a married woman, depending on the country, can be used to design the patient.
read / writeoverride
ssin String?
Social security inscription number.
read / writeoverride
systemMetaData SystemMetaDataOwnerEncrypted?
Please note: This property should have been non-nullable! Since the specification file does not include a default value (using the "default:" property), however, the generated source code must fall back to having a nullable type. Consider adding a "default:" property in the specification file to hide this note.
read / writeoverride


noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
toJson() Map<String, dynamic>
toString() String
A string representation of this object.


operator ==(Object other) bool
The equality operator.

Static Methods

fromJson(dynamic value) Patient?
Returns a new Patient instance and imports its values from value if it's a Map, null otherwise.
listFromJson(dynamic json, {bool growable = false}) List<Patient>?
mapFromJson(dynamic json) Map<String, Patient>
mapListFromJson(dynamic json, {bool growable = false}) Map<String, List<Patient>>


requiredKeys → const Set<String>
The list of required keys that must be present in a JSON.
<String>{'identifiers', 'labels', 'codes', 'names', 'languages', 'addresses', 'mergedIds', 'active', 'deactivationReason',…