Uploaded image for project: 'FHIR Specification Feedback'
  1. FHIR Specification Feedback
  2. FHIR-38826

Add guidance about translation issues

    XMLWordPrintableJSON

Details

    • Icon: Change Request Change Request
    • Resolution: Persuasive with Modification
    • Icon: Medium Medium
    • Structured Data Capture (SDC) (FHIR)
    • current
    • FHIR Infrastructure
    • Advanced Rendering Questionnaire
    • Advanced Form Rendering
    • Hide

      1. Will define a 'core' 0..* extension on Resource.language called "availableTranslation" with a type of 'code' and a required binding to our language value set. Will also define a 0..* extension on that extension called "translationMethod" with an extensible binding with two codes - translation-extension (translations are included on strings with a translation extension), and translation-file (translations are maintained in a referenced industry standard translation file)

      Will define 3 search parameters:

      • availableTranslation - token - searches for resources that have an availableTranslation with the specified language
      • availableLanguage - token - searches for resources that have a language value or availableTranslation with the specified language
      • availableTranslationMethod - combined token|token - searches for resources with an availableTranslation with the specified language and method

      We won't take on 'completeness' of translations at this time as we don't have a good feel for what's needed/possible.

      2, 4. Will say this: "When capturing answers for questions where translations are available, the stored item.text and translatable answer.values (e.g. string or Coding.display) SHOULD be what the user saw when the answered the question.

      This is a simple matter when the user sees all questions in the same language. However, there is complexity if the user "preferred language" settings (or available languages) differ as the user is completing the form. If different questions are answered at different times with different languages visible, the rule is the same - store what language was displayed. For parent items (e.g. group headings), store the language for the first question viewed. That said, some systems may have challenges doing this. Such systems MAY choose to store only the display values in the last selected rendering language. E.g. If some answers were initially completed in German and the user then switched to Polish, the resulting Questionnaire SHOULD contain some items with German displays and the remainder in Polish, though having all displays in Polish would be acceptable."

      3, 5, 6, 7. "Questionnaire.language should be the language in which the majority of item.text.value and item.answer options are specified. QuestionnaireResponse.language should be the 'primary' language of the answers provided. For QuestionnaireResponses, this will typically be whatever was the 'active' language at the time the QuestionnaireResponse was last saved, though systems are allowed to determine the 'primary' language of the response by other means. Whether the Questionnaire/QuestionnaireResponse.language needs to be set or not depends on whether the language is what's typical/expected in the context in which the QuestionnaireResponse is being used.
      If there is no 'typical', then the Resource.language SHOULD always be specified if known."

      Will add the 'language' extension to SDC profile QuestionnaireResponse.answer display, string, etc. as optional. Will add language that says "If an answer is in a language other than the QuestionnaireResponse.language, the strings within the answer SHOULD include the 'language' extension to indicate which language the string value is expressed in."

      Will also add the 'translation' extension to the QuestionnaireResponse profile for the various answer string elements and say "If translation elements are available in the Questionnaire, ValueSet expansion, expression response, etc. when completing the QuestionnaireResponse, those translations SHOULD be included in the stored QuestionnaireResponse. If the user selected a value from one of the translation extensions rather than than base string, the translation SHOULD be sent as the root string in the QuestionnaireResponse and all other translations as well as the original base string should be expressed as translations."

      Show
      1. Will define a 'core' 0..* extension on Resource.language called "availableTranslation" with a type of 'code' and a required binding to our language value set. Will also define a 0..* extension on that extension called "translationMethod" with an extensible binding with two codes - translation-extension (translations are included on strings with a translation extension), and translation-file (translations are maintained in a referenced industry standard translation file) Will define 3 search parameters: availableTranslation - token - searches for resources that have an availableTranslation with the specified language availableLanguage - token - searches for resources that have a language value or availableTranslation with the specified language availableTranslationMethod - combined token|token - searches for resources with an availableTranslation with the specified language and method We won't take on 'completeness' of translations at this time as we don't have a good feel for what's needed/possible. 2, 4. Will say this: "When capturing answers for questions where translations are available, the stored item.text and translatable answer.values (e.g. string or Coding.display) SHOULD be what the user saw when the answered the question. This is a simple matter when the user sees all questions in the same language. However, there is complexity if the user "preferred language" settings (or available languages) differ as the user is completing the form. If different questions are answered at different times with different languages visible, the rule is the same - store what language was displayed. For parent items (e.g. group headings), store the language for the first question viewed. That said, some systems may have challenges doing this. Such systems MAY choose to store only the display values in the last selected rendering language. E.g. If some answers were initially completed in German and the user then switched to Polish, the resulting Questionnaire SHOULD contain some items with German displays and the remainder in Polish, though having all displays in Polish would be acceptable." 3, 5, 6, 7. "Questionnaire.language should be the language in which the majority of item.text.value and item.answer options are specified. QuestionnaireResponse.language should be the 'primary' language of the answers provided. For QuestionnaireResponses, this will typically be whatever was the 'active' language at the time the QuestionnaireResponse was last saved, though systems are allowed to determine the 'primary' language of the response by other means. Whether the Questionnaire/QuestionnaireResponse.language needs to be set or not depends on whether the language is what's typical/expected in the context in which the QuestionnaireResponse is being used. If there is no 'typical', then the Resource.language SHOULD always be specified if known." Will add the 'language' extension to SDC profile QuestionnaireResponse.answer display, string, etc. as optional. Will add language that says "If an answer is in a language other than the QuestionnaireResponse.language, the strings within the answer SHOULD include the 'language' extension to indicate which language the string value is expressed in." Will also add the 'translation' extension to the QuestionnaireResponse profile for the various answer string elements and say "If translation elements are available in the Questionnaire, ValueSet expansion, expression response, etc. when completing the QuestionnaireResponse, those translations SHOULD be included in the stored QuestionnaireResponse. If the user selected a value from one of the translation extensions rather than than base string, the translation SHOULD be sent as the root string in the QuestionnaireResponse and all other translations as well as the original base string should be expressed as translations."
    • Enhancement
    • Compatible, substantive

    Description

      A section should be added to the guide about "translation issues" or more broadly (as Brian Postlethwaite suggested) "international issues".  In particular there are a number of choices when using the translation extension on which recommendations and/or expectations should set:

      1) Options for translation should be obtainable by looking at the extensions on Questionnaire.title; one should not have to search all strings in the form looking for translation extensions to come up with a list of languages.

      2) QuestionnaireResponses should be saved in the language in which it was being viewed at the time of the save (except for free-text answers).  If a user fills out question A in French, switches to Spanish, fills out question B, and saves, the saved language of both should be Spanish.

      3) QuestionnaireResponse.language is used to indicate the language in which the response was saved.

      4) Saving a response in a language involves writing QuestionnaireRepsonse.item.text, item.answer.valueString, and item.answer.valueCoding.display in that language (replacing the default language's values).

      5) When saving answers which have translation extensions on them, the answer with all of its extensions are written into the QuestionnaireResponse.

      6) In order to preserve the default language's value for the answers, so the QuestionnaireResponse can be viewed in the default language (again with the exception of free-text answers), the default language answer value should appended in a translation extension to the answer's list of extensions.

      7) Questionnaire.language should be used to indicate the default language of the Questionnaire when translations are provided via the translation extension.

       

       

      Attachments

        Activity

          People

            Unassigned Unassigned
            plynch Paul Lynch
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: