vintasend-medplum 0.4.13 → 0.4.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -40,7 +40,7 @@ export declare class MedplumAttachmentManager extends BaseAttachmentManager {
40
40
  /**
41
41
  * Reconstruct an AttachmentFile from storage metadata.
42
42
  *
43
- * @param storageMetadata - Metadata containing 'binaryId'
43
+ * @param storageMetadata - Metadata containing 'binaryId' or 'url'
44
44
  * @returns AttachmentFile instance for accessing the file
45
45
  */
46
46
  reconstructAttachmentFile(storageMetadata: Record<string, unknown>): AttachmentFile;
@@ -1 +1 @@
1
- {"version":3,"file":"medplum-attachment-manager.d.ts","sourceRoot":"","sources":["../src/medplum-attachment-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,oEAAoE,CAAC;AAC3G,OAAO,KAAK,EACV,oBAAoB,EACpB,cAAc,EACd,cAAc,EACf,MAAM,iCAAiC,CAAC;AAEzC;;;;;;;;GAQG;AACH,qBAAa,wBAAyB,SAAQ,qBAAqB;IACrD,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,aAAa;IAI1C;;;;;;;OAOG;IACG,UAAU,CACd,IAAI,EAAE,cAAc,EACpB,QAAQ,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,oBAAoB,CAAC;IAkEhC;;;;;OAKG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAuCnE;;;;;;OAMG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB/C;;;;;OAKG;IACH,yBAAyB,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,cAAc;CAOpF;AAED;;;;GAIG;AACH,qBAAa,qBAAsB,YAAW,cAAc;IAExD,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,QAAQ;gBADR,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,MAAM;IAG1B;;;;;;OAMG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IAsB7B;;;;;OAKG;IACG,MAAM,IAAI,OAAO,CAAC,cAAc,CAAC;IAUvC;;;;;;;OAOG;IACG,GAAG,CAAC,SAAS,SAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAWtC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAG9B"}
1
+ {"version":3,"file":"medplum-attachment-manager.d.ts","sourceRoot":"","sources":["../src/medplum-attachment-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,oEAAoE,CAAC;AAC3G,OAAO,KAAK,EACV,oBAAoB,EACpB,cAAc,EACd,cAAc,EACf,MAAM,iCAAiC,CAAC;AAEzC;;;;;;;;GAQG;AACH,qBAAa,wBAAyB,SAAQ,qBAAqB;IACrD,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,aAAa;IAI1C;;;;;;;OAOG;IACG,UAAU,CACd,IAAI,EAAE,cAAc,EACpB,QAAQ,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,oBAAoB,CAAC;IAkEhC;;;;;OAKG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IA+CnE;;;;;;OAMG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB/C;;;;;OAKG;IACH,yBAAyB,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,cAAc;CAiBpF;AAED;;;;GAIG;AACH,qBAAa,qBAAsB,YAAW,cAAc;IAExD,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,QAAQ;gBADR,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,MAAM;IAG1B;;;;;;OAMG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IAsB7B;;;;;OAKG;IACG,MAAM,IAAI,OAAO,CAAC,cAAc,CAAC;IAUvC;;;;;;;OAOG;IACG,GAAG,CAAC,SAAS,SAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAWtC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAG9B"}
@@ -93,7 +93,14 @@ export class MedplumAttachmentManager extends BaseAttachmentManager {
93
93
  }
94
94
  // Extract Binary ID from identifier
95
95
  const binaryIdIdentifier = media.identifier?.find((id) => id.system === 'http://vintasend.com/fhir/binary-id');
96
- const binaryId = binaryIdIdentifier?.value;
96
+ let binaryId = binaryIdIdentifier?.value;
97
+ // If binaryId not found in identifier, try to extract from content.url
98
+ if (!binaryId && media.content.url) {
99
+ const match = media.content.url.match(/Binary\/([^/]+)/);
100
+ if (match) {
101
+ binaryId = match[1];
102
+ }
103
+ }
97
104
  // Extract checksum from identifier
98
105
  const checksumIdentifier = media.identifier?.find((id) => id.system === 'http://vintasend.com/fhir/attachment-checksum');
99
106
  const checksum = checksumIdentifier?.value || '';
@@ -148,14 +155,22 @@ export class MedplumAttachmentManager extends BaseAttachmentManager {
148
155
  /**
149
156
  * Reconstruct an AttachmentFile from storage metadata.
150
157
  *
151
- * @param storageMetadata - Metadata containing 'binaryId'
158
+ * @param storageMetadata - Metadata containing 'binaryId' or 'url'
152
159
  * @returns AttachmentFile instance for accessing the file
153
160
  */
154
161
  reconstructAttachmentFile(storageMetadata) {
155
- if (!storageMetadata.binaryId || typeof storageMetadata.binaryId !== 'string') {
156
- throw new Error('Storage metadata must contain binaryId');
162
+ let binaryId = storageMetadata.binaryId;
163
+ // If binaryId not provided directly, try to extract from url
164
+ if (!binaryId && storageMetadata.url && typeof storageMetadata.url === 'string') {
165
+ const match = storageMetadata.url.match(/Binary\/([^/]+)/);
166
+ if (match) {
167
+ binaryId = match[1];
168
+ }
169
+ }
170
+ if (!binaryId) {
171
+ throw new Error('Storage metadata must contain binaryId or a url with Binary reference');
157
172
  }
158
- return new MedplumAttachmentFile(this.medplum, storageMetadata.binaryId);
173
+ return new MedplumAttachmentFile(this.medplum, binaryId);
159
174
  }
160
175
  }
161
176
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vintasend-medplum",
3
- "version": "0.4.13",
3
+ "version": "0.4.14",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {