@persei/perseed-api 5.0.24 → 5.0.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client.cjs.map +1 -1
- package/dist/client.mjs.map +1 -1
- package/dist/ecosystem-process-log.cjs +0 -25
- package/dist/ecosystem-process-log.cjs.map +1 -1
- package/dist/ecosystem-process-log.mjs +0 -25
- package/dist/ecosystem-process-log.mjs.map +1 -1
- package/dist/lib/src/generated/client.d.ts +0 -20
- package/dist/lib/src/generated/client.d.ts.map +1 -1
- package/dist/src/Services/ProcessLogService.d.ts.map +1 -1
- package/dist/src/schemas/process_log/create_process_log_payload.schema.json +0 -8
- package/dist/src/schemas/process_log/types.d.ts +0 -11
- package/dist/src/schemas/process_log/types.d.ts.map +1 -1
- package/dist/src/v2/modules/ecosystem/action-system/action-system.service/trigger-engine.service.d.ts +0 -9
- package/dist/src/v2/modules/ecosystem/action-system/action-system.service/trigger-engine.service.d.ts.map +1 -1
- package/dist/src/v2/modules/ecosystem/process-log/process-log.model.d.ts +0 -20
- package/dist/src/v2/modules/ecosystem/process-log/process-log.model.d.ts.map +1 -1
- package/dist/src/v2/modules/ecosystem/process-log/process-log.schema.d.ts +0 -4
- package/dist/src/v2/modules/ecosystem/process-log/process-log.schema.d.ts.map +1 -1
- package/dist/src/v2/modules/ecosystem/process-log/process-log.service.d.ts.map +1 -1
- package/dist/v1/perseed-api.cjs.map +1 -1
- package/dist/v1/perseed-api.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"perseed-api.cjs","sources":["../../../src/constants/datesFormats.ts","../../../src/constants/Exporter.ts","../../../src/constants/Forms.ts","../../../src/constants/NotifiedTypes.ts","../../../src/constants/PhoneCodes.ts","../../../src/constants/Questionnaire.ts","../../../src/constants/Role.ts","../../../src/constants/SeedPrivilege.ts","../../../src/constants/UserProfile.ts","../../../src/constants/View.ts","../../../src/schemas/container_widget/types.ts","../../../src/schemas/container_widget/widgetTypes/PatientListProps.ts","../../../src/schemas/container_widget/widgetTypes/presentationWidgetTypes/IconTextPresentationWidget.ts","../../../src/schemas/container_widget/widgetTypes/presentationWidgetTypes/LinkPresentationWidget.ts","../../../src/schemas/container_widget/widgetTypes/ModalProps.ts","../../../src/schemas/container_widget/widgetTypes/SidebarProps.ts","../../../src/schemas/notification_configuration/types.ts","../../../src/schemas/notification_configuration/NotifiedAboutInfo.ts","../../../src/schemas/questionnaire/types.ts","../../../src/schemas/process_log/types.ts","../../../src/schemas/bulk_upload/types.ts"],"sourcesContent":["export const DATE_FORMAT = 'YYYY-MM-DD'\nexport const TIME_FORMAT = 'HH:mm:ss'\nexport const SHORT_TIME_FORMAT = 'HH:mm'\nexport const DATETIME_SHORT_FORMAT = 'YYYY-MM-DD HH:mm'\nexport const MYSQL_DATE_FORMAT = DATE_FORMAT\nexport const MYSQL_DATETIME_FORMAT = 'YYYY-MM-DD HH:mm:ss'\n","export const Exporter = {\n PENDING: 'IN_PROGRESS',\n ERROR: 'ERROR',\n SUCCESS: 'COMPLETED',\n AVAILABLE_FORMATS: {\n xls: 0,\n csv: 2,\n spss: 1,\n },\n}\n\nexport default Exporter\n","/**\n * Form constants\n */\nimport { DATE_FORMAT } from './datesFormats'\n\nexport const FIELDS = {\n DECIMAL: 1,\n INTEGER: 2,\n MULTIPLE_SELECTION: 3,\n SELECTION: 4,\n DYNAMIC_SELECTION: 5,\n DATE: 6,\n HEADER: 7,\n SUBHEADER: 8,\n WARNING: 9,\n SUBFORM: 10,\n MEMO: 11,\n TEXT: 12,\n TEXT_AREA: 13,\n YES_NO: 14,\n TIME: 15,\n LINK_HREF: 16,\n COUNTRY: 17,\n HOSPITAL: 18,\n USERS: 19,\n DYNAMIC_FILE: 20,\n DYNAMIC_LINK_HREF: 21,\n SCAN_CODE: 22,\n PARAGRAPH: 23,\n FILE: 24,\n}\n\nexport const FIELD_NAMES = {\n DECIMAL_NAME: 'decimal',\n INTEGER_NAME: 'integer',\n MULTIPLE_SELECTION_NAME: 'multiple_selection',\n SELECTION_NAME: 'selection',\n DYNAMIC_SELECTION_NAME: 'dynamic_selection',\n DATE_NAME: 'date',\n HEADER_NAME: 'header',\n SUBHEADER_NAME: 'subheader',\n WARNING_NAME: 'warning',\n SUBFORM_NAME: 'subform',\n MEMO_NAME: 'memo',\n TEXT_NAME: 'text',\n TEXT_AREA_NAME: 'text_area',\n YES_NO_NAME: 'yes_no',\n TIME_NAME: 'time',\n LINK_HREF_NAME: 'link_href',\n COUNTRY_NAME: 'country',\n HOSPITAL_NAME: 'hospital',\n USERS_NAME: 'users',\n DYNAMIC_FILE_NAME: 'dynamic_file',\n DYNAMIC_LINK_HREF_NAME: 'dynamic_link_href',\n SCAN_CODE_NAME: 'scan_code',\n PARAGRAPH_NAME: 'paragraph',\n FILE_NAME: 'file',\n}\n\nexport enum FORM_TYPES {\n STATIC = 0, // Used in perseed-js for static defined forms\n STANDARD = 1,\n FOLLOW_UP = 2,\n ADVERSE_EVENT = 3,\n QUESTIONNAIRE = 5,\n STUDY = 6,\n}\n\nexport const FIELD_NAMES_MAP = () => {\n let fieldTypeNames = {}\n\n // Mapping fields to { field_value : field_name }\n Object.keys(FIELDS).forEach((key) => {\n fieldTypeNames = {\n ...fieldTypeNames,\n [FIELDS[key]]: FIELD_NAMES[`${key}_NAME`],\n }\n })\n return fieldTypeNames\n}\n\nexport const NUMBER_TYPE = ['number', FIELD_NAMES.DECIMAL_NAME, FIELD_NAMES.INTEGER_NAME]\n\nexport const DATE_TYPE = ['date']\n\nexport const OBJECT_TYPE = ['object', FIELD_NAMES.SCAN_CODE_NAME]\n\nexport const CORE = {\n CREATION_TIME: 'creation_time',\n CREATION_USER: 'creation_user',\n CRF_NAME: 'crf_name',\n CRF_STATUS: 'crf_status',\n HOSPITAL: 'hospital',\n HOSPITAL_STATUS: 'hospital_status',\n ID: 'id',\n LOCK_STATE: 'lock_state',\n LOCK_USER: 'lock_user',\n LOCK_DATE: 'lock_date',\n MODIFICATION_TIME: 'mod_time',\n MODIFICATION_USER: 'mod_user',\n PATIENT_ID: 'patient_id',\n PATIENT_NUMBER: 'patient_number',\n PATIENT_NUMBER_STATUS: 'patient_number_status',\n RECORD_ID: 'record_id',\n SIGNATURE_DATE: 'signature_date',\n SIGNATURE_STATE: 'signature_state',\n SIGNATURE_USER: 'signature_user',\n STATUS: 'status',\n USER_IP: 'user_ip',\n DATE_OF_QUESTIONNAIRE: 'date_of_questionnaire',\n TIME_OF_QUESTIONNAIRE: 'time_of_questionnaire',\n VERSION: 'version',\n REFERENCE: 'reference',\n SUBFORM_ID: 'subform_id',\n}\n\nexport const EXCLUDE_FIELDS = Object.values(CORE)\n\nexport const AUDIT_FLAGS = {\n added: 'A',\n edited: 'E',\n deleted: 'D',\n}\nexport const FORM_NAMES = {\n PATIENT: 'patient',\n SEPARATOR: '_',\n}\nexport const FORM_SUFFIX = {\n AUDIT: 'audit',\n}\n\nexport const MULTIPLE_SELECTION_SEPARATOR = '~'\n/**\n * @deprecated Use STATUS_SUFFIX instead\n * @type {string}\n */\nexport const FIELD_SUFFIX = '_status'\nexport const STATUS_SUFFIX = '_status'\nexport const FIELD_STATUS = {\n filled: 'filled',\n unk: 'UNK',\n na: 'NA',\n nd: 'ND',\n}\n\n// fieldName.endsWidth(STATUS_SUFFIX) is not valid as status field tester because fields like crf_status\nexport const STATUS_FIELD_REGEXP = /^[0-9a-f]{33}_status$/\nexport const isNotStatusField = function (fieldName) {\n return !STATUS_FIELD_REGEXP.test(fieldName)\n}\n\nexport const NO_FILL_STATUS = ['UNK', 'NA', 'ND']\n\nexport const TIME_SCHEMA = '^[0-1][0-9]:[0-5][0-9]$|^[0-2][0-3]:[0-5][0-9]$' // HH:mm\n\nexport const META_NAMES = {\n DEPENDENT_SOURCE: 'dependent_source',\n ENCRYPTED: 'encrypted',\n ENCRYPTED_LEVEL: 'encrypted_level',\n EXTERNAL_SHARING: 'external_sharing',\n SHOW_EMBEDDED_PDF: 'show_embedded_pdf',\n HIDDEN: 'hidden',\n IS_CRF_MAIN_FIELD: 'is_crf_main_field',\n MIN_VALUE: 'min-value',\n MIN_VALUE_VALIDATION: 'validation_of_less_than',\n MAX_VALUE: 'max-value',\n MAX_VALUE_VALIDATION: 'validation_of_higher_than',\n NEXT_FORM: 'next_form',\n MULTIPLE: 'is_multiple',\n ORDER: 'order',\n READ_ONLY: 'readonly',\n REQUIRED: 'is_required',\n REQUIRED_TYPE: 'type_of_required',\n SELECTION_VALUE: 'value_of_selection',\n SELECTION_VALUE_SLIDER: 'value_of_selection_slider',\n SOURCE_FIELD: 'source_field',\n TYPE: 'type',\n TYPE_QUESTIONARY: 'questionary',\n QUESTION_DAYS: 'question_days',\n QUESTION_TIME: 'question_time',\n QUESTION_HOURS: 'question_hours',\n QUESTION_MINUTES: 'question_minutes',\n REMINDER_DAYS: 'reminder_days',\n REMINDER_HOURS: 'reminder_hours',\n REMINDER_MINUTES: 'reminder_minutes',\n REMINDER_SUBJECT: 'reminder_subject',\n REMINDER_MESSAGE: 'reminder_message',\n MAX_NUMBER_REMINDER: 'max_number_reminder',\n NUMBER_QUESTION_PAGE: 'number_question_page',\n UNTIL: 'until',\n NUMBER_OF_QUESTIONAIRES: 'number_of_questionaires',\n QUESTION_COMMENTS: 'question_comments',\n TYPE_OF_QUESTIONNAIRE: 'type_of_questionnaire',\n HISTORY_OF_QUESTIONNAIRE: 'history_of_questionnaire',\n HISTORY: 'history',\n CRF_HISTORY: 'crf_history',\n PROCEDURE_CONDITION: 'procedure_condition',\n HREF_VALUE: 'href_value',\n HREF_TYPE: 'href_type',\n SIZE: 'size',\n FILE_TYPE: 'file_type',\n INPUT_TYPE: 'input_type',\n PARAGRAPH_CONTENT: 'paragraph_content',\n FILE_VALUE: 'file_value',\n WINDOW_REFERENCE: 'window_reference',\n START_DATE_DAYS: 'start_date_days',\n HAS_DEFAULT_VALUE: 'has_default_value',\n SPECIFIC_VALUE: 'specific_value',\n DEFAULT_VALUE: 'default_value',\n UNIQUE: 'unique',\n HELP: 'help',\n SELECTOR_TYPE: 'selector_type',\n SLIDER_SELECTOR: 'slider_selector',\n SLIDER_SCALE_ORIENTATION: 'slider_scale_orientation',\n UNTIL_DATE: 'until',\n PAGE_BREAK: 'page_break',\n WINDOW_BEFORE: 'window_before',\n WINDOW_AFTER: 'window_after',\n WINDOW_PERIOD: 'window_period',\n AI_PROCESSING_CONTEXT: 'ai_processing_context',\n AI_EXTRACTION_RELATED_FIELD: 'ai_extraction_related_field',\n AI_EXTRACTION_CONTEXT: 'ai_extraction_context',\n AI_ANONYMIZATION_NEEDED: 'ai_anonymization_needed',\n PROCESSING_FILE: 'processing_file',\n PROCESSING_FILE_ORIGINAL: 'processing_file_original',\n PROCESSING_FILE_DELETE_ORIGINAL_ON_FINISH: 'processing_file_delete_original_on_finish',\n PROC_ANONYMIZE: 'proc_anonymize',\n PROC_EXTRACTION: 'proc_extraction',\n IS_ACTION: 'is_action',\n ACTION_PROPS: 'action_props',\n}\n\nconst FIELD_METAS_TO_INCLUDE_IN_RESPONSE = [META_NAMES.PROCESSING_FILE]\n\nexport const AI_PROCESSING_META_NAMES = [META_NAMES.PROC_ANONYMIZE, META_NAMES.PROC_EXTRACTION]\n\nexport const META_RESTRICTION = {\n STRICT: 'strict',\n FLEXIBLE: 'flexible',\n}\nexport const META_STATUS = {\n ACTIVE: '1',\n}\n\nexport const SELECTOR_TYPE = {\n SLIDER: 'slider',\n DROPDOWN: 'dropdown',\n RADIO_BUTTON: 'radio_button',\n CHECK_BOX: 'check_box',\n}\n\nexport const SLIDER_TYPE = {\n STARS: '0',\n SCALE_RATING: '1',\n IMAGES: '2',\n}\n\nexport const SLIDER_SELECTOR_TYPE = {\n [SLIDER_TYPE.STARS]: 'stars',\n [SLIDER_TYPE.SCALE_RATING]: 'scale',\n [SLIDER_TYPE.IMAGES]: 'images',\n}\n\nexport const SLIDER_SCALE_TYPE = {\n HORIZONTAL: '0',\n VERTICAL: '1',\n}\n\nexport const SLIDER_SCALE_ORIENTATION_TYPE = {\n [SLIDER_SCALE_TYPE.HORIZONTAL]: 'horizontal',\n [SLIDER_SCALE_TYPE.VERTICAL]: 'vertical',\n}\n\nexport const HREF_TYPE = {\n NEW_WINDOW: 'newwindow',\n EMBEDDED_HTML: 'embeddedhtml',\n}\n\nexport const DYNAMIC_FILE_VALID_FORMATS = {\n 1: ['image/jpg', 'image/jpeg', 'image/bmp', 'image/gif', 'image/png'], // Images\n 2: [\n 'application/pdf',\n 'application/x-pdf',\n 'text/csv',\n 'application/vnd.ms-excel',\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n 'application/vnd.oasis.opendocument.text',\n 'application/msword',\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n ], // Documents\n 3: ['application/pdf', 'application/x-pdf'], // PDF\n 4: [\n 'application/dicom',\n 'application/gzip',\n 'application/x-gzip',\n 'application/tar',\n 'application/tar+gzip',\n 'application/zip',\n 'application/x-rar-compressed',\n 'application/x-zip-compressed',\n 'application/x-7z-compressed',\n 'application/octet-stream',\n ], // DICOM\n 5: [\n 'video/x-msvideo',\n 'video/x-mkv',\n 'video/x-matroska',\n 'video/mpeg',\n 'video/mpeg4',\n 'video/mpg',\n 'video/ogg',\n 'video/webm',\n 'video/3gpp',\n 'video/3gpp2',\n 'video/mp4',\n 'video/divx',\n 'video/avi',\n 'video/quicktime',\n 'video/x-ms-wmv',\n 'video/x-flv',\n ], // Video\n}\n\nexport const DEFAULT_CONFIGURATION_PATIENT_LIST = [\n {\n id: '1',\n name: 'patient_number',\n type: 'Zend\\\\Form\\\\Element\\\\Text',\n label: 'Patient Id',\n required: '1',\n crf_name: 'patient',\n status: '1',\n },\n {\n type: '4',\n name: 'hospital',\n label: 'Hospital',\n required: '0',\n id: '2',\n crf_name: 'patient',\n status: '1',\n },\n {\n id: '1000000001',\n name: 'procedure',\n type: 'customzation',\n label: 'Procedures',\n required: '1',\n crf_name: '',\n status: '1',\n },\n]\n\nexport const SELECT_FIELD_TYPES = [\n FIELD_NAMES.SELECTION_NAME,\n FIELD_NAMES.DYNAMIC_SELECTION_NAME,\n ...Object.values(SELECTOR_TYPE),\n]\nexport const MULTIPLE_SELECT_FIELD_TYPES = [FIELD_NAMES.MULTIPLE_SELECTION_NAME]\nexport const NUMERIC_FIELD_TYPES = [FIELD_NAMES.DECIMAL_NAME, FIELD_NAMES.INTEGER_NAME]\nexport const ALL_SELECT_FIELD_TYPES = [...SELECT_FIELD_TYPES, ...MULTIPLE_SELECT_FIELD_TYPES]\n\nconst Forms = {\n FIELDS,\n FIELD_NAMES,\n FORM_TYPES,\n FIELD_NAMES_MAP,\n NUMBER_TYPE,\n DATE_TYPE,\n OBJECT_TYPE,\n CORE,\n EXCLUDE_FIELDS,\n AUDIT_FLAGS,\n FORM_NAMES,\n FORM_SUFFIX,\n MULTIPLE_SELECTION_SEPARATOR,\n FIELD_SUFFIX,\n STATUS_SUFFIX,\n FIELD_STATUS,\n STATUS_FIELD_REGEXP,\n isNotStatusField,\n NO_FILL_STATUS,\n DATE_FORMAT,\n TIME_SCHEMA,\n META_NAMES,\n META_RESTRICTION,\n META_STATUS,\n SELECTOR_TYPE,\n SLIDER_TYPE,\n SLIDER_SELECTOR_TYPE,\n SLIDER_SCALE_TYPE,\n SLIDER_SCALE_ORIENTATION_TYPE,\n HREF_TYPE,\n DYNAMIC_FILE_VALID_FORMATS,\n DEFAULT_CONFIGURATION_PATIENT_LIST,\n FIELD_METAS_TO_INCLUDE_IN_RESPONSE,\n}\n\nexport default Forms\n","export const NOTIFIED_TYPES = {\n EMAIL: 1,\n MOBILE: 2,\n PLATFORM: 3,\n SMS: 4,\n HL7: 5,\n ALL: ['1', '2', '3', '4', '5'],\n}\n","// copied from https://raw.githubusercontent.com/jackocnr/intl-tel-input/master/src/js/data.js\n\n// Array of country objects for the flag dropdown.\n\n// Here is the criteria for the plugin to support a given country/territory\n// - It has an iso2 code: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2\n// - It has it's own country calling code (it is not a sub-region of another country): https://en.wikipedia.org/wiki/List_of_country_calling_codes\n// - It has a flag in the region-flags project: https://github.com/behdad/region-flags/tree/gh-pages/png\n// - It is supported by libphonenumber (it must be listed on this page): https://github.com/googlei18n/libphonenumber/blob/master/resources/ShortNumberMetadata.xml\n\n// Each country array has the following information:\n// [\n// Country name,\n// iso2 code,\n// International dial code,\n// Order (if >1 country with same dial code),\n// Area codes\n// ]\nexport const allCountries = [\n ['Afghanistan (افغانستان)', 'af', '93'],\n ['Albania (Shqipëri)', 'al', '355'],\n ['Algeria (الجزائر)', 'dz', '213'],\n ['American Samoa', 'as', '1', 5, ['684']],\n ['Andorra', 'ad', '376'],\n ['Angola', 'ao', '244'],\n ['Anguilla', 'ai', '1', 6, ['264']],\n ['Antigua and Barbuda', 'ag', '1', 7, ['268']],\n ['Argentina', 'ar', '54'],\n ['Armenia (Հայաստան)', 'am', '374'],\n ['Aruba', 'aw', '297'],\n ['Ascension Island', 'ac', '247'],\n ['Australia', 'au', '61', 0],\n ['Austria (Österreich)', 'at', '43'],\n ['Azerbaijan (Azərbaycan)', 'az', '994'],\n ['Bahamas', 'bs', '1', 8, ['242']],\n ['Bahrain (البحرين)', 'bh', '973'],\n ['Bangladesh (বাংলাদেশ)', 'bd', '880'],\n ['Barbados', 'bb', '1', 9, ['246']],\n ['Belarus (Беларусь)', 'by', '375'],\n ['Belgium (België)', 'be', '32'],\n ['Belize', 'bz', '501'],\n ['Benin (Bénin)', 'bj', '229'],\n ['Bermuda', 'bm', '1', 10, ['441']],\n ['Bhutan (འབྲུག)', 'bt', '975'],\n ['Bolivia', 'bo', '591'],\n ['Bosnia and Herzegovina (Босна и Херцеговина)', 'ba', '387'],\n ['Botswana', 'bw', '267'],\n ['Brazil (Brasil)', 'br', '55'],\n ['British Indian Ocean Territory', 'io', '246'],\n ['British Virgin Islands', 'vg', '1', 11, ['284']],\n ['Brunei', 'bn', '673'],\n ['Bulgaria (България)', 'bg', '359'],\n ['Burkina Faso', 'bf', '226'],\n ['Burundi (Uburundi)', 'bi', '257'],\n ['Cambodia (កម្ពុជា)', 'kh', '855'],\n ['Cameroon (Cameroun)', 'cm', '237'],\n [\n 'Canada',\n 'ca',\n '1',\n 1,\n [\n '204',\n '226',\n '236',\n '249',\n '250',\n '289',\n '306',\n '343',\n '365',\n '387',\n '403',\n '416',\n '418',\n '431',\n '437',\n '438',\n '450',\n '506',\n '514',\n '519',\n '548',\n '579',\n '581',\n '587',\n '604',\n '613',\n '639',\n '647',\n '672',\n '705',\n '709',\n '742',\n '778',\n '780',\n '782',\n '807',\n '819',\n '825',\n '867',\n '873',\n '902',\n '905',\n ],\n ],\n ['Cape Verde (Kabu Verdi)', 'cv', '238'],\n ['Caribbean Netherlands', 'bq', '599', 1, ['3', '4', '7']],\n ['Cayman Islands', 'ky', '1', 12, ['345']],\n ['Central African Republic (République centrafricaine)', 'cf', '236'],\n ['Chad (Tchad)', 'td', '235'],\n ['Chile', 'cl', '56'],\n ['China (中国)', 'cn', '86'],\n ['Christmas Island', 'cx', '61', 2, ['89164']],\n ['Cocos (Keeling) Islands', 'cc', '61', 1, ['89162']],\n ['Colombia', 'co', '57'],\n ['Comoros (جزر القمر)', 'km', '269'],\n ['Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)', 'cd', '243'],\n ['Congo (Republic) (Congo-Brazzaville)', 'cg', '242'],\n ['Cook Islands', 'ck', '682'],\n ['Costa Rica', 'cr', '506'],\n ['Côte d’Ivoire', 'ci', '225'],\n ['Croatia (Hrvatska)', 'hr', '385'],\n ['Cuba', 'cu', '53'],\n ['Curaçao', 'cw', '599', 0],\n ['Cyprus (Κύπρος)', 'cy', '357'],\n ['Czech Republic (Česká republika)', 'cz', '420'],\n ['Denmark (Danmark)', 'dk', '45'],\n ['Djibouti', 'dj', '253'],\n ['Dominica', 'dm', '1', 13, ['767']],\n ['Dominican Republic (República Dominicana)', 'do', '1', 2, ['809', '829', '849']],\n ['Ecuador', 'ec', '593'],\n ['Egypt (مصر)', 'eg', '20'],\n ['El Salvador', 'sv', '503'],\n ['Equatorial Guinea (Guinea Ecuatorial)', 'gq', '240'],\n ['Eritrea', 'er', '291'],\n ['Estonia (Eesti)', 'ee', '372'],\n ['Eswatini', 'sz', '268'],\n ['Ethiopia', 'et', '251'],\n ['Falkland Islands (Islas Malvinas)', 'fk', '500'],\n ['Faroe Islands (Føroyar)', 'fo', '298'],\n ['Fiji', 'fj', '679'],\n ['Finland (Suomi)', 'fi', '358', 0],\n ['France', 'fr', '33'],\n ['French Guiana (Guyane française)', 'gf', '594'],\n ['French Polynesia (Polynésie française)', 'pf', '689'],\n ['Gabon', 'ga', '241'],\n ['Gambia', 'gm', '220'],\n ['Georgia (საქართველო)', 'ge', '995'],\n ['Germany (Deutschland)', 'de', '49'],\n ['Ghana (Gaana)', 'gh', '233'],\n ['Gibraltar', 'gi', '350'],\n ['Greece (Ελλάδα)', 'gr', '30'],\n ['Greenland (Kalaallit Nunaat)', 'gl', '299'],\n ['Grenada', 'gd', '1', 14, ['473']],\n ['Guadeloupe', 'gp', '590', 0],\n ['Guam', 'gu', '1', 15, ['671']],\n ['Guatemala', 'gt', '502'],\n ['Guernsey', 'gg', '44', 1, ['1481', '7781', '7839', '7911']],\n ['Guinea (Guinée)', 'gn', '224'],\n ['Guinea-Bissau (Guiné Bissau)', 'gw', '245'],\n ['Guyana', 'gy', '592'],\n ['Haiti', 'ht', '509'],\n ['Honduras', 'hn', '504'],\n ['Hong Kong (香港)', 'hk', '852'],\n ['Hungary (Magyarország)', 'hu', '36'],\n ['Iceland (Ísland)', 'is', '354'],\n ['India (भारत)', 'in', '91'],\n ['Indonesia', 'id', '62'],\n ['Iran (ایران)', 'ir', '98'],\n ['Iraq (العراق)', 'iq', '964'],\n ['Ireland', 'ie', '353'],\n ['Isle of Man', 'im', '44', 2, ['1624', '74576', '7524', '7924', '7624']],\n ['Israel (ישראל)', 'il', '972'],\n ['Italy (Italia)', 'it', '39', 0],\n ['Jamaica', 'jm', '1', 4, ['876', '658']],\n ['Japan (日本)', 'jp', '81'],\n ['Jersey', 'je', '44', 3, ['1534', '7509', '7700', '7797', '7829', '7937']],\n ['Jordan (الأردن)', 'jo', '962'],\n ['Kazakhstan (Казахстан)', 'kz', '7', 1, ['33', '7']],\n ['Kenya', 'ke', '254'],\n ['Kiribati', 'ki', '686'],\n ['Kosovo', 'xk', '383'],\n ['Kuwait (الكويت)', 'kw', '965'],\n ['Kyrgyzstan (Кыргызстан)', 'kg', '996'],\n ['Laos (ລາວ)', 'la', '856'],\n ['Latvia (Latvija)', 'lv', '371'],\n ['Lebanon (لبنان)', 'lb', '961'],\n ['Lesotho', 'ls', '266'],\n ['Liberia', 'lr', '231'],\n ['Libya (ليبيا)', 'ly', '218'],\n ['Liechtenstein', 'li', '423'],\n ['Lithuania (Lietuva)', 'lt', '370'],\n ['Luxembourg', 'lu', '352'],\n ['Macau (澳門)', 'mo', '853'],\n ['North Macedonia (Македонија)', 'mk', '389'],\n ['Madagascar (Madagasikara)', 'mg', '261'],\n ['Malawi', 'mw', '265'],\n ['Malaysia', 'my', '60'],\n ['Maldives', 'mv', '960'],\n ['Mali', 'ml', '223'],\n ['Malta', 'mt', '356'],\n ['Marshall Islands', 'mh', '692'],\n ['Martinique', 'mq', '596'],\n ['Mauritania (موريتانيا)', 'mr', '222'],\n ['Mauritius (Moris)', 'mu', '230'],\n ['Mayotte', 'yt', '262', 1, ['269', '639']],\n ['Mexico (México)', 'mx', '52'],\n ['Micronesia', 'fm', '691'],\n ['Moldova (Republica Moldova)', 'md', '373'],\n ['Monaco', 'mc', '377'],\n ['Mongolia (Монгол)', 'mn', '976'],\n ['Montenegro (Crna Gora)', 'me', '382'],\n ['Montserrat', 'ms', '1', 16, ['664']],\n ['Morocco (المغرب)', 'ma', '212', 0],\n ['Mozambique (Moçambique)', 'mz', '258'],\n ['Myanmar (Burma) (မြန်မာ)', 'mm', '95'],\n ['Namibia (Namibië)', 'na', '264'],\n ['Nauru', 'nr', '674'],\n ['Nepal (नेपाल)', 'np', '977'],\n ['Netherlands (Nederland)', 'nl', '31'],\n ['New Caledonia (Nouvelle-Calédonie)', 'nc', '687'],\n ['New Zealand', 'nz', '64'],\n ['Nicaragua', 'ni', '505'],\n ['Niger (Nijar)', 'ne', '227'],\n ['Nigeria', 'ng', '234'],\n ['Niue', 'nu', '683'],\n ['Norfolk Island', 'nf', '672'],\n ['North Korea (조선 민주주의 인민 공화국)', 'kp', '850'],\n ['Northern Mariana Islands', 'mp', '1', 17, ['670']],\n ['Norway (Norge)', 'no', '47', 0],\n ['Oman (عُمان)', 'om', '968'],\n ['Pakistan (پاکستان)', 'pk', '92'],\n ['Palau', 'pw', '680'],\n ['Palestine (فلسطين)', 'ps', '970'],\n ['Panama (Panamá)', 'pa', '507'],\n ['Papua New Guinea', 'pg', '675'],\n ['Paraguay', 'py', '595'],\n ['Peru (Perú)', 'pe', '51'],\n ['Philippines', 'ph', '63'],\n ['Poland (Polska)', 'pl', '48'],\n ['Portugal', 'pt', '351'],\n ['Puerto Rico', 'pr', '1', 3, ['787', '939']],\n ['Qatar (قطر)', 'qa', '974'],\n ['Réunion (La Réunion)', 're', '262', 0],\n ['Romania (România)', 'ro', '40'],\n ['Russia (Россия)', 'ru', '7', 0],\n ['Rwanda', 'rw', '250'],\n ['Saint Barthélemy', 'bl', '590', 1],\n ['Saint Helena', 'sh', '290'],\n ['Saint Kitts and Nevis', 'kn', '1', 18, ['869']],\n ['Saint Lucia', 'lc', '1', 19, ['758']],\n ['Saint Martin (Saint-Martin (partie française))', 'mf', '590', 2],\n ['Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)', 'pm', '508'],\n ['Saint Vincent and the Grenadines', 'vc', '1', 20, ['784']],\n ['Samoa', 'ws', '685'],\n ['San Marino', 'sm', '378'],\n ['São Tomé and Príncipe (São Tomé e Príncipe)', 'st', '239'],\n ['Saudi Arabia (المملكة العربية السعودية)', 'sa', '966'],\n ['Senegal (Sénégal)', 'sn', '221'],\n ['Serbia (Србија)', 'rs', '381'],\n ['Seychelles', 'sc', '248'],\n ['Sierra Leone', 'sl', '232'],\n ['Singapore', 'sg', '65'],\n ['Sint Maarten', 'sx', '1', 21, ['721']],\n ['Slovakia (Slovensko)', 'sk', '421'],\n ['Slovenia (Slovenija)', 'si', '386'],\n ['Solomon Islands', 'sb', '677'],\n ['Somalia (Soomaaliya)', 'so', '252'],\n ['South Africa', 'za', '27'],\n ['South Korea (대한민국)', 'kr', '82'],\n ['South Sudan (جنوب السودان)', 'ss', '211'],\n ['Spain (España)', 'es', '34'],\n ['Sri Lanka (ශ්රී ලංකාව)', 'lk', '94'],\n ['Sudan (السودان)', 'sd', '249'],\n ['Suriname', 'sr', '597'],\n ['Svalbard and Jan Mayen', 'sj', '47', 1, ['79']],\n ['Sweden (Sverige)', 'se', '46'],\n ['Switzerland (Schweiz)', 'ch', '41'],\n ['Syria (سوريا)', 'sy', '963'],\n ['Taiwan (台灣)', 'tw', '886'],\n ['Tajikistan', 'tj', '992'],\n ['Tanzania', 'tz', '255'],\n ['Thailand (ไทย)', 'th', '66'],\n ['Timor-Leste', 'tl', '670'],\n ['Togo', 'tg', '228'],\n ['Tokelau', 'tk', '690'],\n ['Tonga', 'to', '676'],\n ['Trinidad and Tobago', 'tt', '1', 22, ['868']],\n ['Tunisia (تونس)', 'tn', '216'],\n ['Turkey (Türkiye)', 'tr', '90'],\n ['Turkmenistan', 'tm', '993'],\n ['Turks and Caicos Islands', 'tc', '1', 23, ['649']],\n ['Tuvalu', 'tv', '688'],\n ['U.S. Virgin Islands', 'vi', '1', 24, ['340']],\n ['Uganda', 'ug', '256'],\n ['Ukraine (Україна)', 'ua', '380'],\n ['United Arab Emirates (الإمارات العربية المتحدة)', 'ae', '971'],\n ['United Kingdom', 'gb', '44', 0],\n ['United States', 'us', '1', 0],\n ['Uruguay', 'uy', '598'],\n ['Uzbekistan (Oʻzbekiston)', 'uz', '998'],\n ['Vanuatu', 'vu', '678'],\n ['Vatican City (Città del Vaticano)', 'va', '39', 1, ['06698']],\n ['Venezuela', 've', '58'],\n ['Vietnam (Việt Nam)', 'vn', '84'],\n ['Wallis and Futuna (Wallis-et-Futuna)', 'wf', '681'],\n ['Western Sahara (الصحراء الغربية)', 'eh', '212', 1, ['5288', '5289']],\n ['Yemen (اليمن)', 'ye', '967'],\n ['Zambia', 'zm', '260'],\n ['Zimbabwe', 'zw', '263'],\n ['Åland Islands', 'ax', '358', 1, ['18']],\n]\n\n// loop over all of the countries above, restructuring the data to be objects with named keys\n/* for (var i = 0; i < allCountries.length; i++) {\n var c = allCountries[i];\n allCountries[i] = {\n name: c[0],\n iso2: c[1],\n dialCode: c[2],\n priority: c[3] || 0,\n areaCodes: c[4] || null\n };\n} */\n\nexport const CountryPhoneCodes = allCountries.reduce((acc, c) => {\n const key = c[1] as string\n acc[key] = c[2]\n return acc\n}, {})\n\nexport default CountryPhoneCodes\n","export enum STATUS {\n CLOSED = 'Closed',\n OPEN = 'Open',\n COMING_SOON = 'Coming soon',\n}\n\nexport const HISTORY = {\n PERMANENT: 'Permanent',\n TEMPORARY: 'Temporary',\n}\n\nexport const TYPE = {\n QOL: 'QoL',\n TASK: 'Task',\n}\n\nexport type QuestionnaireTypeValue = 'QoL' | 'Task'\n\nexport const QUESTIONNAIRE_TYPE_OPTIONS = {\n '0': TYPE.QOL,\n '1': TYPE.TASK,\n}\n\nexport const HISTORY_TYPE_OPTIONS = {\n '0': HISTORY.PERMANENT,\n '1': HISTORY.TEMPORARY,\n}\nexport const QUESTIONNAIRE_DATE = {\n DATE: 'date_of_questionnaire',\n TIME: 'time_of_questionnaire',\n}\n\nexport const QUESTIONNAIRE_TYPE = {\n TYPE: 'type_of_questionnaire',\n}\n\nconst Questionnaire = {\n STATUS,\n HISTORY,\n TYPE,\n QUESTIONNAIRE_TYPE_OPTIONS,\n HISTORY_TYPE_OPTIONS,\n QUESTIONNAIRE_DATE,\n QUESTIONNAIRE_TYPE,\n}\n\nexport default Questionnaire\n","export const ROLES = {\n PERSEED_ADMIN: 'PerseedAdmin',\n ECOSYSTEM_ADMIN: 'EcosystemAdmin',\n USER: 'Users',\n SALE: 'Sales',\n}\n","/**\n * Seed Privilege constants\n */\n\nexport const SEED_PRIVILEGE = {\n ADD_PATIENT: 'add_patient',\n ADD_REPEATABLE_CRF: 'add_repeat_crf',\n ADVANCED_FILTER: 'advanced_filter',\n ALL_PATIENT_LIST: 'all_patient_list',\n ALLOW_TO_CONTROL_THESE_PROFILES: 'core_control_profile',\n CONNECTOR_ADD_CP: 'connector_add_cp',\n CONNECTOR_ADD_CRF: 'connector_add_crf',\n CONNECTOR_ADD_FIELD: 'connector_add_field',\n CORE_NOT_ALLOW_ACCESS_SENSITIVE_INFO: 'core_not_allow_access_sensitive_info',\n CORE_NOTIFICATION_LOG: 'core_notification_log',\n CORE_NOTIFICATION_MY_LOG: 'core_notification_my_log',\n DELETE_PATIENT: 'delete_patient',\n FULL_DELETE_PATIENT: 'full_delete_patient',\n DELETE_REPEATABLE_CRF: 'delete_crf',\n EXPORT_ANONYMIZED: 'export_anonymized',\n ENABLE_CP: 'enable_cp',\n EXPORT_MY_HOSPITALS: 'export_my_hospitals',\n EXPORT_NOT_ALLOW_ACCESS_SENSITIVE_INFO: 'export_not_allow_access_sensitive_info',\n EXPORT_USER_TIMESTAMP: 'export_user_timestamp',\n EXPORT_RAW: 'export_raw',\n FILTER_ALL: 'filter_all',\n FILTER_MY_HOSPITALS: 'filter_my_hospitals',\n MANAGE_USERS: 'core_manage_user',\n CORE_PRO_USER_SENSITIVE_INFO: 'core_pro_user_sensitive_info',\n NOTIFICATIONS: 'core_notification_seed',\n ONLY_MY_PATIENTS: 'only_my_patients',\n ONLY_UPDATE_PATIENTS_API: 'only_update_patients',\n PRO_USER: 'core_pro_user',\n USERS_MANAGEMENT_FOR_MY_ORGANIZATIONS: 'core_manage_user_hospital',\n UPLOAD_DOCUMENTS: 'add',\n DELETE_DOCUMENTS: 'delete',\n READ_DOCUMENTS: 'read',\n DISPLAY_PATIENT_LIST: 'advanced_patient_list',\n EXPORT_CONFIGURATION_EXPLICIT_ACCESS: 'export_configurations_explicit_access_only',\n TRIGGERS_MANAGEMENT: 'triggers_management',\n ALERTS_MANAGEMENT: 'alerts_management',\n DASHBOARD_SETTINGS_MANAGEMENT: 'dashboard_settings_manage_all',\n DASHBOARD_SETTINGS_OWN_MANAGEMENT: 'dashboard_settings_manage_own',\n DASHBOARD_SETTINGS_READ_ONLY: 'dashboard_settings_read_only',\n DASHBOARD_FOLLOWUP_ALL: 'dashboard_followup_access_all',\n DASHBOARD_FOLLOWUP_OWN: 'dashboard_followup_access_own',\n DASHBOARD_FOLLOWUP_ASSIGNED: 'dashboard_followup_access_assigned',\n CORE_MANAGE_ORGANIZATION: 'core_manage_organization',\n ADD_ORGANIZATIONS: 'core_add_organizations',\n EDIT_ORGANIZATIONS: 'core_edit_organizations',\n DELETE_ORGANIZATIONS: 'core_delete_organizations',\n} as const\n\ntype SEED_PRIVILEGE_Keys = keyof typeof SEED_PRIVILEGE\n\nexport type SEED_PRIVILEGES = (typeof SEED_PRIVILEGE)[SEED_PRIVILEGE_Keys]\n","export const MINIMIAL_TIMEZONE_LIST = [\n 'Etc/GMT+12',\n 'Pacific/Midway',\n 'Pacific/Honolulu',\n 'America/Juneau',\n 'America/Dawson',\n 'America/Boise',\n 'America/Chihuahua',\n 'America/Phoenix',\n 'America/Chicago',\n 'America/Regina',\n 'America/Mexico_City',\n 'America/Belize',\n 'America/Detroit',\n 'America/Indiana/Indianapolis',\n 'America/Bogota',\n 'America/Glace_Bay',\n 'America/Caracas',\n 'America/Santiago',\n 'America/St_Johns',\n 'America/Sao_Paulo',\n 'America/Argentina/Buenos_Aires',\n 'America/Godthab',\n 'Etc/GMT+2',\n 'Atlantic/Azores',\n 'Atlantic/Cape_Verde',\n 'GMT',\n 'Africa/Casablanca',\n 'Atlantic/Canary',\n 'Europe/Belgrade',\n 'Europe/Sarajevo',\n 'Europe/Brussels',\n 'Europe/Amsterdam',\n 'Africa/Algiers',\n 'Europe/Bucharest',\n 'Africa/Cairo',\n 'Europe/Helsinki',\n 'Europe/Athens',\n 'Asia/Jerusalem',\n 'Africa/Harare',\n 'Europe/Moscow',\n 'Asia/Kuwait',\n 'Africa/Nairobi',\n 'Asia/Baghdad',\n 'Asia/Tehran',\n 'Asia/Dubai',\n 'Asia/Baku',\n 'Asia/Kabul',\n 'Asia/Yekaterinburg',\n 'Asia/Karachi',\n 'Asia/Kolkata',\n 'Asia/Kathmandu',\n 'Asia/Dhaka',\n 'Asia/Colombo',\n 'Asia/Almaty',\n 'Asia/Rangoon',\n 'Asia/Bangkok',\n 'Asia/Krasnoyarsk',\n 'Asia/Shanghai',\n 'Asia/Kuala_Lumpur',\n 'Asia/Taipei',\n 'Australia/Perth',\n 'Asia/Irkutsk',\n 'Asia/Seoul',\n 'Asia/Tokyo',\n 'Asia/Yakutsk',\n 'Australia/Darwin',\n 'Australia/Adelaide',\n 'Australia/Sydney',\n 'Australia/Brisbane',\n 'Australia/Hobart',\n 'Asia/Vladivostok',\n 'Pacific/Guam',\n 'Asia/Magadan',\n 'Pacific/Fiji',\n 'Pacific/Auckland',\n 'Pacific/Tongatapu',\n]\nexport const LANG_CODES = [\n 'ab',\n 'aa',\n 'af',\n 'ak',\n 'sq',\n 'am',\n 'ar',\n 'an',\n 'hy',\n 'as',\n 'av',\n 'ae',\n 'ay',\n 'az',\n 'bm',\n 'ba',\n 'eu',\n 'be',\n 'bn',\n 'bh',\n 'bi',\n 'bs',\n 'br',\n 'bg',\n 'my',\n 'ca',\n 'ch',\n 'ce',\n 'ny',\n 'zh',\n 'cv',\n 'kw',\n 'co',\n 'cr',\n 'hr',\n 'cs',\n 'da',\n 'dv',\n 'nl',\n 'dz',\n 'en',\n 'eo',\n 'et',\n 'ee',\n 'fo',\n 'fj',\n 'fi',\n 'fr',\n 'ff',\n 'gl',\n 'gd',\n 'gv',\n 'ka',\n 'de',\n 'el',\n 'kl',\n 'gn',\n 'gu',\n 'ht',\n 'ha',\n 'he',\n 'hz',\n 'hi',\n 'ho',\n 'hu',\n 'is',\n 'io',\n 'ig',\n 'id',\n 'ia',\n 'ie',\n 'iu',\n 'ik',\n 'ga',\n 'it',\n 'ja',\n 'jv',\n 'kl',\n 'kn',\n 'kr',\n 'ks',\n 'kk',\n 'km',\n 'ki',\n 'rw',\n 'rn',\n 'ky',\n 'kv',\n 'kg',\n 'ko',\n 'ku',\n 'kj',\n 'lo',\n 'la',\n 'lv',\n 'li',\n 'ln',\n 'lt',\n 'lu',\n 'lg',\n 'lb',\n 'gv',\n 'mk',\n 'mg',\n 'ms',\n 'ml',\n 'mt',\n 'mi',\n 'mr',\n 'mh',\n 'mo',\n 'mn',\n 'na',\n 'nv',\n 'ng',\n 'nd',\n 'ne',\n 'no',\n 'nb',\n 'nn',\n 'ii',\n 'oc',\n 'oj',\n 'cu',\n 'or',\n 'om',\n 'os',\n 'pi',\n 'ps',\n 'fa',\n 'pl',\n 'pt',\n 'pa',\n 'qu',\n 'rm',\n 'ro',\n 'ru',\n 'se',\n 'sm',\n 'sg',\n 'sa',\n 'sr',\n 'sh',\n 'st',\n 'tn',\n 'sn',\n 'ii',\n 'sd',\n 'si',\n 'ss',\n 'sk',\n 'sl',\n 'so',\n 'nr',\n 'es',\n 'su',\n 'sw',\n 'ss',\n 'sv',\n 'tl',\n 'ty',\n 'tg',\n 'ta',\n 'tt',\n 'te',\n 'th',\n 'bo',\n 'ti',\n 'to',\n 'ts',\n 'tr',\n 'tk',\n 'tw',\n 'ug',\n 'uk',\n 'ur',\n 'uz',\n 've',\n 'vi',\n 'vo',\n 'wa',\n 'cy',\n 'wo',\n 'fy',\n 'xh',\n 'ji',\n 'yo',\n 'za',\n 'zu',\n]\nexport const LOCALE_LANG_CODES = [\n 'af_ZA',\n 'am_ET',\n 'ar_AE',\n 'ar_BH',\n 'ar_DZ',\n 'ar_EG',\n 'ar_IQ',\n 'ar_JO',\n 'ar_KW',\n 'ar_LB',\n 'ar_LY',\n 'ar_MA',\n 'arn_CL',\n 'ar_OM',\n 'ar_QA',\n 'ar_SA',\n 'ar_SY',\n 'ar_TN',\n 'ar_YE',\n 'as_IN',\n 'az_Cyrl_AZ',\n 'az_Latn_AZ',\n 'ba_RU',\n 'be_BY',\n 'bg_BG',\n 'bn_BD',\n 'bn_IN',\n 'bo_CN',\n 'br_FR',\n 'bs_Cyrl_BA',\n 'bs_Latn_BA',\n 'ca_ES',\n 'co_FR',\n 'cs_CZ',\n 'cy_GB',\n 'da_DK',\n 'de_AT',\n 'de_CH',\n 'de_DE',\n 'de_LI',\n 'de_LU',\n 'dsb_DE',\n 'dv_MV',\n 'el_GR',\n 'en_029',\n 'en_AU',\n 'en_BZ',\n 'en_CA',\n 'en_GB',\n 'en_IE',\n 'en_IN',\n 'en_JM',\n 'en_MY',\n 'en_NZ',\n 'en_PH',\n 'en_SG',\n 'en_TT',\n 'en_US',\n 'en_ZA',\n 'en_ZW',\n 'es_AR',\n 'es_BO',\n 'es_CL',\n 'es_CO',\n 'es_CR',\n 'es_DO',\n 'es_EC',\n 'es_ES',\n 'es_GT',\n 'es_HN',\n 'es_MX',\n 'es_NI',\n 'es_PA',\n 'es_PE',\n 'es_PR',\n 'es_PY',\n 'es_SV',\n 'es_US',\n 'es_UY',\n 'es_VE',\n 'et_EE',\n 'eu_ES',\n 'fa_IR',\n 'fi_FI',\n 'fil_PH',\n 'fo_FO',\n 'fr_BE',\n 'fr_CA',\n 'fr_CH',\n 'fr_FR',\n 'fr_LU',\n 'fr_MC',\n 'fy_NL',\n 'ga_IE',\n 'gd_GB',\n 'gl_ES',\n 'gsw_FR',\n 'gu_IN',\n 'ha_Latn_NG',\n 'he_IL',\n 'hi_IN',\n 'hr_BA',\n 'hr_HR',\n 'hsb_DE',\n 'hu_HU',\n 'hy_AM',\n 'id_ID',\n 'ig_NG',\n 'ii_CN',\n 'is_IS',\n 'it_CH',\n 'it_IT',\n 'iu_Cans_CA',\n 'iu_Latn_CA',\n 'ja_JP',\n 'ka_GE',\n 'kk_KZ',\n 'kl_GL',\n 'km_KH',\n 'kn_IN',\n 'kok_IN',\n 'ko_KR',\n 'ky_KG',\n 'lb_LU',\n 'lo_LA',\n 'lt_LT',\n 'lv_LV',\n 'mi_NZ',\n 'mk_MK',\n 'ml_IN',\n 'mn_MN',\n 'mn_Mong_CN',\n 'moh_CA',\n 'mr_IN',\n 'ms_BN',\n 'ms_MY',\n 'mt_MT',\n 'nb_NO',\n 'ne_NP',\n 'nl_BE',\n 'nl_NL',\n 'nn_NO',\n 'nso_ZA',\n 'oc_FR',\n 'or_IN',\n 'pa_IN',\n 'pl_PL',\n 'prs_AF',\n 'ps_AF',\n 'pt_BR',\n 'pt_PT',\n 'qut_GT',\n 'quz_BO',\n 'quz_EC',\n 'quz_PE',\n 'rm_CH',\n 'ro_RO',\n 'ru_RU',\n 'rw_RW',\n 'sah_RU',\n 'sa_IN',\n 'se_FI',\n 'se_NO',\n 'se_SE',\n 'si_LK',\n 'sk_SK',\n 'sl_SI',\n 'sma_NO',\n 'sma_SE',\n 'smj_NO',\n 'smj_SE',\n 'smn_FI',\n 'sms_FI',\n 'sq_AL',\n 'sr_Cyrl_BA',\n 'sr_Cyrl_CS',\n 'sr_Cyrl_ME',\n 'sr_Cyrl_RS',\n 'sr_Latn_BA',\n 'sr_Latn_CS',\n 'sr_Latn_ME',\n 'sr_Latn_RS',\n 'sv_FI',\n 'sv_SE',\n 'sw_KE',\n 'syr_SY',\n 'ta_IN',\n 'te_IN',\n 'tg_Cyrl_TJ',\n 'th_TH',\n 'tk_TM',\n 'tn_ZA',\n 'tr_TR',\n 'tt_RU',\n 'tzm_Latn_DZ',\n 'ug_CN',\n 'uk_UA',\n 'ur_PK',\n 'uz_Cyrl_UZ',\n 'uz_Latn_UZ',\n 'vi_VN',\n 'wo_SN',\n 'xh_ZA',\n 'yo_NG',\n 'zh_CN',\n 'zh_HK',\n 'zh_MO',\n 'zh_SG',\n 'zh_TW',\n 'zu_ZA',\n 'fi_FI',\n]\n","// This refers to the views on Mobile app\nexport const FORMS_VIEW = 'forms'\nexport const HISTORY_VIEW = 'history'\n\nconst View = {\n FORMS_VIEW,\n HISTORY_VIEW,\n}\n\nexport default View\n","import { ColProps } from './col'\nimport {\n ContainerWidgetProps,\n FormListProps,\n FormsListProps,\n ModalProps,\n PatientListProps,\n SectionCardProps,\n SidebarProps,\n ValueCardProps,\n} from './widgetTypes'\n\n/**\n * True containers: host other widgets inside them.\n */\nexport enum ContainerType {\n DASHBOARD = 'Dashboard',\n MODAL = 'Modal',\n SIDEBAR = 'Sidebar',\n}\n\n/**\n * Leaf widgets: rendered inside a container, do not hold other widgets.\n */\nexport enum WidgetType {\n VALUECARD = 'ValueCard',\n SECTIONCARD = 'SectionCard',\n PATIENTLIST = 'PatientList',\n QUESTIONNAIRE_LOG = 'QuestionnaireLog',\n PATIENTS_PROGRAMS = 'PatientsPrograms',\n PATIENTS = 'Patients',\n ADHERENCE_SUMMARY = 'AdherenceSummary',\n FORM_LIST = 'FormList',\n FORMS_LIST = 'FormsList', // FORM_LIST V2\n}\n\n/**\n * Union of both enums. Exposed as the previous enum name so existing consumers\n * keep compiling. New code should prefer the narrower `ContainerType` or\n * `WidgetType` when the distinction is relevant.\n */\n// TODO: remove this union type after moving all widgets to v2\nexport const ContainerWidgetType = {\n ...ContainerType,\n ...WidgetType,\n} as const\nexport type ContainerWidgetType = ContainerType | WidgetType\n\nexport type WidgetBlockConfig = {\n size?: number | ColProps\n}\n\nexport type ContainerWidgetBlockCreatePayload = {\n parent_id: number | string\n child_id: number\n position: number\n config?: WidgetBlockConfig | null\n}\n\nexport type ContainerBaseWidgetPayload = {\n title: string\n description?: string | null\n weight?: number\n size?: number | ColProps\n library?: boolean\n widgetsBlocks?: ContainerWidgetBlockCreatePayload[]\n}\n\nexport type EmptyProps = Record<string, never>\n\nexport type ContainerProps =\n | { type: ContainerType.DASHBOARD; params: ContainerWidgetProps }\n | { type: ContainerType.MODAL; params: ModalProps }\n | { type: ContainerType.SIDEBAR; params: SidebarProps }\n\nexport type WidgetProps =\n | { type: WidgetType.SECTIONCARD; params: SectionCardProps }\n | { type: WidgetType.VALUECARD; params: ValueCardProps }\n | { type: WidgetType.PATIENTLIST; params: PatientListProps }\n | { type: WidgetType.QUESTIONNAIRE_LOG; params: EmptyProps }\n | { type: WidgetType.PATIENTS_PROGRAMS; params: EmptyProps }\n | { type: WidgetType.PATIENTS; params: EmptyProps }\n | { type: WidgetType.ADHERENCE_SUMMARY; params: EmptyProps }\n | { type: WidgetType.FORM_LIST; params: FormListProps }\n | { type: WidgetType.FORMS_LIST; params: FormsListProps } // FORM_LIST V2\n\nexport type WidgetTypeProps = ContainerProps | WidgetProps\n\nexport type CreateContainerWidgetPayload = ContainerBaseWidgetPayload & WidgetTypeProps\n\nexport type UpdateContainerWidgetPayload = Partial<CreateContainerWidgetPayload>\n\nexport enum DataLoaderType {\n OUTCOMES = 'outcomes',\n}\n\nexport interface GenericContainerWidgetDataLoader {\n type: DataLoaderType\n params: Record<string, any>\n}\n\nexport type ContainerWidgetDataLoader<T> = T extends { type: infer Type; params: infer Params }\n ? { type: Type; params: Params }\n : never\n\n// TEMPLATE VERSIONS TO USE IN PERSEED-WEB\n\nexport type BaseContainerWidgetPayload<T extends ContainerWidgetType | undefined = undefined> = {\n id?: number\n title: string\n description?: string\n type: T | ContainerWidgetType\n library: boolean\n config?: WidgetBlockConfig\n position?: number\n created_user: number\n}\n\nexport type BaseContainerWidget = BaseContainerWidgetPayload & WidgetTypeProps\n\nexport type GenericParams =\n | SectionCardProps\n | ValueCardProps\n | PatientListProps\n | ContainerWidgetProps\n | ModalProps\n | SidebarProps\n\nexport type ContainerChildrenWidget<T extends ContainerWidgetType | undefined = undefined> =\n ContainerBaseWidgetPayload &\n BaseContainerWidgetPayload<T> & {\n id: number\n type: ContainerWidgetType\n params: GenericParams\n }\n\nexport type ContainerWidget<T extends ContainerWidgetType | undefined = undefined> = T extends ContainerWidgetType\n ? {\n id: number\n widgets?: ContainerChildrenWidget[]\n } & ContainerWidgetTypeToParams[T] &\n BaseContainerWidgetPayload<T>\n : {\n id: number\n params: any\n widgets?: ContainerChildrenWidget[]\n } & BaseContainerWidgetPayload<T>\n\nexport type ContainerTypeToParams = {\n [ContainerType.DASHBOARD]: {\n params: ContainerWidgetProps\n }\n [ContainerType.MODAL]: {\n params: ModalProps\n }\n [ContainerType.SIDEBAR]: {\n params: SidebarProps\n }\n}\n\nexport type WidgetTypeToParams = {\n [WidgetType.SECTIONCARD]: {\n params: SectionCardProps\n }\n [WidgetType.VALUECARD]: {\n params: ValueCardProps\n }\n [WidgetType.PATIENTLIST]: {\n params: PatientListProps\n }\n [WidgetType.QUESTIONNAIRE_LOG]: { params: EmptyProps }\n [WidgetType.PATIENTS_PROGRAMS]: { params: EmptyProps }\n [WidgetType.PATIENTS]: { params: EmptyProps }\n [WidgetType.ADHERENCE_SUMMARY]: { params: EmptyProps }\n [WidgetType.FORM_LIST]: {\n params: FormListProps\n }\n [WidgetType.FORMS_LIST]: {\n params: FormsListProps\n }\n}\n\nexport type ContainerWidgetTypeToParams = ContainerTypeToParams & WidgetTypeToParams\n","import { ConditionsRules } from '../../notification_configuration/types'\nimport {\n IconPresentationWidgetProps,\n IconTextPresentationWidgetProps,\n LinkPresentationWidgetFields,\n TextPresentationWidgetProps,\n} from './presentationWidgetTypes'\nimport { ListPresentationWidgetProps } from './presentationWidgetTypes/ListPresentationWidget'\n\n/**\n * Common table configuration persisted per widget/panel inside its `params`.\n * Shared by every table-backed widget so the same options apply uniformly to\n * the underlying table. Extensible: future table-level options (column\n * alignment, etc.) live here too.\n */\nexport interface TableSettings {\n /** When true, the export button is hidden in the widget's table. */\n hideExport?: boolean\n}\n\nexport interface PatientListProps {\n loadUserProfiles?: boolean\n loadAdherence?: boolean\n extraFields?: string[]\n loadPushTokens?: boolean\n loadUserAccessData?: boolean\n programId?: number | null\n prevAdherenceDays?: number | null\n filter?: FilterParams\n relatedData?: RelatedDataParams\n calculatedColumns?: CalculatedColumn[]\n columns?: PatientListColumn[]\n appearance?: PatientListAppearance\n tableSettings?: TableSettings\n}\n\nexport interface FormListProps {\n fields?: string[]\n filter?: FilterParams\n relatedData?: RelatedDataParams\n calculatedColumns?: CalculatedColumn[]\n columns?: PatientListColumn[]\n appearance?: PatientListAppearance\n mainForm: string\n tableSettings?: TableSettings\n}\n\nexport interface SortBy {\n field: string\n orderType: OrderType\n}\n\nexport const EXTERNAL_SOURCE_KEYS = ['health_data_daily', 'health_data_discrete'] as const\nexport type ExternalSourceType = (typeof EXTERNAL_SOURCE_KEYS)[number]\n\nexport interface FormListDataConfig {\n fields: string[]\n conditions?: Record<string, unknown>\n limit?: number | null\n sortBy?: SortBy[]\n mainForm?: boolean\n filterParams?: FilterParamsBlock[]\n}\n\nexport interface FormListColumnLayoutConfig {\n widgetType?: PresentationWidget\n title?: string\n source?: string\n widgetSettings?: PresentationWidgetSettingsV2\n hidden?: boolean\n fixed?: boolean\n aggregation?: ColumnAggregation\n}\n\nexport interface FormListBodyConditionalProps {\n conditions?: string\n continueEvaluate?: boolean\n textColor?: string\n bgColor?: string\n fontSize?: number | null\n fontWeight?: number | null\n}\n\nexport interface FormListAppearanceConfig {\n body?: {\n textColor?: string\n bgColor?: string\n fontSize?: number | null\n fontWeight?: number | null\n conditionalProps?: FormListBodyConditionalProps[]\n }\n header?: {\n textColor?: string\n bgColor?: string\n fontSize?: number | null\n fontWeight?: number | null\n }\n}\n\nexport interface FormListLayoutConfig {\n columns?: FormListColumnLayoutConfig[]\n}\n\n// FORM_LIST V2\nexport interface FormsListProps {\n data: {\n [key: string]: FormListDataConfig\n }\n layout?: FormListLayoutConfig\n appearance?: FormListAppearanceConfig\n finalParams?: FinalParam[]\n tableSettings?: TableSettings\n}\n\nexport type TrendPeriodUnit = 'hour' | 'day' | 'week' | 'month' | 'records'\n\nexport interface SelectOptionMapping {\n optionValue: string\n label: string\n chartValue: number\n}\n\n// A period window for the trend widget. The block itself is optional, but when present it must be\n// fully specified: from `fromValue` to `toValue` units ago, both sharing `unit`.\nexport interface TrendPeriodConfig {\n unit: TrendPeriodUnit\n fromValue: number\n toValue: number\n}\n\n// Style overrides applied to a trend cell. Settable both at the base level and, per\n// matched condition, inside `conditionalProps`.\nexport interface TrendPresentationWidgetStyleFields {\n // Handlebars template for the main value and the subvalue (percentage line).\n template?: string\n subTemplate?: string\n // Flat color props.\n valueColor?: string\n trendTextColor?: string\n sparklineColor?: string\n bgColor?: string\n}\n\n// A single conditional style: the style overrides plus the rule that activates them.\nexport interface TrendConditionalStyleProps extends TrendPresentationWidgetStyleFields {\n // Stringified jsonLogic rule evaluated against the row/trend values.\n conditions?: string\n continueEvaluate?: boolean\n}\n\nexport interface TrendPresentationWidgetProps extends TrendPresentationWidgetStyleFields {\n dateField: string\n valueField: string\n selectMapping?: SelectOptionMapping[]\n\n // Period shown in the detail chart of the modal.\n chartPeriod?: TrendPeriodConfig\n\n // Aggregation applied to the value field within each period.\n aggregationType: string\n\n // Periods compared to compute the trend percentage.\n comparisonPeriod?: TrendPeriodConfig\n basePeriodSameAsComparison?: boolean\n basePeriod?: TrendPeriodConfig\n\n // Conditional styles (jsonLogic-driven), each a style override gated by a rule.\n conditionalProps?: TrendConditionalStyleProps[]\n}\n\nexport type PresentationWidgetSettingsV2 =\n | TextPresentationWidgetProps\n | IconPresentationWidgetProps\n | IconTextPresentationWidgetProps\n | LinkPresentationWidgetFields\n | TrendPresentationWidgetProps\n\nexport type PresentationWidgetSettings =\n | TextPresentationWidgetProps\n | IconPresentationWidgetProps\n | IconTextPresentationWidgetProps\n | ListPresentationWidgetProps\n\nexport interface PatientListColumn {\n hidden?: boolean\n position?: number\n label?: string\n key: string\n notVisible?: boolean\n presentationWidget?: PresentationWidget\n presentationWidgetSettings?: PresentationWidgetSettings\n}\n\nexport interface RelatedConditions {\n conditions?: Record<string, unknown>\n limit?: number | null\n order?: Order[]\n}\n\nexport interface FilterParams {\n conditions?: Record<string, unknown>\n relations?: {\n [key: string]: RelatedConditions\n }\n}\n\nexport interface RelatedDataParams {\n join?: string[]\n}\n\nexport interface CalculatedColumn {\n key: string\n label?: string\n template: string\n notVisible?: boolean\n type: ColumnType\n}\n\nexport interface PatientListAppearance {\n backgroundColor?: PatientListBackgroundColor[]\n order?: Order[]\n}\n\nexport interface PatientListBackgroundColor {\n conditions?: ConditionsRules\n backgroundColor: string\n continueEvaluate?: boolean\n}\n\nexport enum ColumnType {\n TEXT = 'text',\n NUMBER = 'number',\n BOOLEAN = 'boolean',\n DATE = 'date',\n TIME = 'time',\n DATETIME = 'datetime',\n}\n\nexport interface Order {\n order: OrderType\n orderBy: string\n}\n\nexport enum OrderType {\n ASC = 'asc',\n DESC = 'desc',\n}\n\nexport enum PresentationWidget {\n TEXT = 'text',\n ICON = 'icon',\n ICON_TEXT = 'icon_text',\n LIST = 'list',\n REPEATABLE_FIELD = 'repeatable_field',\n LINK = 'link',\n TREND = 'trend',\n // Settings-less on purpose, like REPEATABLE_FIELD: it renders the manual actions that match the\n // row's record and takes no configuration of its own, so it has no entry in\n // PresentationWidgetSettingsV2 and no *PresentationWidgetProps type.\n MANUAL_ACTIONS = 'manual_actions',\n}\n\nexport type FinalParamType = 'string' | 'number' | 'boolean' | 'date' | 'time'\n\nexport interface FilterParamsBlock {\n required: boolean\n rules: Record<string, unknown>\n description?: string\n}\n\nexport interface FinalParam {\n name: string\n type: FinalParamType\n required: boolean\n}\n\nexport type ParamMappingSource = 'field' | 'literal'\n\nexport interface ParamMapping {\n source: ParamMappingSource\n value?: string | number | boolean | null\n}\n\n/**\n * Identifier for a single widget instance inside a container.\n * Today this is just `String(widget.id)` (e.g. `\"145\"`). Reserved for the future:\n * when the same widget can be added multiple times to the same container, the\n * identifier will use the `<widgetId>-<n>` shape (e.g. `\"145-1\"`, `\"145-2\"`).\n * Consumers should treat it as an opaque string and use the helpers in\n * `perseed-react-ui-components` (`toInstanceId`, `getBaseWidgetId`,\n * `hasExplicitInstance`) to construct and destructure it.\n */\nexport type WidgetInstanceId = string\n\nexport type ContainerParamMappings = {\n [instanceId: WidgetInstanceId]: {\n [paramName: string]: ParamMapping\n }\n}\n\nexport enum AggregationType {\n FIRST = 'first',\n LAST = 'last',\n POSITION = 'position',\n AVG = 'avg',\n SUM = 'sum',\n MIN = 'min',\n MAX = 'max',\n MEDIAN = 'median',\n STDDEV = 'stddev',\n COUNT = 'count',\n}\n\nexport interface ColumnAggregation {\n type: AggregationType\n position?: number\n}\n","import { PresentationWidgetWithConditionalProps } from './Generic'\n\nexport type IconTextPresentationWidgetProps = PresentationWidgetWithConditionalProps<IconTextPresentationWidgetFields>\n\nexport interface IconTextPresentationWidgetFields {\n template?: string\n textColor?: string\n icon: string\n iconColor?: string\n iconPosition: IconPosition\n bgColor?: string\n}\n\nexport enum IconPosition {\n UP = 'up',\n DOWN = 'down',\n LEFT = 'left',\n RIGHT = 'right',\n}\n","import type { ContainerParamMappings } from '../PatientListProps'\n\nexport enum LinkType {\n EXTERNAL = 'external',\n INTERNAL = 'internal',\n}\n\nexport interface LinkPresentationWidgetFields {\n url?: string\n displayText?: string\n bgColor?: string\n textColor?: string\n underline?: boolean\n linkType?: LinkType\n openInNewTab?: boolean\n targetWidgetId?: number\n paramMappings?: ContainerParamMappings\n}\n","import { ContainerWidgetProps } from './ContainerWidgetProps'\nimport { ContainerParamMappings } from './PatientListProps'\n\nexport enum ModalSize {\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n FULLSCREEN = 'fullscreen',\n CUSTOM = 'custom',\n}\n\nexport interface ModalConfig {\n size: ModalSize\n width?: string\n height?: string\n}\n\nexport interface ModalProps extends Omit<ContainerWidgetProps, 'config'> {\n config: ModalConfig\n paramMappings?: ContainerParamMappings\n}\n","import { ContainerWidgetProps } from './ContainerWidgetProps'\nimport { ContainerParamMappings } from './PatientListProps'\n\nexport enum SidebarPlacement {\n LEFT = 'left',\n RIGHT = 'right',\n}\n\nexport enum SidebarSize {\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n CUSTOM = 'custom',\n}\n\nexport interface SidebarConfig {\n placement: SidebarPlacement\n size: SidebarSize\n width?: string\n}\n\nexport interface SidebarProps extends Omit<ContainerWidgetProps, 'config'> {\n config: SidebarConfig\n paramMappings?: ContainerParamMappings\n}\n","import type { ConditionsFormat, TriggerOperation } from '@/modules/ecosystem/action-system'\n\nexport type ModelName = string\n\nexport enum ApiAction {\n QUESTIONNAIRE_CREATE = 'questionnaire.create',\n CRF_CREATE = 'crf.create',\n CRF_UPDATE = 'crf.update',\n CRF_DELETE = 'crf.delete',\n EXTERNAL_API_CALL = 'external_api_call',\n LOG_CREATE = 'log.create',\n BULK_UPLOAD_UPDATE = 'bulk_upload.update',\n INVOKE_LAMBDA = 'invoke_lambda',\n}\n\nexport type NotifiedAboutType =\n | `model_${ModelName}`\n | `model_displayer_${ModelName}`\n | `model_${ModelName}_${TriggerAction}`\n | `model_displayer_${ModelName}_${TriggerAction}`\n\nexport interface CreateTriggerPayload {\n notified_about: NotifiedAboutType\n text_content?: string\n configuration?: NotificationConfigurationConf\n}\n\nexport type UpdateTriggerPayload = Partial<CreateTriggerPayload>\n\nexport interface ConditionExpression {\n [field: string]: ConditionValue\n}\n\nexport interface ConditionOperator {\n AND?: Conditions[]\n OR?: Conditions[]\n NOT?: Conditions[]\n JQ?: string\n}\n\nexport type Conditions = ConditionExpression | ConditionOperator\n\nexport interface ConditionValue {\n equal?: string | number | boolean\n not_equal?: string | number | boolean\n contains?: string\n not_contains?: string\n greater_than?: string | number\n less_than?: string | number\n empty?: string | number | boolean\n not_empty?: string | number | boolean\n parseValue?: boolean\n operator?: 'AND' | 'OR'\n}\n\nexport interface LoadPatientDataType {\n join?: string[]\n where: Record<string, string> | 'auto' // { fieldName: JQ query }\n}\n\n// `ConditionsFormat` now lives in the action-system module (v2), next to the conditions matcher\n// that consumes it. Import it from `@/modules/ecosystem/action-system`; `src/lib.ts` re-exports\n// its runtime values for external consumers of the package.\n\n/**\n * Importing the types from json-logic-js makes the process of generating schema.json fails so we use any instead\n */\nexport type ConditionsRules = Conditions | any /* RulesLogic<AdditionalOperation> */\n\nexport interface NotificationConfigurationConf {\n conditions?: ConditionsRules\n join?: string[]\n load_patient?: LoadPatientDataType\n action?: ApiAction\n conditionsFormat?: ConditionsFormat\n}\n\n/**\n * Operation a legacy trigger fires on: every `TriggerOperation` of the action-system module plus\n * `creation`, the legacy spelling of `create`, kept because it is part of this system's persisted\n * `notified_about` values and of the public URL of the legacy `afterSaveHooks/:action` endpoint.\n *\n * The `satisfies` clause enforces the \"TriggerOperation + creation\" shape at the type level. The\n * import is type-only on purpose: the action-system service imports this file at runtime, so a\n * runtime import (e.g. spreading `TriggerOperation` into this object) closes an import cycle and,\n * whenever the action-system module graph happens to load first, evaluates the spread against a\n * half-initialized module — `TriggerAction` silently loses every member but `CREATION`.\n */\nexport const TriggerAction = {\n CREATE: 'create',\n UPDATE: 'update',\n DELETE: 'delete',\n CREATION: 'creation',\n} as const satisfies { [K in Uppercase<TriggerOperation>]: Lowercase<K> } & { CREATION: 'creation' }\nexport type TriggerAction = (typeof TriggerAction)[keyof typeof TriggerAction]\n\nexport enum IntrospectionSchemaFieldType {\n TEXT = 'text',\n DATE = 'date',\n TIME = 'time',\n BOOLEAN = 'boolean',\n NUMBER = 'number',\n SELECT = 'select',\n MULTISELECT = 'multiselect',\n HIDDEN = 'hidden',\n}\n\nexport interface IntrospectionField {\n name: string\n type: IntrospectionSchemaFieldType\n options?: { value: string | number; title: string }[]\n label: string\n}\n\nexport interface IntrospectionOption {\n value: string\n label: string\n}\n\nexport interface IntrospectionSchemaModel {\n label: string\n fields: IntrospectionField[]\n relations?: IntrospectionOption[]\n canJoinPatient?: boolean\n}\n\nexport interface IntrospectionSchema {\n models: Record<string, IntrospectionSchemaModel>\n externalApis?: { value: string; label: string; methods?: string | string[] }[]\n lambdas?: { value: string; label: string }[]\n}\n","import { TriggerAction } from '../index'\n\nexport class NotifiedAboutInfo {\n notified_about: string\n\n constructor(notifiedAbout: string) {\n this.notified_about = notifiedAbout\n }\n\n crfName(): string | null {\n // This only supports triggers based on crf (Patient Creation, crf_{crfName}_{crfAction}). Not field triggers\n if (this.notified_about.startsWith('crf_')) {\n return this.notified_about.split('_')[1]\n } else if (this.notified_about.startsWith('Patient')) {\n return 'patient'\n } else {\n return null\n }\n }\n\n actionTrigger(): TriggerAction | null {\n // This only supports triggers based on crf (Patient Creation, crf_{crfName}_{crfAction}). Not field triggers\n if (this.notified_about.toLowerCase().endsWith(TriggerAction.UPDATE)) {\n return TriggerAction.UPDATE\n } else if (this.notified_about.toLowerCase().endsWith(TriggerAction.CREATION)) {\n return TriggerAction.CREATION\n }\n return null\n }\n\n isCrfTrigger(): boolean {\n return this.notified_about === PATIENT_CREATION_ABOUT || this.notified_about.startsWith('crf_')\n }\n\n isModelTrigger(): boolean {\n return this.notified_about.startsWith('model_')\n }\n\n isDisplayerTrigger(): boolean {\n return this.notified_about.startsWith('model_displayer_')\n }\n\n isFieldTrigger(): boolean {\n return !isNaN(parseInt(this.notified_about))\n }\n\n getModelName(): string | undefined {\n if (this.isModelTrigger() && !this.isDisplayerTrigger()) {\n // get modelName from 'model_{modelName}_{action}'\n const prefix = 'model_'\n const actionSuffixes = Object.values(TriggerAction)\n\n let modelName = this.notified_about.slice(prefix.length)\n\n for (const suffix of actionSuffixes) {\n if (modelName.endsWith(`_${suffix}`)) {\n modelName = modelName.slice(0, -`_${suffix}`.length)\n break\n }\n }\n\n return modelName\n } else if (this.isDisplayerTrigger()) {\n // Delete all non displayerName parts because can be a subform so it has internal _ in the name\n // Get displayerName from 'model_displayer_{displayerName}_{action}'\n const parts = this.notified_about.split('_')\n\n // If it has action name, delete it\n const lastPart = parts[parts.length - 1]\n if (Object.values(TriggerAction).includes(lastPart as TriggerAction)) {\n parts.pop()\n }\n\n // Ignore the model_displayer_ part and return the rest\n return parts.slice(2).join('_')\n }\n\n return undefined\n }\n\n getModelTriggerAction(): string | null {\n const modelName = this.getModelName()\n if (modelName && this.isDisplayerTrigger()) {\n return this.notified_about\n .replace(`model_displayer_${modelName}_`, '')\n .replace(`model_displayer_${modelName}`, '')\n } else if (modelName && this.isModelTrigger()) {\n return this.notified_about.replace(`model_${modelName}_`, '').replace(`model_${modelName}`, '')\n }\n return null\n }\n}\n\nexport const PATIENT_CREATION_ABOUT = 'Patient Creation'\n","import type { Dayjs } from 'dayjs'\n\nexport interface CreateQuestionnairePayload {\n patientId?: number\n type: 'unique' | 'periodic'\n date: string\n untilDate?: string\n formName: string\n}\n\nexport enum QuestionnaireInfoUpdateMode {\n START_OVER = 0,\n RESUME = 1,\n}\n\nexport interface QuestionnaireInfoUpdateOptions {\n defaultMode: QuestionnaireInfoUpdateMode\n referenceFieldIdModes?: {\n [key: string]: QuestionnaireInfoUpdateMode\n }\n}\n\nexport interface QuestionnaireInfoPatchData {\n crf_name?: string\n patient_id: number\n number_of_questionaries?: number | null\n last_update?: string | null\n last_update_form_id?: number | null\n procedure_date: string // reference date is a date time but should be considered as a date\n activation_date?: Dayjs | string | null // window start\n end_date?: string | null // window end\n next_date?: string | null // next window start\n finish_date?: string | null // global finish date\n questionaries_not_filled?: number | null\n flexible_entry?: number\n field_reference_id?: number | null\n total_tasks: number\n activation_time_tz?: string | null\n}\n\nexport interface QuestionnaireInfoData extends QuestionnaireInfoPatchData {\n id: number\n}\n","// Canonical `ProcessLogCode` lives in the v2 `process-log` module\n// (`@/modules/ecosystem/process-log`), which is where it is extended with the trigger-engine codes\n// (#348) and where the typed `extra_data` contract keyed by it lives.\n//\n// Its *value* is deliberately NOT re-exported from here. This file is reached through `@v1/schemas`,\n// which `process-log.model.ts` itself imports (for `ProcessLogType`): re-exporting the v2 enum from\n// here closes an import cycle `@v1/schemas` → v2 barrel → `process-log.model.ts` → `@v1/schemas`,\n// and under that cycle the enum resolves to `undefined` for whichever module in it loads first —\n// not a type error but a runtime one (`Cannot read properties of undefined`) in\n// `BulkUploadController.getBulkUploads`. The v1 consumers import the value straight from the v2\n// module instead, which keeps the dependency one-directional (v1 → v2) and leaves a single enum.\n//\n// `import type` is what makes the line below safe where a value import is not: it is erased at\n// compile time, so the interfaces here can still be typed by the canonical enum without the emitted\n// JavaScript importing anything.\nimport type { ProcessLogCode } from '@/modules/ecosystem/process-log'\n\nexport enum ProcessLogType {\n LOG = 0,\n RESULT = 1,\n WARNING = -1,\n ERROR = -2,\n}\n\nexport interface CreateProcessLogPayload {\n relatedModel?: string\n relatedId?: string\n code?: ProcessLogCode\n log: string\n longLog?: string\n extraData?: Record<string, any>\n type: ProcessLogType\n requiresAttention?: boolean\n reviewed?: boolean\n /** Retention deadline; the row is purged after it. Never expires when unset. */\n expiresAt?: string | null\n /**\n * Id of this row's parent process_log row (#348), e.g. a trigger_action row's parent is the\n * trigger_evaluation row of the trigger that ran it. Silently dropped by `ProcessLog.insert` on an\n * ecosystem database whose `parent_id` column has not been applied yet (see the module's README).\n */\n parentId?: number | null\n /**\n * Domain entity that originated the execution (#348 follow-up), e.g. the patient a trigger fired\n * for — as opposed to `relatedModel`/`relatedId` above, which name the row's own subject (the\n * trigger, the action). See the module's README, \"`related_*` vs `subject_*`\". Silently dropped by\n * `ProcessLog.insert` on an ecosystem database whose `subject_model`/`subject_id` columns have not\n * been applied yet.\n */\n subjectModel?: string | null\n subjectId?: string | null\n}\n\nexport interface UpdateProcessLogPayload {\n reviewed?: boolean\n}\n\nexport interface ProcessLog {\n id: number\n relatedModel?: string\n relatedId?: string\n code?: ProcessLogCode\n log: string\n type: ProcessLogType\n reviewed?: boolean\n created_user?: number\n related_model?: string\n related_id?: string\n long_log?: string\n extra_data?: Record<string, any>\n requires_attention?: boolean\n reviewed_date?: string\n project_id?: number\n expires_at?: string | null\n parent_id?: number | null\n subject_model?: string | null\n subject_id?: string | null\n}\n\n// TODO Document and type the process log creation and fields!!\n","export interface UpdateBulkUploadPayload {\n id: number\n patientId?: number\n formId?: number\n hospitalId?: number\n}\n\nexport enum BulkUploadStatus {\n error = -1,\n uploaded = 0,\n success = 1,\n}\n"],"names":["FORM_TYPES","STATUS","ContainerType","WidgetType","DataLoaderType","ColumnType","OrderType","PresentationWidget","AggregationType","IconPosition","LinkType","ModalSize","SidebarPlacement","SidebarSize","ApiAction","IntrospectionSchemaFieldType","QuestionnaireInfoUpdateMode","ProcessLogType","BulkUploadStatus"],"mappings":"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;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AACO,MAAM,aAAa;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AACO,MAAM,oBAAoB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,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"}
|
|
1
|
+
{"version":3,"file":"perseed-api.cjs","sources":["../../../src/constants/datesFormats.ts","../../../src/constants/Exporter.ts","../../../src/constants/Forms.ts","../../../src/constants/NotifiedTypes.ts","../../../src/constants/PhoneCodes.ts","../../../src/constants/Questionnaire.ts","../../../src/constants/Role.ts","../../../src/constants/SeedPrivilege.ts","../../../src/constants/UserProfile.ts","../../../src/constants/View.ts","../../../src/schemas/container_widget/types.ts","../../../src/schemas/container_widget/widgetTypes/PatientListProps.ts","../../../src/schemas/container_widget/widgetTypes/presentationWidgetTypes/IconTextPresentationWidget.ts","../../../src/schemas/container_widget/widgetTypes/presentationWidgetTypes/LinkPresentationWidget.ts","../../../src/schemas/container_widget/widgetTypes/ModalProps.ts","../../../src/schemas/container_widget/widgetTypes/SidebarProps.ts","../../../src/schemas/notification_configuration/types.ts","../../../src/schemas/notification_configuration/NotifiedAboutInfo.ts","../../../src/schemas/questionnaire/types.ts","../../../src/schemas/process_log/types.ts","../../../src/schemas/bulk_upload/types.ts"],"sourcesContent":["export const DATE_FORMAT = 'YYYY-MM-DD'\nexport const TIME_FORMAT = 'HH:mm:ss'\nexport const SHORT_TIME_FORMAT = 'HH:mm'\nexport const DATETIME_SHORT_FORMAT = 'YYYY-MM-DD HH:mm'\nexport const MYSQL_DATE_FORMAT = DATE_FORMAT\nexport const MYSQL_DATETIME_FORMAT = 'YYYY-MM-DD HH:mm:ss'\n","export const Exporter = {\n PENDING: 'IN_PROGRESS',\n ERROR: 'ERROR',\n SUCCESS: 'COMPLETED',\n AVAILABLE_FORMATS: {\n xls: 0,\n csv: 2,\n spss: 1,\n },\n}\n\nexport default Exporter\n","/**\n * Form constants\n */\nimport { DATE_FORMAT } from './datesFormats'\n\nexport const FIELDS = {\n DECIMAL: 1,\n INTEGER: 2,\n MULTIPLE_SELECTION: 3,\n SELECTION: 4,\n DYNAMIC_SELECTION: 5,\n DATE: 6,\n HEADER: 7,\n SUBHEADER: 8,\n WARNING: 9,\n SUBFORM: 10,\n MEMO: 11,\n TEXT: 12,\n TEXT_AREA: 13,\n YES_NO: 14,\n TIME: 15,\n LINK_HREF: 16,\n COUNTRY: 17,\n HOSPITAL: 18,\n USERS: 19,\n DYNAMIC_FILE: 20,\n DYNAMIC_LINK_HREF: 21,\n SCAN_CODE: 22,\n PARAGRAPH: 23,\n FILE: 24,\n}\n\nexport const FIELD_NAMES = {\n DECIMAL_NAME: 'decimal',\n INTEGER_NAME: 'integer',\n MULTIPLE_SELECTION_NAME: 'multiple_selection',\n SELECTION_NAME: 'selection',\n DYNAMIC_SELECTION_NAME: 'dynamic_selection',\n DATE_NAME: 'date',\n HEADER_NAME: 'header',\n SUBHEADER_NAME: 'subheader',\n WARNING_NAME: 'warning',\n SUBFORM_NAME: 'subform',\n MEMO_NAME: 'memo',\n TEXT_NAME: 'text',\n TEXT_AREA_NAME: 'text_area',\n YES_NO_NAME: 'yes_no',\n TIME_NAME: 'time',\n LINK_HREF_NAME: 'link_href',\n COUNTRY_NAME: 'country',\n HOSPITAL_NAME: 'hospital',\n USERS_NAME: 'users',\n DYNAMIC_FILE_NAME: 'dynamic_file',\n DYNAMIC_LINK_HREF_NAME: 'dynamic_link_href',\n SCAN_CODE_NAME: 'scan_code',\n PARAGRAPH_NAME: 'paragraph',\n FILE_NAME: 'file',\n}\n\nexport enum FORM_TYPES {\n STATIC = 0, // Used in perseed-js for static defined forms\n STANDARD = 1,\n FOLLOW_UP = 2,\n ADVERSE_EVENT = 3,\n QUESTIONNAIRE = 5,\n STUDY = 6,\n}\n\nexport const FIELD_NAMES_MAP = () => {\n let fieldTypeNames = {}\n\n // Mapping fields to { field_value : field_name }\n Object.keys(FIELDS).forEach((key) => {\n fieldTypeNames = {\n ...fieldTypeNames,\n [FIELDS[key]]: FIELD_NAMES[`${key}_NAME`],\n }\n })\n return fieldTypeNames\n}\n\nexport const NUMBER_TYPE = ['number', FIELD_NAMES.DECIMAL_NAME, FIELD_NAMES.INTEGER_NAME]\n\nexport const DATE_TYPE = ['date']\n\nexport const OBJECT_TYPE = ['object', FIELD_NAMES.SCAN_CODE_NAME]\n\nexport const CORE = {\n CREATION_TIME: 'creation_time',\n CREATION_USER: 'creation_user',\n CRF_NAME: 'crf_name',\n CRF_STATUS: 'crf_status',\n HOSPITAL: 'hospital',\n HOSPITAL_STATUS: 'hospital_status',\n ID: 'id',\n LOCK_STATE: 'lock_state',\n LOCK_USER: 'lock_user',\n LOCK_DATE: 'lock_date',\n MODIFICATION_TIME: 'mod_time',\n MODIFICATION_USER: 'mod_user',\n PATIENT_ID: 'patient_id',\n PATIENT_NUMBER: 'patient_number',\n PATIENT_NUMBER_STATUS: 'patient_number_status',\n RECORD_ID: 'record_id',\n SIGNATURE_DATE: 'signature_date',\n SIGNATURE_STATE: 'signature_state',\n SIGNATURE_USER: 'signature_user',\n STATUS: 'status',\n USER_IP: 'user_ip',\n DATE_OF_QUESTIONNAIRE: 'date_of_questionnaire',\n TIME_OF_QUESTIONNAIRE: 'time_of_questionnaire',\n VERSION: 'version',\n REFERENCE: 'reference',\n SUBFORM_ID: 'subform_id',\n}\n\nexport const EXCLUDE_FIELDS = Object.values(CORE)\n\nexport const AUDIT_FLAGS = {\n added: 'A',\n edited: 'E',\n deleted: 'D',\n}\nexport const FORM_NAMES = {\n PATIENT: 'patient',\n SEPARATOR: '_',\n}\nexport const FORM_SUFFIX = {\n AUDIT: 'audit',\n}\n\nexport const MULTIPLE_SELECTION_SEPARATOR = '~'\n/**\n * @deprecated Use STATUS_SUFFIX instead\n * @type {string}\n */\nexport const FIELD_SUFFIX = '_status'\nexport const STATUS_SUFFIX = '_status'\nexport const FIELD_STATUS = {\n filled: 'filled',\n unk: 'UNK',\n na: 'NA',\n nd: 'ND',\n}\n\n// fieldName.endsWidth(STATUS_SUFFIX) is not valid as status field tester because fields like crf_status\nexport const STATUS_FIELD_REGEXP = /^[0-9a-f]{33}_status$/\nexport const isNotStatusField = function (fieldName) {\n return !STATUS_FIELD_REGEXP.test(fieldName)\n}\n\nexport const NO_FILL_STATUS = ['UNK', 'NA', 'ND']\n\nexport const TIME_SCHEMA = '^[0-1][0-9]:[0-5][0-9]$|^[0-2][0-3]:[0-5][0-9]$' // HH:mm\n\nexport const META_NAMES = {\n DEPENDENT_SOURCE: 'dependent_source',\n ENCRYPTED: 'encrypted',\n ENCRYPTED_LEVEL: 'encrypted_level',\n EXTERNAL_SHARING: 'external_sharing',\n SHOW_EMBEDDED_PDF: 'show_embedded_pdf',\n HIDDEN: 'hidden',\n IS_CRF_MAIN_FIELD: 'is_crf_main_field',\n MIN_VALUE: 'min-value',\n MIN_VALUE_VALIDATION: 'validation_of_less_than',\n MAX_VALUE: 'max-value',\n MAX_VALUE_VALIDATION: 'validation_of_higher_than',\n NEXT_FORM: 'next_form',\n MULTIPLE: 'is_multiple',\n ORDER: 'order',\n READ_ONLY: 'readonly',\n REQUIRED: 'is_required',\n REQUIRED_TYPE: 'type_of_required',\n SELECTION_VALUE: 'value_of_selection',\n SELECTION_VALUE_SLIDER: 'value_of_selection_slider',\n SOURCE_FIELD: 'source_field',\n TYPE: 'type',\n TYPE_QUESTIONARY: 'questionary',\n QUESTION_DAYS: 'question_days',\n QUESTION_TIME: 'question_time',\n QUESTION_HOURS: 'question_hours',\n QUESTION_MINUTES: 'question_minutes',\n REMINDER_DAYS: 'reminder_days',\n REMINDER_HOURS: 'reminder_hours',\n REMINDER_MINUTES: 'reminder_minutes',\n REMINDER_SUBJECT: 'reminder_subject',\n REMINDER_MESSAGE: 'reminder_message',\n MAX_NUMBER_REMINDER: 'max_number_reminder',\n NUMBER_QUESTION_PAGE: 'number_question_page',\n UNTIL: 'until',\n NUMBER_OF_QUESTIONAIRES: 'number_of_questionaires',\n QUESTION_COMMENTS: 'question_comments',\n TYPE_OF_QUESTIONNAIRE: 'type_of_questionnaire',\n HISTORY_OF_QUESTIONNAIRE: 'history_of_questionnaire',\n HISTORY: 'history',\n CRF_HISTORY: 'crf_history',\n PROCEDURE_CONDITION: 'procedure_condition',\n HREF_VALUE: 'href_value',\n HREF_TYPE: 'href_type',\n SIZE: 'size',\n FILE_TYPE: 'file_type',\n INPUT_TYPE: 'input_type',\n PARAGRAPH_CONTENT: 'paragraph_content',\n FILE_VALUE: 'file_value',\n WINDOW_REFERENCE: 'window_reference',\n START_DATE_DAYS: 'start_date_days',\n HAS_DEFAULT_VALUE: 'has_default_value',\n SPECIFIC_VALUE: 'specific_value',\n DEFAULT_VALUE: 'default_value',\n UNIQUE: 'unique',\n HELP: 'help',\n SELECTOR_TYPE: 'selector_type',\n SLIDER_SELECTOR: 'slider_selector',\n SLIDER_SCALE_ORIENTATION: 'slider_scale_orientation',\n UNTIL_DATE: 'until',\n PAGE_BREAK: 'page_break',\n WINDOW_BEFORE: 'window_before',\n WINDOW_AFTER: 'window_after',\n WINDOW_PERIOD: 'window_period',\n AI_PROCESSING_CONTEXT: 'ai_processing_context',\n AI_EXTRACTION_RELATED_FIELD: 'ai_extraction_related_field',\n AI_EXTRACTION_CONTEXT: 'ai_extraction_context',\n AI_ANONYMIZATION_NEEDED: 'ai_anonymization_needed',\n PROCESSING_FILE: 'processing_file',\n PROCESSING_FILE_ORIGINAL: 'processing_file_original',\n PROCESSING_FILE_DELETE_ORIGINAL_ON_FINISH: 'processing_file_delete_original_on_finish',\n PROC_ANONYMIZE: 'proc_anonymize',\n PROC_EXTRACTION: 'proc_extraction',\n IS_ACTION: 'is_action',\n ACTION_PROPS: 'action_props',\n}\n\nconst FIELD_METAS_TO_INCLUDE_IN_RESPONSE = [META_NAMES.PROCESSING_FILE]\n\nexport const AI_PROCESSING_META_NAMES = [META_NAMES.PROC_ANONYMIZE, META_NAMES.PROC_EXTRACTION]\n\nexport const META_RESTRICTION = {\n STRICT: 'strict',\n FLEXIBLE: 'flexible',\n}\nexport const META_STATUS = {\n ACTIVE: '1',\n}\n\nexport const SELECTOR_TYPE = {\n SLIDER: 'slider',\n DROPDOWN: 'dropdown',\n RADIO_BUTTON: 'radio_button',\n CHECK_BOX: 'check_box',\n}\n\nexport const SLIDER_TYPE = {\n STARS: '0',\n SCALE_RATING: '1',\n IMAGES: '2',\n}\n\nexport const SLIDER_SELECTOR_TYPE = {\n [SLIDER_TYPE.STARS]: 'stars',\n [SLIDER_TYPE.SCALE_RATING]: 'scale',\n [SLIDER_TYPE.IMAGES]: 'images',\n}\n\nexport const SLIDER_SCALE_TYPE = {\n HORIZONTAL: '0',\n VERTICAL: '1',\n}\n\nexport const SLIDER_SCALE_ORIENTATION_TYPE = {\n [SLIDER_SCALE_TYPE.HORIZONTAL]: 'horizontal',\n [SLIDER_SCALE_TYPE.VERTICAL]: 'vertical',\n}\n\nexport const HREF_TYPE = {\n NEW_WINDOW: 'newwindow',\n EMBEDDED_HTML: 'embeddedhtml',\n}\n\nexport const DYNAMIC_FILE_VALID_FORMATS = {\n 1: ['image/jpg', 'image/jpeg', 'image/bmp', 'image/gif', 'image/png'], // Images\n 2: [\n 'application/pdf',\n 'application/x-pdf',\n 'text/csv',\n 'application/vnd.ms-excel',\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n 'application/vnd.oasis.opendocument.text',\n 'application/msword',\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n ], // Documents\n 3: ['application/pdf', 'application/x-pdf'], // PDF\n 4: [\n 'application/dicom',\n 'application/gzip',\n 'application/x-gzip',\n 'application/tar',\n 'application/tar+gzip',\n 'application/zip',\n 'application/x-rar-compressed',\n 'application/x-zip-compressed',\n 'application/x-7z-compressed',\n 'application/octet-stream',\n ], // DICOM\n 5: [\n 'video/x-msvideo',\n 'video/x-mkv',\n 'video/x-matroska',\n 'video/mpeg',\n 'video/mpeg4',\n 'video/mpg',\n 'video/ogg',\n 'video/webm',\n 'video/3gpp',\n 'video/3gpp2',\n 'video/mp4',\n 'video/divx',\n 'video/avi',\n 'video/quicktime',\n 'video/x-ms-wmv',\n 'video/x-flv',\n ], // Video\n}\n\nexport const DEFAULT_CONFIGURATION_PATIENT_LIST = [\n {\n id: '1',\n name: 'patient_number',\n type: 'Zend\\\\Form\\\\Element\\\\Text',\n label: 'Patient Id',\n required: '1',\n crf_name: 'patient',\n status: '1',\n },\n {\n type: '4',\n name: 'hospital',\n label: 'Hospital',\n required: '0',\n id: '2',\n crf_name: 'patient',\n status: '1',\n },\n {\n id: '1000000001',\n name: 'procedure',\n type: 'customzation',\n label: 'Procedures',\n required: '1',\n crf_name: '',\n status: '1',\n },\n]\n\nexport const SELECT_FIELD_TYPES = [\n FIELD_NAMES.SELECTION_NAME,\n FIELD_NAMES.DYNAMIC_SELECTION_NAME,\n ...Object.values(SELECTOR_TYPE),\n]\nexport const MULTIPLE_SELECT_FIELD_TYPES = [FIELD_NAMES.MULTIPLE_SELECTION_NAME]\nexport const NUMERIC_FIELD_TYPES = [FIELD_NAMES.DECIMAL_NAME, FIELD_NAMES.INTEGER_NAME]\nexport const ALL_SELECT_FIELD_TYPES = [...SELECT_FIELD_TYPES, ...MULTIPLE_SELECT_FIELD_TYPES]\n\nconst Forms = {\n FIELDS,\n FIELD_NAMES,\n FORM_TYPES,\n FIELD_NAMES_MAP,\n NUMBER_TYPE,\n DATE_TYPE,\n OBJECT_TYPE,\n CORE,\n EXCLUDE_FIELDS,\n AUDIT_FLAGS,\n FORM_NAMES,\n FORM_SUFFIX,\n MULTIPLE_SELECTION_SEPARATOR,\n FIELD_SUFFIX,\n STATUS_SUFFIX,\n FIELD_STATUS,\n STATUS_FIELD_REGEXP,\n isNotStatusField,\n NO_FILL_STATUS,\n DATE_FORMAT,\n TIME_SCHEMA,\n META_NAMES,\n META_RESTRICTION,\n META_STATUS,\n SELECTOR_TYPE,\n SLIDER_TYPE,\n SLIDER_SELECTOR_TYPE,\n SLIDER_SCALE_TYPE,\n SLIDER_SCALE_ORIENTATION_TYPE,\n HREF_TYPE,\n DYNAMIC_FILE_VALID_FORMATS,\n DEFAULT_CONFIGURATION_PATIENT_LIST,\n FIELD_METAS_TO_INCLUDE_IN_RESPONSE,\n}\n\nexport default Forms\n","export const NOTIFIED_TYPES = {\n EMAIL: 1,\n MOBILE: 2,\n PLATFORM: 3,\n SMS: 4,\n HL7: 5,\n ALL: ['1', '2', '3', '4', '5'],\n}\n","// copied from https://raw.githubusercontent.com/jackocnr/intl-tel-input/master/src/js/data.js\n\n// Array of country objects for the flag dropdown.\n\n// Here is the criteria for the plugin to support a given country/territory\n// - It has an iso2 code: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2\n// - It has it's own country calling code (it is not a sub-region of another country): https://en.wikipedia.org/wiki/List_of_country_calling_codes\n// - It has a flag in the region-flags project: https://github.com/behdad/region-flags/tree/gh-pages/png\n// - It is supported by libphonenumber (it must be listed on this page): https://github.com/googlei18n/libphonenumber/blob/master/resources/ShortNumberMetadata.xml\n\n// Each country array has the following information:\n// [\n// Country name,\n// iso2 code,\n// International dial code,\n// Order (if >1 country with same dial code),\n// Area codes\n// ]\nexport const allCountries = [\n ['Afghanistan (افغانستان)', 'af', '93'],\n ['Albania (Shqipëri)', 'al', '355'],\n ['Algeria (الجزائر)', 'dz', '213'],\n ['American Samoa', 'as', '1', 5, ['684']],\n ['Andorra', 'ad', '376'],\n ['Angola', 'ao', '244'],\n ['Anguilla', 'ai', '1', 6, ['264']],\n ['Antigua and Barbuda', 'ag', '1', 7, ['268']],\n ['Argentina', 'ar', '54'],\n ['Armenia (Հայաստան)', 'am', '374'],\n ['Aruba', 'aw', '297'],\n ['Ascension Island', 'ac', '247'],\n ['Australia', 'au', '61', 0],\n ['Austria (Österreich)', 'at', '43'],\n ['Azerbaijan (Azərbaycan)', 'az', '994'],\n ['Bahamas', 'bs', '1', 8, ['242']],\n ['Bahrain (البحرين)', 'bh', '973'],\n ['Bangladesh (বাংলাদেশ)', 'bd', '880'],\n ['Barbados', 'bb', '1', 9, ['246']],\n ['Belarus (Беларусь)', 'by', '375'],\n ['Belgium (België)', 'be', '32'],\n ['Belize', 'bz', '501'],\n ['Benin (Bénin)', 'bj', '229'],\n ['Bermuda', 'bm', '1', 10, ['441']],\n ['Bhutan (འབྲུག)', 'bt', '975'],\n ['Bolivia', 'bo', '591'],\n ['Bosnia and Herzegovina (Босна и Херцеговина)', 'ba', '387'],\n ['Botswana', 'bw', '267'],\n ['Brazil (Brasil)', 'br', '55'],\n ['British Indian Ocean Territory', 'io', '246'],\n ['British Virgin Islands', 'vg', '1', 11, ['284']],\n ['Brunei', 'bn', '673'],\n ['Bulgaria (България)', 'bg', '359'],\n ['Burkina Faso', 'bf', '226'],\n ['Burundi (Uburundi)', 'bi', '257'],\n ['Cambodia (កម្ពុជា)', 'kh', '855'],\n ['Cameroon (Cameroun)', 'cm', '237'],\n [\n 'Canada',\n 'ca',\n '1',\n 1,\n [\n '204',\n '226',\n '236',\n '249',\n '250',\n '289',\n '306',\n '343',\n '365',\n '387',\n '403',\n '416',\n '418',\n '431',\n '437',\n '438',\n '450',\n '506',\n '514',\n '519',\n '548',\n '579',\n '581',\n '587',\n '604',\n '613',\n '639',\n '647',\n '672',\n '705',\n '709',\n '742',\n '778',\n '780',\n '782',\n '807',\n '819',\n '825',\n '867',\n '873',\n '902',\n '905',\n ],\n ],\n ['Cape Verde (Kabu Verdi)', 'cv', '238'],\n ['Caribbean Netherlands', 'bq', '599', 1, ['3', '4', '7']],\n ['Cayman Islands', 'ky', '1', 12, ['345']],\n ['Central African Republic (République centrafricaine)', 'cf', '236'],\n ['Chad (Tchad)', 'td', '235'],\n ['Chile', 'cl', '56'],\n ['China (中国)', 'cn', '86'],\n ['Christmas Island', 'cx', '61', 2, ['89164']],\n ['Cocos (Keeling) Islands', 'cc', '61', 1, ['89162']],\n ['Colombia', 'co', '57'],\n ['Comoros (جزر القمر)', 'km', '269'],\n ['Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)', 'cd', '243'],\n ['Congo (Republic) (Congo-Brazzaville)', 'cg', '242'],\n ['Cook Islands', 'ck', '682'],\n ['Costa Rica', 'cr', '506'],\n ['Côte d’Ivoire', 'ci', '225'],\n ['Croatia (Hrvatska)', 'hr', '385'],\n ['Cuba', 'cu', '53'],\n ['Curaçao', 'cw', '599', 0],\n ['Cyprus (Κύπρος)', 'cy', '357'],\n ['Czech Republic (Česká republika)', 'cz', '420'],\n ['Denmark (Danmark)', 'dk', '45'],\n ['Djibouti', 'dj', '253'],\n ['Dominica', 'dm', '1', 13, ['767']],\n ['Dominican Republic (República Dominicana)', 'do', '1', 2, ['809', '829', '849']],\n ['Ecuador', 'ec', '593'],\n ['Egypt (مصر)', 'eg', '20'],\n ['El Salvador', 'sv', '503'],\n ['Equatorial Guinea (Guinea Ecuatorial)', 'gq', '240'],\n ['Eritrea', 'er', '291'],\n ['Estonia (Eesti)', 'ee', '372'],\n ['Eswatini', 'sz', '268'],\n ['Ethiopia', 'et', '251'],\n ['Falkland Islands (Islas Malvinas)', 'fk', '500'],\n ['Faroe Islands (Føroyar)', 'fo', '298'],\n ['Fiji', 'fj', '679'],\n ['Finland (Suomi)', 'fi', '358', 0],\n ['France', 'fr', '33'],\n ['French Guiana (Guyane française)', 'gf', '594'],\n ['French Polynesia (Polynésie française)', 'pf', '689'],\n ['Gabon', 'ga', '241'],\n ['Gambia', 'gm', '220'],\n ['Georgia (საქართველო)', 'ge', '995'],\n ['Germany (Deutschland)', 'de', '49'],\n ['Ghana (Gaana)', 'gh', '233'],\n ['Gibraltar', 'gi', '350'],\n ['Greece (Ελλάδα)', 'gr', '30'],\n ['Greenland (Kalaallit Nunaat)', 'gl', '299'],\n ['Grenada', 'gd', '1', 14, ['473']],\n ['Guadeloupe', 'gp', '590', 0],\n ['Guam', 'gu', '1', 15, ['671']],\n ['Guatemala', 'gt', '502'],\n ['Guernsey', 'gg', '44', 1, ['1481', '7781', '7839', '7911']],\n ['Guinea (Guinée)', 'gn', '224'],\n ['Guinea-Bissau (Guiné Bissau)', 'gw', '245'],\n ['Guyana', 'gy', '592'],\n ['Haiti', 'ht', '509'],\n ['Honduras', 'hn', '504'],\n ['Hong Kong (香港)', 'hk', '852'],\n ['Hungary (Magyarország)', 'hu', '36'],\n ['Iceland (Ísland)', 'is', '354'],\n ['India (भारत)', 'in', '91'],\n ['Indonesia', 'id', '62'],\n ['Iran (ایران)', 'ir', '98'],\n ['Iraq (العراق)', 'iq', '964'],\n ['Ireland', 'ie', '353'],\n ['Isle of Man', 'im', '44', 2, ['1624', '74576', '7524', '7924', '7624']],\n ['Israel (ישראל)', 'il', '972'],\n ['Italy (Italia)', 'it', '39', 0],\n ['Jamaica', 'jm', '1', 4, ['876', '658']],\n ['Japan (日本)', 'jp', '81'],\n ['Jersey', 'je', '44', 3, ['1534', '7509', '7700', '7797', '7829', '7937']],\n ['Jordan (الأردن)', 'jo', '962'],\n ['Kazakhstan (Казахстан)', 'kz', '7', 1, ['33', '7']],\n ['Kenya', 'ke', '254'],\n ['Kiribati', 'ki', '686'],\n ['Kosovo', 'xk', '383'],\n ['Kuwait (الكويت)', 'kw', '965'],\n ['Kyrgyzstan (Кыргызстан)', 'kg', '996'],\n ['Laos (ລາວ)', 'la', '856'],\n ['Latvia (Latvija)', 'lv', '371'],\n ['Lebanon (لبنان)', 'lb', '961'],\n ['Lesotho', 'ls', '266'],\n ['Liberia', 'lr', '231'],\n ['Libya (ليبيا)', 'ly', '218'],\n ['Liechtenstein', 'li', '423'],\n ['Lithuania (Lietuva)', 'lt', '370'],\n ['Luxembourg', 'lu', '352'],\n ['Macau (澳門)', 'mo', '853'],\n ['North Macedonia (Македонија)', 'mk', '389'],\n ['Madagascar (Madagasikara)', 'mg', '261'],\n ['Malawi', 'mw', '265'],\n ['Malaysia', 'my', '60'],\n ['Maldives', 'mv', '960'],\n ['Mali', 'ml', '223'],\n ['Malta', 'mt', '356'],\n ['Marshall Islands', 'mh', '692'],\n ['Martinique', 'mq', '596'],\n ['Mauritania (موريتانيا)', 'mr', '222'],\n ['Mauritius (Moris)', 'mu', '230'],\n ['Mayotte', 'yt', '262', 1, ['269', '639']],\n ['Mexico (México)', 'mx', '52'],\n ['Micronesia', 'fm', '691'],\n ['Moldova (Republica Moldova)', 'md', '373'],\n ['Monaco', 'mc', '377'],\n ['Mongolia (Монгол)', 'mn', '976'],\n ['Montenegro (Crna Gora)', 'me', '382'],\n ['Montserrat', 'ms', '1', 16, ['664']],\n ['Morocco (المغرب)', 'ma', '212', 0],\n ['Mozambique (Moçambique)', 'mz', '258'],\n ['Myanmar (Burma) (မြန်မာ)', 'mm', '95'],\n ['Namibia (Namibië)', 'na', '264'],\n ['Nauru', 'nr', '674'],\n ['Nepal (नेपाल)', 'np', '977'],\n ['Netherlands (Nederland)', 'nl', '31'],\n ['New Caledonia (Nouvelle-Calédonie)', 'nc', '687'],\n ['New Zealand', 'nz', '64'],\n ['Nicaragua', 'ni', '505'],\n ['Niger (Nijar)', 'ne', '227'],\n ['Nigeria', 'ng', '234'],\n ['Niue', 'nu', '683'],\n ['Norfolk Island', 'nf', '672'],\n ['North Korea (조선 민주주의 인민 공화국)', 'kp', '850'],\n ['Northern Mariana Islands', 'mp', '1', 17, ['670']],\n ['Norway (Norge)', 'no', '47', 0],\n ['Oman (عُمان)', 'om', '968'],\n ['Pakistan (پاکستان)', 'pk', '92'],\n ['Palau', 'pw', '680'],\n ['Palestine (فلسطين)', 'ps', '970'],\n ['Panama (Panamá)', 'pa', '507'],\n ['Papua New Guinea', 'pg', '675'],\n ['Paraguay', 'py', '595'],\n ['Peru (Perú)', 'pe', '51'],\n ['Philippines', 'ph', '63'],\n ['Poland (Polska)', 'pl', '48'],\n ['Portugal', 'pt', '351'],\n ['Puerto Rico', 'pr', '1', 3, ['787', '939']],\n ['Qatar (قطر)', 'qa', '974'],\n ['Réunion (La Réunion)', 're', '262', 0],\n ['Romania (România)', 'ro', '40'],\n ['Russia (Россия)', 'ru', '7', 0],\n ['Rwanda', 'rw', '250'],\n ['Saint Barthélemy', 'bl', '590', 1],\n ['Saint Helena', 'sh', '290'],\n ['Saint Kitts and Nevis', 'kn', '1', 18, ['869']],\n ['Saint Lucia', 'lc', '1', 19, ['758']],\n ['Saint Martin (Saint-Martin (partie française))', 'mf', '590', 2],\n ['Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)', 'pm', '508'],\n ['Saint Vincent and the Grenadines', 'vc', '1', 20, ['784']],\n ['Samoa', 'ws', '685'],\n ['San Marino', 'sm', '378'],\n ['São Tomé and Príncipe (São Tomé e Príncipe)', 'st', '239'],\n ['Saudi Arabia (المملكة العربية السعودية)', 'sa', '966'],\n ['Senegal (Sénégal)', 'sn', '221'],\n ['Serbia (Србија)', 'rs', '381'],\n ['Seychelles', 'sc', '248'],\n ['Sierra Leone', 'sl', '232'],\n ['Singapore', 'sg', '65'],\n ['Sint Maarten', 'sx', '1', 21, ['721']],\n ['Slovakia (Slovensko)', 'sk', '421'],\n ['Slovenia (Slovenija)', 'si', '386'],\n ['Solomon Islands', 'sb', '677'],\n ['Somalia (Soomaaliya)', 'so', '252'],\n ['South Africa', 'za', '27'],\n ['South Korea (대한민국)', 'kr', '82'],\n ['South Sudan (جنوب السودان)', 'ss', '211'],\n ['Spain (España)', 'es', '34'],\n ['Sri Lanka (ශ්රී ලංකාව)', 'lk', '94'],\n ['Sudan (السودان)', 'sd', '249'],\n ['Suriname', 'sr', '597'],\n ['Svalbard and Jan Mayen', 'sj', '47', 1, ['79']],\n ['Sweden (Sverige)', 'se', '46'],\n ['Switzerland (Schweiz)', 'ch', '41'],\n ['Syria (سوريا)', 'sy', '963'],\n ['Taiwan (台灣)', 'tw', '886'],\n ['Tajikistan', 'tj', '992'],\n ['Tanzania', 'tz', '255'],\n ['Thailand (ไทย)', 'th', '66'],\n ['Timor-Leste', 'tl', '670'],\n ['Togo', 'tg', '228'],\n ['Tokelau', 'tk', '690'],\n ['Tonga', 'to', '676'],\n ['Trinidad and Tobago', 'tt', '1', 22, ['868']],\n ['Tunisia (تونس)', 'tn', '216'],\n ['Turkey (Türkiye)', 'tr', '90'],\n ['Turkmenistan', 'tm', '993'],\n ['Turks and Caicos Islands', 'tc', '1', 23, ['649']],\n ['Tuvalu', 'tv', '688'],\n ['U.S. Virgin Islands', 'vi', '1', 24, ['340']],\n ['Uganda', 'ug', '256'],\n ['Ukraine (Україна)', 'ua', '380'],\n ['United Arab Emirates (الإمارات العربية المتحدة)', 'ae', '971'],\n ['United Kingdom', 'gb', '44', 0],\n ['United States', 'us', '1', 0],\n ['Uruguay', 'uy', '598'],\n ['Uzbekistan (Oʻzbekiston)', 'uz', '998'],\n ['Vanuatu', 'vu', '678'],\n ['Vatican City (Città del Vaticano)', 'va', '39', 1, ['06698']],\n ['Venezuela', 've', '58'],\n ['Vietnam (Việt Nam)', 'vn', '84'],\n ['Wallis and Futuna (Wallis-et-Futuna)', 'wf', '681'],\n ['Western Sahara (الصحراء الغربية)', 'eh', '212', 1, ['5288', '5289']],\n ['Yemen (اليمن)', 'ye', '967'],\n ['Zambia', 'zm', '260'],\n ['Zimbabwe', 'zw', '263'],\n ['Åland Islands', 'ax', '358', 1, ['18']],\n]\n\n// loop over all of the countries above, restructuring the data to be objects with named keys\n/* for (var i = 0; i < allCountries.length; i++) {\n var c = allCountries[i];\n allCountries[i] = {\n name: c[0],\n iso2: c[1],\n dialCode: c[2],\n priority: c[3] || 0,\n areaCodes: c[4] || null\n };\n} */\n\nexport const CountryPhoneCodes = allCountries.reduce((acc, c) => {\n const key = c[1] as string\n acc[key] = c[2]\n return acc\n}, {})\n\nexport default CountryPhoneCodes\n","export enum STATUS {\n CLOSED = 'Closed',\n OPEN = 'Open',\n COMING_SOON = 'Coming soon',\n}\n\nexport const HISTORY = {\n PERMANENT: 'Permanent',\n TEMPORARY: 'Temporary',\n}\n\nexport const TYPE = {\n QOL: 'QoL',\n TASK: 'Task',\n}\n\nexport type QuestionnaireTypeValue = 'QoL' | 'Task'\n\nexport const QUESTIONNAIRE_TYPE_OPTIONS = {\n '0': TYPE.QOL,\n '1': TYPE.TASK,\n}\n\nexport const HISTORY_TYPE_OPTIONS = {\n '0': HISTORY.PERMANENT,\n '1': HISTORY.TEMPORARY,\n}\nexport const QUESTIONNAIRE_DATE = {\n DATE: 'date_of_questionnaire',\n TIME: 'time_of_questionnaire',\n}\n\nexport const QUESTIONNAIRE_TYPE = {\n TYPE: 'type_of_questionnaire',\n}\n\nconst Questionnaire = {\n STATUS,\n HISTORY,\n TYPE,\n QUESTIONNAIRE_TYPE_OPTIONS,\n HISTORY_TYPE_OPTIONS,\n QUESTIONNAIRE_DATE,\n QUESTIONNAIRE_TYPE,\n}\n\nexport default Questionnaire\n","export const ROLES = {\n PERSEED_ADMIN: 'PerseedAdmin',\n ECOSYSTEM_ADMIN: 'EcosystemAdmin',\n USER: 'Users',\n SALE: 'Sales',\n}\n","/**\n * Seed Privilege constants\n */\n\nexport const SEED_PRIVILEGE = {\n ADD_PATIENT: 'add_patient',\n ADD_REPEATABLE_CRF: 'add_repeat_crf',\n ADVANCED_FILTER: 'advanced_filter',\n ALL_PATIENT_LIST: 'all_patient_list',\n ALLOW_TO_CONTROL_THESE_PROFILES: 'core_control_profile',\n CONNECTOR_ADD_CP: 'connector_add_cp',\n CONNECTOR_ADD_CRF: 'connector_add_crf',\n CONNECTOR_ADD_FIELD: 'connector_add_field',\n CORE_NOT_ALLOW_ACCESS_SENSITIVE_INFO: 'core_not_allow_access_sensitive_info',\n CORE_NOTIFICATION_LOG: 'core_notification_log',\n CORE_NOTIFICATION_MY_LOG: 'core_notification_my_log',\n DELETE_PATIENT: 'delete_patient',\n FULL_DELETE_PATIENT: 'full_delete_patient',\n DELETE_REPEATABLE_CRF: 'delete_crf',\n EXPORT_ANONYMIZED: 'export_anonymized',\n ENABLE_CP: 'enable_cp',\n EXPORT_MY_HOSPITALS: 'export_my_hospitals',\n EXPORT_NOT_ALLOW_ACCESS_SENSITIVE_INFO: 'export_not_allow_access_sensitive_info',\n EXPORT_USER_TIMESTAMP: 'export_user_timestamp',\n EXPORT_RAW: 'export_raw',\n FILTER_ALL: 'filter_all',\n FILTER_MY_HOSPITALS: 'filter_my_hospitals',\n MANAGE_USERS: 'core_manage_user',\n CORE_PRO_USER_SENSITIVE_INFO: 'core_pro_user_sensitive_info',\n NOTIFICATIONS: 'core_notification_seed',\n ONLY_MY_PATIENTS: 'only_my_patients',\n ONLY_UPDATE_PATIENTS_API: 'only_update_patients',\n PRO_USER: 'core_pro_user',\n USERS_MANAGEMENT_FOR_MY_ORGANIZATIONS: 'core_manage_user_hospital',\n UPLOAD_DOCUMENTS: 'add',\n DELETE_DOCUMENTS: 'delete',\n READ_DOCUMENTS: 'read',\n DISPLAY_PATIENT_LIST: 'advanced_patient_list',\n EXPORT_CONFIGURATION_EXPLICIT_ACCESS: 'export_configurations_explicit_access_only',\n TRIGGERS_MANAGEMENT: 'triggers_management',\n ALERTS_MANAGEMENT: 'alerts_management',\n DASHBOARD_SETTINGS_MANAGEMENT: 'dashboard_settings_manage_all',\n DASHBOARD_SETTINGS_OWN_MANAGEMENT: 'dashboard_settings_manage_own',\n DASHBOARD_SETTINGS_READ_ONLY: 'dashboard_settings_read_only',\n DASHBOARD_FOLLOWUP_ALL: 'dashboard_followup_access_all',\n DASHBOARD_FOLLOWUP_OWN: 'dashboard_followup_access_own',\n DASHBOARD_FOLLOWUP_ASSIGNED: 'dashboard_followup_access_assigned',\n CORE_MANAGE_ORGANIZATION: 'core_manage_organization',\n ADD_ORGANIZATIONS: 'core_add_organizations',\n EDIT_ORGANIZATIONS: 'core_edit_organizations',\n DELETE_ORGANIZATIONS: 'core_delete_organizations',\n} as const\n\ntype SEED_PRIVILEGE_Keys = keyof typeof SEED_PRIVILEGE\n\nexport type SEED_PRIVILEGES = (typeof SEED_PRIVILEGE)[SEED_PRIVILEGE_Keys]\n","export const MINIMIAL_TIMEZONE_LIST = [\n 'Etc/GMT+12',\n 'Pacific/Midway',\n 'Pacific/Honolulu',\n 'America/Juneau',\n 'America/Dawson',\n 'America/Boise',\n 'America/Chihuahua',\n 'America/Phoenix',\n 'America/Chicago',\n 'America/Regina',\n 'America/Mexico_City',\n 'America/Belize',\n 'America/Detroit',\n 'America/Indiana/Indianapolis',\n 'America/Bogota',\n 'America/Glace_Bay',\n 'America/Caracas',\n 'America/Santiago',\n 'America/St_Johns',\n 'America/Sao_Paulo',\n 'America/Argentina/Buenos_Aires',\n 'America/Godthab',\n 'Etc/GMT+2',\n 'Atlantic/Azores',\n 'Atlantic/Cape_Verde',\n 'GMT',\n 'Africa/Casablanca',\n 'Atlantic/Canary',\n 'Europe/Belgrade',\n 'Europe/Sarajevo',\n 'Europe/Brussels',\n 'Europe/Amsterdam',\n 'Africa/Algiers',\n 'Europe/Bucharest',\n 'Africa/Cairo',\n 'Europe/Helsinki',\n 'Europe/Athens',\n 'Asia/Jerusalem',\n 'Africa/Harare',\n 'Europe/Moscow',\n 'Asia/Kuwait',\n 'Africa/Nairobi',\n 'Asia/Baghdad',\n 'Asia/Tehran',\n 'Asia/Dubai',\n 'Asia/Baku',\n 'Asia/Kabul',\n 'Asia/Yekaterinburg',\n 'Asia/Karachi',\n 'Asia/Kolkata',\n 'Asia/Kathmandu',\n 'Asia/Dhaka',\n 'Asia/Colombo',\n 'Asia/Almaty',\n 'Asia/Rangoon',\n 'Asia/Bangkok',\n 'Asia/Krasnoyarsk',\n 'Asia/Shanghai',\n 'Asia/Kuala_Lumpur',\n 'Asia/Taipei',\n 'Australia/Perth',\n 'Asia/Irkutsk',\n 'Asia/Seoul',\n 'Asia/Tokyo',\n 'Asia/Yakutsk',\n 'Australia/Darwin',\n 'Australia/Adelaide',\n 'Australia/Sydney',\n 'Australia/Brisbane',\n 'Australia/Hobart',\n 'Asia/Vladivostok',\n 'Pacific/Guam',\n 'Asia/Magadan',\n 'Pacific/Fiji',\n 'Pacific/Auckland',\n 'Pacific/Tongatapu',\n]\nexport const LANG_CODES = [\n 'ab',\n 'aa',\n 'af',\n 'ak',\n 'sq',\n 'am',\n 'ar',\n 'an',\n 'hy',\n 'as',\n 'av',\n 'ae',\n 'ay',\n 'az',\n 'bm',\n 'ba',\n 'eu',\n 'be',\n 'bn',\n 'bh',\n 'bi',\n 'bs',\n 'br',\n 'bg',\n 'my',\n 'ca',\n 'ch',\n 'ce',\n 'ny',\n 'zh',\n 'cv',\n 'kw',\n 'co',\n 'cr',\n 'hr',\n 'cs',\n 'da',\n 'dv',\n 'nl',\n 'dz',\n 'en',\n 'eo',\n 'et',\n 'ee',\n 'fo',\n 'fj',\n 'fi',\n 'fr',\n 'ff',\n 'gl',\n 'gd',\n 'gv',\n 'ka',\n 'de',\n 'el',\n 'kl',\n 'gn',\n 'gu',\n 'ht',\n 'ha',\n 'he',\n 'hz',\n 'hi',\n 'ho',\n 'hu',\n 'is',\n 'io',\n 'ig',\n 'id',\n 'ia',\n 'ie',\n 'iu',\n 'ik',\n 'ga',\n 'it',\n 'ja',\n 'jv',\n 'kl',\n 'kn',\n 'kr',\n 'ks',\n 'kk',\n 'km',\n 'ki',\n 'rw',\n 'rn',\n 'ky',\n 'kv',\n 'kg',\n 'ko',\n 'ku',\n 'kj',\n 'lo',\n 'la',\n 'lv',\n 'li',\n 'ln',\n 'lt',\n 'lu',\n 'lg',\n 'lb',\n 'gv',\n 'mk',\n 'mg',\n 'ms',\n 'ml',\n 'mt',\n 'mi',\n 'mr',\n 'mh',\n 'mo',\n 'mn',\n 'na',\n 'nv',\n 'ng',\n 'nd',\n 'ne',\n 'no',\n 'nb',\n 'nn',\n 'ii',\n 'oc',\n 'oj',\n 'cu',\n 'or',\n 'om',\n 'os',\n 'pi',\n 'ps',\n 'fa',\n 'pl',\n 'pt',\n 'pa',\n 'qu',\n 'rm',\n 'ro',\n 'ru',\n 'se',\n 'sm',\n 'sg',\n 'sa',\n 'sr',\n 'sh',\n 'st',\n 'tn',\n 'sn',\n 'ii',\n 'sd',\n 'si',\n 'ss',\n 'sk',\n 'sl',\n 'so',\n 'nr',\n 'es',\n 'su',\n 'sw',\n 'ss',\n 'sv',\n 'tl',\n 'ty',\n 'tg',\n 'ta',\n 'tt',\n 'te',\n 'th',\n 'bo',\n 'ti',\n 'to',\n 'ts',\n 'tr',\n 'tk',\n 'tw',\n 'ug',\n 'uk',\n 'ur',\n 'uz',\n 've',\n 'vi',\n 'vo',\n 'wa',\n 'cy',\n 'wo',\n 'fy',\n 'xh',\n 'ji',\n 'yo',\n 'za',\n 'zu',\n]\nexport const LOCALE_LANG_CODES = [\n 'af_ZA',\n 'am_ET',\n 'ar_AE',\n 'ar_BH',\n 'ar_DZ',\n 'ar_EG',\n 'ar_IQ',\n 'ar_JO',\n 'ar_KW',\n 'ar_LB',\n 'ar_LY',\n 'ar_MA',\n 'arn_CL',\n 'ar_OM',\n 'ar_QA',\n 'ar_SA',\n 'ar_SY',\n 'ar_TN',\n 'ar_YE',\n 'as_IN',\n 'az_Cyrl_AZ',\n 'az_Latn_AZ',\n 'ba_RU',\n 'be_BY',\n 'bg_BG',\n 'bn_BD',\n 'bn_IN',\n 'bo_CN',\n 'br_FR',\n 'bs_Cyrl_BA',\n 'bs_Latn_BA',\n 'ca_ES',\n 'co_FR',\n 'cs_CZ',\n 'cy_GB',\n 'da_DK',\n 'de_AT',\n 'de_CH',\n 'de_DE',\n 'de_LI',\n 'de_LU',\n 'dsb_DE',\n 'dv_MV',\n 'el_GR',\n 'en_029',\n 'en_AU',\n 'en_BZ',\n 'en_CA',\n 'en_GB',\n 'en_IE',\n 'en_IN',\n 'en_JM',\n 'en_MY',\n 'en_NZ',\n 'en_PH',\n 'en_SG',\n 'en_TT',\n 'en_US',\n 'en_ZA',\n 'en_ZW',\n 'es_AR',\n 'es_BO',\n 'es_CL',\n 'es_CO',\n 'es_CR',\n 'es_DO',\n 'es_EC',\n 'es_ES',\n 'es_GT',\n 'es_HN',\n 'es_MX',\n 'es_NI',\n 'es_PA',\n 'es_PE',\n 'es_PR',\n 'es_PY',\n 'es_SV',\n 'es_US',\n 'es_UY',\n 'es_VE',\n 'et_EE',\n 'eu_ES',\n 'fa_IR',\n 'fi_FI',\n 'fil_PH',\n 'fo_FO',\n 'fr_BE',\n 'fr_CA',\n 'fr_CH',\n 'fr_FR',\n 'fr_LU',\n 'fr_MC',\n 'fy_NL',\n 'ga_IE',\n 'gd_GB',\n 'gl_ES',\n 'gsw_FR',\n 'gu_IN',\n 'ha_Latn_NG',\n 'he_IL',\n 'hi_IN',\n 'hr_BA',\n 'hr_HR',\n 'hsb_DE',\n 'hu_HU',\n 'hy_AM',\n 'id_ID',\n 'ig_NG',\n 'ii_CN',\n 'is_IS',\n 'it_CH',\n 'it_IT',\n 'iu_Cans_CA',\n 'iu_Latn_CA',\n 'ja_JP',\n 'ka_GE',\n 'kk_KZ',\n 'kl_GL',\n 'km_KH',\n 'kn_IN',\n 'kok_IN',\n 'ko_KR',\n 'ky_KG',\n 'lb_LU',\n 'lo_LA',\n 'lt_LT',\n 'lv_LV',\n 'mi_NZ',\n 'mk_MK',\n 'ml_IN',\n 'mn_MN',\n 'mn_Mong_CN',\n 'moh_CA',\n 'mr_IN',\n 'ms_BN',\n 'ms_MY',\n 'mt_MT',\n 'nb_NO',\n 'ne_NP',\n 'nl_BE',\n 'nl_NL',\n 'nn_NO',\n 'nso_ZA',\n 'oc_FR',\n 'or_IN',\n 'pa_IN',\n 'pl_PL',\n 'prs_AF',\n 'ps_AF',\n 'pt_BR',\n 'pt_PT',\n 'qut_GT',\n 'quz_BO',\n 'quz_EC',\n 'quz_PE',\n 'rm_CH',\n 'ro_RO',\n 'ru_RU',\n 'rw_RW',\n 'sah_RU',\n 'sa_IN',\n 'se_FI',\n 'se_NO',\n 'se_SE',\n 'si_LK',\n 'sk_SK',\n 'sl_SI',\n 'sma_NO',\n 'sma_SE',\n 'smj_NO',\n 'smj_SE',\n 'smn_FI',\n 'sms_FI',\n 'sq_AL',\n 'sr_Cyrl_BA',\n 'sr_Cyrl_CS',\n 'sr_Cyrl_ME',\n 'sr_Cyrl_RS',\n 'sr_Latn_BA',\n 'sr_Latn_CS',\n 'sr_Latn_ME',\n 'sr_Latn_RS',\n 'sv_FI',\n 'sv_SE',\n 'sw_KE',\n 'syr_SY',\n 'ta_IN',\n 'te_IN',\n 'tg_Cyrl_TJ',\n 'th_TH',\n 'tk_TM',\n 'tn_ZA',\n 'tr_TR',\n 'tt_RU',\n 'tzm_Latn_DZ',\n 'ug_CN',\n 'uk_UA',\n 'ur_PK',\n 'uz_Cyrl_UZ',\n 'uz_Latn_UZ',\n 'vi_VN',\n 'wo_SN',\n 'xh_ZA',\n 'yo_NG',\n 'zh_CN',\n 'zh_HK',\n 'zh_MO',\n 'zh_SG',\n 'zh_TW',\n 'zu_ZA',\n 'fi_FI',\n]\n","// This refers to the views on Mobile app\nexport const FORMS_VIEW = 'forms'\nexport const HISTORY_VIEW = 'history'\n\nconst View = {\n FORMS_VIEW,\n HISTORY_VIEW,\n}\n\nexport default View\n","import { ColProps } from './col'\nimport {\n ContainerWidgetProps,\n FormListProps,\n FormsListProps,\n ModalProps,\n PatientListProps,\n SectionCardProps,\n SidebarProps,\n ValueCardProps,\n} from './widgetTypes'\n\n/**\n * True containers: host other widgets inside them.\n */\nexport enum ContainerType {\n DASHBOARD = 'Dashboard',\n MODAL = 'Modal',\n SIDEBAR = 'Sidebar',\n}\n\n/**\n * Leaf widgets: rendered inside a container, do not hold other widgets.\n */\nexport enum WidgetType {\n VALUECARD = 'ValueCard',\n SECTIONCARD = 'SectionCard',\n PATIENTLIST = 'PatientList',\n QUESTIONNAIRE_LOG = 'QuestionnaireLog',\n PATIENTS_PROGRAMS = 'PatientsPrograms',\n PATIENTS = 'Patients',\n ADHERENCE_SUMMARY = 'AdherenceSummary',\n FORM_LIST = 'FormList',\n FORMS_LIST = 'FormsList', // FORM_LIST V2\n}\n\n/**\n * Union of both enums. Exposed as the previous enum name so existing consumers\n * keep compiling. New code should prefer the narrower `ContainerType` or\n * `WidgetType` when the distinction is relevant.\n */\n// TODO: remove this union type after moving all widgets to v2\nexport const ContainerWidgetType = {\n ...ContainerType,\n ...WidgetType,\n} as const\nexport type ContainerWidgetType = ContainerType | WidgetType\n\nexport type WidgetBlockConfig = {\n size?: number | ColProps\n}\n\nexport type ContainerWidgetBlockCreatePayload = {\n parent_id: number | string\n child_id: number\n position: number\n config?: WidgetBlockConfig | null\n}\n\nexport type ContainerBaseWidgetPayload = {\n title: string\n description?: string | null\n weight?: number\n size?: number | ColProps\n library?: boolean\n widgetsBlocks?: ContainerWidgetBlockCreatePayload[]\n}\n\nexport type EmptyProps = Record<string, never>\n\nexport type ContainerProps =\n | { type: ContainerType.DASHBOARD; params: ContainerWidgetProps }\n | { type: ContainerType.MODAL; params: ModalProps }\n | { type: ContainerType.SIDEBAR; params: SidebarProps }\n\nexport type WidgetProps =\n | { type: WidgetType.SECTIONCARD; params: SectionCardProps }\n | { type: WidgetType.VALUECARD; params: ValueCardProps }\n | { type: WidgetType.PATIENTLIST; params: PatientListProps }\n | { type: WidgetType.QUESTIONNAIRE_LOG; params: EmptyProps }\n | { type: WidgetType.PATIENTS_PROGRAMS; params: EmptyProps }\n | { type: WidgetType.PATIENTS; params: EmptyProps }\n | { type: WidgetType.ADHERENCE_SUMMARY; params: EmptyProps }\n | { type: WidgetType.FORM_LIST; params: FormListProps }\n | { type: WidgetType.FORMS_LIST; params: FormsListProps } // FORM_LIST V2\n\nexport type WidgetTypeProps = ContainerProps | WidgetProps\n\nexport type CreateContainerWidgetPayload = ContainerBaseWidgetPayload & WidgetTypeProps\n\nexport type UpdateContainerWidgetPayload = Partial<CreateContainerWidgetPayload>\n\nexport enum DataLoaderType {\n OUTCOMES = 'outcomes',\n}\n\nexport interface GenericContainerWidgetDataLoader {\n type: DataLoaderType\n params: Record<string, any>\n}\n\nexport type ContainerWidgetDataLoader<T> = T extends { type: infer Type; params: infer Params }\n ? { type: Type; params: Params }\n : never\n\n// TEMPLATE VERSIONS TO USE IN PERSEED-WEB\n\nexport type BaseContainerWidgetPayload<T extends ContainerWidgetType | undefined = undefined> = {\n id?: number\n title: string\n description?: string\n type: T | ContainerWidgetType\n library: boolean\n config?: WidgetBlockConfig\n position?: number\n created_user: number\n}\n\nexport type BaseContainerWidget = BaseContainerWidgetPayload & WidgetTypeProps\n\nexport type GenericParams =\n | SectionCardProps\n | ValueCardProps\n | PatientListProps\n | ContainerWidgetProps\n | ModalProps\n | SidebarProps\n\nexport type ContainerChildrenWidget<T extends ContainerWidgetType | undefined = undefined> =\n ContainerBaseWidgetPayload &\n BaseContainerWidgetPayload<T> & {\n id: number\n type: ContainerWidgetType\n params: GenericParams\n }\n\nexport type ContainerWidget<T extends ContainerWidgetType | undefined = undefined> = T extends ContainerWidgetType\n ? {\n id: number\n widgets?: ContainerChildrenWidget[]\n } & ContainerWidgetTypeToParams[T] &\n BaseContainerWidgetPayload<T>\n : {\n id: number\n params: any\n widgets?: ContainerChildrenWidget[]\n } & BaseContainerWidgetPayload<T>\n\nexport type ContainerTypeToParams = {\n [ContainerType.DASHBOARD]: {\n params: ContainerWidgetProps\n }\n [ContainerType.MODAL]: {\n params: ModalProps\n }\n [ContainerType.SIDEBAR]: {\n params: SidebarProps\n }\n}\n\nexport type WidgetTypeToParams = {\n [WidgetType.SECTIONCARD]: {\n params: SectionCardProps\n }\n [WidgetType.VALUECARD]: {\n params: ValueCardProps\n }\n [WidgetType.PATIENTLIST]: {\n params: PatientListProps\n }\n [WidgetType.QUESTIONNAIRE_LOG]: { params: EmptyProps }\n [WidgetType.PATIENTS_PROGRAMS]: { params: EmptyProps }\n [WidgetType.PATIENTS]: { params: EmptyProps }\n [WidgetType.ADHERENCE_SUMMARY]: { params: EmptyProps }\n [WidgetType.FORM_LIST]: {\n params: FormListProps\n }\n [WidgetType.FORMS_LIST]: {\n params: FormsListProps\n }\n}\n\nexport type ContainerWidgetTypeToParams = ContainerTypeToParams & WidgetTypeToParams\n","import { ConditionsRules } from '../../notification_configuration/types'\nimport {\n IconPresentationWidgetProps,\n IconTextPresentationWidgetProps,\n LinkPresentationWidgetFields,\n TextPresentationWidgetProps,\n} from './presentationWidgetTypes'\nimport { ListPresentationWidgetProps } from './presentationWidgetTypes/ListPresentationWidget'\n\n/**\n * Common table configuration persisted per widget/panel inside its `params`.\n * Shared by every table-backed widget so the same options apply uniformly to\n * the underlying table. Extensible: future table-level options (column\n * alignment, etc.) live here too.\n */\nexport interface TableSettings {\n /** When true, the export button is hidden in the widget's table. */\n hideExport?: boolean\n}\n\nexport interface PatientListProps {\n loadUserProfiles?: boolean\n loadAdherence?: boolean\n extraFields?: string[]\n loadPushTokens?: boolean\n loadUserAccessData?: boolean\n programId?: number | null\n prevAdherenceDays?: number | null\n filter?: FilterParams\n relatedData?: RelatedDataParams\n calculatedColumns?: CalculatedColumn[]\n columns?: PatientListColumn[]\n appearance?: PatientListAppearance\n tableSettings?: TableSettings\n}\n\nexport interface FormListProps {\n fields?: string[]\n filter?: FilterParams\n relatedData?: RelatedDataParams\n calculatedColumns?: CalculatedColumn[]\n columns?: PatientListColumn[]\n appearance?: PatientListAppearance\n mainForm: string\n tableSettings?: TableSettings\n}\n\nexport interface SortBy {\n field: string\n orderType: OrderType\n}\n\nexport const EXTERNAL_SOURCE_KEYS = ['health_data_daily', 'health_data_discrete'] as const\nexport type ExternalSourceType = (typeof EXTERNAL_SOURCE_KEYS)[number]\n\nexport interface FormListDataConfig {\n fields: string[]\n conditions?: Record<string, unknown>\n limit?: number | null\n sortBy?: SortBy[]\n mainForm?: boolean\n filterParams?: FilterParamsBlock[]\n}\n\nexport interface FormListColumnLayoutConfig {\n widgetType?: PresentationWidget\n title?: string\n source?: string\n widgetSettings?: PresentationWidgetSettingsV2\n hidden?: boolean\n fixed?: boolean\n aggregation?: ColumnAggregation\n}\n\nexport interface FormListBodyConditionalProps {\n conditions?: string\n continueEvaluate?: boolean\n textColor?: string\n bgColor?: string\n fontSize?: number | null\n fontWeight?: number | null\n}\n\nexport interface FormListAppearanceConfig {\n body?: {\n textColor?: string\n bgColor?: string\n fontSize?: number | null\n fontWeight?: number | null\n conditionalProps?: FormListBodyConditionalProps[]\n }\n header?: {\n textColor?: string\n bgColor?: string\n fontSize?: number | null\n fontWeight?: number | null\n }\n}\n\nexport interface FormListLayoutConfig {\n columns?: FormListColumnLayoutConfig[]\n}\n\n// FORM_LIST V2\nexport interface FormsListProps {\n data: {\n [key: string]: FormListDataConfig\n }\n layout?: FormListLayoutConfig\n appearance?: FormListAppearanceConfig\n finalParams?: FinalParam[]\n tableSettings?: TableSettings\n}\n\nexport type TrendPeriodUnit = 'hour' | 'day' | 'week' | 'month' | 'records'\n\nexport interface SelectOptionMapping {\n optionValue: string\n label: string\n chartValue: number\n}\n\n// A period window for the trend widget. The block itself is optional, but when present it must be\n// fully specified: from `fromValue` to `toValue` units ago, both sharing `unit`.\nexport interface TrendPeriodConfig {\n unit: TrendPeriodUnit\n fromValue: number\n toValue: number\n}\n\n// Style overrides applied to a trend cell. Settable both at the base level and, per\n// matched condition, inside `conditionalProps`.\nexport interface TrendPresentationWidgetStyleFields {\n // Handlebars template for the main value and the subvalue (percentage line).\n template?: string\n subTemplate?: string\n // Flat color props.\n valueColor?: string\n trendTextColor?: string\n sparklineColor?: string\n bgColor?: string\n}\n\n// A single conditional style: the style overrides plus the rule that activates them.\nexport interface TrendConditionalStyleProps extends TrendPresentationWidgetStyleFields {\n // Stringified jsonLogic rule evaluated against the row/trend values.\n conditions?: string\n continueEvaluate?: boolean\n}\n\nexport interface TrendPresentationWidgetProps extends TrendPresentationWidgetStyleFields {\n dateField: string\n valueField: string\n selectMapping?: SelectOptionMapping[]\n\n // Period shown in the detail chart of the modal.\n chartPeriod?: TrendPeriodConfig\n\n // Aggregation applied to the value field within each period.\n aggregationType: string\n\n // Periods compared to compute the trend percentage.\n comparisonPeriod?: TrendPeriodConfig\n basePeriodSameAsComparison?: boolean\n basePeriod?: TrendPeriodConfig\n\n // Conditional styles (jsonLogic-driven), each a style override gated by a rule.\n conditionalProps?: TrendConditionalStyleProps[]\n}\n\nexport type PresentationWidgetSettingsV2 =\n | TextPresentationWidgetProps\n | IconPresentationWidgetProps\n | IconTextPresentationWidgetProps\n | LinkPresentationWidgetFields\n | TrendPresentationWidgetProps\n\nexport type PresentationWidgetSettings =\n | TextPresentationWidgetProps\n | IconPresentationWidgetProps\n | IconTextPresentationWidgetProps\n | ListPresentationWidgetProps\n\nexport interface PatientListColumn {\n hidden?: boolean\n position?: number\n label?: string\n key: string\n notVisible?: boolean\n presentationWidget?: PresentationWidget\n presentationWidgetSettings?: PresentationWidgetSettings\n}\n\nexport interface RelatedConditions {\n conditions?: Record<string, unknown>\n limit?: number | null\n order?: Order[]\n}\n\nexport interface FilterParams {\n conditions?: Record<string, unknown>\n relations?: {\n [key: string]: RelatedConditions\n }\n}\n\nexport interface RelatedDataParams {\n join?: string[]\n}\n\nexport interface CalculatedColumn {\n key: string\n label?: string\n template: string\n notVisible?: boolean\n type: ColumnType\n}\n\nexport interface PatientListAppearance {\n backgroundColor?: PatientListBackgroundColor[]\n order?: Order[]\n}\n\nexport interface PatientListBackgroundColor {\n conditions?: ConditionsRules\n backgroundColor: string\n continueEvaluate?: boolean\n}\n\nexport enum ColumnType {\n TEXT = 'text',\n NUMBER = 'number',\n BOOLEAN = 'boolean',\n DATE = 'date',\n TIME = 'time',\n DATETIME = 'datetime',\n}\n\nexport interface Order {\n order: OrderType\n orderBy: string\n}\n\nexport enum OrderType {\n ASC = 'asc',\n DESC = 'desc',\n}\n\nexport enum PresentationWidget {\n TEXT = 'text',\n ICON = 'icon',\n ICON_TEXT = 'icon_text',\n LIST = 'list',\n REPEATABLE_FIELD = 'repeatable_field',\n LINK = 'link',\n TREND = 'trend',\n // Settings-less on purpose, like REPEATABLE_FIELD: it renders the manual actions that match the\n // row's record and takes no configuration of its own, so it has no entry in\n // PresentationWidgetSettingsV2 and no *PresentationWidgetProps type.\n MANUAL_ACTIONS = 'manual_actions',\n}\n\nexport type FinalParamType = 'string' | 'number' | 'boolean' | 'date' | 'time'\n\nexport interface FilterParamsBlock {\n required: boolean\n rules: Record<string, unknown>\n description?: string\n}\n\nexport interface FinalParam {\n name: string\n type: FinalParamType\n required: boolean\n}\n\nexport type ParamMappingSource = 'field' | 'literal'\n\nexport interface ParamMapping {\n source: ParamMappingSource\n value?: string | number | boolean | null\n}\n\n/**\n * Identifier for a single widget instance inside a container.\n * Today this is just `String(widget.id)` (e.g. `\"145\"`). Reserved for the future:\n * when the same widget can be added multiple times to the same container, the\n * identifier will use the `<widgetId>-<n>` shape (e.g. `\"145-1\"`, `\"145-2\"`).\n * Consumers should treat it as an opaque string and use the helpers in\n * `perseed-react-ui-components` (`toInstanceId`, `getBaseWidgetId`,\n * `hasExplicitInstance`) to construct and destructure it.\n */\nexport type WidgetInstanceId = string\n\nexport type ContainerParamMappings = {\n [instanceId: WidgetInstanceId]: {\n [paramName: string]: ParamMapping\n }\n}\n\nexport enum AggregationType {\n FIRST = 'first',\n LAST = 'last',\n POSITION = 'position',\n AVG = 'avg',\n SUM = 'sum',\n MIN = 'min',\n MAX = 'max',\n MEDIAN = 'median',\n STDDEV = 'stddev',\n COUNT = 'count',\n}\n\nexport interface ColumnAggregation {\n type: AggregationType\n position?: number\n}\n","import { PresentationWidgetWithConditionalProps } from './Generic'\n\nexport type IconTextPresentationWidgetProps = PresentationWidgetWithConditionalProps<IconTextPresentationWidgetFields>\n\nexport interface IconTextPresentationWidgetFields {\n template?: string\n textColor?: string\n icon: string\n iconColor?: string\n iconPosition: IconPosition\n bgColor?: string\n}\n\nexport enum IconPosition {\n UP = 'up',\n DOWN = 'down',\n LEFT = 'left',\n RIGHT = 'right',\n}\n","import type { ContainerParamMappings } from '../PatientListProps'\n\nexport enum LinkType {\n EXTERNAL = 'external',\n INTERNAL = 'internal',\n}\n\nexport interface LinkPresentationWidgetFields {\n url?: string\n displayText?: string\n bgColor?: string\n textColor?: string\n underline?: boolean\n linkType?: LinkType\n openInNewTab?: boolean\n targetWidgetId?: number\n paramMappings?: ContainerParamMappings\n}\n","import { ContainerWidgetProps } from './ContainerWidgetProps'\nimport { ContainerParamMappings } from './PatientListProps'\n\nexport enum ModalSize {\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n FULLSCREEN = 'fullscreen',\n CUSTOM = 'custom',\n}\n\nexport interface ModalConfig {\n size: ModalSize\n width?: string\n height?: string\n}\n\nexport interface ModalProps extends Omit<ContainerWidgetProps, 'config'> {\n config: ModalConfig\n paramMappings?: ContainerParamMappings\n}\n","import { ContainerWidgetProps } from './ContainerWidgetProps'\nimport { ContainerParamMappings } from './PatientListProps'\n\nexport enum SidebarPlacement {\n LEFT = 'left',\n RIGHT = 'right',\n}\n\nexport enum SidebarSize {\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n CUSTOM = 'custom',\n}\n\nexport interface SidebarConfig {\n placement: SidebarPlacement\n size: SidebarSize\n width?: string\n}\n\nexport interface SidebarProps extends Omit<ContainerWidgetProps, 'config'> {\n config: SidebarConfig\n paramMappings?: ContainerParamMappings\n}\n","import type { ConditionsFormat, TriggerOperation } from '@/modules/ecosystem/action-system'\n\nexport type ModelName = string\n\nexport enum ApiAction {\n QUESTIONNAIRE_CREATE = 'questionnaire.create',\n CRF_CREATE = 'crf.create',\n CRF_UPDATE = 'crf.update',\n CRF_DELETE = 'crf.delete',\n EXTERNAL_API_CALL = 'external_api_call',\n LOG_CREATE = 'log.create',\n BULK_UPLOAD_UPDATE = 'bulk_upload.update',\n INVOKE_LAMBDA = 'invoke_lambda',\n}\n\nexport type NotifiedAboutType =\n | `model_${ModelName}`\n | `model_displayer_${ModelName}`\n | `model_${ModelName}_${TriggerAction}`\n | `model_displayer_${ModelName}_${TriggerAction}`\n\nexport interface CreateTriggerPayload {\n notified_about: NotifiedAboutType\n text_content?: string\n configuration?: NotificationConfigurationConf\n}\n\nexport type UpdateTriggerPayload = Partial<CreateTriggerPayload>\n\nexport interface ConditionExpression {\n [field: string]: ConditionValue\n}\n\nexport interface ConditionOperator {\n AND?: Conditions[]\n OR?: Conditions[]\n NOT?: Conditions[]\n JQ?: string\n}\n\nexport type Conditions = ConditionExpression | ConditionOperator\n\nexport interface ConditionValue {\n equal?: string | number | boolean\n not_equal?: string | number | boolean\n contains?: string\n not_contains?: string\n greater_than?: string | number\n less_than?: string | number\n empty?: string | number | boolean\n not_empty?: string | number | boolean\n parseValue?: boolean\n operator?: 'AND' | 'OR'\n}\n\nexport interface LoadPatientDataType {\n join?: string[]\n where: Record<string, string> | 'auto' // { fieldName: JQ query }\n}\n\n// `ConditionsFormat` now lives in the action-system module (v2), next to the conditions matcher\n// that consumes it. Import it from `@/modules/ecosystem/action-system`; `src/lib.ts` re-exports\n// its runtime values for external consumers of the package.\n\n/**\n * Importing the types from json-logic-js makes the process of generating schema.json fails so we use any instead\n */\nexport type ConditionsRules = Conditions | any /* RulesLogic<AdditionalOperation> */\n\nexport interface NotificationConfigurationConf {\n conditions?: ConditionsRules\n join?: string[]\n load_patient?: LoadPatientDataType\n action?: ApiAction\n conditionsFormat?: ConditionsFormat\n}\n\n/**\n * Operation a legacy trigger fires on: every `TriggerOperation` of the action-system module plus\n * `creation`, the legacy spelling of `create`, kept because it is part of this system's persisted\n * `notified_about` values and of the public URL of the legacy `afterSaveHooks/:action` endpoint.\n *\n * The `satisfies` clause enforces the \"TriggerOperation + creation\" shape at the type level. The\n * import is type-only on purpose: the action-system service imports this file at runtime, so a\n * runtime import (e.g. spreading `TriggerOperation` into this object) closes an import cycle and,\n * whenever the action-system module graph happens to load first, evaluates the spread against a\n * half-initialized module — `TriggerAction` silently loses every member but `CREATION`.\n */\nexport const TriggerAction = {\n CREATE: 'create',\n UPDATE: 'update',\n DELETE: 'delete',\n CREATION: 'creation',\n} as const satisfies { [K in Uppercase<TriggerOperation>]: Lowercase<K> } & { CREATION: 'creation' }\nexport type TriggerAction = (typeof TriggerAction)[keyof typeof TriggerAction]\n\nexport enum IntrospectionSchemaFieldType {\n TEXT = 'text',\n DATE = 'date',\n TIME = 'time',\n BOOLEAN = 'boolean',\n NUMBER = 'number',\n SELECT = 'select',\n MULTISELECT = 'multiselect',\n HIDDEN = 'hidden',\n}\n\nexport interface IntrospectionField {\n name: string\n type: IntrospectionSchemaFieldType\n options?: { value: string | number; title: string }[]\n label: string\n}\n\nexport interface IntrospectionOption {\n value: string\n label: string\n}\n\nexport interface IntrospectionSchemaModel {\n label: string\n fields: IntrospectionField[]\n relations?: IntrospectionOption[]\n canJoinPatient?: boolean\n}\n\nexport interface IntrospectionSchema {\n models: Record<string, IntrospectionSchemaModel>\n externalApis?: { value: string; label: string; methods?: string | string[] }[]\n lambdas?: { value: string; label: string }[]\n}\n","import { TriggerAction } from '../index'\n\nexport class NotifiedAboutInfo {\n notified_about: string\n\n constructor(notifiedAbout: string) {\n this.notified_about = notifiedAbout\n }\n\n crfName(): string | null {\n // This only supports triggers based on crf (Patient Creation, crf_{crfName}_{crfAction}). Not field triggers\n if (this.notified_about.startsWith('crf_')) {\n return this.notified_about.split('_')[1]\n } else if (this.notified_about.startsWith('Patient')) {\n return 'patient'\n } else {\n return null\n }\n }\n\n actionTrigger(): TriggerAction | null {\n // This only supports triggers based on crf (Patient Creation, crf_{crfName}_{crfAction}). Not field triggers\n if (this.notified_about.toLowerCase().endsWith(TriggerAction.UPDATE)) {\n return TriggerAction.UPDATE\n } else if (this.notified_about.toLowerCase().endsWith(TriggerAction.CREATION)) {\n return TriggerAction.CREATION\n }\n return null\n }\n\n isCrfTrigger(): boolean {\n return this.notified_about === PATIENT_CREATION_ABOUT || this.notified_about.startsWith('crf_')\n }\n\n isModelTrigger(): boolean {\n return this.notified_about.startsWith('model_')\n }\n\n isDisplayerTrigger(): boolean {\n return this.notified_about.startsWith('model_displayer_')\n }\n\n isFieldTrigger(): boolean {\n return !isNaN(parseInt(this.notified_about))\n }\n\n getModelName(): string | undefined {\n if (this.isModelTrigger() && !this.isDisplayerTrigger()) {\n // get modelName from 'model_{modelName}_{action}'\n const prefix = 'model_'\n const actionSuffixes = Object.values(TriggerAction)\n\n let modelName = this.notified_about.slice(prefix.length)\n\n for (const suffix of actionSuffixes) {\n if (modelName.endsWith(`_${suffix}`)) {\n modelName = modelName.slice(0, -`_${suffix}`.length)\n break\n }\n }\n\n return modelName\n } else if (this.isDisplayerTrigger()) {\n // Delete all non displayerName parts because can be a subform so it has internal _ in the name\n // Get displayerName from 'model_displayer_{displayerName}_{action}'\n const parts = this.notified_about.split('_')\n\n // If it has action name, delete it\n const lastPart = parts[parts.length - 1]\n if (Object.values(TriggerAction).includes(lastPart as TriggerAction)) {\n parts.pop()\n }\n\n // Ignore the model_displayer_ part and return the rest\n return parts.slice(2).join('_')\n }\n\n return undefined\n }\n\n getModelTriggerAction(): string | null {\n const modelName = this.getModelName()\n if (modelName && this.isDisplayerTrigger()) {\n return this.notified_about\n .replace(`model_displayer_${modelName}_`, '')\n .replace(`model_displayer_${modelName}`, '')\n } else if (modelName && this.isModelTrigger()) {\n return this.notified_about.replace(`model_${modelName}_`, '').replace(`model_${modelName}`, '')\n }\n return null\n }\n}\n\nexport const PATIENT_CREATION_ABOUT = 'Patient Creation'\n","import type { Dayjs } from 'dayjs'\n\nexport interface CreateQuestionnairePayload {\n patientId?: number\n type: 'unique' | 'periodic'\n date: string\n untilDate?: string\n formName: string\n}\n\nexport enum QuestionnaireInfoUpdateMode {\n START_OVER = 0,\n RESUME = 1,\n}\n\nexport interface QuestionnaireInfoUpdateOptions {\n defaultMode: QuestionnaireInfoUpdateMode\n referenceFieldIdModes?: {\n [key: string]: QuestionnaireInfoUpdateMode\n }\n}\n\nexport interface QuestionnaireInfoPatchData {\n crf_name?: string\n patient_id: number\n number_of_questionaries?: number | null\n last_update?: string | null\n last_update_form_id?: number | null\n procedure_date: string // reference date is a date time but should be considered as a date\n activation_date?: Dayjs | string | null // window start\n end_date?: string | null // window end\n next_date?: string | null // next window start\n finish_date?: string | null // global finish date\n questionaries_not_filled?: number | null\n flexible_entry?: number\n field_reference_id?: number | null\n total_tasks: number\n activation_time_tz?: string | null\n}\n\nexport interface QuestionnaireInfoData extends QuestionnaireInfoPatchData {\n id: number\n}\n","// Canonical `ProcessLogCode` lives in the v2 `process-log` module\n// (`@/modules/ecosystem/process-log`), which is where it is extended with the trigger-engine codes\n// (#348) and where the typed `extra_data` contract keyed by it lives.\n//\n// Its *value* is deliberately NOT re-exported from here. This file is reached through `@v1/schemas`,\n// which `process-log.model.ts` itself imports (for `ProcessLogType`): re-exporting the v2 enum from\n// here closes an import cycle `@v1/schemas` → v2 barrel → `process-log.model.ts` → `@v1/schemas`,\n// and under that cycle the enum resolves to `undefined` for whichever module in it loads first —\n// not a type error but a runtime one (`Cannot read properties of undefined`) in\n// `BulkUploadController.getBulkUploads`. The v1 consumers import the value straight from the v2\n// module instead, which keeps the dependency one-directional (v1 → v2) and leaves a single enum.\n//\n// `import type` is what makes the line below safe where a value import is not: it is erased at\n// compile time, so the interfaces here can still be typed by the canonical enum without the emitted\n// JavaScript importing anything.\nimport type { ProcessLogCode } from '@/modules/ecosystem/process-log'\n\nexport enum ProcessLogType {\n LOG = 0,\n RESULT = 1,\n WARNING = -1,\n ERROR = -2,\n}\n\nexport interface CreateProcessLogPayload {\n relatedModel?: string\n relatedId?: string\n code?: ProcessLogCode\n log: string\n longLog?: string\n extraData?: Record<string, any>\n type: ProcessLogType\n requiresAttention?: boolean\n reviewed?: boolean\n /** Retention deadline; the row is purged after it. Never expires when unset. */\n expiresAt?: string | null\n /**\n * Id of this row's parent process_log row (#348), e.g. a trigger_action row's parent is the\n * trigger_evaluation row of the trigger that ran it. Silently dropped by `ProcessLog.insert` on an\n * ecosystem database whose `parent_id` column has not been applied yet (see the module's README).\n */\n parentId?: number | null\n}\n\nexport interface UpdateProcessLogPayload {\n reviewed?: boolean\n}\n\nexport interface ProcessLog {\n id: number\n relatedModel?: string\n relatedId?: string\n code?: ProcessLogCode\n log: string\n type: ProcessLogType\n reviewed?: boolean\n created_user?: number\n related_model?: string\n related_id?: string\n long_log?: string\n extra_data?: Record<string, any>\n requires_attention?: boolean\n reviewed_date?: string\n project_id?: number\n expires_at?: string | null\n parent_id?: number | null\n}\n\n// TODO Document and type the process log creation and fields!!\n","export interface UpdateBulkUploadPayload {\n id: number\n patientId?: number\n formId?: number\n hospitalId?: number\n}\n\nexport enum BulkUploadStatus {\n error = -1,\n uploaded = 0,\n success = 1,\n}\n"],"names":["FORM_TYPES","STATUS","ContainerType","WidgetType","DataLoaderType","ColumnType","OrderType","PresentationWidget","AggregationType","IconPosition","LinkType","ModalSize","SidebarPlacement","SidebarSize","ApiAction","IntrospectionSchemaFieldType","QuestionnaireInfoUpdateMode","ProcessLogType","BulkUploadStatus"],"mappings":"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;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AACO,MAAM,aAAa;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AACO,MAAM,oBAAoB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,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"}
|