AU Core Implementation Guide
1.1.0-ci-build - CI Build Australia flag

AU Core Implementation Guide, published by HL7 Australia. This guide is not an authorized publication; it is the continuous build for version 1.1.0-ci-build built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/AuDigitalHealth/au-fhir-core/ and changes regularly. See the Directory of published versions

Resource Profile: AU Core Body Weight

Official URL: http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyweight Version: 1.1.0-ci-build
Standards status: Trial-use Maturity Level: 2 Computable Name: AUCoreBodyWeight

Copyright/Legal: Used by permission of HL7 International, all rights reserved Creative Commons License. HL7 Australia© 2022+; Licensed Under Creative Commons No Rights Reserved.

This profile sets minimum expectations for an Observation resource to record, search, and fetch body weight observations with standard coding and units of measure. It is based on the FHIR Body Weight Profile and identifies the additional mandatory core elements, extensions, vocabularies and value sets that SHALL be present in the Observation resource when conforming to this profile. It provides the floor for standards development for specific uses cases in an Australian context.

See Comparison with other national and international IGs for a comparison between AU Core profiles and profiles in other implementation guides.

Usage scenarios

The following are supported usage scenarios for this profile:

  • Query for observations of body weight associated with a patient
  • Record or update an observation of body weight associated with a patient

Profile specific implementation guidance

  • Observation.category provides an efficient way of supporting system interactions, e.g. restricting searches. Implementers need to understand that data categorisation is somewhat subjective. The categorisation applied by the source may not align with a receiver’s expectations.
  • Observations MAY have additional codes that translate or map to the Observation code or category codes. For example:
    • providing a local code
    • providing a more specific codes such as 8306-3 - Body height - lying in addition to 8302-2 - Body height. Several additional observation codes are provided in the FHIR core specification vital signs table.
  • Observations MAY have [component] observations to qualify the vital sign observation. For example, 8478-0 - Mean blood pressure, 8887-2 - Heart rate device type, 8326-1 - Type of body temperature device. Several of these are provided in the FHIR core specification vital signs table.

Usage:

