Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Iteration 11 Holistic Feedback #511

Closed
CDR-API-Stream opened this issue May 12, 2022 · 37 comments
Closed

Iteration 11 Holistic Feedback #511

CDR-API-Stream opened this issue May 12, 2022 · 37 comments

Comments

@CDR-API-Stream
Copy link
Collaborator

Description

This CR has been created to simplify the raising of minor changes, such as text corrections or description clarifications, that are not really material to the standards but do have real impact of readability and clarity.

Please raise any such suggestions that you would like included in Maintenance Iteration 11 and the DSB will review them. If we believe the suggestion are material we will raise a dedicated CR for them.

@perlboy
Copy link

perlboy commented May 12, 2022

First comment, this one looks like it could be rolled in: #461

@perlboy
Copy link

perlboy commented May 14, 2022

Clarification on Get Agreed Payment Schedule sought during implementation calls has indicated that 404 is not a valid response for situations where an account has no specifically agreed payment schedule and that instead when a Consumer "signs up" to a plan they agree to a payment schedule.

This leads to the following clarifications required:

  1. The description seems like it should be altered to "Obtain the agreed payment schedule and details for a specific energy account" as "if any" implies conditionality
  2. What manualPayment and cardDebit responses look like for situations where the consumer has paid in advance (ie. they get a bill but require no payment)
  3. What the Agreed Payment Schedule is for prepaid energy plans (such as Reamped Advance or Powershop Powerpacks)
  4. Energy Billing systems allow for multiple payment schedules while the payment schedules endpoint only allows for a single value. How should a retailer present this?
  5. What the response should look like if it is a PayPal payment schedule?

There is also an MI item #495 for this, happy to move this comment there if it seems more appropriate.

Further update from implementation call for this endpoint:

  • isTokenised says False if absent. If false then bsb and accountNumber should not be expected to be included but bsb/accountNumber says Is required if isTokenised is absent or false which seems to be conflicting
    • (@perlboy note) This one was added when a representative from a Retailer raised it but does seem to be aligned in the sense if isTokenised is true then bsb/accountNumber would not be expected. The wording though seems to be a double negative. Suggest the following:
      1. isTokenised phrase stated as False if absent. If true then bsb and accountNumber must be included
      2. bsb and accountNumber phrase left unchanged or possibly removed entirely leaving isTokenised qualifier as the source of truth

@perlboy
Copy link

perlboy commented May 15, 2022

Merged enum related components

EnergyBillingPaymentTransaction.method refers to card payments as CARD while EnergyPlanContract.paymentOption refers to CREDIT_CARD. Given both are about acquisition method suggest they be aligned to simply CARD.

EnergyServicePointDetail.timeOfDay doesn't seem to include spaces in enums, notably ALLDAY and OFFPEAK. OFFPEAK in particular is notable because there is OFF_PEAK in other payloads too.

EnergyPlanGreenPowerCharges.scheme doesn't seem to include spaces in enums, GREENPOWER should probably be GREEN_POWER

@perlboy
Copy link

perlboy commented May 15, 2022

The following fields are currently specified in the Standards as number but examples are an integer and they appear to actually be integers in source specifications or underlying standard:

  • EnergyDerRecord.availablePhasesCount: Phases are always whole numbers and according to DER Guidelines it is an enumeration ("Pick List") of [1,2,3] so should probably be an enumeration
  • EnergyDerRecord.installedPhasesCount: Phases are always whole numbers and according to DER Guidelines it is an enumeration ("Pick List") of [1,2,3] so should probably be an enumeration
  • EnergyDerRecord.protectionMode.exportLimitkva: This field also appears to be incorrectly camelCased as KVA and kVA are interchangeable and KVA is used elsewhere, would be best to be consistent

The following fields have implied defaults if not specified, may be integers and DER Guidelines state Default values AS4777-2: 2015 section 7.4 which is a paid document so at a minimum having a description that provides them would be useful:

  • EnergyDerRecord.protectionMode.underFrequencyProtection: AS4777-2 default is 47Hz (Aus A/B) or 45Hz (Aus C)
  • EnergyDerRecord.protectionMode.underFrequencyProtectionDelay: AS4777-2 default is 1s (Aus A/B) or 5s (Aus C)
  • EnergyDerRecord.protectionMode.overFrequencyProtection: AS4777-2 default is 52Hz (Aus A/B) or 55Hz (Aus C)
  • EnergyDerRecord.protectionMode.overFrequencyProtectionDelay: AS4777-2 has this marked as - and it is missing in the DER Guidelines but exists in the DER Register Technical specification
  • EnergyDerRecord.protectionMode.underVoltageProtection: AS4777-2 default is 180V
  • EnergyDerRecord.protectionMode.underVoltageProtectionDelay: AS4777-2 default is 10s
  • EnergyDerRecord.protectionMode.overVoltageProtection: AS4777-2 default is 265V
  • EnergyDerRecord.protectionMode.overVoltageProtectionDelay: AS4777-2 default is 1s
  • EnergyDerRecord.protectionMode.sustainedOverVoltage: AS4777-2 default is 275V

