Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master' into 1764-scroll-to-bo…
Browse files Browse the repository at this point in the history
…ttom-to-enable-next
  • Loading branch information
LZRS committed Apr 23, 2024
2 parents e62105f + 2d1d45d commit a5e0df3
Show file tree
Hide file tree
Showing 645 changed files with 3,195 additions and 38,749 deletions.
33 changes: 33 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
// https://aka.ms/devcontainer.json
{
"name": "Android FHIR, by Google",

// https://github.com/devcontainers/templates/tree/main/src/java
"image": "mcr.microsoft.com/devcontainers/java:1-17-bookworm",

"features": {
// https://github.com/akhildevelops/devcontainer-features/issues/7
"ghcr.io/akhildevelops/devcontainer-features/android-cli:0": {}

// https://github.com/CASL0/devcontainer-features/issues/4
// "ghcr.io/casl0/devcontainer-features/android-sdk:1": {}

// https://github.com/NordcomInc/devcontainer-features/issues/20
// "ghcr.io/nordcominc/devcontainer-features/android-sdk:1": {
// "platform": "33",
// "build_tools": "33.0.1"
// }
}

// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],

// Use 'postCreateCommand' to run commands after the container is created.
// "postCreateCommand": "java -version",

// Configure tool-specific properties.
// "customizations": {},

// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
// "remoteUser": "root"
}
7 changes: 7 additions & 0 deletions .github/dependabot.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,10 @@ updates:
interval: weekly
day: monday
time: "04:00"

- package-ecosystem: "devcontainers"
directory: /
schedule:
interval: monthly
day: monday
time: "04:00"
3 changes: 3 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"recommendations": ["davidanson.vscode-markdownlint"]
}
1 change: 1 addition & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ buildscript {
}
dependencies {
classpath(Plugins.androidGradlePlugin)
classpath(Plugins.kspGradlePlugin)
classpath(Plugins.benchmarkGradlePlugin)
classpath(Plugins.flankGradlePlugin)
classpath(Plugins.kotlinGradlePlugin)
Expand Down
2 changes: 1 addition & 1 deletion buildSrc/src/main/kotlin/Dependencies.kt
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,7 @@ object Dependencies {

object Kotlin {
const val kotlinCoroutinesCore = "1.7.2"
const val stdlib = "1.8.20"
const val stdlib = "1.9.22"
}

const val androidFhirCommon = "0.1.0-alpha05"
Expand Down
6 changes: 4 additions & 2 deletions buildSrc/src/main/kotlin/Plugins.kt
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,10 @@ object Plugins {
const val androidLib = "com.android.library"
const val application = "com.android.application"
const val benchmark = "androidx.benchmark"
const val jetbrainsKotlinAndroid = "org.jetbrains.kotlin.android"
const val dokka = "org.jetbrains.dokka"
const val kotlin = "kotlin"
const val kotlinAndroid = "kotlin-android"
const val kotlinKapt = "kotlin-kapt"
const val kotlinKsp = "com.google.devtools.ksp"
const val mavenPublish = "maven-publish"
const val fladle = "com.osacky.fladle"
const val navSafeArgs = "androidx.navigation.safeargs.kotlin"
Expand All @@ -42,10 +41,13 @@ object Plugins {
"androidx.navigation:navigation-safe-args-gradle-plugin:${Dependencies.Versions.Androidx.navigation}"
const val rulerGradlePlugin = "com.spotify.ruler:ruler-gradle-plugin:1.2.1"
const val flankGradlePlugin = "com.osacky.flank.gradle:fladle:0.17.4"
const val kspGradlePlugin =
"com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin:${Versions.kspPlugin}"

object Versions {
const val androidGradlePlugin = "8.0.2"
const val benchmarkPlugin = "1.1.0"
const val dokka = "1.9.20"
const val kspPlugin = "1.9.22-1.0.18"
}
}
86 changes: 86 additions & 0 deletions catalog/src/main/assets/behavior_questionnaire_constraint.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
{
"resourceType": "Questionnaire",
"item": [
{
"linkId": "1",
"text": "Password",
"type": "string",
"item": [
{
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/questionnaire-displayCategory",
"valueCodeableConcept": {
"coding": [
{
"system": "http://hl7.org/fhir/questionnaire-display-category",
"code": "instructions"
}
]
}
}
],
"linkId": "1.1",
"text": "Fill the password first",
"type": "display"
}
]
},
{
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/questionnaire-constraint",
"extension": [
{
"url": "key",
"valueId": "constraint-1"
},
{
"url": "requirements",
"valueString": "Confirm password field must have the same value as password field"
},
{
"url": "severity",
"valueCode": "error"
},
{
"url": "expression",
"valueString": "%context.answer.value = %resource.descendants().where(linkId='1').answer.value"
},
{
"url": "human",
"valueString": "Password does not match"
},
{
"url": "location",
"valueString": "1"
}
]
}
],
"linkId": "2",
"text": "Confirm password",
"type": "string",
"item": [
{
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/questionnaire-displayCategory",
"valueCodeableConcept": {
"coding": [
{
"system": "http://hl7.org/fhir/questionnaire-display-category",
"code": "instructions"
}
]
}
}
],
"linkId": "2.1",
"text": "Show error message if confirm password does not match with password",
"type": "display"
}
]
}
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,11 @@ class BehaviorListViewModel(application: Application) : AndroidViewModel(applica
R.string.behavior_name_dynamic_question_text,
"behavior_dynamic_question_text.json",
),
QUESTIONNAIRE_CONSTRAINT(
R.drawable.ic_rule,
R.string.behavior_name_questionnaire_constraint,
"behavior_questionnaire_constraint.json",
),
}

