"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Patient = void 0;
/**
 * This entity is a root level object. It represents a patient It is serialized in JSON and saved in the underlying icure-patient CouchDB database.
 */
const ModelHelper_1 = require("./ModelHelper");
class Patient {
    constructor(json) {
        let pictureData = {};
        if (!!(json === null || json === void 0 ? void 0 : json.picture)) {
            pictureData.picture = (0, ModelHelper_1.decodeStringOrArrayBuffer)(json.picture);
        }
        Object.assign(this, json, pictureData);
    }
}
exports.Patient = Patient;
(function (Patient) {
    Patient.GenderEnum = {
        Male: 'male',
        Female: 'female',
        Indeterminate: 'indeterminate',
        Changed: 'changed',
        ChangedToMale: 'changedToMale',
        ChangedToFemale: 'changedToFemale',
        Unknown: 'unknown',
    };
    Patient.BirthSexEnum = {
        Male: 'male',
        Female: 'female',
        Indeterminate: 'indeterminate',
        Changed: 'changed',
        ChangedToMale: 'changedToMale',
        ChangedToFemale: 'changedToFemale',
        Unknown: 'unknown',
    };
    Patient.DeactivationReasonEnum = {
        Deceased: 'deceased',
        Moved: 'moved',
        OtherDoctor: 'other_doctor',
        LeftStructure: 'left_structure',
        Retired: 'retired',
        NoContact: 'no_contact',
        Unknown: 'unknown',
        None: 'none',
    };
    Patient.PersonalStatusEnum = {
        Single: 'single',
        InCouple: 'in_couple',
        Married: 'married',
        Separated: 'separated',
        Divorced: 'divorced',
        Divorcing: 'divorcing',
        Widowed: 'widowed',
        Widower: 'widower',
        Complicated: 'complicated',
        Unknown: 'unknown',
        Contract: 'contract',
        Other: 'other',
        Annulled: 'annulled',
        Polygamous: 'polygamous',
    };
})(Patient || (exports.Patient = Patient = {}));
//# sourceMappingURL=Patient.js.map