The following fields seem either non-existent or incorrectly defined:

  • EnergyDerRecord.protectionMode.sustainedOverVoltageDelay: There is no trip delay specified for V>> in the DER Guidelines and AS4777-2 has these marked as -. The DER Register Technical specification has this field but it is described as "Sustained Over voltage protection delay in volts (V)" which seems quite wrong (it's a time measurement not a voltage). It's unclear if this field even exists?
  • EnergyDerRecord.acConnections[].derDevices[].manufacturer appears to be mandatory and in fact an enumeration ("pick list") in the DER Guidelines with a comment of "Definitions align to the approved modules list.".
  • EnergyDerRecord.acConnections[].derDevices[]. modelNumber appears to be mandatory and in fact an enumeration ("pick list") in the DER Guidelines with a comment of "Definitions align to the approved modules list."

The following fields have descriptions worth that should probably be fixed with proposals in italics:

  • EnergyDerRecord.acConnections[].status: Enumeration used to indicate the status of the Inverter. This will be used to identify if an inverter is ACTIVE or INACTIVE or DECOMMISSIONED
  • EnergyUsageRead.intervalRead.intervalReads: ... specified by readIntervalLength beginning at midnight (AEST) of readStartDate ...

@perlboy
Copy link

perlboy commented May 15, 2022

Clarification is requested for oldest-date and newest-date filters:

  • oldest-date filter specifies the default value is "If absent defaults to newest-date minus 24 months days". Is this a simple 24 months subtraction (ie. "today" is 2022-05-15 so oldest-date would be 2020-05-15) that ignores other conditions (length of months, leap years etc) or something more complex?
  • What timezone are oldest-date and newest-date to be considered at? UTC seems feasible but clarification is important relative to intervalReads (see below)
  • EnergyUsageRead.intervalRead.intervalReads specifies specified by readIntervalLength beginning at midnight of readStartDate. What is "midnight"? I think this is AEST however making it explicit in the description would be helpful to implementers

@nils-work
Copy link
Member

It seems like these two * points may have been intended to be bullet points -
image

@JamesMBligh
Copy link
Contributor

Via CDR Support Portal. The language for some of the common types (e.g. MaskedPANString) use 'should' inconsistently with RFC2119 as their language predates the use of the RFC. The type descriptions should be reviewed to align to the intent (i.e. make each 'should' an explicit SHOULD or MUST).

@nils-work
Copy link
Member

From v1.17.0, I think the anchor link in this section is incorrect, perhaps it should point to -
https://consumerdatastandardsaustralia.github.io/standards/#profile-scope-and-standard-claims

image

@markverstege
Copy link
Member

The following CRs have been included in Maintenance Iteration 11. Each represents a minor documentation fix. They've been cross posted here within the holistic feedback CR for the iteration. Changes will be staged against each within a maintenance/511 branch as individual commits.

The time when the customer last logged in to the Data Recipient Software Product as described in [FAPI-R-Draft]. 
Required for all resource calls (customer present and unattended). Not required for unauthenticated calls.

The following CRs will be closed:

@CDR-API-Stream
Copy link
Collaborator Author

From v1.17.0, I think the anchor link in this section is incorrect, perhaps it should point to - https://consumerdatastandardsaustralia.github.io/standards/#profile-scope-and-standard-claims

image

This issue has been fixed. It is staged for review here: ConsumerDataStandardsAustralia/standards-staging@release/1.18.0...maintenance/511. Commit cb9e55d.

markverstege added a commit to ConsumerDataStandardsAustralia/standards-staging that referenced this issue May 25, 2022
@CDR-API-Stream
Copy link
Collaborator Author

It seems like these two * points may have been intended to be bullet points -
image

This issue has been fixed. It is staged for review here: ConsumerDataStandardsAustralia/standards-staging@release/1.18.0...maintenance/511. Commit 7b05677.

@CDR-API-Stream
Copy link
Collaborator Author

Issue #487 has been staged for review: #487 (comment)

@markverstege
Copy link
Member

To improve consistency, bold all Requirement Level keywords usages (e.g. MUST, SHOULD, ...) throughout the standards.

@CDR-API-Stream
Copy link
Collaborator Author

Issue #494 has been staged for review: #494 (comment)

@CDR-API-Stream
Copy link
Collaborator Author

Description

This CR has been created to simplify the raising of minor changes, such as text corrections or description clarifications, that are not really material to the standards but do have real impact of readability and clarity.

Please raise any such suggestions that you would like included in Maintenance Iteration 11 and the DSB will review them. If we believe the suggestion are material we will raise a dedicated CR for them.

The baseline review branch for these holistic changes has been staged here: https://github.com/ConsumerDataStandardsAustralia/standards-staging/compare/release/1.18.0..maintenance/511. As changes are addressed in the comments above, they will be incorporated into this staging branch for community review.

@CDR-API-Stream
Copy link
Collaborator Author

Issue #489 has been staged for review: #489 (comment)

@HemangCDR
Copy link

Specify that the sort order of usage reads in the energy standards (i.e. in EnergyUsageListResponse) will be by NMI (ascending), read start date (descending)

@CDR-API-Stream
Copy link
Collaborator Author

Issue #497 has been staged for review: #497 (comment)

@perlboy
Copy link

perlboy commented May 26, 2022

Specify that the sort order of usage reads in the energy standards (i.e. in EnergyUsageListResponse) will be by NMI (ascending), read start date (descending)

@HemangCDR, sorry I added this without realising you already had. For what it's worth, the sort order doesn't appear to have a ratified Decision Proposal supporting it.

Original Post:

Sort order of usage data is not specified. In fact the DP for usage data didn't seem to specify it either. It appears to have last been discussed in an abandoned prior decision proposal.

@HemangCDR
Copy link

@perlboy no worries.

DP 195 did have the sort order specified, it was in the "General Notes" section of the proposal as below:

  • "Reads will be sorted by NMI followed by read start date in descending order"

It was missed in the decision document (which is probably why it isn't in the standards). We will ratify it part of MI11.

@perlboy
Copy link

perlboy commented May 26, 2022

@perlboy no worries.
DP 195 did have the sort order specified, it was in the "General Notes" section of the proposal as below:

  • "Reads will be sorted by NMI followed by read start date in descending order"
    It was missed in the decision document (which is probably why it isn't in the standards). We will ratify it part of MI11.

Yes. That was what I was highlighting. The only thing binding is the Standards which are tied to decisions of the Chair and the decision the Chair provided didn't include it. Consequently the sort order isn't actually ratified by the Chair. It should be. 😄

@nilsberge
Copy link

Another minor documentation update similar to above, I think these should also be a list -
image

@OpalRussAEMO
Copy link

OpalRussAEMO commented Jun 2, 2022

Suggested updates to EnergyDerRecord, note some of these overlap with Stuart's suggestions.

  • EnergyDerRecord.availablePhasesCount - should be a positive integer, confirmed values are only 1,2 or 3. Could be enumerated.
  • EnergyDerRecord.installedPhasesCount - should be a positive integer, confirmed values are only 1,2 or 3. Could be enumerated.
  • EnergyDerRecord.acConnections.derDevices.count - should be a positive integer
  • EnergyDerRecord.islandableInstallation - should be a boolean not a string. It is a yes/no question.

In regards to Stuart's comments on the manufacturer and model's potentially being enumerated, these values aren't enumerated in the DER Register so enumeration can't be supported.

@OpalRussAEMO
Copy link

Clarification is requested for oldest-date and newest-date filters:

  • oldest-date filter specifies the default value is "If absent defaults to newest-date minus 24 months days". Is this a simple 24 months subtraction (ie. "today" is 2022-05-15 so oldest-date would be 2020-05-15) that ignores other conditions (length of months, leap years etc) or something more complex?
  • What timezone are oldest-date and newest-date to be considered at? UTC seems feasible but clarification is important relative to intervalReads (see below)
  • EnergyUsageRead.intervalRead.intervalReads specifies specified by readIntervalLength beginning at midnight of readStartDate. What is "midnight"? I think this is AEST however making it explicit in the description would be helpful to implementers
  • We're using a simple subtraction of 24 months unless advised otherwise

  • All dates/times relating to meter data and standing data (service point detail) are recorded in AEST therefore all dates/times for meter data should be interpreted as AEST.

  • EnergyUsageRead.meterID: for consistency, should this be meterId (lowercase d)?

  • EnergyUsageRead.readStartDate: can we add more to the description. e.g. For intervals, this date should be interpreted as of 12:00 am AEST.

  • EnergyUsageRead.readEndDate: can we note that this date will only be provided for basic reads and update the description to remove reference to time? For intervals, the reads represent a single day of intervals captured starting at midnight AEST therefore readEndDate won't be provided.

  • EnergyUsageRead.unitOfMeasure: can we note that values will be provided in uppercase?

@perlboy
Copy link

perlboy commented Jun 2, 2022

  • EnergyDerRecord.availablePhasesCount - should be a positive integer, confirmed values are only 1,2 or 3. Could be enumerated.

Thanks for confirming this Opal. Any reason why this couldn't be an enum instead? It seems more descriptive is all. Also, does the Australian energy market actually have live 2 phase installs? I thought 2 phase was killed off in the early 1900s?

EnergyUsageRead.unitOfMeasure: can we note that values will be provided in uppercase?

This really sounds like an enum. The table from the NEM 12/13 spec in Appendix B (Page 22) was quite helpful and we wondered whether a universal EnergyUnitOfMeasure (or maybe EnergyMeasurementType) would have a lot of usefulness for implementers trying to correlate data between endpoints.

All dates/times relating to meter data and standing data (service point detail) are recorded in AEST therefore all dates/times for meter data should be interpreted as AEST.

The timezone problem looks like one of the more difficult problems to solve in this sector. While I accept that all AEMO data is currently AEST embedding this timezone will generally preclude other potential meter sources (for instance voluntary data holders that don't participate in the NEM) and plan data has this concept of LOCAL which, while I personally think is a bit silly, is the existing source. I wonder whether EnergyUsageRead should instead have some idea of timeZone with a UTC offset that defaults to UTC+10 (ie. AEST unless otherwise noted). Finally on this I think aligning to UTC offsets is probably more worthwhile for potential international transferability.

@CDR-API-Stream
Copy link
Collaborator Author

Another minor documentation update similar to above, I think these should also be a list -
image

This issue has been fixed. It is staged for review here: ConsumerDataStandardsAustralia/standards-staging@release/1.18.0...maintenance/511. Commit 4e285de.

@CDR-API-Stream
Copy link
Collaborator Author

Clarification on Get Agreed Payment Schedule sought during implementation calls has indicated that 404 is not a valid response for situations where an account has no specifically agreed payment schedule and that instead when a Consumer "signs up" to a plan they agree to a payment schedule.

This leads to the following clarifications required:

  1. The description seems like it should be altered to "Obtain the agreed payment schedule and details for a specific energy account" as "if any" implies conditionality
  2. What manualPayment and cardDebit responses look like for situations where the consumer has paid in advance (ie. they get a bill but require no payment)
  3. What the Agreed Payment Schedule is for prepaid energy plans (such as Reamped Advance or Powershop Powerpacks)
  4. Energy Billing systems allow for multiple payment schedules while the payment schedules endpoint only allows for a single value. How should a retailer present this?
  5. What the response should look like if it is a PayPal payment schedule?

There is also an MI item #495 for this, happy to move this comment there if it seems more appropriate.

Further update from implementation call for this endpoint:

  • isTokenised says False if absent. If false then bsb and accountNumber should not be expected to be included but bsb/accountNumber says Is required if isTokenised is absent or false which seems to be conflicting

    • (@perlboy note) This one was added when a representative from a Retailer raised it but does seem to be aligned in the sense if isTokenised is true then bsb/accountNumber would not be expected. The wording though seems to be a double negative. Suggest the following:

      1. isTokenised phrase stated as False if absent. If true then bsb and accountNumber must be included
      2. bsb and accountNumber phrase left unchanged or possibly removed entirely leaving isTokenised qualifier as the source of truth

The above comments have been addressed in CR #495. Please refer to this comment.

@CDR-API-Stream
Copy link
Collaborator Author

In response to @perlboy's comment

The following fields are currently specified in the Standards as number but examples are an integer and they appear to actually be integers in source specifications or underlying standard:

  • EnergyDerRecord.availablePhasesCount: Phases are always whole numbers and according to DER Guidelines it is an enumeration ("Pick List") of [1,2,3] so should probably be an enumeration
  • EnergyDerRecord.installedPhasesCount: Phases are always whole numbers and according to DER Guidelines it is an enumeration ("Pick List") of [1,2,3] so should probably be an enumeration

Based on @OpalRussAEMO's comment, the DSB proposes to make the above attributes PositiveInteger. We can update the description to state the acceptable values are 1, 2 and 3.

  • EnergyDerRecord.protectionMode.exportLimitkva: This field also appears to be incorrectly camelCased as KVA and kVA are interchangeable and KVA is used elsewhere, would be best to be consistent

The above attribute is represented exactly as it is from AEMOs DER specification similar to other attributes.

The following fields have implied defaults if not specified, may be integers and DER Guidelines state Default values AS4777-2: 2015 section 7.4 which is a paid document so at a minimum having a description that provides them would be useful:

  • EnergyDerRecord.protectionMode.underFrequencyProtection: AS4777-2 default is 47Hz (Aus A/B) or 45Hz (Aus C)
  • EnergyDerRecord.protectionMode.underFrequencyProtectionDelay: AS4777-2 default is 1s (Aus A/B) or 5s (Aus C)
  • EnergyDerRecord.protectionMode.overFrequencyProtection: AS4777-2 default is 52Hz (Aus A/B) or 55Hz (Aus C)
  • EnergyDerRecord.protectionMode.overFrequencyProtectionDelay: AS4777-2 has this marked as - and it is missing in the DER Guidelines but exists in the DER Register Technical specification
  • EnergyDerRecord.protectionMode.underVoltageProtection: AS4777-2 default is 180V
  • EnergyDerRecord.protectionMode.underVoltageProtectionDelay: AS4777-2 default is 10s
  • EnergyDerRecord.protectionMode.overVoltageProtection: AS4777-2 default is 265V
  • EnergyDerRecord.protectionMode.overVoltageProtectionDelay: AS4777-2 default is 1s
  • EnergyDerRecord.protectionMode.sustainedOverVoltage: AS4777-2 default is 275V

The default values have been left out in the CDS on purpose after consultations with AEMO. This is mainly because the default values cannot be assumed as there are scenarios where the distributor/installer may not supply the value to AEMO and it is unknown. The underlying specs may also change the default values in the future.

The following fields seem either non-existent or incorrectly defined:

  • EnergyDerRecord.protectionMode.sustainedOverVoltageDelay: There is no trip delay specified for V>> in the DER Guidelines and AS4777-2 has these marked as -. The DER Register Technical specification has this field but it is described as "Sustained Over voltage protection delay in volts (V)" which seems quite wrong (it's a time measurement not a voltage). It's unclear if this field even exists?

The description of the above field in DER spec, is defined as - "Sustained Over voltage protection delay in volts (V)".
However, in Guide to DER APIs document it is described as - "Sustained Over voltage protection delay in seconds."

The DSB can update the description of the field based on AEMO's feedback.

  • EnergyDerRecord.acConnections[].derDevices[].manufacturer appears to be mandatory and in fact an enumeration ("pick list") in the DER Guidelines with a comment of "Definitions align to the approved modules list.".
  • EnergyDerRecord.acConnections[].derDevices[]. modelNumber appears to be mandatory and in fact an enumeration ("pick list") in the DER Guidelines with a comment of "Definitions align to the approved modules list."

The fields were not made ENUM based on consultation with AEMO as the values change frequently (more devices models added) and the data provided by the installer may not be consistent.

Clarification is requested for oldest-date and newest-date filters:

  • oldest-date filter specifies the default value is "If absent defaults to newest-date minus 24 months days". Is this a simple 24 months subtraction (ie. "today" is 2022-05-15 so oldest-date would be 2020-05-15) that ignores other conditions (length of months, leap years etc) or something more complex?

The above understanding is correct, it is a simple 24 months subtraction.

  • What timezone are oldest-date and newest-date to be considered at? UTC seems feasible but clarification is important relative to intervalReads (see below)
  • EnergyUsageRead.intervalRead.intervalReads specifies specified by readIntervalLength beginning at midnight of readStartDate. What is "midnight"? I think this is AEST however making it explicit in the description would be helpful to implementers

The oldest-date and newest-date are filters on a fields in a given payload and align to the fields in that payload. For reads, it should be AEST. The description of readStartDate and readEndDate can be updated to specify they are in AEST.

@perlboy
Copy link

perlboy commented Jun 12, 2022

Based on @OpalRussAEMO's comment, the DSB proposes to make the above attributes PositiveInteger. We can update the description to state the acceptable values are 1, 2 and 3.

👍

  • EnergyDerRecord.protectionMode.exportLimitkva: This field also appears to be incorrectly camelCased as KVA and kVA are interchangeable and KVA is used elsewhere, would be best to be consistent
    The above attribute is represented exactly as it is from AEMOs DER specification similar to other attributes.

This may be the case but the Standards state:

Field names MUST be defined using camel case with the following clarifications

The justification of aligning to a source document is neither a Standard, a camel case clarification nor makes much sense since the DER specification also includes the following statement:

Any data submitted by the NSPs that is related to the CEC is accepted to be non case sensitive.

By the above interpretation the attribute name for BankingTransactionDetail.x2p101Payload.endToEndId should actually be BankingTransactionDetail.x2p101Payload.EndToEndId because that's what it is in the source documents that define an XML Standard.

Suggest the DSB follow its own Standard regardless of source document or there won't actually be a Standard when you get to Telco.

The following fields have implied defaults if not specified, may be integers and DER Guidelines state Default values AS4777-2: 2015 section 7.4 which is a paid document so at a minimum having a description that provides them would be useful:

  • EnergyDerRecord.protectionMode.underFrequencyProtection: AS4777-2 default is 47Hz (Aus A/B) or 45Hz (Aus C)
The default values have been left out in the CDS on purpose after consultations with AEMO. This is mainly because the default values cannot be assumed as there are scenarios where the distributor/installer may not supply the value to AEMO and it is unknown. The underlying specs may also change the default values in the future.

This makes it even more important to treat values AEMO does not know as something other than null because AS4777-2 specifies defaults and now the community is going to be split between who paid for the AS and who only read the Standards.

Suggest instead of a null or missing AEMO provides a -1 or 0 value (which isn't valid for any of the number fields so will not conflict) and it is designated as "Unknown" or similar.

The description of the above field in DER spec, is defined as - "Sustained Over voltage protection delay in volts (V)". However, in Guide to DER APIs document it is described as - "Sustained Over voltage protection delay in seconds."
The DSB can update the description of the field based on AEMO's feedback.

👍

The oldest-date and newest-date are filters on a fields in a given payload and align to the fields in that payload. For reads, it should be AEST. The description of readStartDate and readEndDate can be updated to specify they are in AEST.

That would be preferred because it is impossible to state that all interval reads will always be in AEST because payloads may not always be served by AEMO (eg. other non-included states may be different or voluntary data holders providing metering data from consumer solar installations).

Also, can I refloat the question around making unitOfMeasure an enumeration? There would be a lot of benefit to having this and @OpalRussAEMO already indicated the intent would be to uppercase these values anyway.

@CDR-API-Stream
Copy link
Collaborator Author

To improve consistency, bold all Requirement Level keywords usages (e.g. MUST, SHOULD, ...) throughout the standards.

These changes have been staged for review here: ConsumerDataStandardsAustralia/standards-staging@maintenance/511...maintenance/511-requirement-levels.

Given the large number of changes they have been staged under a separate feature branch off maintenance/511.

@perlboy
Copy link

perlboy commented Jun 13, 2022

These changes have been staged for review here: ConsumerDataStandardsAustralia/standards-staging@maintenance/511...maintenance/511-requirement-levels.
Given the large number of changes they have been staged under a separate feature branch off maintenance/511.

Can you click the Create PR Request button please so that an inline review can happen. Otherwise this thread is going to get crazy long.

Edit: I actually question whether doing this change in a feedback thread is appropriate. Converting to binding 2119 should be treated as a task in itself. Prior "clarification" changes the DSB have made have blown up in implementers faces, it would be advisable for the DSB to learn from this mistake.

@CDR-API-Stream
Copy link
Collaborator Author

Hi @perlboy, done: ConsumerDataStandardsAustralia/standards-staging#195

Given the changes are staged in a separate branch we can discuss the treatment of them in the next Maintenance Iteration call. This review was conducted under the normative standards review and could be considered under that work: https://github.com/ConsumerDataStandardsAustralia/standards-maintenance/blob/master/reviews/2021-05/analysis/analysis-rfc2119-rfc8174-20210519.md

@perlboy
Copy link

perlboy commented Jun 13, 2022

ConsumerDataStandardsAustralia/standards-staging#195 (review)

Repasting what I wrote as a comment in the PR Review:

There seems to be non 2119 terms used which is not appropriate. Additionally there seems to be excessive 2119 language in use. While this may be a first draft what is proposed makes significant changes to the underlying Standards as they are understood at present. I've walked through as much as I can to provide assistance but this needs a lot more work.

I think it's appropriate to quote 2119 here as the approach taken by the DSB seems to be one of mass search and replace:

Imperatives of the type defined in this memo must be used with care and sparingly. In particular, they MUST only be used where it is actually required for interoperation or to limit behavior which has potential for causing harm (e.g., limiting retransmisssions) For example, they must not be used to try to impose a particular method on implementors where the method is not required for interoperability.

It's a pretty big line ball as to whether many of the 2119 statements proposed actually meet this requirement or are simply commentary dressed up as Standards.

@CDR-API-Stream
Copy link
Collaborator Author

Below is a list of all the changes the DSB will recommend be made to the DER structure discussed within this CR:

  • EnergyDerRecord.availablePhasesCount - Make the attributes PositiveInteger and update the description to state the acceptable values are 1, 2 and 3.
  • EnergyDerRecord.installedPhasesCount - Make the attributes PositiveInteger and update the description to state the acceptable values are 1, 2 and 3.
  • EnergyDerRecord.acConnections.derDevices.count - Make the attribute PositiveInteger
  • EnergyDerRecord.islandableInstallation - Make the attribute Boolean
  • EnergyDerRecord.protectionMode.exportLimitkva - Change it to camelCase - exportLimitKva
  • EnergyDerRecord.protectionMode.sustainedOverVoltageDelay - Based on feedback from AEMO, update description to "Sustained Over voltage protection delay in seconds."
  • EnergyUsageRead.readStartDate - Update description to specify it is AEST and assumed to start from 12:00 am. Remove remove reference to time from description
  • EnergyUsageRead.readEndDate - Update description to specify it is in AEST and remove reference to time
  • EnergyUsageRead.meterID - Change to meterId (lowercase d)
  • EnergyUsageRead.unitOfMeasure - With regards to the request to making this an ENUM and updating description to specify values will be in uppercase, the DSB proposes no change as the DSB is not accountable for the taxonomy and will defer to AEMO specifications. The DSB will correct the type to ExternalRef.

markverstege added a commit to ConsumerDataStandardsAustralia/standards-staging that referenced this issue Jul 12, 2022
@CDR-API-Stream
Copy link
Collaborator Author

Below is a list of all the changes the DSB will recommend be made to the DER structure discussed within this CR:

  • EnergyDerRecord.availablePhasesCount - Make the attributes PositiveInteger and update the description to state the acceptable values are 1, 2 and 3.
  • EnergyDerRecord.installedPhasesCount - Make the attributes PositiveInteger and update the description to state the acceptable values are 1, 2 and 3.
  • EnergyDerRecord.acConnections.derDevices.count - Make the attribute PositiveInteger
  • EnergyDerRecord.islandableInstallation - Make the attribute Boolean
  • EnergyDerRecord.protectionMode.exportLimitkva - Change it to camelCase - exportLimitKva
  • EnergyDerRecord.protectionMode.sustainedOverVoltageDelay - Based on feedback from AEMO, update description to "Sustained Over voltage protection delay in seconds."
  • EnergyUsageRead.readStartDate - Update description to specify it is AEST and assumed to start from 12:00 am. Remove remove reference to time from description
  • EnergyUsageRead.readEndDate - Update description to specify it is in AEST and remove reference to time
  • EnergyUsageRead.meterID - Change to meterId (lowercase d)
  • EnergyUsageRead.unitOfMeasure - With regards to the request to making this an ENUM and updating description to specify values will be in uppercase, the DSB proposes no change as the DSB is not accountable for the taxonomy and will defer to AEMO specifications. The DSB will correct the type to ExternalRef.

These changes have been staged for review: ConsumerDataStandardsAustralia/standards-staging@0cba7f7

@CDR-API-Stream
Copy link
Collaborator Author

Issue #493 has been staged for review: #493 (comment)

@CDR-API-Stream
Copy link
Collaborator Author

To improve consistency, bold all Requirement Level keywords usages (e.g. MUST, SHOULD, ...) throughout the standards.

These changes have been staged for review here: ConsumerDataStandardsAustralia/standards-staging@maintenance/511...maintenance/511-requirement-levels.

Given the large number of changes they have been staged under a separate feature branch off maintenance/511.

Based on feedback, this change won't be included in release 1.18.0. The feedback has been helpful and further changes to deal with consistency for requirement levels will be progressed in Maintenance Iteration 12.

CDR-API-Stream added a commit to ConsumerDataStandardsAustralia/standards that referenced this issue Aug 11, 2022
* Remove known issues that are resolved
Full rebuild

* Version bumps to address GitHub security notices

* Updated additional informative references to include tooltips

* Fix SDH security

* Fix for controlledLoad flag in energy
Rebuild

* Minor release notes and diff fixes

* Standards Release 1.17.0: Added release notes file

* Standards Maintenance Issue #448: Changed percentOfBill, percentOfUse, fixedAmount and percentOverThreshold attributes from optional to conditional within EnergyPlanDiscounts schema

* Standards Release 1.17.0: Removed version deltas, incremented version numbers in swagger files, added archieve entry for 1.16.1

* Updates to baseline 1.17.0 to remove legacy diffs and include a link to the release notes

* Standards Maintenance Issue 503: Fixed documentation for CDR Arrangement Form Parameter and JWT method requirements

* Added scrollabe diffs and examples to support previous and next scrolling

* Added release notes

* Updated prev/next button titles

* Minor refactoring to remove unused vars

* Standards Maintenance Issue 504: Corrected the profile scope data language to clarify request of individual claims

* Added diff

* Standards Maintenance Issue #449: Made EnergyPlanSolarFeedInTariff.timeVaryingTariffs.timeVariations.days field mandatory

* Added proof of concept to highlight obligations in the endpoint versioning schedule based on a selected mileston date

* Added release notes

* Removed diff comments

* Fix for padding of last input field in datepicker

* Added collapsible obligations that hide any future, retired, and inactive obligations

* Tweaks to collapsed highlighting

* Updated release notes to include standards maintenance issue number

* Corrected release description

* Updated CDR Arrangement Recovation JWT documentation to articulate requirements in accordance to self signed JWTs

* Added a new section to summarise all change requests in the release notes

* Added headings

* Added obligation milestones

* Improvement to wording of profile scope data language based on commmunity feedback

* Updated diff

* corrected non-normative examples using the unsupported HS256 alg. Changed examples to PS256 to align with FAPI requirements

* Added 482 descriptions to the release notes

* Updated release notes

* Update dcr OAS so it compiles

* Standards Maintenance Issue #457: Made EnergyServicePointDetail.meters.registers.registerSuffix field optional

* Updated release notes to contain links to the associated change request

* Updated Register swagger to addres empty content fields causing compilation issues

* header requirements for versioned Register APIs moved from mandatory to optional

* Standards Maintenance Issue #438: Added calculationFactors and adjustments objects to EnergyBillingOtherTransaction model

* Added version delta comments

* Rebuild
Fix minor typos in diffs

* Removed debugging output for date picker

* Standards Maintenance Issue #439: Added timezone field to EnergyPlanTariffPeriod

* Fixed compile issues for date picker scripts

* Added Register dependency schedule table to differentiate Register delivery from Participant future dated obligations

* Added requirement for data holders to ignore unsupported authorisation scopes

* Updated endpoint version schedule to 2022-11-15 for register API versions where binding date was subject to ACCC review

* Standards Maintenance Issue #476: Updated EnergyConcession model to cater for variable concessions. Changed RateString to represent generic percentages.

* Standards Maintenance Issue #476: Moved RateString change description to High Level Standards in Release Notes. Move RateString diff in High Level Standards

* Moved change description to API Endpoints sections in Release Notes

* Set retirement dates for outstanding deprecated Register APIs

* Added standards maintenance issue reference to release notes

* Added standards maintenance issue reference to release notes

* New authenticated endpoints only require cdr-register:read as the authorisation scope

* Added clarification that when statuses are not received or recognised from the CDR Register, the ACCC can inform Data Holders of statuses to trust using an alternative mechanism

* Added GetDataHolderBrandsSummary API to expose public details of Data Holder Brands from the CDR Register to public clients

* Standards Maintenance Issue #478: Made EnergyServicePointDetail.meters and EnergyServicePointDetail.meters.registers fields optional and updated their descriptions

* Documented scopes usage for the authenticated Register endpoint versions

* Changed formatting of dependency dates to remove leading zero

* XV header is a required field

* Made SHOULD requirement bold

* Added version-deltas for register scope usage

* Standards Staging Issue #133: Corrected description of 'oldest-date' by removing the word 'days'

* Standards Staging Issue #170: Documentation fix - EnergyServicePointDetail.meters and EnergyServicePointDetail.meters.registers have been converted into arrays

* Standards Maintenance Issue #439: Updated description of EnergyPlanContract.timezone and EnergyPlanTariffPeriod.timezone to specify default values

* Standards Staging Issue #131: Minor edit- clarification added that ServicePointId to be replaced with NMI in path param as well

* Corrected version delta presentation

* Added Get Data Holder Brands Summary to the endpoints table

* Corrected whitespacing in version deltas

* Standards Staging Issue #153: Modified Energy location to be a CommonPhysicalAddress model

* Added support for 404 response code

* Full rebuild

* Add release date
Reorder release notes

* Standards Staging Issue #167: Corrected x-fapi-interaction-id header to be mandatory for Energy SDH APIs

* Fix to force version delta code blocks to break at word boundaries not at overflow

* 404 now only applies when industry is not found

* Cosmetic improvements in the release notes

* Cleaned up version deltas to follow conventions

* Removed reference to the ACCC delivery schedule

* Full rebuild

* Correct change for staging issue 170

* Created baseline release 1.18.0

* Updated change log

* Fixes link to profile scope data language. Addresses ConsumerDataStandardsAustralia/standards-maintenance#511 (comment)

* Fixes formatting of bullet point list in Authorisation Code Flow section. Addresses ConsumerDataStandardsAustralia/standards-maintenance#511 (comment)

* Standards Maintenance Issue 487: Fix URLs for DCR API non-normative examples. Addresses ConsumerDataStandardsAustralia/standards-maintenance#487

* Standards Maintenance Issue 494: Fixed documentation in Response Payload Structure. Addresses ConsumerDataStandardsAustralia/standards-maintenance#494

* Added link to the issue # in the changelog

* Updated changelog and added diff records

* Standards Maintenance Issue 489: Corrected references to x-fapi-auth-date in resource APIs. Addresses ConsumerDataStandardsAustralia/standards-maintenance#489

* Standards Maintenance Issue 497: Corrected references to addr-spec. Addresses ConsumerDataStandardsAustralia/standards-maintenance#497

* Standards Maintenance Issue 511: Corrected bullet point list formatting for Mandatory Fields in the Payload Conventions

* Standards Maintenance Issue 511: Updates for the Energy schema types, description and formatting. Addresses comment ConsumerDataStandardsAustralia/standards-maintenance#511 (comment)

* Updated release notes for issue 511

* Removed constraint that data holder brands could only map to a single industry

* Standards Maintenance Issue 521: Updated transition arrangements for implementation of the CDR Arrangement JWT method for the Data Recipience Arrangement Revocation endpoint

* Standards Maintenance Issue 493: Fixed error code documentation for the Banking Get Transaction Detail API

* Added clarification on algorithm coverage required for data holders and data recipients

* Added diffs and change log entries

* Added clarifying statement for Data Recipient validation

* Registration validation future obligation date changed from 15th November 2022 to 31st August 2022

* Added future improvement Register API error codes need to be aligned with the CDS standardised error codes

* Get Software Statement Assertion API v1 & v2 has the scope claim explicitly defined and added version schedule for obsolete v1 of the GetSSA API

* Corrected presentation of schema elements in the navigation bar for GetSSA V2

* Added obligation date to data holder requirements regarding unsupported authorisation scopes

* Added default x-v version as 1 for all APIs where x-v is optional

* Added changes to introduction documentation to correct CDR agency hyperlinks and informative references

* Moved normative and informative reference Markdown into the 'introduction' section

* Standards Maintenance Issue #472: Made EnergyPlanControlledLoad into an array and updated structure to allow representation of time of use based rates

* Standards Maintenance Issue #150: Made changes to EnergyUsageRead structure of both primary and secondary data holder to optimise sharing of large volume of interval read data. The change also includes adding a new interval-reads query parameter to usage APIs.

* Standards Maintenance Issue 499: Corrected incorrect reference of  object as a required component of a sibling object in the energy specification

* Standards Maintenance Issue 461: Corrected the conditional statement for the EnergyPlanContract.variation parameter

* Fixed HTML rendering for the bullet point list within the Array Conventions section

* Standards Maintenance Issue #495: Added notes to clarify intent of Get Agreed Payment Schedule API. Made EnergyPaymentScheduleResponse into an array. Added digitalWallet structure to EnergyPaymentSchedule. Updated description of isTokenised by removing conditional statements for bsb and accountNumber fields

* Standards Maintenance Issue #502: Converted EnergyPlanSolarFeedInTariff.timeVaryingTariffs.timeVariations.days and EnergyPlanTariffPeriod.demandCharges.days into ENUM. Updated ENUM values for EnergyPlanTariffPeriod.timeOfUseRates.timeOfUse.days

* Standards Maintenance Issue #505: Converted timeOfUseRates.timeOfUse.startTime, timeOfUseRates.timeOfUse.endTime, demandCharges.startTime and demandCharges.endTime to TimeString type

* Standards Maintenance Issue #511: Updated description of EnergyUsageListResponse in Energy Data Holder and Secondary Data Holders endpoints with sort order

* Standards Staging Issue #192: Corrected property value name in EnergyServicePointListResponse

* Standards Staging Issue #200: Update the description of EnergyInvoice in EnergyInvoiceListResponse to clarify the sorting is done by issueDate

* Standards Maintenance Issue #485: Customer data language moved from sector specific to common area. Title of profile scope language amended

* Rebuild

* CR 515
Update change log entry got 1.18.0
Fix release notes formatting

* Rebuild

* Update for should vs must language arising from CR 511

* Standards Maintenance Issue #512: Added distributors string array to EnergyPlan.geography object

* Add test documentation link to the TOC
Rebuild

* Bump libraries

* Update swagger versions
Create archive
Rebuild

* Rebuild

* Standards Release 1.18.0# Applied DER changes identified in CR511 to secondary data holder APIs

* Rebuild

* Rebuild

Co-authored-by: James Bligh <[email protected]>
Co-authored-by: Mark Verstege <[email protected]>
Co-authored-by: James Bligh <[email protected]>
Co-authored-by: Hemang Rathod <[email protected]>
Co-authored-by: Ivan Hosgood <[email protected]>
Co-authored-by: Ivan Hosgood <[email protected]>
CDR-API-Stream added a commit to ConsumerDataStandardsAustralia/standards that referenced this issue Sep 12, 2022
* Tweaks to collapsed highlighting

* Updated release notes to include standards maintenance issue number

* Corrected release description

* Updated CDR Arrangement Recovation JWT documentation to articulate requirements in accordance to self signed JWTs

* Added a new section to summarise all change requests in the release notes

* Added headings

* Added obligation milestones

* Improvement to wording of profile scope data language based on commmunity feedback

* Updated diff

* corrected non-normative examples using the unsupported HS256 alg. Changed examples to PS256 to align with FAPI requirements

* Added 482 descriptions to the release notes

* Updated release notes

* Update dcr OAS so it compiles

* Standards Maintenance Issue #457: Made EnergyServicePointDetail.meters.registers.registerSuffix field optional

* Updated release notes to contain links to the associated change request

* Updated Register swagger to addres empty content fields causing compilation issues

* header requirements for versioned Register APIs moved from mandatory to optional

* Standards Maintenance Issue #438: Added calculationFactors and adjustments objects to EnergyBillingOtherTransaction model

* Added version delta comments

* Rebuild
Fix minor typos in diffs

* Removed debugging output for date picker

* Standards Maintenance Issue #439: Added timezone field to EnergyPlanTariffPeriod

* Fixed compile issues for date picker scripts

* Added Register dependency schedule table to differentiate Register delivery from Participant future dated obligations

* Added requirement for data holders to ignore unsupported authorisation scopes

* Updated endpoint version schedule to 2022-11-15 for register API versions where binding date was subject to ACCC review

* Standards Maintenance Issue #476: Updated EnergyConcession model to cater for variable concessions. Changed RateString to represent generic percentages.

* Standards Maintenance Issue #476: Moved RateString change description to High Level Standards in Release Notes. Move RateString diff in High Level Standards

* Moved change description to API Endpoints sections in Release Notes

* Set retirement dates for outstanding deprecated Register APIs

* Added standards maintenance issue reference to release notes

* Added standards maintenance issue reference to release notes

* New authenticated endpoints only require cdr-register:read as the authorisation scope

* Added clarification that when statuses are not received or recognised from the CDR Register, the ACCC can inform Data Holders of statuses to trust using an alternative mechanism

* Added GetDataHolderBrandsSummary API to expose public details of Data Holder Brands from the CDR Register to public clients

* Standards Maintenance Issue #478: Made EnergyServicePointDetail.meters and EnergyServicePointDetail.meters.registers fields optional and updated their descriptions

* Documented scopes usage for the authenticated Register endpoint versions

* Changed formatting of dependency dates to remove leading zero

* XV header is a required field

* Made SHOULD requirement bold

* Added version-deltas for register scope usage

* Standards Staging Issue #133: Corrected description of 'oldest-date' by removing the word 'days'

* Standards Staging Issue #170: Documentation fix - EnergyServicePointDetail.meters and EnergyServicePointDetail.meters.registers have been converted into arrays

* Standards Maintenance Issue #439: Updated description of EnergyPlanContract.timezone and EnergyPlanTariffPeriod.timezone to specify default values

* Standards Staging Issue #131: Minor edit- clarification added that ServicePointId to be replaced with NMI in path param as well

* Corrected version delta presentation

* Added Get Data Holder Brands Summary to the endpoints table

* Corrected whitespacing in version deltas

* Standards Staging Issue #153: Modified Energy location to be a CommonPhysicalAddress model

* Added support for 404 response code

* Full rebuild

* Add release date
Reorder release notes

* Standards Staging Issue #167: Corrected x-fapi-interaction-id header to be mandatory for Energy SDH APIs

* Fix to force version delta code blocks to break at word boundaries not at overflow

* 404 now only applies when industry is not found

* Cosmetic improvements in the release notes

* Cleaned up version deltas to follow conventions

* Removed reference to the ACCC delivery schedule

* Full rebuild

* Correct change for staging issue 170

* Created baseline release 1.18.0

* Updated change log

* Fixes link to profile scope data language. Addresses ConsumerDataStandardsAustralia/standards-maintenance#511 (comment)

* Fixes formatting of bullet point list in Authorisation Code Flow section. Addresses ConsumerDataStandardsAustralia/standards-maintenance#511 (comment)

* Standards Maintenance Issue 487: Fix URLs for DCR API non-normative examples. Addresses ConsumerDataStandardsAustralia/standards-maintenance#487

* Standards Maintenance Issue 494: Fixed documentation in Response Payload Structure. Addresses ConsumerDataStandardsAustralia/standards-maintenance#494

* Added link to the issue # in the changelog

* Updated changelog and added diff records

* Standards Maintenance Issue 489: Corrected references to x-fapi-auth-date in resource APIs. Addresses ConsumerDataStandardsAustralia/standards-maintenance#489

* Standards Maintenance Issue 497: Corrected references to addr-spec. Addresses ConsumerDataStandardsAustralia/standards-maintenance#497

* Standards Maintenance Issue 511: Corrected bullet point list formatting for Mandatory Fields in the Payload Conventions

* Standards Maintenance Issue 511: Updates for the Energy schema types, description and formatting. Addresses comment ConsumerDataStandardsAustralia/standards-maintenance#511 (comment)

* Updated release notes for issue 511

* Removed constraint that data holder brands could only map to a single industry

* Standards Maintenance Issue 521: Updated transition arrangements for implementation of the CDR Arrangement JWT method for the Data Recipience Arrangement Revocation endpoint

* Standards Maintenance Issue 493: Fixed error code documentation for the Banking Get Transaction Detail API

* Added clarification on algorithm coverage required for data holders and data recipients

* Added diffs and change log entries

* Added clarifying statement for Data Recipient validation

* Registration validation future obligation date changed from 15th November 2022 to 31st August 2022

* Added future improvement Register API error codes need to be aligned with the CDS standardised error codes

* Get Software Statement Assertion API v1 & v2 has the scope claim explicitly defined and added version schedule for obsolete v1 of the GetSSA API

* Corrected presentation of schema elements in the navigation bar for GetSSA V2

* Added obligation date to data holder requirements regarding unsupported authorisation scopes

* Added default x-v version as 1 for all APIs where x-v is optional

* Added changes to introduction documentation to correct CDR agency hyperlinks and informative references

* Moved normative and informative reference Markdown into the 'introduction' section

* Standards Maintenance Issue #472: Made EnergyPlanControlledLoad into an array and updated structure to allow representation of time of use based rates

* Standards Maintenance Issue #150: Made changes to EnergyUsageRead structure of both primary and secondary data holder to optimise sharing of large volume of interval read data. The change also includes adding a new interval-reads query parameter to usage APIs.

* Standards Maintenance Issue 499: Corrected incorrect reference of  object as a required component of a sibling object in the energy specification

* Standards Maintenance Issue 461: Corrected the conditional statement for the EnergyPlanContract.variation parameter

* Fixed HTML rendering for the bullet point list within the Array Conventions section

* Standards Maintenance Issue #495: Added notes to clarify intent of Get Agreed Payment Schedule API. Made EnergyPaymentScheduleResponse into an array. Added digitalWallet structure to EnergyPaymentSchedule. Updated description of isTokenised by removing conditional statements for bsb and accountNumber fields

* Standards Maintenance Issue #502: Converted EnergyPlanSolarFeedInTariff.timeVaryingTariffs.timeVariations.days and EnergyPlanTariffPeriod.demandCharges.days into ENUM. Updated ENUM values for EnergyPlanTariffPeriod.timeOfUseRates.timeOfUse.days

* Standards Maintenance Issue #505: Converted timeOfUseRates.timeOfUse.startTime, timeOfUseRates.timeOfUse.endTime, demandCharges.startTime and demandCharges.endTime to TimeString type

* Standards Maintenance Issue #511: Updated description of EnergyUsageListResponse in Energy Data Holder and Secondary Data Holders endpoints with sort order

* Standards Staging Issue #192: Corrected property value name in EnergyServicePointListResponse

* Standards Staging Issue #200: Update the description of EnergyInvoice in EnergyInvoiceListResponse to clarify the sorting is done by issueDate

* Standards Maintenance Issue #485: Customer data language moved from sector specific to common area. Title of profile scope language amended

* Rebuild

* CR 515
Update change log entry got 1.18.0
Fix release notes formatting

* Rebuild

* Update for should vs must language arising from CR 511

* Standards Maintenance Issue #512: Added distributors string array to EnergyPlan.geography object

* Add test documentation link to the TOC
Rebuild

* Bump libraries

* Update swagger versions
Create archive
Rebuild

* Rebuild

* Standards Release 1.18.0# Applied DER changes identified in CR511 to secondary data holder APIs

* Rebuild

* Rebuild

* Baseline for v1.19.0

* Removed legacy v1.18.0 diff notes

* Standards Maintenance Issue 429: Updated Energy data language standards

* Updated the version number in the release notes heading

* Simplified delta comments and corrected the referenced change request in the release notes

* Removed FDO because it is the commencement of Energy go-live

* Decision Proposal 260: Updated get energy accounts and get energy account details with changes from DP260

* Added obsolete v1 versions for Get Energy Accounts and Get Energy Account Detail. Updated Energy OAS object versions accordingly

* Decision Proposal #260: Updated changelog, releasenotes, fdo, energy api version schedule. Renamed get-energy-account-v1.html.md to get-energy-accounts-v1.html.md

* Added release notes for OAIC link fix

* Added archive for v1.18.0

* fixed typos in changelog and get energy account v1

* Moved the diff statements closer to the changes within the energy data language standards

* Updated release notes

* Rebuild

* Update publish dates
Minor changes to release notes

* Update swagger version numbers

Co-authored-by: Mark Verstege <[email protected]>
Co-authored-by: Ivan Hosgood <[email protected]>
Co-authored-by: James Bligh <[email protected]>
Co-authored-by: Hemang Rathod <[email protected]>
Co-authored-by: James Bligh <[email protected]>
Co-authored-by: Ivan Hosgood <[email protected]>
CDR-API-Stream added a commit to ConsumerDataStandardsAustralia/standards that referenced this issue Sep 13, 2022
* Updated CDR Arrangement Recovation JWT documentation to articulate requirements in accordance to self signed JWTs

* Added a new section to summarise all change requests in the release notes

* Added headings

* Added obligation milestones

* Improvement to wording of profile scope data language based on commmunity feedback

* Updated diff

* corrected non-normative examples using the unsupported HS256 alg. Changed examples to PS256 to align with FAPI requirements

* Added 482 descriptions to the release notes

* Updated release notes

* Update dcr OAS so it compiles

* Standards Maintenance Issue #457: Made EnergyServicePointDetail.meters.registers.registerSuffix field optional

* Updated release notes to contain links to the associated change request

* Updated Register swagger to addres empty content fields causing compilation issues

* header requirements for versioned Register APIs moved from mandatory to optional

* Standards Maintenance Issue #438: Added calculationFactors and adjustments objects to EnergyBillingOtherTransaction model

* Added version delta comments

* Rebuild
Fix minor typos in diffs

* Removed debugging output for date picker

* Standards Maintenance Issue #439: Added timezone field to EnergyPlanTariffPeriod

* Fixed compile issues for date picker scripts

* Added Register dependency schedule table to differentiate Register delivery from Participant future dated obligations

* Added requirement for data holders to ignore unsupported authorisation scopes

* Updated endpoint version schedule to 2022-11-15 for register API versions where binding date was subject to ACCC review

* Standards Maintenance Issue #476: Updated EnergyConcession model to cater for variable concessions. Changed RateString to represent generic percentages.

* Standards Maintenance Issue #476: Moved RateString change description to High Level Standards in Release Notes. Move RateString diff in High Level Standards

* Moved change description to API Endpoints sections in Release Notes

* Set retirement dates for outstanding deprecated Register APIs

* Added standards maintenance issue reference to release notes

* Added standards maintenance issue reference to release notes

* New authenticated endpoints only require cdr-register:read as the authorisation scope

* Added clarification that when statuses are not received or recognised from the CDR Register, the ACCC can inform Data Holders of statuses to trust using an alternative mechanism

* Added GetDataHolderBrandsSummary API to expose public details of Data Holder Brands from the CDR Register to public clients

* Standards Maintenance Issue #478: Made EnergyServicePointDetail.meters and EnergyServicePointDetail.meters.registers fields optional and updated their descriptions

* Documented scopes usage for the authenticated Register endpoint versions

* Changed formatting of dependency dates to remove leading zero

* XV header is a required field

* Made SHOULD requirement bold

* Added version-deltas for register scope usage

* Standards Staging Issue #133: Corrected description of 'oldest-date' by removing the word 'days'

* Standards Staging Issue #170: Documentation fix - EnergyServicePointDetail.meters and EnergyServicePointDetail.meters.registers have been converted into arrays

* Standards Maintenance Issue #439: Updated description of EnergyPlanContract.timezone and EnergyPlanTariffPeriod.timezone to specify default values

* Standards Staging Issue #131: Minor edit- clarification added that ServicePointId to be replaced with NMI in path param as well

* Corrected version delta presentation

* Added Get Data Holder Brands Summary to the endpoints table

* Corrected whitespacing in version deltas

* Standards Staging Issue #153: Modified Energy location to be a CommonPhysicalAddress model

* Added support for 404 response code

* Full rebuild

* Add release date
Reorder release notes

* Standards Staging Issue #167: Corrected x-fapi-interaction-id header to be mandatory for Energy SDH APIs

* Fix to force version delta code blocks to break at word boundaries not at overflow

* 404 now only applies when industry is not found

* Cosmetic improvements in the release notes

* Cleaned up version deltas to follow conventions

* Removed reference to the ACCC delivery schedule

* Full rebuild

* Correct change for staging issue 170

* Created baseline release 1.18.0

* Updated change log

* Fixes link to profile scope data language. Addresses ConsumerDataStandardsAustralia/standards-maintenance#511 (comment)

* Fixes formatting of bullet point list in Authorisation Code Flow section. Addresses ConsumerDataStandardsAustralia/standards-maintenance#511 (comment)

* Standards Maintenance Issue 487: Fix URLs for DCR API non-normative examples. Addresses ConsumerDataStandardsAustralia/standards-maintenance#487

* Standards Maintenance Issue 494: Fixed documentation in Response Payload Structure. Addresses ConsumerDataStandardsAustralia/standards-maintenance#494

* Added link to the issue # in the changelog

* Updated changelog and added diff records

* Standards Maintenance Issue 489: Corrected references to x-fapi-auth-date in resource APIs. Addresses ConsumerDataStandardsAustralia/standards-maintenance#489

* Standards Maintenance Issue 497: Corrected references to addr-spec. Addresses ConsumerDataStandardsAustralia/standards-maintenance#497

* Standards Maintenance Issue 511: Corrected bullet point list formatting for Mandatory Fields in the Payload Conventions

* Standards Maintenance Issue 511: Updates for the Energy schema types, description and formatting. Addresses comment ConsumerDataStandardsAustralia/standards-maintenance#511 (comment)

* Updated release notes for issue 511

* Removed constraint that data holder brands could only map to a single industry

* Standards Maintenance Issue 521: Updated transition arrangements for implementation of the CDR Arrangement JWT method for the Data Recipience Arrangement Revocation endpoint

* Standards Maintenance Issue 493: Fixed error code documentation for the Banking Get Transaction Detail API

* Added clarification on algorithm coverage required for data holders and data recipients

* Added diffs and change log entries

* Added clarifying statement for Data Recipient validation

* Registration validation future obligation date changed from 15th November 2022 to 31st August 2022

* Added future improvement Register API error codes need to be aligned with the CDS standardised error codes

* Get Software Statement Assertion API v1 & v2 has the scope claim explicitly defined and added version schedule for obsolete v1 of the GetSSA API

* Corrected presentation of schema elements in the navigation bar for GetSSA V2

* Added obligation date to data holder requirements regarding unsupported authorisation scopes

* Added default x-v version as 1 for all APIs where x-v is optional

* Added changes to introduction documentation to correct CDR agency hyperlinks and informative references

* Moved normative and informative reference Markdown into the 'introduction' section

* Standards Maintenance Issue #472: Made EnergyPlanControlledLoad into an array and updated structure to allow representation of time of use based rates

* Standards Maintenance Issue #150: Made changes to EnergyUsageRead structure of both primary and secondary data holder to optimise sharing of large volume of interval read data. The change also includes adding a new interval-reads query parameter to usage APIs.

* Standards Maintenance Issue 499: Corrected incorrect reference of  object as a required component of a sibling object in the energy specification

* Standards Maintenance Issue 461: Corrected the conditional statement for the EnergyPlanContract.variation parameter

* Fixed HTML rendering for the bullet point list within the Array Conventions section

* Standards Maintenance Issue #495: Added notes to clarify intent of Get Agreed Payment Schedule API. Made EnergyPaymentScheduleResponse into an array. Added digitalWallet structure to EnergyPaymentSchedule. Updated description of isTokenised by removing conditional statements for bsb and accountNumber fields

* Standards Maintenance Issue #502: Converted EnergyPlanSolarFeedInTariff.timeVaryingTariffs.timeVariations.days and EnergyPlanTariffPeriod.demandCharges.days into ENUM. Updated ENUM values for EnergyPlanTariffPeriod.timeOfUseRates.timeOfUse.days

* Standards Maintenance Issue #505: Converted timeOfUseRates.timeOfUse.startTime, timeOfUseRates.timeOfUse.endTime, demandCharges.startTime and demandCharges.endTime to TimeString type

* Standards Maintenance Issue #511: Updated description of EnergyUsageListResponse in Energy Data Holder and Secondary Data Holders endpoints with sort order

* Standards Staging Issue #192: Corrected property value name in EnergyServicePointListResponse

* Standards Staging Issue #200: Update the description of EnergyInvoice in EnergyInvoiceListResponse to clarify the sorting is done by issueDate

* Standards Maintenance Issue #485: Customer data language moved from sector specific to common area. Title of profile scope language amended

* Rebuild

* CR 515
Update change log entry got 1.18.0
Fix release notes formatting

* Rebuild

* Update for should vs must language arising from CR 511

* Standards Maintenance Issue #512: Added distributors string array to EnergyPlan.geography object

* Add test documentation link to the TOC
Rebuild

* Bump libraries

* Update swagger versions
Create archive
Rebuild

* Rebuild

* Standards Release 1.18.0# Applied DER changes identified in CR511 to secondary data holder APIs

* Rebuild

* Rebuild

* Baseline for v1.19.0

* Removed legacy v1.18.0 diff notes

* Standards Maintenance Issue 429: Updated Energy data language standards

* Updated the version number in the release notes heading

* Simplified delta comments and corrected the referenced change request in the release notes

* Removed FDO because it is the commencement of Energy go-live

* Decision Proposal 260: Updated get energy accounts and get energy account details with changes from DP260

* Added obsolete v1 versions for Get Energy Accounts and Get Energy Account Detail. Updated Energy OAS object versions accordingly

* Decision Proposal #260: Updated changelog, releasenotes, fdo, energy api version schedule. Renamed get-energy-account-v1.html.md to get-energy-accounts-v1.html.md

* Added release notes for OAIC link fix

* Added archive for v1.18.0

* fixed typos in changelog and get energy account v1

* Moved the diff statements closer to the changes within the energy data language standards

* Updated release notes

* Rebuild

* Update publish dates
Minor changes to release notes

* Update swagger version numbers

* Defect fix: removed open-status query param from Get Energy Account Detail API

* Fixes

Co-authored-by: Mark Verstege <[email protected]>
Co-authored-by: Ivan Hosgood <[email protected]>
Co-authored-by: James Bligh <[email protected]>
Co-authored-by: Hemang Rathod <[email protected]>
Co-authored-by: James Bligh <[email protected]>
Co-authored-by: Ivan Hosgood <[email protected]>
CDR-API-Stream pushed a commit to ConsumerDataStandardsAustralia/standards that referenced this issue Nov 3, 2022
* Standards Staging Issue #170: Documentation fix - EnergyServicePointDetail.meters and EnergyServicePointDetail.meters.registers have been converted into arrays

* Standards Maintenance Issue #439: Updated description of EnergyPlanContract.timezone and EnergyPlanTariffPeriod.timezone to specify default values

* Standards Staging Issue #131: Minor edit- clarification added that ServicePointId to be replaced with NMI in path param as well

* Corrected version delta presentation

* Added Get Data Holder Brands Summary to the endpoints table

* Corrected whitespacing in version deltas

* Standards Staging Issue #153: Modified Energy location to be a CommonPhysicalAddress model

* Added support for 404 response code

* Full rebuild

* Add release date
Reorder release notes

* Standards Staging Issue #167: Corrected x-fapi-interaction-id header to be mandatory for Energy SDH APIs

* Fix to force version delta code blocks to break at word boundaries not at overflow

* 404 now only applies when industry is not found

* Cosmetic improvements in the release notes

* Cleaned up version deltas to follow conventions

* Removed reference to the ACCC delivery schedule

* Full rebuild

* Correct change for staging issue 170

* Created baseline release 1.18.0

* Updated change log

* Fixes link to profile scope data language. Addresses ConsumerDataStandardsAustralia/standards-maintenance#511 (comment)

* Fixes formatting of bullet point list in Authorisation Code Flow section. Addresses ConsumerDataStandardsAustralia/standards-maintenance#511 (comment)

* Standards Maintenance Issue 487: Fix URLs for DCR API non-normative examples. Addresses ConsumerDataStandardsAustralia/standards-maintenance#487

* Standards Maintenance Issue 494: Fixed documentation in Response Payload Structure. Addresses ConsumerDataStandardsAustralia/standards-maintenance#494

* Added link to the issue # in the changelog

* Updated changelog and added diff records

* Standards Maintenance Issue 489: Corrected references to x-fapi-auth-date in resource APIs. Addresses ConsumerDataStandardsAustralia/standards-maintenance#489

* Standards Maintenance Issue 497: Corrected references to addr-spec. Addresses ConsumerDataStandardsAustralia/standards-maintenance#497

* Standards Maintenance Issue 511: Corrected bullet point list formatting for Mandatory Fields in the Payload Conventions

* Updated non-normative examples

* Standards Maintenance Issue 511: Updates for the Energy schema types, description and formatting. Addresses comment ConsumerDataStandardsAustralia/standards-maintenance#511 (comment)

* Updated release notes for issue 511

* Removed constraint that data holder brands could only map to a single industry

* Standards Maintenance Issue 521: Updated transition arrangements for implementation of the CDR Arrangement JWT method for the Data Recipience Arrangement Revocation endpoint

* Standards Maintenance Issue 493: Fixed error code documentation for the Banking Get Transaction Detail API

* Added clarification on algorithm coverage required for data holders and data recipients

* Added diffs and change log entries

* Added clarifying statement for Data Recipient validation

* Registration validation future obligation date changed from 15th November 2022 to 31st August 2022

* Added future improvement Register API error codes need to be aligned with the CDS standardised error codes

* Get Software Statement Assertion API v1 & v2 has the scope claim explicitly defined and added version schedule for obsolete v1 of the GetSSA API

* Corrected presentation of schema elements in the navigation bar for GetSSA V2

* Added obligation date to data holder requirements regarding unsupported authorisation scopes

* Added default x-v version as 1 for all APIs where x-v is optional

* Added changes to introduction documentation to correct CDR agency hyperlinks and informative references

* Moved normative and informative reference Markdown into the 'introduction' section

* Standards Maintenance Issue #472: Made EnergyPlanControlledLoad into an array and updated structure to allow representation of time of use based rates

* Standards Maintenance Issue #150: Made changes to EnergyUsageRead structure of both primary and secondary data holder to optimise sharing of large volume of interval read data. The change also includes adding a new interval-reads query parameter to usage APIs.

* Standards Maintenance Issue 499: Corrected incorrect reference of  object as a required component of a sibling object in the energy specification

* Standards Maintenance Issue 461: Corrected the conditional statement for the EnergyPlanContract.variation parameter

* Fixed HTML rendering for the bullet point list within the Array Conventions section

* Standards Maintenance Issue #495: Added notes to clarify intent of Get Agreed Payment Schedule API. Made EnergyPaymentScheduleResponse into an array. Added digitalWallet structure to EnergyPaymentSchedule. Updated description of isTokenised by removing conditional statements for bsb and accountNumber fields

* Standards Maintenance Issue #502: Converted EnergyPlanSolarFeedInTariff.timeVaryingTariffs.timeVariations.days and EnergyPlanTariffPeriod.demandCharges.days into ENUM. Updated ENUM values for EnergyPlanTariffPeriod.timeOfUseRates.timeOfUse.days

* Standards Maintenance Issue #505: Converted timeOfUseRates.timeOfUse.startTime, timeOfUseRates.timeOfUse.endTime, demandCharges.startTime and demandCharges.endTime to TimeString type

* Standards Maintenance Issue #511: Updated description of EnergyUsageListResponse in Energy Data Holder and Secondary Data Holders endpoints with sort order

* Standards Staging Issue #192: Corrected property value name in EnergyServicePointListResponse

* Standards Staging Issue #200: Update the description of EnergyInvoice in EnergyInvoiceListResponse to clarify the sorting is done by issueDate

* Standards Maintenance Issue #485: Customer data language moved from sector specific to common area. Title of profile scope language amended

* Rebuild

* CR 515
Update change log entry got 1.18.0
Fix release notes formatting

* Rebuild

* Update for should vs must language arising from CR 511

* Standards Maintenance Issue #512: Added distributors string array to EnergyPlan.geography object

* Add test documentation link to the TOC
Rebuild

* Bump libraries

* Update swagger versions
Create archive
Rebuild

* Rebuild

* Standards Release 1.18.0# Applied DER changes identified in CR511 to secondary data holder APIs

* Rebuild

* Rebuild

* Baseline for v1.19.0

* Standards Maintenance Issue 447: Corrected typo for CORS

* Standards Maintenance Issue 411: Clarification that the x-fapi-interaction-id is not used for unathenticated APIs.

* Standards Maintenance Issue 414: Corrected conditional requirements for NPP extendedData>extendedDescription

* Removed legacy v1.18.0 diff notes

* Added diff notes

* Added diff notes

* Corrected diff notes

* Corrected diff notes

* Standards Maintenance Issue 429: Updated Energy data language standards

* Updated the version number in the release notes heading

* Simplified delta comments and corrected the referenced change request in the release notes

* Removed FDO because it is the commencement of Energy go-live

* Decision Proposal 260: Updated get energy accounts and get energy account details with changes from DP260

* Added obsolete v1 versions for Get Energy Accounts and Get Energy Account Detail. Updated Energy OAS object versions accordingly

* Decision Proposal #260: Updated changelog, releasenotes, fdo, energy api version schedule. Renamed get-energy-account-v1.html.md to get-energy-accounts-v1.html.md

* Added release notes for OAIC link fix

* Added archive for v1.18.0

* fixed typos in changelog and get energy account v1

* Moved the diff statements closer to the changes within the energy data language standards

* Baseline for v1.20.0

* Standards Maintenance Issue 525: Corrected the softwareProductDescription to be a mandatory response paramater returned by the CDR Register

* Updated release notes

* Rebuild

* Update publish dates
Minor changes to release notes

* Update swagger version numbers

* Defect fix: removed open-status query param from Get Energy Account Detail API

* Fixes

* Removed v1.19.0 diff statements and updated archives and changelog

* Standards Maintenance Issue #524: Updated description of fields in EnergyDerRecord.acConnections noting 0 as default when value not known

* Standards Maintenance Issue #526: Changed type of EnergyDerRecord.availablePhasesCount and EnergyDerRecord.installedPhasesCount to NaturalNumber. Updated description of approvedCapacity, availablePhasesCount and installedPhasesCount fields in EnergyDerRecord to note 0 indicates no DER record exsits

* Standards Maintenance Issue #506: Added isSecondaryDataHolderError flag to Error Response Structure and noted its FDO

* Standards Maintenance Issue #506: Updated FDO date to 15th May 2023

* Updated changes to target release v1.20.0

* Updated all Swagger files to release version 1.20.0

* Updated non-normative security examples

* Add energy swagger

* Build

* Updated non-normative security examples

* Update Telco standards and build

* Do checklist items

* Corrected release notes

* Minor fixes

* Build

* Fixes to markdown generation
Rebuild

* Complete holistic changes

Co-authored-by: Hemang Rathod <[email protected]>
Co-authored-by: Ivan Hosgood <[email protected]>
Co-authored-by: Ivan Hosgood <[email protected]>
Co-authored-by: Mark Verstege <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

No branches or pull requests

8 participants