Skip to main content

Resource types

Within Clinia's systems, there exist many types of resources, each with different properties describing healthcare-related entities and concepts. Resources can exist on their own or be related to one another through relationships. There are 2 types of resources:

  • Resource - exists as its own entity.
  • Contained Resource - exists in within the scope of another entity. A contained resource has at least one property that is a reference to a parent resource.

Resources

All resources have 3 basic properties which are generated and handled by Clinia's systems:

  • id - identifier of the resource.
  • createdAt - represents the instant at which the resource was created.
  • updatedAt - represents the instant at which the resource was last updated.

Other than those 3 common properties, each resource type has its own definition.

Clinic

Type: clinic
A resource offering health services in a physical place or at home.

Properties

Relationships

KeyTypeDescription
practiceArray<Practice>Practices associated with this resource.
specialityArray<Speciality>Specialities associated with this resource.
walkInWalk-InWalk-in associated with this resource.

Relationships for a clinic are not managed through the clinic itself. Rather, they are managed by creating, updating and deleting other resources referencing the targeted clinic.

  • For practice:
    • To associate a practice to a clinic, one must create a Practice with the healthFacility property referencing the targeted clinic.
    • To disassociate a practice from a clinic, one must delete the targeted Practice.
  • For speciality:
    • To associate a speciality to a clinic, one must create a Speciality with the parent property referencing the targeted clinic.
    • To disassociate a speciality from a clinic, one must delete the targeted Speciality.
  • For walkIn:
    • To associate a walkIn to a clinic, one must create a Walk-In with the healthFacility property referencing the targeted clinic.
    • To disassociate a walkIn from a clinic, one must delete the targeted Walk-In.

CLSC

Type: clsc
In Quebec, a public organization offering frontline health services.

Properties

Relationships

KeyTypeDescription
practiceArray<Practice>Practices associated with this resource.
specialityArray<Speciality>Specialities associated with this resource.
walkInWalkInWalk-in associated with this resource.

Relationships for a CLSC are not managed through the CLSC itself. Rather, they are managed by creating, updating and deleting other resources referencing the targeted CLSC.

  • For practice:
    • To associate a practice to a CLSC, one must create a Practice with the healthFacility property referencing the targeted CLSC.
    • To disassociate a practice from a CLSC, one must delete the targeted Practice.
  • For speciality:
    • To associate a speciality to a CLSC, one must create a Speciality with the parent property referencing the targeted CLSC.
    • To disassociate a speciality from a CLSC, one must delete the targeted Speciality.
  • For walkIn:
    • To associate a walkIn to a CLSC, one must create a Walk-In with the healthFacility property referencing the targeted CLSC.
    • To disassociate a walkIn from a CLSC, one must delete the targeted Walk-In.

Community Resource

Type: community
Community-oriented resource: helpline, addiction center, shelter.

Properties

Relationships

KeyTypeDescription
practiceArray<Practice>Practices associated with this resource
specialityArray<Speciality>Specialities associated with this resource.

Relationships for a community resource are not managed through the community resource itself. Rather, they are managed by creating, updating and deleting other resources referencing the targeted community resource.

  • For practice:
    • To associate a practice to a community resource, one must create a Practice with the healthFacility property referencing the targeted community resource.
    • To disassociate a practice from a community resource, one must delete the targeted Practice.
  • For speciality:
    • To associate a speciality to a community resource, one must create a Speciality with the parent property referencing the targeted community resource.
    • To disassociate a speciality from a community resource, one must delete the targeted Speciality.

Hospital

Type: hospital
Institution where the sick or injured are given medical or surgical care.

Properties

Relationships

KeyTypeDescription
practiceArray<Practice>Practices associated with this resource.
specialityArray<Speciality>Specialities associated with this resource.

