Skip to main content

Update Record

About 26 min

2025

March

  • ๐ŸŒฑ Optimization: Added scrollbar style configuration, you can set the color, height or width. Refer to [Scrollbar Style](/developer/option.html#Scrollbar Style).
  • ๐Ÿž Fixed: When the temperature sheet height is not enough, the pagination printing is abnormal after exceeding a certain number of pages.
  • ๐ŸŒฑ Optimization: Added document cleaning function: clear abnormal elements such as comments (mostly from copying or importing from Word documents).
  • ๐ŸŒฑ Optimization: Support user-defined attributes: prompts for attribute descriptions.
  • ๐ŸŒฑ Optimization: multi-line editing area, entry selector, radio button, check box, support for custom attributes.
  • ๐ŸŒฑ Optimization: The maximum display width of image editing is limited to 900 pixels, which allows normal editing on mobile tablets such as IPAD.
  • ๐ŸŒฑ Optimization: Automatically wrap text inside table cells.
  • ๐ŸŒฑ Optimization: After multiple medical records are merged and printed, the merged medical records can be forced to print from the page header: editor.appendHtml(html, {pageBreak: true}), refer to Issue IBT445open in new window.
  • ๐Ÿค– AI: Connect to the large language model bases of "Tongyi Qianwen" and "Deepseek" with different parameter sizes. The text output speed and accuracy of different models have been tested, and users can make comparisons and choices.
  • ๐Ÿค– AI: Access to iFlytek speech recognition interface, supporting other mainstream browsers to generate text through voice dictation.
  • ๐Ÿค– AI: Access the AI โ€‹โ€‹outpatient medical record assistant, refer to AI writing medical recordsopen in new window.
  • ๐ŸŒฑ Optimization: Solve the problem that in certain cases, the text in the table cell is longer than the cell width, resulting in the inability to adjust the table width.

February

  • ๐ŸŒฑ Optimization: confirm event: support customized processing of confirmation buttons in signature, dental position map, menstrual history, fetal heart position map and image editing dialog boxes, refer to Pop-up box confirmation processingopen in new window.
  • ๐ŸŒฑ Optimization: The border line of the shadow polygon of the short pulse in the temperature list is removed, and the temperature, pulse and other vital signs data are passed in as "-1", indicating leave, and the connection between the vital signs measured before and after is disconnected and displayed.
  • ๐ŸŒฑ Optimization: Remove the value attribute when the multi-line text box loses focus.
  • ๐ŸŒฑ Optimization: When using command mode to pop up the "dialog box", it is forbidden to pop up the "dialog box" repeatedly.
  • ๐ŸŒฑ Data table: Prevent copied cells from crossing rows.
  • ๐ŸŒฑ Configuration: Support customizing the border color of the input field in the cursor activation state. For example: option.control.fieldFocusBorderColor = "blue", refer to [Global Control Style](https://www.x-emr.cn/developer/option.html#Global Control Style).
  • ๐ŸŒฑ Optimization: By clicking on the internal elements of the multi-line editing area, you can directly locate the editing area properties, avoiding locating the properties of the internal paragraphs.
  • ๐ŸŒฑ Optimization: Paging processing of table cells with multiple lines of elements.
  • ๐ŸŒฑ Temperature sheet: can be configured to display 1 week (7 days) or 2 weeks (14 days) after surgery, data.showOperateTwoWeek = true displays 1 week by default.

January

  • ๐Ÿž Fixed: The problem that the last line break character cannot be deleted in the multi-line text box, and the problem that the paste position is incorrect after pressing Enter in the multi-line text box.
  • ๐Ÿž Temperature sheet: "Days after surgery" is changed to "Days after surgery", the day of surgery can be configured not to be displayed, or to be displayed as 0, or to be displayed as "surgery".
  • ๐Ÿž Temperature sheet: Fixed the issue where the temperature sheet does not display more than 10 custom data.
  • ๐ŸŒฑ Optimization: insertField() supports readonly:true parameter, refer to insertfieldopen in new window.
  • ๐ŸŒฑ Optimization: When adding components, generate IDs in ascending order and verify whether there are duplicate IDs.
  • ๐ŸŒฑ Controls: The name of "Chapter" is changed to "Multi-line Editing Area", and the position of the menu is adjusted to support the input of multi-line large texts such as medical records, allergy history, and past history.
  • ๐Ÿž Fix: Fixed the issue that elements inserted in BR tags cannot be displayed.
  • ๐ŸŒฑ Optimization: Add a space after the drop-down list when double-clicking the knowledge base to avoid nested controls.
  • ๐ŸŒฑ Cell: support hiding left and right or top and bottom borders (originally only supported hiding all four sides borders).
  • ๐ŸŒฑ The development tool adds a function menu to check whether there are duplicate identifiers. When making a template, it checks whether there are input components with duplicate identifiers in the current page to avoid conflicts in structured data definitions.
  • ๐Ÿž Fixed: The issue where the data list value is not rendered when it is 0.
  • ๐ŸŒฑ Temperature sheet: support data.showOperateDateZero = true, the postoperative day will be displayed as 0 on the day of surgery.
  • ๐ŸŒฑ Table: support copying a specified number of rows downwards.
  • ๐ŸŒฑ Temperature sheet: supports dynamic addition of custom indicators, and can automatically generate custom indicator rows according to the number of indicator labels (at least 10 rows).
  • ๐ŸŒฑ Temperature sheet: supports data.hideHead = true configuration to hide the default title of the temperature sheet. The temperature sheet title can be customized in the header.
  • ๐Ÿž Fixed: The issue where read-only elements can be cut in form mode.

2024

December

  • ๐ŸŒฑ The menstrual history expression supports filling in the last menstrual period date or the age of menopause.
  • ๐Ÿž Fixed: In form mode, read-only elements can be cut (only content such as editable text can be cut, and can be cut arbitrarily in design mode).
  • ๐ŸŒฑ Supports continued page printing, does not print the table border that has been printed on the previous page, prevents repeated printing, refer to [Print Paging Control](https://www.x-emr.cn/developer/option.html#Print Paging Control).
  • ๐ŸŒฑ Support user-defined menus to be inserted into the editor's default menu sequence.
  • ๐ŸŒฑ Optimize the problem of line breaks and spaces being inconsistent with the copy source when copying and pasting text in form mode.
  • ๐ŸŒฑ Clear selection when adjusting table width
  • ๐Ÿž Fixed: There is a problem of confusion when adjusting the width and height of the table across cells.
  • ๐ŸŒฑ Support dynamic refresh right-click menu editor.contextMenu.rebuild()
  • ๐ŸŒฑ Required validation: Radio button groups and multi-select box groups support required validation.
  • ๐ŸŒฑ When printing the medical order form, support parameter configuration to control each line of medical order content to be printed on the same sheet of paper. editor.option.paging.splitTR = false, refer to [Printing Paging Control](https://www.x-emr.cn/developer/option.html#Printing Paging Control).
  • ๐ŸŒฑ You can configure whether the editor prohibits copying and pasting medical records, editor.option.enableCopy = false; editor.option.enablePaste = false, refer to [Copy and Paste](https://www.x-emr.cn/developer/option.html#Copy and Paste).
  • ๐ŸŒฑ Copy and paste optimization: In medical record writing mode, optimize formatting issues such as line breaks when copying text from a WORD document or other medical record document to the current medical record.
  • ๐ŸŒฑ When continuing to print the medical record, the footer will no longer be printed on the current page to prevent the footer from being printed repeatedly on the same paper.
  • ๐Ÿž Fixed: The problem that the editable properties of the image were not set to initial values.
  • ๐ŸŒฑ Add command to clear the resume mask editor.execCommand("clearPrintStart")

November

  • ๐ŸŒฑ Temperature sheet: Fixed the issue where floating prompt information was not displayed for multiple temperature sheets. Supports customizing the physical cooling prompt information of the temperature sheet to other prompt texts, such as "drug cooling", etc.
  • ๐Ÿšฉ Function: Support multiple additional attributes of user-defined components, such as the ability to add national health industry standard codes or provincial and municipal platform codes or names for docking with different health information platforms. Please refer to [Component Additional Attributes](https://www.x-emr.cn/developer/option.html#Component Additional Attributes).
  • ๐ŸŒฑ Configuration: You can configure whether the right option bar in design mode displays "Properties", "Data", and "Knowledge Base". Refer to [Template Tool Switch](https://www.x-emr.cn/developer/option.html#Template Tool Switch).
  • ๐ŸŒฑ Optimization: After inserting a knowledge base node, the cursor is positioned after the inserted element, and knowledge base nodes can be inserted continuously.
  • ๐ŸŒฑ Function: The cell background supports left-slanted dotted lines and right-slanted dotted lines.
  • ๐ŸŒฑ Options: Add whether to show tool button option editor.option.toolButton = true.
  • ๐ŸŒฑ If there is a required field, the required field prompt will be cleared immediately after the text loses its cursor.
  • ๐Ÿž Fixed: The multi-line text input box component will cause printing pagination in certain circumstances.
  • ๐Ÿž Dynamic drop-down box, when the input is canceled in the Chinese input method and the input character is empty, the default is placeholder text.
  • ๐Ÿž Fix: Custom processing of dynamic data source return data such as editor.option.datdataSource.dynamicList.filter = function(result){return result.list} to convert the backend return data into the agreed interface data format.

October

  • ๐ŸŒฑ Option groups support expression calculation results. For example, the evaluation form can automatically calculate the option range of the evaluation result based on the score of the evaluation result.
  • ๐ŸŒฑ The selection list data of the static drop-down box supports data source configuration. By default, the selection data in the component properties is used. When the data source is configured, the data source configuration is used first. The data source return format is [{text:'็”ท', value:'1'},{text:'ๅฅณ', value:'2'}].
  • ๐ŸŒฑ The temperature sheet supports multiple (more than 2) surgery dates, and can automatically calculate the number of days after surgery according to the national standards for electronic medical records.
  • ๐ŸŒฑ Added entry selector, entries support background dynamic data acquisition, support multiple data selection and insertion, configuration reference [Global Data Source]/developer/option.html#Global Data Source.
  • ๐Ÿž Fixed: editor.control.insertSignature(data, id, {width:"200px", height:"200px"}) specifies invalid width and height.
  • ๐ŸŒฑ Add the type attribute of metadata to the metadata exported using editor.getBindObject(undefined, true).

September

  • ๐ŸŒฑ Support data source server configuration prefix address, such as editor.option.dataSource.server = "https://www.x-emr.cn:80/api" .
  • ๐ŸŒฑ Support the command to cancel the resume printing mode: editor.execCommand("cancelPrintStart") .
  • ๐ŸŒฑ The dynamic drop-down box transfers the encoding and identification parameters to the backend, which is used by the backend to distinguish the type of dynamic drop-down box.
  • ๐ŸŒฑ Menu toolbar, when the page height is not enough, a scroll bar will appear automatically.
  • ๐Ÿž Fixed: The text content of text boxes and static drop-down boxes will become placeholder text when pressing a combination of keys.
  • ๐Ÿž Fix: Document validation function editor.validate() does not validate hidden elements.
  • ๐ŸŒฑ The editable attribute of the image is contenteditable -> editable, which avoids the problem of virtual keyboard appearing when editing images on mobile devices.

August

  • ๐ŸŒฑ Configuration parameters: Added reversionStyle, which supports configuring revision styles for different levels of users. Refer to [Custom Revision Style](/developer/option.html#Custom Revision Style).
  • ๐ŸŒฑ Revision function: Added revision preview mode, supports direct display of revision records in the document, and displays the reviser and revision time when the mouse is close.
  • ๐ŸŒฑ Built-in version record function in the editor (to be improved).
  • ๐Ÿž Fixed: editor.setHeaderFromHtml(html, withFooter), supports using common templates to set common headers and footers for other medical records.
  • ๐ŸŒฑ The section element supports revision history.

July

  • ๐ŸŒฑ Add table cells to selection: support selecting multiple cells and setting text color, font size, text alignment and other formats at the same time;
  • ๐ŸŒฑ Reconstruct the table insertion auxiliary tool to solve the problem of inaccurate table selection;
  • ๐ŸŒฑ Support arrays to participate in expression calculations, for example, if checkboxgroup[0] == 1 SHOW(#id1) else HIDE(#id1);
  • ๐ŸŒฑ When the radio button group is not selected, it returns a false value;
  • ๐ŸŒฑ Image editing: text size can be selected;
  • ๐Ÿž Fixed the issue that the text of the dynamic drop-down box binding data was not set;
  • ๐ŸŒฑ Export metadata: remove domain;
  • ๐ŸŒฑ Import Duchang medical records: change the multiple-select value separator to a comma.
  • ๐ŸŒฑ Import Duchang medical records: support the VisualStyle properties of radio buttons/check boxes.
  • ๐ŸŒฑ Import Duchang medical records: fix the problem of missing radio button checkbox label text.
  • ๐ŸŒฑ Revisions: Supports accepting all revisions or rejecting all revisions.
  • ๐ŸŒฑ Revision: Supports comparison of the historical structured data last stored in the medical record document, supports importing historical revision data obtained by editor.getBindObject(); or uses editor.revision.bindRevision(data, user) to load historical revision information.
  • ๐ŸŒฑ Revision: Supports preview and printing of revision traces.
  • ๐ŸŒฑ Revision: Revision information is stored as the control's property data-history.
  • ๐ŸŒฑ Remark: The comment information is stored as the control's attribute data-remark.
  • ๐ŸŒฑ Text box: When the text is in numeric format, you can only enter numbers and decimal points, and you can move with the left and right keys.
  • ๐ŸŒฑ Text box: Add minimum length and maximum length verification to the verification method. When the input text exceeds the maximum length, it cannot be entered; when it is less than the minimum length, an error message will be prompted after moving the cursor.
  • ๐ŸŒฑ Dynamic drop-down box: You can only select data in the drop-down options. If you enter other text and move the cursor out, it will automatically restore to the last selected data item.
  • ๐ŸŒฑ Static drop-down box: Add "Optional" in the properties. When the static drop-down box is set to "Read-only" and "Optional", the drop-down box can only select data from the drop-down options and other items cannot be entered.
  • ๐Ÿž Fixed: Invalid adjustment after merging multi-level rows and columns in complex tables.
  • ๐ŸŒฑ When clicking a knowledge base node with options, the knowledge base node type and identifier are added to the passed parameters, such as http://ip/dictitem?id=697&style=list&en_name=naty, which is used by the background to obtain system dictionary data based on the knowledge base type and identifier.
  • ๐ŸŒฑ Added the function of inserting document directory: insert the document directory according to the title set in the document.
  • ๐Ÿšฉ๐Ÿšฉ The document label is changed to the document title. After importing into Word, you can view the document title and display the document structure of Word. The document title can be switched by setting "Body" and "Title".
  • ๐ŸŒฑ Menstrual history expression: When the age of menopause is not filled in, there is no blank on the right side of the expression.
  • ๐ŸŒฑ When there are multiple pages in the temperature sheet, the page break line is located at the bottom of each page.
  • ๐ŸŒฑ Added fitWidth command, the document automatically fits the page width, or configure option.fitWidth = true, the document automatically fits the page width after loading.
  • ๐ŸŒฑ Add clearBody command to clear the page body and keep the header and footer.

June

  • ๐Ÿšฉ๐Ÿšฉ Electronic medical record demonstration system for inpatient medical record writing and nursing medical record writing functions (continuously updated...).
  • ๐Ÿž Fixed: The colon was missing from the admission date in the temperature sheet.
  • ๐ŸŒฑ The chapters are aligned and the first line is indented by default.
  • ๐ŸŒฑ Remove domain settings from properties.
  • ๐Ÿž Fixed: The static drop-down box does not support binding numeric types.
  • ๐Ÿž Fix: Solve the problem of large text being split into pages.
  • ๐ŸŒฑ Optimize the printing paging problem when cells span multiple pages.
  • ๐Ÿž Solve the problem of total page number reset during print preview.
  • ๐ŸŒฑ Optimize the paging line position of the temperature sheet.
  • ๐ŸŒฑ Pulse Shortage supports left and right diagonal configuration.
  • ๐ŸŒฑ Temperature form supports: age, gender, hospital number and other field configurations (empty values โ€‹โ€‹will not be displayed).
  • ๐ŸŒฑ Optimize the problem of 1 character deviation in text segmentation after paging.
  • ๐Ÿž Click error in form mode.
  • ๐Ÿž Solve the problem of pain score line flying out.
  • ๐ŸŒฑ When the value "" is returned in the calculation formula, it is converted to 0 for calculation.
  • ๐ŸŒฑ Refactor the table tool method to prevent multiple event binding.
  • ๐Ÿž Fixed: The input field has no height after the placeholder, set the minimum height to 1em.
  • ๐ŸŒฑ Table: Support deleting multiple selected rows.
  • ๐Ÿž Fixed: Problem with inserting rows above the first row of the table.
  • ๐ŸŒฑ Images support manual input of height and width.
  • ๐ŸŒฑ Temperature sheet: Short pulse supports diagonal style (the passed parameter is) { "pulseStyle": "diagonal" }.
  • ๐ŸŒฑ Data table: Supports binding rendered list data with specified identifiers of cells in template rows (the first row of the table body) (by default, the column field is used. If the column field is empty, the cell identifier of the template row is used).
  • ๐ŸŒฑ Data table: Insufficient number of cells in template row.
  • ๐ŸŒฑ Data table: Automatically fill in the missing columns in the template row.
  • ๐ŸŒฑ Data table: Solve the error problem of data table without template row.

May

  • ๐ŸŒฑ The dynamic drop-down box can be configured with binding mode, and the returned binding value can be "text", "value" or "text:value", and the default is "text:value".
  • ๐ŸŒฑ Data table: The table header supports setting multiple rows across multiple lines as the table header, and it will be printed on each page when printing.
  • ๐ŸŒฑ Add right-click menu for table: row properties are used to directly select table rows for easy header settings.
  • ๐ŸŒฑ Style adjustment: the table adjustment line is gray and semi-transparent, the table selection color defaults to the selection background color, and the tooth position selection color defaults to the selection color.
  • ๐Ÿž Fixed: Issue with adjusting width of merged cells.
  • ๐ŸŒฑ When filling row data in a data table, you can copy the row height, background color and other formats set in the first row.
  • ๐ŸŒฑ Radio buttons, check boxes, radio button groups and check box groups support "calculated formulas".
  • ๐ŸŒฑ Temperature sheet: Physical cooling has been changed to red "โ—‹" and red dotted line.
  • ๐ŸŒฑ Temperature sheet: supports alternating measurement of heart rate and pulse data, with a straight line connecting the heart rate and pulse.
  • ๐Ÿž Fixed: The issue where the prompt text of the date control setting could not be applied immediately.
  • ๐Ÿž Fixed: When the knowledge base is an empty array, an error occurs when clicking on the knowledge base properties.
  • ๐ŸŒฑ The front-end JS can support directly importing XML files in Duchang electronic medical record format.
  • ๐ŸŒฑ The size of the tooth bitmap inserted into the document is changed to 50% of the original size, occupying 2 lines of normal text space.
  • ๐ŸŒฑ Add configuration item editor.option.control.printPlaceholder = true to set whether to print placeholder prompt text.
  • ๐ŸŒฑ Radio buttons/check boxes support read-only attributes.
  • ๐ŸŒฑ In the temperature list, when the patient asks for leave or refuses to take the temperature (the pulse/temperature data is set to -1), the temperature points will be disconnected.
  • ๐Ÿž Fixed: The required properties of controls cannot be obtained.
  • ๐ŸŒฑ editor.html uses body as the editor container, which simplifies editor configuration.
  • ๐Ÿž Fixed: When the bound value is an empty string "", the placeholder characters cannot be displayed.
  • ๐ŸŒฑ The global default line height of the document is 1.5
  • ๐ŸŒฑ Updated the VUE sample code. After the editor is loaded, the code example of binding data immediately, refer to Data Binding Exampleopen in new window.
  • ๐ŸŒฑ The data of physical cooling is added to the body temperature data by dividing it with a vertical line โ€œ|โ€.
  • ๐Ÿž Fixed the issue of inserting columns when the table has a header.
  • ๐ŸŒฑ The pain score supports re-evaluation after analgesia. The re-evaluation is added to the pain score by separating it with a vertical line โ€œ|โ€.
  • ๐ŸŒฑ A pain score graph area has been added to the temperature sheet. If there is no pain score data, this area will not be displayed.
  • ๐ŸŒฑ Added years to the menstrual history expression.
  • ๐ŸŒฑ The drop-down box options can be set to display only the label text, only the code, and a combination of the code and label text (separated by a dash or colon).

April

  • ๐Ÿšฉ๐Ÿšฉ Simplified the way to introduce the editor in the VUE framework. The editor component uses @load="onLoad" instead of @afterInit="onAfterInit" event to get the editor instance. Refer to VUE integration methodopen in new window
  • ๐ŸŒฑ Static drop-down box: supports code + label combination display.
  • ๐ŸŒฑ Add default font configuration: defaultFont. If not set, use "ๅฎ‹ไฝ“".
  • ๐ŸŒฑ Temperature sheet: supports input of respiratory count and ventilator identifier R. The respiratory count and ventilator identifier are displayed at the same time, such as 35, 35, R, R, 30R, 20R.
  • ๐ŸŒฑ The insert edit area is changed to insert chapters, and in form mode, the first line of the paragraph is automatically indented after pressing Enter.
  • ๐ŸŒฑ Image editing panel: Hide the legend area when the legend is not defined.
  • ๐Ÿž Fixed the issue where tables could not be merged downwards under special circumstances.
  • ๐Ÿž Text box: When binding a text value, set the attribute value at the same time.
  • ๐Ÿž Fixed the issue that the Value of the text control was not changed when setting the text content of the text box.
  • ๐ŸŒฑ The temperature sheet supports custom interval time. The time can be adjusted to 3, 7, 11, 15, 19, 23 through the parameter adjustHour:1; adjustHour adjustment range: (-2 ~ 2).
  • ๐Ÿž Fixed the issue where inserting elements fails when the editor is blank (editor.insertHTML(html) interface).
  • ๐Ÿž Fixed the issue that the editor configuration item "whether to display the page line": showPageLine : false is invalid.
  • ๐Ÿž Fix the invalid scaling value in editor configuration: scale : 1.5.
  • ๐ŸŒฑ Add a change event to the text box. When the cursor moves to the text box, the text content changes, triggering the change event of the text box. Code example: editor.$('#patient_name').on('change', (e)=>{ ...... }
  • ๐ŸŒฑ The number of days after surgery in the temperature sheet: Fill in 7 consecutive days. If another surgery is performed within 7 days, the number of days after the second surgery is used as the numerator and the number of days after the first surgery is used as the denominator. Example: If a second surgery is performed one day after the first surgery, then write 1 (2), 1/2, 2/3, 4...../8.. Fill in continuously until the 7th day of the last surgery.
  • ๐ŸŒฑ The default font size of table cells can be set in the table properties to solve the problem of inconsistency between the table font size and the global font size.
  • ๐ŸŒฑ Solved the problem of multiple resume mask layers when resume mode is turned on multiple times, and added a clear button for the resume mask layer.
  • ๐Ÿž Fixed the issue that the dynamic drop-down box data source URL is empty and the global data source URL is also empty, causing the console to report an error.
  • ๐ŸŒฑ Optimize the body temperature graphic border, and the body temperature pulse deficiency area is displayed with a red slash line according to the general standard.
  • ๐Ÿšฉ๐Ÿšฉ If there are multiple controls with duplicate identifiers in a document, you can use setBindObject(obj, id) to bind data to multiple controls with the same identifier (the previous version could only bind 1 control).
  • ๐ŸŒฑ Add control message prompt interface editor.showTip(id, message), you can customize the control validation logic and provide message prompts.
  • ๐Ÿž Fixed an issue where an abnormality occurred when the initial value of the temperature sheet (admission date, start date, etc.) was empty.

March

  • ๐Ÿšฉ๐Ÿšฉ The template management website has been further improved. The homepage displays real-time statistical information such as registered users. The page style defaults to grass green, and the template list display interface is optimized.
  • ๐ŸŒฑ In the temperature list, the adjacent breathing data before and after the breathing number are staggered up and down, and the unmeasured breathing data are ignored.
  • ๐Ÿž Solve the problem that after the font is enlarged in Google or Edge browser settings, the font of the table and input box also becomes larger.
  • ๐ŸŒฑ Delete uncommon paper sizes and add commonly used paper sizes such as B5 (JIS), B6 โ€‹โ€‹(JIS), etc.
  • ๐ŸŒฑ Solve the problem of printing overflow blank pages in Google Chrome kernel version 109 under Win7 operating system.
  • ๐ŸŒฑ Use CTR+C or the right-click menu to directly copy the document control where the cursor is located. There is no need to select the control to copy. The control ID will automatically increase after pasting, which is convenient for quick copying of controls in the document.
  • ๐Ÿž Fixed the problem of incorrect width after complex table adjustment.
  • ๐ŸŒฑ Increased print size.
  • ๐Ÿž Fix the handling of table cells spanning pages.
  • ๐ŸŒฑ Add custom calculation function, editor.calculate.registerFunction(funcName, function), refer to [Custom Function](developer/calculate.html#Custom Function).
  • ๐ŸŒฑ The calculation formula in the document is automatically calculated after the document is loaded, and the calculation is automatically miscalculated after the data is bound.
  • ๐ŸŒฑ If the value of the control in the calculation formula is a string, it will be automatically converted to a string for calculation.
  • ๐ŸŒฑ In the template management demonstration system, the template browsing count function is added, and the template locking function is added. Personal templates can be locked and other people have no editing permissions.
  • ๐ŸŒฑ The document supports inserting audio files. The audio format supports three audio formats: MP3, WAV and OGG.
  • ๐ŸŒฑ Documents support inserting video files, and there are three supported video formats: MP4, WebM and Ogg.
  • ๐ŸŒฑ Optimized and adjusted page printing and page line processing.
  • ๐ŸŒฑ Process single abnormal temperature data and optimize graphic display levels.

February

  • ๐Ÿšฉ๐Ÿšฉ Control calculation formula: supports showing and hiding controls based on control values; for the calculation formula help document, please refer to Calculation Formula.
  • ๐ŸŒฑ When the cursor is in the table, you can open the table properties in the right-click menu or toolbar menu.
  • ๐ŸŒฑ The multi-select drop-down box supports the default selection of the last selection result. After selecting the multi-select drop-down box, the multi-select text is updated immediately and the OK button operation is deleted.
  • ๐Ÿž Fixed the issue where the data setting of the multi-select drop-down box is displayed as Value instead of text.
  • ๐Ÿž Fixed the issue where the temperature data does not support the 10th custom indicator.
  • ๐ŸŒฑ VUE3 examples have deleted uncommon examples and added multi-language example templates.
  • ๐Ÿšฉ ใ€Ver1.0-20240218ใ€‘Delete "cmd" event handling and replace it with editor.execCommand(cmd, param).
  • ๐ŸŒฑ The export file command can specify the file name, editor.execCommand('exportPdf', {'fileName':'Medical Record Home Page'}), refer to the development document Export Command.
  • ๐ŸŒฑ Added editor.getFieldValue(field) and editor.getFieldValueById(id) functions, refer to the development document Control Value.
  • ๐Ÿž Fixed the issue that bound data does not wrap when the text box is multi-line.
  • ๐Ÿž Fixed the abnormal connection issue when the temperature and pulse data is empty.

January

  • ๐ŸŒฑ Support batch selection of multiple cells and batch setting of properties.
  • ๐Ÿž Fixed the issue that some special symbols cannot be entered in the text input field.
  • ๐ŸŒฑ Expression calculation is still being improved.
  • ๐ŸŒฑ The tooth bitmap has added a read-only property to control whether double-clicking can edit it, and the operation UI of the tooth bitmap has been optimized.
  • ๐ŸŒฑ Added help information for control properties.
  • ๐Ÿšฉ ใ€Ver1.0-20240128ใ€‘ Added attribute candidate drop-down list configuration, refer to [Global Data Source](/developer/option.html#Global Data Source)
  • ๐ŸŒฑ When the text input field is a numeric type, the control can only input numbers. In mobile environments such as tablets, the virtual keyboard will change with the type of input field, such as no virtual keyboard, decimal input keyboard, numeric input keyboard, phone input keyboard, and virtual keyboard optimized for email address input, which may vary depending on different devices.
  • ๐ŸŒฑ The tooth bitmap supports user programming to insert or replace.
  • ๐ŸŒฑ Added function commands importMetaData & exportMetaData and editor.getFieldValueById(id) interface, which can directly get the value of document field elements.
  • ๐Ÿšฉใ€Ver1.0-20240123ใ€‘, the structured data list is arranged in the order of document controls, and the import and export structured data names are defined as import and export metadata.
  • ๐Ÿž Fixed the issue that the barcode graphic was not refreshed when binding barcode data.
  • ๐Ÿž Fixed the error in the lower right selection of the tooth image.
  • ๐Ÿšฉ Unified the operation methods of "read-only" and "edit" properties of text boxes, dates, static drop-down boxes, and dynamic drop-down boxes. "Read-only" is not selected by default, and the text of the date control is "uneditable" by default.
  • ๐Ÿšฉ The required input property of the text box is changed from validate to required.
  • ๐Ÿšฉ๐Ÿšฉ ใ€Ver1.0-20240121ใ€‘Text controls, date controls, dynamic and static drop-down box controls, single checkboxes, single checkbox groups, barcodes, and image signatures have uniformly added "domain", "code", and "value" attributes, which are suitable for the import and export of structured data and subsequent structured processing.
  • ๐ŸŒฑ ใ€Ver1.0-20240120ใ€‘Right-click reference can add menu prefixes, and can reference the name and content of the text input field at the cursor position. For example, when the cursor is in the input fields of Chief Complaint, Current Medical History, and Past Medical History, you can define the Chief Complaint, Current Medical History, and Past Medical History by right-clicking and save them as personalized reference templates for doctors. Refer to [Custom Right-click](https://www.x-emr.cn/developer/option.html#Custom Right-click)
  • ๐ŸŒฑ The tooth map editing area function adds tooth surface selection and regenerated tooth selection operation functions.
  • ๐Ÿž Automatically clear placeholder text when pasting or inserting text into a blank input field.
  • ๐Ÿž Fixed the issue that when getBindObject() gets the value of static and dynamic drop-down boxes and date controls, and uses setBindObject() to assign values, the code is displayed instead of the text.
  • ๐Ÿšฉ The original import and export of encoded JSON has been changed to import and export of structured JSON. On the basis of importing and exporting simple JSON data, data encoding, name, data element, data domain (to be added) and other attribute information have been added.
  • ๐ŸŒฑ Image signature adds the signature attribute signed = "true".
  • ๐ŸŒฑ The temperature sheet supports manual insertion and modification of data. Please refer to temperature sheet demonstration codeopen in new window.
  • ๐ŸŒฑ Support encoding to insert radio buttons and checkbox groups, refer to insertradiogroup and insertcheckboxgroup.
  • ๐Ÿšฉ๐Ÿšฉ ใ€Ver1.0-20240115ใ€‘The reference of the date control no longer uses the baseUrl configuration. You need to add a reference <script src = "/vender/date97/WdatePicker.js"></script> in the editor.html file. Refer to [Step 3 - Modify Path - Configuration](/developer/#Step 3 - Modify Path - Configuration).
  • ๐ŸŒฑ Support custom toolbar menu function, refer to the configuration item [Custom Menu](/developer/option.html#Custom Menu).
  • ๐ŸŒฑ Simplified the formula calculation method. Formula calculation example: = id1 + id2 - id3 *1.5, supports basic mixed calculations such as addition, subtraction, multiplication and division, and can automatically find the value of the identifier in the document.
  • ๐ŸŒฑ Added treeFilter, itemFilter user-defined knowledge base data processing functions, refer to knowledge base.
  • ๐ŸŒฑ Single checkbox supports setting name and value attributes, single checkbox group supports setting value:label key-value pairs separated by colon.
  • ๐Ÿž Read-only mode hides the status bar and toolbar.
  • ๐Ÿž The date control can only be selected but not edited.
  • ๐ŸŒฑ Support custom menu command processing function, refer to the configuration item command processing example editor.on('XXX', (e)=>{ ... }).
  • ๐ŸŒฑ Support custom right-click menu function, refer to the configuration item [Custom right-click](/developer/option.html#Custom right-click).
  • ๐ŸŒฑ Support adding custom fonts, add parameter {fonts: ['-', 'PingFang SC', ...].
  • ๐Ÿž The default printing font is set to STSong, the English abbreviation of Standard Song, to solve the problem that the browser bold Song font is not bold when printing.
  • Date control supports hours, minutes and seconds.
  • ๐Ÿž Fixed the issue where command+V could not paste in form mode on mac OS.
  • ๐ŸŒฑ Input field configuration can support global setting of maximum width and minimum width fieldMinWidth and fieldMaxWidth, which are empty by default.
  • ๐Ÿž Fix the dynamic drop-down box, when it is blank, the passed parameter is a placeholder.
  • ๐ŸŒฑ When the mouse clicks the dynamic drop-down box or gets the focus, the dynamic drop-down box can expand the data drop-down items by default.
  • ๐ŸŒฑ The word export format is changed from .doc file format to .docx file format.

2023

December

  • ๐ŸŒฑ Support exporting word files.
  • ๐Ÿž Fixed the issue that font cannot be set for a single element.
  • [Shortcut key] ESC to exit the pop-up dialog box, Ctr+H to view the modification records saved locally.
  • ๐ŸŒฑ Support inserting page breaks for forced paging.
  • ๐Ÿšฉ๐Ÿšฉ You can set the font size according to the general standard of Word fonts, using Point printing units to keep the printed font and preview font consistent.
  • ๐Ÿž Fix setObject() to handle elements with duplicate IDs in the bound document, but it is not recommended to use duplicate IDs. Only the first element value can be obtained when getting the value.
  • ๐Ÿž Fix the problem that getBindObject() gets a placeholder when getting a single element.
  • ๐ŸŒฑ Direct print request address configuration item directPrintUrl: 'http://127.0.0.1:2023/print/' .
  • Modify the free edit area style to be consistent with the input field display style, remove the blue bottom line,
  • Modify the check box group in design mode, the outer frame of the radio button is gray;
  • ๐ŸŒฑ The front-end and back-end separated version supports QQ quick login and does not require filling in registration information.
  • ๐Ÿšฉ๐Ÿšฉ Optimized the logic of adding and pasting components at the document cursor, as well as the problem of inaccurate positioning of components added by dragging in the knowledge base.
  • ๐ŸŒฑ Right-click menu, you can copy table rows (including internal components), add components, etc.
  • ๐Ÿšฉ๐ŸšฉOptimized the copy and paste processing logic, and can copy components in batches; if you do not have browser clipboard permissions, you can use shortcut keys, Ctrl+X, C, V to copy and paste.
  • Added configurations for control default background color, active background color, and border bottom line.
  • Get or bind menstrual history structured data.
  • Added editor.option.control.fieldPrefix, which is used to generate control ID prefix. The rule is: fieldPrefix + automatic sequence.
  • Refactored setBindObject() and getBindObject() methods to support data binding of single checkbox/radio.
  • Changed the configuration item editor.option.withDictLabel to editor.option.dictSetting.withLabel.
  • Add configuration item editor.option.dictSetting.labelAlign: 'auto' drop-down box label position (auto, left, right).
  • After setting the table to editable in design mode, in form mode, the table can also be modified by right-clicking to add or delete rows.
  • Improve the image editor's function of modifying line thickness, etc.

November

  • ๐ŸŒฑ The image supports floating on the left and right sides, and the text is displayed in a wraparound manner
  • ๐ŸŒฑ Image editing supports custom tool images userImageUrl:[{url: '/asset/check.svg', lable:'Select'}]
  • ๐ŸŒฑ Added newborn temperature function
  • Configure editor background color: add <style>:root {--background-color: #f3f5f7;}</style> in editor.html file. If not configured, the default background color is #f3f5f7
  • ๐Ÿšฉ๐ŸšฉChanged to asynchronously initialize the editor editor.init(option).then(function(){ //Load document code... }), the deployed version needs to modify the initialization method, refer to the demonstration code editor.htmlopen in new window.
  • Added enabeUserPaste:'auto' configuration item
  • Fixed the issue that the browsers cannot display the content in Firefox and Safari
  • ๐ŸŒฑ The read-only mode of the document element node container supports three modes: inheritance parent content read-only content modifiable
  • The temperature list supports the following temperature types: oral temperature, axillary temperature, rectal temperature, and ear temperature can be displayed at the same time
  • Fixed the issue that the browser does not display in Google Chrome 81
  • Preview/export read-only HTML files without background information, which can be directly opened and read by browser
  • Fixed the issue that read-only documents cannot be displayed
  • When the dynamic drop-down box data source is empty, use the default data source URL
  • ๐ŸŒฑ You can use Ctrl+S to temporarily save multiple local documents, which helps users temporarily save documents and can maximize the retrieval of documents that have not been submitted to the database for editing.
  • ๐ŸŒฑ Click or drag the check/radio type node of the knowledge base to insert a multiple checkbox group/radio checkbox group into the document
  • Knowledge base node types supported: text, num, date, time, list, check, radio
  • Adjusted the knowledge base interface method to simplify the access method referenceopen in new window
  • Develop a medical record template maintenance system (under development...) linkopen in new window, you can contact us to activate trial permissions after registration.

October

  • Display shortcut keys in toolbar menu
  • Added local temporary storage function to save documents to the local browser cache. The cached document can be loaded again after the browser is closed (the primary key is the document ID)
  • option = {onlyPasteText: true} limits pasting to plain text only, blocks pasting of formatted HTML or word elements
  • After calling editor.init(option), the document initialization method generates a blank page by default, and there is no need to execute the editor.execCommand('new') method again
  • The temperature list supports up to 9 custom indicators
  • Add setting interface for getting title editor.getTitle() editor.setTitle(title)
  • Menu can add a single radio button/check box
  • Select text to convert to text controls or date controls (to be improved)
  • The right-click menu supports secondary menus
  • Add radio button group, check box group insertCheckboxGroup, insertRadioGroup
  • Modify the verification message prompt method
  • The validation method editor.validate() returns the validation result true: the required fields are filled with text content, and the dynamic drop-down box must select an option, otherwise it returns false
  • Export read-only HTML documents, which can be opened directly in the browser without the editor, and used for sharing medical records with third-party applications
  • Added fetal heart position diagram
  • Reconstruct tooth image, support permanent teeth, deciduous teeth, all selection, etc.
  • Displays the document editing status, that is, whether the document has been modified
  • Solved the problem that the page header cannot be clicked after print preview

September

  • Support importing Microsoft Word's .docx file format for easy template editing
  • Supports exporting and importing Json data format of "code + value + text" structure, the interface function is getBindObject(id, withcode), setBindObject(id, withcode); withcode = true
  • Added editable area to support free editing of large paragraphs of text and HTML elements
  • Toolbar menu and right-click menu support configuration and custom menus
  • Remove document watermarks, unauthorized or expired documents will be displayed
  • Adjust the toolbar menu display style to better suit user habits
  • The header and footer of the medical record template support the global definition of the public template editor.setHeaderFromUrl(url).then( .... )
  • Added the ability to view and edit HTML source code
  • Common reference items (ongoing drugs, diagnoses, surgeries, addresses, etc.)
  • Merge style files into editor.js file to simplify configuration

August

  • Support custom tool menu
  • Modify the menu display style to facilitate user operation
  • Supports embedding custom JavaScript scripts in medical record documents, supporting richer medical record document interactive operations
  • docStyle is set to the same path as editor.js by default, so no configuration is required
  • Added development toolbar: including mobile reporting, temperature sheet test, document script function
  • Improved the three-measurement function, including heart rate and pulse interval diagrams, etc.
  • Medical record documents support loading JavaScript scripts, and you can add custom events to a single document
  • Website homepage redesign
  • Develop three-measurement form (temperature form) function and support data interface
  • Multi-language support (Simplified Chinese, Traditional Chinese, English, Uyghur, Tibetan)
  • Calculation of scale formula, for example: =SUM([item]); =2 * item + 10 ; =SUM([item]) + [item]
  • Added expression toolbar category, medical expressions can be added in form mode
  • Combined the CSS files of design mode, form mode, and print preview mode into one file doc.css, refer to https://www.x-emr.cn/download.htmlopen in new window
  • Added docStyle parameter to configure doc.css path, deleted sytleUrl parameter

July

  • setBindObject() assigns multiple input fields with the same ID
  • Optimize printing paging algorithm (text split across pages, table cell split across pages)
  • Support putting echart charts in documents
  • Vue2 editor.js example https://gitee.com/bensenplus/x-emr-vue2open in new window
  • The drop-down box supports linkage display and hiding of other document elements, such as select female for gender and display menstrual history
  • Paging algorithm optimization (text node line break paging)

June

  • Paging algorithm reconstruction (replace calculation method)
  • Image annotation function
  • Supports data binding of radio button, multiple selection box and pictures
  • Optimize table adjustment logic and improve the processing of Word and Excel copy documents
  • The text input box supports multiple lines of input
  • Optimize handwritten electronic signatures, you can double-click the electronic signature or set it to read-only
  • The toolbar and status bar are closed by default in read-only mode
  • Handwritten signatures can be modified by double-clicking and placeholder settings can be set
  • Add document merging function editor.appendHtml(html)
  • Function name changed editor.loadHtml(url) -> editor.loadUrl(url)
  • Function name changed editor.loadHtmlText(html) -> editor.loadHtml(html)

May

  • Display medical record document directory (5/25)
  • Remove institution watermark from printed pages (5/24)
  • Support data reporting via mobile devices (5/21)
  • VUE example display code (5/20)
  • UNDO, REDO shortcut key functions improved (5/20)
  • Improve the annotation and revision functions (5/5)
  • Document commands use camelCase (5/2)
  • Vue demo replaced with Element UI (5/1)

April

  • Document input field tags are replaced by <a> tags and <field> tags (4/30)
  • Document annotation function (4/25)
  • Table data paging can set fixed page header (4/21)
  • Table cells can be set with diagonal lines (4/20)
  • Supports the resume printing function, which can save the set resume printing page and the resume printing position of the current page (4/18)
  • Collection of national medical insurance standard data in the knowledge base (4/17)
  • Knowledge base source supports customization (4/16)
  • Added data-code and data-list to input field attributes (4/16)
  • Click on the knowledge base to display node details (4/15)
  • Disable the citation function (4/14)
  • Interface functions getFieldTextById() and getAllFieldText() are unified as getBindObject (4/12)
  • Interface functions setFieldTextById() and setFieldTextByObj() are unified as setBindObject (4/12)
  • Design pages to suit mobile devices (4/8)
  • Knowledge base tree and reference library support dragging to document (4/7)
  • Document read-only mode setMode('readonly') (4/6)
  • Export structured data and structured document tree structure consistent (4/4)
  • The medical record document node tree is placed in the status bar, and you can click to locate the medical record document node (4/3)
  • Medical record structured document preview function (4/2)
  • You can modify the style of the parent container of the control, such as (parent DIV, P tag, etc.) (4/1)

March

  • Modify the default identifier rules after clicking on the knowledge base & reference items (3/30)
  • User manual adds knowledge base & reference items (3/30)
  • Modify the interface method of the data URL of the knowledge base & reference project (3/29)
  • The properties panel opens the document properties by default, and loads the knowledge base and reference items asynchronously (3/28)
  • Reference items can automatically bring in the default name (uppercase letters) of the data domain and the data element code (3/28)
  • X-Siteopen in new window Citation Management (3/27)
  • Display the header after the table data is paginated
  • Added table data binding function (3/24)
  • Main program code refactoring (3/24)
  • Remove the "Apply" button of the medical record control properties, and apply the properties in real time after modification (3/18)
  • Fixed the issue that the date control does not pop up (3/18)
  • Improve the user manual (3/17)
  • Enter the name of the surgery and automatically enter the surgery code (3/17)
  • X-Siteopen in new window Surgery dictionary management (3/17)
  • Enter the diagnosis on the first page of the medical record, automatically import the ICD code, support text and pinyin search, support space segmentation (3/16)
  • Enter diagnosis on the first page of the medical record (3/16)
  • Improve input field input control (3/15)
  • X-Siteopen in new window ICD dictionary management (3/15)
  • Improve the required verification function
  • Automatically adapt the menu font on mobile devices
  • Input fields support fixed width
  • Input fields support text alignment
  • Set watermark on print page
  • Open X-Browser program source codeopen in new window
  • Support importing XML files opened by Duchang electronic medical records
  • When entering text in the text box, automatically clear the background prompt text
  • Fixed the issue that the exported HTML file would have different styles when imported again
  • Single-item selection box control setting function
  • Multiple selection box control settings
  • Single-item and multiple-item selection boxes get binding data function

February

  • Toolbar category adjustment
  • Support custom knowledge base data source function
  • Develop template management system X-Siteopen in new window
  • Developed print driver X-Printer, supporting multiple operating systems: Windows, Linux, Mac
  • Developed electronic medical record browser X-Browseropen in new window, Window .net environment, supports calling local card reader interface, etc.
  • Template knowledge base maintenance function
  • Template standard template maintenance
  • Custom template maintenance (supports custom template data isolation for HIT companies/medical institutions/users)
  • Interface editor.$()
  • Interface editor.setFieldTextById(id, text)
  • Interface editor.setFieldTextByObj(jsonObj)
  • Interface editor.getFieldTextById(id)
  • Interface editor.getAllFieldText()
  • editor.js code optimization, reduced to 303KB
  • PDF file page preview
  • Required verification function
  • Optimize editor code entry and support Vue
  • Simple example of X-EMR for VUE

2022

  • Font color and background color selection
  • PDF file preview
  • Export function merged into "File" tab
  • Added static HTML medical record template browsing function linkopen in new window
  • Paging function optimization & function update
  • Update and optimize the paging algorithm
  • Local document storage history
  • Added property panel to simplify modifying the properties of text input field, date input field and list selection box
  • Added medical expressions: menstrual history, dental position diagram
  • Export full-page documents to HTML, JSON, XML or PDF formats
  • Document binding data can be exported in JSON or XML format
  • Paging function during editing: support displaying paging lines during page editing
  • Document storage format changed to HTML standard [Important upgrade]
  • "Read-only mode, edit mode, design mode" changed to "page preview, form mode, design mode"
  • Temperature test medical record document
  • Solve the problem of abnormal display of Checkbox and radiobox in exported PDF format
  • Remove the left toolbar and change the layout to the layout that Office users are used to
  • Signs and symptoms data knowledge base
  • Health information data element
  • Basic data set of electronic medical records
  • Support adding QR code
  • Use "two-finger touchpad" or "ctr key + mouse scroll" to control document zoom
  • Support superscript and subscript text
  • Support document full screen exit
  • Help document writing and publishing
  • Select rows and columns to insert into table
  • Double click to modify header and footer
  • Support global document configuration items and document commands
  • Added document revision function
  • Medical record templates & form editing & PDF
  • Import 350 commonly used medical record templates
  • Table merge and split cells, insert and delete rows and columns
  • Support exporting PDF files
  • Support design mode and edit mode
  • Support document zooming
  • Supports modification of font style, size, thickness, underline and other common operations
  • Support storing data in database (oracle, mysql)
  • Support downloading in JSON and HTML formats
  • Support page printing size, horizontal and vertical layout, printing margins, header and page margin settings
  • Support document directory
  • Temperature test
  • Support design, edit and read-only modes
  • Support document zooming
  • Supports modification of font style, size, thickness, underline and other common operations
  • Compatible with IE11 browser (support will be cancelled later)
  • Support page preview and printing
  • Added status bar and toolbar
  • Support image display
  • Support local storage
  • Support drop-down box selection
  • Support date selection
  • Support table display
  • Support XML parsing