Changes since version 1.0.0:

  • No changes
  • Formal Views of Profile Content

    Description of Profiles, Differentials, Snapshots and how the different presentations work.

    This structure is derived from observation-bodyweight

    NameFlagsCard.TypeDescription & Constraintsdoco
    .. Observation C 0..* observation-bodyweight Body weight
    au-core-obs-01: At least value or data absent reason shall be present
    ... status O 1..1 code registered | preliminary | final | amended +
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... category O 1..* CodeableConcept Classification of type of observation
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... Slices for category Content/Rules for all slices
    .... category:VSCat O 1..1 CodeableConcept Classification of type of observation
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ..... coding O 1..* Coding Code defined by a terminology system
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ...... system O 1..1 uri Identity of the terminology system
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ...... code O 1..1 code Symbol in syntax defined by the system
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... coding 2..* Coding Code defined by a terminology system
    .... Slices for coding Content/Rules for all slices
    ..... coding:snomedBodyWeightCode 1..1 Coding SNOMED CT Body Weight
    ...... system 1..1 uri Identity of the terminology system
    Fixed Value: http://snomed.info/sct
    ...... code 1..1 code Symbol in syntax defined by the system
    Fixed Value: 27113001
    ... subject O 1..1 Reference(AU Core Patient) Who and/or what the observation is about
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... effective[x] O 1..1 dateTime Date, and optionally time, the observation was performed
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... valueQuantity OC 0..1 Quantity Body weight
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... value O 1..1 decimal Numerical value (with implicit precision)
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... unit O 1..1 string Unit representation
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... system O 1..1 uri System that defines coded unit form
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... code O 1..1 code Coded responses from the common UCUM units for vital signs value set.
    Binding: BodyWeightUnits (required)
    Additional BindingsPurpose
    Metric Body Weight Units . candidate
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... dataAbsentReason OC 0..1 CodeableConcept Why the result is missing
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    ... component O 0..* BackboneElement Used when reporting systolic and diastolic blood pressure.
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... code O 1..1 CodeableConcept Type of component observation (code / type)
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... value[x] O 0..1 Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period Vital Sign Value recorded with UCUM
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester
    .... dataAbsentReason O 0..1 CodeableConcept Why the component result is missing
    ObligationsActor
    SHALL:populate-if-known AU Core Responder
    SHALL:no-error AU Core Requester

    doco Documentation for this format

    Terminology Bindings (Differential)

    PathConformanceValueSetURI
    Observation.valueQuantity.coderequiredBodyWeightUnits
    http://hl7.org/fhir/ValueSet/ucum-bodyweight
    from the FHIR Standard

    Constraints

    IdGradePath(s)DetailsRequirements
    au-core-obs-01errorObservationAt least value or data absent reason shall be present
    : dataAbsentReason.exists() or value.exists()

     

    Other representations of profile: CSV, Excel, Schematron

    Notes:

    Below is an overview of the mandatory and optional search parameters and combined search parameters. See the AU Core CapabilityStatements for a complete list of supported RESTful interactions for this IG.

    FHIR search operations are described here and the syntax used to describe AU Core interactions is defined here.

    Any search parameter defined in FHIR may be ‘allowed’ by the system unless explicitly marked as “SHALL NOT”. A few items are marked as MAY in this implementation guide to highlight their potential relevance.

    Parameter(s) Conformance Type(s) Requirements (when used alone or in combination)
    patient+category SHALL reference+token
    patient+category+date SHALL reference+token+date
    patient+code SHALL reference+token
    patient+category+status SHOULD reference+token+token
    patient+code+date SHOULD reference+token+date
    patient MAY reference The requester SHALL provide at least an id value and MAY provide both the Type and id values. The responder SHALL support both.

    The requester SHOULD support chained search patient.identifier using IHI, Medicare Number, and DVA Number identifiers as defined in the AU Core Patient profile. The responder SHOULD support chained search patient.identifier using IHI, Medicare Number, and DVA Number identifiers as defined in the AU Core Patient profile.
    category MAY token The requester SHALL provide at least a code value and MAY provide both the system and code values. The responder SHALL support both.

    The requester SHALL support search using the 'vital-signs' category defined in this profile. The responder SHALL support search using the 'vital-signs' category defined in this profile.
    code MAY token The requester SHALL provide at least a code value and MAY provide both the system and code values. The responder SHALL support both.

    The requester SHALL support search using the LOINC codes defined in this profile. The responder SHALL support search using the LOINC codes defined in this profile.
    date MAY date A requester SHALL provide a value precise to the second + time offset. A responder SHALL support a value precise to the second + time offset.

    The requester SHALL support these search comparators gt, lt, ge, le. The responder SHALL support these search comparators gt, lt, ge, le.

    The requester SHOULD support multipleAnd, and if multipleAnd is supported, SHALL support the search comparators gt, lt, ge, le. The responder SHOULD support multipleAnd, and if multipleAnd is supported, SHALL support the search comparators gt, lt, ge, le.
    status MAY token The requester SHALL provide at least a code value and MAY provide both the system and code values. The responder SHALL support both.

    The requester SHALL support multipleOr.The responder SHALL support multipleOr.

    Mandatory Search Parameters:

    The following search parameters and search parameter combinations SHALL be supported:

    1. SHALL support searching using the combination of the patient and category search parameters:
      • SHOULD support chained searching of patient canonical identifier patient.identifier (e.g. patient.identifier=[system|][code])

      GET [base]/Observation?patient={Type/}[id]&category=vital-signs

      Example:

      1. GET [base]/Observation?patient=5678&category=vital-signs

      Implementation Notes: Fetches a bundle of all Observation resources for the specified patient and category (how to search by reference and how to search by token)

    2. SHALL support searching using the combination of the patient and category and date search parameters:
      • SHOULD support chained searching of patient canonical identifier patient.identifier (e.g. patient.identifier=[system|][code])
      • SHALL support these date comparators: gt,lt,ge,le
      • SHOULD support multipleAnd search on date (e.g.date=[date]&date=[date]]&...), and if multipleAnd is supported, SHALL support the search comparators gt,lt,ge,le

      GET [base]/Observation?patient={Type/}[id]&category=vital-signs&date={gt|lt|ge|le}[date]{&date={gt|lt|ge|le}[date]&...}

      Example:

      1. GET [base]/Observation?patient=5678&category=vital-signs&date=ge2020-01-01T00:00:00Z

      Implementation Notes: Fetches a bundle of all Observation resources for the specified patient and date and a category code = vital-signs (how to search by reference and how to search by token and how to search by date)

    3. SHALL support searching using the combination of the patient and code search parameters:
      • SHOULD support chained searching of patient canonical identifier patient.identifier (e.g. patient.identifier=[system|][code])
      • SHOULD support multipleOr search on code (e.g.code={system|}[code],{system|}[code],...)

      GET [base]/Observation?patient={Type/}[id]&code={system|}[code]{,{system|}[code],...}

      Example:

      1. GET [base]/Observation?patient=5678&code=http://snomed.info/sct|364075005,http://loinc.org|29463-7,http://loinc.org|85354-9

      Implementation Notes: Fetches a bundle of all Observation resources for the specified patient and observation code(s). The Observation code parameter searches Observation.code only. (how to search by reference and how to search by token)

    Optional Search Parameters:

    The following search parameters and search parameter combinations SHOULD be supported:

    1. SHOULD support chained searching of patient canonical identifier patient.identifier (e.g. patient.identifier=[system|][code])

      GET [base]/Observation?patient.identifier=[system|][code]

      Example:

      1. GET [base]/Observation?patient.identifier=http://ns.electronichealth.net.au/id/medicare-number|32788511952
      2. GET [base]/Observation?patient.identifier=http://ns.electronichealth.net.au/id/hi/ihi/1.0|8003608833357361

      Implementation Notes: Fetches a bundle of all Observation resources for the specified patient (how to search by reference and how to search by token)

    2. SHOULD support searching using the combination of the patient and category and status search parameters:
      • SHOULD support chained searching of patient canonical identifier patient.identifier (e.g. patient.identifier=[system|][code])
      • SHALL support multipleOr search on status (e.g.status={system|}[code],{system|}[code],...)

      GET [base]/Observation?patient={Type/}[id]&category=vital-signs&status={system|}[code]{,{system|}[code],...}

      Example:

      1. GET [base]/Observation?patient=5678&category=vital-signs&status=final
      2. GET [base]/Observation?patient=5678&category=vital-signs&status=final,preliminary

      Implementation Notes: Fetches a bundle of all Observation resources for the specified patient and category and status (how to search by reference and how to search by token)

    3. SHOULD support searching using the combination of the patient and code and date search parameters:
      • SHOULD support chained searching of patient canonical identifier patient.identifier (e.g. patient.identifier=[system|][code]
      • SHOULD support multipleOr search on code (e.g.code={system|}[code],{system|}[code],...)
      • SHALL support these date comparators: gt,lt,ge,le
      • SHOULD support multipleAnd search on date (e.g.date=[date]&date=[date]]&...), and if multipleAnd is supported, SHALL support the search comparators gt,lt,ge,le

      GET [base]/Observation?patient={Type/}[id]&code={system|}[code]{,{system|}[code],...}&date={gt|lt|ge|le}[date]{&date={gt|lt|ge|le}[date]&...}

      Example:

      1. GET [base]/Observation?patient=5678&code=http://snomed.info/sct|364075005,http://loinc.org|29463-7,http://loinc.org|85354-9&date=ge2020-01-01T00:00:00Z
      2. GET [base]/Observation?patient.identifier=http://example.org/fhir/mrn|12345&code=http://snomed.info/sct|364075005,http://loinc.org|29463-7,http://loinc.org|85354-9&date=ge2020-01-01T00:00:00Z

      Implementation Notes: Fetches a bundle of all Observation resources for the specified patient and date and observation code(s) (how to search by reference and how to search by token and how to search by date)