Relationships for a hospital are not managed through the community resource itself. Rather, they are managed by creating, updating and deleting other resources referencing the targeted hospital.

  • For practice:
    • To associate a practice to a hospital, one must create a Practice with the healthFacility property referencing the targeted hospital.
    • To disassociate a practice from a hospital, one must delete the targeted Practice.
  • For speciality:
    • To associate a speciality to a hospital, one must create a Speciality with the parent property referencing the targeted hospital.
    • To disassociate a speciality from a hospital, one must delete the targeted Speciality.

Long term care

Type: long-term-care
A facility that provides rehabilitative, restorative, and/or ongoing skilled nursing care to patients or residents in need of assistance with activities of daily living.

Properties

Relationships

KeyTypeDescription
practiceArray<Practice>Practices associated with this resource.
specialityArray<Speciality>Specialities associated with this resource.

Relationships for a long term case resource are not managed through the community resource itself. Rather, they are managed by creating, updating and deleting other resources referencing the targeted long term case resource.

  • For practice:
    • To associate a practice to a long term case resource, one must create a Practice with the healthFacility property referencing the targeted long term case resource.
    • To disassociate a practice from a long term case resource, one must delete the targeted Practice.
  • For speciality:
    • To associate a speciality to a long term case resource, one must create a Speciality with the parent property referencing the targeted long term case resource.
    • To disassociate a speciality from a long term case resource, one must delete the targeted Speciality.

Pharmacy

Type: phamarcy
Location where drugs are distributed and sold.

Properties

Relationships

KeyTypeDescription
practiceArray<Practice>Practices associated with this resource.
specialityArray<Speciality>Specialities associated with this resource.
walkInWalkInWalk-in associated with this resource.

Relationships for a pharmacy are not managed through the pharmacy itself. Rather, they are managed by creating, updating and deleting other resources referencing the targeted pharmacy.

  • For practice:
    • To associate a practice to a pharmacy, one must create a Practice with the healthFacility property referencing the targeted pharmacy.
    • To disassociate a practice from a pharmacy, one must delete the targeted Practice.
  • For speciality:
    • To associate a speciality to a pharmacy, one must create a Speciality with the parent property referencing the targeted pharmacy.
    • To disassociate a speciality from a pharmacy, one must delete the targeted Speciality.
  • For walkIn:
    • To associate a walkIn to a pharmacy, one must create a Walk-In with the healthFacility property referencing the targeted pharmacy.
    • To disassociate a walkIn from a pharmacy, one must delete the targeted Walk-In.

Practitioner

Type: practitioner
Professional resource: A healthcare professional.

Properties

Relationships

KeyTypeDescription
practiceArray<Practice>Practices associated with this resource.
professionArray<Profession>Professions associated with this resource.

Relationships for a practitioner are not managed through the practitioner itself. Rather, they are managed by creating, updating and deleting other resources referencing the targeted practitioner.

  • For practice:
    • To associate a practice to a practitioner, one must create a Practice with the practitioner property referencing the targeted practitioner.
    • To disassociate a practice from a practitioner, one must delete the targeted Practice.
  • For profession:
    • To associate a profession to a practitioner, one must create a Profession with the parent property referencing the targeted practitioner.
    • To disassociate a profession from a practitioner, one must delete the targeted Profession.

Rehabilitation Center

Type: rehabilitation-center
A medical establishment that provides programs for rehabilitating mentally or physically disabled individuals.

Properties

Relationships

KeyTypeDescription
practiceArray<Practice>Practices associated with this resource.
specialityArray<Speciality>Specialities associated with this resource.

Relationships for a rehabilitation center are not managed through the rehabilitation center itself. Rather, they are managed by creating, updating and deleting other resources referencing the targeted rehabilitation center.

  • For practice:
    • To associate a practice to a rehabilitation center, one must create a Practice with the healthFacility property referencing the targeted rehabilitation center.
    • To disassociate a practice from a rehabilitation center, one must delete the targeted Practice.
  • For speciality:
    • To associate a speciality to a rehabilitation center, one must create a Speciality with the parent property referencing the targeted rehabilitation center.
    • To disassociate a speciality from a rehabilitation center, one must delete the targeted Speciality.

