@atomic-ehr/fhir-canonical-manager 0.0.6 → 0.0.8

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.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAGjC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAGlC,MAAM,UAAW,SAAQ,KAAK;IAC5B,QAAQ,CAAS;IACjB,MAAM,CAAS;IACf,MAAM,CAAS;IAEf,YACE,OAAe,EACf,QAAgB,EAChB,MAAc,EACd,MAAc;QAEd,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAgBD,SAAS,CAAC,CAAC,OAA6B,EAAE,GAAG,MAAa;IACxD,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;QAC7C,OAAO,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAI,OAAO,GAA2B,EAAE,CAAC;IAGzC,MAAM,OAAO,GAAG,KAAK,EAAE,UAA+B,EAAE,EAAE,EAAE;QAC1D,IAAI,CAAC;YACH,MAAM,WAAW,GAAQ;gBACvB,KAAK,EAAE,IAAI;gBACX,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;aAC5B,CAAC;YAGF,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpC,WAAW,CAAC,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;YACnD,CAAC;YAED,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAEjE,OAAO;gBACL,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAChC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAChC,QAAQ,EAAE,CAAC;aACZ,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAEpB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;YAC7B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC9C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;YAE/D,MAAM,IAAI,UAAU,CAAC,mBAAmB,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC,CAAC;IAGF,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,aAAa,GAAgC,IAAI,CAAC;IAEtD,MAAM,WAAW,GAAG;QAClB,IAAI,CAAC,WAAiB,EAAE,UAAgB;YACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,QAAQ,GAAG,IAAI,CAAC;gBAChB,aAAa,GAAG,OAAO,EAAE,CAAC;YAC5B,CAAC;YACD,OAAO,aAAc,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACtD,CAAC;QACD,KAAK,CAAC,UAAgB;YACpB,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,CAAC,SAAe;YACrB,OAAO,IAAI,CAAC,IAAI,CACd,CAAC,KAAU,EAAE,EAAE;gBACb,SAAS,EAAE,EAAE,CAAC;gBACd,OAAO,KAAK,CAAC;YACf,CAAC,EACD,CAAC,MAAW,EAAE,EAAE;gBACd,SAAS,EAAE,EAAE,CAAC;gBACd,MAAM,MAAM,CAAC;YACf,CAAC,CACF,CAAC;QACJ,CAAC;QACD,KAAK;YACH,OAAO,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAClC,CAAC;QACD,GAAG,CAAC,IAA4B;YAC9B,OAAO,GAAG,IAAI,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;QAED,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,cAAuB;KAC9C,CAAC;IAEF,OAAO,WAAkC,CAAC;AAC5C,CAAC;AAKD,KAAK,UAAU,oBAAoB;IACjC,IAAI,CAAC;QAEH,MAAM,CAAC,CAAA,eAAe,CAAC,KAAK,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC;YAEH,MAAM,CAAC,CAAA,eAAe,CAAC,KAAK,EAAE,CAAC;YAC/B,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC;AAGD,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,CAAC;AAwJ5C,MAAM,mBAAmB,GAAG,CAAC,QAI5B,EAAU,EAAE;IACX,MAAM,KAAK,GAAG,GAAG,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,cAAc,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;IACxF,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AAChE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAK9B,EAAE;IACF,MAAM,UAAU,GAAsC,EAAE,CAAC;IACzD,MAAM,QAAQ,GAA6B,EAAE,CAAC;IAE9C,MAAM,GAAG,GAAG,CAAC,EAAU,EAAE,QAA2B,EAAQ,EAAE;QAC5D,UAAU,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;QAC1B,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5B,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YAC9B,CAAC;YACD,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACnC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC7B,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,GAAS,EAAE;QACvB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QACjE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC;IAEF,OAAO;QACL,UAAU,EAAE,mBAAmB;QAC/B,GAAG,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;QACnC,GAAG;QACH,GAAG,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,EAAE,IAAI,UAAU;QACrC,KAAK;QACL,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM;QAC1C,WAAW,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE;QACjD,eAAe,EAAE,CAAC,EAAU,EAAE,QAA2B,EAAa,EAAE,CAAC,CAAC;YACxE,EAAE;YACF,YAAY,EAAE,QAAQ,CAAC,YAAY;SACpC,CAAC;QACF,gBAAgB,EAAE,GAAG,EAAE,CAAC,UAAU;KACnC,CAAC;AACJ,CAAC,CAAC;AAGF,MAAM,gBAAgB,GAAG,CAAC,KAAU,EAAW,EAAE;IAC/C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACxE,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ;QAC/D,OAAO,KAAK,CAAC;IACf,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAE5D,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAChE,KAAK,MAAM,KAAK,IAAI,oBAAoB,EAAE,CAAC;QACzC,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE,CAAC;YACnE,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,IAAS,EAAW,EAAE;IAC9C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACpD,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,QAAQ;QACrE,OAAO,KAAK,CAAC;IACf,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;AACjE,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,QAAgB,EAAoB,EAAE;IACzE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAiB,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAGF,MAAM,UAAU,GAAG,KAAK,EAAE,QAAgB,EAAoB,EAAE;IAC9D,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,KAAK,EAAE,OAAe,EAAiB,EAAE;IACzD,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;IAET,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,KAAK,EAAE,OAAe,EAAoB,EAAE;IAChE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IACpD,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC;AAC/B,CAAC,CAAC;AAGF,MAAM,WAAW,GAAG,GAElB,EAAE;IACF,MAAM,gBAAgB,GAAG,gBAAgB,EAAE,CAAC;IAC5C,OAAO;QACL,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,EAAE;QACd,gBAAgB;KACjB,CAAC;AACJ,CAAC,CAAC;AAGF,MAAM,sBAAsB,GAAG,KAAK,EAClC,UAAkB,EACM,EAAE;IAC1B,IAAI,CAAC;QAEH,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;QACnE,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YAC5D,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5D,CAAC;QAAC,MAAM,CAAC;YAEP,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YACtD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YACxD,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAGF,MAAM,eAAe,GAAG,KAAK,EAC3B,KAAqC,EACrC,QAAgB,EAChB,UAAkB,EACH,EAAE;IACjB,MAAM,eAAe,GAAG,MAAM,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAEjE,MAAM,SAAS,GAAc;QAC3B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,UAAU,EAAE,KAAK,CAAC,gBAAgB,CAAC,gBAAgB,EAAE;QACrD,eAAe,EAAE,eAAe,IAAI,SAAS;KAC9C,CAAC;IAEF,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACpD,MAAM,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,KAAK,EAC7B,QAAgB,EACW,EAAE;IAC7B,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAc,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAGF,MAAM,eAAe,GAAG,KAAK,EAC3B,QAAkB,EAClB,UAAkB,EAClB,QAAiB,EACF,EAAE;IACjB,MAAM,SAAS,CAAC,UAAU,CAAC,CAAC;IAG5B,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAC9D,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC;QAEzC,MAAM,kBAAkB,GAAG;YACzB,IAAI,EAAE,kCAAkC;YACxC,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,IAAI;YACb,YAAY,EAAE,EAAE;SACjB,CAAC;QACF,MAAM,EAAE,CAAC,SAAS,CAChB,eAAe,EACf,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC,CAC5C,CAAC;IACJ,CAAC;IAGD,MAAM,cAAc,GAAG,MAAM,oBAAoB,EAAE,CAAC;IACpD,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IAGD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,IAAI,cAAc,KAAK,KAAK,EAAE,CAAC;gBAE7B,MAAM,GAAG,GAAG;oBACV,IAAI,EAAE,UAAU;oBAChB,qBAAqB,EAAE,WAAW;iBACnC,CAAC;gBAEF,MAAM,GAAG,GAAG,QAAQ;oBAClB,CAAC,CAAC,MAAM,UAAU,eAAe,GAAG,eAAe,QAAQ,EAAE;oBAC7D,CAAC,CAAC,MAAM,UAAU,eAAe,GAAG,EAAE,CAAC;gBAEzC,MAAM,CAAC,CAAA,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBAEN,MAAM,GAAG,GAAG,QAAQ;oBAClB,CAAC,CAAC,MAAM,UAAU,eAAe,GAAG,eAAe,QAAQ,EAAE;oBAC7D,CAAC,CAAC,MAAM,UAAU,eAAe,GAAG,EAAE,CAAC;gBAEzC,MAAM,CAAC,CAAA,GAAG,GAAG,EAAE,CAAC;YAClB,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,6BAA6B,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;YACxD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAGF,MAAM,YAAY,GAAG,KAAK,EACxB,QAAgB,EAChB,WAAwB,EACxB,KAAqC,EACtB,EAAE;IACjB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAErD,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,UAAU,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAElD,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,GAAG;gBAAE,SAAS;YAExB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAEpD,MAAM,EAAE,GAAG,KAAK,CAAC,gBAAgB,CAAC,UAAU,CAAC;gBAC3C,WAAW,EAAE,WAAW,CAAC,IAAI;gBAC7B,cAAc,EAAE,WAAW,CAAC,OAAO;gBACnC,QAAQ;aACT,CAAC,CAAC;YAEH,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,EAAE;gBAC7B,WAAW,EAAE,WAAW,CAAC,IAAI;gBAC7B,cAAc,EAAE,WAAW,CAAC,OAAO;gBACnC,QAAQ;gBACR,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC,CAAC;YAEH,MAAM,KAAK,GAAe;gBACxB,EAAE;gBACF,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,YAAY,EAAE,KAAK,CAAC,eAAe,CAAC;gBACpC,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE;oBACP,IAAI,EAAE,WAAW,CAAC,IAAI;oBACtB,OAAO,EAAE,WAAW,CAAC,OAAO;iBAC7B;aACF,CAAC;YAEF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YAC/B,CAAC;YACD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;IAET,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,KAAK,EACvB,WAAmB,EACnB,KAAqC,EACtB,EAAE;IACjB,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAC/D,MAAM,kBAAkB,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACvE,MAAM,WAAW,GAAgB,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAEhE,MAAM,WAAW,GAAgB;YAC/B,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE;YAC5D,IAAI,EAAE,WAAW;YACjB,SAAS,EAAE,WAAW,CAAC,SAAS;YAChC,YAAY,EAAE,WAAW,CAAC,YAAY;SACvC,CAAC;QACF,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC;QAE/C,MAAM,YAAY,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QAEpD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACxD,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC;YAC7D,MAAM,YAAY,CAAC,YAAY,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;IAET,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,KAAK,EACzB,OAAe,EACf,KAAqC,EACtB,EAAE;IACjB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAEnE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;gBAAE,SAAS;YAEnC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAEhD,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/B,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE;oBAC/C,aAAa,EAAE,IAAI;iBACpB,CAAC,CAAC;gBACH,KAAK,MAAM,WAAW,IAAI,aAAa,EAAE,CAAC;oBACxC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE;wBAAE,SAAS;oBAEzC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;oBACzD,IAAI,MAAM,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;wBACpC,MAAM,WAAW,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;oBACvC,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,MAAM,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzC,MAAM,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;IAET,CAAC;AACH,CAAC,CAAC;AAGF,MAAM,kBAAkB,GAAG,KAAK,EAC9B,GAAW,EACX,OAAsB,EACtB,KAAqC,EACrC,YAAiE,EACrC,EAAE;IAC9B,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,IAAI,CAAC;YACH,OAAO,MAAM,YAAY,CAAC,GAAG,EAAE;gBAC7B,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI;gBAC7B,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO;aACjC,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAGF,MAAM,gBAAgB,GAAG,6BAA6B,CAAC;AAGvD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAoB,EAAE;IACnE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IAExC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ;QAC9B,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,GAAG;QACzE,CAAC,CAAC,gBAAgB,CAAC;IACrB,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAExD,IAAI,KAAK,GAAG,WAAW,EAAE,CAAC;IAC1B,IAAI,WAAW,GAAG,KAAK,CAAC;IAExB,MAAM,iBAAiB,GAAG,GAAS,EAAE;QACnC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,KAAK,IAAmB,EAAE;QACrC,IAAI,WAAW;YAAE,OAAO;QAGxB,MAAM,SAAS,CAAC,UAAU,CAAC,CAAC;QAC5B,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;QAG1B,MAAM,sBAAsB,GAAG,MAAM,sBAAsB,CAAC,UAAU,CAAC,CAAC;QAGxE,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAGrD,MAAM,UAAU,GACd,UAAU;YACV,UAAU,CAAC,eAAe,KAAK,sBAAsB;YACrD,sBAAsB,KAAK,IAAI,CAAC;QAElC,IAAI,UAAU,EAAE,CAAC;YAEf,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;YACnC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;YACrC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE;gBAC/D,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YAEN,IAAI,UAAU,IAAI,UAAU,CAAC,eAAe,KAAK,sBAAsB,EAAE,CAAC;gBACxE,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;YACxE,CAAC;YAGD,MAAM,eAAe,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;YAGtD,KAAK,GAAG,WAAW,EAAE,CAAC;YAGtB,MAAM,aAAa,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;YAG5C,MAAM,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QACrD,CAAC;QAED,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,KAAK,IAAmB,EAAE;QACxC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;QACnB,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;QACpB,KAAK,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC/B,WAAW,GAAG,KAAK,CAAC;IACtB,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,KAAK,IAA0B,EAAE;QACnD,iBAAiB,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACxD,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,KAAK,EACxB,YAAoB,EACpB,OAIC,EACoB,EAAE;QACvB,iBAAiB,EAAE,CAAC;QAEpB,IAAI,OAAO,EAAE,aAAa,EAAE,CAAC;YAC3B,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAC9C,YAAY,EACZ,OAAO,CAAC,aAAa,EACrB,KAAK,EACL,YAAY,CACb,CAAC;YACF,IAAI,eAAe,EAAE,CAAC;gBACpB,OAAO,eAAe,CAAC;YACzB,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QAElD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,iCAAiC,YAAY,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;QAE5B,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,kCAAkC,YAAY,qBAAqB,CACpE,CAAC;QACJ,CAAC;QAED,OAAO,QAAQ,CAAC,CAAC,CAAE,CAAC;IACtB,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,KAAK,EACnB,YAAoB,EACpB,OAIC,EACkB,EAAE;QACrB,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,KAAK,EAAE,SAAoB,EAAqB,EAAE;QAC7D,iBAAiB,EAAE,CAAC;QAEpB,MAAM,QAAQ,GAAG,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,yBAAyB,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAErC,OAAO;gBACL,GAAG,QAAQ;gBACX,EAAE,EAAE,SAAS,CAAC,EAAE;gBAChB,YAAY,EAAE,SAAS,CAAC,YAAY;aACrC,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,KAAK,EAAE,MAM5B,EAAyB,EAAE;QAC1B,iBAAiB,EAAE,CAAC;QAEpB,IAAI,OAAO,GAAiB,EAAE,CAAC;QAE/B,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;YACf,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnD,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC;YAC3B,OAAO,GAAG,OAAO,CAAC,MAAM,CACtB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,OAAO,EAAE,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,GAAG,CAAC,OAAO,CACrE,CAAC;QACJ,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,KAAK,EAAE,MAMrB,EAAuB,EAAE;QACxB,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzE,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,KAAK,EACvB,WAAqB,EACrB,OAKC,EACsB,EAAE;QACzB,iBAAiB,EAAE,CAAC;QAGpB,IAAI,OAAO,GAAG,MAAM,aAAa,CAAC;YAChC,IAAI,EAAE,OAAO,EAAE,IAAI;YACnB,OAAO,EAAE,OAAO,EAAE,OAAO;SAC1B,CAAC,CAAC;QAGH,IAAI,OAAO,EAAE,YAAY,EAAE,CAAC;YAC1B,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;QACjF,CAAC;QAGD,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QACjE,CAAC;QAGD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YAEpD,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;gBAC/B,IAAI,CAAC,KAAK,CAAC,GAAG;oBAAE,OAAO,KAAK,CAAC;gBAC7B,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBAGzC,MAAM,QAAQ,GAAG;oBACf,QAAQ;oBACR,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE;oBAC/B,KAAK,CAAC,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE;iBACxC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAGZ,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;oBAExB,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;oBAGhD,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;oBACjE,IAAI,WAAW;wBAAE,OAAO,IAAI,CAAC;oBAG7B,MAAM,aAAa,GAA6B;wBAC9C,KAAK,EAAE,CAAC,WAAW,CAAC;wBACpB,QAAQ,EAAE,CAAC,WAAW,CAAC;wBACvB,KAAK,EAAE,CAAC,YAAY,CAAC;wBACrB,MAAM,EAAE,CAAC,SAAS,CAAC;wBACnB,KAAK,EAAE,CAAC,aAAa,CAAC;wBACtB,KAAK,EAAE,CAAC,cAAc,CAAC;wBACvB,OAAO,EAAE,CAAC,cAAc,CAAC;wBACzB,KAAK,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC;wBAClC,KAAK,EAAE,CAAC,SAAS,CAAC;wBAClB,MAAM,EAAE,CAAC,UAAU,CAAC;wBACpB,KAAK,EAAE,CAAC,WAAW,CAAC;wBACpB,KAAK,EAAE,CAAC,OAAO,CAAC;wBAChB,MAAM,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC;wBAC9B,IAAI,EAAE,CAAC,YAAY,CAAC;wBACpB,IAAI,EAAE,CAAC,UAAU,CAAC;wBAClB,IAAI,EAAE,CAAC,qBAAqB,CAAC;qBAC9B,CAAC;oBAGF,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC7C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;wBACnC,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;4BACtD,OAAO,IAAI,CAAC;wBACd,CAAC;oBACH,CAAC;oBAGD,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACjC,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,OAAO;QACL,IAAI;QACJ,OAAO;QACP,QAAQ,EAAE,WAAW;QACrB,YAAY;QACZ,OAAO;QACP,IAAI;QACJ,aAAa;QACb,MAAM;QACN,WAAW;KACZ,CAAC;AACJ,CAAC,CAAC;AAGF,eAAe,gBAAgB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atomic-ehr/fhir-canonical-manager",
3
- "version": "0.0.6",
3
+ "version": "0.0.8",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -21,7 +21,8 @@
21
21
  "build": "bun run build:clean && bun run build:types",