fun isBehavior(context: Context, title: String) =
Expand Down
12 changes: 12 additions & 0 deletions catalog/src/main/res/drawable/ic_rule.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
android:width="48dp"
android:height="48dp"
android:viewportWidth="960"
android:viewportHeight="960"
>
<path
android:fillColor="#1A73E8"
android:pathData="M576,800L534,758L645,647L534,536L576,494L687,605L798,494L840,536L729,647L840,758L798,800L687,689L576,800ZM659,426L517,284L559,242L659,341L838,162L880,205L659,426ZM80,670L80,610L440,610L440,670L80,670ZM80,350L80,290L440,290L440,350L80,350Z"
/>
</vector>
1 change: 1 addition & 0 deletions catalog/src/main/res/layout/behavior_list_fragment.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/component_horizontal_margin"
android:layout_marginBottom="@dimen/bottom_navigation_view_height"
/>

</FrameLayout>
3 changes: 3 additions & 0 deletions catalog/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,9 @@
<string
name="behavior_name_dynamic_question_text"
>Dynamic question text</string>
<string
name="behavior_name_questionnaire_constraint"
>Questionnaire constraint</string>
<string name="component_name_initial_value">Initial Value</string>
<string
name="behavior_name_calculated_expression_info"
Expand Down
9 changes: 8 additions & 1 deletion datacapture/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,11 @@ android {

configureJacocoTestOptions()

sourceSets { getByName("androidTest").apply { resources.setSrcDirs(listOf("sampledata")) } }
sourceSets {
getByName("androidTest").apply { resources.setSrcDirs(listOf("sampledata")) }

getByName("test").apply { resources.setSrcDirs(listOf("sampledata")) }
}

testOptions { animationsDisabled = true }
kotlin { jvmToolchain(11) }
Expand Down Expand Up @@ -105,6 +109,9 @@ dependencies {
testImplementation(Dependencies.mockitoKotlin)
testImplementation(Dependencies.robolectric)
testImplementation(Dependencies.truth)
testImplementation(project(":knowledge")) {
exclude(group = Dependencies.androidFhirGroup, module = Dependencies.androidFhirEngineModule)
}

constraints {
Dependencies.hapiFhirConstraints().forEach { (libName, constraints) ->
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
map "http://worldhealthorganization.github.io/smart-ot/StructureMap/MeaslesQuestionnaireToResources" = "MeaslesQuestionnaireToResources"
uses "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse" alias QuestionnaireResponse as source
uses "http://hl7.org/fhir/StructureDefinition/Bundle" alias MeaslesCIFBundle as target

imports "http://worldhealthorganization.github.io/smart-ot/StructureMap/MeaslesLogicalModelToResources"
imports "http://worldhealthorganization.github.io/smart-ot/StructureMap/MeaslesQuestionnaireToLogicalModel"


group MeaslesQuestionnaireToResources(source qr : QuestionnaireResponse, target bundleCif : MeaslesCIFBundle) {
qr -> create ("http://worldhealthorganization.github.io/smart-ot/StructureDefinition/SOTMeasles") as model then {
qr -> model then MeaslesQuestionnaireToLogicalModel(qr,model) "QRtoLM";
qr -> bundleCif then MeaslesLogicalModelToResources (model, bundleCif) "LMtoBundle";
} "QRtoBundle";
}
Binary file not shown.
Binary file not shown.
1,019 changes: 1,019 additions & 0 deletions datacapture/sampledata/measles-outbreak/questionnaire_outbreak.json

Large diffs are not rendered by default.

Loading

0 comments on commit a5e0df3

Please sign in to comment.