google / android-fhir

The Android FHIR SDK is a set of Kotlin libraries for building offline-capable, mobile-first healthcare applications using the HL7® FHIR® standard on Android.
https://google.github.io/android-fhir/
Apache License 2.0
463 stars 241 forks source link

Support rich media content within questionnaire display item type #802

Closed fredhersch closed 1 year ago

fredhersch commented 2 years ago

Is your feature request related to a problem? Please describe. When creating a questionnaire, there is a need to be able to show different media types (e.g. image, video) as a display item. Currently the display item type only allows for text.

Describe the solution you'd like An extension to the display item type that will allow for a reference to an attachment of specific media types (image, video, audio) that will the be rendered within a Questionnaire

Describe alternatives you've considered Existing extension defined within the CPG IG. However this only supports images.

Additional context @shelaghm to add sample Questionnaire flow with image embedded for explaining how to collect specific data

ekigamba commented 2 years ago

@fredhersch

  1. Can this be split into multiple issues? One handling images and the other videos?
  2. Is there anyone assigned to issue? We also have a need for displaying an image on a questionnaire here and we can collaborate on this issue and have it complete soon
fredhersch commented 2 years ago

@ekigamba Thanks! It would be great if you can pick this up.

In our discussions we did want to see this as supporting other media types... I could imagine embedding a video or even an audio file... though these are definitely future requirements.

Two thoughts:

  1. If we use the CPG extension, then yes, we could just define an additional extension for whatever media type we want to support in the future. This seems like a practical first to satisfy the requirements. I'm ok with this

  2. Alternatively, we would implement this as a MediaItem Type extension and ensure we define the content-type in the extension definition. We could start with just supporting images (jpg, png) but have the structure in place to support any media encoding. This would involve some changes to the extension? Not sure what is involved here... so can't comment on the complexity.

@jingtang10 WDYT?

fredhersch commented 2 years ago

@ekigamba are you happy to be assigned this issue?

ekigamba commented 2 years ago

@fredhersch Happy to work on it

ekigamba commented 2 years ago

Scoping for itemImage extension support

  1. The Android FHIR SDK should be able to support the following variations of attachments

Sample questionnaire #1

A url to the image(unsecured)

{
  "resourceType" : "Questionnaire",
  "id" : "anc-quick-check",
  "url" : "http://hl7.org/fhir/uv/sdc/Questionnaire/anc-quick-check",
  "version" : "2.8.0",
  "name" : "ANC_Quick_Check",
  "title" : "Questionnaire - ANC Quick Check",
  "status" : "draft",
  "subjectType" : [
    "Patient"
  ],
  "date" : "2021-09-28T21:46:38+00:00",
  "item" : [
    {
      "extension" : [
        {
          "url" : "http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-answerValueSetSource",
          "valueCanonical" : "http://fhir.org/guides/who/anc-cds/ValueSet/anc-reason-for-visit"
        },
        {
          "url" : "http://hl7.org/fhir/uv/sdc/StructureDefinition/cpg-itemImage",
          "valueAttachment" : {
            "url" : "http://example.org/images/reason-for-visit.png"
          }
        }
      ],
      "linkId" : "reason-for-visit",
      "text" : "Why did you come?",
      "type" : "choice",
      "answerOption" : [
        {
          "valueString" : "For a scheduled (routine) visit"
        },
        {
          "valueString" : "For specific complaints about you or your baby"
        },
        {
          "valueString" : "First visit"
        },
        {
          "valueString" : "Follow-up visit"
        },
        {
          "valueString" : "Do you want to include your companion or other family member (parent if adolescent) in the examination and discussion?"
        }
      ]
    }
  ]
}

Sample questionnaire #2 (Priority support) A url to the Binary resource. An Binary JSON example is here. This enables us to have smaller questionnaires and download the image separately from the same FHIR server as a Binary resource.

{
  "resourceType" : "Questionnaire",
  "id" : "anc-quick-check",
  "url" : "http://hl7.org/fhir/uv/sdc/Questionnaire/anc-quick-check",
  "version" : "2.8.0",
  "name" : "ANC_Quick_Check",
  "title" : "Questionnaire - ANC Quick Check",
  "status" : "draft",
  "subjectType" : [
    "Patient"
  ],
  "date" : "2021-09-28T21:46:38+00:00",
  "item" : [
    {
      "extension" : [
        {
          "url" : "http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-answerValueSetSource",
          "valueCanonical" : "http://fhir.org/guides/who/anc-cds/ValueSet/anc-reason-for-visit"
        },
        {
          "url" : "http://hl7.org/fhir/uv/sdc/StructureDefinition/cpg-itemImage",
          "valueAttachment" : {
            "url" : "http://hl7.org/fhir/Binary/92384"
          }
        }
      ],
      "linkId" : "reason-for-visit",
      "text" : "Why did you come?",
      "type" : "choice",
      "answerOption" : [
        {
          "valueString" : "For a scheduled (routine) visit"
        },
        {
          "valueString" : "For specific complaints about you or your baby"
        },
        {
          "valueString" : "First visit"
        },
        {
          "valueString" : "Follow-up visit"
        },
        {
          "valueString" : "Do you want to include your companion or other family member (parent if adolescent) in the examination and discussion?"
        }
      ]
    }
  ]
}

Sample questionnaire #3 The base64 encoded image declared inline in the data element

