w3c / hcls-fhir-rdf

Sketching out an RDF representation for FHIR
38 stars 15 forks source link

How to handle InlineBinary and BulkDataURI? #144

Open ebremer opened 1 month ago

ebremer commented 1 month ago

How to handle InlineBinary and BulkDataURI?

Sample is DICOM JSON:

"50003000": {
        "vr": "OW",
        "BulkDataURI": "file:/mnt/d/dicom/sample/0002.DCM?offset=3034&length=7680"
    },
    "7FE00010": {
        "vr": "OB",
        "DataFragment": [
            {
                "BulkDataURI": "file:/mnt/d/dicom/sample/0002.DCM?offset=10734&length=384"
            },
            {
                "BulkDataURI": "file:/mnt/d/dicom/sample/0002.DCM?offset=11126&length=17912"
            },
            {
                "BulkDataURI": "file:/mnt/d/dicom/sample/0002.DCM?offset=29046&length=18680"
            },
            {
                "BulkDataURI": "file:/mnt/d/dicom/sample/0002.DCM?offset=47734&length=18644"
            },
ebremer commented 1 month ago

I suggest a variation of DCM2JSON's dcm2json converter:

<>
dcm:7FE00010 [
dcm:vr "OB";
dcm:DataFragments (
  [ 
   dcm:BulkDataURI "https://server/path/to/bulkdata/frame/0";
   dcm:offset 0;
   dcm:length 1024
  ]
  [
    dcm:BulkDataURI "https://server/path/to/bulkdata/frame/1";
    dcm:offset 1024;
    dcm:length 1024
  ]
  [
    dcm:BulkDataURI "https://server/path/to/bulkdata/frame/2";
    dcm:offset 2048;
    dcm:length 1024
  ]
)]

or (both being valid and allowing for future metadata

<> dcm:7FE00010 [ dcm:vr "OB"; dcm:DataFragments ( [ dcm:BulkDataURI "https://server/path/to/bulkdata/frame/0?offset=0&length=1024" ] [ dcm:BulkDataURI "https://server/path/to/bulkdata/frame/1?offset=1024&length=1024" ] [ dcm:BulkDataURI "https://server/path/to/bulkdata/frame/2?offset=2048&length=1024 ] )]