22
22
  "build:clean": "rm -rf dist",
23
23
  "build:types": "bunx tsc -p tsconfig.build.json",
24
- "typecheck": "bun tsc --noEmit",
24
+ "typecheck": "bunx tsc --noEmit",
25
+ "typecheck:watch": "bunx tsc --noEmit --watch",
25
26
  "prepublishOnly": "bun run build"
26
27
  },
27
28
  "devDependencies": {
@@ -38,6 +39,6 @@
38
39
  "search",
39
40
  "pat"
40
41
  ],
41
- "registry": "https://fs.get-ig.org/pkgs"
42
+ "registry": "https://fs.get-ig.org/pkgs/"
42
43
  }
43
44
  }
package/src/cli/index.ts CHANGED
@@ -1,29 +1,29 @@
1
- #!/usr/bin/env bun
1
+ #!/usr/bin/env node
2
2
 
3
- import * as fs from 'fs';
4
- import * as path from 'path';
5
- import { fileURLToPath } from 'url';
6
- import { CanonicalManager } from '../index.js';
7
- import type { Config, IndexEntry, PackageInfo } from '../index.js';
3
+ import * as fs from "fs";
4
+ import * as path from "path";
5
+ import { fileURLToPath } from "url";
6
+ import { CanonicalManager } from "../index.js";
7
+ import type { Config, IndexEntry, PackageInfo } from "../index.js";
8
8
 
