UNPKG

@medplum/core

Version:

Medplum TS/JS Library

1 lines 245 kB
"use strict";var Zt=Object.defineProperty;var ws=Object.getOwnPropertyDescriptor;var Os=Object.getOwnPropertyNames;var Is=Object.prototype.hasOwnProperty;var ks=(r,e,t)=>e in r?Zt(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var Vs=(r,e)=>{for(var t in e)Zt(r,t,{get:e[t],enumerable:!0})},Ds=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Os(e))!Is.call(r,i)&&i!==t&&Zt(r,i,{get:()=>e[i],enumerable:!(n=ws(e,i))||n.enumerable});return r};var Ms=r=>Ds(Zt({},"__esModule",{value:!0}),r);var c=(r,e,t)=>ks(r,typeof e!="symbol"?e+"":e,t);var Hd={};Vs(Hd,{AccessPolicyInteraction:()=>Pe,AckCode:()=>fd,AndAtom:()=>Ot,ArithmeticOperatorAtom:()=>F,AsAtom:()=>ge,CPT:()=>Ns,ClientStorage:()=>tt,ConcatAtom:()=>bt,ContainsAtom:()=>Et,ContentType:()=>O,DEFAULT_ACCEPT:()=>es,DEFAULT_MAX_SEARCH_COUNT:()=>lu,DEFAULT_SEARCH_COUNT:()=>uu,DataSampler:()=>Nr,DotAtom:()=>K,EMPTY:()=>y,EmptySetAtom:()=>Tt,EqualsAtom:()=>Ct,EquivalentAtom:()=>At,EventTarget:()=>Ir,ExternalSecretSystems:()=>bl,FHIRCAST_EVENT_NAMES:()=>kr,FHIRCAST_EVENT_RESOURCES:()=>$o,FHIRCAST_EVENT_VERSION_REQUIRED:()=>Vr,FHIRCAST_RESOURCE_TYPES:()=>jo,FhirFilterComparison:()=>Jt,FhirFilterConnective:()=>Yt,FhirFilterNegation:()=>Kt,FhirPathAtom:()=>he,FhircastConnection:()=>Nt,FileBuilder:()=>gi,FunctionAtom:()=>Y,HTTP_HL7_ORG:()=>at,HTTP_TERMINOLOGY_HL7_ORG:()=>qs,Hl7Context:()=>xe,Hl7Field:()=>ae,Hl7Message:()=>xi,Hl7Segment:()=>it,ICD10:()=>Us,ImpliesAtom:()=>Vt,InAtom:()=>Rt,IndexerAtom:()=>Ce,InfixOperatorAtom:()=>E,IsAtom:()=>Re,LOINC:()=>_s,LRUCache:()=>z,LiteralAtom:()=>j,LogLevel:()=>qe,LogLevelNames:()=>bs,Logger:()=>vi,MEDPLUM_CLI_CLIENT_ID:()=>ul,MEDPLUM_RELEASES_URL:()=>Cs,MEDPLUM_VERSION:()=>Fr,MedplumClient:()=>Ht,MedplumKeyValueClient:()=>qt,MemoryStorage:()=>_r,MockAsyncClientStorage:()=>ii,NDC:()=>Bs,NOOP:()=>Rc,NotEqualsAtom:()=>Pt,NotEquivalentAtom:()=>wt,OAuthClientAssertionType:()=>rs,OAuthGrantType:()=>Ue,OAuthSigningAlgorithm:()=>yl,OAuthTokenAuthMethod:()=>gl,OAuthTokenType:()=>ts,OperationOutcomeError:()=>f,Operator:()=>m,OperatorPrecedence:()=>T,OrAtom:()=>It,PATIENT_PREFERRED_PHARMACY_URL:()=>Qr,PHARMACY_PREFERENCE_TYPE_SYSTEM:()=>bi,PHARMACY_TYPE_PREFERRED:()=>Ei,PHARMACY_TYPE_PRIMARY:()=>Gr,Parser:()=>er,ParserBuilder:()=>st,PrefixOperatorAtom:()=>ot,PropertyType:()=>d,RXNORM:()=>Fs,ReadablePromise:()=>B,ReconnectingWebSocket:()=>Wt,ReturnAckCategory:()=>Bu,SNOMED:()=>Ls,SearchParameterType:()=>ce,SubscriptionEmitter:()=>nt,SubscriptionManager:()=>$t,SymbolAtom:()=>U,Tokenizer:()=>ye,TransformMapCollection:()=>jr,TypedEventTarget:()=>X,UCUM:()=>Xr,UnaryOperatorAtom:()=>St,UnionAtom:()=>Ee,VALID_HOSTNAME_REGEX:()=>ho,XorAtom:()=>kt,accepted:()=>Xs,accessPolicySupportsInteraction:()=>Jn,addPreferredPharmacyToPatient:()=>Td,addProfileToResource:()=>xc,allOk:()=>Ws,append:()=>J,applyDefaultValuesToElement:()=>Dl,applyDefaultValuesToResource:()=>Vl,applyFixedOrPatternValue:()=>Qt,arrayBufferToBase64:()=>Mn,arrayBufferToHex:()=>Dn,arrayify:()=>ee,assert:()=>Jo,assertContextVersionOptional:()=>Zn,assertOk:()=>fa,assertReleaseManifest:()=>Ps,badRequest:()=>C,booleanToTypedValue:()=>h,buildCdsRequest:()=>Ju,buildElementsContext:()=>Br,buildTypeName:()=>Eo,businessRule:()=>ia,calculateAge:()=>gt,calculateAgeString:()=>Wa,canReadResourceType:()=>Lu,canWriteResource:()=>Nu,canWriteResourceType:()=>Fu,capitalize:()=>_,checkForNull:()=>Ri,checkIfValidMedplumVersion:()=>Wd,clearReleaseCache:()=>qd,codeableConceptMatchesToken:()=>nc,codingMatchesToken:()=>so,compressElement:()=>ha,concatUrls:()=>N,conceptMapTranslate:()=>pi,conflict:()=>Zs,contentTooLarge:()=>zs,convertContainedResourcesToBundle:()=>Qu,convertToSearchableDates:()=>jn,convertToSearchableNumbers:()=>ru,convertToSearchableQuantities:()=>nu,convertToSearchableReferences:()=>Hn,convertToSearchableStrings:()=>$n,convertToSearchableTokens:()=>Gn,convertToSearchableUris:()=>iu,convertToTransactionBundle:()=>Uo,crawlTypedValue:()=>pr,crawlTypedValueAsync:()=>Ea,createConstraintIssue:()=>un,createFhircastMessagePayload:()=>Mr,createOperationOutcomeIssue:()=>ve,createPreferredPharmacyExtension:()=>Es,createProcessingIssue:()=>ln,createReference:()=>Te,createStructureIssue:()=>b,created:()=>js,decodeBase64:()=>No,decodeBase64Url:()=>Kn,deepClone:()=>be,deepEquals:()=>de,deepIncludes:()=>He,deriveIdentifierSearchParameter:()=>Ad,encodeBase64:()=>Ft,encodeBase64Url:()=>ju,encryptSHA256:()=>Yn,ensureNoLeadingSlash:()=>mo,ensureTrailingSlash:()=>Rr,escapeHtml:()=>bc,evalFhirPath:()=>tu,evalFhirPathTyped:()=>A,evalSqlOnFhir:()=>Ld,expandSampledData:()=>ai,expandSampledObservation:()=>Pl,extractAccountReferences:()=>Sr,fetchLatestVersionString:()=>jd,fetchVersionManifest:()=>Yr,fhirPathArrayEquals:()=>Pn,fhirPathArrayEquivalent:()=>yr,fhirPathArrayNotEquals:()=>An,fhirPathEquals:()=>Ge,fhirPathEquivalent:()=>Zi,fhirPathIs:()=>ft,fhirPathNot:()=>Cn,fhirTypeToJsType:()=>mr,findCodeBySystem:()=>rc,findObservationInterval:()=>sc,findObservationReferenceRange:()=>ac,findObservationReferenceRanges:()=>uo,findResourceByCode:()=>hc,findResourceInBundle:()=>zu,flatMapFilter:()=>Sc,forbidden:()=>Hs,formatAddress:()=>yo,formatCodeableConcept:()=>Qe,formatCoding:()=>qn,formatDate:()=>Ac,formatDateTime:()=>Cr,formatFamilyName:()=>Pc,formatGivenName:()=>Cc,formatHl7DateTime:()=>Ss,formatHumanName:()=>Je,formatMoney:()=>Lc,formatObservationValue:()=>vo,formatPeriod:()=>Oc,formatQuantity:()=>fe,formatRange:()=>_c,formatReferenceString:()=>go,formatSearchQuery:()=>Tu,formatTime:()=>wc,formatTiming:()=>Dc,formatWallTime:()=>xo,generateId:()=>se,getAllDataTypes:()=>hn,getAllQuestionnaireAnswers:()=>$a,getBuffer:()=>wr,getCodeBySystem:()=>Tr,getDataType:()=>ue,getDateProperty:()=>qa,getDefaultValuesForNewSliceEntry:()=>Ml,getDisplayString:()=>ro,getElementDefinition:()=>ht,getElementDefinitionFromElements:()=>Co,getElementDefinitionTypeName:()=>ar,getExpressionForResourceType:()=>Md,getExpressionsForResourceType:()=>wi,getExtension:()=>le,getExtensionValue:()=>Ga,getIdentifier:()=>oo,getImageSrc:()=>Ba,getInnerDerivedIdentifierExpression:()=>Ci,getNestedProperty:()=>ke,getOutcomeRedirectUrl:()=>na,getParsedDerivedIdentifierExpression:()=>Pi,getParsedExpressionForResourceType:()=>Ai,getPathDifference:()=>pe,getPathDisplayName:()=>jc,getPreferredPharmaciesFromPatient:()=>vd,getPropertyDisplayName:()=>Ro,getQueryString:()=>Un,getQuestionnaireAnswers:()=>ja,getRandomString:()=>Or,getReferenceString:()=>w,getResourceTypes:()=>Bc,getSearchParameter:()=>Wc,getSearchParameterDetails:()=>wd,getSearchParameters:()=>qc,getStatus:()=>pa,getTypedPropertyValue:()=>M,getTypedPropertyValueWithPath:()=>fr,getTypedPropertyValueWithSchema:()=>Yi,getTypedPropertyValueWithoutSchema:()=>Xi,getValueSliceName:()=>ui,getWebSocketUrl:()=>Nn,getWindow:()=>Wu,globalSchema:()=>W,gone:()=>Gs,indexConceptMapCodings:()=>ss,indexDefaultSearchParameters:()=>vn,indexSearchParameter:()=>Pr,indexSearchParameterBundle:()=>Uc,indexStructureDefinitionBundle:()=>ur,inflateBaseSchema:()=>dn,inflateElement:()=>Bi,initFhirPathParserBuilder:()=>Ye,invalidSearchOperator:()=>Ru,isAccepted:()=>sa,isAddPharmacyResponse:()=>Ed,isBrowserEnvironment:()=>Q,isCodeableConcept:()=>vr,isCoding:()=>xr,isCompletedSubscriptionRequest:()=>ei,isComplexTypeCode:()=>br,isConflict:()=>ua,isContextVersionRequired:()=>Xn,isCreated:()=>oa,isDataTypeLoaded:()=>gn,isDateString:()=>wn,isDateTimeString:()=>Ve,isDefined:()=>Ec,isEmpty:()=>P,isError:()=>or,isFhirCriteriaMet:()=>Ko,isFhircastResourceType:()=>Ho,isGone:()=>la,isJwt:()=>ti,isLowerCase:()=>ic,isMedplumAccessToken:()=>ri,isNodeEnvironment:()=>qu,isNotFound:()=>ca,isObject:()=>R,isOk:()=>sr,isOperationOutcome:()=>We,isOrganizationArray:()=>bd,isPeriod:()=>On,isPopulated:()=>re,isPrimitiveType:()=>lt,isProfileLoaded:()=>yn,isProfileResource:()=>to,isQuantity:()=>I,isQuantityEquivalent:()=>In,isRedirect:()=>aa,isReference:()=>H,isResource:()=>V,isResourceType:()=>ut,isResourceTypeSchema:()=>dr,isResourceWithId:()=>ze,isSliceDefinitionWithTypes:()=>ci,isString:()=>De,isStringArray:()=>tc,isTextObject:()=>ao,isTypedValue:()=>Gc,isUUID:()=>ec,isUnauthenticated:()=>da,isValidDate:()=>vt,isValidHostname:()=>yc,isValidMedplumSemver:()=>As,lazy:()=>Fn,loadDataType:()=>lr,locationUtils:()=>oe,mapByIdentifier:()=>vc,matchDiscriminant:()=>hr,matchesRange:()=>Ln,matchesSearchRequest:()=>Lt,multipleMatches:()=>Ks,normalizeArrayBufferView:()=>_n,normalizeCreateBinaryOptions:()=>si,normalizeCreatePdfOptions:()=>ns,normalizeErrorString:()=>Oe,normalizeOperationOutcome:()=>ct,notFound:()=>sn,notModified:()=>$s,operationOutcomeIssueToString:()=>Ui,operationOutcomeToString:()=>cn,parseFhirPath:()=>_t,parseFilterParameter:()=>pd,parseHl7DateTime:()=>hd,parseJWTPayload:()=>Bt,parseLogLevel:()=>yd,parseMappingLanguage:()=>Wl,parseParameter:()=>Vo,parseReference:()=>Fa,parseSearchRequest:()=>Xe,parseStructureDefinition:()=>cr,parseXFhirQuery:()=>vu,pathToJSONPointer:()=>Ca,preciseEquals:()=>pc,preciseGreaterThan:()=>mc,preciseGreaterThanOrEquals:()=>fo,preciseLessThan:()=>fc,preciseLessThanOrEquals:()=>po,preciseRound:()=>dc,preconditionFailed:()=>Qs,projectAdminResourceTypes:()=>Mo,protectedResourceTypes:()=>Do,readInteractions:()=>_o,redirect:()=>Ni,redirectOk:()=>ra,removeDuplicates:()=>pt,removePreferredPharmacyFromPatient:()=>Sd,removeProfileFromResource:()=>Tc,reorderBundle:()=>Bo,replaceQueryVariables:()=>Wo,resolveId:()=>Se,resourceMatchesSubscriptionCriteria:()=>al,satisfiedAccessPolicy:()=>Lo,serializeError:()=>Xt,serializeFhircastSubscriptionRequest:()=>Dr,serverError:()=>ea,serverTimeout:()=>ta,setCodeBySystem:()=>oc,setIdentifier:()=>Ha,singleton:()=>k,singularize:()=>gc,sleep:()=>Er,sortStringArray:()=>xt,splitN:()=>Me,splitSearchOnComma:()=>Ze,streamToBuffer:()=>_d,stringify:()=>yt,stringifyTypedValue:()=>Wn,structureMapTransform:()=>jl,subsetResource:()=>xa,summarizeObservations:()=>El,toJsBoolean:()=>q,toPeriod:()=>mt,toTypedValue:()=>S,tooManyRequests:()=>Ys,trimTrailingEmptyElements:()=>Ja,tryGetDataType:()=>$e,tryGetJwtExpiration:()=>ni,tryGetProfile:()=>xn,typedValueToString:()=>Bn,unauthorized:()=>we,unauthorizedTokenAudience:()=>ir,unauthorizedTokenExpired:()=>an,unsupportedMediaType:()=>Js,validateFhircastSubscriptionRequest:()=>Ut,validateResource:()=>wa,validateResourceType:()=>Rd,validateTypedValue:()=>Qi,validationError:()=>v,validationRegexes:()=>dt,warnIfNewerVersionAvailable:()=>$d,wordWrap:()=>xs});module.exports=Ms(Hd);var z=class{constructor(e=10){c(this,"max");c(this,"cache");this.max=e,this.cache=new Map}clear(){this.cache.clear()}get(e){let t=this.cache.get(e);return t&&(this.cache.delete(e),this.cache.set(e,t)),t}set(e,t){this.cache.has(e)?this.cache.delete(e):this.cache.size>=this.max&&this.cache.delete(this.first()),this.cache.set(e,t)}delete(e){this.cache.delete(e)}keys(){return this.cache.keys()}first(){return this.cache.keys().next().value}};var ot=class{constructor(e,t){c(this,"operator");c(this,"child");this.operator=e,this.child=t}toString(){return`${this.operator}(${this.child.toString()})`}},E=class{constructor(e,t,n){c(this,"operator");c(this,"left");c(this,"right");this.operator=e,this.left=t,this.right=n}toString(){return`(${this.left.toString()} ${this.operator} ${this.right.toString()})`}},st=class{constructor(){c(this,"prefixParselets",{});c(this,"infixParselets",{})}registerInfix(e,t){return this.infixParselets[e]=t,this}registerPrefix(e,t){return this.prefixParselets[e]=t,this}prefix(e,t,n){return this.registerPrefix(e,{parse(i,o){let s=i.consumeAndParse(t);return n(o,s)}})}infixLeft(e,t,n){return this.registerInfix(e,{parse(i,o,s){let a=i.consumeAndParse(t);return n(o,s,a)},precedence:t})}construct(e){return new er(e,this.prefixParselets,this.infixParselets)}},er=class{constructor(e,t,n){c(this,"tokens");c(this,"prefixParselets");c(this,"infixParselets");this.tokens=e,this.prefixParselets=t,this.infixParselets=n}hasMore(){return this.tokens.length>0}match(e){return this.peek()?.id!==e?!1:(this.consume(),!0)}consumeAndParse(e=1/0){let t=this.consume(),n=this.prefixParselets[t.id];if(!n)throw new Error(`Parse error at "${t.value}" (line ${t.line}, column ${t.column}). No matching prefix parselet.`);let i=n.parse(this,t);for(;e>this.getPrecedence();){let o=this.consume();i=this.getInfixParselet(o).parse(this,i,o)}return i}getPrecedence(){let e=this.peek();if(!e)return 1/0;let t=this.getInfixParselet(e);return t?t.precedence:1/0}consume(e,t){if(!this.tokens.length)throw new Error("Cant consume unknown more tokens.");if(e&&this.peek()?.id!==e){let n=this.peek();throw new Error(`Expected ${e} but got "${n.id}" (${n.value}) at line ${n.line} column ${n.column}.`)}if(t&&this.peek()?.value!==t){let n=this.peek();throw new Error(`Expected "${t}" but got "${n.value}" at line ${n.line} column ${n.column}.`)}return this.tokens.shift()}peek(){return this.tokens.length>0?this.tokens[0]:void 0}removeComments(){this.tokens=this.tokens.filter(e=>e.id!=="Comment")}getInfixParselet(e){return this.infixParselets[e.id==="Symbol"?e.value:e.id]}};function ee(r){if(r!==void 0)return Array.isArray(r)?r:[r]}var Xr="http://unitsofmeasure.org",_s="http://loinc.org",Ls="http://snomed.info/sct",Fs="http://www.nlm.nih.gov/research/umls/rxnorm",Ns="http://www.ama-assn.org/go/cpt",Us="http://hl7.org/fhir/sid/icd-10",Bs="http://hl7.org/fhir/sid/ndc",at="http://hl7.org",qs="http://terminology.hl7.org";var tr="ok",rr="created",Zr="gone",en="not-modified",tn="found",rn="not-found",nn="conflict",on="unauthorized",Ii="forbidden",ki="precondition-failed",Vi="content-too-large",Di="unsupported-media-type",Mi="multiple-matches",_i="too-many-requests",nr="accepted",Li="server-timeout",Fi="business-rule",Ws={resourceType:"OperationOutcome",id:tr,issue:[{severity:"information",code:"informational",details:{text:"All OK"}}]},js={resourceType:"OperationOutcome",id:rr,issue:[{severity:"information",code:"informational",details:{text:"Created"}}]},$s={resourceType:"OperationOutcome",id:en,issue:[{severity:"information",code:"informational",details:{text:"Not Modified"}}]},sn={resourceType:"OperationOutcome",id:rn,issue:[{severity:"error",code:"not-found",details:{text:"Not found"}}]},we={resourceType:"OperationOutcome",id:on,issue:[{severity:"error",code:"login",details:{text:"Unauthorized"}}]},an={...we,issue:[...we.issue,{severity:"error",code:"expired",details:{text:"Token expired"}}]},ir={...we,issue:[...we.issue,{severity:"error",code:"invalid",details:{text:"Token not issued for this audience"}}]},Hs={resourceType:"OperationOutcome",id:Ii,issue:[{severity:"error",code:"forbidden",details:{text:"Forbidden"}}]},Gs={resourceType:"OperationOutcome",id:Zr,issue:[{severity:"error",code:"deleted",details:{text:"Gone"}}]},Qs={resourceType:"OperationOutcome",id:ki,issue:[{severity:"error",code:"processing",details:{text:"Precondition Failed"}}]};function zs(r){return{resourceType:"OperationOutcome",id:Vi,issue:[{severity:"error",code:"too-long",details:{text:r}}]}}var Js={resourceType:"OperationOutcome",id:Di,issue:[{severity:"error",code:"not-supported",details:{text:"Unsupported media type"}}]},Ks={resourceType:"OperationOutcome",id:Mi,issue:[{severity:"error",code:"multiple-matches",details:{text:"Multiple resources found matching condition"}}]},Ys={resourceType:"OperationOutcome",id:_i,issue:[{severity:"error",code:"throttled",details:{text:"Too Many Requests"}}]};function Xs(r){return{resourceType:"OperationOutcome",id:nr,issue:[{severity:"information",code:"informational",details:{text:"Accepted"},diagnostics:r}]}}function C(r,e){return{resourceType:"OperationOutcome",issue:[{severity:"error",code:"invalid",details:{text:r},...e?{expression:ee(e)}:void 0}]}}function Zs(r,e){return{resourceType:"OperationOutcome",id:nn,issue:[{severity:"error",code:"conflict",details:{coding:e?[{code:e}]:void 0,text:r}}]}}function v(r,e,t,n){return{resourceType:"OperationOutcome",issue:[{severity:"error",code:t??"structure",details:{text:r},...e?{expression:e}:void 0,...n?{diagnostics:n}:void 0}]}}function ea(r){return{resourceType:"OperationOutcome",issue:[{severity:"error",code:"exception",details:{text:"Internal server error"},diagnostics:r.toString()}]}}function ta(r){return{resourceType:"OperationOutcome",id:Li,issue:[{severity:"error",code:"timeout",details:{text:r??"Server timeout"}}]}}function Ni(r){let e=r.toString();return{resourceType:"OperationOutcome",id:tn,issue:[{severity:"information",code:"informational",details:{coding:[{system:"urn:ietf:rfc:3986",code:e}],text:"Redirect to "+e}}]}}function ra(r){return{...Ni(r),id:tr}}function na(r){return r?.issue?.[0]?.details?.coding?.find(e=>e.system==="urn:ietf:rfc:3986")?.code}function ia(r,e){return{resourceType:"OperationOutcome",id:Fi,issue:[{severity:"error",code:"business-rule",details:{id:r,text:e}}]}}function or(r){return!r||typeof r!="object"?!1:r instanceof Error||typeof DOMException<"u"&&r instanceof DOMException?!0:Object.prototype.toString.call(r)==="[object Error]"}function We(r){return typeof r=="object"&&r!==null&&r.resourceType==="OperationOutcome"}function sr(r){return r.id===tr||r.id===rr||r.id===en||r.id===nr}function oa(r){return r.id===rr}function sa(r){return r.id===nr}function aa(r){return r.id===tn}function ca(r){return r.id===rn}function ua(r){return r.id===nn}function la(r){return r.id===Zr}function da(r){return r.id===on}function pa(r){switch(r.id){case tr:return 200;case rr:return 201;case nr:return 202;case tn:return 302;case en:return 304;case on:return 401;case Ii:return 403;case rn:return 404;case nn:return 409;case Zr:return 410;case ki:case Mi:return 412;case Vi:return 413;case Di:return 415;case Fi:return 422;case _i:return 429;case Li:return 504;default:return r.issue?.[0]?.code==="exception"?500:400}}function fa(r,e){if(!sr(r)||e===void 0)throw new f(r)}var f=class extends Error{constructor(t,n){super(cn(t),n);c(this,"outcome");this.name="OperationOutcomeError",this.outcome=t}};function ct(r){return r instanceof f?r.outcome:We(r)?r:C(Oe(r))}function Oe(r){return r?typeof r=="string"?r:or(r)?r.message:We(r)?cn(r):typeof r=="object"&&"code"in r&&typeof r.code=="string"?r.code:JSON.stringify(r):"Unknown error"}function cn(r){let e=r.issue?.map(Ui)??[];return e.length>0?e.join("; "):"Unknown error"}function Ui(r){let e;return r.details?.text?r.diagnostics?e=`${r.details.text} (${r.diagnostics})`:e=r.details.text:r.diagnostics?e=r.diagnostics:e="Unknown error",r.expression?.length&&(e+=` (${r.expression.join(", ")})`),e}function ve(r,e,t,n,i){let o={severity:r,code:e,details:{text:t},expression:[n]};return i&&(o.diagnostics=JSON.stringify(i)),o}function b(r,e){return ve("error","structure",e,r)}function un(r,e){return ve("error","invariant",`Constraint ${e.key} not met: ${e.description}`,r,{fhirpath:e.expression})}function ln(r,e,t,n){return ve("error","processing",e,r,{...n,error:t})}var ma={"http://hl7.org/fhirpath/System.String":"string"};function ha(r){let e={};return r.min!==0&&(e.min=r.min),r.max!==1&&Number.isFinite(r.max)?e.max=r.max:r.max===Number.POSITIVE_INFINITY&&(e.max=Number.MAX_SAFE_INTEGER),e.type=r.type?.map(t=>({...t,extension:void 0,code:ma[t.code]??t.code})),e}function Bi(r,e){let t=e.max&&e.max===Number.MAX_SAFE_INTEGER?Number.POSITIVE_INFINITY:e.max;return{path:r,description:"",type:e.type??[],min:e.min??0,max:t??1,isArray:!!t&&t>1,constraints:[]}}function dn(r){let e=Object.create(null);for(let[t,n]of Object.entries(r))e[t]={name:t,type:t,path:t,elements:Object.fromEntries(Object.entries(n.elements).map(([i,o])=>[i,Bi(i,o)])),constraints:[],innerTypes:[]};return e}var qi={Element:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]}}},BackboneElement:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},modifierExtension:{max:9007199254740991,type:[{code:"Extension"}]}}},Address:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},use:{type:[{code:"code"}]},type:{type:[{code:"code"}]},text:{type:[{code:"string"}]},line:{max:9007199254740991,type:[{code:"string"}]},city:{type:[{code:"string"}]},district:{type:[{code:"string"}]},state:{type:[{code:"string"}]},postalCode:{type:[{code:"string"}]},country:{type:[{code:"string"}]},period:{type:[{code:"Period"}]}}},Age:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},value:{type:[{code:"decimal"}]},comparator:{type:[{code:"code"}]},unit:{type:[{code:"string"}]},system:{type:[{code:"uri"}]},code:{type:[{code:"code"}]}}},Annotation:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},"author[x]":{type:[{code:"Reference",targetProfile:["http://hl7.org/fhir/StructureDefinition/Practitioner","http://hl7.org/fhir/StructureDefinition/Patient","http://hl7.org/fhir/StructureDefinition/RelatedPerson","http://hl7.org/fhir/StructureDefinition/Organization"]},{code:"string"}]},time:{type:[{code:"dateTime"}]},text:{min:1,type:[{code:"markdown"}]}}},Attachment:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},contentType:{type:[{code:"code"}]},language:{type:[{code:"code"}]},data:{type:[{code:"base64Binary"}]},url:{type:[{code:"url"}]},size:{type:[{code:"unsignedInt"}]},hash:{type:[{code:"base64Binary"}]},title:{type:[{code:"string"}]},creation:{type:[{code:"dateTime"}]}}},CodeableConcept:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},coding:{max:9007199254740991,type:[{code:"Coding"}]},text:{type:[{code:"string"}]}}},Coding:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},system:{type:[{code:"uri"}]},version:{type:[{code:"string"}]},code:{type:[{code:"code"}]},display:{type:[{code:"string"}]},userSelected:{type:[{code:"boolean"}]}}},ContactDetail:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},name:{type:[{code:"string"}]},telecom:{max:9007199254740991,type:[{code:"ContactPoint"}]}}},ContactPoint:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},system:{type:[{code:"code"}]},value:{type:[{code:"string"}]},use:{type:[{code:"code"}]},rank:{type:[{code:"positiveInt"}]},period:{type:[{code:"Period"}]}}},Contributor:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},type:{min:1,type:[{code:"code"}]},name:{min:1,type:[{code:"string"}]},contact:{max:9007199254740991,type:[{code:"ContactDetail"}]}}},Count:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},value:{type:[{code:"decimal"}]},comparator:{type:[{code:"code"}]},unit:{type:[{code:"string"}]},system:{type:[{code:"uri"}]},code:{type:[{code:"code"}]}}},DataRequirement:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},type:{min:1,type:[{code:"code"}]},profile:{max:9007199254740991,type:[{code:"canonical",targetProfile:["http://hl7.org/fhir/StructureDefinition/StructureDefinition"]}]},"subject[x]":{type:[{code:"CodeableConcept"},{code:"Reference",targetProfile:["http://hl7.org/fhir/StructureDefinition/Group"]}]},mustSupport:{max:9007199254740991,type:[{code:"string"}]},codeFilter:{max:9007199254740991,type:[{code:"DataRequirementCodeFilter"}]},dateFilter:{max:9007199254740991,type:[{code:"DataRequirementDateFilter"}]},limit:{type:[{code:"positiveInt"}]},sort:{max:9007199254740991,type:[{code:"DataRequirementSort"}]}}},DataRequirementCodeFilter:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},path:{type:[{code:"string"}]},searchParam:{type:[{code:"string"}]},valueSet:{type:[{code:"canonical",targetProfile:["http://hl7.org/fhir/StructureDefinition/ValueSet"]}]},code:{max:9007199254740991,type:[{code:"Coding"}]}}},DataRequirementDateFilter:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},path:{type:[{code:"string"}]},searchParam:{type:[{code:"string"}]},"value[x]":{type:[{code:"dateTime"},{code:"Period"},{code:"Duration"}]}}},DataRequirementSort:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},path:{min:1,type:[{code:"string"}]},direction:{min:1,type:[{code:"code"}]}}},Distance:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},value:{type:[{code:"decimal"}]},comparator:{type:[{code:"code"}]},unit:{type:[{code:"string"}]},system:{type:[{code:"uri"}]},code:{type:[{code:"code"}]}}},Dosage:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},modifierExtension:{max:9007199254740991,type:[{code:"Extension"}]},sequence:{type:[{code:"integer"}]},text:{type:[{code:"string"}]},additionalInstruction:{max:9007199254740991,type:[{code:"CodeableConcept"}]},patientInstruction:{type:[{code:"string"}]},timing:{type:[{code:"Timing"}]},"asNeeded[x]":{type:[{code:"boolean"},{code:"CodeableConcept"}]},site:{type:[{code:"CodeableConcept"}]},route:{type:[{code:"CodeableConcept"}]},method:{type:[{code:"CodeableConcept"}]},doseAndRate:{max:9007199254740991,type:[{code:"DosageDoseAndRate"}]},maxDosePerPeriod:{type:[{code:"Ratio"}]},maxDosePerAdministration:{type:[{code:"Quantity",profile:["http://hl7.org/fhir/StructureDefinition/SimpleQuantity"]}]},maxDosePerLifetime:{type:[{code:"Quantity",profile:["http://hl7.org/fhir/StructureDefinition/SimpleQuantity"]}]}}},DosageDoseAndRate:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},type:{type:[{code:"CodeableConcept"}]},"dose[x]":{type:[{code:"Range"},{code:"Quantity",profile:["http://hl7.org/fhir/StructureDefinition/SimpleQuantity"]}]},"rate[x]":{type:[{code:"Ratio"},{code:"Range"},{code:"Quantity",profile:["http://hl7.org/fhir/StructureDefinition/SimpleQuantity"]}]}}},Duration:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},value:{type:[{code:"decimal"}]},comparator:{type:[{code:"code"}]},unit:{type:[{code:"string"}]},system:{type:[{code:"uri"}]},code:{type:[{code:"code"}]}}},ElementDefinition:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},modifierExtension:{max:9007199254740991,type:[{code:"Extension"}]},path:{min:1,type:[{code:"string"}]},representation:{max:9007199254740991,type:[{code:"code"}]},sliceName:{type:[{code:"string"}]},sliceIsConstraining:{type:[{code:"boolean"}]},label:{type:[{code:"string"}]},code:{max:9007199254740991,type:[{code:"Coding"}]},slicing:{type:[{code:"ElementDefinitionSlicing"}]},short:{type:[{code:"string"}]},definition:{type:[{code:"markdown"}]},comment:{type:[{code:"markdown"}]},requirements:{type:[{code:"markdown"}]},alias:{max:9007199254740991,type:[{code:"string"}]},min:{type:[{code:"unsignedInt"}]},max:{type:[{code:"string"}]},base:{type:[{code:"ElementDefinitionBase"}]},contentReference:{type:[{code:"uri"}]},type:{max:9007199254740991,type:[{code:"ElementDefinitionType"}]},"defaultValue[x]":{type:[{code:"base64Binary"},{code:"boolean"},{code:"canonical"},{code:"code"},{code:"date"},{code:"dateTime"},{code:"decimal"},{code:"id"},{code:"instant"},{code:"integer"},{code:"markdown"},{code:"oid"},{code:"positiveInt"},{code:"string"},{code:"time"},{code:"unsignedInt"},{code:"uri"},{code:"url"},{code:"uuid"},{code:"Address"},{code:"Age"},{code:"Annotation"},{code:"Attachment"},{code:"CodeableConcept"},{code:"Coding"},{code:"ContactPoint"},{code:"Count"},{code:"Distance"},{code:"Duration"},{code:"HumanName"},{code:"Identifier"},{code:"Money"},{code:"Period"},{code:"Quantity"},{code:"Range"},{code:"Ratio"},{code:"Reference"},{code:"SampledData"},{code:"Signature"},{code:"Timing"},{code:"ContactDetail"},{code:"Contributor"},{code:"DataRequirement"},{code:"Expression"},{code:"ParameterDefinition"},{code:"RelatedArtifact"},{code:"TriggerDefinition"},{code:"UsageContext"},{code:"Dosage"},{code:"Meta"}]},meaningWhenMissing:{type:[{code:"markdown"}]},orderMeaning:{type:[{code:"string"}]},"fixed[x]":{type:[{code:"base64Binary"},{code:"boolean"},{code:"canonical"},{code:"code"},{code:"date"},{code:"dateTime"},{code:"decimal"},{code:"id"},{code:"instant"},{code:"integer"},{code:"markdown"},{code:"oid"},{code:"positiveInt"},{code:"string"},{code:"time"},{code:"unsignedInt"},{code:"uri"},{code:"url"},{code:"uuid"},{code:"Address"},{code:"Age"},{code:"Annotation"},{code:"Attachment"},{code:"CodeableConcept"},{code:"Coding"},{code:"ContactPoint"},{code:"Count"},{code:"Distance"},{code:"Duration"},{code:"HumanName"},{code:"Identifier"},{code:"Money"},{code:"Period"},{code:"Quantity"},{code:"Range"},{code:"Ratio"},{code:"Reference"},{code:"SampledData"},{code:"Signature"},{code:"Timing"},{code:"ContactDetail"},{code:"Contributor"},{code:"DataRequirement"},{code:"Expression"},{code:"ParameterDefinition"},{code:"RelatedArtifact"},{code:"TriggerDefinition"},{code:"UsageContext"},{code:"Dosage"},{code:"Meta"}]},"pattern[x]":{type:[{code:"base64Binary"},{code:"boolean"},{code:"canonical"},{code:"code"},{code:"date"},{code:"dateTime"},{code:"decimal"},{code:"id"},{code:"instant"},{code:"integer"},{code:"markdown"},{code:"oid"},{code:"positiveInt"},{code:"string"},{code:"time"},{code:"unsignedInt"},{code:"uri"},{code:"url"},{code:"uuid"},{code:"Address"},{code:"Age"},{code:"Annotation"},{code:"Attachment"},{code:"CodeableConcept"},{code:"Coding"},{code:"ContactPoint"},{code:"Count"},{code:"Distance"},{code:"Duration"},{code:"HumanName"},{code:"Identifier"},{code:"Money"},{code:"Period"},{code:"Quantity"},{code:"Range"},{code:"Ratio"},{code:"Reference"},{code:"SampledData"},{code:"Signature"},{code:"Timing"},{code:"ContactDetail"},{code:"Contributor"},{code:"DataRequirement"},{code:"Expression"},{code:"ParameterDefinition"},{code:"RelatedArtifact"},{code:"TriggerDefinition"},{code:"UsageContext"},{code:"Dosage"},{code:"Meta"}]},example:{max:9007199254740991,type:[{code:"ElementDefinitionExample"}]},"minValue[x]":{type:[{code:"date"},{code:"dateTime"},{code:"instant"},{code:"time"},{code:"decimal"},{code:"integer"},{code:"positiveInt"},{code:"unsignedInt"},{code:"Quantity"}]},"maxValue[x]":{type:[{code:"date"},{code:"dateTime"},{code:"instant"},{code:"time"},{code:"decimal"},{code:"integer"},{code:"positiveInt"},{code:"unsignedInt"},{code:"Quantity"}]},maxLength:{type:[{code:"integer"}]},condition:{max:9007199254740991,type:[{code:"id"}]},constraint:{max:9007199254740991,type:[{code:"ElementDefinitionConstraint"}]},mustSupport:{type:[{code:"boolean"}]},isModifier:{type:[{code:"boolean"}]},isModifierReason:{type:[{code:"string"}]},isSummary:{type:[{code:"boolean"}]},binding:{type:[{code:"ElementDefinitionBinding"}]},mapping:{max:9007199254740991,type:[{code:"ElementDefinitionMapping"}]}}},ElementDefinitionSlicingDiscriminator:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},type:{min:1,type:[{code:"code"}]},path:{min:1,type:[{code:"string"}]}}},ElementDefinitionSlicing:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},discriminator:{max:9007199254740991,type:[{code:"ElementDefinitionSlicingDiscriminator"}]},description:{type:[{code:"string"}]},ordered:{type:[{code:"boolean"}]},rules:{min:1,type:[{code:"code"}]}}},ElementDefinitionBase:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},path:{min:1,type:[{code:"string"}]},min:{min:1,type:[{code:"unsignedInt"}]},max:{min:1,type:[{code:"string"}]}}},ElementDefinitionType:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},code:{min:1,type:[{code:"uri"}]},profile:{max:9007199254740991,type:[{code:"canonical",targetProfile:["http://hl7.org/fhir/StructureDefinition/StructureDefinition","http://hl7.org/fhir/StructureDefinition/ImplementationGuide"]}]},targetProfile:{max:9007199254740991,type:[{code:"canonical",targetProfile:["http://hl7.org/fhir/StructureDefinition/StructureDefinition","http://hl7.org/fhir/StructureDefinition/ImplementationGuide"]}]},aggregation:{max:9007199254740991,type:[{code:"code"}]},versioning:{type:[{code:"code"}]}}},ElementDefinitionExample:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},label:{min:1,type:[{code:"string"}]},"value[x]":{min:1,type:[{code:"base64Binary"},{code:"boolean"},{code:"canonical"},{code:"code"},{code:"date"},{code:"dateTime"},{code:"decimal"},{code:"id"},{code:"instant"},{code:"integer"},{code:"markdown"},{code:"oid"},{code:"positiveInt"},{code:"string"},{code:"time"},{code:"unsignedInt"},{code:"uri"},{code:"url"},{code:"uuid"},{code:"Address"},{code:"Age"},{code:"Annotation"},{code:"Attachment"},{code:"CodeableConcept"},{code:"Coding"},{code:"ContactPoint"},{code:"Count"},{code:"Distance"},{code:"Duration"},{code:"HumanName"},{code:"Identifier"},{code:"Money"},{code:"Period"},{code:"Quantity"},{code:"Range"},{code:"Ratio"},{code:"Reference"},{code:"SampledData"},{code:"Signature"},{code:"Timing"},{code:"ContactDetail"},{code:"Contributor"},{code:"DataRequirement"},{code:"Expression"},{code:"ParameterDefinition"},{code:"RelatedArtifact"},{code:"TriggerDefinition"},{code:"UsageContext"},{code:"Dosage"},{code:"Meta"}]}}},ElementDefinitionConstraint:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},key:{min:1,type:[{code:"id"}]},requirements:{type:[{code:"string"}]},severity:{min:1,type:[{code:"code"}]},human:{min:1,type:[{code:"string"}]},expression:{type:[{code:"string"}]},xpath:{type:[{code:"string"}]},source:{type:[{code:"canonical",targetProfile:["http://hl7.org/fhir/StructureDefinition/StructureDefinition"]}]}}},ElementDefinitionBinding:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},strength:{min:1,type:[{code:"code"}]},description:{type:[{code:"string"}]},valueSet:{type:[{code:"canonical",targetProfile:["http://hl7.org/fhir/StructureDefinition/ValueSet"]}]}}},ElementDefinitionMapping:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},identity:{min:1,type:[{code:"id"}]},language:{type:[{code:"code"}]},map:{min:1,type:[{code:"string"}]},comment:{type:[{code:"string"}]}}},Expression:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},description:{type:[{code:"string"}]},name:{type:[{code:"id"}]},language:{min:1,type:[{code:"code"}]},expression:{type:[{code:"string"}]},reference:{type:[{code:"uri"}]}}},Extension:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},url:{min:1,type:[{code:"uri"}]},"value[x]":{type:[{code:"base64Binary"},{code:"boolean"},{code:"canonical"},{code:"code"},{code:"date"},{code:"dateTime"},{code:"decimal"},{code:"id"},{code:"instant"},{code:"integer"},{code:"markdown"},{code:"oid"},{code:"positiveInt"},{code:"string"},{code:"time"},{code:"unsignedInt"},{code:"uri"},{code:"url"},{code:"uuid"},{code:"Address"},{code:"Age"},{code:"Annotation"},{code:"Attachment"},{code:"CodeableConcept"},{code:"Coding"},{code:"ContactPoint"},{code:"Count"},{code:"Distance"},{code:"Duration"},{code:"HumanName"},{code:"Identifier"},{code:"Money"},{code:"Period"},{code:"Quantity"},{code:"Range"},{code:"Ratio"},{code:"Reference"},{code:"SampledData"},{code:"Signature"},{code:"Timing"},{code:"ContactDetail"},{code:"Contributor"},{code:"DataRequirement"},{code:"Expression"},{code:"ParameterDefinition"},{code:"RelatedArtifact"},{code:"TriggerDefinition"},{code:"UsageContext"},{code:"Dosage"},{code:"Meta"}]}}},HumanName:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},use:{type:[{code:"code"}]},text:{type:[{code:"string"}]},family:{type:[{code:"string"}]},given:{max:9007199254740991,type:[{code:"string"}]},prefix:{max:9007199254740991,type:[{code:"string"}]},suffix:{max:9007199254740991,type:[{code:"string"}]},period:{type:[{code:"Period"}]}}},Identifier:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},use:{type:[{code:"code"}]},type:{type:[{code:"CodeableConcept"}]},system:{type:[{code:"uri"}]},value:{type:[{code:"string"}]},period:{type:[{code:"Period"}]},assigner:{type:[{code:"Reference",targetProfile:["http://hl7.org/fhir/StructureDefinition/Organization"]}]}}},MarketingStatus:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},modifierExtension:{max:9007199254740991,type:[{code:"Extension"}]},country:{min:1,type:[{code:"CodeableConcept"}]},jurisdiction:{type:[{code:"CodeableConcept"}]},status:{min:1,type:[{code:"CodeableConcept"}]},dateRange:{min:1,type:[{code:"Period"}]},restoreDate:{type:[{code:"dateTime"}]}}},Meta:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},versionId:{type:[{code:"id"}]},lastUpdated:{type:[{code:"instant"}]},source:{type:[{code:"uri"}]},profile:{max:9007199254740991,type:[{code:"canonical",targetProfile:["http://hl7.org/fhir/StructureDefinition/StructureDefinition"]}]},security:{max:9007199254740991,type:[{code:"Coding"}]},tag:{max:9007199254740991,type:[{code:"Coding"}]},project:{type:[{code:"uri"}]},author:{type:[{code:"Reference"}]},onBehalfOf:{type:[{code:"Reference"}]},account:{type:[{code:"Reference"}]},accounts:{max:9007199254740991,type:[{code:"Reference"}]},compartment:{max:9007199254740991,type:[{code:"Reference"}]}}},Money:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},value:{type:[{code:"decimal"}]},currency:{type:[{code:"code"}]}}},Narrative:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},status:{min:1,type:[{code:"code"}]},div:{min:1,type:[{code:"xhtml"}]}}},ParameterDefinition:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},name:{type:[{code:"code"}]},use:{min:1,type:[{code:"code"}]},min:{type:[{code:"integer"}]},max:{type:[{code:"string"}]},documentation:{type:[{code:"string"}]},type:{min:1,type:[{code:"code"}]},profile:{type:[{code:"canonical",targetProfile:["http://hl7.org/fhir/StructureDefinition/StructureDefinition"]}]}}},Period:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},start:{type:[{code:"dateTime"}]},end:{type:[{code:"dateTime"}]}}},Population:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},modifierExtension:{max:9007199254740991,type:[{code:"Extension"}]},"age[x]":{type:[{code:"Range"},{code:"CodeableConcept"}]},gender:{type:[{code:"CodeableConcept"}]},race:{type:[{code:"CodeableConcept"}]},physiologicalCondition:{type:[{code:"CodeableConcept"}]}}},ProdCharacteristic:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},modifierExtension:{max:9007199254740991,type:[{code:"Extension"}]},height:{type:[{code:"Quantity"}]},width:{type:[{code:"Quantity"}]},depth:{type:[{code:"Quantity"}]},weight:{type:[{code:"Quantity"}]},nominalVolume:{type:[{code:"Quantity"}]},externalDiameter:{type:[{code:"Quantity"}]},shape:{type:[{code:"string"}]},color:{max:9007199254740991,type:[{code:"string"}]},imprint:{max:9007199254740991,type:[{code:"string"}]},image:{max:9007199254740991,type:[{code:"Attachment"}]},scoring:{type:[{code:"CodeableConcept"}]}}},ProductShelfLife:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},modifierExtension:{max:9007199254740991,type:[{code:"Extension"}]},identifier:{type:[{code:"Identifier"}]},type:{min:1,type:[{code:"CodeableConcept"}]},period:{min:1,type:[{code:"Quantity"}]},specialPrecautionsForStorage:{max:9007199254740991,type:[{code:"CodeableConcept"}]}}},Quantity:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},value:{type:[{code:"decimal"}]},comparator:{type:[{code:"code"}]},unit:{type:[{code:"string"}]},system:{type:[{code:"uri"}]},code:{type:[{code:"code"}]}}},Range:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},low:{type:[{code:"Quantity",profile:["http://hl7.org/fhir/StructureDefinition/SimpleQuantity"]}]},high:{type:[{code:"Quantity",profile:["http://hl7.org/fhir/StructureDefinition/SimpleQuantity"]}]}}},Ratio:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},numerator:{type:[{code:"Quantity"}]},denominator:{type:[{code:"Quantity"}]}}},Reference:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},reference:{type:[{code:"string"}]},type:{type:[{code:"uri"}]},identifier:{type:[{code:"Identifier"}]},display:{type:[{code:"string"}]}}},RelatedArtifact:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},type:{min:1,type:[{code:"code"}]},label:{type:[{code:"string"}]},display:{type:[{code:"string"}]},citation:{type:[{code:"markdown"}]},url:{type:[{code:"url"}]},document:{type:[{code:"Attachment"}]},resource:{type:[{code:"canonical",targetProfile:["http://hl7.org/fhir/StructureDefinition/Resource"]}]}}},SampledData:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},origin:{min:1,type:[{code:"Quantity",profile:["http://hl7.org/fhir/StructureDefinition/SimpleQuantity"]}]},period:{min:1,type:[{code:"decimal"}]},factor:{type:[{code:"decimal"}]},lowerLimit:{type:[{code:"decimal"}]},upperLimit:{type:[{code:"decimal"}]},dimensions:{min:1,type:[{code:"positiveInt"}]},data:{type:[{code:"string"}]}}},Signature:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},type:{min:1,max:9007199254740991,type:[{code:"Coding"}]},when:{min:1,type:[{code:"instant"}]},who:{min:1,type:[{code:"Reference",targetProfile:["http://hl7.org/fhir/StructureDefinition/Practitioner","http://hl7.org/fhir/StructureDefinition/PractitionerRole","http://hl7.org/fhir/StructureDefinition/RelatedPerson","http://hl7.org/fhir/StructureDefinition/Patient","http://hl7.org/fhir/StructureDefinition/Device","http://hl7.org/fhir/StructureDefinition/Organization"]}]},onBehalfOf:{type:[{code:"Reference",targetProfile:["http://hl7.org/fhir/StructureDefinition/Practitioner","http://hl7.org/fhir/StructureDefinition/PractitionerRole","http://hl7.org/fhir/StructureDefinition/RelatedPerson","http://hl7.org/fhir/StructureDefinition/Patient","http://hl7.org/fhir/StructureDefinition/Device","http://hl7.org/fhir/StructureDefinition/Organization"]}]},targetFormat:{type:[{code:"code"}]},sigFormat:{type:[{code:"code"}]},data:{type:[{code:"base64Binary"}]}}},SubstanceAmount:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},modifierExtension:{max:9007199254740991,type:[{code:"Extension"}]},"amount[x]":{type:[{code:"Quantity"},{code:"Range"},{code:"string"}]},amountType:{type:[{code:"CodeableConcept"}]},amountText:{type:[{code:"string"}]},referenceRange:{type:[{code:"SubstanceAmountReferenceRange"}]}}},SubstanceAmountReferenceRange:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},lowLimit:{type:[{code:"Quantity"}]},highLimit:{type:[{code:"Quantity"}]}}},Timing:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},modifierExtension:{max:9007199254740991,type:[{code:"Extension"}]},event:{max:9007199254740991,type:[{code:"dateTime"}]},repeat:{type:[{code:"TimingRepeat"}]},code:{type:[{code:"CodeableConcept"}]}}},TimingRepeat:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},"bounds[x]":{type:[{code:"Duration"},{code:"Range"},{code:"Period"}]},count:{type:[{code:"positiveInt"}]},countMax:{type:[{code:"positiveInt"}]},duration:{type:[{code:"decimal"}]},durationMax:{type:[{code:"decimal"}]},durationUnit:{type:[{code:"code"}]},frequency:{type:[{code:"positiveInt"}]},frequencyMax:{type:[{code:"positiveInt"}]},period:{type:[{code:"decimal"}]},periodMax:{type:[{code:"decimal"}]},periodUnit:{type:[{code:"code"}]},dayOfWeek:{max:9007199254740991,type:[{code:"code"}]},timeOfDay:{max:9007199254740991,type:[{code:"time"}]},when:{max:9007199254740991,type:[{code:"code"}]},offset:{type:[{code:"unsignedInt"}]}}},TriggerDefinition:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},type:{min:1,type:[{code:"code"}]},name:{type:[{code:"string"}]},"timing[x]":{type:[{code:"Timing"},{code:"Reference",targetProfile:["http://hl7.org/fhir/StructureDefinition/Schedule"]},{code:"date"},{code:"dateTime"}]},data:{max:9007199254740991,type:[{code:"DataRequirement"}]},condition:{type:[{code:"Expression"}]}}},UsageContext:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},code:{min:1,type:[{code:"Coding"}]},"value[x]":{min:1,type:[{code:"CodeableConcept"},{code:"Quantity"},{code:"Range"},{code:"Reference",targetProfile:["http://hl7.org/fhir/StructureDefinition/PlanDefinition","http://hl7.org/fhir/StructureDefinition/ResearchStudy","http://hl7.org/fhir/StructureDefinition/InsurancePlan","http://hl7.org/fhir/StructureDefinition/HealthcareService","http://hl7.org/fhir/StructureDefinition/Group","http://hl7.org/fhir/StructureDefinition/Location","http://hl7.org/fhir/StructureDefinition/Organization"]}]}}},MoneyQuantity:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},value:{type:[{code:"decimal"}]},comparator:{type:[{code:"code"}]},unit:{type:[{code:"string"}]},system:{type:[{code:"uri"}]},code:{type:[{code:"code"}]}}},SimpleQuantity:{elements:{id:{type:[{code:"string"}]},extension:{max:9007199254740991,type:[{code:"Extension"}]},value:{type:[{code:"decimal"}]},comparator:{max:0,type:[{code:"code"}]},unit:{type:[{code:"string"}]},system:{type:[{code:"uri"}]},code:{type:[{code:"code"}]}}},IdentityProvider:{elements:{authorizeUrl:{min:1,type:[{code:"string"}]},tokenUrl:{min:1,type:[{code:"string"}]},tokenAuthMethod:{type:[{code:"code"}]},userInfoUrl:{min:1,type:[{code:"string"}]},clientId:{min:1,type:[{code:"string"}]},clientSecret:{min:1,type:[{code:"string"}]},usePkce:{type:[{code:"boolean"}]},useSubject:{type:[{code:"boolean"}]}}}};function cr(r){return new fn(r).parse()}var Ie=dn(qi),mn=Object.create(null),Wi=Object.create(null),ya={"http://hl7.org/fhir/StructureDefinition/MoneyQuantity":"MoneyQuantity","http://hl7.org/fhir/StructureDefinition/SimpleQuantity":"SimpleQuantity","http://hl7.org/fhir/uv/sql-on-fhir/StructureDefinition/ViewDefinition":"ViewDefinition"};function Gi(r){let e;return e=Wi[r],e||(e=Wi[r]=Object.create(null)),e}function ur(r){let t=(Array.isArray(r)?r:r.entry?.map(n=>n.resource)??[]).filter(n=>n?.resourceType==="StructureDefinition");vn(t);for(let n of t)lr(n)}function lr(r){if(!r?.name)throw new Error("Failed loading StructureDefinition from bundle");if(r.resourceType!=="StructureDefinition")return;let e=cr(r),t=ya[r.url],n,i;t?(n=Ie,i=t):r.url===`http://hl7.org/fhir/StructureDefinition/${r.type}`||r.url===`https://medplum.com/fhir/StructureDefinition/${r.type}`||r.type?.startsWith("http://")||r.type?.startsWith("https://")?(n=Ie,i=r.type):(n=Gi(r.url),i=r.type),n[i]=e;for(let o of e.innerTypes)o.parentType=e,n[o.name]=o;mn[r.url]=e}function hn(){return Ie}function gn(r){return!!Ie[r]}function $e(r,e){if(e){let t=Gi(e)[r];if(t)return t}return Ie[r]}function ue(r,e){let t=$e(r,e);if(!t)throw new f(C("Unknown data type: "+r));return t}function ut(r){let e=Ie[r];return e&&dr(e)}function yn(r){return!!mn[r]}function xn(r){return mn[r]}var fn=class{constructor(e){c(this,"root");c(this,"elements");c(this,"elementIndex");c(this,"index");c(this,"resourceSchema");c(this,"slicingContext");c(this,"innerTypes");c(this,"backboneContext");if(!e.snapshot?.element||e.snapshot.element.length===0)throw new Error(`No snapshot defined for StructureDefinition '${e.name}'`);this.root=e.snapshot.element[0],this.elements=e.snapshot.element.slice(1),this.elementIndex=Object.create(null),this.index=0,this.resourceSchema={name:e.name,path:this.root.path,title:e.title,type:e.type,url:e.url,version:e.version,kind:e.kind,description:ba(e),elements:{},constraints:this.parseElementDefinition(this.root).constraints,innerTypes:[],summaryProperties:new Set,mandatoryProperties:new Set},this.innerTypes=[]}parse(){let e=this.next();for(;e;){if(e.sliceName)this.parseSliceStart(e);else if(e.id?.includes(":")){if(this.slicingContext?.current){let t=pn(e,this.slicingContext.path);this.slicingContext.current.elements[t]=this.parseElementDefinition(e)}}else{let t=this.parseElementDefinition(e);this.checkFieldEnter(e,t);let n=this.backboneContext;for(;n;){if(e.path?.startsWith(n.path+".")){n.type.elements[pn(e,n.path)]=t;break}n=n.parent}if(!n){let i=pn(e,this.root.path);e.isSummary&&this.resourceSchema.summaryProperties?.add(i.replace("[x]","")),t.min>0&&this.resourceSchema.mandatoryProperties?.add(i.replace("[x]","")),this.resourceSchema.elements[i]=t}this.checkFieldExit(e)}e=this.next()}return this.checkFieldExit(),this.innerTypes.length>0&&(this.resourceSchema.innerTypes=this.innerTypes),this.resourceSchema}checkFieldEnter(e,t){this.isInnerType(e)&&this.enterInnerType(e),this.slicingContext&&!je(this.slicingContext.path,e?.path)&&(this.slicingContext=void 0),e.slicing&&!this.slicingContext&&this.enterSlice(e,t)}enterInnerType(e){for(;this.backboneContext&&!je(this.backboneContext?.path,e.path);)this.innerTypes.push(this.backboneContext.type),this.backboneContext=this.backboneContext.parent;let t=ar(e);this.backboneContext={type:{name:t,type:t,path:e.path,title:e.label,description:e.definition,elements:{},constraints:this.parseElementDefinition(e).constraints,innerT