Contained Resources

Overspecialization

Type: overspecialization
Specialization of another ontology concept.

Properties

The overspecialization property references the parent resource for which this resource is an overspecialization for.

The concept property should be populated with a coding value coming from the overspecialization value set.


Practice

Type: practice
Link between a [Practitioner](#practitioner) and the various other types of resources. Indicates that a health professional is practicing at a given health facility.

Properties

The healthFacility property references a parent Clinic, Community Resource, Hospital, Long Term Care, Pharmacy or a Rehabilitation Center.

The practitioner property references a parent Practitioner.


Profession

Type: profession
A healthcare profession.

Properties

The parent property references the parent Practitioner to which this profession is associated.

The concept property should be populated with a coding value coming from the profession value set.

Relationships

KeyTypeDescription
overspecializationArray<Overspecialization>Overspecialization associated with this resource.
serviceArray<Service>Services associated with this resource.

Relationships for a profession are not managed through the profession itself. Rather, they are managed by creating, updating and deleting other resources referencing the targeted profession.

  • For overspecialization:
    • To associate an overspecialization to a profession, one must create an overspecialization with the overspecialization property referencing the targeted profession. The concept property for this newly created overspecialization should be a coding value coming from the value set for the targeted profession.
    • To disassociate an overspecialization from a profession, one must delete the targeted Overspecialization.
  • For service:
    • To associate a service to a profession, one must create a Service with the parent property referencing the targeted profession. The concept property for this newly created service should be a coding value coming from the value set for the targeted profession.
    • To disassociate a speciality from a profession, one must delete the targeted Service.

Service

Type: service
A healthcare service.

Properties

The parent property references the parent Speciality or Profession.

The concept property should be populated with a coding value coming from the service value set.

Relationships

KeyTypeDescription
overspecializationArray<Overspecialization>Overspecialization associated with this resource.
serviceArray<Service>Services associated with this resource.

Relationships for a service are not managed through the service itself. Rather, they are managed by creating, updating and deleting other resources referencing the targeted service.

  • For overspecialization:
    • To associate an overspecialization to a service, one must create an overspecialization with the overspecialization property referencing the targeted service. The concept property for this newly created overspecialization should be a coding value coming from the value set for the targeted service.
    • To disassociate an overspecialization from a profession, one must delete the targeted Overspecialization.
  • For service:
    • To associate a service to a service, one must create a Service with the parent property referencing the targeted service. The concept property for this newly created service should be a coding value coming from the value set for the targeted service.
    • To disassociate a service from a service, one must delete the targeted Service.

Walk-In

Type: walk-in
A walk-in clinic/department inside another resource.

Properties

The healthFacility property references the parent Clinic or CLSC under which the walk-in exists.

Relationships

KeyTypeDescription
specialityArray<Speciality>Specialities associated with this resource.

Relationships for a walk-in are not managed through the walk-in itself. Rather, they are managed by creating, updating and deleting other resources referencing the targeted walk-in.

  • For speciality:
    • To associate a speciality to a walk-in, one must create a Speciality with the parent property referencing the targeted walk-in.
    • To disassociate a speciality from a walk-in, one must delete the targeted Speciality.

Properties

acceptNewPatients

BooleanCardinality: 0:1
If the resource accept new patients or not.

address

AddressCardinality: 0:1
Address of the physical location where the resource dispenses health services.

ageRange

CompositeCardinality: 0:*
Description of an age range.
ChildrenTypeDescription
labelCoding Binding: age-categoryCategorie of the age range.
upperIntegerUpper bound of the age range. Value should be in months
lowerIntegerLower bound of the age range. Value should be in months
VALIDATION

Validation -> The lower and upper values must be between 0 and 1800, inclusively.

Example
{
"ageRange": {
"label": {
"system": "age-category",
"version": 1,
"value": "children",
"displayName": [
{
"code": "en",
"value": "Children"
},
{
"code": "fr",
"value": "Enfants"
}
]
},
"upper": 120,
"lower": 72
}
}

casesToRefer

MarkdownCardinality: 0:1
Details on what cases should be referred to this resource.

concept

CodingCardinality: 1:1
Holds a concept from Clinia's taxonomy, either a speciality, service, profession or overspecialization. This property is not tied to a specific binding and its value is dependent on where it is used.

clientele

CompositeCardinality: 0:1
What clientele this resource accepts.
ChildrenTypeDescription
ageRangeArray<Composite>Collection of age range description of the targeted clientele.
Example
{
"clientele": {
"ageRange": [
{
"label": {
"system": "age-category",
"version": 1,
"value": "children",
"displayName": [
{
"code": "en",
"value": "Children"
},
{
"code": "fr",
"value": "Enfants"
}
]
},
"upper": 120,
"lower": 72
}
]
}
}

communication

CompositeCardinality: 0:*
List of languages spoken by this resource.
ChildrenTypeDescription
languageCoding Binding: spoken-languageLanguage.
preferredBooleanIf the language is preferred by the resource over others.
Example
{
"communication": [
{
"language": {
"system": "spoken-language",
"version": 1,
"value": "en",
"displayName": [
{
"code": "en",
"value": "English"
},
{
"code": "fr",
"value": "Anglais"
}
]
},
"preferred": true
},
{
"language": {
"system": "spoken-language",
"version": 1,
"value": "fr",
"displayName": [
{
"code": "en",
"value": "French"
},
{
"code": "fr",
"value": "Français"
}
]
},
"preferred": false
}
]
}

createdAt

InstantCardinality: 1:1readonly
Instant at which the resource was created.

email

EmailContactPointCardinality: 0:*
Collection of email contact points.
VALIDATION

Validation -> Value must match regex expression ^.+@.+\..+$

fax

FaxContactPointCardinality: 0:*
Collection of fax contact points.

gender

CodingCardinality: 0:1Binding: administrative-gender
Administrative gender of the resource.

healthFacility

ReferenceCardinality: 1:1
Reference pointing to parent resource.
VALIDATION

Validation -> Only the following reference types are accepted:

  • clinic
  • clsc
  • pharmacy
  • community
  • long-term-care
  • rehabilitation-center
  • hospital

humanName

HumanNameCardinality: 0:1
Name of a human person.

identifier

IdentifierCardinality: 0:*
List of additional identifiers for the resource.

internalNote

MarkdownCardinality: 0:1
Private notes and precisions.

isPayingMember

BooleanCardinality: 0:1
If the resource is a paying member.

isValidated

BooleanCardinality: 0:1
If the resource is validated.

language

CodingCardinality: 0:*Binding: spoken-language
Languages in which the health services are provided by the resource.

location

GeoPointCardinality: 0:1
Coordinates of the physical location where the resource dispenses health services.

modalities

MarkdownCardinality: 0:1
Details on the modalities for this resource.

name

SymbolCardinality: 1:1
Name of the resource.
VALIDATION

Validation -> Value cannot be null or an empty chain of characters.

newPatientBookingDetail

CompositeCardinality: 0:1
Information for new patients to book an appointment to receive care. This property should be populated only if booking information for new patient is different than for existing patients.
ChildrenTypeDescription
phonePhoneContactPointNumber where patients can call to book an appointment.
onlineBookingUrlContactPointUrl patients can visit to book an appointment.
appointmentOpeningDayCoding Binding: booking-dayDay from which a patient can book a appointment for the current day
appointmentOpeningTimeTimeTime from which a patient can book a appointment for the current day
noteMarkdownPublicly visible notes and precisions.
Example
{
"newPatientBookingDetail": {
"phone": {
"number": "5146077277",
"type": "main",
"extension": null
},
"online-booking": {
"url": "https://clinia.com/booking"
},
"appointmentOpeningTime": "08:00:00",
"appointmentOpeningDay": {
"system": "booking-day",
"version": 1,
"value": "same-day",
"displayName": [
{
"code": "en",
"value": "The same day"
},
{
"code": "fr",
"value": "Le jour même"
}
]
},
"note": "Be persistant when calling, they are very busy."
}
}

note

MarkdownCardinality: 0:1
Publicly visible notes and precisions.

onlineBooking

UrlCardinality: 0:1
Url where a patient can book an appointment online.
VALIDATION

Validation -> Value must match regex expression https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)

