Resources is a set of TypeScript objects representing FHIR resources. They are 100% compatible with the from this library. If a resource object does not exist in Resources, you can use the FHIR types in the linked library instead.
The Resources in this package provide:
Constructor methods to help when constructing new instances of a resource
Static methods that are useful when working with a resource (string formatting, filtering, etc.)
import { Resources } from "plasma-fhir-app-utils";
Patient
// Get the patient's "official" name...
const officialName = Resources.Patient.getOfficialName(patient);
// Get the patient's "home" address...
const addrHome = Resources.Patient.getHomeAddress(patient);
Identifier
// Get identifier by system...
const id = Resources.Identifier.getIdentifierBySystem(patient.identifier, "urn:...");
// Get a displayable string...
const display = Resources.Identifier.toString(patient.identifier[0]);
HumanName
// Gets all names based on the given "use"...
const names = Resources.HumanName.getNamesByUse(patient.name, "maiden");
const officialName = Resources.Patient.getOfficialName(patient);
// Convert a name to a displayable string...
const sName = Resources.HumanName.toString(officialName);
ContactPoint
// Get contact by use...
const contact = Resources.ContactPoint.getContactPointByUse(patient.telecom, "home");
Reference
// Get a reference to the given patient
const patientRef = Resources.Reference.createPatientReference(patientId);
CodeableConcept
// Create a CodeableConcept from a singl Coding resource...
const cc = Resources.CodeableConcept.fromSingleCoding(coding);
// Get a displayable string for this CodeableConcept...
const onlyFirstCode = true;
const sCC = Resources.CodeableConcept.getDisplayText(cc, onlyFirstCode);
let cc = [....];
// Sort a CodeableConcept by the display text
cc = cc.sort(Resources.CodeableConcept.sortByDisplayText);
Coding
// Filter codings by system or code...
const codes1 = Resources.Coding.getCodingsBySystem(codings, "http://my-system");
const codes2 = Resources.Coding.getCodingsByCode(codings, "12345-1");
Quantity
// Get displayable string...
const sQuantity = Resources.Quantity.toString(quantity);
Age
// Construct an Age from a given quantity...
const age = Resources.Age.fromQuantity(quantity);
// Construct an Age from a given number of years...
const age = Resources.Age.fromYears(25);
Range
// Construct a Range from a set of numbers...
const range = Resources.Range.fromNumbers(25, 30);
// Construct a Range from a string...
const range = Resources.Range.fromString("25 - 30");
// Construct a Range from an age string...
const r1 = Resources.Range.fromAgeString("20's");
const r2 = Resources.Range.fromAgeString("25-30");
// Get a displayable string...
const s = Resources.Range.toString(range); // 25-30
// Get a displayabe string for a Range that represents an Age...
const s = Resources.Range.toAgeString(range); // 25-30y
Period
// Construct a Period from two strings...
const period = new Resources.Period("2000-01-01", "2010-12-31");
// Get the start/end dates of the given Period...
const startDate = Resources.Period.getStartDate(period);
const endDate = Resources.Period.getEndDate(period);
// Construct a Period from a Range that represents an age...
const dobPeriod = Resources.Period.fromAgeRange(age);
// Construct a Period from an age string...
const dobPeriod = Resources.Period.fromAgeString("20's");
// Get a displayable string...
const s = Resources.Period.toString(period);
Ratio
// Get a displayable string...
const s = Resources.Ratio.toString(ratio);
Address
// Get the address(es) that corresponds to the given "use"...
const addr = Resources.Address.getAddressesByUse(patient.address, "home");
// Get a displayable string...
const s = Resources.Address.toString(address);
Encounter
let encounters = [...];
// Sort encounters by start date...
encounters = encounters.sort(Resources.Encounter.sort);
AdministrativeGender
Set of values for use as "Administrative Gender"
FamilyMemberHistory_Relationship
Set of values to be used for the relationship property in a FamilyMemberHistory
FamilyMemberHistoryCondition
// Get a FamilyMemberHistoryCondition from a SNOMED code...
const c = Resources.FamilyMemberHistoryCondition(code, display, text, ageOfOnset);
DeviceDeviceName
// Get a displayable string...
const s = Resources.DeviceDeviceName.toString(deviceName);
Flag
// Get all flags with a given status...
const f = Resources.Flag.getFlagsByStatus(flags, "active");
DocumentReference
// Get all documents by the given status...
const d = Resources.DocumentReference.getDocumentReferencesByStatus(docs, "current");