0.4.7 • Published 5 months ago

@i4mi/mhealth-proto-components v0.4.7

Weekly downloads
-
License
MIT
Repository
-
Last release
5 months ago

mHealth Component Library

This library provides Vue/Quasar components and utils for using in demo apps for a mHealth / FHIR endpoint for the Swiss EPR.

For examples of using the components, check out https://github.com/mHealth-Prototyp/Basic-Prototyp.

Content Table

1 How to set up

These components are made for Quasar web applications. To include one or more components in your app, you first need to install the package, using npm install @i4mi/mhealth-proto-components.

1.1 Set up components

You can import the components directly in the <script> tag of your *.vue File as such: import { PatientSearch, PatientView } from '@i4mi/mhealth-proto-components'; and register them in the components property of your definceComponent() function and use them as normal components in your <template> (see below for each component's props).

1.2 Set up util classes

Before you can use the util classes, you need to initialize them and pass on the projects environment variables (see below for which util needs which variables). You could do this on every page you need the util, but the easiest way is to initialize them once for the whole project.

In Quasar, this is done in the src/boot directory. This file has also be referenced in quasar.conf.js under boot: [],.

import { boot } from 'quasar/wrappers';
import { FhirUtils } from '@i4mi/mhealth-proto-components';

const fhirUtils = new FhirUtils('https://my.base.url');
// ... more utils

// Type declaration
declare module '@vue/runtime-core' {
  export interface ComponentCustomProperties {
    $fhirUtils: FhirUtils;
    // ... more utils
  }
}

export default boot(({ app }) => {
  // Set global variables
  app.config.globalProperties.$fhirUtils = fhirUtils;
});

export { fhirUtilss };

After initializing this way, the util can be referred to in the whole project with this.$fhirUtils.

2 Utils

To provide core functionalities in a reusable manner, several util classes have been created:

  • epdPlaygroundUtils.ts: Implements query functions based on FHIR profiles PIXm, PDQm and MHD required for the profile "Mobile access to Health Documents (MHD) by using the Mobile Access Gateway.
  • fhirUtils.ts: Provides necessary SNOMED codes in FHIR format, mapping functions and a functionality to create FHIR resources, e.g. Document Bundle.
  • patientUtils: Provides methods for generating demo patient data.

2.1 EpdPlaygroundUtils

The constructor of the EpdPlaygroundUtils needs the follwing arguments:

  • settings: A settings object, with following properties:
    • FHIR_4_CONTENT_TYPE: The content-type header, specifying the FHIR version (for FHIR R4 use 'application/fhir+json fhirVersion=4.0')
    • BASE_URL: The base-url for the FHIR server (when using EPD Playground and Mobile Access Gateway, this is 'https://test.ahdis.ch/mag-bfh/fhir/')
    • MESSAGE_ENDPOINT: The endpoint for processing FHIR messages on the FHIR server used (usually '$process-message')
    • DEFAULT_TIMEOUT: Number describing how long to wait until a operation times out (in milliseconds, e.g. '20000')
    • SOURCE_ENDPOINT: Source endpoint used for FHIR messaging (e.g. 'http://example.com/patientSource')
    • TARGET_ENDPOINT: Target endpoint used for FHIR messaging (e.g. 'http://example.com/patientEndpoint')
  • oids: An object providing the urn:oid's used in the project, with following properties:
    • eprSpid: OID for the EPR SPID (is: 'urn:oid:2.16.756.5.30.1.127.3.10.3')
    • mpiId: OID for the Master Patient Index (on EPD Playground: 'urn:oid:1.1.1.99.1')
    • ahv: OID for the swiss AHV number code system (is: 'urn:oid:2.16.756.5.32')
    • local: OID for your local system, depends on your use case
    • app: OID for your application, depends on your use case

Following FHIR transactions are provided by the epdPlaygroundUtils class:

FunctionDescriptionFHIR TransactionParamsReturns
useITI65(_documentBundle: Iti65DocumentBundle)Uploads a document.ITI-65 Provide Document Bundle_documentBundle: a Document Bundle representing a document, can be created with createIti65Bundle() from fhirUtils.tsA Promise with the uploaded Document Bundle with servers IDs
useITI66(_params: Partial\)Search for Submission Sets by given search parameters.ITI-66 Find Document Lists_params: the FHIR search parameters (see ihe.net for more details). The _params object can contain one or more of following properties: - code (as string)- date (as string)- designationType (as string)- identifier (as string)- patient (as string)- sourceId (as string)- status (as string or ListStatus when using @i4mi/fhir_r4)- 'patient.identifier' (as string)- 'source.given' (as string)- 'source.family' (as string)A Promise with an Array of List resources matching the parameters
useITI67(_params: Partial\)Searches for documents of given patient and search parameters.ITI-67 Find Document References_params: the FHIR search parameters (see ihe.net for more details). The _params object can contain one or more of following properties:- 'author.given' (as string)- 'author.family' (as string)- category (as string)- creation (as string)- date (as string)- event (as string)- facility (as string)- format (as string)- identifier (as string)- patient (as string)- 'patient.identifier' (as string)- period (as string)- related (as string)- 'security-label' (as string)- setting (as string)- sourceId (as string)- status (as string or DocumentReferenceStatus when using @i4mi/fhir_r4)- type (as string)A Promise with an array of DocumentReference resources matching the search parameters
useITI68(_reference: DocumentReference | string)Downloads document by given DocumentReference or URL.ITI-68 Retrieve Document_reference: a DocumentReference resource or a string containing and URL to a documentA Promise with the document as a string
useITI78(_params: Partial\)Search patients by demographic characteristics.ITI-78 Mobile Patient Demographics Query_params: the FHIR search parameters (see ihe.net for more details). The _params object can contain one or more of following properties:- gender (as string)- family (as string)- given (as string)- 'address-city' (as string)- 'address-country' (as string)- 'address-postalcode' (as string)- 'address-state' (as string)Currently, not all IHE parameters are supported by the Mobile Access Gateway.A Promise with an array of Patient resources matching the search parameters.
useITI83(_sourceIdentifier: string, _targetSystems?: string[])Request the MPI-PID and the EPR-SPID identifier for a given local patient identifier.ITI-83 Mobile Patient Identifier Cross-Reference Query_sourceIdentifier: local patient identifier (as string)_targetSystems?: target systems as OIDs (optional, as Array of strings)A Promise with a FHIR resource Parameters
useITI93(_patient: Patient, _action: ITI_93_ACTION, _mergePatient?: Patient)Adds or edits patient data.CH:PIXm ITI-93 Mobile Patient Identity Feed_patient: the Patient resource to add / update / merge / delete_action: wether to ADD / UPDATE or RESOLVE DUPLICATE (REMOVE is not supported by EPD Playground / MAG) (as string or ITI_93_ACTION)_mergePatient?: optional, only needed when _action is merge: Patient resource for the patient to replace the original _patient when merging.A Promise with a the server response (the uploaded Bundle with servers IDs).
fetchDocumentReference(_id: string)Helper function to fetch a DocumentReference with known ID-_id: The known FHIR id of the DocumentReference resource.A Promise for the DocumentReference Resource.
getOids()Returns the preset project OIDs--An object containing the OIDs for eprSpid, mpiId, local, ahv and app as string.

2.2 FhirUtils

The constructor for patientUtils does not need any arguments:

  • baseUrl: The base URL of the FHIR endpoint you're using as a string.
FunctionDescriptionParamsReturns
createIti65Bundle(patient: Patient, file: File, metaData: Iti65Metadata)Creates a document bundle with a binary file according to ITI-65.patient: the patient FHIR resource the document belongs to file: the file to upload metaData: meta data describing the content of the file:- title (as string)- description (as string)- isFhir? indicates that a .json file has FHIR content (as boolean)- contentLanguage (as string)- sourceIdentifier (as string)- categoryCoding (as SystemCode)- typeCoding (as SystemCode)- facilityCoding (as SystemCode)- practiceSettingCoding (as SystemCode)A promise with a document bundle resource that can be used for the upload.
createCHAllergyIntolerance(paramsAllergy: AllergyIntoleranceParams, paramsEpisodes?: AllergyIntoleranceEpisodeParams[])Creates an AllergyIntolerance resource according to CH AllergyIntolerance specification.paramsAllergy: Information about allergy or intolerance (for detailed parameter types, see @i4mi/fhir_r4):- code (as CodeableConcept)- patient (as Patient)- id? (as string)- meta? (as Meta)- implicitRules? (as uri)- language? (as code)- text? (as Narrative)- contained? (as Resource[])- extension? (as Extension[])- abatementDateTimeUvIps? (as dateTime)- identifier? (as Identifier[])- clinicalStatus? (as CodeableConcept)- verificationStatus? (as CodeableConcept)- type? (as AllergyIntoleranceType)- category? (as AllergyIntoleranceCategory[])- criticality? (as AllergyIntoleranceCriticality)- encounter? (as Reference)- onsetDateTime? (as dateTime)- recordedDate? (as dateTime)- recorder? (as Reference)- asserter? (as Reference)- lastOccurrence? (as dateTime)- note? (as Annotation[])paramsEpisodes: Adverse Reaction Events linked to exposure to substance (for detailed parameter types, see @i4mi/fhir_r4):- id? (as string)- extension? (as Extension[])- allergyintoleranceCertainty? (as CodeableConcept)- allergyintoleranceDuration? (as Duration)- openEHRLocation? (as CodeableConcept)- openEHRExposureDate? (as dateTime)- openEHRExposureDuration? (as Duration)- openEHRExposureDescription? (as string)- openEHRManagement? (as string)- substance? (as CodeableConcept)- manifestation (as CodeableConcept[])- description? (as string)- onset? (as dateTime)- severity? (as AllergyIntoleranceSeverity)- exposureRoute? (as CodeableConcept)- note? (as Annotation[])An AllergyIntolerance resource conforming to the CH AllergyIntolerance profile.
findClassTypeCombination(classCode: string)Returns possible types for a given class code according to this mapping: ehealthsuisse.art-decor.orgclassCode: class code to look for possible type codesAn Array of SystemCodeExtensions which contain possible type codes.
getClassCodeString(code: string, language: FhirUtilLanguageType)Returns a display string for a given DocumentReference category (DocumentEntry.classCode) code.code: SNOMED CT code of a category as stringlanguage: The shorthand of the language of the display string ('en', de','fr', 'it' or 'rm')The display property of the class, respectively category coding.
getTypeCodeString(code: string, language: FhirUtilLanguageType)Returns a display string for a given DocumentReference type (DocumentEntry.typeCode) code.code: SNOMED CT code of a type as stringlanguage: The shorthand of the language of the display string ('en', de','fr', 'it' or 'rm')The display property of the type coding.
getFacilityClassCodeString(code: string, language: FhirUtilLanguageType)Returns a display string for a given DocumentReference context facility code.code: SNOMED CT code of a facility as stringlanguage: The shorthand of the language of the display string ('en', de','fr', 'it' or 'rm')The display property of a facility class coding.
createFhirOrganization(_name: string, _identifier: Identifier, _contact: OrganizationContact, _address?: Address)Creates an Organization resource from the given parameters._name: name of the organization_identifier: identifier of the organization_contact: contact information of the organization:- given (as string)- family (as string)- phone? (as string)- mail? (as string)_address: address of the organizationAn Organization FHIR resource with random UUID as id.
findClassTypeCombination(classCode: string)Returns possible types for a given class code according to this mappingclassCode: class code to look for possible type codesAn array of matching types as SystemCodeExtension.
getDisplayByCodeAndLanguage(code: string, codeLibrary: SystemCodeExtension[] | AllergySystemCodeExtension[], language: FhirUtilLanguageType)Returns a display string for a given system code according to code and language.code: code of some system codingcodeLibrary collection where code is member oflanguage: The language wanted for the display string.A display string in the given language.

2.3 PatientUtils

The constructor for patientUtils does not need any arguments:

  • oids: An object providing the urn:oid's used in the project, with following properties:
    • eprSpid: OID for the EPR SPID (is: 'urn:oid:2.16.756.5.30.1.127.3.10.3')
    • mpiId: OID for the Master Patient Index (on EPD Playground: 'urn:oid:1.1.1.99.1')
    • ahv: OID for the swiss AHV number code system (is: 'urn:oid:2.16.756.5.32')
    • local: OID for your local system, depends on your use case
    • app: OID for your application, depends on your use case
  • organization: An Organization FHIR resource representing the organization that uses the system (and manages the patients).
FunctionDescriptionParamsReturns
generateEprSpid(id: string)Generates a pseudo EPR SPID from a given id.id: An unique input as base for generating the EPR SPID with exactly 9 digits.A string that is formed like a valid EPR SPID, based on the input id.
generateAhvIdentifier()Generates a random AHV number.noneA FHIR Identifier with a random AHV number and the AHV OID.
generateRandomPatient()Creates a random patient, based on the data above.noneA FHIR Patient resource with typical swiss data, a random local id and the preset organisation as managing organization.

2.4 snomedCodes.ts

Following codes are listed in the snomedCodes.ts file:

2.5 allergyCodes.ts

Codes specifically used for the allergy use case are separated because there are a lot (1000+).

Following codes are listed in the allergyCodes.ts file:

3 Components

The mHealth prototype app consists of encapsulated components for typically needed functions, which can be easily reused in other apps based on the same technology stack. All components take use of a utils class epdPlaygroundUtils.ts which implements the core functions to access the EPD Playground / Mobile Access Gateway using mHealth profiles.

Following components are currently available:

3.1 Document Search

DocumentSearch.vue

Description

Loads & displays documents that belong to a patient.

mHealth transactions used

  • ITI-67 Find Document References
  • ITI-68 Retrieve Document
  • ITI-83 Mobile Patient Identifier Cross-Reference Query

Props

NameDescriptionTyperequired
patientThe Patient resource of the person the documents shall be searched for.Patient (FHIR resource)yes
translationsStrings for displaying on the page.DocumentSearchTranslationStringsyes
addedDocumentsArray of documents added on client (e.g. with DocumentUpload.vue) after data was fetched from server.Arrayno
localeThe shorthand for the local language (e.g. de-CH). Default is de-CH.Stringno
demoModeSlows down the transactions to make the transactions more visible in the GUI. Default: no.Booleanno
languageStringTwo-character representation for the current language.FhirUtilLanguageType (either 'de', 'en', 'fr', 'it' or 'rm')yes
fhirUtilsFhirUtils object initialized with the projects setup (see 2.2)FhirUtilsyes
epdPlaygroundUtilsEpdPlaygroundUtils object initialized with the projects setup (see 2.1)EpdPlaygroundUtilsyes

Events emitted

  • found-document: Make available selected document to parent component e.g. for download or display. Emitted when the user selects a document from the search result list.

3.2 Document Upload

DocumentUpload.vue

Description

Provides UI to describe a document with meta data and uploads it.

mHealth transactions used

  • ITI-65 Provide Document Bundle

Props

NameDescriptionTyperequired
translationsStrings for displaying on the page.DocumentUploadTranslationStringsyes
patientThe patient resource the file belongs to.Patient (FHIR resource)yes
onDoneFunction to be called when the upload process is done.A function returning a boolean "success"yes
languageStringTwo-character representation for the current language.FhirUtilLanguageType (either 'de', 'en', 'fr', 'it' or 'rm')yes
fhirUtilsFhirUtils object initialized with the projects setup (see 2.2)FhirUtilsyes
epdPlaygroundUtilsEpdPlaygroundUtils object initialized with the projects setup (see 2.1)EpdPlaygroundUtilsyes
settingsThe project's settingsSettings (containing the properties -language: APP_LANGUAGES- organization: Organization- facilityType: Coding- practiceSetting: Coding)yes

Events emitted

  • upload-result: Notify parent component about upload result. Emitted after successful upload of document bundle.

3.3 Local Patients

LocalPatients.Vue

Description

Generates & displays random local patients for use in app and upload to EPD Playground.

mHealth transactions used

  • ITI-83 Mobile Patient Identifier Cross-Reference Query

Props

NameDescriptionTyperequired
localIdSystemSystem of the local Identifier.An object containing a "urn" property e.g. for OID and a "display" property for a name.yes
translationsStrings for displaying on the page.LocalPatientsListTranslationStringsyes
optionsOptions for the component.LocalPatientsOptionsno
patientsArray of patients to be displayed as local patients. When none are provided, random generated patients are provided.Array of FHIR Patient resourcesno
epdPlaygroundUtilsEpdPlaygroundUtils object initialized with the projects setup (see 2.1)EpdPlaygroundUtilsyes
patientUtilsPatientUtils object initialized with the projects setup (see 2.3)PatientUtilsyes

Events emitted

  • select-patient: Notify parent component about selected patient. Emitted when the user selects a patient from the list.

3.4 Allergy Upload

AllergyUpload.vue

Description

Provides UI to create an allergy data entry and upload it in fhir format as json file.

mHealth transactions used

  • ITI-65 Provide Document Bundle

Props

NameDescriptionTyperequired
translationsStrings for displaying on the page.AllergyUploadTranslationStringsyes
patientThe patient resource the file belongs to.Patientyes
allergyIntoleranceResourceAn AllergyIntolerance bundle to display and edit.CHAllergyIntoleranceno
onDoneCallback function to be called when the upload process is done.function(success: boolean) => voidyes
languageStringTwo-character representation for the current language.FhirUtilLanguageType (either 'de', 'en', 'fr', 'it' or 'rm')yes
fhirUtilsFhirUtils object initialized with the projects setup (see 2.2)FhirUtilsyes
settingsThe project's settingsSettings (containing the properties -language: APP_LANGUAGES- organization: Organization- facilityType: Coding- practiceSetting: Coding)yes

Events emitted

  • upload-result: Notify parent component about upload result. Emitted after successful upload of CHAllergyIntolerance bundle.

3.5 Allergy View

AllergyView.vue

Description

Displays data of an AllergyIntolerance resource.

mHealth transactions used

  • none

Props

NameDescriptionTyperequired
allergyIntoleranceAn allergy intolerance resource.CHAllergyIntoleranceyes
showTitleIf true it shows the code display of the allergy resource as title. Default if not provided: false.Booleanno
translationsStrings for displaying on the page.AllergyViewTranslationStringsyes
languageStringTwo-character representation for the current language.FhirUtilLanguageType (either 'de', 'en', 'fr', 'it' or 'rm')yes
fhirUtilsFhirUtils object initialized with the projects setup (see 2.2)FhirUtilsyes
epdPlaygroundUtilsEpdPlaygroundUtils object initialized with the projects setup (see 2.1)EpdPlaygroundUtilsyes

Events emitted

  • none

3.6 Patient Search

PatientSearch.vue

Description

Searches & displays patients on the EPD Playground.

mHealth transactions used

  • ITI-78 Mobile Patient Demographics Query

Props

NameDescriptionTyperequired
localIdSystemSystem of the local Identifier.An object containing a "urn" property e.g. for OID and a "display" property for a name.yes
translationsStrings for displaying on the page.PatientSearchTranslationStringsyes
optionsOptions for the component.PatientSearchOptionsno
epdPlaygroundUtilsEpdPlaygroundUtils object initialized with the projects setup (see 2.1)EpdPlaygroundUtilsyes

Events emitted

  • found-patient: Notify parent component about found patient data. Emitted when user selects a patient from the search result list.

3.7 Patient View

PatientView.vue

Description

Shows patient details including documents. Also provides functionality to edit patient & upload documents (uses DocumentUpload.vue & DocumentSearch.vue).

mHealth transactions used

  • CH:PIXm ITI-93 Mobile Patient Identity Feed

Props

NameDescriptionTyperequired
patientThe Patient resource to be displayed (and possibly edited).Patient (FHIR resource)yes
translationsStrings for displaying on the page.PatientViewTranslationStringsyes
optionsOptions for the component.PatientViewOptionsno
settingsThe project's settingsSettings (containing the properties -language: APP_LANGUAGES- organization: Organization- facilityType: Coding- practiceSetting: Coding)yes
languageStringTwo-character representation for the current language.FhirUtilLanguageType (either 'de', 'en', 'fr', 'it' or 'rm')yes
fhirUtilsFhirUtils object initialized with the projects setup (see 2.2)FhirUtilsyes
epdPlaygroundUtilsEpdPlaygroundUtils object initialized with the projects setup (see 2.1)EpdPlaygroundUtilsyes

Events emitted

  • edited-patient: Notifies parent components about updated patient. Emitted after successful upload of patient data.

3.8 Register Patient

RegisterPatient.vue

Description

Registers a patient in the EPD Playground.

mHealth transactions used

  • CH:PIXm ITI-93 Mobile Patient Identity Feed

Props

NameDescriptionTyperequired
patientPrefills the register form with a given Patient resource.Patient (FHIR resource)no
translationsStrings for displaying on the page.RegisterPatientTranslationStringsyes
settingsThe project's settingsSettings (containing the properties -language: APP_LANGUAGES- organization: Organization- facilityType: Coding- practiceSetting: Coding)yes
epdPlaygroundUtilsEpdPlaygroundUtils object initialized with the projects setup (see 2.1)EpdPlaygroundUtilsyes
patientUtilsPatientUtils object initialized with the projects setup (see 2.3)PatientUtilsyes

Events emitted

  • uploaded-patient: Notifies parent component about registered patient. Emitted after successful upload of patient data.

4 Changelog

VersionDateChanges
0.3.22022-09-06- Add multilanguage (DE, FR) aha.ch links to selected allergies in ALLERGY_IDENTIFICATION_CODES- Bugfix: Multiple page search result bundles were not loaded correctly.
0.3.12022-08-31Add AllergyView to PatientView component
0.3.02022-08-29Added AllergyView component
0.2.32022-08-24- Fixed errors in generated CHAllergyIntolerance resource- increase the number of files returned by search to 500
0.2.22022-08-15- Final AllergyUpload component - Added some Allergy related codes to the exports - Replaced string by enum type for AllergySystemCodeExtension
0.2.12022-07-20Added README.md
0.2.02022-07-19Added AllergyUpload component
0.1.02022-07-19Initial version
0.5.0-beta.18

5 months ago

0.5.0-beta.16

5 months ago

0.5.0-beta.17

5 months ago

0.5.0-beta.15

5 months ago

0.5.0-beta.14

5 months ago

0.5.0-beta.11

5 months ago

0.5.0-beta.12

5 months ago

0.5.0-beta.10

5 months ago

0.5.0-beta.13

5 months ago

0.5.0-beta.1

5 months ago

0.5.0-beta.9

5 months ago

0.5.0-beta.8

5 months ago

0.5.0-beta.7

5 months ago

0.5.0-beta.6

5 months ago

0.5.0-beta.5

5 months ago

0.5.0-beta.4

5 months ago

0.5.0-beta.3

5 months ago

0.5.0-beta.2

5 months ago

0.4.6-beta.10

8 months ago

0.4.6-beta.11

8 months ago

0.4.5-beta.1

9 months ago

0.4.4-beta.11

9 months ago

0.4.4-beta.10

9 months ago

0.4.6-beta.8

8 months ago

0.4.6-beta.7

8 months ago

0.4.6-beta.9

8 months ago

0.4.6-beta.2

8 months ago

0.4.6-beta.1

8 months ago

0.4.6-beta.4

8 months ago

0.4.6-beta.3

8 months ago

0.4.6-beta.6

8 months ago

0.4.6-beta.5

8 months ago

0.4.7

8 months ago

0.4.6

8 months ago

0.4.3-beta.1

1 year ago

0.4.3-beta.2

1 year ago

0.4.4-beta.9

1 year ago

0.4.4-beta.5

1 year ago

0.4.4-beta.6

1 year ago

0.4.4-beta.7

1 year ago

0.4.4-beta.8

1 year ago

0.4.4-beta.1

1 year ago

0.4.4-beta.2

1 year ago

0.4.4-beta.3

1 year ago

0.4.4-beta.4

1 year ago

0.4.1-beta.4

1 year ago

0.4.1-beta.3

1 year ago

0.4.1-beta.2

1 year ago

0.4.1-beta.1

1 year ago

0.4.2-beta.5

1 year ago

0.4.2-beta.3

1 year ago

0.4.2-beta.4

1 year ago

0.4.2-beta.1

1 year ago

0.4.2-beta.2

1 year ago

0.4.0-beta.3

1 year ago

0.4.1

1 year ago

0.4.0

1 year ago

0.4.2

1 year ago

0.4.0-beta.1

2 years ago

0.4.0-beta.2

2 years ago

0.3.4

2 years ago

0.3.3

2 years ago

0.3.0-rc.7

2 years ago

0.3.0-rc.8

2 years ago

0.3.0-rc.3

2 years ago

0.3.0-rc.4

2 years ago

0.3.0-rc.5

2 years ago

0.3.0-rc.6

2 years ago

0.3.0-rc.1

2 years ago

0.3.0-rc.2

2 years ago

0.2.3-beta.1

2 years ago

0.2.3-beta.2

2 years ago

0.3.3-beta.1

2 years ago

0.3.1-beta.2

2 years ago

0.3.1-beta.1

2 years ago

0.3.0

2 years ago

0.3.2-rc.1

2 years ago

0.3.2-rc.2

2 years ago

0.3.2

2 years ago

0.2.2

2 years ago

0.2.2-beta.3

2 years ago

0.2.2-beta2

2 years ago

0.2.2-beta1

2 years ago

0.2.1

2 years ago

0.2.0

2 years ago

0.2.0-beta1

2 years ago

0.1.0

2 years ago

0.1.0-beta3

2 years ago

0.1.0-beta2

2 years ago

0.1.0-beta1

2 years ago

0.0.10

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago

0.0.1-beta4

2 years ago

0.0.1-beta2

2 years ago

0.0.1-beta1

2 years ago