Details
-
Change Request
-
Resolution: Persuasive with Modification
-
Medium
-
Structured Data Capture (SDC) (FHIR)
-
current
-
FHIR Infrastructure
-
SDC Form Filler
-
-
Brian Postlethwaite/Paul Lynch: 4-0-0
-
Enhancement
-
Compatible, substantive
Description
Mobile devices have the ability to display keyboards with different layouts for different types of input. As an example, they can show a dedicated keyboard type containing only digits, a minus sign and a decimal point for numeric input. Or a keyboard with an easy to reach `@` sign to enter an email address. The FHIR SDC specification so far is not providing a way to explicitly request this kind of behaviour. Inputs are defined as item type "string", their format can be constrained through the "regex" extension, but there is no way to hint the desire for a particular kind of keyboard.
Based on the discussion on chat.fhir.org (https://chat.fhir.org/#narrow/stream/179255-questionnaire/topic/SDC.20.3A.20How.20to.20show.20the.20correct.20keyboard.20i.2Ee.2E.20alphanumeric.20.2E.2E.2E) it is therefore proposed to introduce such a hint to the SDC IG.
The proposed way to implement this through an extension, with a proposed name of
`http://hl7.org/fhir/StructureDefinition/inputType` of value type "code", with a value set containing at least the hints "number", "phone", "email", and "plain".
Other candidate hints are "multiline", "url", and "chat".
They should trigger the following keyboard behaviours:
plain: Normal, plain text input
phone: Keyboard type optimised for input of phone numbers (digits with letters, different prediction)
email: Keyboard type optimised for input of email addresses (easy access to at-sign, different prediction)
number: Keyboard type optimised for entering digits (useful for strings as well, such as for entering numerical identifiers)
Potential candidates:
multiline: Keyboard optimised for entering longer, multiline passages of text (potentially different capitalisation and behaviour of Enter key)
url: Keyboard type optimised for input of URLs (different prediction, easy access to forward slash)
chat: Keyboard type optimised for input of chat messages (easy access to emojis)