{ "description": "Ratio data type, constrained to use UCUM as a codesystem.", "_filename": "StructureDefinition-ratio-uv-ips.json", "package_name": "hl7.fhir.uv.ips", "date": "2018-03-21T14:49:16.166+01:00", "derivation": "constraint", "publisher": null, "fhirVersion": "3.5.0", "jurisdiction": [ { "coding": [ { "code": "001", "system": "http://unstats.un.org/unsd/methods/m49/m49.htm", "display": "World" } ] } ], "purpose": "allow only UCUM as a codesystem.", "name": "Ratio-uv-ips", "mapping": [ { "uri": "http://hl7.org/v2", "name": "HL7 v2 Mapping", "identity": "v2" }, { "uri": "http://hl7.org/v3", "name": "RIM Mapping", "identity": "rim" } ], "abstract": false, "type": "Ratio", "experimental": null, "resourceType": "StructureDefinition", "title": "Ratio", "package_version": "0.2.0", "snapshot": { "element": [ { "constraint": [ { "key": "ele-1", "human": "All FHIR elements must have a @value or children", "xpath": "@value|f:*|h:div", "source": "Element", "severity": "error", "expression": "hasValue() or (children().count() > id.count())" }, { "key": "rat-1", "human": "Numerator and denominator SHALL both be present, or both are absent. If both are absent, there SHALL be some extension present", "xpath": "(count(f:numerator) = count(f:denominator)) and ((count(f:numerator) > 0) or (count(f:extension) > 0))", "source": "Ratio", "severity": "error", "expression": "(numerator.empty() xor denominator.exists()) and (numerator.exists() or extension.exists())" } ], "path": "Ratio", "min": 0, "definition": "A relationship of two Quantity values - expressed as a numerator and a denominator.", "isModifier": false, "short": "A ratio of two Quantity values - a numerator and a denominator", "mapping": [ { "map": "n/a", "identity": "rim" }, { "map": "N/A", "identity": "v2" }, { "map": "RTO", "identity": "rim" } ], "max": "*", "id": "Ratio", "condition": [ "ele-1" ], "comment": "The Ratio datatype should only be used to express a relationship of two numbers if the relationship cannot be suitably expressed using a Quantity and a common unit. Where the denominator value is known to be fixed to \"1\", Quantity should be used instead of Ratio.", "base": { "max": "*", "min": 0, "path": "Ratio" } }, { "path": "Ratio.id", "min": 0, "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "isModifier": false, "short": "xml:id (or equivalent in JSON)", "mapping": [ { "map": "n/a", "identity": "rim" } ], "type": [ { "code": "string" } ], "representation": [ "xmlAttr" ], "max": "1", "id": "Ratio.id", "base": { "max": "1", "min": 0, "path": "Element.id" }, "isSummary": false }, { "path": "Ratio.extension", "min": 0, "definition": "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.", "isModifier": false, "short": "Additional content defined by implementations", "mapping": [ { "map": "n/a", "identity": "rim" } ], "slicing": { "rules": "open", "description": "Extensions are always sliced by (at least) url", "discriminator": [ { "path": "url", "type": "value" } ] }, "type": [ { "code": "Extension" } ], "alias": [ "extensions", "user content" ], "max": "*", "id": "Ratio.extension", "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", "base": { "max": "*", "min": 0, "path": "Element.extension" }, "isSummary": false }, { "path": "Ratio.numerator", "min": 0, "definition": "The value of the numerator.", "isModifier": false, "short": "Numerator value", "mapping": [ { "map": ".numerator", "identity": "rim" } ], "type": [ { "code": "Quantity" } ], "max": "1", "id": "Ratio.numerator", "base": { "max": "1", "min": 0, "path": "Ratio.numerator" }, "isSummary": true }, { "path": "Ratio.numerator.id", "min": 0, "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "isModifier": false, "short": "xml:id (or equivalent in JSON)", "mapping": [ { "map": "n/a", "identity": "rim" } ], "type": [ { "code": "string" } ], "representation": [ "xmlAttr" ], "max": "1", "id": "Ratio.numerator.id", "base": { "max": "1", "min": 0, "path": "Element.id" }, "isSummary": false }, { "path": "Ratio.numerator.extension", "min": 0, "definition": "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.", "isModifier": false, "short": "Additional content defined by implementations", "mapping": [ { "map": "n/a", "identity": "rim" } ], "slicing": { "rules": "open", "description": "Extensions are always sliced by (at least) url", "discriminator": [ { "path": "url", "type": "value" } ] }, "type": [ { "code": "Extension" } ], "alias": [ "extensions", "user content" ], "max": "*", "id": "Ratio.numerator.extension", "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", "base": { "max": "*", "min": 0, "path": "Element.extension" }, "isSummary": false }, { "path": "Ratio.numerator.value", "requirements": "Precision is handled implicitly in almost all cases of measurement.", "min": 0, "definition": "The value of the measured amount. The value includes an implicit precision in the presentation of the value.", "isModifier": false, "short": "Numerical value (with implicit precision)", "mapping": [ { "map": "SN.2 / CQ - N/A", "identity": "v2" }, { "map": "PQ.value, CO.value, MO.value, IVL.high or IVL.low depending on the value", "identity": "rim" } ], "type": [ { "code": "decimal" } ], "max": "1", "id": "Ratio.numerator.value", "comment": "The implicit precision in the value should always be honored. Monetary values have their own rules for handling precision (refer to standard accounting text books).", "base": { "max": "1", "min": 0, "path": "Quantity.value" }, "isSummary": true }, { "path": "Ratio.numerator.comparator", "requirements": "Need a framework for handling measures where the value is <5ug/L or >400mg/L due to the limitations of measuring methodology.", "min": 0, "definition": "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.", "isModifier": true, "short": "< | <= | >= | > - how to understand the value", "mapping": [ { "map": "SN.1 / CQ.1", "identity": "v2" }, { "map": "IVL properties", "identity": "rim" } ], "type": [ { "code": "code" } ], "meaningWhenMissing": "If there is no comparator, then there is no modification of the value", "binding": { "strength": "required", "valueSet": "http://hl7.org/fhir/ValueSet/quantity-comparator", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", "valueString": "QuantityComparator" } ], "description": "How the Quantity should be understood and represented." }, "max": "1", "id": "Ratio.numerator.comparator", "base": { "max": "1", "min": 0, "path": "Quantity.comparator" }, "isModifierReason": "This is labeled as \"Is Modifier\" because the comparator modifies the interpretation of the value significantly. If there is no comparator, then there is no modification of the value", "isSummary": true }, { "path": "Ratio.numerator.unit", "requirements": "There are many representations for units of measure and in many contexts, particular representations are fixed and required. I.e. mcg for micrograms.", "min": 0, "definition": "A human-readable form of the unit.", "isModifier": false, "short": "Unit representation", "mapping": [ { "map": "(see OBX.6 etc.) / CQ.2", "identity": "v2" }, { "map": "PQ.unit", "identity": "rim" } ], "type": [ { "code": "string" } ], "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", "valueBoolean": true } ], "max": "1", "id": "Ratio.numerator.unit", "base": { "max": "1", "min": 0, "path": "Quantity.unit" }, "isSummary": true }, { "path": "Ratio.numerator.system", "requirements": "Need to know the system that defines the coded form of the unit.", "min": 1, "definition": "The identification of the system that provides the coded form of the unit.", "isModifier": false, "short": "System that defines coded unit form", "fixedUri": "http://unitsofmeasure.org", "mapping": [ { "map": "(see OBX.6 etc.) / CQ.2", "identity": "v2" }, { "map": "CO.codeSystem, PQ.translation.codeSystem", "identity": "rim" } ], "type": [ { "code": "uri" } ], "max": "1", "id": "Ratio.numerator.system", "condition": [ "qty-3" ], "base": { "max": "1", "min": 0, "path": "Quantity.system" }, "isSummary": true }, { "path": "Ratio.numerator.code", "requirements": "Need a computable form of the unit that is fixed across all forms. UCUM provides this for quantities, but SNOMED CT provides many units of interest.", "min": 1, "definition": "A computer processable form of the unit in some unit representation system.", "isModifier": false, "short": "Coded form of the unit", "mapping": [ { "map": "(see OBX.6 etc.) / CQ.2", "identity": "v2" }, { "map": "PQ.code, MO.currency, PQ.translation.code", "identity": "rim" } ], "type": [ { "code": "code" } ], "max": "1", "id": "Ratio.numerator.code", "comment": "The preferred system is UCUM, but SNOMED CT can also be used (for customary units) or ISO 4217 for currency. The context of use may additionally require a code from a particular system.", "base": { "max": "1", "min": 0, "path": "Quantity.code" }, "isSummary": true }, { "path": "Ratio.denominator", "min": 0, "definition": "The value of the denominator.", "isModifier": false, "short": "Denominator value", "mapping": [ { "map": ".denominator", "identity": "rim" } ], "type": [ { "code": "Quantity" } ], "max": "1", "id": "Ratio.denominator", "base": { "max": "1", "min": 0, "path": "Ratio.denominator" }, "isSummary": true }, { "path": "Ratio.denominator.id", "min": 0, "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "isModifier": false, "short": "xml:id (or equivalent in JSON)", "mapping": [ { "map": "n/a", "identity": "rim" } ], "type": [ { "code": "string" } ], "representation": [ "xmlAttr" ], "max": "1", "id": "Ratio.denominator.id", "base": { "max": "1", "min": 0, "path": "Element.id" }, "isSummary": false }, { "path": "Ratio.denominator.extension", "min": 0, "definition": "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.", "isModifier": false, "short": "Additional content defined by implementations", "mapping": [ { "map": "n/a", "identity": "rim" } ], "slicing": { "rules": "open", "description": "Extensions are always sliced by (at least) url", "discriminator": [ { "path": "url", "type": "value" } ] }, "type": [ { "code": "Extension" } ], "alias": [ "extensions", "user content" ], "max": "*", "id": "Ratio.denominator.extension", "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", "base": { "max": "*", "min": 0, "path": "Element.extension" }, "isSummary": false }, { "path": "Ratio.denominator.value", "requirements": "Precision is handled implicitly in almost all cases of measurement.", "min": 0, "definition": "The value of the measured amount. The value includes an implicit precision in the presentation of the value.", "isModifier": false, "short": "Numerical value (with implicit precision)", "mapping": [ { "map": "SN.2 / CQ - N/A", "identity": "v2" }, { "map": "PQ.value, CO.value, MO.value, IVL.high or IVL.low depending on the value", "identity": "rim" } ], "type": [ { "code": "decimal" } ], "max": "1", "id": "Ratio.denominator.value", "comment": "The implicit precision in the value should always be honored. Monetary values have their own rules for handling precision (refer to standard accounting text books).", "base": { "max": "1", "min": 0, "path": "Quantity.value" }, "isSummary": true }, { "path": "Ratio.denominator.comparator", "requirements": "Need a framework for handling measures where the value is <5ug/L or >400mg/L due to the limitations of measuring methodology.", "min": 0, "definition": "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.", "isModifier": true, "short": "< | <= | >= | > - how to understand the value", "mapping": [ { "map": "SN.1 / CQ.1", "identity": "v2" }, { "map": "IVL properties", "identity": "rim" } ], "type": [ { "code": "code" } ], "meaningWhenMissing": "If there is no comparator, then there is no modification of the value", "binding": { "strength": "required", "valueSet": "http://hl7.org/fhir/ValueSet/quantity-comparator", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", "valueString": "QuantityComparator" } ], "description": "How the Quantity should be understood and represented." }, "max": "1", "id": "Ratio.denominator.comparator", "base": { "max": "1", "min": 0, "path": "Quantity.comparator" }, "isModifierReason": "This is labeled as \"Is Modifier\" because the comparator modifies the interpretation of the value significantly. If there is no comparator, then there is no modification of the value", "isSummary": true }, { "path": "Ratio.denominator.unit", "requirements": "There are many representations for units of measure and in many contexts, particular representations are fixed and required. I.e. mcg for micrograms.", "min": 0, "definition": "A human-readable form of the unit.", "isModifier": false, "short": "Unit representation", "mapping": [ { "map": "(see OBX.6 etc.) / CQ.2", "identity": "v2" }, { "map": "PQ.unit", "identity": "rim" } ], "type": [ { "code": "string" } ], "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", "valueBoolean": true } ], "max": "1", "id": "Ratio.denominator.unit", "base": { "max": "1", "min": 0, "path": "Quantity.unit" }, "isSummary": true }, { "path": "Ratio.denominator.system", "requirements": "Need to know the system that defines the coded form of the unit.", "min": 1, "definition": "The identification of the system that provides the coded form of the unit.", "isModifier": false, "short": "System that defines coded unit form", "fixedUri": "http://unitsofmeasure.org", "mapping": [ { "map": "(see OBX.6 etc.) / CQ.2", "identity": "v2" }, { "map": "CO.codeSystem, PQ.translation.codeSystem", "identity": "rim" } ], "type": [ { "code": "uri" } ], "max": "1", "id": "Ratio.denominator.system", "condition": [ "qty-3" ], "base": { "max": "1", "min": 0, "path": "Quantity.system" }, "isSummary": true }, { "path": "Ratio.denominator.code", "requirements": "Need a computable form of the unit that is fixed across all forms. UCUM provides this for quantities, but SNOMED CT provides many units of interest.", "min": 1, "definition": "A computer processable form of the unit in some unit representation system.", "isModifier": false, "short": "Coded form of the unit", "mapping": [ { "map": "(see OBX.6 etc.) / CQ.2", "identity": "v2" }, { "map": "PQ.code, MO.currency, PQ.translation.code", "identity": "rim" } ], "type": [ { "code": "code" } ], "max": "1", "id": "Ratio.denominator.code", "comment": "The preferred system is UCUM, but SNOMED CT can also be used (for customary units) or ISO 4217 for currency. The context of use may additionally require a code from a particular system.", "base": { "max": "1", "min": 0, "path": "Quantity.code" }, "isSummary": true } ] }, "status": "draft", "id": "ff989a90-ebff-44b6-850f-89bcaecae264", "kind": "complex-type", "url": "http://hl7.org/fhir/uv/ips/StructureDefinition/ratio-uv-ips", "version": "0.2.0", "differential": { "element": [ { "id": "Ratio", "path": "Ratio" }, { "id": "Ratio.numerator", "path": "Ratio.numerator" }, { "id": "Ratio.numerator.system", "min": 1, "path": "Ratio.numerator.system", "fixedUri": "http://unitsofmeasure.org" }, { "id": "Ratio.numerator.code", "min": 1, "path": "Ratio.numerator.code" }, { "id": "Ratio.denominator", "path": "Ratio.denominator" }, { "id": "Ratio.denominator.system", "min": 1, "path": "Ratio.denominator.system", "fixedUri": "http://unitsofmeasure.org" }, { "id": "Ratio.denominator.code", "min": 1, "path": "Ratio.denominator.code" } ] }, "contact": [ { "name": "Christof Gessner" } ], "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Ratio" }