9
9
  // Command handlers
10
- import { initCommand } from './init.js';
11
- import { listCommand } from './list.js';
12
- import { searchCommand } from './search.js';
13
- import { resolveCommand } from './resolve.js';
10
+ import { initCommand } from "./init.js";
11
+ import { listCommand } from "./list.js";
12
+ import { searchCommand } from "./search.js";
13
+ import { resolveCommand } from "./resolve.js";
14
14
 
15
15
  // Get version from package.json
16
16
  const __filename = fileURLToPath(import.meta.url);
17
17
  const __dirname = path.dirname(__filename);
18
- const packageJsonPath = path.join(__dirname, '..', '..', 'package.json');
18
+ const packageJsonPath = path.join(__dirname, "..", "..", "package.json");
19
19
 
20
- let VERSION = 'unknown';
20
+ let VERSION = "unknown";
21
21
  try {
22
- const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
22
+ const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf-8"));
23
23
  VERSION = packageJson.version;
24
24
  } catch (error) {
25
25
  // Fallback version if package.json can't be read
26
- VERSION = '0.0.3';
26
+ VERSION = "0.0.3";
27
27
  }
28
28
 
29
29
  function showHelp() {
@@ -34,7 +34,7 @@ Usage: fcm <command> [options]
34
34
 
35
35
  Commands:
36
36
  init Initialize FHIR packages in current directory
37
- list List packages or resources
37
+ list List packages or resources
38
38
  search Search for resources
39
39
  resolve Get a resource by canonical URL
40
40
 
@@ -54,13 +54,19 @@ async function main() {
54
54
  const args = process.argv.slice(2);
55
55
  const command = args[0];
56
56
 
57
- if (!command || command === '--help' || command === '-h') {
57
+ if (!command || command === "--help" || command === "-h") {
58
58
  showHelp();
59
+ if (process.env.NODE_ENV === 'test') {
60
+ return;
61
+ }
59
62
  process.exit(0);
60
63
  }
61
64
 
62
- if (command === '--version' || command === '-v') {
65
+ if (command === "--version" || command === "-v") {
63
66
  console.log(VERSION);
67
+ if (process.env.NODE_ENV === 'test') {
68
+ return;
69
+ }
64
70
  process.exit(0);
65
71
  }
66
72
 
@@ -68,56 +74,67 @@ async function main() {
68
74
  init: initCommand,
69
75
  list: listCommand,
70
76
  search: searchCommand,
71
- resolve: resolveCommand
77
+ resolve: resolveCommand,
72
78
  };
73
79
 
74
80
  if (!commands[command]) {
75
81
  console.error(`Error: Unknown command '${command}'`);
76
82
  console.error(`Run 'fcm --help' for usage information`);
83
+ if (process.env.NODE_ENV === 'test') {
84
+ throw new Error(`Unknown command '${command}'`);
85
+ }
77
86
  process.exit(1);
78
87
  }
79
88
 
80
89
  try {
81
90
  await commands[command](args.slice(1));
82
91
  } catch (error) {
83
- console.error(`Error: ${error instanceof Error ? error.message : String(error)}`);
92
+ console.error(
93
+ `Error: ${error instanceof Error ? error.message : String(error)}`,
94
+ );
95
+ if (process.env.NODE_ENV === 'test') {
96
+ throw error;
97
+ }
84
98
  process.exit(1);
85
99
  }
86
100
  }
87
101
 
88
102
  // Export utility functions for commands
89
- export function parseArgs(args: string[]): { positional: string[], options: Record<string, string | boolean> } {
103
+ export function parseArgs(args: string[]): {
104
+ positional: string[];
105
+ options: Record<string, string | boolean>;
106
+ } {
90
107
  const positional: string[] = [];
91
108
  const options: Record<string, string | boolean> = {};
92
109
 
93
110
  for (let i = 0; i < args.length; i++) {
94
111
  const arg = args[i];
95
- if (arg && arg.startsWith('--')) {
112
+ if (arg && arg.startsWith("--")) {
96
113
  const key = arg.slice(2);
97
114
  const nextArg = args[i + 1];
98
- if (nextArg && !nextArg.startsWith('--')) {
115
+ if (nextArg && !nextArg.startsWith("--")) {
99
116
  options[key] = nextArg;
100
117
  i++;
101
118
  } else {
102
119
  options[key] = true;
103
120
  }
104
- } else if (arg && arg.startsWith('-')) {
121
+ } else if (arg && arg.startsWith("-")) {
105
122
  // Handle short aliases
106
123
  switch (arg) {
107
- case '-sd':
108
- options.resourceType = 'StructureDefinition';
124
+ case "-sd":
125
+ options.resourceType = "StructureDefinition";
109
126
  break;
110
- case '-cs':
111
- options.resourceType = 'CodeSystem';
127
+ case "-cs":
128
+ options.resourceType = "CodeSystem";
112
129
  break;
113
- case '-vs':
114
- options.resourceType = 'ValueSet';
130
+ case "-vs":
131
+ options.resourceType = "ValueSet";
115
132
  break;
116
133
  default:
117
134
  // Handle other single-letter flags
118
135
  const key = arg.slice(1);
119
136
  const nextArg = args[i + 1];
120
- if (nextArg && !nextArg.startsWith('-')) {
137
+ if (nextArg && !nextArg.startsWith("-")) {
121
138
  options[key] = nextArg;
122
139
  i++;
123
140
  } else {
@@ -133,10 +150,10 @@ export function parseArgs(args: string[]): { positional: string[], options: Reco
133
150
  }
134
151
 
135
152
  export async function loadPackageJson(): Promise<any> {
136
- const packagePath = path.join(process.cwd(), 'package.json');
153
+ const packagePath = path.join(process.cwd(), "package.json");
137
154
  try {
138
155
  if (fs.existsSync(packagePath)) {
139
- const content = fs.readFileSync(packagePath, 'utf-8');
156
+ const content = fs.readFileSync(packagePath, "utf-8");
140
157
  return JSON.parse(content);
141
158
  }
142
159
  } catch (error) {
@@ -146,8 +163,8 @@ export async function loadPackageJson(): Promise<any> {
146
163
  }
147
164
 
148
165
  export async function savePackageJson(data: any): Promise<void> {
149
- const packagePath = path.join(process.cwd(), 'package.json');
150
- fs.writeFileSync(packagePath, JSON.stringify(data, null, 2) + '\n');
166
+ const packagePath = path.join(process.cwd(), "package.json");
167
+ fs.writeFileSync(packagePath, JSON.stringify(data, null, 2) + "\n");
151
168
  }
152
169
 
153
170
  export function getConfigFromPackageJson(packageJson: any): Partial<Config> {
@@ -155,11 +172,8 @@ export function getConfigFromPackageJson(packageJson: any): Partial<Config> {
155
172
  return {
156
173
  packages: fcm.packages || [],
157
174
  registry: fcm.registry,
158
- workingDir: process.cwd()
175
+ workingDir: process.cwd(),
159
176
  };
160
177
  }
161
178
 
162
- // Run CLI
163
- if (import.meta.main) {
164
- main();
165
- }
179
+ main();
package/src/cli/init.ts CHANGED
@@ -1,8 +1,11 @@
1
- import * as fs from 'fs';
2
- import * as path from 'path';
3
- import { $ } from '../compat.js';
4
- import { parseArgs, loadPackageJson, savePackageJson } from './index.js';
5
- import { CanonicalManager } from '../index.js';
1
+ import * as fs from "fs";
2
+ import * as path from "path";
3
+ import { exec } from "child_process";
4
+ import { promisify } from "util";
5
+ import { parseArgs, loadPackageJson, savePackageJson } from "./index.js";
6
+ import { CanonicalManager } from "../index.js";
7
+
8
+ const execAsync = promisify(exec);
6
9
 
7
10
  export async function initCommand(args: string[]): Promise<void> {
8
11
  const { positional, options } = parseArgs(args);
@@ -12,13 +15,13 @@ export async function initCommand(args: string[]): Promise<void> {
12
15
  // Load or create package.json
13
16
  let packageJson = await loadPackageJson();
14
17
  const isNewPackageJson = !packageJson;
15
-
18
+
16
19
  if (!packageJson) {
17
20
  // Create minimal package.json
18
21
  packageJson = {
19
22
  name: path.basename(process.cwd()),
20
23
  version: "1.0.0",
21
- type: "module"
24
+ type: "module",
22
25
  };
23
26
  }
24
27
 
@@ -26,17 +29,23 @@ export async function initCommand(args: string[]): Promise<void> {
26
29
  if (!packageJson.fcm) {
27
30
  packageJson.fcm = {
28
31
  packages: [],
29
- registry: registry || "https://fs.get-ig.org/pkgs"
32
+ registry: registry
33
+ ? (registry.endsWith('/') ? registry : `${registry}/`)
34
+ : "https://fs.get-ig.org/pkgs/",
30
35
  };
31
36
  }
32
37
 
33
38
  // If no packages specified, use packages from config
34
- const packagesToInstall = packages.length > 0 ? packages : packageJson.fcm.packages;
35
-
39
+ const packagesToInstall =
40
+ packages.length > 0 ? packages : packageJson.fcm.packages;
41
+
36
42
  if (packagesToInstall.length === 0) {
37
43
  console.error("Error: No packages specified");
38
44
  console.error("Usage: fcm init [packages...]");
39
45
  console.error("Example: fcm init hl7.fhir.r4.core hl7.fhir.us.core@5.0.1");
46
+ if (process.env.NODE_ENV === 'test') {
47
+ throw new Error("No packages specified");
48
+ }
40
49
  process.exit(1);
41
50
  }
42
51
 
@@ -47,9 +56,9 @@ export async function initCommand(args: string[]): Promise<void> {
47
56
  });
48
57
  packageJson.fcm.packages = Array.from(existingPackages);
49
58
 
50
- // Update registry if provided
59
+ // Update registry if provided, ensuring it ends with /
51
60
  if (registry) {
52
- packageJson.fcm.registry = registry;
61
+ packageJson.fcm.registry = registry.endsWith('/') ? registry : `${registry}/`;
53
62
  }
54
63
 
55
64
  // Initialize dependencies if not present
@@ -59,22 +68,25 @@ export async function initCommand(args: string[]): Promise<void> {
59
68
 
60
69
  // Save package.json
61
70
  await savePackageJson(packageJson);
62
-
71
+
63
72
  if (isNewPackageJson) {
64
73
  console.log("Created package.json");
65
74
  }
66
75
 
67
76
  // Install packages using npm
68
77
  console.log("Installing FHIR packages...");
69
-
78
+
70
79
  for (const pkg of packagesToInstall) {
71
80
  console.log(`Installing ${pkg}...`);
72
81
  try {
73
- if (packageJson.fcm.registry) {
74
- await $`npm install ${pkg} --registry ${packageJson.fcm.registry}`.quiet();
75
- } else {
76
- await $`npm install ${pkg}`.quiet();
77
- }
82
+ const command = packageJson.fcm.registry
83
+ ? `npm install ${pkg} --registry ${packageJson.fcm.registry}`
84
+ : `npm install ${pkg}`;
85
+
86
+ await execAsync(command, {
87
+ cwd: process.cwd(),
88
+ maxBuffer: 10 * 1024 * 1024, // 10MB buffer
89
+ });
78
90
  } catch (error) {
79
91
  console.error(`Failed to install ${pkg}`);
80
92
  throw error;
@@ -83,21 +95,22 @@ export async function initCommand(args: string[]): Promise<void> {
83
95
 
84
96
  // Initialize CanonicalManager to build cache
85
97
  console.log("Building package index...");
98
+ console.log("Registry", packageJson?.fcm?.registry);
86
99
  const manager = CanonicalManager({
87
100
  packages: packageJson.fcm.packages,
88
101
  workingDir: process.cwd(),
89
- registry: packageJson.fcm.registry
102
+ registry: packageJson.fcm.registry,
90
103
  });
91
104
 
92
105
  await manager.init();
93
-
106
+
94
107
  // Show summary
95
108
  const installedPackages = await manager.packages();
96
109
  console.log("\nInstalled packages:");
97
- installedPackages.forEach(pkg => {
110
+ installedPackages.forEach((pkg) => {
98
111
  console.log(` ${pkg.name}@${pkg.version}`);
99
112
  });
100
113
 
101
114
  await manager.destroy();
102
115
  console.log("\nInitialization complete!");
103
- }
116
+ }
package/src/cli/list.ts CHANGED
@@ -12,6 +12,9 @@ export async function listCommand(args: string[]): Promise<void> {
12
12
  if (!packageJson?.fcm?.packages || packageJson.fcm.packages.length === 0) {
13
13
  console.error("Error: No FHIR packages configured");
14
14
  console.error("Run 'fcm init' first to initialize packages");
15
+ if (process.env.NODE_ENV === 'test') {
16
+ throw new Error("No FHIR packages configured");
17
+ }
15
18
  process.exit(1);
16
19
  }
17
20
 
@@ -41,6 +44,9 @@ export async function listCommand(args: string[]): Promise<void> {
41
44
  console.error(`Error: Package '${packageName}' not found`);
42
45
  console.error("Available packages:");
43
46
  packages.forEach(p => console.error(` - ${p.name}`));
47
+ if (process.env.NODE_ENV === 'test') {
48
+ throw new Error(`Package '${packageName}' not found`);
49
+ }
44
50
  process.exit(1);
45
51
  }
46
52
 
@@ -10,6 +10,9 @@ export async function resolveCommand(args: string[]): Promise<void> {
10
10
  console.error("Error: Canonical URL required");
11
11
  console.error("Usage: fcm resolve <canonical-url> [--fields field1,field2]");
12
12
  console.error("Example: fcm resolve http://hl7.org/fhir/StructureDefinition/Patient");
13
+ if (process.env.NODE_ENV === 'test') {
14
+ throw new Error("Canonical URL required");
15
+ }
13
16
  process.exit(1);
14
17
  }
15
18
 
@@ -18,6 +21,9 @@ export async function resolveCommand(args: string[]): Promise<void> {
18
21
  if (!packageJson?.fcm?.packages || packageJson.fcm.packages.length === 0) {
19
22
  console.error("Error: No FHIR packages configured");
20
23
  console.error("Run 'fcm init' first to initialize packages");
24
+ if (process.env.NODE_ENV === 'test') {
25
+ throw new Error("No FHIR packages configured");
26
+ }
21
27
  process.exit(1);
22
28
  }
23
29
 
@@ -47,6 +53,9 @@ export async function resolveCommand(args: string[]): Promise<void> {
47
53
  }
48
54
  } catch (error) {
49
55
  console.error(`Error: Resource not found: ${url}`);
56
+ if (process.env.NODE_ENV === 'test') {
57
+ throw error;
58
+ }
50
59
  process.exit(1);
51
60
  } finally {
52
61
  await manager.destroy();
package/src/cli/search.ts CHANGED
@@ -15,6 +15,9 @@ export async function searchCommand(args: string[]): Promise<void> {
15
15
  if (!packageJson?.fcm?.packages || packageJson.fcm.packages.length === 0) {
16
16
  console.error("Error: No FHIR packages configured");
17
17
  console.error("Run 'fcm init' first to initialize packages");
18
+ if (process.env.NODE_ENV === 'test' || process.env.BUN_TEST) {
19
+ throw new Error("No FHIR packages configured");
20
+ }
18
21
  process.exit(1);
19
22
  }
20
23
 
@@ -23,12 +26,19 @@ export async function searchCommand(args: string[]): Promise<void> {
23
26
  await manager.init();
24
27
 
25
28
  try {
26
- // Build search criteria
27
- const searchCriteria: any = {};
29
+ // Build filters for smart search
30
+ const filters: any = {};
31
+
32
+ if (resourceTypeFilter) {
33
+ filters.resourceType = resourceTypeFilter;
34
+ }
35
+
36
+ if (typeFilter) {
37
+ filters.type = typeFilter;
38
+ }
28
39
 
29
- // Handle kind filter through search criteria
30
40
  if (kindFilter) {
31
- searchCriteria.kind = kindFilter;
41
+ filters.kind = kindFilter;
32
42
  }
33
43
 
34
44
  if (packageFilter) {
@@ -36,42 +46,16 @@ export async function searchCommand(args: string[]): Promise<void> {
36
46
  const pkg = packages.find(p => p.name === packageFilter);
37
47
  if (!pkg) {
38
48
  console.error(`Error: Package '${packageFilter}' not found`);
49
+ if (process.env.NODE_ENV === 'test' || process.env.BUN_TEST) {
50
+ throw new Error(`Package '${packageFilter}' not found`);
51
+ }
39
52
  process.exit(1);
40
53
  }
41
- searchCriteria.package = pkg;
54
+ filters.package = pkg;
42
55
  }
43
56
 
44
- // Search for resources
45
- let results = await manager.searchEntries(searchCriteria);
46
-
47
- // Filter by resourceType if specified
48
- if (resourceTypeFilter) {
49
- results = results.filter(entry => entry.resourceType === resourceTypeFilter);
50
- }
51
-
52
- // Filter by type if specified (e.g., Extension, Patient, Observation)
53
- if (typeFilter) {
54
- results = results.filter(entry => entry.type === typeFilter);
55
- }
56
-
57
- // Filter by URL pattern if provided
58
- if (searchTerms.length > 0) {
59
- // Convert search terms to lowercase for case-insensitive matching
60
- const terms = searchTerms.map(t => t.toLowerCase());
61
-
62
- results = results.filter(entry => {
63
- if (!entry.url) return false;
64
- const urlLower = entry.url.toLowerCase();
65
-
66
- // Check if all search terms match as prefixes in the URL
67
- return terms.every(term => {
68
- // Split the URL into parts (by /, -, _, .)
69
- const urlParts = urlLower.split(/[\/\-_\.]+/);
70
- // Check if any part starts with the search term
71
- return urlParts.some(part => part.startsWith(term));
72
- });
73
- });
74
- }
57
+ // Use the new smartSearch from core
58
+ const results = await manager.smartSearch(searchTerms, filters);
75
59
 
76
60
  if (isJson) {
77
61
  console.log(JSON.stringify(results, null, 2));