This project takes react-jsonschema-form-extras and adds additional fields, specific to RxNT.
Catalogue
- IMO field - field that allows to make request to IMO API, through RxNT network
- Async typeahead - extension of general typeahead, that uses standard RxNT signature and request formats
Table of Contents
IMO field
Purpose
IMO field allows to query problems with IMO service in separate window.
Use
In accordance with requirements, there are 3 ways to trigger IMO search
- with a Composite array
- with
inputField
imo
which would display Add
and optional Free Text
button - with
inputField
: imoFreeText
which would just display Free Text
button
- with Collapsible add
- with
addElement
imoAdd
in this case on pressing a plus in collapsible IMO
modal will be displayed
For example
Composite array with inputField
imo
{
"ui:field": "compositeArray",
"inputField": "imo",
"arrayField": "table"
}
Composite array with inputField
imoFreeText
{
"ui:field": "compositeArray",
"inputField": "imoFreeText",
"arrayField": "table"
}
Collapsible with imo
{
"ui:field": "collapsible",
"collapse": {
"collapsed": false,
"addTo": "familyHistory",
"addElement": "imoAdd",
"field": "ObjectField"
}
}
Properties
For Composite array with inputField
imo
, the only property IMO accepts is
freeText
boolean which enables freeText button on IMO field
All other uses do not have specific configurations
Async typeahead
This component is minimalistic modification of react-jsonschema-form-extras component,
which specifies predefined search
string, that allows to query RxNT autocomplete data.
!!! WARNING
IMO and AsyncTypeahead rely on window variables for Authentication, provided by the caller
- `encounterTemplateV2User` user data
- `encounterTemplateV2EncounterInfo` encounter data
You need to have them in the scope in order for IMO to work properly
TableWithSearchAdd
This component is to add the new records to the table through the custom AddElement(Popup) from custom collapsible/SearchField
ui:field
should be [tableWithSearchAdd]
tableWithSearchAdd
new attribute to mention the AddElement(Popup/Dropdown etc)
Collapsible with procedureCode POPUP as AddElement
{
"table": {
"tableCols": [
{
"dataField": "code",
"columnWidth": "25%",
"width": "40%",
"field": "asyncTypeahead",
"editable": false,
"uiSchema": {
"focusOnMount": true,
"asyncTypeahead": {
"placeholder": "CPT code or description",
"url": "https://jsonplaceholder.typicode.com/todos",
"mapping": {
"code": "userId",
"description": "title"
},
"minLength": 1,
"labelKey": {
"fields": [
"userId",
"title"
],
"separator": " - "
},
"className": "rectangle diagnosisTypeahead"
}
}
},
{
"dataField": "description",
"columnWidth": "60%",
"width": "50%",
"editable": false
}
],
"focusOnAdd": 0,
"hover": true
},
"ui:options": {
"label": false
},
"classNames": "col-md-12 ",
"ui:field": "tableWithSearchAdd",
"tableWithSearchAdd": {
"addElement": "procedureCode"
}
}