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

Review conveyance-related components #119

Closed
cdmgtri opened this issue Feb 20, 2020 · 2 comments
Closed

Review conveyance-related components #119

cdmgtri opened this issue Feb 20, 2020 · 2 comments

Comments

@cdmgtri
Copy link
Collaborator

cdmgtri commented Feb 20, 2020

Harmonize conveyance components across the model.

nc:ConveyanceType (extends nc:ItemType)

  • nc:ConveyanceCargoText
  • nc:ConveyanceEngineQuantity
  • nc:ConveyanceMotorizedIndicator
  • nc:ConveyanceTowedIndicator
  • nc:ConveyanceUseAbstract

cbrn:ConveyanceAugmentationType

  • cbrn:ConveyanceKindCode
    • Rename as cbrn:ConveyanceCategoryCode for consistency
    • Remove element from this type and make it substitutable for the new nc:ConveyanceCategoryAbstract element under nc:ConveyanceType
  • cbrn:ConveyanceWeightDescriptionText
    • Rename as nc:MeasureDescriptionText and move to nc:MeasureType for better reusability

Remove type since no longer needed

j:ConveyanceAugmentationType

  • j:ConveyanceJointlyRegisteredIndicator
  • j:StateAssignedVINIndicator - Rename as j:ConveyanceStateAssignedVINIndicator

cbrn:ConveyanceRelatorType

A data type for an identifier that can be used to identify a conveyance.

  • nc:IdentificationID
  • nc:ItemSerialIdentification

This seems to be used in other types to identify a conveyance rather than reusing the full conveyance object like NIEM typically does. It would be more consistent to replace this with full conveyance objects where it is being used. Individual exchanges could then subset nc:ConveyanceType down to just these elements, or add documentation or business rules to describe or enforce exactly which components are expected.

  • nc:ConveyanceType inherits property nc:ItemSerialIdentification.
  • Property nc:IdentificationID is so generic, not sure exactly what ID is expected here.
  • Screening may be adding a new scr:ConveyanceIdentification (nc:IdentificationType) to its conveyance augmentation, which could be used for these purposes (see Review vehicle-related components #122, Review vehicle-related components).

cbrn:ConveyanceRelatorType is used by the following properties:

  • cbrn:ConveyanceID (cbrn:ConveyanceRelatorType)
  • cbrn:ConveyanceIdentification (cbrn:ConveyanceRelatorType)
  • cbrn:ConveyanceRelationshipOriginID (cbrn:ConveyanceRelatorType)
  • cbrn:ConveyanceRelationshipTargetID (cbrn:ConveyanceRelatorType)

cbrn:ConveyanceOrgRelationshipType

Rename as cbrn:ConveyanceOrganizationAssociationType?

  • nc:OrganizationIdentification
    • Replace with nc:Organization?
  • cbrn:ConveyanceIdentification
    • Replace with nc:Conveyance?
  • cbrn:ConveyanceOrgRelationshipKindCode
    • Rename as cbrn:ConveyanceOrganizationAssociationCategoryCode?

cbrn:ConveyanceConveyanceRelationshipType

Rename as cbrn:ConveyanceAssociationType. The NDR allows for dropping duplicate terms in a name.

  • cbrn:ConveyanceRelationshipOriginID
    • Replace with new cbrn:ConveyanceRelationshipOriginConveyance cbrn:Conveyee (nc:ConveyanceType)
  • cbrn:ConveyanceRelationshipTargetID
    • Replace with new cbrn:ConveyanceRelationshipTargetConveyance cbrn:Conveyor (nc:ConveyanceType)?
  • cbrn:ConveyanceRelationshipKindCode - Use "AssociationCategory" instead of "RelationshipKind"
  • cbrn:ConveyanceSequenceNumeric

cbrn:ConveyanceRegistrationType (extends j:ConveyanceRegistrationType)

  • (empty besides an augmentation point)

Remove empty type

cbrn:ConveyanceRegistrationAugmentationType

j:ConveyanceRegistrationType, which this type augments, contains property nc:Conveyance. Suggest moving the properties below so that they are available from the conveyance itself to make them more reusable, rather than just from the registration. They don't seem to be registration-specific.

  • cbrn:ConveyancePrimaryColorCode
    • Move to substitution group (see below)
  • cbrn:ConveyanceSecondaryColorCode
    • Move to substitution group (see below)
  • scr:ConveyanceIdentificationCategoryCode
    • Screening may be adding a new scr:ConveyanceIdentification (nc:IdentificationType) to its conveyance augmentation, which could be used for these purposes (see Review vehicle-related components #122, Review vehicle-related components).

Item colors

Type nc:ItemType contains property nc:ItemColorAbstract, with the following substitutions:

nc:ItemType

  • nc:ItemColorAbstract
    • nc:ConveyanceColorPrimaryText
    • nc:ConveyanceColorSecondaryText
    • nc:ItemColorDescriptionText
    • j:ConveyanceColorPrimaryCode
    • j:ConveyanceColorSecondaryCode
    • j:VesselColorPrimaryCode
    • j:VesselColorSecondaryCode

This seems to be overloaded. Suggest splitting into color into separate primary and secondary substitution groups:

nc:ItemType

  • nc:ItemColorPrimaryAbstract
    • nc:ConveyanceColorPrimaryText - Rename as nc:ItemColorPrimaryText?
    • j:ConveyanceColorPrimaryCode
    • j:VesselColorPrimaryCode
    • cbrn:ConveyancePrimaryColorCode
      • moved from cbrn:ConveyanceRegistrationAugmentationType
  • nc:ItemColorSecondaryAbstract
    • nc:ConveyanceColorSecondaryText - Rename as nc:ItemColorSecondaryText?
    • j:ConveyanceColorSecondaryCode
    • j:VesselColorSecondaryCode
    • cbrn:ConveyanceSecondaryColorCode
      • moved from cbrn:ConveyanceRegistrationAugmentationType
  • nc:ItemColorDescriptionText - Move out of substitution groups into nc:ItemType directly
@cdmgtri cdmgtri added this to the niem-5.0alpha1 milestone Feb 20, 2020
@cdmgtri cdmgtri added this to To do in NIEM-5.0 via automation Feb 20, 2020
@cdmgtri cdmgtri modified the milestones: niem-5.0alpha1, niem-5.0beta1 Mar 23, 2020
@cdmgtri cdmgtri moved this from To do to Harmonization Workgroup in NIEM-5.0 Mar 24, 2020
@DonClysdale
Copy link

DonClysdale commented Apr 7, 2020

replace cbrn:ConveyanceRelationshipOriginID with cbrn:Conveyee (nc:ConveyanceType) and
replace cbrn:ConveyanceRelationshipTargetID with cbrn:Conveyor (nc:ConveyanceType) as per the convention described in the defintion of the two current elements making the types and readability much better - and not counting on the convention for origin/target being followed.

@cdmgtri
Copy link
Collaborator Author

cdmgtri commented Apr 21, 2020

Recommendation approved by the Harmonization workgroup.

@cdmgtri cdmgtri moved this from Harmonization Workgroup to Pending Review in NIEM-5.0 Apr 21, 2020
@cdmgtri cdmgtri moved this from Pending Review to Approved in NIEM-5.0 May 28, 2020
cdmgtri pushed a commit that referenced this issue Jul 1, 2020
@cdmgtri cdmgtri closed this as completed Jul 1, 2020
NIEM-5.0 automation moved this from Approved to Done Jul 1, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
NIEM-5.0
  
Done
Development

No branches or pull requests

2 participants