diff --git a/au/aucore040/Dependencies.toml b/au/aucore040/Dependencies.toml index ebfbf038..1ad6d759 100644 --- a/au/aucore040/Dependencies.toml +++ b/au/aucore040/Dependencies.toml @@ -5,7 +5,7 @@ [ballerina] dependencies-toml-version = "2" -distribution-version = "2201.12.2" +distribution-version = "2201.12.8" [[package]] org = "ballerina" @@ -53,7 +53,7 @@ dependencies = [ [[package]] org = "ballerina" name = "data.jsondata" -version = "1.1.0" +version = "1.1.1" dependencies = [ {org = "ballerina", name = "jballerina.java"}, {org = "ballerina", name = "lang.object"} @@ -73,7 +73,7 @@ dependencies = [ [[package]] org = "ballerina" name = "http" -version = "2.14.0" +version = "2.14.5" dependencies = [ {org = "ballerina", name = "auth"}, {org = "ballerina", name = "cache"}, @@ -230,7 +230,7 @@ dependencies = [ [[package]] org = "ballerina" name = "oauth2" -version = "2.14.0" +version = "2.14.1" dependencies = [ {org = "ballerina", name = "cache"}, {org = "ballerina", name = "crypto"}, @@ -260,10 +260,11 @@ dependencies = [ [[package]] org = "ballerina" name = "task" -version = "2.7.0" +version = "2.10.0" dependencies = [ {org = "ballerina", name = "jballerina.java"}, - {org = "ballerina", name = "time"} + {org = "ballerina", name = "time"}, + {org = "ballerina", name = "uuid"} ] [[package]] @@ -296,7 +297,7 @@ dependencies = [ [[package]] org = "ballerinax" name = "health.base" -version = "1.1.0" +version = "1.1.1" dependencies = [ {org = "ballerina", name = "http"}, {org = "ballerina", name = "io"}, @@ -349,9 +350,23 @@ dependencies = [ {org = "ballerina", name = "constraint"}, {org = "ballerina", name = "log"}, {org = "ballerinax", name = "health.fhir.r4"}, - {org = "ballerinax", name = "health.fhir.r4.aubase421"} + {org = "ballerinax", name = "health.fhir.r4.aubase421"}, + {org = "ballerinax", name = "health.fhir.r4.international401"} ] modules = [ {org = "ballerinax", packageName = "health.fhir.r4.aucore040", moduleName = "health.fhir.r4.aucore040"} ] +[[package]] +org = "ballerinax" +name = "health.fhir.r4.international401" +version = "3.0.1" +dependencies = [ + {org = "ballerina", name = "constraint"}, + {org = "ballerina", name = "log"}, + {org = "ballerinax", name = "health.fhir.r4"} +] +modules = [ + {org = "ballerinax", packageName = "health.fhir.r4.international401", moduleName = "health.fhir.r4.international401"} +] + diff --git a/au/aucore040/Package.md b/au/aucore040/Package.md index fd90ba7f..e5382128 100644 --- a/au/aucore040/Package.md +++ b/au/aucore040/Package.md @@ -1,7 +1,7 @@ Ballerina package containing FHIR resource data models compliant with http://hl7.org.au/fhir/core/ implementation guide. -# FHIR R4 aucore040 package +# FHIR R4 health_fhir_r4_aucore040 package ## Package Overview @@ -40,31 +40,31 @@ compliant with http://hl7.org.au/fhir/core/ implementation guide. | 18). AUCoreRespirationRate | [[Definition]][s18] [[Ballerina Record]][m18] | | 19). AUCoreBloodPressure | [[Definition]][s19] [[Ballerina Record]][m19] | | 20). AUCorePathologyResult | [[Definition]][s20] [[Ballerina Record]][m20] | -| 21). AUCoreLocation | [[Definition]][s21] [[Ballerina Record]][m21] | -| 22). AUCoreDiagnosticResult | [[Definition]][s22] [[Ballerina Record]][m22] | +| 21). AUCoreDiagnosticResult | [[Definition]][s21] [[Ballerina Record]][m21] | +| 22). AUCoreLocation | [[Definition]][s22] [[Ballerina Record]][m22] | -[m1]: https://lib.ballerina.io/healthcare/aucore040/1.0.0#AUCoreOrganization -[m2]: https://lib.ballerina.io/healthcare/aucore040/1.0.0#AUCorePatient -[m3]: https://lib.ballerina.io/healthcare/aucore040/1.0.0#AUCoreImmunization -[m4]: https://lib.ballerina.io/healthcare/aucore040/1.0.0#AUCoreBodyWeight -[m5]: https://lib.ballerina.io/healthcare/aucore040/1.0.0#AUCoreWaistCircumference -[m6]: https://lib.ballerina.io/healthcare/aucore040/1.0.0#AUCoreEncounter -[m7]: https://lib.ballerina.io/healthcare/aucore040/1.0.0#AUCoreProcedure -[m8]: https://lib.ballerina.io/healthcare/aucore040/1.0.0#AUCoreAllergyIntolerance -[m9]: https://lib.ballerina.io/healthcare/aucore040/1.0.0#AUCoreBodyHeight -[m10]: https://lib.ballerina.io/healthcare/aucore040/1.0.0#AUCoreBodyTemperature -[m11]: https://lib.ballerina.io/healthcare/aucore040/1.0.0#AUCorePractitioner -[m12]: https://lib.ballerina.io/healthcare/aucore040/1.0.0#AUCoreMedication -[m13]: https://lib.ballerina.io/healthcare/aucore040/1.0.0#AUCoreMedicationRequest -[m14]: https://lib.ballerina.io/healthcare/aucore040/1.0.0#AUCoreCondition -[m15]: https://lib.ballerina.io/healthcare/aucore040/1.0.0#AUCorePractitionerRole -[m16]: https://lib.ballerina.io/healthcare/aucore040/1.0.0#AUCoreHeartRate -[m17]: https://lib.ballerina.io/healthcare/aucore040/1.0.0#AUCoreSmokingStatus -[m18]: https://lib.ballerina.io/healthcare/aucore040/1.0.0#AUCoreRespirationRate -[m19]: https://lib.ballerina.io/healthcare/aucore040/1.0.0#AUCoreBloodPressure -[m20]: https://lib.ballerina.io/healthcare/aucore040/1.0.0#AUCorePathologyResult -[m21]: https://lib.ballerina.io/healthcare/aucore040/1.0.0#AUCoreLocation -[m22]: https://lib.ballerina.io/healthcare/aucore040/1.0.0#AUCoreDiagnosticResult +[m1]: https://lib.ballerina.io/ballerinax/health.fhir.r4.aucore040/1.0.0#AUCoreOrganization +[m2]: https://lib.ballerina.io/ballerinax/health.fhir.r4.aucore040/1.0.0#AUCorePatient +[m3]: https://lib.ballerina.io/ballerinax/health.fhir.r4.aucore040/1.0.0#AUCoreImmunization +[m4]: https://lib.ballerina.io/ballerinax/health.fhir.r4.aucore040/1.0.0#AUCoreBodyWeight +[m5]: https://lib.ballerina.io/ballerinax/health.fhir.r4.aucore040/1.0.0#AUCoreWaistCircumference +[m6]: https://lib.ballerina.io/ballerinax/health.fhir.r4.aucore040/1.0.0#AUCoreEncounter +[m7]: https://lib.ballerina.io/ballerinax/health.fhir.r4.aucore040/1.0.0#AUCoreProcedure +[m8]: https://lib.ballerina.io/ballerinax/health.fhir.r4.aucore040/1.0.0#AUCoreAllergyIntolerance +[m9]: https://lib.ballerina.io/ballerinax/health.fhir.r4.aucore040/1.0.0#AUCoreBodyHeight +[m10]: https://lib.ballerina.io/ballerinax/health.fhir.r4.aucore040/1.0.0#AUCoreBodyTemperature +[m11]: https://lib.ballerina.io/ballerinax/health.fhir.r4.aucore040/1.0.0#AUCorePractitioner +[m12]: https://lib.ballerina.io/ballerinax/health.fhir.r4.aucore040/1.0.0#AUCoreMedication +[m13]: https://lib.ballerina.io/ballerinax/health.fhir.r4.aucore040/1.0.0#AUCoreMedicationRequest +[m14]: https://lib.ballerina.io/ballerinax/health.fhir.r4.aucore040/1.0.0#AUCoreCondition +[m15]: https://lib.ballerina.io/ballerinax/health.fhir.r4.aucore040/1.0.0#AUCorePractitionerRole +[m16]: https://lib.ballerina.io/ballerinax/health.fhir.r4.aucore040/1.0.0#AUCoreHeartRate +[m17]: https://lib.ballerina.io/ballerinax/health.fhir.r4.aucore040/1.0.0#AUCoreSmokingStatus +[m18]: https://lib.ballerina.io/ballerinax/health.fhir.r4.aucore040/1.0.0#AUCoreRespirationRate +[m19]: https://lib.ballerina.io/ballerinax/health.fhir.r4.aucore040/1.0.0#AUCoreBloodPressure +[m20]: https://lib.ballerina.io/ballerinax/health.fhir.r4.aucore040/1.0.0#AUCorePathologyResult +[m21]: https://lib.ballerina.io/ballerinax/health.fhir.r4.aucore040/1.0.0#AUCoreDiagnosticResult +[m22]: https://lib.ballerina.io/ballerinax/health.fhir.r4.aucore040/1.0.0#AUCoreLocation [s1]: http://hl7.org.au/fhir/core/StructureDefinition/au-core-organization [s2]: http://hl7.org.au/fhir/core/StructureDefinition/au-core-patient @@ -86,5 +86,5 @@ compliant with http://hl7.org.au/fhir/core/ implementation guide. [s18]: http://hl7.org.au/fhir/core/StructureDefinition/au-core-resprate [s19]: http://hl7.org.au/fhir/core/StructureDefinition/au-core-bloodpressure [s20]: http://hl7.org.au/fhir/core/StructureDefinition/au-core-diagnosticresult-path -[s21]: http://hl7.org.au/fhir/core/StructureDefinition/au-core-location -[s22]: http://hl7.org.au/fhir/core/StructureDefinition/au-core-diagnosticresult +[s21]: http://hl7.org.au/fhir/core/StructureDefinition/au-core-diagnosticresult +[s22]: http://hl7.org.au/fhir/core/StructureDefinition/au-core-location diff --git a/au/aucore040/extensions.bal b/au/aucore040/extensions.bal new file mode 100644 index 00000000..d9116586 --- /dev/null +++ b/au/aucore040/extensions.bal @@ -0,0 +1,646 @@ +// Copyright (c) 2025, WSO2 LLC. (http://www.wso2.com). + +// WSO2 LLC. licenses this file to you under the Apache License, +// Version 2.0 (the "License"); you may not use this file except +// in compliance with the License. +// You may obtain a copy of the License at + +// http://www.apache.org/licenses/LICENSE-2.0 + +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +// AUTO-GENERATED FILE. +// This file is auto-generated by Ballerina. + +import ballerinax/health.fhir.r4; + +public type AuCoreRsgSexassignedabExtensions (AuCoreRsgSexassignedabGenderElementQualifier|AuCoreRsgSexassignedabAcquisitionDate|AuCoreRsgSexassignedabSourceDocument|AuCoreRsgSexassignedabType|AuCoreRsgSexassignedabComment|AuCoreRsgSexassignedabEffectivePeriod|AuCoreRsgSexassignedabJurisdiction|AuCoreRsgSexassignedabValue|AuCoreRsgSexassignedabSourceField); + +@r4:DataTypeDefinition { + name: "AuCoreRsgSexassignedabAcquisitionDate", + baseType: (), + elements: { + "extension": { + name: "extension", + dataType: r4:Extension, + min: 0, + max: 0, + isArray: true, + description: "An Extension", + path: "acquisitionDate.extension" + }, + + "valueDateTime": { + name: "valueDateTime", + dataType: r4:dateTime, + min: 1, + max: 1, + isArray: false, + description: "Value of extension - must be one of a constrained set of the data types (see [Extensibility](http://hl7.org/fhir/R5/extensibility.html) for a list).", + path: "acquisitionDate.value[x]" + }, + + "id": { + name: "id", + dataType: string, + min: 0, + max: 1, + isArray: false, + description: "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", + path: "acquisitionDate.id" + }, + + "url": { + name: "url", + dataType: r4:uri, + min: 1, + max: 1, + isArray: false, + description: "Source of the definition for the extension code - a logical name or a URL.", + path: "acquisitionDate.url" + } + + }, + serializers: { + 'xml: r4:complexDataTypeXMLSerializer, + 'json: r4:complexDataTypeJsonSerializer + } +} + +public type AuCoreRsgSexassignedabAcquisitionDate record {| + *r4:DateTimeExtension; + + r4:dateTime valueDateTime; + string id?; + "acquisitionDate" url = "acquisitionDate"; +|}; + +@r4:DataTypeDefinition { + name: "AuCoreRsgSexassignedabComment", + baseType: (), + elements: { + "extension": { + name: "extension", + dataType: r4:Extension, + min: 0, + max: 0, + isArray: true, + description: "An Extension", + path: "comment.extension" + }, + + "valueString": { + name: "valueString", + dataType: string, + min: 1, + max: 1, + isArray: false, + description: "Value of extension - must be one of a constrained set of the data types (see [Extensibility](http://hl7.org/fhir/R5/extensibility.html) for a list).", + path: "comment.value[x]" + }, + + "id": { + name: "id", + dataType: string, + min: 0, + max: 1, + isArray: false, + description: "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", + path: "comment.id" + }, + + "url": { + name: "url", + dataType: r4:uri, + min: 1, + max: 1, + isArray: false, + description: "Source of the definition for the extension code - a logical name or a URL.", + path: "comment.url" + } + + }, + serializers: { + 'xml: r4:complexDataTypeXMLSerializer, + 'json: r4:complexDataTypeJsonSerializer + } +} + +public type AuCoreRsgSexassignedabComment record {| + *r4:StringExtension; + + string valueString; + string id?; + "comment" url = "comment"; +|}; + +@r4:DataTypeDefinition { + name: "AuCoreRsgSexassignedabEffectivePeriod", + baseType: (), + elements: { + "extension": { + name: "extension", + dataType: r4:Extension, + min: 0, + max: 0, + isArray: true, + description: "An Extension", + path: "effectivePeriod.extension" + }, + + "valuePeriod": { + name: "valuePeriod", + dataType: r4:Period, + min: 0, + max: 1, + isArray: false, + description: "Value of extension - must be one of a constrained set of the data types (see [Extensibility](http://hl7.org/fhir/R5/extensibility.html) for a list).", + path: "effectivePeriod.value[x]" + }, + + "id": { + name: "id", + dataType: string, + min: 0, + max: 1, + isArray: false, + description: "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", + path: "effectivePeriod.id" + }, + + "url": { + name: "url", + dataType: r4:uri, + min: 1, + max: 1, + isArray: false, + description: "Source of the definition for the extension code - a logical name or a URL.", + path: "effectivePeriod.url" + } + + }, + serializers: { + 'xml: r4:complexDataTypeXMLSerializer, + 'json: r4:complexDataTypeJsonSerializer + } +} + +public type AuCoreRsgSexassignedabEffectivePeriod record {| + *r4:PeriodExtension; + + r4:Period valuePeriod?; + string id?; + "effectivePeriod" url = "effectivePeriod"; +|}; + +@r4:DataTypeDefinition { + name: "AuCoreRsgSexassignedabGenderElementQualifier", + baseType: (), + elements: { + "valueBoolean": { + name: "valueBoolean", + dataType: boolean, + min: 1, + max: 1, + isArray: false, + description: "Value of extension - must be one of a constrained set of the data types (see [Extensibility](http://hl7.org/fhir/R5/extensibility.html) for a list).", + path: "genderElementQualifier.value[x]" + }, + + "extension": { + name: "extension", + dataType: r4:Extension, + min: 0, + max: 0, + isArray: true, + description: "An Extension", + path: "genderElementQualifier.extension" + }, + + "id": { + name: "id", + dataType: string, + min: 0, + max: 1, + isArray: false, + description: "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", + path: "genderElementQualifier.id" + }, + + "url": { + name: "url", + dataType: r4:uri, + min: 1, + max: 1, + isArray: false, + description: "Source of the definition for the extension code - a logical name or a URL.", + path: "genderElementQualifier.url" + } + + }, + serializers: { + 'xml: r4:complexDataTypeXMLSerializer, + 'json: r4:complexDataTypeJsonSerializer + } +} + +public type AuCoreRsgSexassignedabGenderElementQualifier record {| + *r4:BooleanExtension; + + boolean valueBoolean; + string id?; + "genderElementQualifier" url = "genderElementQualifier"; +|}; + +@r4:DataTypeDefinition { + name: "AuCoreRsgSexassignedabJurisdiction", + baseType: (), + elements: { + "valueCodeableConcept": { + name: "valueCodeableConcept", + dataType: r4:CodeableConcept, + min: 1, + max: 1, + isArray: false, + description: "Value of extension - must be one of a constrained set of the data types (see [Extensibility](http://hl7.org/fhir/R5/extensibility.html) for a list).", + path: "jurisdiction.value[x]" + }, + + "extension": { + name: "extension", + dataType: r4:Extension, + min: 0, + max: 0, + isArray: true, + description: "An Extension", + path: "jurisdiction.extension" + }, + + "id": { + name: "id", + dataType: string, + min: 0, + max: 1, + isArray: false, + description: "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", + path: "jurisdiction.id" + }, + + "url": { + name: "url", + dataType: r4:uri, + min: 1, + max: 1, + isArray: false, + description: "Source of the definition for the extension code - a logical name or a URL.", + path: "jurisdiction.url" + } + + }, + serializers: { + 'xml: r4:complexDataTypeXMLSerializer, + 'json: r4:complexDataTypeJsonSerializer + } +} + +public type AuCoreRsgSexassignedabJurisdiction record {| + *r4:CodeableConceptExtension; + + r4:CodeableConcept valueCodeableConcept; + string id?; + "jurisdiction" url = "jurisdiction"; +|}; + +@r4:DataTypeDefinition { + name: "AuCoreRsgSexassignedabSourceDocument", + baseType: (), + elements: { + "valueCodeableConcept": { + name: "valueCodeableConcept", + dataType: r4:CodeableConcept, + min: 1, + max: 1, + isArray: false, + description: "Value of extension - must be one of a constrained set of the data types (see [Extensibility](http://hl7.org/fhir/R5/extensibility.html) for a list).", + path: "sourceDocument.value[x]" + }, + + "extension": { + name: "extension", + dataType: r4:Extension, + min: 0, + max: 0, + isArray: true, + description: "An Extension", + path: "sourceDocument.extension" + }, + + "id": { + name: "id", + dataType: string, + min: 0, + max: 1, + isArray: false, + description: "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", + path: "sourceDocument.id" + }, + + "url": { + name: "url", + dataType: r4:uri, + min: 1, + max: 1, + isArray: false, + description: "Source of the definition for the extension code - a logical name or a URL.", + path: "sourceDocument.url" + } + + }, + serializers: { + 'xml: r4:complexDataTypeXMLSerializer, + 'json: r4:complexDataTypeJsonSerializer + } +} + +public type AuCoreRsgSexassignedabSourceDocument record {| + *r4:CodeableConceptExtension; + + r4:CodeableConcept valueCodeableConcept; + string id?; + "sourceDocument" url = "sourceDocument"; +|}; + +@r4:DataTypeDefinition { + name: "AuCoreRsgSexassignedabSourceField", + baseType: (), + elements: { + "extension": { + name: "extension", + dataType: r4:Extension, + min: 0, + max: 0, + isArray: true, + description: "An Extension", + path: "sourceField.extension" + }, + + "valueString": { + name: "valueString", + dataType: string, + min: 1, + max: 1, + isArray: false, + description: "Value of extension - must be one of a constrained set of the data types (see [Extensibility](http://hl7.org/fhir/R5/extensibility.html) for a list).", + path: "sourceField.value[x]" + }, + + "id": { + name: "id", + dataType: string, + min: 0, + max: 1, + isArray: false, + description: "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", + path: "sourceField.id" + }, + + "url": { + name: "url", + dataType: r4:uri, + min: 1, + max: 1, + isArray: false, + description: "Source of the definition for the extension code - a logical name or a URL.", + path: "sourceField.url" + } + + }, + serializers: { + 'xml: r4:complexDataTypeXMLSerializer, + 'json: r4:complexDataTypeJsonSerializer + } +} + +public type AuCoreRsgSexassignedabSourceField record {| + *r4:StringExtension; + + string valueString; + string id?; + "sourceField" url = "sourceField"; +|}; + +@r4:DataTypeDefinition { + name: "AuCoreRsgSexassignedabType", + baseType: (), + elements: { + "valueCodeableConcept": { + name: "valueCodeableConcept", + dataType: r4:CodeableConcept, + min: 1, + max: 1, + isArray: false, + description: "Value of extension - must be one of a constrained set of the data types (see [Extensibility](http://hl7.org/fhir/R5/extensibility.html) for a list).", + path: "type.value[x]" + }, + + "extension": { + name: "extension", + dataType: r4:Extension, + min: 0, + max: 0, + isArray: true, + description: "An Extension", + path: "type.extension" + }, + + "id": { + name: "id", + dataType: string, + min: 0, + max: 1, + isArray: false, + description: "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", + path: "type.id" + }, + + "url": { + name: "url", + dataType: r4:uri, + min: 1, + max: 1, + isArray: false, + description: "Source of the definition for the extension code - a logical name or a URL.", + path: "type.url" + } + + }, + serializers: { + 'xml: r4:complexDataTypeXMLSerializer, + 'json: r4:complexDataTypeJsonSerializer + } +} + +public type AuCoreRsgSexassignedabType record {| + *r4:CodeableConceptExtension; + + r4:CodeableConcept valueCodeableConcept; + string id?; + "type" url = "type"; +|}; + +@r4:DataTypeDefinition { + name: "AuCoreRsgSexassignedabValue", + baseType: (), + elements: { + "valueCodeableConcept": { + name: "valueCodeableConcept", + dataType: r4:CodeableConcept, + min: 1, + max: 1, + isArray: false, + description: "Value of extension - must be one of a constrained set of the data types (see [Extensibility](http://hl7.org/fhir/R5/extensibility.html) for a list).", + path: "value.value[x]" + }, + + "valueBoolean": { + name: "valueBoolean", + dataType: boolean, + min: 1, + max: 1, + isArray: false, + description: "Value of extension - must be one of a constrained set of the data types (see [Extensibility](http://hl7.org/fhir/R5/extensibility.html) for a list).", + path: "value.value[x]" + }, + + "valueBase64Binary": { + name: "valueBase64Binary", + dataType: r4:base64Binary, + min: 0, + max: 0, + isArray: false, + description: "Value of extension - must be one of a constrained set of the data types (see [Extensibility](http://hl7.org/fhir/R5/extensibility.html) for a list).", + path: "value.value[x]" + }, + + "extension": { + name: "extension", + dataType: r4:Extension, + min: 0, + max: 0, + isArray: true, + description: "An Extension", + path: "value.extension" + }, + + "valueString": { + name: "valueString", + dataType: string, + min: 1, + max: 1, + isArray: false, + description: "Value of extension - must be one of a constrained set of the data types (see [Extensibility](http://hl7.org/fhir/R5/extensibility.html) for a list).", + path: "value.value[x]" + }, + + "valuePeriod": { + name: "valuePeriod", + dataType: r4:Period, + min: 0, + max: 1, + isArray: false, + description: "Value of extension - must be one of a constrained set of the data types (see [Extensibility](http://hl7.org/fhir/R5/extensibility.html) for a list).", + path: "value.value[x]" + }, + + "valueDateTime": { + name: "valueDateTime", + dataType: r4:dateTime, + min: 1, + max: 1, + isArray: false, + description: "Value of extension - must be one of a constrained set of the data types (see [Extensibility](http://hl7.org/fhir/R5/extensibility.html) for a list).", + path: "value.value[x]" + }, + + "id": { + name: "id", + dataType: string, + min: 0, + max: 1, + isArray: false, + description: "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", + path: "value.id" + }, + + "url": { + name: "url", + dataType: r4:uri, + min: 1, + max: 1, + isArray: false, + description: "Source of the definition for the extension code - a logical name or a URL.", + path: "value.url" + } + + }, + serializers: { + 'xml: r4:complexDataTypeXMLSerializer, + 'json: r4:complexDataTypeJsonSerializer + } +} + +public type AuCoreRsgSexassignedabValue record {| + *r4:Base64BinaryExtension; + + r4:CodeableConcept valueCodeableConcept; + boolean valueBoolean; + string valueString; + r4:Period valuePeriod?; + r4:dateTime valueDateTime; + string id?; + "value" url = "value"; +|}; + +@r4:DataTypeDefinition { + name: "AuCoreRsgSexassignedab", + baseType: (), + elements: { + "extension": { + name: "extension", + dataType: r4:Extension, + min: 2, + max: int:MAX_VALUE, + isArray: true, + description: "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", + path: "Extension.extension" + }, + + "url": { + name: "url", + dataType: string, + min: 1, + max: 1, + isArray: false, + description: "Source of the definition for the extension code - a logical name or a URL.", + path: "Extension.url" + } + + }, + serializers: { + 'xml: r4:complexDataTypeXMLSerializer, + 'json: r4:complexDataTypeJsonSerializer + } +} + +public type AuCoreRsgSexassignedab record {| + *r4:ExtensionExtension; + + r4:Extension[] extension; + "http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender" url = "http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender"; +|}; + diff --git a/au/aucore040/initializer.bal b/au/aucore040/initializer.bal index 8a603f55..ffec8fac 100644 --- a/au/aucore040/initializer.bal +++ b/au/aucore040/initializer.bal @@ -1,4 +1,4 @@ -// Copyright (c) 2023, WSO2 LLC. (http://www.wso2.com). +// Copyright (c) 2025, WSO2 LLC. (http://www.wso2.com). // WSO2 LLC. licenses this file to you under the Apache License, // Version 2.0 (the "License"); you may not use this file except @@ -17,10 +17,10 @@ // AUTO-GENERATED FILE. // This file is auto-generated by Ballerina. -import ballerinax/health.fhir.r4; import ballerina/log; +import ballerinax/health.fhir.r4; -const FHIR_IG = "aucore040"; +const FHIR_IG = "health_fhir_r4_aucore040"; # Initializer for the module # + return - returns error if error occurred @@ -33,8 +33,8 @@ function init() returns r4:FHIRError? { r4:Terminology terminology = check terminologyLoader.load(); readonly & r4:IGInfoRecord baseIgRecord = { - title: "aucore040", - name: "aucore040", + title: "health_fhir_r4_aucore040", + name: "health_fhir_r4_aucore040", terminology: terminology, profiles: { "http://hl7.org.au/fhir/core/StructureDefinition/au-core-organization": { @@ -137,15 +137,17 @@ function init() returns r4:FHIRError? { resourceType: "Observation", modelType: AUCorePathologyResult }, - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-location": { - url: "http://hl7.org.au/fhir/core/StructureDefinition/au-core-location", - resourceType: "Location", - modelType: AUCoreLocation - }, + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-diagnosticresult": { url: "http://hl7.org.au/fhir/core/StructureDefinition/au-core-diagnosticresult", resourceType: "Observation", modelType: AUCoreDiagnosticResult + }, + + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-location": { + url: "http://hl7.org.au/fhir/core/StructureDefinition/au-core-location", + resourceType: "Location", + modelType: AUCoreLocation } }, searchParameters: [AUCOREIMPLEMENTATIONGUIDE_IG_SEARCH_PARAMS_1] @@ -157,4 +159,5 @@ function init() returns r4:FHIRError? { } # This empty function is used to initialize the module by other modules/packages. -public isolated function initialize() {}; +public isolated function initialize() { +}; diff --git a/au/aucore040/resource_aucore_allergy_intolerance.bal b/au/aucore040/resource_aucore_allergy_intolerance.bal index 06a2f7a9..6574e6f2 100644 --- a/au/aucore040/resource_aucore_allergy_intolerance.bal +++ b/au/aucore040/resource_aucore_allergy_intolerance.bal @@ -1,4 +1,4 @@ -// Copyright (c) 2023, WSO2 LLC. (http://www.wso2.com). +// Copyright (c) 2025, WSO2 LLC. (http://www.wso2.com). // WSO2 LLC. licenses this file to you under the Apache License, // Version 2.0 (the "License"); you may not use this file except @@ -13,7 +13,7 @@ // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. - +// // AUTO-GENERATED FILE. // This file is auto-generated by Ballerina. @@ -454,7 +454,14 @@ public type AUCoreAllergyIntoleranceReaction record {| r4:Annotation[] note?; r4:Extension[] extension?; @constraint:Array { - minLength: 1 + minLength: { + value: 1, + message: "Validation failed for $.AllergyIntolerance.reaction.manifestation constraint. This field must be an array containing at least one item." + }, + maxLength: { + value: 1, + message: "Validation failed for $.AllergyIntolerance.reaction.manifestation constraint. This field must be an array containing at most one item." + } } r4:CodeableConcept[] manifestation; r4:Extension[] modifierExtension?; diff --git a/au/aucore040/resource_aucore_blood_pressure.bal b/au/aucore040/resource_aucore_blood_pressure.bal index f18f31b5..2dd324fe 100644 --- a/au/aucore040/resource_aucore_blood_pressure.bal +++ b/au/aucore040/resource_aucore_blood_pressure.bal @@ -1,4 +1,4 @@ -// Copyright (c) 2023, WSO2 LLC. (http://www.wso2.com). +// Copyright (c) 2025, WSO2 LLC. (http://www.wso2.com). // WSO2 LLC. licenses this file to you under the Apache License, // Version 2.0 (the "License"); you may not use this file except @@ -13,12 +13,13 @@ // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. - +// // AUTO-GENERATED FILE. // This file is auto-generated by Ballerina. import ballerina/constraint; import ballerinax/health.fhir.r4; +import ballerinax/health.fhir.r4.international401; public const string PROFILE_BASE_AUCOREBLOODPRESSURE = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bloodpressure"; public const RESOURCE_NAME_AUCOREBLOODPRESSURE = "Observation"; @@ -285,7 +286,7 @@ public const RESOURCE_NAME_AUCOREBLOODPRESSURE = "Observation"; "effectiveDateTime" : { name: "effectiveDateTime", dataType: r4:dateTime, - min: 1, + min: 0, max: 1, isArray: false, path: "Observation.effective[x]" @@ -375,17 +376,23 @@ public type AUCoreBloodPressure record {| r4:Reference encounter?; r4:CodeableConcept bodySite?; @constraint:Array { - minLength: 2 + minLength: { + value: 1, + message: "Validation failed for $.Observation.component constraint. This field must be an array containing at least one item." + } } AUCoreBloodPressureComponent[] component; r4:Resource[] contained?; AUCoreBloodPressureReferenceRange[] referenceRange?; - r4:dateTime effectiveDateTime; + r4:dateTime effectiveDateTime?; r4:CodeableConcept[] interpretation?; r4:Meta meta?; r4:uri implicitRules?; @constraint:Array { - minLength: 1 + minLength: { + value: 1, + message: "Validation failed for $.Observation.category constraint. This field must be an array containing at least one item." + } } r4:CodeableConcept[] category; r4:Reference device?; @@ -393,6 +400,109 @@ public type AUCoreBloodPressure record {| r4:Element ...; |}; +# FHIR AUCoreBloodPressureCodeCodingSnomedBPCode datatype record. +# +# + extension - May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. +# + code - A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination). +# + system - The identification of the code system that defines the meaning of the symbol in the code. +# + userSelected - Indicates that this coding was chosen by a user directly - e.g. off a pick list of available items (codes or displays). +# + display - A representation of the meaning of the code in the system, following the rules of the system. +# + id - Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. +# + 'version - The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged. + +@r4:DataTypeDefinition { + name: "AUCoreBloodPressureCodeCodingSnomedBPCode", + baseType: (), + elements: { + "extension": { + name: "extension", + dataType: r4:Extension, + min: 0, + max: int:MAX_VALUE, + isArray: true, + description: "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", + path: "Observation.code.coding.extension" + }, + + "code": { + name: "code", + dataType: r4:code, + min: 1, + max: 1, + isArray: false, + description: "A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).", + path: "Observation.code.coding.code" + }, + + "system": { + name: "system", + dataType: r4:uri, + min: 1, + max: 1, + isArray: false, + description: "The identification of the code system that defines the meaning of the symbol in the code.", + path: "Observation.code.coding.system" + }, + + "userSelected": { + name: "userSelected", + dataType: boolean, + min: 0, + max: 1, + isArray: false, + description: "Indicates that this coding was chosen by a user directly - e.g. off a pick list of available items (codes or displays).", + path: "Observation.code.coding.userSelected" + }, + + "display": { + name: "display", + dataType: string, + min: 0, + max: 1, + isArray: false, + description: "A representation of the meaning of the code in the system, following the rules of the system.", + path: "Observation.code.coding.display" + }, + + "id": { + name: "id", + dataType: string, + min: 0, + max: 1, + isArray: false, + description: "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", + path: "Observation.code.coding.id" + }, + + "version": { + name: "version", + dataType: string, + min: 0, + max: 1, + isArray: false, + description: "The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.", + path: "Observation.code.coding.version" + } + }, + + serializers: { + 'xml: r4:complexDataTypeXMLSerializer, + 'json: r4:complexDataTypeJsonSerializer + } +} + +public type AUCoreBloodPressureCodeCodingSnomedBPCode record {| + *r4:Coding; + + r4:Extension[] extension?; + r4:code code = "75367002"; + r4:uri system = "http://snomed.info/sct"; + boolean userSelected?; + string display?; + string id?; + string 'version?; +|}; + # FHIR AUCoreBloodPressureComponentCode datatype record. # # + coding - Systolic Blood Pressure. @@ -449,7 +559,14 @@ public type AUCoreBloodPressureComponentCode record {| *r4:CodeableConcept; @constraint:Array { - minLength: 2 + minLength: { + value: 1, + message: "Validation failed for $.Observation.component.code.coding constraint. This field must be an array containing at least one item." + }, + maxLength: { + value: 1, + message: "Validation failed for $.Observation.component.code.coding constraint. This field must be an array containing at most one item." + } } r4:Coding[] coding; r4:Extension[] extension?; @@ -457,6 +574,121 @@ public type AUCoreBloodPressureComponentCode record {| string text?; |}; +# FHIR AUCoreBloodPressureComponentSystolicBP datatype record. +# +# + dataAbsentReason - Provides a reason why the expected value in the element Observation.component.value[x] is missing. +# + extension - May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. +# + referenceRange - Guidance on how to interpret the value by comparison to a normal or recommended range. +# + code - Describes what was observed. Sometimes this is called the observation 'code'. +# + interpretation - A categorical assessment of an observation value. For example, high, low, normal. +# + modifierExtension - May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). +# + id - Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. +# + valueQuantity - Vital Sign Value recorded with UCUM. + +@r4:DataTypeDefinition { + name: "AUCoreBloodPressureComponentSystolicBP", + baseType: (), + elements: { + "dataAbsentReason": { + name: "dataAbsentReason", + dataType: r4:CodeableConcept, + min: 0, + max: 1, + isArray: false, + description: "Provides a reason why the expected value in the element Observation.component.value[x] is missing.", + path: "Observation.component.dataAbsentReason" + }, + + "extension": { + name: "extension", + dataType: r4:Extension, + min: 0, + max: int:MAX_VALUE, + isArray: true, + description: "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", + path: "Observation.component.extension" + }, + + "referenceRange": { + name: "referenceRange", + dataType: international401:ObservationReferenceRange, + min: 0, + max: int:MAX_VALUE, + isArray: true, + description: "Guidance on how to interpret the value by comparison to a normal or recommended range.", + path: "Observation.component.referenceRange" + }, + + "code": { + name: "code", + dataType: AUCoreBloodPressureComponentCode, + min: 1, + max: 1, + isArray: false, + description: "Describes what was observed. Sometimes this is called the observation 'code'.", + path: "Observation.component.code" + }, + + "interpretation": { + name: "interpretation", + dataType: r4:CodeableConcept, + min: 0, + max: int:MAX_VALUE, + isArray: true, + description: "A categorical assessment of an observation value. For example, high, low, normal.", + path: "Observation.component.interpretation" + }, + + "modifierExtension": { + name: "modifierExtension", + dataType: r4:Extension, + min: 0, + max: int:MAX_VALUE, + isArray: true, + description: "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", + path: "Observation.component.modifierExtension" + }, + + "id": { + name: "id", + dataType: string, + min: 0, + max: 1, + isArray: false, + description: "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", + path: "Observation.component.id" + }, + + "valueQuantity": { + name: "valueQuantity", + dataType: r4:Quantity, + min: 0, + max: 1, + isArray: false, + description: "Vital Sign Value recorded with UCUM.", + path: "Observation.component.value[x]" + } + }, + + serializers: { + 'xml: r4:complexDataTypeXMLSerializer, + 'json: r4:complexDataTypeJsonSerializer + } +} + +public type AUCoreBloodPressureComponentSystolicBP record {| + *AUCoreBloodPressureComponent; + + r4:CodeableConcept dataAbsentReason?; + r4:Extension[] extension?; + international401:ObservationReferenceRange[] referenceRange?; + AUCoreBloodPressureComponentCode code; + r4:CodeableConcept[] interpretation?; + r4:Extension[] modifierExtension?; + string id?; + r4:Quantity valueQuantity?; +|}; + # FHIR AUCoreBloodPressureCode datatype record. # # + coding - A reference to a code defined by a terminology system. @@ -513,7 +745,14 @@ public type AUCoreBloodPressureCode record {| *r4:CodeableConcept; @constraint:Array { - minLength: 2 + minLength: { + value: 1, + message: "Validation failed for $.Observation.code.coding constraint. This field must be an array containing at least one item." + }, + maxLength: { + value: 1, + message: "Validation failed for $.Observation.code.coding constraint. This field must be an array containing at most one item." + } } r4:Coding[] coding; r4:Extension[] extension?; @@ -742,6 +981,7 @@ public type AUCoreBloodPressureReferenceRange record {| # + modifierExtension - May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). # + valueCodeableConcept - Vital Sign Value recorded with UCUM. # + valueRatio - Vital Sign Value recorded with UCUM. +# + referenceRange - Guidance on how to interpret the value by comparison to a normal or recommended range. # + valueString - Vital Sign Value recorded with UCUM. # + interpretation - A categorical assessment of an observation value. For example, high, low, normal. # + valueSampledData - Vital Sign Value recorded with UCUM. @@ -835,6 +1075,17 @@ public type AUCoreBloodPressureReferenceRange record {| description: "Vital Sign Value recorded with UCUM.", path: "Observation.component.value[x]" }, + + "referenceRange": { + name: "referenceRange", + dataType: international401:ObservationReferenceRange, + min: 0, + max: int:MAX_VALUE, + isArray: true, + description: "Guidance on how to interpret the value by comparison to a normal or recommended range.", + path: "Observation.component.referenceRange" + }, + "valueString": { name: "valueString", dataType: string, @@ -925,6 +1176,7 @@ public type AUCoreBloodPressureComponent record {| r4:Extension[] modifierExtension?; r4:CodeableConcept valueCodeableConcept?; r4:Ratio valueRatio?; + international401:ObservationReferenceRange[] referenceRange?; string valueString?; r4:CodeableConcept[] interpretation?; r4:SampledData valueSampledData?; @@ -943,25 +1195,19 @@ public enum AUCoreBloodPressureStatus { CODE_STATUS_PRELIMINARY = "preliminary" } -# FHIR AUCoreBloodPressureComponentCodeOne datatype record. +# FHIR AUCoreBloodPressureCategoryCoding datatype record. # -# + coding - Diastolic Blood Pressure. # + extension - May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. +# + code - A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination). +# + system - The identification of the code system that defines the meaning of the symbol in the code. +# + userSelected - Indicates that this coding was chosen by a user directly - e.g. off a pick list of available items (codes or displays). +# + display - A representation of the meaning of the code in the system, following the rules of the system. # + id - Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. -# + text - A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user. +# + 'version - The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged. @r4:DataTypeDefinition { - name: "AUCoreBloodPressureComponentCodeOne", + name: "AUCoreBloodPressureCategoryCoding", baseType: (), elements: { - "coding": { - name: "coding", - dataType: r4:Coding, - min: 2, - max: int:MAX_VALUE, - isArray: true, - description: "Diastolic Blood Pressure.", - path: "Observation.component.code.coding" - }, "extension": { name: "extension", dataType: r4:Extension, @@ -969,167 +1215,7 @@ public enum AUCoreBloodPressureStatus { max: int:MAX_VALUE, isArray: true, description: "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", - path: "Observation.component.code.extension" - }, - "id": { - name: "id", - dataType: string, - min: 0, - max: 1, - isArray: false, - description: "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", - path: "Observation.component.code.id" - }, - "text": { - name: "text", - dataType: string, - min: 0, - max: 1, - isArray: false, - description: "A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.", - path: "Observation.component.code.text" - } - }, - serializers: { - 'xml: r4:complexDataTypeXMLSerializer, - 'json: r4:complexDataTypeJsonSerializer - } -} -public type AUCoreBloodPressureComponentCodeOne record {| - *r4:CodeableConcept; - - @constraint:Array { - minLength: 2 - } - r4:Coding[] coding; - r4:Extension[] extension?; - string id?; - string text?; -|}; - -# AUCoreBloodPressureComponentValueComparator enum -public enum AUCoreBloodPressureComponentValueComparator { - CODE_COMPARATOR_LESS_THAN_OR_EQUAL = "<=", - CODE_COMPARATOR_LESS_THAN = "<", - CODE_COMPARATOR_GREATER_THAN = ">", - CODE_COMPARATOR_GREATER_THAN_OR_EQUAL = ">=" -} - -# FHIR AUCoreBloodPressureComponentDiastolicBP datatype record. -# -# + dataAbsentReason - Provides a reason why the expected value in the element Observation.component.value[x] is missing. -# + extension - May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. -# + code - Describes what was observed. Sometimes this is called the observation 'code'. -# + interpretation - A categorical assessment of an observation value. For example, high, low, normal. -# + modifierExtension - May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). -# + id - Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. -# + valueQuantity - Vital Sign Value recorded with UCUM. -@r4:DataTypeDefinition { - name: "AUCoreBloodPressureComponentDiastolicBP", - baseType: (), - elements: { - "dataAbsentReason": { - name: "dataAbsentReason", - dataType: r4:CodeableConcept, - min: 0, - max: 1, - isArray: false, - description: "Provides a reason why the expected value in the element Observation.component.value[x] is missing.", - path: "Observation.component.dataAbsentReason" - }, - "extension": { - name: "extension", - dataType: r4:Extension, - min: 0, - max: int:MAX_VALUE, - isArray: true, - description: "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", - path: "Observation.component.extension" - }, - "code": { - name: "code", - dataType: AUCoreBloodPressureComponentCodeOne, - min: 1, - max: 1, - isArray: false, - description: "Describes what was observed. Sometimes this is called the observation 'code'.", - path: "Observation.component.code" - }, - "interpretation": { - name: "interpretation", - dataType: r4:CodeableConcept, - min: 0, - max: int:MAX_VALUE, - isArray: true, - description: "A categorical assessment of an observation value. For example, high, low, normal.", - path: "Observation.component.interpretation" - }, - "modifierExtension": { - name: "modifierExtension", - dataType: r4:Extension, - min: 0, - max: int:MAX_VALUE, - isArray: true, - description: "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", - path: "Observation.component.modifierExtension" - }, - "id": { - name: "id", - dataType: string, - min: 0, - max: 1, - isArray: false, - description: "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", - path: "Observation.component.id" - }, - "valueQuantity": { - name: "valueQuantity", - dataType: AUCoreBloodPressureComponentValue, - min: 0, - max: 1, - isArray: false, - description: "Vital Sign Value recorded with UCUM.", - path: "Observation.component.value[x]" - } - }, - serializers: { - 'xml: r4:complexDataTypeXMLSerializer, - 'json: r4:complexDataTypeJsonSerializer - } -} -public type AUCoreBloodPressureComponentDiastolicBP record {| - *AUCoreBloodPressureComponent; - - r4:CodeableConcept dataAbsentReason?; - r4:Extension[] extension?; - AUCoreBloodPressureComponentCodeOne code; - r4:CodeableConcept[] interpretation?; - r4:Extension[] modifierExtension?; - string id?; - AUCoreBloodPressureComponentValue valueQuantity?; -|}; - -# FHIR AUCoreBloodPressureCodeCodingSnomedBPCode datatype record. -# -# + extension - May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. -# + code - A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination). -# + system - The identification of the code system that defines the meaning of the symbol in the code. -# + userSelected - Indicates that this coding was chosen by a user directly - e.g. off a pick list of available items (codes or displays). -# + display - A representation of the meaning of the code in the system, following the rules of the system. -# + id - Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. -# + 'version - The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged. -@r4:DataTypeDefinition { - name: "AUCoreBloodPressureCodeCodingSnomedBPCode", - baseType: (), - elements: { - "extension": { - name: "extension", - dataType: r4:Extension, - min: 0, - max: int:MAX_VALUE, - isArray: true, - description: "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", - path: "Observation.code.coding.extension" + path: "Observation.category.coding.extension" }, "code": { name: "code", @@ -1138,7 +1224,7 @@ public type AUCoreBloodPressureComponentDiastolicBP record {| max: 1, isArray: false, description: "A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).", - path: "Observation.code.coding.code" + path: "Observation.category.coding.code" }, "system": { name: "system", @@ -1147,7 +1233,7 @@ public type AUCoreBloodPressureComponentDiastolicBP record {| max: 1, isArray: false, description: "The identification of the code system that defines the meaning of the symbol in the code.", - path: "Observation.code.coding.system" + path: "Observation.category.coding.system" }, "userSelected": { name: "userSelected", @@ -1156,7 +1242,7 @@ public type AUCoreBloodPressureComponentDiastolicBP record {| max: 1, isArray: false, description: "Indicates that this coding was chosen by a user directly - e.g. off a pick list of available items (codes or displays).", - path: "Observation.code.coding.userSelected" + path: "Observation.category.coding.userSelected" }, "display": { name: "display", @@ -1165,7 +1251,7 @@ public type AUCoreBloodPressureComponentDiastolicBP record {| max: 1, isArray: false, description: "A representation of the meaning of the code in the system, following the rules of the system.", - path: "Observation.code.coding.display" + path: "Observation.category.coding.display" }, "id": { name: "id", @@ -1174,7 +1260,7 @@ public type AUCoreBloodPressureComponentDiastolicBP record {| max: 1, isArray: false, description: "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", - path: "Observation.code.coding.id" + path: "Observation.category.coding.id" }, "version": { name: "version", @@ -1183,7 +1269,7 @@ public type AUCoreBloodPressureComponentDiastolicBP record {| max: 1, isArray: false, description: "The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.", - path: "Observation.code.coding.version" + path: "Observation.category.coding.version" } }, serializers: { @@ -1191,125 +1277,39 @@ public type AUCoreBloodPressureComponentDiastolicBP record {| 'json: r4:complexDataTypeJsonSerializer } } -public type AUCoreBloodPressureCodeCodingSnomedBPCode record {| + +public type AUCoreBloodPressureCategoryCoding record {| *r4:Coding; r4:Extension[] extension?; - r4:code code = "75367002"; - r4:uri system = "http://snomed.info/sct"; + r4:code code = "vital-signs"; + r4:uri system = "http://terminology.hl7.org/CodeSystem/observation-category"; boolean userSelected?; string display?; string id?; string 'version?; |}; -# FHIR AUCoreBloodPressureComponentSystolicBP datatype record. +# FHIR AUCoreBloodPressureComponentCodeOne datatype record. # -# + dataAbsentReason - Provides a reason why the expected value in the element Observation.component.value[x] is missing. +# + coding - Diastolic Blood Pressure. # + extension - May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. -# + code - Describes what was observed. Sometimes this is called the observation 'code'. -# + interpretation - A categorical assessment of an observation value. For example, high, low, normal. -# + modifierExtension - May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). # + id - Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. -# + valueQuantity - Vital Sign Value recorded with UCUM. +# + text - A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user. @r4:DataTypeDefinition { - name: "AUCoreBloodPressureComponentSystolicBP", + name: "AUCoreBloodPressureComponentCodeOne", baseType: (), elements: { - "dataAbsentReason": { - name: "dataAbsentReason", - dataType: r4:CodeableConcept, - min: 0, - max: 1, - isArray: false, - description: "Provides a reason why the expected value in the element Observation.component.value[x] is missing.", - path: "Observation.component.dataAbsentReason" - }, - "extension": { - name: "extension", - dataType: r4:Extension, - min: 0, - max: int:MAX_VALUE, - isArray: true, - description: "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", - path: "Observation.component.extension" - }, - "code": { - name: "code", - dataType: AUCoreBloodPressureComponentCode, - min: 1, - max: 1, - isArray: false, - description: "Describes what was observed. Sometimes this is called the observation 'code'.", - path: "Observation.component.code" - }, - "interpretation": { - name: "interpretation", - dataType: r4:CodeableConcept, - min: 0, - max: int:MAX_VALUE, - isArray: true, - description: "A categorical assessment of an observation value. For example, high, low, normal.", - path: "Observation.component.interpretation" - }, - "modifierExtension": { - name: "modifierExtension", - dataType: r4:Extension, - min: 0, + "coding": { + name: "coding", + dataType: r4:Coding, + min: 2, max: int:MAX_VALUE, isArray: true, - description: "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", - path: "Observation.component.modifierExtension" - }, - "id": { - name: "id", - dataType: string, - min: 0, - max: 1, - isArray: false, - description: "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", - path: "Observation.component.id" - }, - "valueQuantity": { - name: "valueQuantity", - dataType: AUCoreBloodPressureComponentValue, - min: 0, - max: 1, - isArray: false, - description: "Vital Sign Value recorded with UCUM.", - path: "Observation.component.value[x]" - } + description: "Diastolic Blood Pressure.", + path: "Observation.component.code.coding" }, - serializers: { - 'xml: r4:complexDataTypeXMLSerializer, - 'json: r4:complexDataTypeJsonSerializer - } -} -public type AUCoreBloodPressureComponentSystolicBP record {| - *AUCoreBloodPressureComponent; - - r4:CodeableConcept dataAbsentReason?; - r4:Extension[] extension?; - AUCoreBloodPressureComponentCode code; - r4:CodeableConcept[] interpretation?; - r4:Extension[] modifierExtension?; - string id?; - AUCoreBloodPressureComponentValue valueQuantity?; -|}; -# FHIR AUCoreBloodPressureCategoryCoding datatype record. -# -# + extension - May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. -# + code - A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination). -# + system - The identification of the code system that defines the meaning of the symbol in the code. -# + userSelected - Indicates that this coding was chosen by a user directly - e.g. off a pick list of available items (codes or displays). -# + display - A representation of the meaning of the code in the system, following the rules of the system. -# + id - Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. -# + 'version - The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged. -@r4:DataTypeDefinition { - name: "AUCoreBloodPressureCategoryCoding", - baseType: (), - elements: { "extension": { name: "extension", dataType: r4:Extension, @@ -1317,43 +1317,7 @@ public type AUCoreBloodPressureComponentSystolicBP record {| max: int:MAX_VALUE, isArray: true, description: "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", - path: "Observation.category.coding.extension" - }, - "code": { - name: "code", - dataType: r4:code, - min: 1, - max: 1, - isArray: false, - description: "A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).", - path: "Observation.category.coding.code" - }, - "system": { - name: "system", - dataType: r4:uri, - min: 1, - max: 1, - isArray: false, - description: "The identification of the code system that defines the meaning of the symbol in the code.", - path: "Observation.category.coding.system" - }, - "userSelected": { - name: "userSelected", - dataType: boolean, - min: 0, - max: 1, - isArray: false, - description: "Indicates that this coding was chosen by a user directly - e.g. off a pick list of available items (codes or displays).", - path: "Observation.category.coding.userSelected" - }, - "display": { - name: "display", - dataType: string, - min: 0, - max: 1, - isArray: false, - description: "A representation of the meaning of the code in the system, following the rules of the system.", - path: "Observation.category.coding.display" + path: "Observation.component.code.extension" }, "id": { name: "id", @@ -1362,16 +1326,17 @@ public type AUCoreBloodPressureComponentSystolicBP record {| max: 1, isArray: false, description: "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", - path: "Observation.category.coding.id" + path: "Observation.component.code.id" }, - "version": { - name: "version", + + "text": { + name: "text", dataType: string, min: 0, max: 1, isArray: false, - description: "The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.", - path: "Observation.category.coding.version" + description: "A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.", + path: "Observation.component.code.text" } }, serializers: { @@ -1379,16 +1344,24 @@ public type AUCoreBloodPressureComponentSystolicBP record {| 'json: r4:complexDataTypeJsonSerializer } } -public type AUCoreBloodPressureCategoryCoding record {| - *r4:Coding; +public type AUCoreBloodPressureComponentCodeOne record {| + *r4:CodeableConcept; + + @constraint:Array { + minLength: { + value: 1, + message: "Validation failed for $.Observation.component.code.coding constraint. This field must be an array containing at least one item." + }, + maxLength: { + value: 1, + message: "Validation failed for $.Observation.component.code.coding constraint. This field must be an array containing at most one item." + } + } + r4:Coding[] coding; r4:Extension[] extension?; - r4:code code = "vital-signs"; - r4:uri system = "http://terminology.hl7.org/CodeSystem/observation-category"; - boolean userSelected?; - string display?; string id?; - string 'version?; + string text?; |}; # FHIR AUCoreBloodPressureCategoryVSCat datatype record. @@ -1447,7 +1420,14 @@ public type AUCoreBloodPressureCategoryVSCat record {| *r4:CodeableConcept; @constraint:Array { - minLength: 1 + minLength: { + value: 1, + message: "Validation failed for $.Observation.category.coding constraint. This field must be an array containing at least one item." + }, + maxLength: { + value: 1, + message: "Validation failed for $.Observation.category.coding constraint. This field must be an array containing at most one item." + } } AUCoreBloodPressureCategoryCoding[] coding; r4:Extension[] extension?; @@ -1455,61 +1435,98 @@ public type AUCoreBloodPressureCategoryVSCat record {| string text?; |}; -# FHIR AUCoreBloodPressureComponentValue datatype record. +# FHIR AUCoreBloodPressureComponentDiastolicBP datatype record. # -# + comparator - How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues; e.g. if the comparator is '<' , then the real value is < stated value. -# + unit - A human-readable form of the unit. -# + code - Coded responses from the common UCUM units for vital signs value set. -# + system - The identification of the system that provides the coded form of the unit. -# + value - The value of the measured amount. The value includes an implicit precision in the presentation of the value. +# + dataAbsentReason - Provides a reason why the expected value in the element Observation.component.value[x] is missing. +# + extension - May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. +# + referenceRange - Guidance on how to interpret the value by comparison to a normal or recommended range. +# + code - Describes what was observed. Sometimes this is called the observation 'code'. +# + interpretation - A categorical assessment of an observation value. For example, high, low, normal. +# + modifierExtension - May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). +# + id - Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. +# + valueQuantity - Vital Sign Value recorded with UCUM. + @r4:DataTypeDefinition { - name: "AUCoreBloodPressureComponentValue", + name: "AUCoreBloodPressureComponentDiastolicBP", baseType: (), elements: { - "comparator": { - name: "comparator", - dataType: AUCoreBloodPressureComponentValueComparator, + "dataAbsentReason": { + name: "dataAbsentReason", + dataType: r4:CodeableConcept, min: 0, max: 1, isArray: false, - description: "How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues; e.g. if the comparator is '<' , then the real value is < stated value.", - path: "Observation.component.value[x].comparator" + description: "Provides a reason why the expected value in the element Observation.component.value[x] is missing.", + path: "Observation.component.dataAbsentReason" }, - "unit": { - name: "unit", - dataType: string, - min: 1, - max: 1, - isArray: false, - description: "A human-readable form of the unit.", - path: "Observation.component.value[x].unit" + + "extension": { + name: "extension", + dataType: r4:Extension, + min: 0, + max: int:MAX_VALUE, + isArray: true, + description: "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", + path: "Observation.component.extension" + }, + + "referenceRange": { + name: "referenceRange", + dataType: international401:ObservationReferenceRange, + min: 0, + max: int:MAX_VALUE, + isArray: true, + description: "Guidance on how to interpret the value by comparison to a normal or recommended range.", + path: "Observation.component.referenceRange" }, "code": { name: "code", - dataType: r4:code, + dataType: AUCoreBloodPressureComponentCodeOne, min: 1, max: 1, isArray: false, - description: "Coded responses from the common UCUM units for vital signs value set.", - path: "Observation.component.value[x].code" + description: "Describes what was observed. Sometimes this is called the observation 'code'.", + path: "Observation.component.code" }, - "system": { - name: "system", - dataType: r4:uri, - min: 1, + + "interpretation": { + name: "interpretation", + dataType: r4:CodeableConcept, + min: 0, + max: int:MAX_VALUE, + isArray: true, + description: "A categorical assessment of an observation value. For example, high, low, normal.", + path: "Observation.component.interpretation" + }, + + "modifierExtension": { + name: "modifierExtension", + dataType: r4:Extension, + min: 0, + max: int:MAX_VALUE, + isArray: true, + description: "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", + path: "Observation.component.modifierExtension" + }, + + "id": { + name: "id", + dataType: string, + min: 0, max: 1, isArray: false, - description: "The identification of the system that provides the coded form of the unit.", - path: "Observation.component.value[x].system" + description: "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", + path: "Observation.component.id" }, - "value": { - name: "value", - dataType: decimal, - min: 1, + + "valueQuantity": { + name: "valueQuantity", + dataType: r4:Quantity, + min: 0, max: 1, isArray: false, - description: "The value of the measured amount. The value includes an implicit precision in the presentation of the value.", - path: "Observation.component.value[x].value" + description: "Vital Sign Value recorded with UCUM.", + path: "Observation.component.value[x]" } }, serializers: { @@ -1517,13 +1534,17 @@ public type AUCoreBloodPressureCategoryVSCat record {| 'json: r4:complexDataTypeJsonSerializer } } -public type AUCoreBloodPressureComponentValue record {| - *r4:Quantity; - - AUCoreBloodPressureComponentValueComparator comparator?; - string unit; - r4:code code = "mm[Hg]"; - r4:uri system = "http://unitsofmeasure.org"; - decimal value; + +public type AUCoreBloodPressureComponentDiastolicBP record {| + *AUCoreBloodPressureComponent; + + r4:CodeableConcept dataAbsentReason?; + r4:Extension[] extension?; + international401:ObservationReferenceRange[] referenceRange?; + AUCoreBloodPressureComponentCodeOne code; + r4:CodeableConcept[] interpretation?; + r4:Extension[] modifierExtension?; + string id?; + r4:Quantity valueQuantity?; |}; diff --git a/au/aucore040/resource_aucore_body_height.bal b/au/aucore040/resource_aucore_body_height.bal index 61315442..14aad01c 100644 --- a/au/aucore040/resource_aucore_body_height.bal +++ b/au/aucore040/resource_aucore_body_height.bal @@ -1,4 +1,4 @@ -// Copyright (c) 2023, WSO2 LLC. (http://www.wso2.com). +// Copyright (c) 2025, WSO2 LLC. (http://www.wso2.com). // WSO2 LLC. licenses this file to you under the Apache License, // Version 2.0 (the "License"); you may not use this file except @@ -13,12 +13,13 @@ // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. - +// // AUTO-GENERATED FILE. // This file is auto-generated by Ballerina. import ballerina/constraint; import ballerinax/health.fhir.r4; +import ballerinax/health.fhir.r4.international401; public const string PROFILE_BASE_AUCOREBODYHEIGHT = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyheight"; public const RESOURCE_NAME_AUCOREBODYHEIGHT = "Observation"; @@ -276,7 +277,7 @@ public const RESOURCE_NAME_AUCOREBODYHEIGHT = "Observation"; "effectiveDateTime" : { name: "effectiveDateTime", dataType: r4:dateTime, - min: 1, + min: 0, max: 1, isArray: false, path: "Observation.effective[x]" @@ -368,12 +369,15 @@ public type AUCoreBodyHeight record {| AUCoreBodyHeightComponent[] component?; r4:Resource[] contained?; AUCoreBodyHeightReferenceRange[] referenceRange?; - r4:dateTime effectiveDateTime; + r4:dateTime effectiveDateTime?; r4:CodeableConcept[] interpretation?; r4:Meta meta?; r4:uri implicitRules?; @constraint:Array { - minLength: 1 + minLength: { + value: 1, + message: "Validation failed for $.Observation.category constraint. This field must be an array containing at least one item." + } } r4:CodeableConcept[] category; r4:Reference device?; @@ -547,7 +551,14 @@ public type AUCoreBodyHeightCode record {| *r4:CodeableConcept; @constraint:Array { - minLength: 2 + minLength: { + value: 1, + message: "Validation failed for $.Observation.code.coding constraint. This field must be an array containing at least one item." + }, + maxLength: { + value: 1, + message: "Validation failed for $.Observation.code.coding constraint. This field must be an array containing at most one item." + } } r4:Coding[] coding; r4:Extension[] extension?; @@ -893,7 +904,14 @@ public type AUCoreBodyHeightCategoryVSCat record {| *r4:CodeableConcept; @constraint:Array { - minLength: 1 + minLength: { + value: 1, + message: "Validation failed for $.Observation.category.coding constraint. This field must be an array containing at least one item." + }, + maxLength: { + value: 1, + message: "Validation failed for $.Observation.category.coding constraint. This field must be an array containing at most one item." + } } AUCoreBodyHeightCategoryCoding[] coding; r4:Extension[] extension?; @@ -912,6 +930,7 @@ public type AUCoreBodyHeightCategoryVSCat record {| # + modifierExtension - May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). # + valueCodeableConcept - Vital Sign Value recorded with UCUM. # + valueRatio - Vital Sign Value recorded with UCUM. +# + referenceRange - Guidance on how to interpret the value by comparison to a normal or recommended range. # + valueString - Vital Sign Value recorded with UCUM. # + interpretation - A categorical assessment of an observation value. For example, high, low, normal. # + valueSampledData - Vital Sign Value recorded with UCUM. @@ -1005,6 +1024,17 @@ public type AUCoreBodyHeightCategoryVSCat record {| description: "Vital Sign Value recorded with UCUM.", path: "Observation.component.value[x]" }, + + "referenceRange": { + name: "referenceRange", + dataType: international401:ObservationReferenceRange, + min: 0, + max: int:MAX_VALUE, + isArray: true, + description: "Guidance on how to interpret the value by comparison to a normal or recommended range.", + path: "Observation.component.referenceRange" + }, + "valueString": { name: "valueString", dataType: string, @@ -1095,6 +1125,7 @@ public type AUCoreBodyHeightComponent record {| r4:Extension[] modifierExtension?; r4:CodeableConcept valueCodeableConcept?; r4:Ratio valueRatio?; + international401:ObservationReferenceRange[] referenceRange?; string valueString?; r4:CodeableConcept[] interpretation?; r4:SampledData valueSampledData?; diff --git a/au/aucore040/resource_aucore_body_temperature.bal b/au/aucore040/resource_aucore_body_temperature.bal index 3ec380f9..a197f49f 100644 --- a/au/aucore040/resource_aucore_body_temperature.bal +++ b/au/aucore040/resource_aucore_body_temperature.bal @@ -1,4 +1,4 @@ -// Copyright (c) 2023, WSO2 LLC. (http://www.wso2.com). +// Copyright (c) 2025, WSO2 LLC. (http://www.wso2.com). // WSO2 LLC. licenses this file to you under the Apache License, // Version 2.0 (the "License"); you may not use this file except @@ -13,12 +13,13 @@ // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. - +// // AUTO-GENERATED FILE. // This file is auto-generated by Ballerina. import ballerina/constraint; import ballerinax/health.fhir.r4; +import ballerinax/health.fhir.r4.international401; public const string PROFILE_BASE_AUCOREBODYTEMPERATURE = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodytemp"; public const RESOURCE_NAME_AUCOREBODYTEMPERATURE = "Observation"; @@ -276,7 +277,7 @@ public const RESOURCE_NAME_AUCOREBODYTEMPERATURE = "Observation"; "effectiveDateTime" : { name: "effectiveDateTime", dataType: r4:dateTime, - min: 1, + min: 0, max: 1, isArray: false, path: "Observation.effective[x]" @@ -368,12 +369,15 @@ public type AUCoreBodyTemperature record {| AUCoreBodyTemperatureComponent[] component?; r4:Resource[] contained?; AUCoreBodyTemperatureReferenceRange[] referenceRange?; - r4:dateTime effectiveDateTime; + r4:dateTime effectiveDateTime?; r4:CodeableConcept[] interpretation?; r4:Meta meta?; r4:uri implicitRules?; @constraint:Array { - minLength: 1 + minLength: { + value: 1, + message: "Validation failed for $.Observation.category constraint. This field must be an array containing at least one item." + } } r4:CodeableConcept[] category; r4:Reference device?; @@ -392,6 +396,7 @@ public type AUCoreBodyTemperature record {| # + modifierExtension - May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). # + valueCodeableConcept - Vital Sign Value recorded with UCUM. # + valueRatio - Vital Sign Value recorded with UCUM. +# + referenceRange - Guidance on how to interpret the value by comparison to a normal or recommended range. # + valueString - Vital Sign Value recorded with UCUM. # + interpretation - A categorical assessment of an observation value. For example, high, low, normal. # + valueSampledData - Vital Sign Value recorded with UCUM. @@ -485,6 +490,17 @@ public type AUCoreBodyTemperature record {| description: "Vital Sign Value recorded with UCUM.", path: "Observation.component.value[x]" }, + + "referenceRange": { + name: "referenceRange", + dataType: international401:ObservationReferenceRange, + min: 0, + max: int:MAX_VALUE, + isArray: true, + description: "Guidance on how to interpret the value by comparison to a normal or recommended range.", + path: "Observation.component.referenceRange" + }, + "valueString": { name: "valueString", dataType: string, @@ -575,6 +591,7 @@ public type AUCoreBodyTemperatureComponent record {| r4:Extension[] modifierExtension?; r4:CodeableConcept valueCodeableConcept?; r4:Ratio valueRatio?; + international401:ObservationReferenceRange[] referenceRange?; string valueString?; r4:CodeableConcept[] interpretation?; r4:SampledData valueSampledData?; @@ -743,7 +760,14 @@ public type AUCoreBodyTemperatureCode record {| *r4:CodeableConcept; @constraint:Array { - minLength: 2 + minLength: { + value: 1, + message: "Validation failed for $.Observation.code.coding constraint. This field must be an array containing at least one item." + }, + maxLength: { + value: 1, + message: "Validation failed for $.Observation.code.coding constraint. This field must be an array containing at most one item." + } } r4:Coding[] coding; r4:Extension[] extension?; @@ -931,7 +955,14 @@ public type AUCoreBodyTemperatureCategoryVSCat record {| *r4:CodeableConcept; @constraint:Array { - minLength: 1 + minLength: { + value: 1, + message: "Validation failed for $.Observation.category.coding constraint. This field must be an array containing at least one item." + }, + maxLength: { + value: 1, + message: "Validation failed for $.Observation.category.coding constraint. This field must be an array containing at most one item." + } } AUCoreBodyTemperatureCategoryCoding[] coding; r4:Extension[] extension?; diff --git a/au/aucore040/resource_aucore_body_weight.bal b/au/aucore040/resource_aucore_body_weight.bal index bd1b5a21..7ae5d312 100644 --- a/au/aucore040/resource_aucore_body_weight.bal +++ b/au/aucore040/resource_aucore_body_weight.bal @@ -1,4 +1,4 @@ -// Copyright (c) 2023, WSO2 LLC. (http://www.wso2.com). +// Copyright (c) 2025, WSO2 LLC. (http://www.wso2.com). // WSO2 LLC. licenses this file to you under the Apache License, // Version 2.0 (the "License"); you may not use this file except @@ -13,12 +13,13 @@ // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. - +// // AUTO-GENERATED FILE. // This file is auto-generated by Ballerina. import ballerina/constraint; import ballerinax/health.fhir.r4; +import ballerinax/health.fhir.r4.international401; public const string PROFILE_BASE_AUCOREBODYWEIGHT = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyweight"; public const RESOURCE_NAME_AUCOREBODYWEIGHT = "Observation"; @@ -276,7 +277,7 @@ public const RESOURCE_NAME_AUCOREBODYWEIGHT = "Observation"; "effectiveDateTime" : { name: "effectiveDateTime", dataType: r4:dateTime, - min: 1, + min: 0, max: 1, isArray: false, path: "Observation.effective[x]" @@ -368,12 +369,15 @@ public type AUCoreBodyWeight record {| AUCoreBodyWeightComponent[] component?; r4:Resource[] contained?; AUCoreBodyWeightReferenceRange[] referenceRange?; - r4:dateTime effectiveDateTime; + r4:dateTime effectiveDateTime?; r4:CodeableConcept[] interpretation?; r4:Meta meta?; r4:uri implicitRules?; @constraint:Array { - minLength: 1 + minLength: { + value: 1, + message: "Validation failed for $.Observation.category constraint. This field must be an array containing at least one item." + } } r4:CodeableConcept[] category; r4:Reference device?; @@ -437,7 +441,14 @@ public type AUCoreBodyWeightCategoryVSCat record {| *r4:CodeableConcept; @constraint:Array { - minLength: 1 + minLength: { + value: 1, + message: "Validation failed for $.Observation.category.coding constraint. This field must be an array containing at least one item." + }, + maxLength: { + value: 1, + message: "Validation failed for $.Observation.category.coding constraint. This field must be an array containing at most one item." + } } AUCoreBodyWeightCategoryCoding[] coding; r4:Extension[] extension?; @@ -711,7 +722,14 @@ public type AUCoreBodyWeightCode record {| *r4:CodeableConcept; @constraint:Array { - minLength: 2 + minLength: { + value: 1, + message: "Validation failed for $.Observation.code.coding constraint. This field must be an array containing at least one item." + }, + maxLength: { + value: 1, + message: "Validation failed for $.Observation.code.coding constraint. This field must be an array containing at most one item." + } } r4:Coding[] coding; r4:Extension[] extension?; @@ -824,6 +842,7 @@ public type AUCoreBodyWeightValue record {| # + modifierExtension - May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). # + valueCodeableConcept - Vital Sign Value recorded with UCUM. # + valueRatio - Vital Sign Value recorded with UCUM. +# + referenceRange - Guidance on how to interpret the value by comparison to a normal or recommended range. # + valueString - Vital Sign Value recorded with UCUM. # + interpretation - A categorical assessment of an observation value. For example, high, low, normal. # + valueSampledData - Vital Sign Value recorded with UCUM. @@ -917,6 +936,17 @@ public type AUCoreBodyWeightValue record {| description: "Vital Sign Value recorded with UCUM.", path: "Observation.component.value[x]" }, + + "referenceRange": { + name: "referenceRange", + dataType: international401:ObservationReferenceRange, + min: 0, + max: int:MAX_VALUE, + isArray: true, + description: "Guidance on how to interpret the value by comparison to a normal or recommended range.", + path: "Observation.component.referenceRange" + }, + "valueString": { name: "valueString", dataType: string, @@ -1007,6 +1037,7 @@ public type AUCoreBodyWeightComponent record {| r4:Extension[] modifierExtension?; r4:CodeableConcept valueCodeableConcept?; r4:Ratio valueRatio?; + international401:ObservationReferenceRange[] referenceRange?; string valueString?; r4:CodeableConcept[] interpretation?; r4:SampledData valueSampledData?; diff --git a/au/aucore040/resource_aucore_condition.bal b/au/aucore040/resource_aucore_condition.bal index cb50a649..0f893119 100644 --- a/au/aucore040/resource_aucore_condition.bal +++ b/au/aucore040/resource_aucore_condition.bal @@ -1,4 +1,4 @@ -// Copyright (c) 2023, WSO2 LLC. (http://www.wso2.com). +// Copyright (c) 2025, WSO2 LLC. (http://www.wso2.com). // WSO2 LLC. licenses this file to you under the Apache License, // Version 2.0 (the "License"); you may not use this file except @@ -13,7 +13,7 @@ // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. - +// // AUTO-GENERATED FILE. // This file is auto-generated by Ballerina. @@ -358,7 +358,10 @@ public type AUCoreCondition record {| r4:Meta meta?; r4:uri implicitRules?; @constraint:Array { - minLength: 1 + minLength: { + value: 1, + message: "Validation failed for $.Condition.category constraint. This field must be an array containing at least one item." + } } r4:CodeableConcept[] category; r4:Age abatementAge?; diff --git a/au/aucore040/resource_aucore_diagnostic_result.bal b/au/aucore040/resource_aucore_diagnostic_result.bal index 2cb778d7..7dc84d67 100644 --- a/au/aucore040/resource_aucore_diagnostic_result.bal +++ b/au/aucore040/resource_aucore_diagnostic_result.bal @@ -1,4 +1,4 @@ -// Copyright (c) 2023, WSO2 LLC. (http://www.wso2.com). +// Copyright (c) 2025, WSO2 LLC. (http://www.wso2.com). // WSO2 LLC. licenses this file to you under the Apache License, // Version 2.0 (the "License"); you may not use this file except @@ -13,12 +13,13 @@ // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. - +// // AUTO-GENERATED FILE. // This file is auto-generated by Ballerina. import ballerina/constraint; import ballerinax/health.fhir.r4; +import ballerinax/health.fhir.r4.international401; public const string PROFILE_BASE_AUCOREDIAGNOSTICRESULT = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-diagnosticresult"; public const RESOURCE_NAME_AUCOREDIAGNOSTICRESULT = "Observation"; @@ -282,7 +283,7 @@ public const RESOURCE_NAME_AUCOREDIAGNOSTICRESULT = "Observation"; "effectivePeriod" : { name: "effectivePeriod", dataType: r4:Period, - min: 1, + min: 0, max: 1, isArray: false, path: "Observation.effective[x]" @@ -290,7 +291,7 @@ public const RESOURCE_NAME_AUCOREDIAGNOSTICRESULT = "Observation"; "effectiveTiming" : { name: "effectiveTiming", dataType: r4:Timing, - min: 1, + min: 0, max: 1, isArray: false, path: "Observation.effective[x]" @@ -364,7 +365,7 @@ public const RESOURCE_NAME_AUCOREDIAGNOSTICRESULT = "Observation"; "effectiveDateTime" : { name: "effectiveDateTime", dataType: r4:dateTime, - min: 1, + min: 0, max: 1, isArray: false, path: "Observation.effective[x]" @@ -430,7 +431,7 @@ public const RESOURCE_NAME_AUCOREDIAGNOSTICRESULT = "Observation"; "effectiveInstant" : { name: "effectiveInstant", dataType: r4:instant, - min: 1, + min: 0, max: 1, isArray: false, path: "Observation.effective[x]" @@ -480,8 +481,8 @@ public type AUCoreDiagnosticResult record {| r4:Quantity valueQuantity?; r4:Identifier[] identifier?; r4:Reference[] performer?; - r4:Period effectivePeriod; - r4:Timing effectiveTiming; + r4:Period effectivePeriod?; + r4:Timing effectiveTiming?; r4:CodeableConcept method?; AUCoreDiagnosticResultHasMember[] hasMember?; r4:Reference encounter?; @@ -490,18 +491,21 @@ public type AUCoreDiagnosticResult record {| r4:Resource[] contained?; AUCoreDiagnosticResultReferenceRange[] referenceRange?; string valueString?; - r4:dateTime effectiveDateTime; + r4:dateTime effectiveDateTime?; r4:CodeableConcept[] interpretation?; r4:Meta meta?; r4:SampledData valueSampledData?; r4:Period valuePeriod?; r4:uri implicitRules?; @constraint:Array { - minLength: 1 + minLength: { + value: 1, + message: "Validation failed for $.Observation.category constraint. This field must be an array containing at least one item." + } } r4:CodeableConcept[] category; r4:Reference device?; - r4:instant effectiveInstant; + r4:instant effectiveInstant?; AUCoreDiagnosticResultStatus status; r4:Element ...; |}; @@ -723,6 +727,7 @@ public type AUCoreDiagnosticResultReferenceRange record {| # + modifierExtension - May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). # + valueCodeableConcept - The information determined as a result of making the observation, if the information has a simple value. # + valueRatio - The information determined as a result of making the observation, if the information has a simple value. +# + referenceRange - Guidance on how to interpret the value by comparison to a normal or recommended range. # + valueString - The information determined as a result of making the observation, if the information has a simple value. # + interpretation - A categorical assessment of an observation value. For example, high, low, normal. # + valueSampledData - The information determined as a result of making the observation, if the information has a simple value. @@ -816,6 +821,17 @@ public type AUCoreDiagnosticResultReferenceRange record {| description: "The information determined as a result of making the observation, if the information has a simple value.", path: "Observation.component.value[x]" }, + + "referenceRange": { + name: "referenceRange", + dataType: international401:ObservationReferenceRange, + min: 0, + max: int:MAX_VALUE, + isArray: true, + description: "Guidance on how to interpret the value by comparison to a normal or recommended range.", + path: "Observation.component.referenceRange" + }, + "valueString": { name: "valueString", dataType: string, @@ -906,6 +922,7 @@ public type AUCoreDiagnosticResultComponent record {| r4:Extension[] modifierExtension?; r4:CodeableConcept valueCodeableConcept?; r4:Ratio valueRatio?; + international401:ObservationReferenceRange[] referenceRange?; string valueString?; r4:CodeableConcept[] interpretation?; r4:SampledData valueSampledData?; diff --git a/au/aucore040/resource_aucore_encounter.bal b/au/aucore040/resource_aucore_encounter.bal index 53f135f9..a13f3690 100644 --- a/au/aucore040/resource_aucore_encounter.bal +++ b/au/aucore040/resource_aucore_encounter.bal @@ -1,4 +1,4 @@ -// Copyright (c) 2023, WSO2 LLC. (http://www.wso2.com). +// Copyright (c) 2025, WSO2 LLC. (http://www.wso2.com). // WSO2 LLC. licenses this file to you under the Apache License, // Version 2.0 (the "License"); you may not use this file except @@ -13,7 +13,7 @@ // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. - +// // AUTO-GENERATED FILE. // This file is auto-generated by Ballerina. @@ -28,15 +28,6 @@ public const RESOURCE_NAME_AUCOREENCOUNTER = "Encounter"; # + serviceType - Broad categorization of the service that is to be provided (e.g. cardiology). # + partOf - Another Encounter of which this encounter is a part of (administratively or in time). # + extension - An Extension -# * extension Slicings -# 1) Extension: Associated healthcare service -# - min = 0 -# - max = * -# -# 2) Extension: Description, overview or summary of an encounter -# - min = 0 -# - max = 1 -# # + subject - The patient or group present at the encounter. # + modifierExtension - May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). # + reasonReference - Reason the encounter takes place, expressed as a code. For admissions, this can be used for a coded admission diagnosis. diff --git a/au/aucore040/resource_aucore_heart_rate.bal b/au/aucore040/resource_aucore_heart_rate.bal index d77379e0..faf35989 100644 --- a/au/aucore040/resource_aucore_heart_rate.bal +++ b/au/aucore040/resource_aucore_heart_rate.bal @@ -1,4 +1,4 @@ -// Copyright (c) 2023, WSO2 LLC. (http://www.wso2.com). +// Copyright (c) 2025, WSO2 LLC. (http://www.wso2.com). // WSO2 LLC. licenses this file to you under the Apache License, // Version 2.0 (the "License"); you may not use this file except @@ -13,12 +13,13 @@ // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. - +// // AUTO-GENERATED FILE. // This file is auto-generated by Ballerina. import ballerina/constraint; import ballerinax/health.fhir.r4; +import ballerinax/health.fhir.r4.international401; public const string PROFILE_BASE_AUCOREHEARTRATE = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-heartrate"; public const RESOURCE_NAME_AUCOREHEARTRATE = "Observation"; @@ -276,7 +277,7 @@ public const RESOURCE_NAME_AUCOREHEARTRATE = "Observation"; "effectiveDateTime" : { name: "effectiveDateTime", dataType: r4:dateTime, - min: 1, + min: 0, max: 1, isArray: false, path: "Observation.effective[x]" @@ -368,12 +369,15 @@ public type AUCoreHeartRate record {| AUCoreHeartRateComponent[] component?; r4:Resource[] contained?; AUCoreHeartRateReferenceRange[] referenceRange?; - r4:dateTime effectiveDateTime; + r4:dateTime effectiveDateTime?; r4:CodeableConcept[] interpretation?; r4:Meta meta?; r4:uri implicitRules?; @constraint:Array { - minLength: 1 + minLength: { + value: 1, + message: "Validation failed for $.Observation.category constraint. This field must be an array containing at least one item." + } } r4:CodeableConcept[] category; r4:Reference device?; @@ -719,7 +723,14 @@ public type AUCoreHeartRateCode record {| *r4:CodeableConcept; @constraint:Array { - minLength: 2 + minLength: { + value: 1, + message: "Validation failed for $.Observation.code.coding constraint. This field must be an array containing at least one item." + }, + maxLength: { + value: 1, + message: "Validation failed for $.Observation.code.coding constraint. This field must be an array containing at most one item." + } } r4:Coding[] coding; r4:Extension[] extension?; @@ -738,6 +749,7 @@ public type AUCoreHeartRateCode record {| # + modifierExtension - May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). # + valueCodeableConcept - Vital Sign Value recorded with UCUM. # + valueRatio - Vital Sign Value recorded with UCUM. +# + referenceRange - Guidance on how to interpret the value by comparison to a normal or recommended range. # + valueString - Vital Sign Value recorded with UCUM. # + interpretation - A categorical assessment of an observation value. For example, high, low, normal. # + valueSampledData - Vital Sign Value recorded with UCUM. @@ -831,6 +843,17 @@ public type AUCoreHeartRateCode record {| description: "Vital Sign Value recorded with UCUM.", path: "Observation.component.value[x]" }, + + "referenceRange": { + name: "referenceRange", + dataType: international401:ObservationReferenceRange, + min: 0, + max: int:MAX_VALUE, + isArray: true, + description: "Guidance on how to interpret the value by comparison to a normal or recommended range.", + path: "Observation.component.referenceRange" + }, + "valueString": { name: "valueString", dataType: string, @@ -921,6 +944,7 @@ public type AUCoreHeartRateComponent record {| r4:Extension[] modifierExtension?; r4:CodeableConcept valueCodeableConcept?; r4:Ratio valueRatio?; + international401:ObservationReferenceRange[] referenceRange?; string valueString?; r4:CodeableConcept[] interpretation?; r4:SampledData valueSampledData?; @@ -987,7 +1011,14 @@ public type AUCoreHeartRateCategoryVSCat record {| *r4:CodeableConcept; @constraint:Array { - minLength: 1 + minLength: { + value: 1, + message: "Validation failed for $.Observation.category.coding constraint. This field must be an array containing at least one item." + }, + maxLength: { + value: 1, + message: "Validation failed for $.Observation.category.coding constraint. This field must be an array containing at most one item." + } } AUCoreHeartRateCategoryCoding[] coding; r4:Extension[] extension?; diff --git a/au/aucore040/resource_aucore_immunization.bal b/au/aucore040/resource_aucore_immunization.bal index 90a0bb66..c445579e 100644 --- a/au/aucore040/resource_aucore_immunization.bal +++ b/au/aucore040/resource_aucore_immunization.bal @@ -1,4 +1,4 @@ -// Copyright (c) 2023, WSO2 LLC. (http://www.wso2.com). +// Copyright (c) 2025, WSO2 LLC. (http://www.wso2.com). // WSO2 LLC. licenses this file to you under the Apache License, // Version 2.0 (the "License"); you may not use this file except @@ -13,7 +13,7 @@ // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. - +// // AUTO-GENERATED FILE. // This file is auto-generated by Ballerina. @@ -353,7 +353,7 @@ public const RESOURCE_NAME_AUCOREIMMUNIZATION = "Immunization"; "occurrenceDateTime" : { name: "occurrenceDateTime", dataType: r4:dateTime, - min: 1, + min: 0, max: 1, isArray: false, path: "Immunization.occurrence[x]" @@ -361,7 +361,7 @@ public const RESOURCE_NAME_AUCOREIMMUNIZATION = "Immunization"; "occurrenceString" : { name: "occurrenceString", dataType: string, - min: 1, + min: 0, max: 1, isArray: false, path: "Immunization.occurrence[x]" @@ -428,8 +428,8 @@ public type AUCoreImmunization record {| r4:uri implicitRules?; r4:CodeableConcept reportOrigin?; r4:Reference location?; - r4:dateTime occurrenceDateTime; - string occurrenceString; + r4:dateTime occurrenceDateTime?; + string occurrenceString?; r4:CodeableConcept fundingSource?; AUCoreImmunizationStatus status; r4:Element ...; @@ -461,7 +461,14 @@ public type AUCoreImmunizationPerformerFunction record {| *r4:CodeableConcept; @constraint:Array { - minLength: 1 + minLength: { + value: 1, + message: "Validation failed for $.Immunization.performer.function.coding constraint. This field must be an array containing at least one item." + }, + maxLength: { + value: 1, + message: "Validation failed for $.Immunization.performer.function.coding constraint. This field must be an array containing at most one item." + } } AUCoreImmunizationPerformerFunctionCoding[] coding; |}; @@ -564,7 +571,14 @@ public type AUCoreImmunizationPerformerFunctionOne record {| *r4:CodeableConcept; @constraint:Array { - minLength: 1 + minLength: { + value: 1, + message: "Validation failed for $.Immunization.performer.function.coding constraint. This field must be an array containing at least one item." + }, + maxLength: { + value: 1, + message: "Validation failed for $.Immunization.performer.function.coding constraint. This field must be an array containing at most one item." + } } AUCoreImmunizationPerformerFunctionCodingOne[] coding; |}; @@ -627,7 +641,7 @@ public type AUCoreImmunizationPerformerFunctionCoding record {| "doseNumberString": { name: "doseNumberString", dataType: string, - min: 1, + min: 0, max: 1, isArray: false, description: "Nominal position in a series.", @@ -672,7 +686,7 @@ public type AUCoreImmunizationPerformerFunctionCoding record {| "doseNumberPositiveInt": { name: "doseNumberPositiveInt", dataType: r4:positiveInt, - min: 1, + min: 0, max: 1, isArray: false, description: "Nominal position in a series.", @@ -723,12 +737,12 @@ public type AUCoreImmunizationPerformerFunctionCoding record {| public type AUCoreImmunizationProtocolApplied record {| *r4:BackboneElement; - string doseNumberString; + string doseNumberString?; r4:Extension[] extension?; r4:positiveInt seriesDosesPositiveInt?; string series?; r4:Reference authority?; - r4:positiveInt doseNumberPositiveInt; + r4:positiveInt doseNumberPositiveInt?; r4:Extension[] modifierExtension?; r4:CodeableConcept[] targetDisease?; string seriesDosesString?; diff --git a/au/aucore040/resource_aucore_medication.bal b/au/aucore040/resource_aucore_medication.bal index b1eb4cd7..233223a8 100644 --- a/au/aucore040/resource_aucore_medication.bal +++ b/au/aucore040/resource_aucore_medication.bal @@ -1,4 +1,4 @@ -// Copyright (c) 2023, WSO2 LLC. (http://www.wso2.com). +// Copyright (c) 2025, WSO2 LLC. (http://www.wso2.com). // WSO2 LLC. licenses this file to you under the Apache License, // Version 2.0 (the "License"); you may not use this file except @@ -13,7 +13,7 @@ // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. - +// // AUTO-GENERATED FILE. // This file is auto-generated by Ballerina. @@ -578,7 +578,7 @@ public type AUCoreMedicationBatch record {| "itemReference": { name: "itemReference", dataType: r4:Reference, - min: 1, + min: 0, max: 1, isArray: false, description: "The actual ingredient - either a substance (simple ingredient) or another medication of a medication.", @@ -605,7 +605,7 @@ public type AUCoreMedicationBatch record {| "itemCodeableConcept": { name: "itemCodeableConcept", dataType: r4:CodeableConcept, - min: 1, + min: 0, max: 1, isArray: false, description: "The actual ingredient - either a substance (simple ingredient) or another medication of a medication.", @@ -647,10 +647,10 @@ public type AUCoreMedicationBatch record {| public type AUCoreMedicationIngredient record {| *r4:BackboneElement; - r4:Reference itemReference; + r4:Reference itemReference?; r4:Extension[] extension?; r4:Ratio strength?; - r4:CodeableConcept itemCodeableConcept; + r4:CodeableConcept itemCodeableConcept?; r4:Extension[] modifierExtension?; string id?; boolean isActive?; diff --git a/au/aucore040/resource_aucore_pathology_result.bal b/au/aucore040/resource_aucore_pathology_result.bal index 9761627d..ccf545f2 100644 --- a/au/aucore040/resource_aucore_pathology_result.bal +++ b/au/aucore040/resource_aucore_pathology_result.bal @@ -1,4 +1,4 @@ -// Copyright (c) 2023, WSO2 LLC. (http://www.wso2.com). +// Copyright (c) 2025, WSO2 LLC. (http://www.wso2.com). // WSO2 LLC. licenses this file to you under the Apache License, // Version 2.0 (the "License"); you may not use this file except @@ -13,12 +13,13 @@ // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. - +// // AUTO-GENERATED FILE. // This file is auto-generated by Ballerina. import ballerina/constraint; import ballerinax/health.fhir.r4; +import ballerinax/health.fhir.r4.international401; public const string PROFILE_BASE_AUCOREPATHOLOGYRESULT = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-diagnosticresult-path"; public const RESOURCE_NAME_AUCOREPATHOLOGYRESULT = "Observation"; @@ -289,7 +290,7 @@ public const RESOURCE_NAME_AUCOREPATHOLOGYRESULT = "Observation"; "effectivePeriod" : { name: "effectivePeriod", dataType: r4:Period, - min: 1, + min: 0, max: 1, isArray: false, path: "Observation.effective[x]" @@ -363,7 +364,7 @@ public const RESOURCE_NAME_AUCOREPATHOLOGYRESULT = "Observation"; "effectiveDateTime" : { name: "effectiveDateTime", dataType: r4:dateTime, - min: 1, + min: 0, max: 1, isArray: false, path: "Observation.effective[x]" @@ -471,7 +472,7 @@ public type AUCorePathologyResult record {| r4:Quantity valueQuantity?; r4:Identifier[] identifier?; r4:Reference[] performer?; - r4:Period effectivePeriod; + r4:Period effectivePeriod?; r4:CodeableConcept method?; AUCorePathologyResultHasMember[] hasMember?; r4:Reference encounter?; @@ -480,14 +481,17 @@ public type AUCorePathologyResult record {| r4:Resource[] contained?; AUCorePathologyResultReferenceRange[] referenceRange?; string valueString?; - r4:dateTime effectiveDateTime; + r4:dateTime effectiveDateTime?; r4:CodeableConcept[] interpretation?; r4:Meta meta?; r4:SampledData valueSampledData?; r4:Period valuePeriod?; r4:uri implicitRules?; @constraint:Array { - minLength: 1 + minLength: { + value: 1, + message: "Validation failed for $.Observation.category constraint. This field must be an array containing at least one item." + } } r4:CodeableConcept[] category; r4:Reference device?; @@ -506,6 +510,7 @@ public type AUCorePathologyResult record {| # + modifierExtension - May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). # + valueCodeableConcept - The information determined as a result of making the observation, if the information has a simple value. # + valueRatio - The information determined as a result of making the observation, if the information has a simple value. +# + referenceRange - Guidance on how to interpret the value by comparison to a normal or recommended range. # + valueString - The information determined as a result of making the observation, if the information has a simple value. # + interpretation - A categorical assessment of an observation value. For example, high, low, normal. # + valueSampledData - The information determined as a result of making the observation, if the information has a simple value. @@ -599,6 +604,17 @@ public type AUCorePathologyResult record {| description: "The information determined as a result of making the observation, if the information has a simple value.", path: "Observation.component.value[x]" }, + + "referenceRange": { + name: "referenceRange", + dataType: international401:ObservationReferenceRange, + min: 0, + max: int:MAX_VALUE, + isArray: true, + description: "Guidance on how to interpret the value by comparison to a normal or recommended range.", + path: "Observation.component.referenceRange" + }, + "valueString": { name: "valueString", dataType: string, @@ -689,6 +705,7 @@ public type AUCorePathologyResultComponent record {| r4:Extension[] modifierExtension?; r4:CodeableConcept valueCodeableConcept?; r4:Ratio valueRatio?; + international401:ObservationReferenceRange[] referenceRange?; string valueString?; r4:CodeableConcept[] interpretation?; r4:SampledData valueSampledData?; @@ -1109,7 +1126,14 @@ public type AUCorePathologyResultCategoryLab record {| *r4:CodeableConcept; @constraint:Array { - minLength: 1 + minLength: { + value: 1, + message: "Validation failed for $.Observation.category.coding constraint. This field must be an array containing at least one item." + }, + maxLength: { + value: 1, + message: "Validation failed for $.Observation.category.coding constraint. This field must be an array containing at most one item." + } } AUCorePathologyResultCategoryCodingOne[] coding; r4:Extension[] extension?; diff --git a/au/aucore040/resource_aucore_patient.bal b/au/aucore040/resource_aucore_patient.bal index a564c2a7..93240644 100644 --- a/au/aucore040/resource_aucore_patient.bal +++ b/au/aucore040/resource_aucore_patient.bal @@ -1,4 +1,4 @@ -// Copyright (c) 2023, WSO2 LLC. (http://www.wso2.com). +// Copyright (c) 2025, WSO2 LLC. (http://www.wso2.com). // WSO2 LLC. licenses this file to you under the Apache License, // Version 2.0 (the "License"); you may not use this file except @@ -13,7 +13,7 @@ // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. - +// // AUTO-GENERATED FILE. // This file is auto-generated by Ballerina. @@ -24,51 +24,12 @@ import ballerinax/health.fhir.r4.aubase421; public const string PROFILE_BASE_AUCOREPATIENT = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-patient"; public const RESOURCE_NAME_AUCOREPATIENT = "Patient"; +public type AUCorePatientExtensions (AuCoreRsgSexassignedab|r4:Extension); + # FHIR AUCorePatient resource record. # # + resourceType - The type of the resource describes # + extension - An Extension -# * extension Slicings -# 1) Extension: Indigenous status -# - min = 0 -# - max = 1 -# -# 2) Extension: Mother's Maiden name -# - min = 0 -# - max = 1 -# -# 3) Extension: Veteran / Australian Defence Force (ADF) status -# - min = 0 -# - max = * -# -# 4) Extension: Place of Birth for patient -# - min = 0 -# - max = 1 -# -# 5) Extension: Gender identity shall be a member of the Gender Identity Response value set if any codes within that value set can apply -# - min = 0 -# - max = * -# -# 6) Extension: Recorded sex or gender type shall be a member of the Common AU Recorded Sex or Gender Type value set if any codes within that value set can apply. Recorded sex or gender source document type shall be a member of the Common AU Recorded Sex or Gender (RSG) Source Document Type value set if any codes within that value set can apply. Recorded sex or gender jurisdiction shall be a member of the Common AU Recorded Sex or Gender (RSG) Source Document Jurisdiction value set if any codes within that value set can apply -# - min = 0 -# - max = * -# -# 7) Extension: Closing the Gap co-payment eligibility indicator -# - min = 0 -# - max = 1 -# -# 8) Extension: The date a person first arrived in Australia, from another country, with the intention of living in Australia for one year or more -# - min = 0 -# - max = 1 -# -# 9) Extension: Pronouns shall be a member of the Australian Pronouns value set if any codes within that value set can apply -# - min = 0 -# - max = * -# -# 10) Extension: Whether the patient needs an interpreter -# - min = 0 -# - max = 1 -# # + gender - Administrative Gender - the gender that the patient is considered to have for administration and record keeping purposes. # + modifierExtension - May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). # + link - Link to a Patient or RelatedPerson resource that concerns the same actual person. @@ -347,7 +308,10 @@ public type AUCorePatient record {| r4:Narrative text?; AUCorePatientCommunication[] communication?; @constraint:Array { - minLength: 1 + minLength: { + value: 1, + message: "Validation failed for $.Patient.identifier constraint. This field must be an array containing at least one item." + } } aubase421:AuDvanumber[]|aubase421:AuMedicarecardnumber[]|r4:Identifier[]|aubase421:AuIhi[]|aubase421:AuMedicalrecordnumber[]|aubase421:AuPensionerconcessioncardnumber[]|aubase421:AuCwlthseniorshealthcardnumber[]|aubase421:AuInsurancemembernumber[]|aubase421:AuHealthcarecardnumber[] identifier; aubase421:AuAddress[]|r4:Address[] address?; @@ -361,7 +325,10 @@ public type AUCorePatient record {| r4:Meta meta?; r4:integer multipleBirthInteger?; @constraint:Array { - minLength: 1 + minLength: { + value: 1, + message: "Validation failed for $.Patient.name constraint. This field must be an array containing at least one item." + } } AUCorePatientName[] name; r4:uri implicitRules?; diff --git a/au/aucore040/resource_aucore_practitioner.bal b/au/aucore040/resource_aucore_practitioner.bal index 23d499ec..bcb90ce0 100644 --- a/au/aucore040/resource_aucore_practitioner.bal +++ b/au/aucore040/resource_aucore_practitioner.bal @@ -1,4 +1,4 @@ -// Copyright (c) 2023, WSO2 LLC. (http://www.wso2.com). +// Copyright (c) 2025, WSO2 LLC. (http://www.wso2.com). // WSO2 LLC. licenses this file to you under the Apache License, // Version 2.0 (the "License"); you may not use this file except @@ -13,7 +13,7 @@ // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. - +// // AUTO-GENERATED FILE. // This file is auto-generated by Ballerina. @@ -24,6 +24,8 @@ import ballerinax/health.fhir.r4.aubase421; public const string PROFILE_BASE_AUCOREPRACTITIONER = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-practitioner"; public const RESOURCE_NAME_AUCOREPRACTITIONER = "Practitioner"; +public type AUCorePractitionerExtensions (AuCoreRsgSexassignedab|r4:Extension); + # FHIR AUCorePractitioner resource record. # # + resourceType - The type of the resource describes @@ -34,19 +36,6 @@ public const RESOURCE_NAME_AUCOREPRACTITIONER = "Practitioner"; # - max = 1 # # + extension - An Extension -# * extension Slicings -# 1) Extension: Gender identity shall be a member of the Gender Identity Response value set if any codes within that value set can apply -# - min = 0 -# - max = * -# -# 2) Extension: Pronouns shall be a member of the Australian Pronouns value set if any codes within that value set can apply -# - min = 0 -# - max = * -# -# 3) Extension: Recorded sex or gender type shall be a member of the Common AU Recorded Sex or Gender Type value set if any codes within that value set can apply. Recorded sex or gender source document type shall be a member of the Common AU Recorded Sex or Gender (RSG) Source Document Type value set if any codes within that value set can apply. Recorded sex or gender jurisdiction shall be a member of the Common AU Recorded Sex or Gender (RSG) Source Document Jurisdiction value set if any codes within that value set can apply -# - min = 0 -# - max = * -# # + address - An address expressed using postal conventions (as opposed to GPS or other location definition formats). This data type may be used to convey addresses for use in delivering mail as well as for visiting locations which might not be valid for mail delivery. There are a variety of postal address formats defined around the world. # + gender - Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes. # + modifierExtension - May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). @@ -239,7 +228,10 @@ public type AUCorePractitioner record {| r4:Resource[] contained?; r4:Meta meta?; @constraint:Array { - minLength: 1 + minLength: { + value: 1, + message: "Validation failed for $.Practitioner.name constraint. This field must be an array containing at least one item." + } } AUCorePractitionerName[] name; r4:uri implicitRules?; diff --git a/au/aucore040/resource_aucore_respiration_rate.bal b/au/aucore040/resource_aucore_respiration_rate.bal index 1ec3bf91..7e9a997a 100644 --- a/au/aucore040/resource_aucore_respiration_rate.bal +++ b/au/aucore040/resource_aucore_respiration_rate.bal @@ -1,4 +1,4 @@ -// Copyright (c) 2023, WSO2 LLC. (http://www.wso2.com). +// Copyright (c) 2025, WSO2 LLC. (http://www.wso2.com). // WSO2 LLC. licenses this file to you under the Apache License, // Version 2.0 (the "License"); you may not use this file except @@ -13,12 +13,13 @@ // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. - +// // AUTO-GENERATED FILE. // This file is auto-generated by Ballerina. import ballerina/constraint; import ballerinax/health.fhir.r4; +import ballerinax/health.fhir.r4.international401; public const string PROFILE_BASE_AUCORERESPIRATIONRATE = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-resprate"; public const RESOURCE_NAME_AUCORERESPIRATIONRATE = "Observation"; @@ -276,7 +277,7 @@ public const RESOURCE_NAME_AUCORERESPIRATIONRATE = "Observation"; "effectiveDateTime" : { name: "effectiveDateTime", dataType: r4:dateTime, - min: 1, + min: 0, max: 1, isArray: false, path: "Observation.effective[x]" @@ -368,12 +369,15 @@ public type AUCoreRespirationRate record {| AUCoreRespirationRateComponent[] component?; r4:Resource[] contained?; AUCoreRespirationRateReferenceRange[] referenceRange?; - r4:dateTime effectiveDateTime; + r4:dateTime effectiveDateTime?; r4:CodeableConcept[] interpretation?; r4:Meta meta?; r4:uri implicitRules?; @constraint:Array { - minLength: 1 + minLength: { + value: 1, + message: "Validation failed for $.Observation.category constraint. This field must be an array containing at least one item." + } } r4:CodeableConcept[] category; r4:Reference device?; @@ -392,6 +396,7 @@ public type AUCoreRespirationRate record {| # + modifierExtension - May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). # + valueCodeableConcept - Vital Sign Value recorded with UCUM. # + valueRatio - Vital Sign Value recorded with UCUM. +# + referenceRange - Guidance on how to interpret the value by comparison to a normal or recommended range. # + valueString - Vital Sign Value recorded with UCUM. # + interpretation - A categorical assessment of an observation value. For example, high, low, normal. # + valueSampledData - Vital Sign Value recorded with UCUM. @@ -485,6 +490,17 @@ public type AUCoreRespirationRate record {| description: "Vital Sign Value recorded with UCUM.", path: "Observation.component.value[x]" }, + + "referenceRange": { + name: "referenceRange", + dataType: international401:ObservationReferenceRange, + min: 0, + max: int:MAX_VALUE, + isArray: true, + description: "Guidance on how to interpret the value by comparison to a normal or recommended range.", + path: "Observation.component.referenceRange" + }, + "valueString": { name: "valueString", dataType: string, @@ -575,6 +591,7 @@ public type AUCoreRespirationRateComponent record {| r4:Extension[] modifierExtension?; r4:CodeableConcept valueCodeableConcept?; r4:Ratio valueRatio?; + international401:ObservationReferenceRange[] referenceRange?; string valueString?; r4:CodeableConcept[] interpretation?; r4:SampledData valueSampledData?; @@ -945,7 +962,14 @@ public type AUCoreRespirationRateCategoryVSCat record {| *r4:CodeableConcept; @constraint:Array { - minLength: 1 + minLength: { + value: 1, + message: "Validation failed for $.Observation.category.coding constraint. This field must be an array containing at least one item." + }, + maxLength: { + value: 1, + message: "Validation failed for $.Observation.category.coding constraint. This field must be an array containing at most one item." + } } AUCoreRespirationRateCategoryCoding[] coding; r4:Extension[] extension?; @@ -1213,7 +1237,14 @@ public type AUCoreRespirationRateCode record {| *r4:CodeableConcept; @constraint:Array { - minLength: 2 + minLength: { + value: 1, + message: "Validation failed for $.Observation.code.coding constraint. This field must be an array containing at least one item." + }, + maxLength: { + value: 1, + message: "Validation failed for $.Observation.code.coding constraint. This field must be an array containing at most one item." + } } r4:Coding[] coding; r4:Extension[] extension?; diff --git a/au/aucore040/resource_aucore_smoking_status.bal b/au/aucore040/resource_aucore_smoking_status.bal index 345f6177..be24253d 100644 --- a/au/aucore040/resource_aucore_smoking_status.bal +++ b/au/aucore040/resource_aucore_smoking_status.bal @@ -1,4 +1,4 @@ -// Copyright (c) 2023, WSO2 LLC. (http://www.wso2.com). +// Copyright (c) 2025, WSO2 LLC. (http://www.wso2.com). // WSO2 LLC. licenses this file to you under the Apache License, // Version 2.0 (the "License"); you may not use this file except @@ -13,12 +13,13 @@ // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. - +// // AUTO-GENERATED FILE. // This file is auto-generated by Ballerina. import ballerina/constraint; import ballerinax/health.fhir.r4; +import ballerinax/health.fhir.r4.international401; public const string PROFILE_BASE_AUCORESMOKINGSTATUS = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-smokingstatus"; public const RESOURCE_NAME_AUCORESMOKINGSTATUS = "Observation"; @@ -277,7 +278,7 @@ public const RESOURCE_NAME_AUCORESMOKINGSTATUS = "Observation"; "effectiveDateTime" : { name: "effectiveDateTime", dataType: r4:dateTime, - min: 1, + min: 0, max: 1, isArray: false, path: "Observation.effective[x]" @@ -369,12 +370,15 @@ public type AUCoreSmokingStatus record {| AUCoreSmokingStatusComponent[] component?; r4:Resource[] contained?; AUCoreSmokingStatusReferenceRange[] referenceRange?; - r4:dateTime effectiveDateTime; + r4:dateTime effectiveDateTime?; r4:CodeableConcept[] interpretation?; r4:Meta meta?; r4:uri implicitRules?; @constraint:Array { - minLength: 1 + minLength: { + value: 1, + message: "Validation failed for $.Observation.category constraint. This field must be an array containing at least one item." + } } r4:CodeableConcept[] category; r4:Reference device?; @@ -393,6 +397,7 @@ public type AUCoreSmokingStatus record {| # + modifierExtension - May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). # + valueCodeableConcept - The information determined as a result of making the observation, if the information has a simple value. # + valueRatio - The information determined as a result of making the observation, if the information has a simple value. +# + referenceRange - Guidance on how to interpret the value by comparison to a normal or recommended range. # + valueString - The information determined as a result of making the observation, if the information has a simple value. # + interpretation - A categorical assessment of an observation value. For example, high, low, normal. # + valueSampledData - The information determined as a result of making the observation, if the information has a simple value. @@ -486,6 +491,17 @@ public type AUCoreSmokingStatus record {| description: "The information determined as a result of making the observation, if the information has a simple value.", path: "Observation.component.value[x]" }, + + "referenceRange": { + name: "referenceRange", + dataType: international401:ObservationReferenceRange, + min: 0, + max: int:MAX_VALUE, + isArray: true, + description: "Guidance on how to interpret the value by comparison to a normal or recommended range.", + path: "Observation.component.referenceRange" + }, + "valueString": { name: "valueString", dataType: string, @@ -576,6 +592,7 @@ public type AUCoreSmokingStatusComponent record {| r4:Extension[] modifierExtension?; r4:CodeableConcept valueCodeableConcept?; r4:Ratio valueRatio?; + international401:ObservationReferenceRange[] referenceRange?; string valueString?; r4:CodeableConcept[] interpretation?; r4:SampledData valueSampledData?; @@ -814,7 +831,14 @@ public type AUCoreSmokingStatusCode record {| *r4:CodeableConcept; @constraint:Array { - minLength: 1 + minLength: { + value: 1, + message: "Validation failed for $.Observation.code.coding constraint. This field must be an array containing at least one item." + }, + maxLength: { + value: 1, + message: "Validation failed for $.Observation.code.coding constraint. This field must be an array containing at most one item." + } } AUCoreSmokingStatusCodeCoding[] coding; r4:Extension[] extension?; @@ -856,7 +880,14 @@ public type AUCoreSmokingStatusCategorySocialHistory record {| *r4:CodeableConcept; @constraint:Array { - minLength: 1 + minLength: { + value: 1, + message: "Validation failed for $.Observation.category.coding constraint. This field must be an array containing at least one item." + }, + maxLength: { + value: 1, + message: "Validation failed for $.Observation.category.coding constraint. This field must be an array containing at most one item." + } } AUCoreSmokingStatusCategoryCoding[] coding; |}; diff --git a/au/aucore040/resource_aucore_waist_circumference.bal b/au/aucore040/resource_aucore_waist_circumference.bal index fe3415eb..290601d2 100644 --- a/au/aucore040/resource_aucore_waist_circumference.bal +++ b/au/aucore040/resource_aucore_waist_circumference.bal @@ -1,4 +1,4 @@ -// Copyright (c) 2023, WSO2 LLC. (http://www.wso2.com). +// Copyright (c) 2025, WSO2 LLC. (http://www.wso2.com). // WSO2 LLC. licenses this file to you under the Apache License, // Version 2.0 (the "License"); you may not use this file except @@ -13,12 +13,13 @@ // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. - +// // AUTO-GENERATED FILE. // This file is auto-generated by Ballerina. import ballerina/constraint; import ballerinax/health.fhir.r4; +import ballerinax/health.fhir.r4.international401; public const string PROFILE_BASE_AUCOREWAISTCIRCUMFERENCE = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-waistcircum"; public const RESOURCE_NAME_AUCOREWAISTCIRCUMFERENCE = "Observation"; @@ -350,7 +351,7 @@ public const RESOURCE_NAME_AUCOREWAISTCIRCUMFERENCE = "Observation"; "effectiveDateTime" : { name: "effectiveDateTime", dataType: r4:dateTime, - min: 1, + min: 0, max: 1, isArray: false, path: "Observation.effective[x]" @@ -466,14 +467,17 @@ public type AUCoreWaistCircumference record {| r4:Resource[] contained?; AUCoreWaistCircumferenceReferenceRange[] referenceRange?; string valueString?; - r4:dateTime effectiveDateTime; + r4:dateTime effectiveDateTime?; r4:CodeableConcept[] interpretation?; r4:Meta meta?; r4:SampledData valueSampledData?; r4:Period valuePeriod?; r4:uri implicitRules?; @constraint:Array { - minLength: 1 + minLength: { + value: 1, + message: "Validation failed for $.Observation.category constraint. This field must be an array containing at least one item." + } } r4:CodeableConcept[] category; r4:Reference device?; @@ -492,6 +496,7 @@ public type AUCoreWaistCircumference record {| # + modifierExtension - May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). # + valueCodeableConcept - Vital Sign Value recorded with UCUM. # + valueRatio - Vital Sign Value recorded with UCUM. +# + referenceRange - Guidance on how to interpret the value by comparison to a normal or recommended range. # + valueString - Vital Sign Value recorded with UCUM. # + interpretation - A categorical assessment of an observation value. For example, high, low, normal. # + valueSampledData - Vital Sign Value recorded with UCUM. @@ -585,6 +590,17 @@ public type AUCoreWaistCircumference record {| description: "Vital Sign Value recorded with UCUM.", path: "Observation.component.value[x]" }, + + "referenceRange": { + name: "referenceRange", + dataType: international401:ObservationReferenceRange, + min: 0, + max: int:MAX_VALUE, + isArray: true, + description: "Guidance on how to interpret the value by comparison to a normal or recommended range.", + path: "Observation.component.referenceRange" + }, + "valueString": { name: "valueString", dataType: string, @@ -675,6 +691,7 @@ public type AUCoreWaistCircumferenceComponent record {| r4:Extension[] modifierExtension?; r4:CodeableConcept valueCodeableConcept?; r4:Ratio valueRatio?; + international401:ObservationReferenceRange[] referenceRange?; string valueString?; r4:CodeableConcept[] interpretation?; r4:SampledData valueSampledData?; @@ -835,7 +852,14 @@ public type AUCoreWaistCircumferenceCode record {| *r4:CodeableConcept; @constraint:Array { - minLength: 2 + minLength: { + value: 1, + message: "Validation failed for $.Observation.code.coding constraint. This field must be an array containing at least one item." + }, + maxLength: { + value: 1, + message: "Validation failed for $.Observation.code.coding constraint. This field must be an array containing at most one item." + } } r4:Coding[] coding; r4:Extension[] extension?; @@ -993,7 +1017,14 @@ public type AUCoreWaistCircumferenceCategoryVSCat record {| *r4:CodeableConcept; @constraint:Array { - minLength: 1 + minLength: { + value: 1, + message: "Validation failed for $.Observation.category.coding constraint. This field must be an array containing at least one item." + }, + maxLength: { + value: 1, + message: "Validation failed for $.Observation.category.coding constraint. This field must be an array containing at most one item." + } } AUCoreWaistCircumferenceCategoryCoding[] coding; r4:Extension[] extension?;