Yes, that's essentially correct. I would recommend forking the existing repo, then adding your schema definition to the XSD file in your forked plugin repo, in which case both Bone Age and your CT-Chest (or whichever) radreport datatypes would be defined in the same plugin.
Note that on these lines here, I've defined the Bone Age assessor xsiType as "rad:radReportRPT101".
The "RPT101" portion of that name comes from the "RPT101" ID given to the Bone Age assessment on the RadReports website. (This is also visible in the URL to the report itself:
https://radreport.org/home/RPT101). So if you were choosing to model the CT Chest-COVID-19 report for example (
https://radreport.org/home/RPT50820), I think it would be cool to follow this naming convention and call your xsiType "
rad:radReportRPT50820".
Also, note in the plugin initialization file (
RadReportDatatypePlugin.java) that we've called out the datatype that we built in the XSD. You'll want to add your new one to the list, following the same syntax. This will auto-initialize the datatype once the plugin is loaded, so you won't have to go to Administer > Data Types to do it manually.
Once your plugin modifications are complete, use the gradle builder to build the plugin jar, load it into your XNAT, restart tomcat, and go from there.
Incidentally, we have
XNAT plugin development documentation, but we are working to overhaul these pages and provide concrete examples of exactly this kind of task. So I apologize in advance for the patchwork of guidance that you'll find there. I also consider myself fairly noob-ish at datatype development as well, but there are plenty of others in this group that have done their fair share of this work.
Regards,
Will