NIEM / NIEM-Releases

Repository for releases of the National Information Exchange Model
https://niem.github.io/niem-releases/
88 stars 23 forks source link

Review conveyance-related components #119

Closed cdmgtri closed 4 years ago

cdmgtri commented 4 years ago

Harmonize conveyance components across the model.

nc:ConveyanceType (extends nc:ItemType)

cbrn:ConveyanceAugmentationType

Remove type since no longer needed

j:ConveyanceAugmentationType

cbrn:ConveyanceRelatorType

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

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.

cbrn:ConveyanceRelatorType is used by the following properties:

cbrn:ConveyanceOrgRelationshipType

Rename as cbrn:ConveyanceOrganizationAssociationType?

cbrn:ConveyanceConveyanceRelationshipType

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

cbrn:ConveyanceRegistrationType (extends j:ConveyanceRegistrationType)

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.

Item colors

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

nc:ItemType

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

nc:ItemType

DonClysdale commented 4 years ago

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 commented 4 years ago

Recommendation approved by the Harmonization workgroup.