@oystehr/sdk
Version:
Oystehr SDK
1 lines • 2.35 kB
Source Map (JSON)
{"version":3,"file":"conversation-ext.cjs","sources":["../../../../src/resources/classes/conversation-ext.ts"],"sourcesContent":["import { Encounter as EncounterR4B } from 'fhir/r4b';\nimport { Encounter as EncounterR5 } from 'fhir/r5';\n\nexport const ENCOUNTER_VS_EXTENSION_URL = 'https://extensions.fhir.zapehr.com/encounter-virtual-service-pre-release';\nexport const ENCOUNTER_VS_EXTENSION_RELATIVE_URL = 'addressString';\nconst ENCOUNTER_VS_CODING_SYSTEM = 'https://fhir.zapehr.com/virtual-service-type';\n\nfunction isR5Encounter(encounter: EncounterR4B | EncounterR5): encounter is EncounterR5 {\n return Object.hasOwn(encounter as EncounterR5, 'virtualService');\n}\n\n/**\n * Helper function to get a conversationId from an encounter created as an Oystehr Conversation\n * @param encounter well-formed FHIR R4B or R5 Encounter\n * @returns conversationId\n */\nexport function getConversationIdFromEncounter(encounter: EncounterR4B | EncounterR5): string | undefined {\n if (isR5Encounter(encounter)) {\n const virtualService = encounter.virtualService?.find(\n (vs) => vs.channelType?.system === ENCOUNTER_VS_CODING_SYSTEM\n );\n return virtualService?.addressString;\n }\n if (!encounter.extension) return;\n const virtualServiceExtension = encounter.extension.find((extension) => extension.url === ENCOUNTER_VS_EXTENSION_URL);\n if (!virtualServiceExtension?.extension) return;\n const conversationId = virtualServiceExtension.extension?.find(\n (extension) => extension.url === ENCOUNTER_VS_EXTENSION_RELATIVE_URL\n )?.valueString;\n return conversationId;\n}\n"],"names":[],"mappings":";;AAGO,MAAM,0BAA0B,GAAG;AACnC,MAAM,mCAAmC,GAAG;AACnD,MAAM,0BAA0B,GAAG,8CAA8C;AAEjF,SAAS,aAAa,CAAC,SAAqC,EAAA;IAC1D,OAAO,MAAM,CAAC,MAAM,CAAC,SAAwB,EAAE,gBAAgB,CAAC;AAClE;AAEA;;;;AAIG;AACG,SAAU,8BAA8B,CAAC,SAAqC,EAAA;AAClF,IAAA,IAAI,aAAa,CAAC,SAAS,CAAC,EAAE;QAC5B,MAAM,cAAc,GAAG,SAAS,CAAC,cAAc,EAAE,IAAI,CACnD,CAAC,EAAE,KAAK,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,0BAA0B,CAC9D;QACD,OAAO,cAAc,EAAE,aAAa;IACtC;IACA,IAAI,CAAC,SAAS,CAAC,SAAS;QAAE;AAC1B,IAAA,MAAM,uBAAuB,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,GAAG,KAAK,0BAA0B,CAAC;IACrH,IAAI,CAAC,uBAAuB,EAAE,SAAS;QAAE;IACzC,MAAM,cAAc,GAAG,uBAAuB,CAAC,SAAS,EAAE,IAAI,CAC5D,CAAC,SAAS,KAAK,SAAS,CAAC,GAAG,KAAK,mCAAmC,CACrE,EAAE,WAAW;AACd,IAAA,OAAO,cAAc;AACvB;;;;;;"}