{
  "resourceType" : "Questionnaire",
  "id" : "anc-quick-check",
  "url" : "http://hl7.org/fhir/uv/sdc/Questionnaire/anc-quick-check",
  "version" : "2.8.0",
  "name" : "ANC_Quick_Check",
  "title" : "Questionnaire - ANC Quick Check",
  "status" : "draft",
  "subjectType" : [
    "Patient"
  ],
  "date" : "2021-09-28T21:46:38+00:00",
  "item" : [
    {
      "extension" : [
        {
          "url" : "http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-answerValueSetSource",
          "valueCanonical" : "http://fhir.org/guides/who/anc-cds/ValueSet/anc-reason-for-visit"
        },
        {
          "url" : "http://hl7.org/fhir/uv/sdc/StructureDefinition/cpg-itemImage",
          "valueAttachment" : {
            "id": "okImage",
                    "contentType": "image/png",
                    "data": "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"
          }
        }
      ],
      "linkId" : "reason-for-visit",
      "text" : "Why did you come?",
      "type" : "choice",
      "answerOption" : [
        {
          "valueString" : "For a scheduled (routine) visit"
        },
        {
          "valueString" : "For specific complaints about you or your baby"
        },
        {
          "valueString" : "First visit"
        },
        {
          "valueString" : "Follow-up visit"
        },
        {
          "valueString" : "Do you want to include your companion or other family member (parent if adolescent) in the examination and discussion?"
        }
      ]
    }
  ]
}
  1. Display the image below the text for all question types. Priority on text, display and group questions
  2. Center the image horizontally and scale it to it's size
ekigamba commented 2 years ago

Notes from the Android FHIR SDK Developers call

Disc caching : https://developer.android.com/topic/performance/graphics/cache-bitmap#disk-cache

shelaghm commented 2 years ago

Hi @ekigamba @fredhersch

Attached an example of image embedded in the flow as a screenshot. This example is focused on measuring temperature. \ Also attached the illustration.

![Screen Shot 2021-10-04 at 10 01 46

Temperature@2x

AM](https://user-images.githubusercontent.com/86378921/135893641-63c92c96-36c9-4d1c-9915-f0cb52f277c6.png)

shelaghm commented 2 years ago
Temperature@2x
ekigamba commented 2 years ago

Thanks @shelaghm

ekigamba commented 2 years ago

I made a proposal to change the itemImage extension to either itemMedia or itemAttachment here https://jira.hl7.org/browse/FHIR-34097 with Jing and Bryn's direction.

fredhersch commented 2 years ago

@ekigamba This has been added to the spec as ItemMedia - https://build.fhir.org/ig/HL7/sdc/StructureDefinition-sdc-questionnaire-itemMedia.html

cc: @jingtang10

fredhersch commented 2 years ago

@ekigamba What's the status of this issue? Thanks

ekigamba commented 2 years ago

@fredhersch the PR is up https://github.com/google/android-fhir/pull/807, so we should have it in once the requested changes and final review is done

fredhersch commented 1 year ago

@ekigamba @Tarun-Bhardwaj Is this issue still pending the PR review?

cc: @jingtang10

ekigamba commented 1 year ago

@fredhersch

@FikriMilano is helping with this PR and is having build failure issues due to a refactor on the views. The build issues are yet to be resolved

parthfloyd commented 1 year ago

@ekigamba

In the PR all 3 (url, binary & data element) of the sample questionnaire examples are supported?

delcroip commented 1 year ago

Thanks for the work,

could you confirm that the url of the extension is now

http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemMedia

insteand of

http://hl7.org/fhir/uv/sdc/StructureDefinition/cpg-itemImage

example from SDC page :

"extension" : [
        {
          "url" : "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemMedia",
          "valueAttachment" : {
            "url" : "http://example.org/images/reason-for-visit.png"
          }
        }
      ],
ekigamba commented 1 year ago

@delcroip Thanks for bringing that up. This will be changed in the PR and updated accordingly on the issue to reflect this

ekigamba commented 1 year ago

@ekigamba

In the PR all 3 (url, binary & data element) of the sample questionnaire examples are supported?

@parthfloyd No, only binary and data. There is a provided interface in the PR where the developer should handle fetching image from a url

f-odhiambo commented 1 year ago

Hi @Tarun-Bhardwaj kindly assign this to @FikriMilano

fredhersch commented 1 year ago

@f-odhiambo is this for a new issue? Or to complete the current issue. OR should this be merged with https://github.com/google/android-fhir/pull/1377

cc: @ekigamba @Tarun-Bhardwaj

f-odhiambo commented 1 year ago

@fredhersch This is to complete current issue via PR https://github.com/google/android-fhir/pull/1377

FikriMilano commented 1 year ago

@jingtang10 as you requested, to put the implementation in one place. I created QuestionnaireItemMediaView that populates everything item-media related

FikriMilano commented 1 year ago

I will be on exam leave for some weeks, will continue the work after I come back. @f-odhiambo @jingtang10 @Tarun-Bhardwaj

FikriMilano commented 1 year ago

Resuming on this

delcroip commented 1 year ago

Thanks everyone for the work,

I checked on the PR and it seems that the extension should be

   "extension": [
            {
              "url" : "http://hl7.org/fhir/uv/sdc/StructureDefinition/cpg-itemImage",
              "valueAttachment" : {
                "contentType": "image/png",
                "url": "https://hapi.fhir.org/baseR4/Binary/android-fhir-thermometer-image"
              }
            }
          ]

Is it correct of should I use ´http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemMedia´ ?

FikriMilano commented 1 year ago

@delcroip please use the item media instead

FikriMilano commented 1 year ago

@jingtang10 @shelaghm Created this ticket to track styling item media and see supported possibilities of customization https://github.com/google/android-fhir/issues/1874