Typescript / Javascript object model for FHIR standard Model follows FHIR R4 specifications.
Definitions are io-ts based interfaces. See io-ts github project for further details. This means you can check your types at runtime.
npm i -S @ahryman40k/ts-fhir-types
or
yarn install @ahryman40k/ts-fhir-types
A medium article: Handle FHIR objects with Typescript
let's imagine your server or your application is receiving a FHIR Resource like an observation from a server or any external system
import { R4 } from '@ahryman40k/ts-fhir-types'
import { either as E } from 'fp-ts'
const json = {
"resourceType":"Patient"
};
const validationResult = R4.RTTI_Patient.decode(json)
if ( E.isLeft( validationResult) ) {
console.log(validationResult.left);
}
if ( E.isRight( validationResult) ) {
console.log(validationResult.right);
}
There is 2 points:
FHIR resources are also provided as interface, so you can inherit and implement your own object implementation.
Please don't hesitate to give me advice and feedback !