openingHours

TimeSlotCardinality: 0:*
Opening hours.
NOTE

The openingHours property acts as a value object where the whole collection is the value for the property. This means that, when updating this property, the existing TimeSlot values will be overwritten by the incoming values.

caution

Validation -> For each TimeSlot, start and end must be specified and start must be earlier than end

overspecialization

ReferenceCardinality: 0:1
Reference pointing to parent resource, indicating the current resource is an overspecialization.
VALIDATION

Validation -> Only the following reference types are accepted:

  • service
  • speciality
  • profession

parent

ReferenceCardinality: 0:1
Reference pointing to parent resource.
VALIDATION

Validation -> Only the following reference types are accepted:

  • clinic
  • clsc
  • pharmacy
  • community
  • long-term-care
  • rehabilitation-center
  • hospital
  • practitioner
  • speciality
  • service
  • clinic
  • profession

patientBookingDetail

CompositeCardinality: 0:1
Information for all patients to book an appointment to receive care. If booking information are the same for all kind of patients (new or existing), then only this property should be populated.
ChildrenTypeDescription
phonePhoneContactPointNumber where patients can call to book an appointment.
onlineBookingUrlContactPointUrl patients can visit to book an appointment.
appointmentOpeningDayCoding Binding: booking-dayDay from which a patient can book a appointment for the current day
appointmentOpeningTimeTimeTime from which a patient can book a appointment for the current day
noteMarkdownPublicly visible notes and precisions.
Example
{
"patientBookingDetail": {
"phone": {
"number": "5146267588",
"type": "main",
"extension": null
},
"online-booking": {
"url": "https://clinia.com/booking"
},
"appointmentOpeningTime": "08:00:00",
"appointmentOpeningDay": {
"system": "booking-day",
"version": 1,
"value": "day-before",
"displayName": [
{
"code": "en",
"value": "The day before"
},
{
"code": "fr",
"value": "La veille"
}
]
},
"note": "Be persistant when calling, they are very busy."
}
}

phone

PhoneContactPointCardinality: 0:*
Collection of phone contact points.

practitioner

ReferenceCardinality: 1:1
Reference pointing to parent resource.
VALIDATION

Validation -> Only the following reference types are accepted:

  • practitioner

social

UrlContactPointCardinality: 0:*
Collection of social media hyperlinks.

title

CodingCardinality: 0:1Binding: professional-title
Professional title of the resource.

registration

CompositeCardinality: 0:*
Registrations the resource has. One usually has one for each region in which they are authorized to practice in.
ChildrenTypeDescription
practiceNumberSymbolPractice number.
regionCodeCoding Binding: ca-regionRegion where this practice is active.
Example
{
"registration": [
{
"regionCode": {
"system": "ca-region",
"version": 1,
"value": "qc",
"displayName": [
{
"code": "en",
"value": "Quebec"
},
{
"code": "fr",
"value": "Québec"
}
]
},
"practiceNumber": "12345B"
}
]
}

tag

SymbolCardinality: 0:*
Tags that better describes the resource.

updatedAt

InstantCardinality: 1:1readonly
Instant at which the resource last updated.